single-file-cli 1.0.33 → 1.0.35

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).singlefileBootstrap={})}(this,(function(e){"use strict";const t="single-file-load-image",s="single-file-image-loaded",o=(e,t,s)=>globalThis.addEventListener(e,t,s),n=e=>{try{globalThis.dispatchEvent(e)}catch(e){}},a=globalThis.CustomEvent,i=globalThis.document,r=globalThis.Document;let l;l=window._singleFile_fontFaces?window._singleFile_fontFaces:window._singleFile_fontFaces=new Map,i instanceof r&&(o("single-file-new-font-face",(e=>{const t=e.detail,s=Object.assign({},t);delete s.src,l.set(JSON.stringify(s),t)})),o("single-file-delete-font",(e=>{const t=e.detail,s=Object.assign({},t);delete s.src,l.delete(JSON.stringify(s))})),o("single-file-clear-fonts",(()=>l=new Map)));const d="[\\x20\\t\\r\\n\\f]",c=new RegExp("\\\\([\\da-f]{1,6}"+d+"?|("+d+")|.)","ig");const m="single-file-on-before-capture",u="single-file-on-after-capture",g="data-single-file-removed-content",p="data-single-file-hidden-content",f="data-single-file-kept-content",h="data-single-file-hidden-frame",b="data-single-file-preserved-space-element",T="data-single-file-shadow-root-element",E="data-single-file-image",y="data-single-file-poster",w="data-single-file-video",I="data-single-file-canvas",A="data-single-file-movable-style",v="data-single-file-input-value",N="data-single-file-lazy-loaded-src",S="data-single-file-stylesheet",R="data-single-file-disabled-noscript",_="data-single-file-async-script",F="*:not(base):not(link):not(meta):not(noscript):not(script):not(style):not(template):not(title)",P=["NOSCRIPT","DISABLED-NOSCRIPT","META","LINK","STYLE","TITLE","TEMPLATE","SOURCE","OBJECT","SCRIPT","HEAD","BODY"],x=/^'(.*?)'$/,C=/^"(.*?)"$/,M={regular:"400",normal:"400",bold:"700",bolder:"700",lighter:"100"},O="single-file-ui-element",D="data:,",q=(e,t,s)=>globalThis.addEventListener(e,t,s);function L(e,t,s){e.querySelectorAll("noscript:not(["+R+"])").forEach((e=>{e.setAttribute(R,e.textContent),e.textContent=""})),function(e){e.querySelectorAll("meta[http-equiv=refresh]").forEach((e=>{e.removeAttribute("http-equiv"),e.setAttribute("disabled-http-equiv","refresh")}))}(e),e.head&&e.head.querySelectorAll(F).forEach((e=>e.hidden=!0)),e.querySelectorAll("svg foreignObject").forEach((e=>{const t=e.querySelectorAll("html > head > "+F+", html > body > "+F);t.length&&(Array.from(e.childNodes).forEach((e=>e.remove())),t.forEach((t=>e.appendChild(t))))}));const o=new Map;let n;return t&&e.documentElement?(e.querySelectorAll("button button, a a").forEach((t=>{const s=e.createElement("template");s.setAttribute("data-single-file-invalid-element",""),s.content.appendChild(t.cloneNode(!0)),o.set(t,s),t.replaceWith(s)})),n=k(t,e,e.documentElement,s),s.moveStylesInHead&&e.querySelectorAll("body style, body ~ style").forEach((e=>{const s=J(t,e);s&&W(e,s)&&(e.setAttribute(A,""),n.markedElements.push(e))}))):n={canvases:[],images:[],posters:[],videos:[],usedFonts:[],shadowRoots:[],markedElements:[]},{canvases:n.canvases,fonts:Array.from(l.values()),stylesheets:z(e),images:n.images,posters:n.posters,videos:n.videos,usedFonts:Array.from(n.usedFonts.values()),shadowRoots:n.shadowRoots,referrer:e.referrer,markedElements:n.markedElements,invalidElements:o}}function k(e,t,s,o,n={usedFonts:new Map,canvases:[],images:[],posters:[],videos:[],shadowRoots:[],markedElements:[]},a){return Array.from(s.childNodes).filter((t=>t instanceof e.HTMLElement||t instanceof e.SVGElement)).forEach((s=>{let i,r,l;if(!o.autoSaveExternalSave&&(o.removeHiddenElements||o.removeUnusedFonts||o.compressHTML)&&(l=J(e,s),s instanceof e.HTMLElement&&o.removeHiddenElements&&(r=(a||s.closest("html > head"))&&P.includes(s.tagName)||s.closest("details"),r||(i=a||W(s,l),i&&(s.setAttribute(p,""),n.markedElements.push(s)))),!i)){if(o.compressHTML&&l){const e=l.getPropertyValue("white-space");e&&e.startsWith("pre")&&(s.setAttribute(b,""),n.markedElements.push(s))}o.removeUnusedFonts&&(U(l,o,n.usedFonts),U(J(e,s,":first-letter"),o,n.usedFonts),U(J(e,s,":before"),o,n.usedFonts),U(J(e,s,":after"),o,n.usedFonts))}!function(e,t,s,o,n,a,i){if("CANVAS"==s.tagName)try{n.canvases.push({dataURI:s.toDataURL("image/png","")}),s.setAttribute(I,n.canvases.length-1),n.markedElements.push(s)}catch(e){}if("IMG"==s.tagName){const t={currentSrc:a?D:o.loadDeferredImages&&s.getAttribute(N)||s.currentSrc};if(n.images.push(t),s.setAttribute(E,n.images.length-1),n.markedElements.push(s),s.removeAttribute(N),i=i||J(e,s)){t.size=function(e,t,s){let o=t.naturalWidth,n=t.naturalHeight;if(!o&&!n){const a=null==t.getAttribute("style");if(s=s||J(e,t)){let e,i,r,l,d,c,m,u,g=!1;if("content-box"==s.getPropertyValue("box-sizing")){const e=t.style.getPropertyValue("box-sizing"),s=t.style.getPropertyPriority("box-sizing"),o=t.clientWidth;t.style.setProperty("box-sizing","border-box","important"),g=t.clientWidth!=o,e?t.style.setProperty("box-sizing",e,s):t.style.removeProperty("box-sizing")}e=j("padding-left",s),i=j("padding-right",s),r=j("padding-top",s),l=j("padding-bottom",s),g?(d=j("border-left-width",s),c=j("border-right-width",s),m=j("border-top-width",s),u=j("border-bottom-width",s)):d=c=m=u=0,o=Math.max(0,t.clientWidth-e-i-d-c),n=Math.max(0,t.clientHeight-r-l-m-u),a&&t.removeAttribute("style")}}return{pxWidth:o,pxHeight:n}}(e,s,i);const o=i.getPropertyValue("box-shadow"),n=i.getPropertyValue("background-image");o&&"none"!=o||n&&"none"!=n||!(t.size.pxWidth>1||t.size.pxHeight>1)||(t.replaceable=!0,t.backgroundColor=i.getPropertyValue("background-color"),t.objectFit=i.getPropertyValue("object-fit"),t.boxSizing=i.getPropertyValue("box-sizing"),t.objectPosition=i.getPropertyValue("object-position"))}}if("VIDEO"==s.tagName){const o=s.currentSrc;if(o&&!o.startsWith("blob:")&&!o.startsWith("data:")){const t=J(e,s.parentNode);n.videos.push({positionParent:t&&t.getPropertyValue("position"),src:o,size:{pxWidth:s.clientWidth,pxHeight:s.clientHeight},currentTime:s.currentTime}),s.setAttribute(w,n.videos.length-1)}if(!s.poster){const e=t.createElement("canvas"),o=e.getContext("2d");e.width=s.clientWidth,e.height=s.clientHeight;try{o.drawImage(s,0,0,e.width,e.height),n.posters.push(e.toDataURL("image/png","")),s.setAttribute(y,n.posters.length-1),n.markedElements.push(s)}catch(e){}}}"IFRAME"==s.tagName&&a&&o.removeHiddenElements&&(s.setAttribute(h,""),n.markedElements.push(s));"INPUT"==s.tagName&&("password"!=s.type&&(s.setAttribute(v,s.value),n.markedElements.push(s)),"radio"!=s.type&&"checkbox"!=s.type||(s.setAttribute(v,s.checked),n.markedElements.push(s)));"TEXTAREA"==s.tagName&&(s.setAttribute(v,s.value),n.markedElements.push(s));"SELECT"==s.tagName&&s.querySelectorAll("option").forEach((e=>{e.selected&&(e.setAttribute(v,""),n.markedElements.push(e))}));"SCRIPT"==s.tagName&&(s.async&&""!=s.getAttribute("async")&&"async"!=s.getAttribute("async")&&(s.setAttribute(_,""),n.markedElements.push(s)),s.textContent=s.textContent.replace(/<\/script>/gi,"<\\/script>"))}(e,t,s,o,n,i,l);const d=!(s instanceof e.SVGElement)&&H(s);if(d&&!s.classList.contains(O)){const a={};s.setAttribute(T,n.shadowRoots.length),n.markedElements.push(s),n.shadowRoots.push(a),k(e,t,d,o,n,i),a.content=d.innerHTML,a.mode=d.mode;try{d.adoptedStyleSheets&&d.adoptedStyleSheets.length&&(a.adoptedStyleSheets=Array.from(d.adoptedStyleSheets).map((e=>Array.from(e.cssRules).map((e=>e.cssText)).join("\n"))))}catch(e){}}k(e,t,s,o,n,i),!o.autoSaveExternalSave&&o.removeHiddenElements&&a&&(r||""==s.getAttribute(f)?s.parentElement&&(s.parentElement.setAttribute(f,""),n.markedElements.push(s.parentElement)):i&&(s.setAttribute(g,""),n.markedElements.push(s)))})),n}function U(e,t,s){if(e){const o=e.getPropertyValue("font-style")||"normal";e.getPropertyValue("font-family").split(",").forEach((n=>{if(n=V(n),!t.loadedFonts||t.loadedFonts.find((e=>V(e.family)==n&&e.style==o))){const t=(a=e.getPropertyValue("font-weight"),M[a.toLowerCase().trim()]||a),i=e.getPropertyValue("font-variant")||"normal",r=[n,t,o,i];s.set(JSON.stringify(r),[n,t,o,i])}var a}))}}function H(e){const t=globalThis.chrome;if(e.openOrClosedShadowRoot)return e.openOrClosedShadowRoot;if(!(t&&t.dom&&t.dom.openOrClosedShadowRoot))return e.shadowRoot;try{return t.dom.openOrClosedShadowRoot(e)}catch(t){return e.shadowRoot}}function V(e=""){return function(e){e=e.match(x)?e.replace(x,"$1"):e.replace(C,"$1");return e.trim()}((t=e.trim(),t.replace(c,((e,t,s)=>{const o="0x"+t-65536;return o!=o||s?t:o<0?String.fromCharCode(o+65536):String.fromCharCode(o>>10|55296,1023&o|56320)})))).toLowerCase();var t}function W(e,t){let s=!1;if(t){const o=t.getPropertyValue("display"),n=t.getPropertyValue("opacity"),a=t.getPropertyValue("visibility");if(s="none"==o,!s&&("0"==n||"hidden"==a)&&e.getBoundingClientRect){const t=e.getBoundingClientRect();s=!t.width&&!t.height}}return Boolean(s)}function B(e,t,s){if(e.querySelectorAll("["+R+"]").forEach((e=>{e.textContent=e.getAttribute(R),e.removeAttribute(R)})),e.querySelectorAll("meta[disabled-http-equiv]").forEach((e=>{e.setAttribute("http-equiv",e.getAttribute("disabled-http-equiv")),e.removeAttribute("disabled-http-equiv")})),e.head&&e.head.querySelectorAll("*:not(base):not(link):not(meta):not(noscript):not(script):not(style):not(template):not(title)").forEach((e=>e.removeAttribute("hidden"))),!t){const s=[g,h,p,b,E,y,w,I,v,T,S,_];t=e.querySelectorAll(s.map((e=>"["+e+"]")).join(","))}t.forEach((e=>{e.removeAttribute(g),e.removeAttribute(p),e.removeAttribute(f),e.removeAttribute(h),e.removeAttribute(b),e.removeAttribute(E),e.removeAttribute(y),e.removeAttribute(w),e.removeAttribute(I),e.removeAttribute(v),e.removeAttribute(T),e.removeAttribute(S),e.removeAttribute(_),e.removeAttribute(A)})),s&&Array.from(s.entries()).forEach((([e,t])=>t.replaceWith(e)))}function z(e){if(e){const t=[];return e.querySelectorAll("style").forEach(((s,o)=>{try{const n=e.createElement("style");n.textContent=s.textContent,e.body.appendChild(n);const a=n.sheet;n.remove(),a&&a.cssRules.length==s.sheet.cssRules.length||(s.setAttribute(S,o),t[o]=Array.from(s.sheet.cssRules).map((e=>e.cssText)).join("\n"))}catch(e){}})),t}}function j(e,t){if(t.getPropertyValue(e).endsWith("px"))return parseFloat(t.getPropertyValue(e))}function J(e,t,s){try{return e.getComputedStyle(t,s)}catch(e){}}const Y=N,G=O,K="attributes",$=globalThis.browser,X=globalThis.document,Q=globalThis.MutationObserver,Z=(e,t,s)=>globalThis.addEventListener(e,t,s),ee=(e,t,s)=>globalThis.removeEventListener(e,t,s),te=new Map;let se;async function oe(e){if(X.documentElement){te.clear();const o=X.body&&X.body.scrollHeight||X.documentElement.scrollHeight,i=X.body&&X.body.scrollWidth||X.documentElement.scrollWidth;if(o>globalThis.innerHeight||i>globalThis.innerWidth){const r=Math.max(o-1.5*globalThis.innerHeight,0),l=Math.max(i-1.5*globalThis.innerWidth,0);if(globalThis.scrollY<r||globalThis.scrollX<l)return function(e){return se=0,new Promise((async o=>{let i;const r=new Set,l=new Q((async t=>{if((t=t.filter((e=>e.type==K))).length){t.filter((e=>{if("src"==e.attributeName&&(e.target.setAttribute(Y,e.target.src),e.target.addEventListener("load",c)),"src"==e.attributeName||"srcset"==e.attributeName||"SOURCE"==e.target.tagName)return!e.target.classList||!e.target.classList.contains(G)})).length&&(i=!0,await ae(l,e,g),r.size||await ne(l,e,g))}}));async function d(t){await re("idleTimeout",(async()=>{i?se<10&&(se++,de("idleTimeout"),await d(Math.max(500,t/2))):(de("loadTimeout"),de("maxTimeout"),ie(l,e,g))}),t,e.loadDeferredImagesNativeTimeout)}function c(e){const t=e.target;t.removeAttribute(Y),t.removeEventListener("load",c)}async function m(t){i=!0,await ae(l,e,g),await ne(l,e,g),t.detail&&r.add(t.detail)}async function u(t){await ae(l,e,g),await ne(l,e,g),r.delete(t.detail),r.size||await ne(l,e,g)}function g(e){l.disconnect(),ee(t,m),ee(s,u),o(e)}await d(2*e.loadDeferredImagesMaxIdleTime),await ae(l,e,g),l.observe(X,{subtree:!0,childList:!0,attributes:!0}),Z(t,m),Z(s,u),function(e){e.loadDeferredImagesBlockCookies&&n(new a("single-file-block-cookies-start")),e.loadDeferredImagesBlockStorage&&n(new a("single-file-block-storage-start")),e.loadDeferredImagesDispatchScrollEvent&&n(new a("single-file-dispatch-scroll-event-start")),e.loadDeferredImagesKeepZoomLevel?n(new a("single-file-load-deferred-images-keep-zoom-level-start")):n(new a("single-file-load-deferred-images-start"))}(e)}))}(e)}}}async function ne(e,t,s){await re("loadTimeout",(()=>ie(e,t,s)),t.loadDeferredImagesMaxIdleTime,t.loadDeferredImagesNativeTimeout)}async function ae(e,t,s){await re("maxTimeout",(async()=>{await de("loadTimeout"),await ie(e,t,s)}),10*t.loadDeferredImagesMaxIdleTime,t.loadDeferredImagesNativeTimeout)}async function ie(e,t,s){await de("idleTimeout"),function(e){e.loadDeferredImagesBlockCookies&&n(new a("single-file-block-cookies-end")),e.loadDeferredImagesBlockStorage&&n(new a("single-file-block-storage-end")),e.loadDeferredImagesDispatchScrollEvent&&n(new a("single-file-dispatch-scroll-event-end")),e.loadDeferredImagesKeepZoomLevel?n(new a("single-file-load-deferred-images-keep-zoom-level-end")):n(new a("single-file-load-deferred-images-end"))}(t),await re("endTimeout",(async()=>{await de("maxTimeout"),s()}),t.loadDeferredImagesMaxIdleTime/2,t.loadDeferredImagesNativeTimeout),e.disconnect()}async function re(e,t,s,o){if($&&$.runtime&&$.runtime.sendMessage&&!o){if(!te.get(e)||!te.get(e).pending){const o={callback:t,pending:!0};te.set(e,o);try{await $.runtime.sendMessage({method:"singlefile.lazyTimeout.setTimeout",type:e,delay:s})}catch(o){le(e,t,s)}o.pending=!1}}else le(e,t,s)}function le(e,t,s){const o=te.get(e);o&&globalThis.clearTimeout(o),te.set(e,t),globalThis.setTimeout(t,s)}async function de(e){if($&&$.runtime&&$.runtime.sendMessage)try{await $.runtime.sendMessage({method:"singlefile.lazyTimeout.clearTimeout",type:e})}catch(t){ce(e)}else ce(e)}function ce(e){const t=te.get(e);te.delete(e),t&&globalThis.clearTimeout(t)}$&&$.runtime&&$.runtime.onMessage&&$.runtime.onMessage.addListener&&$.runtime.onMessage.addListener((e=>{if("singlefile.lazyTimeout.onTimeout"==e.method){const t=te.get(e.type);if(t){te.delete(e.type);try{t.callback()}catch(t){ce(e.type)}}}}));const me={ON_BEFORE_CAPTURE_EVENT_NAME:m,ON_AFTER_CAPTURE_EVENT_NAME:u,WIN_ID_ATTRIBUTE_NAME:"data-single-file-win-id",preProcessDoc:L,serialize:function(e){const t=e.doctype;let s="";return t&&(s="<!DOCTYPE "+t.nodeName,t.publicId?(s+=' PUBLIC "'+t.publicId+'"',t.systemId&&(s+=' "'+t.systemId+'"')):t.systemId&&(s+=' SYSTEM "'+t.systemId+'"'),t.internalSubset&&(s+=" ["+t.internalSubset+"]"),s+="> "),s+e.documentElement.outerHTML},postProcessDoc:B,getShadowRoot:H},ue="__frameTree__::",ge='iframe, frame, object[type="text/html"][data]',pe="singlefile.frameTree.initRequest",fe="singlefile.frameTree.ackInitRequest",he="singlefile.frameTree.cleanupRequest",be="singlefile.frameTree.initResponse",Te=5e3,Ee=".",ye=globalThis.window==globalThis.top,we=globalThis.browser,Ie=globalThis.top,Ae=globalThis.MessageChannel,ve=globalThis.document;let Ne,Se=globalThis.sessions;var Re,_e,Fe;function Pe(){return globalThis.crypto.getRandomValues(new Uint32Array(32)).join("")}async function xe(e){const t=e.sessionId,s=globalThis._singleFile_waitForUserScript;delete globalThis._singleFile_cleaningUp,ye||(Ne=globalThis.frameId=e.windowId),Oe(ve,e.options,Ne,t),ye||(e.options.userScriptEnabled&&s&&await s(me.ON_BEFORE_CAPTURE_EVENT_NAME),ke({frames:[He(ve,globalThis,Ne,e.options)],sessionId:t,requestedFrameId:ve.documentElement.dataset.requestedFrameId&&Ne}),e.options.userScriptEnabled&&s&&await s(me.ON_AFTER_CAPTURE_EVENT_NAME),delete ve.documentElement.dataset.requestedFrameId)}function Ce(e){if(!globalThis._singleFile_cleaningUp){globalThis._singleFile_cleaningUp=!0;const t=e.sessionId;Le(Ve(ve),e.windowId,t)}}function Me(e){e.frames.forEach((t=>De("responseTimeouts",e.sessionId,t.windowId)));const t=Se.get(e.sessionId);if(t){e.requestedFrameId&&(t.requestedFrameId=e.requestedFrameId),e.frames.forEach((e=>{let s=t.frames.find((t=>e.windowId==t.windowId));s||(s={windowId:e.windowId},t.frames.push(s)),s.processed||(s.content=e.content,s.baseURI=e.baseURI,s.title=e.title,s.canvases=e.canvases,s.fonts=e.fonts,s.stylesheets=e.stylesheets,s.images=e.images,s.posters=e.posters,s.videos=e.videos,s.usedFonts=e.usedFonts,s.shadowRoots=e.shadowRoots,s.processed=e.processed)}));t.frames.filter((e=>!e.processed)).length||(t.frames=t.frames.sort(((e,t)=>t.windowId.split(Ee).length-e.windowId.split(Ee).length)),t.resolve&&(t.requestedFrameId&&t.frames.forEach((e=>{e.windowId==t.requestedFrameId&&(e.requestedFrame=!0)})),t.resolve(t.frames)))}}function Oe(e,t,s,o){const n=Ve(e);!function(e,t,s,o,n){const a=[];let i;Se.get(n)?i=Se.get(n).requestTimeouts:(i={},Se.set(n,{requestTimeouts:i}));t.forEach(((e,t)=>{const s=o+Ee+t;e.setAttribute(me.WIN_ID_ATTRIBUTE_NAME,s),a.push({windowId:s})})),ke({frames:a,sessionId:n,requestedFrameId:e.documentElement.dataset.requestedFrameId&&o}),t.forEach(((e,t)=>{const a=o+Ee+t;try{Ue(e.contentWindow,{method:pe,windowId:a,sessionId:n,options:s})}catch(e){}i[a]=globalThis.setTimeout((()=>ke({frames:[{windowId:a,processed:!0}],sessionId:n})),Te)})),delete e.documentElement.dataset.requestedFrameId}(e,n,t,s,o),n.length&&function(e,t,s,o,n){const a=[];t.forEach(((e,t)=>{const i=o+Ee+t;let r;try{r=e.contentDocument}catch(e){}if(r)try{const t=e.contentWindow;t.stop(),De("requestTimeouts",n,i),Oe(r,s,i,n),a.push(He(r,t,i,s))}catch(e){a.push({windowId:i,processed:!0})}})),ke({frames:a,sessionId:n,requestedFrameId:e.documentElement.dataset.requestedFrameId&&o}),delete e.documentElement.dataset.requestedFrameId}(e,n,t,s,o)}function De(e,t,s){const o=Se.get(t);if(o&&o[e]){const t=o[e][s];t&&(globalThis.clearTimeout(t),delete o[e][s])}}function qe(e,t){const s=Se.get(e);s&&s.responseTimeouts&&(s.responseTimeouts[t]=globalThis.setTimeout((()=>ke({frames:[{windowId:t,processed:!0}],sessionId:e})),1e4))}function Le(e,t,s){e.forEach(((e,o)=>{const n=t+Ee+o;e.removeAttribute(me.WIN_ID_ATTRIBUTE_NAME);try{Ue(e.contentWindow,{method:he,windowId:n,sessionId:s})}catch(e){}})),e.forEach(((e,o)=>{const n=t+Ee+o;let a;try{a=e.contentDocument}catch(e){}if(a)try{Le(Ve(a),n,s)}catch(e){}}))}function ke(e){e.method=be;try{Ie.singlefile.processors.frameTree.initResponse(e)}catch(t){Ue(Ie,e,!0)}}function Ue(e,t,s){if(e==Ie&&we&&we.runtime&&we.runtime.sendMessage)we.runtime.sendMessage(t);else if(s){const s=new Ae;e.postMessage(ue+JSON.stringify({method:t.method,sessionId:t.sessionId}),"*",[s.port2]),s.port1.postMessage(t)}else e.postMessage(ue+JSON.stringify(t),"*")}function He(e,t,s,o){const n=me.preProcessDoc(e,t,o),a=me.serialize(e);me.postProcessDoc(e,n.markedElements,n.invalidElements);return{windowId:s,content:a,baseURI:e.baseURI.split("#")[0],title:e.title,canvases:n.canvases,fonts:n.fonts,stylesheets:n.stylesheets,images:n.images,posters:n.posters,videos:n.videos,usedFonts:n.usedFonts,shadowRoots:n.shadowRoots,processed:!0}}function Ve(e){let t=Array.from(e.querySelectorAll(ge));return e.querySelectorAll("*").forEach((e=>{const s=me.getShadowRoot(e);s&&(t=t.concat(...s.querySelectorAll(ge)))})),t}Se||(Se=globalThis.sessions=new Map),ye&&(Ne="0",we&&we.runtime&&we.runtime.onMessage&&we.runtime.onMessage.addListener&&we.runtime.onMessage.addListener((e=>e.method==be?(Me(e),Promise.resolve({})):e.method==fe?(De("requestTimeouts",e.sessionId,e.windowId),qe(e.sessionId,e.windowId),Promise.resolve({})):void 0))),Re="message",_e=async e=>{if("string"==typeof e.data&&e.data.startsWith(ue)){e.preventDefault(),e.stopPropagation();const t=JSON.parse(e.data.substring(ue.length));t.method==pe?(e.source&&Ue(e.source,{method:fe,windowId:t.windowId,sessionId:t.sessionId}),ye||(globalThis.stop(),t.options.loadDeferredImages&&oe(t.options),await xe(t))):t.method==fe?(De("requestTimeouts",t.sessionId,t.windowId),qe(t.sessionId,t.windowId)):t.method==he?Ce(t):t.method==be&&Se.get(t.sessionId)&&(e.ports[0].onmessage=e=>Me(e.data))}},Fe=!0,globalThis.addEventListener(Re,_e,Fe);var We=Object.freeze({__proto__:null,getAsync:function(e){const t=Pe();return e=JSON.parse(JSON.stringify(e)),new Promise((s=>{Se.set(t,{frames:[],requestTimeouts:{},responseTimeouts:{},resolve:e=>{e.sessionId=t,s(e)}}),xe({windowId:Ne,sessionId:t,options:e})}))},getSync:function(e){const t=Pe();e=JSON.parse(JSON.stringify(e)),Se.set(t,{frames:[],requestTimeouts:{},responseTimeouts:{}}),function(e){const t=e.sessionId,s=globalThis._singleFile_waitForUserScript;delete globalThis._singleFile_cleaningUp,ye||(Ne=globalThis.frameId=e.windowId);Oe(ve,e.options,Ne,t),ye||(e.options.userScriptEnabled&&s&&s(me.ON_BEFORE_CAPTURE_EVENT_NAME),ke({frames:[He(ve,globalThis,Ne,e.options)],sessionId:t,requestedFrameId:ve.documentElement.dataset.requestedFrameId&&Ne}),e.options.userScriptEnabled&&s&&s(me.ON_AFTER_CAPTURE_EVENT_NAME),delete ve.documentElement.dataset.requestedFrameId)}({windowId:Ne,sessionId:t,options:e});const s=Se.get(t).frames;return s.sessionId=t,s},cleanup:function(e){Se.delete(e),Ce({windowId:Ne,sessionId:e,options:{sessionId:e}})},initResponse:Me,TIMEOUT_INIT_REQUEST_MESSAGE:Te});const Be=["area","base","br","col","command","embed","hr","img","input","keygen","link","meta","param","source","track","wbr"],ze=[{tagName:"head",accept:e=>!e.childNodes.length||1==e.childNodes[0].nodeType},{tagName:"body",accept:e=>!e.childNodes.length}],je=[{tagName:"html",accept:e=>!e||8!=e.nodeType},{tagName:"head",accept:e=>!e||8!=e.nodeType&&(3!=e.nodeType||!Ge(e.textContent))},{tagName:"body",accept:e=>!e||8!=e.nodeType},{tagName:"li",accept:(e,t)=>!e&&t.parentElement&&("UL"==t.parentElement.tagName||"OL"==t.parentElement.tagName)||e&&["LI"].includes(e.tagName)},{tagName:"dt",accept:e=>!e||["DT","DD"].includes(e.tagName)},{tagName:"p",accept:e=>e&&["ADDRESS","ARTICLE","ASIDE","BLOCKQUOTE","DETAILS","DIV","DL","FIELDSET","FIGCAPTION","FIGURE","FOOTER","FORM","H1","H2","H3","H4","H5","H6","HEADER","HR","MAIN","NAV","OL","P","PRE","SECTION","TABLE","UL"].includes(e.tagName)},{tagName:"dd",accept:e=>!e||["DT","DD"].includes(e.tagName)},{tagName:"rt",accept:e=>!e||["RT","RP"].includes(e.tagName)},{tagName:"rp",accept:e=>!e||["RT","RP"].includes(e.tagName)},{tagName:"optgroup",accept:e=>!e||["OPTGROUP"].includes(e.tagName)},{tagName:"option",accept:e=>!e||["OPTION","OPTGROUP"].includes(e.tagName)},{tagName:"colgroup",accept:e=>!e||8!=e.nodeType&&(3!=e.nodeType||!Ge(e.textContent))},{tagName:"caption",accept:e=>!e||8!=e.nodeType&&(3!=e.nodeType||!Ge(e.textContent))},{tagName:"thead",accept:e=>!e||["TBODY","TFOOT"].includes(e.tagName)},{tagName:"tbody",accept:e=>!e||["TBODY","TFOOT"].includes(e.tagName)},{tagName:"tfoot",accept:e=>!e},{tagName:"tr",accept:e=>!e||["TR"].includes(e.tagName)},{tagName:"td",accept:e=>!e||["TD","TH"].includes(e.tagName)},{tagName:"th",accept:e=>!e||["TD","TH"].includes(e.tagName)}],Je=["style","script","xmp","iframe","noembed","noframes","plaintext","noscript"];function Ye(e,t,s){return 3==e.nodeType?function(e){const t=e.parentNode;let s;t&&1==t.nodeType&&(s=t.tagName.toLowerCase());return!s||Je.includes(s)?"script"==s||"style"==s?e.textContent.replace(/<\//gi,"<\\/").replace(/\/>/gi,"\\/>"):e.textContent:e.textContent.replace(/&/g,"&amp;").replace(/\u00a0/g,"&nbsp;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}(e):8==e.nodeType?"\x3c!--"+e.textContent+"--\x3e":1==e.nodeType?function(e,t,s){const o=e.tagName.toLowerCase(),n=t&&ze.find((t=>o==t.tagName&&t.accept(e)));let a="";n&&!e.attributes.length||(a="<"+o,Array.from(e.attributes).forEach((s=>a+=function(e,t,s){const o=e.name;let n="";if(!o.match(/["'>/=]/)){let a,i=e.value;s&&"class"==o&&(i=Array.from(t.classList).map((e=>e.trim())).join(" ")),i=i.replace(/&/g,"&amp;").replace(/\u00a0/g,"&nbsp;"),i.includes('"')&&(i.includes("'")||!s?i=i.replace(/"/g,"&quot;"):a=!0);const r=!s||i.match(/[ \t\n\f\r'"`=<>]/);n+=" ",e.namespace?"http://www.w3.org/XML/1998/namespace"==e.namespaceURI?n+="xml:"+o:"http://www.w3.org/2000/xmlns/"==e.namespaceURI?("xmlns"!==o&&(n+="xmlns:"),n+=o):"http://www.w3.org/1999/xlink"==e.namespaceURI?n+="xlink:"+o:n+=o:n+=o,""!=i&&(n+="=",r&&(n+=a?"'":'"'),n+=i,r&&(n+=a?"'":'"'))}return n}(s,e,t))),a+=">");"TEMPLATE"!=e.tagName||e.childNodes.length?Array.from(e.childNodes).forEach((e=>a+=Ye(e,t,s||"svg"==o))):a+=e.innerHTML;const i=t&&je.find((t=>o==t.tagName&&t.accept(e.nextSibling,e)));(s||!i&&!Be.includes(o))&&(a+="</"+o+">");return a}(e,t,s):void 0}function Ge(e){return Boolean(e.match(/^[ \t\n\f\r]/))}const Ke={frameTree:We},$e={COMMENT_HEADER:"Page saved with SingleFile",COMMENT_HEADER_LEGACY:"Archive processed by SingleFile",ON_BEFORE_CAPTURE_EVENT_NAME:m,ON_AFTER_CAPTURE_EVENT_NAME:u,preProcessDoc:L,postProcessDoc:B,serialize:(e,t)=>function(e,t){const s=e.doctype;let o="";return s&&(o="<!DOCTYPE "+s.nodeName,s.publicId?(o+=' PUBLIC "'+s.publicId+'"',s.systemId&&(o+=' "'+s.systemId+'"')):s.systemId&&(o+=' SYSTEM "'+s.systemId+'"'),s.internalSubset&&(o+=" ["+s.internalSubset+"]"),o+="> "),o+Ye(e.documentElement,t)}(e,t),getShadowRoot:H};q("single-file-user-script-init",(()=>globalThis._singleFile_waitForUserScript=async e=>{const t=new CustomEvent(e+"-request",{cancelable:!0}),s=new Promise((t=>q(e+"-response",t)));(e=>{try{globalThis.dispatchEvent(e)}catch(e){}})(t),t.defaultPrevented&&await s})),e.helper=$e,e.processors=Ke,Object.defineProperty(e,"__esModule",{value:!0})}));
1
+ !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).singlefileBootstrap={})}(this,(function(e){"use strict";const t="single-file-load-deferred-images-start",s="single-file-load-deferred-images-end",o="single-file-load-deferred-images-keep-zoom-level-start",n="single-file-load-deferred-images-keep-zoom-level-end",a="single-file-block-cookies-start",i="single-file-block-cookies-end",r="single-file-dispatch-scroll-event-start",l="single-file-dispatch-scroll-event-end",d="single-file-block-storage-start",c="single-file-block-storage-end",m="single-file-load-image",u="single-file-image-loaded",g=(e,t,s)=>globalThis.addEventListener(e,t,s),p=e=>{try{globalThis.dispatchEvent(e)}catch(e){}},f=globalThis.CustomEvent,h=globalThis.document,T=globalThis.Document,E=globalThis.JSON;let b;b=window._singleFile_fontFaces?window._singleFile_fontFaces:window._singleFile_fontFaces=new Map,h instanceof T&&(g("single-file-new-font-face",(e=>{const t=e.detail,s=Object.assign({},t);delete s.src,b.set(E.stringify(s),t)})),g("single-file-delete-font",(e=>{const t=e.detail,s=Object.assign({},t);delete s.src,b.delete(E.stringify(s))})),g("single-file-clear-fonts",(()=>b=new Map)));const y="[\\x20\\t\\r\\n\\f]",w=new RegExp("\\\\([\\da-f]{1,6}"+y+"?|("+y+")|.)","ig");const I="single-file-on-before-capture",A="single-file-on-after-capture",v="data-single-file-removed-content",N="data-single-file-hidden-content",S="data-single-file-kept-content",R="data-single-file-hidden-frame",_="data-single-file-preserved-space-element",C="data-single-file-shadow-root-element",F="data-single-file-image",M="data-single-file-poster",P="data-single-file-video",x="data-single-file-canvas",L="data-single-file-movable-style",D="data-single-file-input-value",O="data-single-file-lazy-loaded-src",q="data-single-file-stylesheet",k="data-single-file-disabled-noscript",U="data-single-file-invalid-element",H="data-single-file-async-script",V="*:not(base):not(link):not(meta):not(noscript):not(script):not(style):not(template):not(title)",B=["NOSCRIPT","DISABLED-NOSCRIPT","META","LINK","STYLE","TITLE","TEMPLATE","SOURCE","OBJECT","SCRIPT","HEAD","BODY"],W=/^'(.*?)'$/,z=/^"(.*?)"$/,j={regular:"400",normal:"400",bold:"700",bolder:"700",lighter:"100"},Y="single-file-ui-element",G="data:,",Z=(e,t,s)=>globalThis.addEventListener(e,t,s),J=e=>{try{globalThis.dispatchEvent(e)}catch(e){}},K=globalThis.JSON;function $(e,t,s){e.querySelectorAll("noscript:not(["+k+"])").forEach((e=>{e.setAttribute(k,e.textContent),e.textContent=""})),function(e){e.querySelectorAll("meta[http-equiv=refresh]").forEach((e=>{e.removeAttribute("http-equiv"),e.setAttribute("disabled-http-equiv","refresh")}))}(e),e.head&&e.head.querySelectorAll(V).forEach((e=>e.hidden=!0)),e.querySelectorAll("svg foreignObject").forEach((e=>{const t=e.querySelectorAll("html > head > "+V+", html > body > "+V);t.length&&(Array.from(e.childNodes).forEach((e=>e.remove())),t.forEach((t=>e.appendChild(t))))}));const o=new Map;let n;return t&&e.documentElement?(e.querySelectorAll("button button, a a").forEach((t=>{const s=e.createElement("template");s.setAttribute(U,""),s.content.appendChild(t.cloneNode(!0)),o.set(t,s),t.replaceWith(s)})),n=X(t,e,e.documentElement,s),s.moveStylesInHead&&e.querySelectorAll("body style, body ~ style").forEach((e=>{const s=ie(t,e);s&&se(e,s)&&(e.setAttribute(L,""),n.markedElements.push(e))}))):n={canvases:[],images:[],posters:[],videos:[],usedFonts:[],shadowRoots:[],markedElements:[]},{canvases:n.canvases,fonts:Array.from(b.values()),stylesheets:ne(e),images:n.images,posters:n.posters,videos:n.videos,usedFonts:Array.from(n.usedFonts.values()),shadowRoots:n.shadowRoots,referrer:e.referrer,markedElements:n.markedElements,invalidElements:o}}function X(e,t,s,o,n={usedFonts:new Map,canvases:[],images:[],posters:[],videos:[],shadowRoots:[],markedElements:[]},a){return Array.from(s.childNodes).filter((t=>t instanceof e.HTMLElement||t instanceof e.SVGElement)).forEach((s=>{let i,r,l;if(!o.autoSaveExternalSave&&(o.removeHiddenElements||o.removeUnusedFonts||o.compressHTML)&&(l=ie(e,s),s instanceof e.HTMLElement&&o.removeHiddenElements&&(r=(a||s.closest("html > head"))&&B.includes(s.tagName)||s.closest("details"),r||(i=a||se(s,l),i&&(s.setAttribute(N,""),n.markedElements.push(s)))),!i)){if(o.compressHTML&&l){const e=l.getPropertyValue("white-space");e&&e.startsWith("pre")&&(s.setAttribute(_,""),n.markedElements.push(s))}o.removeUnusedFonts&&(Q(l,o,n.usedFonts),Q(ie(e,s,":first-letter"),o,n.usedFonts),Q(ie(e,s,":before"),o,n.usedFonts),Q(ie(e,s,":after"),o,n.usedFonts))}!function(e,t,s,o,n,a,i){if("CANVAS"==s.tagName)try{n.canvases.push({dataURI:s.toDataURL("image/png","")}),s.setAttribute(x,n.canvases.length-1),n.markedElements.push(s)}catch(e){}if("IMG"==s.tagName){const t={currentSrc:a?G:o.loadDeferredImages&&s.getAttribute(O)||s.currentSrc};if(n.images.push(t),s.setAttribute(F,n.images.length-1),n.markedElements.push(s),s.removeAttribute(O),i=i||ie(e,s)){t.size=function(e,t,s){let o=t.naturalWidth,n=t.naturalHeight;if(!o&&!n){const a=null==t.getAttribute("style");if(s=s||ie(e,t)){let e,i,r,l,d,c,m,u,g=!1;if("content-box"==s.getPropertyValue("box-sizing")){const e=t.style.getPropertyValue("box-sizing"),s=t.style.getPropertyPriority("box-sizing"),o=t.clientWidth;t.style.setProperty("box-sizing","border-box","important"),g=t.clientWidth!=o,e?t.style.setProperty("box-sizing",e,s):t.style.removeProperty("box-sizing")}e=ae("padding-left",s),i=ae("padding-right",s),r=ae("padding-top",s),l=ae("padding-bottom",s),g?(d=ae("border-left-width",s),c=ae("border-right-width",s),m=ae("border-top-width",s),u=ae("border-bottom-width",s)):d=c=m=u=0,o=Math.max(0,t.clientWidth-e-i-d-c),n=Math.max(0,t.clientHeight-r-l-m-u),a&&t.removeAttribute("style")}}return{pxWidth:o,pxHeight:n}}(e,s,i);const o=i.getPropertyValue("box-shadow"),n=i.getPropertyValue("background-image");o&&"none"!=o||n&&"none"!=n||!(t.size.pxWidth>1||t.size.pxHeight>1)||(t.replaceable=!0,t.backgroundColor=i.getPropertyValue("background-color"),t.objectFit=i.getPropertyValue("object-fit"),t.boxSizing=i.getPropertyValue("box-sizing"),t.objectPosition=i.getPropertyValue("object-position"))}}if("VIDEO"==s.tagName){const o=s.currentSrc;if(o&&!o.startsWith("blob:")&&!o.startsWith("data:")){const t=ie(e,s.parentNode);n.videos.push({positionParent:t&&t.getPropertyValue("position"),src:o,size:{pxWidth:s.clientWidth,pxHeight:s.clientHeight},currentTime:s.currentTime}),s.setAttribute(P,n.videos.length-1)}if(!s.getAttribute("poster")){const e=t.createElement("canvas"),o=e.getContext("2d");e.width=s.clientWidth,e.height=s.clientHeight;try{o.drawImage(s,0,0,e.width,e.height),n.posters.push(e.toDataURL("image/png","")),s.setAttribute(M,n.posters.length-1),n.markedElements.push(s)}catch(e){}}}"IFRAME"==s.tagName&&a&&o.removeHiddenElements&&(s.setAttribute(R,""),n.markedElements.push(s));"INPUT"==s.tagName&&("password"!=s.type&&(s.setAttribute(D,s.value),n.markedElements.push(s)),"radio"!=s.type&&"checkbox"!=s.type||(s.setAttribute(D,s.checked),n.markedElements.push(s)));"TEXTAREA"==s.tagName&&(s.setAttribute(D,s.value),n.markedElements.push(s));"SELECT"==s.tagName&&s.querySelectorAll("option").forEach((e=>{e.selected&&(e.setAttribute(D,""),n.markedElements.push(e))}));"SCRIPT"==s.tagName&&(s.async&&""!=s.getAttribute("async")&&"async"!=s.getAttribute("async")&&(s.setAttribute(H,""),n.markedElements.push(s)),s.textContent=s.textContent.replace(/<\/script>/gi,"<\\/script>"))}(e,t,s,o,n,i,l);const d=!(s instanceof e.SVGElement)&&ee(s);if(d&&!s.classList.contains(Y)){const a={};s.setAttribute(C,n.shadowRoots.length),n.markedElements.push(s),n.shadowRoots.push(a),X(e,t,d,o,n,i),a.content=d.innerHTML,a.mode=d.mode;try{d.adoptedStyleSheets&&d.adoptedStyleSheets.length&&(a.adoptedStyleSheets=Array.from(d.adoptedStyleSheets).map((e=>Array.from(e.cssRules).map((e=>e.cssText)).join("\n"))))}catch(e){}}X(e,t,s,o,n,i),!o.autoSaveExternalSave&&o.removeHiddenElements&&a&&(r||""==s.getAttribute(S)?s.parentElement&&(s.parentElement.setAttribute(S,""),n.markedElements.push(s.parentElement)):i&&(s.setAttribute(v,""),n.markedElements.push(s)))})),n}function Q(e,t,s){if(e){const o=e.getPropertyValue("font-style")||"normal";e.getPropertyValue("font-family").split(",").forEach((n=>{if(n=te(n),!t.loadedFonts||t.loadedFonts.find((e=>te(e.family)==n&&e.style==o))){const t=(a=e.getPropertyValue("font-weight"),j[a.toLowerCase().trim()]||a),i=e.getPropertyValue("font-variant")||"normal",r=[n,t,o,i];s.set(K.stringify(r),[n,t,o,i])}var a}))}}function ee(e){const t=globalThis.chrome;if(e.openOrClosedShadowRoot)return e.openOrClosedShadowRoot;if(!(t&&t.dom&&t.dom.openOrClosedShadowRoot))return e.shadowRoot;try{return t.dom.openOrClosedShadowRoot(e)}catch(t){return e.shadowRoot}}function te(e=""){return function(e){e=e.match(W)?e.replace(W,"$1"):e.replace(z,"$1");return e.trim()}((t=e.trim(),t.replace(w,((e,t,s)=>{const o="0x"+t-65536;return o!=o||s?t:o<0?String.fromCharCode(o+65536):String.fromCharCode(o>>10|55296,1023&o|56320)})))).toLowerCase();var t}function se(e,t){let s=!1;if(t){const o=t.getPropertyValue("display"),n=t.getPropertyValue("opacity"),a=t.getPropertyValue("visibility");if(s="none"==o,!s&&("0"==n||"hidden"==a)&&e.getBoundingClientRect){const t=e.getBoundingClientRect();s=!t.width&&!t.height}}return Boolean(s)}function oe(e,t,s){if(e.querySelectorAll("["+k+"]").forEach((e=>{e.textContent=e.getAttribute(k),e.removeAttribute(k)})),e.querySelectorAll("meta[disabled-http-equiv]").forEach((e=>{e.setAttribute("http-equiv",e.getAttribute("disabled-http-equiv")),e.removeAttribute("disabled-http-equiv")})),e.head&&e.head.querySelectorAll("*:not(base):not(link):not(meta):not(noscript):not(script):not(style):not(template):not(title)").forEach((e=>e.removeAttribute("hidden"))),!t){const s=[v,R,N,_,F,M,P,x,D,C,q,H];t=e.querySelectorAll(s.map((e=>"["+e+"]")).join(","))}t.forEach((e=>{e.removeAttribute(v),e.removeAttribute(N),e.removeAttribute(S),e.removeAttribute(R),e.removeAttribute(_),e.removeAttribute(F),e.removeAttribute(M),e.removeAttribute(P),e.removeAttribute(x),e.removeAttribute(D),e.removeAttribute(C),e.removeAttribute(q),e.removeAttribute(H),e.removeAttribute(L)})),s&&Array.from(s.entries()).forEach((([e,t])=>t.replaceWith(e)))}function ne(e){if(e){const t=[];return e.querySelectorAll("style").forEach(((s,o)=>{try{const n=e.createElement("style");n.textContent=s.textContent,e.body.appendChild(n);const a=n.sheet;n.remove(),a&&a.cssRules.length==s.sheet.cssRules.length||(s.setAttribute(q,o),t[o]=Array.from(s.sheet.cssRules).map((e=>e.cssText)).join("\n"))}catch(e){}})),t}}function ae(e,t){if(t.getPropertyValue(e).endsWith("px"))return parseFloat(t.getPropertyValue(e))}function ie(e,t,s){try{return e.getComputedStyle(t,s)}catch(e){}}const re={LAZY_SRC_ATTRIBUTE_NAME:O,SINGLE_FILE_UI_ELEMENT_CLASS:Y},le=10,de="attributes",ce=globalThis.browser,me=globalThis.document,ue=globalThis.MutationObserver,ge=(e,t,s)=>globalThis.addEventListener(e,t,s),pe=(e,t,s)=>globalThis.removeEventListener(e,t,s),fe=new Map;let he;async function Te(e){if(me.documentElement){fe.clear();const s=me.body&&me.body.scrollHeight||me.documentElement.scrollHeight,n=me.body&&me.body.scrollWidth||me.documentElement.scrollWidth;if(s>globalThis.innerHeight||n>globalThis.innerWidth){const i=Math.max(s-1.5*globalThis.innerHeight,0),l=Math.max(n-1.5*globalThis.innerWidth,0);if(globalThis.scrollY<i||globalThis.scrollX<l)return function(e){return he=0,new Promise((async s=>{let n;const i=new Set,l=new ue((async t=>{if((t=t.filter((e=>e.type==de))).length){t.filter((e=>{if("src"==e.attributeName&&(e.target.setAttribute(re.LAZY_SRC_ATTRIBUTE_NAME,e.target.src),e.target.addEventListener("load",g)),"src"==e.attributeName||"srcset"==e.attributeName||"SOURCE"==e.target.tagName)return!e.target.classList||!e.target.classList.contains(re.SINGLE_FILE_UI_ELEMENT_CLASS)})).length&&(n=!0,await be(l,e,E),i.size||await Ee(l,e,E))}}));async function c(t){await we("idleTimeout",(async()=>{n?he<le&&(he++,Ae("idleTimeout"),await c(Math.max(500,t/2))):(Ae("loadTimeout"),Ae("maxTimeout"),ye(l,e,E))}),t,e.loadDeferredImagesNativeTimeout)}function g(e){const t=e.target;t.removeAttribute(re.LAZY_SRC_ATTRIBUTE_NAME),t.removeEventListener("load",g)}async function h(t){n=!0,await be(l,e,E),await Ee(l,e,E),t.detail&&i.add(t.detail)}async function T(t){await be(l,e,E),await Ee(l,e,E),i.delete(t.detail),i.size||await Ee(l,e,E)}function E(e){l.disconnect(),pe(m,h),pe(u,T),s(e)}await c(2*e.loadDeferredImagesMaxIdleTime),await be(l,e,E),l.observe(me,{subtree:!0,childList:!0,attributes:!0}),ge(m,h),ge(u,T),function(e){e.loadDeferredImagesBlockCookies&&p(new f(a)),e.loadDeferredImagesBlockStorage&&p(new f(d)),e.loadDeferredImagesDispatchScrollEvent&&p(new f(r)),e.loadDeferredImagesKeepZoomLevel?p(new f(o)):p(new f(t))}(e)}))}(e)}}}async function Ee(e,t,s){await we("loadTimeout",(()=>ye(e,t,s)),t.loadDeferredImagesMaxIdleTime,t.loadDeferredImagesNativeTimeout)}async function be(e,t,s){await we("maxTimeout",(async()=>{await Ae("loadTimeout"),await ye(e,t,s)}),10*t.loadDeferredImagesMaxIdleTime,t.loadDeferredImagesNativeTimeout)}async function ye(e,t,o){await Ae("idleTimeout"),function(e){e.loadDeferredImagesBlockCookies&&p(new f(i)),e.loadDeferredImagesBlockStorage&&p(new f(c)),e.loadDeferredImagesDispatchScrollEvent&&p(new f(l)),e.loadDeferredImagesKeepZoomLevel?p(new f(n)):p(new f(s))}(t),await we("endTimeout",(async()=>{await Ae("maxTimeout"),o()}),t.loadDeferredImagesMaxIdleTime/2,t.loadDeferredImagesNativeTimeout),e.disconnect()}async function we(e,t,s,o){if(ce&&ce.runtime&&ce.runtime.sendMessage&&!o){if(!fe.get(e)||!fe.get(e).pending){const o={callback:t,pending:!0};fe.set(e,o);try{await ce.runtime.sendMessage({method:"singlefile.lazyTimeout.setTimeout",type:e,delay:s})}catch(o){Ie(e,t,s)}o.pending=!1}}else Ie(e,t,s)}function Ie(e,t,s){const o=fe.get(e);o&&globalThis.clearTimeout(o),fe.set(e,t),globalThis.setTimeout(t,s)}async function Ae(e){if(ce&&ce.runtime&&ce.runtime.sendMessage)try{await ce.runtime.sendMessage({method:"singlefile.lazyTimeout.clearTimeout",type:e})}catch(t){ve(e)}else ve(e)}function ve(e){const t=fe.get(e);fe.delete(e),t&&globalThis.clearTimeout(t)}ce&&ce.runtime&&ce.runtime.onMessage&&ce.runtime.onMessage.addListener&&ce.runtime.onMessage.addListener((e=>{if("singlefile.lazyTimeout.onTimeout"==e.method){const t=fe.get(e.type);if(t){fe.delete(e.type);try{t.callback()}catch(t){ve(e.type)}}}}));const Ne={ON_BEFORE_CAPTURE_EVENT_NAME:I,ON_AFTER_CAPTURE_EVENT_NAME:A,WIN_ID_ATTRIBUTE_NAME:"data-single-file-win-id",preProcessDoc:$,serialize:function(e){const t=e.doctype;let s="";return t&&(s="<!DOCTYPE "+t.nodeName,t.publicId?(s+=' PUBLIC "'+t.publicId+'"',t.systemId&&(s+=' "'+t.systemId+'"')):t.systemId&&(s+=' SYSTEM "'+t.systemId+'"'),t.internalSubset&&(s+=" ["+t.internalSubset+"]"),s+="> "),s+e.documentElement.outerHTML},postProcessDoc:oe,getShadowRoot:ee},Se="__frameTree__::",Re='iframe, frame, object[type="text/html"][data]',_e="*",Ce="singlefile.frameTree.initRequest",Fe="singlefile.frameTree.ackInitRequest",Me="singlefile.frameTree.cleanupRequest",Pe="singlefile.frameTree.initResponse",xe="*",Le=5e3,De=1e4,Oe=".",qe=globalThis.window==globalThis.top,ke=globalThis.browser,Ue=globalThis.top,He=globalThis.MessageChannel,Ve=globalThis.document,Be=globalThis.JSON;let We,ze=globalThis.sessions;var je,Ye,Ge;function Ze(){return globalThis.crypto.getRandomValues(new Uint32Array(32)).join("")}async function Je(e){const t=e.sessionId,s=globalThis._singleFile_waitForUserScript;delete globalThis._singleFile_cleaningUp,qe||(We=globalThis.frameId=e.windowId),Xe(Ve,e.options,We,t),qe||(e.options.userScriptEnabled&&s&&await s(Ne.ON_BEFORE_CAPTURE_EVENT_NAME),st({frames:[nt(Ve,globalThis,We,e.options)],sessionId:t,requestedFrameId:Ve.documentElement.dataset.requestedFrameId&&We}),e.options.userScriptEnabled&&s&&await s(Ne.ON_AFTER_CAPTURE_EVENT_NAME),delete Ve.documentElement.dataset.requestedFrameId)}function Ke(e){if(!globalThis._singleFile_cleaningUp){globalThis._singleFile_cleaningUp=!0;const t=e.sessionId;tt(at(Ve),e.windowId,t)}}function $e(e){e.frames.forEach((t=>Qe("responseTimeouts",e.sessionId,t.windowId)));const t=ze.get(e.sessionId);if(t){e.requestedFrameId&&(t.requestedFrameId=e.requestedFrameId),e.frames.forEach((e=>{let s=t.frames.find((t=>e.windowId==t.windowId));s||(s={windowId:e.windowId},t.frames.push(s)),s.processed||(s.content=e.content,s.baseURI=e.baseURI,s.title=e.title,s.canvases=e.canvases,s.fonts=e.fonts,s.stylesheets=e.stylesheets,s.images=e.images,s.posters=e.posters,s.videos=e.videos,s.usedFonts=e.usedFonts,s.shadowRoots=e.shadowRoots,s.processed=e.processed)}));t.frames.filter((e=>!e.processed)).length||(t.frames=t.frames.sort(((e,t)=>t.windowId.split(Oe).length-e.windowId.split(Oe).length)),t.resolve&&(t.requestedFrameId&&t.frames.forEach((e=>{e.windowId==t.requestedFrameId&&(e.requestedFrame=!0)})),t.resolve(t.frames)))}}function Xe(e,t,s,o){const n=at(e);!function(e,t,s,o,n){const a=[];let i;ze.get(n)?i=ze.get(n).requestTimeouts:(i={},ze.set(n,{requestTimeouts:i}));t.forEach(((e,t)=>{const s=o+Oe+t;e.setAttribute(Ne.WIN_ID_ATTRIBUTE_NAME,s),a.push({windowId:s})})),st({frames:a,sessionId:n,requestedFrameId:e.documentElement.dataset.requestedFrameId&&o}),t.forEach(((e,t)=>{const a=o+Oe+t;try{ot(e.contentWindow,{method:Ce,windowId:a,sessionId:n,options:s})}catch(e){}i[a]=globalThis.setTimeout((()=>st({frames:[{windowId:a,processed:!0}],sessionId:n})),Le)})),delete e.documentElement.dataset.requestedFrameId}(e,n,t,s,o),n.length&&function(e,t,s,o,n){const a=[];t.forEach(((e,t)=>{const i=o+Oe+t;let r;try{r=e.contentDocument}catch(e){}if(r)try{const t=e.contentWindow;t.stop(),Qe("requestTimeouts",n,i),Xe(r,s,i,n),a.push(nt(r,t,i,s))}catch(e){a.push({windowId:i,processed:!0})}})),st({frames:a,sessionId:n,requestedFrameId:e.documentElement.dataset.requestedFrameId&&o}),delete e.documentElement.dataset.requestedFrameId}(e,n,t,s,o)}function Qe(e,t,s){const o=ze.get(t);if(o&&o[e]){const t=o[e][s];t&&(globalThis.clearTimeout(t),delete o[e][s])}}function et(e,t){const s=ze.get(e);s&&s.responseTimeouts&&(s.responseTimeouts[t]=globalThis.setTimeout((()=>st({frames:[{windowId:t,processed:!0}],sessionId:e})),De))}function tt(e,t,s){e.forEach(((e,o)=>{const n=t+Oe+o;e.removeAttribute(Ne.WIN_ID_ATTRIBUTE_NAME);try{ot(e.contentWindow,{method:Me,windowId:n,sessionId:s})}catch(e){}})),e.forEach(((e,o)=>{const n=t+Oe+o;let a;try{a=e.contentDocument}catch(e){}if(a)try{tt(at(a),n,s)}catch(e){}}))}function st(e){e.method=Pe;try{Ue.singlefile.processors.frameTree.initResponse(e)}catch(t){ot(Ue,e,!0)}}function ot(e,t,s){if(e==Ue&&ke&&ke.runtime&&ke.runtime.sendMessage)ke.runtime.sendMessage(t);else if(s){const s=new He;e.postMessage(Se+Be.stringify({method:t.method,sessionId:t.sessionId}),xe,[s.port2]),s.port1.postMessage(t)}else e.postMessage(Se+Be.stringify(t),xe)}function nt(e,t,s,o){const n=Ne.preProcessDoc(e,t,o),a=Ne.serialize(e);Ne.postProcessDoc(e,n.markedElements,n.invalidElements);return{windowId:s,content:a,baseURI:e.baseURI.split("#")[0],title:e.title,canvases:n.canvases,fonts:n.fonts,stylesheets:n.stylesheets,images:n.images,posters:n.posters,videos:n.videos,usedFonts:n.usedFonts,shadowRoots:n.shadowRoots,processed:!0}}function at(e){let t=Array.from(e.querySelectorAll(Re));return e.querySelectorAll(_e).forEach((e=>{const s=Ne.getShadowRoot(e);s&&(t=t.concat(...s.querySelectorAll(Re)))})),t}ze||(ze=globalThis.sessions=new Map),qe&&(We="0",ke&&ke.runtime&&ke.runtime.onMessage&&ke.runtime.onMessage.addListener&&ke.runtime.onMessage.addListener((e=>e.method==Pe?($e(e),Promise.resolve({})):e.method==Fe?(Qe("requestTimeouts",e.sessionId,e.windowId),et(e.sessionId,e.windowId),Promise.resolve({})):void 0))),je="message",Ye=async e=>{if("string"==typeof e.data&&e.data.startsWith(Se)){e.preventDefault(),e.stopPropagation();const t=Be.parse(e.data.substring(Se.length));t.method==Ce?(e.source&&ot(e.source,{method:Fe,windowId:t.windowId,sessionId:t.sessionId}),qe||(globalThis.stop(),t.options.loadDeferredImages&&Te(t.options),await Je(t))):t.method==Fe?(Qe("requestTimeouts",t.sessionId,t.windowId),et(t.sessionId,t.windowId)):t.method==Me?Ke(t):t.method==Pe&&ze.get(t.sessionId)&&(e.ports[0].onmessage=e=>$e(e.data))}},Ge=!0,globalThis.addEventListener(je,Ye,Ge);var it=Object.freeze({__proto__:null,getAsync:function(e){const t=Ze();return e=Be.parse(Be.stringify(e)),new Promise((s=>{ze.set(t,{frames:[],requestTimeouts:{},responseTimeouts:{},resolve:e=>{e.sessionId=t,s(e)}}),Je({windowId:We,sessionId:t,options:e})}))},getSync:function(e){const t=Ze();e=Be.parse(Be.stringify(e)),ze.set(t,{frames:[],requestTimeouts:{},responseTimeouts:{}}),function(e){const t=e.sessionId,s=globalThis._singleFile_waitForUserScript;delete globalThis._singleFile_cleaningUp,qe||(We=globalThis.frameId=e.windowId);Xe(Ve,e.options,We,t),qe||(e.options.userScriptEnabled&&s&&s(Ne.ON_BEFORE_CAPTURE_EVENT_NAME),st({frames:[nt(Ve,globalThis,We,e.options)],sessionId:t,requestedFrameId:Ve.documentElement.dataset.requestedFrameId&&We}),e.options.userScriptEnabled&&s&&s(Ne.ON_AFTER_CAPTURE_EVENT_NAME),delete Ve.documentElement.dataset.requestedFrameId)}({windowId:We,sessionId:t,options:e});const s=ze.get(t).frames;return s.sessionId=t,s},cleanup:function(e){ze.delete(e),Ke({windowId:We,sessionId:e,options:{sessionId:e}})},initResponse:$e,TIMEOUT_INIT_REQUEST_MESSAGE:Le});const rt=["area","base","br","col","command","embed","hr","img","input","keygen","link","meta","param","source","track","wbr"],lt=1,dt=3,ct=8,mt=[{tagName:"head",accept:e=>!e.childNodes.length||e.childNodes[0].nodeType==lt},{tagName:"body",accept:e=>!e.childNodes.length}],ut=[{tagName:"html",accept:e=>!e||e.nodeType!=ct},{tagName:"head",accept:e=>!e||e.nodeType!=ct&&(e.nodeType!=dt||!ft(e.textContent))},{tagName:"body",accept:e=>!e||e.nodeType!=ct},{tagName:"li",accept:(e,t)=>!e&&t.parentElement&&("UL"==t.parentElement.tagName||"OL"==t.parentElement.tagName)||e&&["LI"].includes(e.tagName)},{tagName:"dt",accept:e=>!e||["DT","DD"].includes(e.tagName)},{tagName:"p",accept:e=>e&&["ADDRESS","ARTICLE","ASIDE","BLOCKQUOTE","DETAILS","DIV","DL","FIELDSET","FIGCAPTION","FIGURE","FOOTER","FORM","H1","H2","H3","H4","H5","H6","HEADER","HR","MAIN","NAV","OL","P","PRE","SECTION","TABLE","UL"].includes(e.tagName)},{tagName:"dd",accept:e=>!e||["DT","DD"].includes(e.tagName)},{tagName:"rt",accept:e=>!e||["RT","RP"].includes(e.tagName)},{tagName:"rp",accept:e=>!e||["RT","RP"].includes(e.tagName)},{tagName:"optgroup",accept:e=>!e||["OPTGROUP"].includes(e.tagName)},{tagName:"option",accept:e=>!e||["OPTION","OPTGROUP"].includes(e.tagName)},{tagName:"colgroup",accept:e=>!e||e.nodeType!=ct&&(e.nodeType!=dt||!ft(e.textContent))},{tagName:"caption",accept:e=>!e||e.nodeType!=ct&&(e.nodeType!=dt||!ft(e.textContent))},{tagName:"thead",accept:e=>!e||["TBODY","TFOOT"].includes(e.tagName)},{tagName:"tbody",accept:e=>!e||["TBODY","TFOOT"].includes(e.tagName)},{tagName:"tfoot",accept:e=>!e},{tagName:"tr",accept:e=>!e||["TR"].includes(e.tagName)},{tagName:"td",accept:e=>!e||["TD","TH"].includes(e.tagName)},{tagName:"th",accept:e=>!e||["TD","TH"].includes(e.tagName)}],gt=["style","script","xmp","iframe","noembed","noframes","plaintext","noscript"];function pt(e,t,s){return e.nodeType==dt?function(e){const t=e.parentNode;let s;t&&t.nodeType==lt&&(s=t.tagName.toLowerCase());return!s||gt.includes(s)?"script"==s||"style"==s?e.textContent.replace(/<\//gi,"<\\/").replace(/\/>/gi,"\\/>"):e.textContent:e.textContent.replace(/&/g,"&amp;").replace(/\u00a0/g,"&nbsp;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}(e):e.nodeType==ct?"\x3c!--"+e.textContent+"--\x3e":e.nodeType==lt?function(e,t,s){const o=e.tagName.toLowerCase(),n=t&&mt.find((t=>o==t.tagName&&t.accept(e)));let a="";n&&!e.attributes.length||(a="<"+o,Array.from(e.attributes).forEach((s=>a+=function(e,t,s){const o=e.name;let n="";if(!o.match(/["'>/=]/)){let a,i=e.value;s&&"class"==o&&(i=Array.from(t.classList).map((e=>e.trim())).join(" ")),i=i.replace(/&/g,"&amp;").replace(/\u00a0/g,"&nbsp;"),i.includes('"')&&(i.includes("'")||!s?i=i.replace(/"/g,"&quot;"):a=!0);const r=!s||i.match(/[ \t\n\f\r'"`=<>]/);n+=" ",e.namespace?"http://www.w3.org/XML/1998/namespace"==e.namespaceURI?n+="xml:"+o:"http://www.w3.org/2000/xmlns/"==e.namespaceURI?("xmlns"!==o&&(n+="xmlns:"),n+=o):"http://www.w3.org/1999/xlink"==e.namespaceURI?n+="xlink:"+o:n+=o:n+=o,""!=i&&(n+="=",r&&(n+=a?"'":'"'),n+=i,r&&(n+=a?"'":'"'))}return n}(s,e,t))),a+=">");"TEMPLATE"!=e.tagName||e.childNodes.length?Array.from(e.childNodes).forEach((e=>a+=pt(e,t,s||"svg"==o))):a+=e.innerHTML;const i=t&&ut.find((t=>o==t.tagName&&t.accept(e.nextSibling,e)));(s||!i&&!rt.includes(o))&&(a+="</"+o+">");return a}(e,t,s):void 0}function ft(e){return Boolean(e.match(/^[ \t\n\f\r]/))}const ht={frameTree:it},Tt={COMMENT_HEADER:"Page saved with SingleFile",COMMENT_HEADER_LEGACY:"Archive processed by SingleFile",ON_BEFORE_CAPTURE_EVENT_NAME:I,ON_AFTER_CAPTURE_EVENT_NAME:A,preProcessDoc:$,postProcessDoc:oe,serialize:(e,t)=>function(e,t){const s=e.doctype;let o="";return s&&(o="<!DOCTYPE "+s.nodeName,s.publicId?(o+=' PUBLIC "'+s.publicId+'"',s.systemId&&(o+=' "'+s.systemId+'"')):s.systemId&&(o+=' SYSTEM "'+s.systemId+'"'),s.internalSubset&&(o+=" ["+s.internalSubset+"]"),o+="> "),o+pt(e.documentElement,t)}(e,t),getShadowRoot:ee};Z("single-file-user-script-init",(()=>globalThis._singleFile_waitForUserScript=async e=>{const t=new CustomEvent(e+"-request",{cancelable:!0}),s=new Promise((t=>Z(e+"-response",t)));J(t),t.defaultPrevented&&await s})),e.helper=Tt,e.processors=ht,Object.defineProperty(e,"__esModule",{value:!0})}));
@@ -1 +1 @@
1
- !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).singlefile={})}(this,(function(e){"use strict";const t="single-file-load-image",s="single-file-image-loaded",o=(e,t,s)=>globalThis.addEventListener(e,t,s),n=e=>{try{globalThis.dispatchEvent(e)}catch(e){}},i=globalThis.CustomEvent,a=globalThis.document,r=globalThis.Document;let l;l=window._singleFile_fontFaces?window._singleFile_fontFaces:window._singleFile_fontFaces=new Map,a instanceof r&&(o("single-file-new-font-face",(e=>{const t=e.detail,s=Object.assign({},t);delete s.src,l.set(JSON.stringify(s),t)})),o("single-file-delete-font",(e=>{const t=e.detail,s=Object.assign({},t);delete s.src,l.delete(JSON.stringify(s))})),o("single-file-clear-fonts",(()=>l=new Map)));const d="[\\x20\\t\\r\\n\\f]",c=new RegExp("\\\\([\\da-f]{1,6}"+d+"?|("+d+")|.)","ig");const m="data-single-file-removed-content",u="data-single-file-hidden-content",g="data-single-file-kept-content",f="data-single-file-hidden-frame",h="data-single-file-preserved-space-element",p="data-single-file-shadow-root-element",b="data-single-file-image",y="data-single-file-poster",E="data-single-file-video",w="data-single-file-canvas",T="data-single-file-movable-style",I="data-single-file-input-value",v="data-single-file-lazy-loaded-src",A="data-single-file-stylesheet",S="data-single-file-disabled-noscript",R="data-single-file-async-script",N="*:not(base):not(link):not(meta):not(noscript):not(script):not(style):not(template):not(title)",_=["NOSCRIPT","DISABLED-NOSCRIPT","META","LINK","STYLE","TITLE","TEMPLATE","SOURCE","OBJECT","SCRIPT","HEAD","BODY"],F=/^'(.*?)'$/,M=/^"(.*?)"$/,q={regular:"400",normal:"400",bold:"700",bolder:"700",lighter:"100"},x="single-file-ui-element",P="data:,";function C(e,t,s,o,n={usedFonts:new Map,canvases:[],images:[],posters:[],videos:[],shadowRoots:[],markedElements:[]},i){return Array.from(s.childNodes).filter((t=>t instanceof e.HTMLElement||t instanceof e.SVGElement)).forEach((s=>{let a,r,l;if(!o.autoSaveExternalSave&&(o.removeHiddenElements||o.removeUnusedFonts||o.compressHTML)&&(l=W(e,s),s instanceof e.HTMLElement&&o.removeHiddenElements&&(r=(i||s.closest("html > head"))&&_.includes(s.tagName)||s.closest("details"),r||(a=i||L(s,l),a&&(s.setAttribute(u,""),n.markedElements.push(s)))),!a)){if(o.compressHTML&&l){const e=l.getPropertyValue("white-space");e&&e.startsWith("pre")&&(s.setAttribute(h,""),n.markedElements.push(s))}o.removeUnusedFonts&&(k(l,o,n.usedFonts),k(W(e,s,":first-letter"),o,n.usedFonts),k(W(e,s,":before"),o,n.usedFonts),k(W(e,s,":after"),o,n.usedFonts))}!function(e,t,s,o,n,i,a){if("CANVAS"==s.tagName)try{n.canvases.push({dataURI:s.toDataURL("image/png","")}),s.setAttribute(w,n.canvases.length-1),n.markedElements.push(s)}catch(e){}if("IMG"==s.tagName){const t={currentSrc:i?P:o.loadDeferredImages&&s.getAttribute(v)||s.currentSrc};if(n.images.push(t),s.setAttribute(b,n.images.length-1),n.markedElements.push(s),s.removeAttribute(v),a=a||W(e,s)){t.size=function(e,t,s){let o=t.naturalWidth,n=t.naturalHeight;if(!o&&!n){const i=null==t.getAttribute("style");if(s=s||W(e,t)){let e,a,r,l,d,c,m,u,g=!1;if("content-box"==s.getPropertyValue("box-sizing")){const e=t.style.getPropertyValue("box-sizing"),s=t.style.getPropertyPriority("box-sizing"),o=t.clientWidth;t.style.setProperty("box-sizing","border-box","important"),g=t.clientWidth!=o,e?t.style.setProperty("box-sizing",e,s):t.style.removeProperty("box-sizing")}e=V("padding-left",s),a=V("padding-right",s),r=V("padding-top",s),l=V("padding-bottom",s),g?(d=V("border-left-width",s),c=V("border-right-width",s),m=V("border-top-width",s),u=V("border-bottom-width",s)):d=c=m=u=0,o=Math.max(0,t.clientWidth-e-a-d-c),n=Math.max(0,t.clientHeight-r-l-m-u),i&&t.removeAttribute("style")}}return{pxWidth:o,pxHeight:n}}(e,s,a);const o=a.getPropertyValue("box-shadow"),n=a.getPropertyValue("background-image");o&&"none"!=o||n&&"none"!=n||!(t.size.pxWidth>1||t.size.pxHeight>1)||(t.replaceable=!0,t.backgroundColor=a.getPropertyValue("background-color"),t.objectFit=a.getPropertyValue("object-fit"),t.boxSizing=a.getPropertyValue("box-sizing"),t.objectPosition=a.getPropertyValue("object-position"))}}if("VIDEO"==s.tagName){const o=s.currentSrc;if(o&&!o.startsWith("blob:")&&!o.startsWith("data:")){const t=W(e,s.parentNode);n.videos.push({positionParent:t&&t.getPropertyValue("position"),src:o,size:{pxWidth:s.clientWidth,pxHeight:s.clientHeight},currentTime:s.currentTime}),s.setAttribute(E,n.videos.length-1)}if(!s.poster){const e=t.createElement("canvas"),o=e.getContext("2d");e.width=s.clientWidth,e.height=s.clientHeight;try{o.drawImage(s,0,0,e.width,e.height),n.posters.push(e.toDataURL("image/png","")),s.setAttribute(y,n.posters.length-1),n.markedElements.push(s)}catch(e){}}}"IFRAME"==s.tagName&&i&&o.removeHiddenElements&&(s.setAttribute(f,""),n.markedElements.push(s));"INPUT"==s.tagName&&("password"!=s.type&&(s.setAttribute(I,s.value),n.markedElements.push(s)),"radio"!=s.type&&"checkbox"!=s.type||(s.setAttribute(I,s.checked),n.markedElements.push(s)));"TEXTAREA"==s.tagName&&(s.setAttribute(I,s.value),n.markedElements.push(s));"SELECT"==s.tagName&&s.querySelectorAll("option").forEach((e=>{e.selected&&(e.setAttribute(I,""),n.markedElements.push(e))}));"SCRIPT"==s.tagName&&(s.async&&""!=s.getAttribute("async")&&"async"!=s.getAttribute("async")&&(s.setAttribute(R,""),n.markedElements.push(s)),s.textContent=s.textContent.replace(/<\/script>/gi,"<\\/script>"))}(e,t,s,o,n,a,l);const d=!(s instanceof e.SVGElement)&&D(s);if(d&&!s.classList.contains(x)){const i={};s.setAttribute(p,n.shadowRoots.length),n.markedElements.push(s),n.shadowRoots.push(i),C(e,t,d,o,n,a),i.content=d.innerHTML,i.mode=d.mode;try{d.adoptedStyleSheets&&d.adoptedStyleSheets.length&&(i.adoptedStyleSheets=Array.from(d.adoptedStyleSheets).map((e=>Array.from(e.cssRules).map((e=>e.cssText)).join("\n"))))}catch(e){}}C(e,t,s,o,n,a),!o.autoSaveExternalSave&&o.removeHiddenElements&&i&&(r||""==s.getAttribute(g)?s.parentElement&&(s.parentElement.setAttribute(g,""),n.markedElements.push(s.parentElement)):a&&(s.setAttribute(m,""),n.markedElements.push(s)))})),n}function k(e,t,s){if(e){const o=e.getPropertyValue("font-style")||"normal";e.getPropertyValue("font-family").split(",").forEach((n=>{if(n=O(n),!t.loadedFonts||t.loadedFonts.find((e=>O(e.family)==n&&e.style==o))){const t=(i=e.getPropertyValue("font-weight"),q[i.toLowerCase().trim()]||i),a=e.getPropertyValue("font-variant")||"normal",r=[n,t,o,a];s.set(JSON.stringify(r),[n,t,o,a])}var i}))}}function D(e){const t=globalThis.chrome;if(e.openOrClosedShadowRoot)return e.openOrClosedShadowRoot;if(!(t&&t.dom&&t.dom.openOrClosedShadowRoot))return e.shadowRoot;try{return t.dom.openOrClosedShadowRoot(e)}catch(t){return e.shadowRoot}}function O(e=""){return function(e){e=e.match(F)?e.replace(F,"$1"):e.replace(M,"$1");return e.trim()}((t=e.trim(),t.replace(c,((e,t,s)=>{const o="0x"+t-65536;return o!=o||s?t:o<0?String.fromCharCode(o+65536):String.fromCharCode(o>>10|55296,1023&o|56320)})))).toLowerCase();var t}function L(e,t){let s=!1;if(t){const o=t.getPropertyValue("display"),n=t.getPropertyValue("opacity"),i=t.getPropertyValue("visibility");if(s="none"==o,!s&&("0"==n||"hidden"==i)&&e.getBoundingClientRect){const t=e.getBoundingClientRect();s=!t.width&&!t.height}}return Boolean(s)}function U(e){if(e){const t=[];return e.querySelectorAll("style").forEach(((s,o)=>{try{const n=e.createElement("style");n.textContent=s.textContent,e.body.appendChild(n);const i=n.sheet;n.remove(),i&&i.cssRules.length==s.sheet.cssRules.length||(s.setAttribute(A,o),t[o]=Array.from(s.sheet.cssRules).map((e=>e.cssText)).join("\n"))}catch(e){}})),t}}function V(e,t){if(t.getPropertyValue(e).endsWith("px"))return parseFloat(t.getPropertyValue(e))}function W(e,t,s){try{return e.getComputedStyle(t,s)}catch(e){}}const H=v,z=x,B="attributes",j=globalThis.browser,J=globalThis.document,Y=globalThis.MutationObserver,G=(e,t,s)=>globalThis.addEventListener(e,t,s),$=(e,t,s)=>globalThis.removeEventListener(e,t,s),K=new Map;let X;async function Z(e){if(J.documentElement){K.clear();const o=J.body&&J.body.scrollHeight||J.documentElement.scrollHeight,a=J.body&&J.body.scrollWidth||J.documentElement.scrollWidth;if(o>globalThis.innerHeight||a>globalThis.innerWidth){const r=Math.max(o-1.5*globalThis.innerHeight,0),l=Math.max(a-1.5*globalThis.innerWidth,0);if(globalThis.scrollY<r||globalThis.scrollX<l)return function(e){return X=0,new Promise((async o=>{let a;const r=new Set,l=new Y((async t=>{if((t=t.filter((e=>e.type==B))).length){t.filter((e=>{if("src"==e.attributeName&&(e.target.setAttribute(H,e.target.src),e.target.addEventListener("load",c)),"src"==e.attributeName||"srcset"==e.attributeName||"SOURCE"==e.target.tagName)return!e.target.classList||!e.target.classList.contains(z)})).length&&(a=!0,await ee(l,e,g),r.size||await Q(l,e,g))}}));async function d(t){await se("idleTimeout",(async()=>{a?X<10&&(X++,ne("idleTimeout"),await d(Math.max(500,t/2))):(ne("loadTimeout"),ne("maxTimeout"),te(l,e,g))}),t,e.loadDeferredImagesNativeTimeout)}function c(e){const t=e.target;t.removeAttribute(H),t.removeEventListener("load",c)}async function m(t){a=!0,await ee(l,e,g),await Q(l,e,g),t.detail&&r.add(t.detail)}async function u(t){await ee(l,e,g),await Q(l,e,g),r.delete(t.detail),r.size||await Q(l,e,g)}function g(e){l.disconnect(),$(t,m),$(s,u),o(e)}await d(2*e.loadDeferredImagesMaxIdleTime),await ee(l,e,g),l.observe(J,{subtree:!0,childList:!0,attributes:!0}),G(t,m),G(s,u),function(e){e.loadDeferredImagesBlockCookies&&n(new i("single-file-block-cookies-start")),e.loadDeferredImagesBlockStorage&&n(new i("single-file-block-storage-start")),e.loadDeferredImagesDispatchScrollEvent&&n(new i("single-file-dispatch-scroll-event-start")),e.loadDeferredImagesKeepZoomLevel?n(new i("single-file-load-deferred-images-keep-zoom-level-start")):n(new i("single-file-load-deferred-images-start"))}(e)}))}(e)}}}async function Q(e,t,s){await se("loadTimeout",(()=>te(e,t,s)),t.loadDeferredImagesMaxIdleTime,t.loadDeferredImagesNativeTimeout)}async function ee(e,t,s){await se("maxTimeout",(async()=>{await ne("loadTimeout"),await te(e,t,s)}),10*t.loadDeferredImagesMaxIdleTime,t.loadDeferredImagesNativeTimeout)}async function te(e,t,s){await ne("idleTimeout"),function(e){e.loadDeferredImagesBlockCookies&&n(new i("single-file-block-cookies-end")),e.loadDeferredImagesBlockStorage&&n(new i("single-file-block-storage-end")),e.loadDeferredImagesDispatchScrollEvent&&n(new i("single-file-dispatch-scroll-event-end")),e.loadDeferredImagesKeepZoomLevel?n(new i("single-file-load-deferred-images-keep-zoom-level-end")):n(new i("single-file-load-deferred-images-end"))}(t),await se("endTimeout",(async()=>{await ne("maxTimeout"),s()}),t.loadDeferredImagesMaxIdleTime/2,t.loadDeferredImagesNativeTimeout),e.disconnect()}async function se(e,t,s,o){if(j&&j.runtime&&j.runtime.sendMessage&&!o){if(!K.get(e)||!K.get(e).pending){const o={callback:t,pending:!0};K.set(e,o);try{await j.runtime.sendMessage({method:"singlefile.lazyTimeout.setTimeout",type:e,delay:s})}catch(o){oe(e,t,s)}o.pending=!1}}else oe(e,t,s)}function oe(e,t,s){const o=K.get(e);o&&globalThis.clearTimeout(o),K.set(e,t),globalThis.setTimeout(t,s)}async function ne(e){if(j&&j.runtime&&j.runtime.sendMessage)try{await j.runtime.sendMessage({method:"singlefile.lazyTimeout.clearTimeout",type:e})}catch(t){ie(e)}else ie(e)}function ie(e){const t=K.get(e);K.delete(e),t&&globalThis.clearTimeout(t)}j&&j.runtime&&j.runtime.onMessage&&j.runtime.onMessage.addListener&&j.runtime.onMessage.addListener((e=>{if("singlefile.lazyTimeout.onTimeout"==e.method){const t=K.get(e.type);if(t){K.delete(e.type);try{t.callback()}catch(t){ie(e.type)}}}}));const ae={ON_BEFORE_CAPTURE_EVENT_NAME:"single-file-on-before-capture",ON_AFTER_CAPTURE_EVENT_NAME:"single-file-on-after-capture",WIN_ID_ATTRIBUTE_NAME:"data-single-file-win-id",preProcessDoc:function(e,t,s){e.querySelectorAll("noscript:not(["+S+"])").forEach((e=>{e.setAttribute(S,e.textContent),e.textContent=""})),function(e){e.querySelectorAll("meta[http-equiv=refresh]").forEach((e=>{e.removeAttribute("http-equiv"),e.setAttribute("disabled-http-equiv","refresh")}))}(e),e.head&&e.head.querySelectorAll(N).forEach((e=>e.hidden=!0)),e.querySelectorAll("svg foreignObject").forEach((e=>{const t=e.querySelectorAll("html > head > "+N+", html > body > "+N);t.length&&(Array.from(e.childNodes).forEach((e=>e.remove())),t.forEach((t=>e.appendChild(t))))}));const o=new Map;let n;return t&&e.documentElement?(e.querySelectorAll("button button, a a").forEach((t=>{const s=e.createElement("template");s.setAttribute("data-single-file-invalid-element",""),s.content.appendChild(t.cloneNode(!0)),o.set(t,s),t.replaceWith(s)})),n=C(t,e,e.documentElement,s),s.moveStylesInHead&&e.querySelectorAll("body style, body ~ style").forEach((e=>{const s=W(t,e);s&&L(e,s)&&(e.setAttribute(T,""),n.markedElements.push(e))}))):n={canvases:[],images:[],posters:[],videos:[],usedFonts:[],shadowRoots:[],markedElements:[]},{canvases:n.canvases,fonts:Array.from(l.values()),stylesheets:U(e),images:n.images,posters:n.posters,videos:n.videos,usedFonts:Array.from(n.usedFonts.values()),shadowRoots:n.shadowRoots,referrer:e.referrer,markedElements:n.markedElements,invalidElements:o}},serialize:function(e){const t=e.doctype;let s="";return t&&(s="<!DOCTYPE "+t.nodeName,t.publicId?(s+=' PUBLIC "'+t.publicId+'"',t.systemId&&(s+=' "'+t.systemId+'"')):t.systemId&&(s+=' SYSTEM "'+t.systemId+'"'),t.internalSubset&&(s+=" ["+t.internalSubset+"]"),s+="> "),s+e.documentElement.outerHTML},postProcessDoc:function(e,t,s){if(e.querySelectorAll("["+S+"]").forEach((e=>{e.textContent=e.getAttribute(S),e.removeAttribute(S)})),e.querySelectorAll("meta[disabled-http-equiv]").forEach((e=>{e.setAttribute("http-equiv",e.getAttribute("disabled-http-equiv")),e.removeAttribute("disabled-http-equiv")})),e.head&&e.head.querySelectorAll("*:not(base):not(link):not(meta):not(noscript):not(script):not(style):not(template):not(title)").forEach((e=>e.removeAttribute("hidden"))),!t){const s=[m,f,u,h,b,y,E,w,I,p,A,R];t=e.querySelectorAll(s.map((e=>"["+e+"]")).join(","))}t.forEach((e=>{e.removeAttribute(m),e.removeAttribute(u),e.removeAttribute(g),e.removeAttribute(f),e.removeAttribute(h),e.removeAttribute(b),e.removeAttribute(y),e.removeAttribute(E),e.removeAttribute(w),e.removeAttribute(I),e.removeAttribute(p),e.removeAttribute(A),e.removeAttribute(R),e.removeAttribute(T)})),s&&Array.from(s.entries()).forEach((([e,t])=>t.replaceWith(e)))},getShadowRoot:D},re="__frameTree__::",le='iframe, frame, object[type="text/html"][data]',de="singlefile.frameTree.initRequest",ce="singlefile.frameTree.ackInitRequest",me="singlefile.frameTree.cleanupRequest",ue="singlefile.frameTree.initResponse",ge=5e3,fe=".",he=globalThis.window==globalThis.top,pe=globalThis.browser,be=globalThis.top,ye=globalThis.MessageChannel,Ee=globalThis.document;let we,Te=globalThis.sessions;var Ie,ve,Ae;function Se(){return globalThis.crypto.getRandomValues(new Uint32Array(32)).join("")}async function Re(e){const t=e.sessionId,s=globalThis._singleFile_waitForUserScript;delete globalThis._singleFile_cleaningUp,he||(we=globalThis.frameId=e.windowId),Fe(Ee,e.options,we,t),he||(e.options.userScriptEnabled&&s&&await s(ae.ON_BEFORE_CAPTURE_EVENT_NAME),Pe({frames:[ke(Ee,globalThis,we,e.options)],sessionId:t,requestedFrameId:Ee.documentElement.dataset.requestedFrameId&&we}),e.options.userScriptEnabled&&s&&await s(ae.ON_AFTER_CAPTURE_EVENT_NAME),delete Ee.documentElement.dataset.requestedFrameId)}function Ne(e){if(!globalThis._singleFile_cleaningUp){globalThis._singleFile_cleaningUp=!0;const t=e.sessionId;xe(De(Ee),e.windowId,t)}}function _e(e){e.frames.forEach((t=>Me("responseTimeouts",e.sessionId,t.windowId)));const t=Te.get(e.sessionId);if(t){e.requestedFrameId&&(t.requestedFrameId=e.requestedFrameId),e.frames.forEach((e=>{let s=t.frames.find((t=>e.windowId==t.windowId));s||(s={windowId:e.windowId},t.frames.push(s)),s.processed||(s.content=e.content,s.baseURI=e.baseURI,s.title=e.title,s.canvases=e.canvases,s.fonts=e.fonts,s.stylesheets=e.stylesheets,s.images=e.images,s.posters=e.posters,s.videos=e.videos,s.usedFonts=e.usedFonts,s.shadowRoots=e.shadowRoots,s.processed=e.processed)}));t.frames.filter((e=>!e.processed)).length||(t.frames=t.frames.sort(((e,t)=>t.windowId.split(fe).length-e.windowId.split(fe).length)),t.resolve&&(t.requestedFrameId&&t.frames.forEach((e=>{e.windowId==t.requestedFrameId&&(e.requestedFrame=!0)})),t.resolve(t.frames)))}}function Fe(e,t,s,o){const n=De(e);!function(e,t,s,o,n){const i=[];let a;Te.get(n)?a=Te.get(n).requestTimeouts:(a={},Te.set(n,{requestTimeouts:a}));t.forEach(((e,t)=>{const s=o+fe+t;e.setAttribute(ae.WIN_ID_ATTRIBUTE_NAME,s),i.push({windowId:s})})),Pe({frames:i,sessionId:n,requestedFrameId:e.documentElement.dataset.requestedFrameId&&o}),t.forEach(((e,t)=>{const i=o+fe+t;try{Ce(e.contentWindow,{method:de,windowId:i,sessionId:n,options:s})}catch(e){}a[i]=globalThis.setTimeout((()=>Pe({frames:[{windowId:i,processed:!0}],sessionId:n})),ge)})),delete e.documentElement.dataset.requestedFrameId}(e,n,t,s,o),n.length&&function(e,t,s,o,n){const i=[];t.forEach(((e,t)=>{const a=o+fe+t;let r;try{r=e.contentDocument}catch(e){}if(r)try{const t=e.contentWindow;t.stop(),Me("requestTimeouts",n,a),Fe(r,s,a,n),i.push(ke(r,t,a,s))}catch(e){i.push({windowId:a,processed:!0})}})),Pe({frames:i,sessionId:n,requestedFrameId:e.documentElement.dataset.requestedFrameId&&o}),delete e.documentElement.dataset.requestedFrameId}(e,n,t,s,o)}function Me(e,t,s){const o=Te.get(t);if(o&&o[e]){const t=o[e][s];t&&(globalThis.clearTimeout(t),delete o[e][s])}}function qe(e,t){const s=Te.get(e);s&&s.responseTimeouts&&(s.responseTimeouts[t]=globalThis.setTimeout((()=>Pe({frames:[{windowId:t,processed:!0}],sessionId:e})),1e4))}function xe(e,t,s){e.forEach(((e,o)=>{const n=t+fe+o;e.removeAttribute(ae.WIN_ID_ATTRIBUTE_NAME);try{Ce(e.contentWindow,{method:me,windowId:n,sessionId:s})}catch(e){}})),e.forEach(((e,o)=>{const n=t+fe+o;let i;try{i=e.contentDocument}catch(e){}if(i)try{xe(De(i),n,s)}catch(e){}}))}function Pe(e){e.method=ue;try{be.singlefile.processors.frameTree.initResponse(e)}catch(t){Ce(be,e,!0)}}function Ce(e,t,s){if(e==be&&pe&&pe.runtime&&pe.runtime.sendMessage)pe.runtime.sendMessage(t);else if(s){const s=new ye;e.postMessage(re+JSON.stringify({method:t.method,sessionId:t.sessionId}),"*",[s.port2]),s.port1.postMessage(t)}else e.postMessage(re+JSON.stringify(t),"*")}function ke(e,t,s,o){const n=ae.preProcessDoc(e,t,o),i=ae.serialize(e);ae.postProcessDoc(e,n.markedElements,n.invalidElements);return{windowId:s,content:i,baseURI:e.baseURI.split("#")[0],title:e.title,canvases:n.canvases,fonts:n.fonts,stylesheets:n.stylesheets,images:n.images,posters:n.posters,videos:n.videos,usedFonts:n.usedFonts,shadowRoots:n.shadowRoots,processed:!0}}function De(e){let t=Array.from(e.querySelectorAll(le));return e.querySelectorAll("*").forEach((e=>{const s=ae.getShadowRoot(e);s&&(t=t.concat(...s.querySelectorAll(le)))})),t}Te||(Te=globalThis.sessions=new Map),he&&(we="0",pe&&pe.runtime&&pe.runtime.onMessage&&pe.runtime.onMessage.addListener&&pe.runtime.onMessage.addListener((e=>e.method==ue?(_e(e),Promise.resolve({})):e.method==ce?(Me("requestTimeouts",e.sessionId,e.windowId),qe(e.sessionId,e.windowId),Promise.resolve({})):void 0))),Ie="message",ve=async e=>{if("string"==typeof e.data&&e.data.startsWith(re)){e.preventDefault(),e.stopPropagation();const t=JSON.parse(e.data.substring(re.length));t.method==de?(e.source&&Ce(e.source,{method:ce,windowId:t.windowId,sessionId:t.sessionId}),he||(globalThis.stop(),t.options.loadDeferredImages&&Z(t.options),await Re(t))):t.method==ce?(Me("requestTimeouts",t.sessionId,t.windowId),qe(t.sessionId,t.windowId)):t.method==me?Ne(t):t.method==ue&&Te.get(t.sessionId)&&(e.ports[0].onmessage=e=>_e(e.data))}},Ae=!0,globalThis.addEventListener(Ie,ve,Ae),e.TIMEOUT_INIT_REQUEST_MESSAGE=ge,e.cleanup=function(e){Te.delete(e),Ne({windowId:we,sessionId:e,options:{sessionId:e}})},e.getAsync=function(e){const t=Se();return e=JSON.parse(JSON.stringify(e)),new Promise((s=>{Te.set(t,{frames:[],requestTimeouts:{},responseTimeouts:{},resolve:e=>{e.sessionId=t,s(e)}}),Re({windowId:we,sessionId:t,options:e})}))},e.getSync=function(e){const t=Se();e=JSON.parse(JSON.stringify(e)),Te.set(t,{frames:[],requestTimeouts:{},responseTimeouts:{}}),function(e){const t=e.sessionId,s=globalThis._singleFile_waitForUserScript;delete globalThis._singleFile_cleaningUp,he||(we=globalThis.frameId=e.windowId);Fe(Ee,e.options,we,t),he||(e.options.userScriptEnabled&&s&&s(ae.ON_BEFORE_CAPTURE_EVENT_NAME),Pe({frames:[ke(Ee,globalThis,we,e.options)],sessionId:t,requestedFrameId:Ee.documentElement.dataset.requestedFrameId&&we}),e.options.userScriptEnabled&&s&&s(ae.ON_AFTER_CAPTURE_EVENT_NAME),delete Ee.documentElement.dataset.requestedFrameId)}({windowId:we,sessionId:t,options:e});const s=Te.get(t).frames;return s.sessionId=t,s},e.initResponse=_e,Object.defineProperty(e,"__esModule",{value:!0})}));
1
+ !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).singlefile={})}(this,(function(e){"use strict";const t="single-file-load-deferred-images-start",s="single-file-load-deferred-images-end",o="single-file-load-deferred-images-keep-zoom-level-start",n="single-file-load-deferred-images-keep-zoom-level-end",i="single-file-block-cookies-start",a="single-file-block-cookies-end",r="single-file-dispatch-scroll-event-start",l="single-file-dispatch-scroll-event-end",d="single-file-block-storage-start",c="single-file-block-storage-end",m="single-file-load-image",u="single-file-image-loaded",g=(e,t,s)=>globalThis.addEventListener(e,t,s),f=e=>{try{globalThis.dispatchEvent(e)}catch(e){}},h=globalThis.CustomEvent,p=globalThis.document,b=globalThis.Document,E=globalThis.JSON;let y;y=window._singleFile_fontFaces?window._singleFile_fontFaces:window._singleFile_fontFaces=new Map,p instanceof b&&(g("single-file-new-font-face",(e=>{const t=e.detail,s=Object.assign({},t);delete s.src,y.set(E.stringify(s),t)})),g("single-file-delete-font",(e=>{const t=e.detail,s=Object.assign({},t);delete s.src,y.delete(E.stringify(s))})),g("single-file-clear-fonts",(()=>y=new Map)));const T="[\\x20\\t\\r\\n\\f]",w=new RegExp("\\\\([\\da-f]{1,6}"+T+"?|("+T+")|.)","ig");const I="data-single-file-removed-content",A="data-single-file-hidden-content",v="data-single-file-kept-content",S="data-single-file-hidden-frame",_="data-single-file-preserved-space-element",R="data-single-file-shadow-root-element",N="data-single-file-image",M="data-single-file-poster",F="data-single-file-video",q="data-single-file-canvas",C="data-single-file-movable-style",x="data-single-file-input-value",P="data-single-file-lazy-loaded-src",k="data-single-file-stylesheet",L="data-single-file-disabled-noscript",D="data-single-file-invalid-element",U="data-single-file-async-script",O="*:not(base):not(link):not(meta):not(noscript):not(script):not(style):not(template):not(title)",V=["NOSCRIPT","DISABLED-NOSCRIPT","META","LINK","STYLE","TITLE","TEMPLATE","SOURCE","OBJECT","SCRIPT","HEAD","BODY"],W=/^'(.*?)'$/,H=/^"(.*?)"$/,z={regular:"400",normal:"400",bold:"700",bolder:"700",lighter:"100"},B="single-file-ui-element",j="data:,",Y=globalThis.JSON;function G(e,t,s,o,n={usedFonts:new Map,canvases:[],images:[],posters:[],videos:[],shadowRoots:[],markedElements:[]},i){return Array.from(s.childNodes).filter((t=>t instanceof e.HTMLElement||t instanceof e.SVGElement)).forEach((s=>{let a,r,l;if(!o.autoSaveExternalSave&&(o.removeHiddenElements||o.removeUnusedFonts||o.compressHTML)&&(l=ee(e,s),s instanceof e.HTMLElement&&o.removeHiddenElements&&(r=(i||s.closest("html > head"))&&V.includes(s.tagName)||s.closest("details"),r||(a=i||K(s,l),a&&(s.setAttribute(A,""),n.markedElements.push(s)))),!a)){if(o.compressHTML&&l){const e=l.getPropertyValue("white-space");e&&e.startsWith("pre")&&(s.setAttribute(_,""),n.markedElements.push(s))}o.removeUnusedFonts&&(Z(l,o,n.usedFonts),Z(ee(e,s,":first-letter"),o,n.usedFonts),Z(ee(e,s,":before"),o,n.usedFonts),Z(ee(e,s,":after"),o,n.usedFonts))}!function(e,t,s,o,n,i,a){if("CANVAS"==s.tagName)try{n.canvases.push({dataURI:s.toDataURL("image/png","")}),s.setAttribute(q,n.canvases.length-1),n.markedElements.push(s)}catch(e){}if("IMG"==s.tagName){const t={currentSrc:i?j:o.loadDeferredImages&&s.getAttribute(P)||s.currentSrc};if(n.images.push(t),s.setAttribute(N,n.images.length-1),n.markedElements.push(s),s.removeAttribute(P),a=a||ee(e,s)){t.size=function(e,t,s){let o=t.naturalWidth,n=t.naturalHeight;if(!o&&!n){const i=null==t.getAttribute("style");if(s=s||ee(e,t)){let e,a,r,l,d,c,m,u,g=!1;if("content-box"==s.getPropertyValue("box-sizing")){const e=t.style.getPropertyValue("box-sizing"),s=t.style.getPropertyPriority("box-sizing"),o=t.clientWidth;t.style.setProperty("box-sizing","border-box","important"),g=t.clientWidth!=o,e?t.style.setProperty("box-sizing",e,s):t.style.removeProperty("box-sizing")}e=Q("padding-left",s),a=Q("padding-right",s),r=Q("padding-top",s),l=Q("padding-bottom",s),g?(d=Q("border-left-width",s),c=Q("border-right-width",s),m=Q("border-top-width",s),u=Q("border-bottom-width",s)):d=c=m=u=0,o=Math.max(0,t.clientWidth-e-a-d-c),n=Math.max(0,t.clientHeight-r-l-m-u),i&&t.removeAttribute("style")}}return{pxWidth:o,pxHeight:n}}(e,s,a);const o=a.getPropertyValue("box-shadow"),n=a.getPropertyValue("background-image");o&&"none"!=o||n&&"none"!=n||!(t.size.pxWidth>1||t.size.pxHeight>1)||(t.replaceable=!0,t.backgroundColor=a.getPropertyValue("background-color"),t.objectFit=a.getPropertyValue("object-fit"),t.boxSizing=a.getPropertyValue("box-sizing"),t.objectPosition=a.getPropertyValue("object-position"))}}if("VIDEO"==s.tagName){const o=s.currentSrc;if(o&&!o.startsWith("blob:")&&!o.startsWith("data:")){const t=ee(e,s.parentNode);n.videos.push({positionParent:t&&t.getPropertyValue("position"),src:o,size:{pxWidth:s.clientWidth,pxHeight:s.clientHeight},currentTime:s.currentTime}),s.setAttribute(F,n.videos.length-1)}if(!s.getAttribute("poster")){const e=t.createElement("canvas"),o=e.getContext("2d");e.width=s.clientWidth,e.height=s.clientHeight;try{o.drawImage(s,0,0,e.width,e.height),n.posters.push(e.toDataURL("image/png","")),s.setAttribute(M,n.posters.length-1),n.markedElements.push(s)}catch(e){}}}"IFRAME"==s.tagName&&i&&o.removeHiddenElements&&(s.setAttribute(S,""),n.markedElements.push(s));"INPUT"==s.tagName&&("password"!=s.type&&(s.setAttribute(x,s.value),n.markedElements.push(s)),"radio"!=s.type&&"checkbox"!=s.type||(s.setAttribute(x,s.checked),n.markedElements.push(s)));"TEXTAREA"==s.tagName&&(s.setAttribute(x,s.value),n.markedElements.push(s));"SELECT"==s.tagName&&s.querySelectorAll("option").forEach((e=>{e.selected&&(e.setAttribute(x,""),n.markedElements.push(e))}));"SCRIPT"==s.tagName&&(s.async&&""!=s.getAttribute("async")&&"async"!=s.getAttribute("async")&&(s.setAttribute(U,""),n.markedElements.push(s)),s.textContent=s.textContent.replace(/<\/script>/gi,"<\\/script>"))}(e,t,s,o,n,a,l);const d=!(s instanceof e.SVGElement)&&J(s);if(d&&!s.classList.contains(B)){const i={};s.setAttribute(R,n.shadowRoots.length),n.markedElements.push(s),n.shadowRoots.push(i),G(e,t,d,o,n,a),i.content=d.innerHTML,i.mode=d.mode;try{d.adoptedStyleSheets&&d.adoptedStyleSheets.length&&(i.adoptedStyleSheets=Array.from(d.adoptedStyleSheets).map((e=>Array.from(e.cssRules).map((e=>e.cssText)).join("\n"))))}catch(e){}}G(e,t,s,o,n,a),!o.autoSaveExternalSave&&o.removeHiddenElements&&i&&(r||""==s.getAttribute(v)?s.parentElement&&(s.parentElement.setAttribute(v,""),n.markedElements.push(s.parentElement)):a&&(s.setAttribute(I,""),n.markedElements.push(s)))})),n}function Z(e,t,s){if(e){const o=e.getPropertyValue("font-style")||"normal";e.getPropertyValue("font-family").split(",").forEach((n=>{if(n=$(n),!t.loadedFonts||t.loadedFonts.find((e=>$(e.family)==n&&e.style==o))){const t=(i=e.getPropertyValue("font-weight"),z[i.toLowerCase().trim()]||i),a=e.getPropertyValue("font-variant")||"normal",r=[n,t,o,a];s.set(Y.stringify(r),[n,t,o,a])}var i}))}}function J(e){const t=globalThis.chrome;if(e.openOrClosedShadowRoot)return e.openOrClosedShadowRoot;if(!(t&&t.dom&&t.dom.openOrClosedShadowRoot))return e.shadowRoot;try{return t.dom.openOrClosedShadowRoot(e)}catch(t){return e.shadowRoot}}function $(e=""){return function(e){e=e.match(W)?e.replace(W,"$1"):e.replace(H,"$1");return e.trim()}((t=e.trim(),t.replace(w,((e,t,s)=>{const o="0x"+t-65536;return o!=o||s?t:o<0?String.fromCharCode(o+65536):String.fromCharCode(o>>10|55296,1023&o|56320)})))).toLowerCase();var t}function K(e,t){let s=!1;if(t){const o=t.getPropertyValue("display"),n=t.getPropertyValue("opacity"),i=t.getPropertyValue("visibility");if(s="none"==o,!s&&("0"==n||"hidden"==i)&&e.getBoundingClientRect){const t=e.getBoundingClientRect();s=!t.width&&!t.height}}return Boolean(s)}function X(e){if(e){const t=[];return e.querySelectorAll("style").forEach(((s,o)=>{try{const n=e.createElement("style");n.textContent=s.textContent,e.body.appendChild(n);const i=n.sheet;n.remove(),i&&i.cssRules.length==s.sheet.cssRules.length||(s.setAttribute(k,o),t[o]=Array.from(s.sheet.cssRules).map((e=>e.cssText)).join("\n"))}catch(e){}})),t}}function Q(e,t){if(t.getPropertyValue(e).endsWith("px"))return parseFloat(t.getPropertyValue(e))}function ee(e,t,s){try{return e.getComputedStyle(t,s)}catch(e){}}const te={LAZY_SRC_ATTRIBUTE_NAME:P,SINGLE_FILE_UI_ELEMENT_CLASS:B},se=10,oe="attributes",ne=globalThis.browser,ie=globalThis.document,ae=globalThis.MutationObserver,re=(e,t,s)=>globalThis.addEventListener(e,t,s),le=(e,t,s)=>globalThis.removeEventListener(e,t,s),de=new Map;let ce;async function me(e){if(ie.documentElement){de.clear();const s=ie.body&&ie.body.scrollHeight||ie.documentElement.scrollHeight,n=ie.body&&ie.body.scrollWidth||ie.documentElement.scrollWidth;if(s>globalThis.innerHeight||n>globalThis.innerWidth){const a=Math.max(s-1.5*globalThis.innerHeight,0),l=Math.max(n-1.5*globalThis.innerWidth,0);if(globalThis.scrollY<a||globalThis.scrollX<l)return function(e){return ce=0,new Promise((async s=>{let n;const a=new Set,l=new ae((async t=>{if((t=t.filter((e=>e.type==oe))).length){t.filter((e=>{if("src"==e.attributeName&&(e.target.setAttribute(te.LAZY_SRC_ATTRIBUTE_NAME,e.target.src),e.target.addEventListener("load",g)),"src"==e.attributeName||"srcset"==e.attributeName||"SOURCE"==e.target.tagName)return!e.target.classList||!e.target.classList.contains(te.SINGLE_FILE_UI_ELEMENT_CLASS)})).length&&(n=!0,await ge(l,e,E),a.size||await ue(l,e,E))}}));async function c(t){await he("idleTimeout",(async()=>{n?ce<se&&(ce++,be("idleTimeout"),await c(Math.max(500,t/2))):(be("loadTimeout"),be("maxTimeout"),fe(l,e,E))}),t,e.loadDeferredImagesNativeTimeout)}function g(e){const t=e.target;t.removeAttribute(te.LAZY_SRC_ATTRIBUTE_NAME),t.removeEventListener("load",g)}async function p(t){n=!0,await ge(l,e,E),await ue(l,e,E),t.detail&&a.add(t.detail)}async function b(t){await ge(l,e,E),await ue(l,e,E),a.delete(t.detail),a.size||await ue(l,e,E)}function E(e){l.disconnect(),le(m,p),le(u,b),s(e)}await c(2*e.loadDeferredImagesMaxIdleTime),await ge(l,e,E),l.observe(ie,{subtree:!0,childList:!0,attributes:!0}),re(m,p),re(u,b),function(e){e.loadDeferredImagesBlockCookies&&f(new h(i)),e.loadDeferredImagesBlockStorage&&f(new h(d)),e.loadDeferredImagesDispatchScrollEvent&&f(new h(r)),e.loadDeferredImagesKeepZoomLevel?f(new h(o)):f(new h(t))}(e)}))}(e)}}}async function ue(e,t,s){await he("loadTimeout",(()=>fe(e,t,s)),t.loadDeferredImagesMaxIdleTime,t.loadDeferredImagesNativeTimeout)}async function ge(e,t,s){await he("maxTimeout",(async()=>{await be("loadTimeout"),await fe(e,t,s)}),10*t.loadDeferredImagesMaxIdleTime,t.loadDeferredImagesNativeTimeout)}async function fe(e,t,o){await be("idleTimeout"),function(e){e.loadDeferredImagesBlockCookies&&f(new h(a)),e.loadDeferredImagesBlockStorage&&f(new h(c)),e.loadDeferredImagesDispatchScrollEvent&&f(new h(l)),e.loadDeferredImagesKeepZoomLevel?f(new h(n)):f(new h(s))}(t),await he("endTimeout",(async()=>{await be("maxTimeout"),o()}),t.loadDeferredImagesMaxIdleTime/2,t.loadDeferredImagesNativeTimeout),e.disconnect()}async function he(e,t,s,o){if(ne&&ne.runtime&&ne.runtime.sendMessage&&!o){if(!de.get(e)||!de.get(e).pending){const o={callback:t,pending:!0};de.set(e,o);try{await ne.runtime.sendMessage({method:"singlefile.lazyTimeout.setTimeout",type:e,delay:s})}catch(o){pe(e,t,s)}o.pending=!1}}else pe(e,t,s)}function pe(e,t,s){const o=de.get(e);o&&globalThis.clearTimeout(o),de.set(e,t),globalThis.setTimeout(t,s)}async function be(e){if(ne&&ne.runtime&&ne.runtime.sendMessage)try{await ne.runtime.sendMessage({method:"singlefile.lazyTimeout.clearTimeout",type:e})}catch(t){Ee(e)}else Ee(e)}function Ee(e){const t=de.get(e);de.delete(e),t&&globalThis.clearTimeout(t)}ne&&ne.runtime&&ne.runtime.onMessage&&ne.runtime.onMessage.addListener&&ne.runtime.onMessage.addListener((e=>{if("singlefile.lazyTimeout.onTimeout"==e.method){const t=de.get(e.type);if(t){de.delete(e.type);try{t.callback()}catch(t){Ee(e.type)}}}}));const ye={ON_BEFORE_CAPTURE_EVENT_NAME:"single-file-on-before-capture",ON_AFTER_CAPTURE_EVENT_NAME:"single-file-on-after-capture",WIN_ID_ATTRIBUTE_NAME:"data-single-file-win-id",preProcessDoc:function(e,t,s){e.querySelectorAll("noscript:not(["+L+"])").forEach((e=>{e.setAttribute(L,e.textContent),e.textContent=""})),function(e){e.querySelectorAll("meta[http-equiv=refresh]").forEach((e=>{e.removeAttribute("http-equiv"),e.setAttribute("disabled-http-equiv","refresh")}))}(e),e.head&&e.head.querySelectorAll(O).forEach((e=>e.hidden=!0)),e.querySelectorAll("svg foreignObject").forEach((e=>{const t=e.querySelectorAll("html > head > "+O+", html > body > "+O);t.length&&(Array.from(e.childNodes).forEach((e=>e.remove())),t.forEach((t=>e.appendChild(t))))}));const o=new Map;let n;return t&&e.documentElement?(e.querySelectorAll("button button, a a").forEach((t=>{const s=e.createElement("template");s.setAttribute(D,""),s.content.appendChild(t.cloneNode(!0)),o.set(t,s),t.replaceWith(s)})),n=G(t,e,e.documentElement,s),s.moveStylesInHead&&e.querySelectorAll("body style, body ~ style").forEach((e=>{const s=ee(t,e);s&&K(e,s)&&(e.setAttribute(C,""),n.markedElements.push(e))}))):n={canvases:[],images:[],posters:[],videos:[],usedFonts:[],shadowRoots:[],markedElements:[]},{canvases:n.canvases,fonts:Array.from(y.values()),stylesheets:X(e),images:n.images,posters:n.posters,videos:n.videos,usedFonts:Array.from(n.usedFonts.values()),shadowRoots:n.shadowRoots,referrer:e.referrer,markedElements:n.markedElements,invalidElements:o}},serialize:function(e){const t=e.doctype;let s="";return t&&(s="<!DOCTYPE "+t.nodeName,t.publicId?(s+=' PUBLIC "'+t.publicId+'"',t.systemId&&(s+=' "'+t.systemId+'"')):t.systemId&&(s+=' SYSTEM "'+t.systemId+'"'),t.internalSubset&&(s+=" ["+t.internalSubset+"]"),s+="> "),s+e.documentElement.outerHTML},postProcessDoc:function(e,t,s){if(e.querySelectorAll("["+L+"]").forEach((e=>{e.textContent=e.getAttribute(L),e.removeAttribute(L)})),e.querySelectorAll("meta[disabled-http-equiv]").forEach((e=>{e.setAttribute("http-equiv",e.getAttribute("disabled-http-equiv")),e.removeAttribute("disabled-http-equiv")})),e.head&&e.head.querySelectorAll("*:not(base):not(link):not(meta):not(noscript):not(script):not(style):not(template):not(title)").forEach((e=>e.removeAttribute("hidden"))),!t){const s=[I,S,A,_,N,M,F,q,x,R,k,U];t=e.querySelectorAll(s.map((e=>"["+e+"]")).join(","))}t.forEach((e=>{e.removeAttribute(I),e.removeAttribute(A),e.removeAttribute(v),e.removeAttribute(S),e.removeAttribute(_),e.removeAttribute(N),e.removeAttribute(M),e.removeAttribute(F),e.removeAttribute(q),e.removeAttribute(x),e.removeAttribute(R),e.removeAttribute(k),e.removeAttribute(U),e.removeAttribute(C)})),s&&Array.from(s.entries()).forEach((([e,t])=>t.replaceWith(e)))},getShadowRoot:J},Te="__frameTree__::",we='iframe, frame, object[type="text/html"][data]',Ie="*",Ae="singlefile.frameTree.initRequest",ve="singlefile.frameTree.ackInitRequest",Se="singlefile.frameTree.cleanupRequest",_e="singlefile.frameTree.initResponse",Re="*",Ne=5e3,Me=1e4,Fe=".",qe=globalThis.window==globalThis.top,Ce=globalThis.browser,xe=globalThis.top,Pe=globalThis.MessageChannel,ke=globalThis.document,Le=globalThis.JSON;let De,Ue=globalThis.sessions;var Oe,Ve,We;function He(){return globalThis.crypto.getRandomValues(new Uint32Array(32)).join("")}async function ze(e){const t=e.sessionId,s=globalThis._singleFile_waitForUserScript;delete globalThis._singleFile_cleaningUp,qe||(De=globalThis.frameId=e.windowId),Ye(ke,e.options,De,t),qe||(e.options.userScriptEnabled&&s&&await s(ye.ON_BEFORE_CAPTURE_EVENT_NAME),$e({frames:[Xe(ke,globalThis,De,e.options)],sessionId:t,requestedFrameId:ke.documentElement.dataset.requestedFrameId&&De}),e.options.userScriptEnabled&&s&&await s(ye.ON_AFTER_CAPTURE_EVENT_NAME),delete ke.documentElement.dataset.requestedFrameId)}function Be(e){if(!globalThis._singleFile_cleaningUp){globalThis._singleFile_cleaningUp=!0;const t=e.sessionId;Je(Qe(ke),e.windowId,t)}}function je(e){e.frames.forEach((t=>Ge("responseTimeouts",e.sessionId,t.windowId)));const t=Ue.get(e.sessionId);if(t){e.requestedFrameId&&(t.requestedFrameId=e.requestedFrameId),e.frames.forEach((e=>{let s=t.frames.find((t=>e.windowId==t.windowId));s||(s={windowId:e.windowId},t.frames.push(s)),s.processed||(s.content=e.content,s.baseURI=e.baseURI,s.title=e.title,s.canvases=e.canvases,s.fonts=e.fonts,s.stylesheets=e.stylesheets,s.images=e.images,s.posters=e.posters,s.videos=e.videos,s.usedFonts=e.usedFonts,s.shadowRoots=e.shadowRoots,s.processed=e.processed)}));t.frames.filter((e=>!e.processed)).length||(t.frames=t.frames.sort(((e,t)=>t.windowId.split(Fe).length-e.windowId.split(Fe).length)),t.resolve&&(t.requestedFrameId&&t.frames.forEach((e=>{e.windowId==t.requestedFrameId&&(e.requestedFrame=!0)})),t.resolve(t.frames)))}}function Ye(e,t,s,o){const n=Qe(e);!function(e,t,s,o,n){const i=[];let a;Ue.get(n)?a=Ue.get(n).requestTimeouts:(a={},Ue.set(n,{requestTimeouts:a}));t.forEach(((e,t)=>{const s=o+Fe+t;e.setAttribute(ye.WIN_ID_ATTRIBUTE_NAME,s),i.push({windowId:s})})),$e({frames:i,sessionId:n,requestedFrameId:e.documentElement.dataset.requestedFrameId&&o}),t.forEach(((e,t)=>{const i=o+Fe+t;try{Ke(e.contentWindow,{method:Ae,windowId:i,sessionId:n,options:s})}catch(e){}a[i]=globalThis.setTimeout((()=>$e({frames:[{windowId:i,processed:!0}],sessionId:n})),Ne)})),delete e.documentElement.dataset.requestedFrameId}(e,n,t,s,o),n.length&&function(e,t,s,o,n){const i=[];t.forEach(((e,t)=>{const a=o+Fe+t;let r;try{r=e.contentDocument}catch(e){}if(r)try{const t=e.contentWindow;t.stop(),Ge("requestTimeouts",n,a),Ye(r,s,a,n),i.push(Xe(r,t,a,s))}catch(e){i.push({windowId:a,processed:!0})}})),$e({frames:i,sessionId:n,requestedFrameId:e.documentElement.dataset.requestedFrameId&&o}),delete e.documentElement.dataset.requestedFrameId}(e,n,t,s,o)}function Ge(e,t,s){const o=Ue.get(t);if(o&&o[e]){const t=o[e][s];t&&(globalThis.clearTimeout(t),delete o[e][s])}}function Ze(e,t){const s=Ue.get(e);s&&s.responseTimeouts&&(s.responseTimeouts[t]=globalThis.setTimeout((()=>$e({frames:[{windowId:t,processed:!0}],sessionId:e})),Me))}function Je(e,t,s){e.forEach(((e,o)=>{const n=t+Fe+o;e.removeAttribute(ye.WIN_ID_ATTRIBUTE_NAME);try{Ke(e.contentWindow,{method:Se,windowId:n,sessionId:s})}catch(e){}})),e.forEach(((e,o)=>{const n=t+Fe+o;let i;try{i=e.contentDocument}catch(e){}if(i)try{Je(Qe(i),n,s)}catch(e){}}))}function $e(e){e.method=_e;try{xe.singlefile.processors.frameTree.initResponse(e)}catch(t){Ke(xe,e,!0)}}function Ke(e,t,s){if(e==xe&&Ce&&Ce.runtime&&Ce.runtime.sendMessage)Ce.runtime.sendMessage(t);else if(s){const s=new Pe;e.postMessage(Te+Le.stringify({method:t.method,sessionId:t.sessionId}),Re,[s.port2]),s.port1.postMessage(t)}else e.postMessage(Te+Le.stringify(t),Re)}function Xe(e,t,s,o){const n=ye.preProcessDoc(e,t,o),i=ye.serialize(e);ye.postProcessDoc(e,n.markedElements,n.invalidElements);return{windowId:s,content:i,baseURI:e.baseURI.split("#")[0],title:e.title,canvases:n.canvases,fonts:n.fonts,stylesheets:n.stylesheets,images:n.images,posters:n.posters,videos:n.videos,usedFonts:n.usedFonts,shadowRoots:n.shadowRoots,processed:!0}}function Qe(e){let t=Array.from(e.querySelectorAll(we));return e.querySelectorAll(Ie).forEach((e=>{const s=ye.getShadowRoot(e);s&&(t=t.concat(...s.querySelectorAll(we)))})),t}Ue||(Ue=globalThis.sessions=new Map),qe&&(De="0",Ce&&Ce.runtime&&Ce.runtime.onMessage&&Ce.runtime.onMessage.addListener&&Ce.runtime.onMessage.addListener((e=>e.method==_e?(je(e),Promise.resolve({})):e.method==ve?(Ge("requestTimeouts",e.sessionId,e.windowId),Ze(e.sessionId,e.windowId),Promise.resolve({})):void 0))),Oe="message",Ve=async e=>{if("string"==typeof e.data&&e.data.startsWith(Te)){e.preventDefault(),e.stopPropagation();const t=Le.parse(e.data.substring(Te.length));t.method==Ae?(e.source&&Ke(e.source,{method:ve,windowId:t.windowId,sessionId:t.sessionId}),qe||(globalThis.stop(),t.options.loadDeferredImages&&me(t.options),await ze(t))):t.method==ve?(Ge("requestTimeouts",t.sessionId,t.windowId),Ze(t.sessionId,t.windowId)):t.method==Se?Be(t):t.method==_e&&Ue.get(t.sessionId)&&(e.ports[0].onmessage=e=>je(e.data))}},We=!0,globalThis.addEventListener(Oe,Ve,We),e.TIMEOUT_INIT_REQUEST_MESSAGE=Ne,e.cleanup=function(e){Ue.delete(e),Be({windowId:De,sessionId:e,options:{sessionId:e}})},e.getAsync=function(e){const t=He();return e=Le.parse(Le.stringify(e)),new Promise((s=>{Ue.set(t,{frames:[],requestTimeouts:{},responseTimeouts:{},resolve:e=>{e.sessionId=t,s(e)}}),ze({windowId:De,sessionId:t,options:e})}))},e.getSync=function(e){const t=He();e=Le.parse(Le.stringify(e)),Ue.set(t,{frames:[],requestTimeouts:{},responseTimeouts:{}}),function(e){const t=e.sessionId,s=globalThis._singleFile_waitForUserScript;delete globalThis._singleFile_cleaningUp,qe||(De=globalThis.frameId=e.windowId);Ye(ke,e.options,De,t),qe||(e.options.userScriptEnabled&&s&&s(ye.ON_BEFORE_CAPTURE_EVENT_NAME),$e({frames:[Xe(ke,globalThis,De,e.options)],sessionId:t,requestedFrameId:ke.documentElement.dataset.requestedFrameId&&De}),e.options.userScriptEnabled&&s&&s(ye.ON_AFTER_CAPTURE_EVENT_NAME),delete ke.documentElement.dataset.requestedFrameId)}({windowId:De,sessionId:t,options:e});const s=Ue.get(t).frames;return s.sessionId=t,s},e.initResponse=je,Object.defineProperty(e,"__esModule",{value:!0})}));
@@ -1 +1 @@
1
- !function(){"use strict";(e=>{const t="single-file-lazy-load",n="single-file-load-image",i="single-file-image-loaded",r="single-file-new-font-face",o={family:"font-family",style:"font-style",weight:"font-weight",stretch:"font-stretch",unicodeRange:"unicode-range",variant:"font-variant",featureSettings:"font-feature-settings"},l=(t,n,i)=>e.addEventListener(t,n,i),s=t=>{try{e.dispatchEvent(t)}catch(e){}},c=e.CustomEvent,d=e.document,a=e.screen,g=e.Element,f=e.UIEvent,_=e.Event,m=e.FileReader,u=e.Blob,h=e.console,y=h&&h.warn&&((...e)=>h.warn(...e))||(()=>{}),p=new Map,F=new Map;let E;function w(r){const o=d.scrollingElement||d.documentElement,l=o.clientHeight,f=o.clientWidth,m=Math.max(o.scrollHeight-l,l),u=Math.max(o.scrollWidth-f,f);if(d.querySelectorAll("[loading=lazy]").forEach((e=>{e.loading="eager",e.setAttribute(t,"")})),o.__defineGetter__("clientHeight",(()=>m)),o.__defineGetter__("clientWidth",(()=>u)),a.__defineGetter__("height",(()=>m)),a.__defineGetter__("width",(()=>u)),e._singleFile_innerHeight=e.innerHeight,e._singleFile_innerWidth=e.innerWidth,e.__defineGetter__("innerHeight",(()=>m)),e.__defineGetter__("innerWidth",(()=>u)),r||e._singleFile_getBoundingClientRect||(e._singleFile_getBoundingClientRect=g.prototype.getBoundingClientRect,g.prototype.getBoundingClientRect=function(){const t=e._singleFile_getBoundingClientRect.call(this);return this==o&&(t.__defineGetter__("height",(()=>m)),t.__defineGetter__("bottom",(()=>m+t.top)),t.__defineGetter__("width",(()=>u)),t.__defineGetter__("right",(()=>u+t.left))),t}),!e._singleFileImage){const t=e.Image;e._singleFileImage=e.Image,e.__defineGetter__("Image",(function(){return function(){const e=new t(...arguments),r=new t(...arguments);return r.__defineSetter__("src",(t=>{e.src=t,s(new c(n,{detail:e.src}))})),r.__defineGetter__("src",(()=>e.src)),r.__defineSetter__("srcset",(t=>{s(new c(n)),e.srcset=t})),r.__defineGetter__("srcset",(()=>e.srcset)),r.__defineGetter__("height",(()=>e.height)),r.__defineGetter__("width",(()=>e.width)),r.__defineGetter__("naturalHeight",(()=>e.naturalHeight)),r.__defineGetter__("naturalWidth",(()=>e.naturalWidth)),e.decode&&r.__defineGetter__("decode",(()=>()=>e.decode())),e.onload=e.onloadend=e.onerror=t=>{s(new c(i,{detail:e.src})),r.dispatchEvent(new _(t.type,t))},r}}))}let h,y;r?(h=l/m,y=f/u):(h=(l+e.scrollY)/m,y=(f+e.scrollX)/u);const E=Math.min(h,y);if(E<1){const e=d.documentElement.style.getPropertyValue("transform"),t=d.documentElement.style.getPropertyPriority("transform"),n=d.documentElement.style.getPropertyValue("transform-origin"),i=d.documentElement.style.getPropertyPriority("transform-origin"),o=d.documentElement.style.getPropertyValue("min-height"),l=d.documentElement.style.getPropertyPriority("min-height");d.documentElement.style.setProperty("transform-origin",(h<1?"50%":"0")+" "+(y<1?"50%":"0")+" 0","important"),d.documentElement.style.setProperty("transform","scale3d("+E+", "+E+", 1)","important"),d.documentElement.style.setProperty("min-height",100/E+"vh","important"),B(),r?(d.documentElement.style.setProperty("-sf-transform",e,t),d.documentElement.style.setProperty("-sf-transform-origin",n,i),d.documentElement.style.setProperty("-sf-min-height",o,l)):(d.documentElement.style.setProperty("transform",e,t),d.documentElement.style.setProperty("transform-origin",n,i),d.documentElement.style.setProperty("min-height",o,l))}if(!r){B();const e=o.getBoundingClientRect();window==window.top&&[...p].forEach((([t,n])=>{const i=n.options&&n.options.root&&n.options.root.getBoundingClientRect,r=i&&n.options.root.getBoundingClientRect(),o=F.get(t);if(o){const l=o.map((t=>{const n=t.getBoundingClientRect();return{target:t,intersectionRatio:1,boundingClientRect:n,intersectionRect:n,isIntersecting:!0,rootBounds:i?r:e,time:0}}));n.callback(l,t)}}))}}function v(n){d.querySelectorAll("["+t+"]").forEach((e=>{e.loading="lazy",e.removeAttribute(t)})),n||e._singleFile_getBoundingClientRect&&(g.prototype.getBoundingClientRect=e._singleFile_getBoundingClientRect,delete e._singleFile_getBoundingClientRect),e._singleFileImage&&(delete e.Image,e.Image=e._singleFileImage,delete e._singleFileImage),n||B()}function P(){const t=d.scrollingElement||d.documentElement;null!=e._singleFile_innerHeight&&(delete e.innerHeight,e.innerHeight=e._singleFile_innerHeight,delete e._singleFile_innerHeight),null!=e._singleFile_innerWidth&&(delete e.innerWidth,e.innerWidth=e._singleFile_innerWidth,delete e._singleFile_innerWidth),delete t.clientHeight,delete t.clientWidth,delete a.height,delete a.width}if(l("single-file-load-deferred-images-start",(()=>w())),l("single-file-load-deferred-images-keep-zoom-level-start",(()=>w(!0))),l("single-file-load-deferred-images-end",(()=>v())),l("single-file-load-deferred-images-keep-zoom-level-end",(()=>v(!0))),l("single-file-load-deferred-images-reset",P),l("single-file-load-deferred-images-keep-zoom-level-reset",(()=>{const e=d.documentElement.style.getPropertyValue("-sf-transform"),t=d.documentElement.style.getPropertyPriority("-sf-transform"),n=d.documentElement.style.getPropertyValue("-sf-transform-origin"),i=d.documentElement.style.getPropertyPriority("-sf-transform-origin"),r=d.documentElement.style.getPropertyValue("-sf-min-height"),o=d.documentElement.style.getPropertyPriority("-sf-min-height");d.documentElement.style.setProperty("transform",e,t),d.documentElement.style.setProperty("transform-origin",n,i),d.documentElement.style.setProperty("min-height",r,o),d.documentElement.style.removeProperty("-sf-transform"),d.documentElement.style.removeProperty("-sf-transform-origin"),d.documentElement.style.removeProperty("-sf-min-height"),P()})),l("single-file-dispatch-scroll-event-start",(()=>{E=!0})),l("single-file-dispatch-scroll-event-end",(()=>{E=!1})),l("single-file-block-cookies-start",(()=>{try{d.__defineGetter__("cookie",(()=>{throw new Error("document.cookie temporary blocked by SingleFile")}))}catch(e){}})),l("single-file-block-cookies-end",(()=>{delete d.cookie})),l("single-file-block-storage-start",(()=>{e._singleFile_localStorage||(e._singleFile_localStorage=e.localStorage,e.__defineGetter__("localStorage",(()=>{throw new Error("localStorage temporary blocked by SingleFile")}))),e._singleFile_indexedDB||(e._singleFile_indexedDB=e.indexedDB,e.__defineGetter__("indexedDB",(()=>{throw new Error("indexedDB temporary blocked by SingleFile")})))})),l("single-file-block-storage-end",(()=>{e._singleFile_localStorage&&(delete e.localStorage,e.localStorage=e._singleFile_localStorage,delete e._singleFile_localStorage),e._singleFile_indexedDB||(delete e.indexedDB,e.indexedDB=e._singleFile_indexedDB,delete e._singleFile_indexedDB)})),l("single-file-request-fetch",(async t=>{s(new c("single-file-ack-fetch"));const{url:n,options:i}=JSON.parse(t.detail);let r;try{const t=await((t,n)=>e.fetch(t,n))(n,i);r={url:n,response:await t.arrayBuffer(),headers:[...t.headers],status:t.status}}catch(e){r={url:n,error:e&&e.toString()}}s(new c("single-file-response-fetch",{detail:r}))})),e.FontFace){const t=e.FontFace;let n;e.FontFace=function(){return n||(y("SingleFile is hooking the FontFace constructor, document.fonts.delete and document.fonts.clear to handle dynamically loaded fonts."),n=!0),b(...arguments).then((e=>s(new c(r,{detail:e})))),new t(...arguments)},e.FontFace.toString=function(){return"function FontFace() { [native code] }"};const i=d.fonts.delete;d.fonts.delete=function(e){return b(e.family).then((e=>s(new c("single-file-delete-font",{detail:e})))),i.call(d.fonts,e)},d.fonts.delete.toString=function(){return"function delete() { [native code] }"};const o=d.fonts.clear;d.fonts.clear=function(){return s(new c("single-file-clear-fonts")),o.call(d.fonts)},d.fonts.clear.toString=function(){return"function clear() { [native code] }"}}if(e.IntersectionObserver){const t=e.IntersectionObserver;let n;e.IntersectionObserver=function(){n||(y("SingleFile is hooking the IntersectionObserver API to detect and load deferred images."),n=!0);const e=new t(...arguments),i=t.prototype.observe||e.observe,r=t.prototype.unobserve||e.unobserve,o=arguments[0],l=arguments[1];return i&&(e.observe=function(t){let n=F.get(e);return n||(n=[],F.set(e,n)),n.push(t),i.call(e,t)}),r&&(e.unobserve=function(t){let n=F.get(e);return n&&(n=n.filter((e=>e!=t)),n.length?F.set(e,n):(F.delete(e),p.delete(e))),r.call(e,t)}),p.set(e,{callback:o,options:l}),e},e.IntersectionObserver.prototype=t.prototype,e.IntersectionObserver.toString=function(){return"function IntersectionObserver() { [native code] }"}}async function b(e,t,n){const i={};return i["font-family"]=e,i.src=t,n&&Object.keys(n).forEach((e=>{o[e]&&(i[o[e]]=n[e])})),new Promise((e=>{if(i.src instanceof ArrayBuffer){const t=new m;t.readAsDataURL(new u([i.src])),t.addEventListener("load",(()=>{i.src="url("+t.result+")",e(i)}))}else e(i)}))}function B(){try{s(new f("resize")),E&&s(new f("scroll"))}catch(e){}}})("object"==typeof globalThis?globalThis:window)}();
1
+ !function(){"use strict";(e=>{const t="single-file-lazy-load",n="single-file-load-image",i="single-file-image-loaded",r="single-file-new-font-face",o={family:"font-family",style:"font-style",weight:"font-weight",stretch:"font-stretch",unicodeRange:"unicode-range",variant:"font-variant",featureSettings:"font-feature-settings"},l=(t,n,i)=>e.addEventListener(t,n,i),s=t=>{try{e.dispatchEvent(t)}catch(e){}},c=e.CustomEvent,d=e.document,a=e.screen,g=e.Element,f=e.UIEvent,_=e.Event,m=e.FileReader,u=e.Blob,h=e.console,y=e.JSON,p=h&&h.warn&&((...e)=>h.warn(...e))||(()=>{}),F=new Map,E=new Map;let w;function v(r){const o=d.scrollingElement||d.documentElement,l=o.clientHeight,f=o.clientWidth,m=Math.max(o.scrollHeight-l,l),u=Math.max(o.scrollWidth-f,f);if(d.querySelectorAll("[loading=lazy]").forEach((e=>{e.loading="eager",e.setAttribute(t,"")})),o.__defineGetter__("clientHeight",(()=>m)),o.__defineGetter__("clientWidth",(()=>u)),a.__defineGetter__("height",(()=>m)),a.__defineGetter__("width",(()=>u)),e._singleFile_innerHeight=e.innerHeight,e._singleFile_innerWidth=e.innerWidth,e.__defineGetter__("innerHeight",(()=>m)),e.__defineGetter__("innerWidth",(()=>u)),r||e._singleFile_getBoundingClientRect||(e._singleFile_getBoundingClientRect=g.prototype.getBoundingClientRect,g.prototype.getBoundingClientRect=function(){const t=e._singleFile_getBoundingClientRect.call(this);return this==o&&(t.__defineGetter__("height",(()=>m)),t.__defineGetter__("bottom",(()=>m+t.top)),t.__defineGetter__("width",(()=>u)),t.__defineGetter__("right",(()=>u+t.left))),t}),!e._singleFileImage){const t=e.Image;e._singleFileImage=e.Image,e.__defineGetter__("Image",(function(){return function(){const e=new t(...arguments),r=new t(...arguments);return r.__defineSetter__("src",(t=>{e.src=t,s(new c(n,{detail:e.src}))})),r.__defineGetter__("src",(()=>e.src)),r.__defineSetter__("srcset",(t=>{s(new c(n)),e.srcset=t})),r.__defineGetter__("srcset",(()=>e.srcset)),r.__defineGetter__("height",(()=>e.height)),r.__defineGetter__("width",(()=>e.width)),r.__defineGetter__("naturalHeight",(()=>e.naturalHeight)),r.__defineGetter__("naturalWidth",(()=>e.naturalWidth)),e.decode&&r.__defineGetter__("decode",(()=>()=>e.decode())),e.onload=e.onloadend=e.onerror=t=>{s(new c(i,{detail:e.src})),r.dispatchEvent(new _(t.type,t))},r}}))}let h,y;r?(h=l/m,y=f/u):(h=(l+e.scrollY)/m,y=(f+e.scrollX)/u);const p=Math.min(h,y);if(p<1){const e=d.documentElement.style.getPropertyValue("transform"),t=d.documentElement.style.getPropertyPriority("transform"),n=d.documentElement.style.getPropertyValue("transform-origin"),i=d.documentElement.style.getPropertyPriority("transform-origin"),o=d.documentElement.style.getPropertyValue("min-height"),l=d.documentElement.style.getPropertyPriority("min-height");d.documentElement.style.setProperty("transform-origin",(h<1?"50%":"0")+" "+(y<1?"50%":"0")+" 0","important"),d.documentElement.style.setProperty("transform","scale3d("+p+", "+p+", 1)","important"),d.documentElement.style.setProperty("min-height",100/p+"vh","important"),S(),r?(d.documentElement.style.setProperty("-sf-transform",e,t),d.documentElement.style.setProperty("-sf-transform-origin",n,i),d.documentElement.style.setProperty("-sf-min-height",o,l)):(d.documentElement.style.setProperty("transform",e,t),d.documentElement.style.setProperty("transform-origin",n,i),d.documentElement.style.setProperty("min-height",o,l))}if(!r){S();const e=o.getBoundingClientRect();window==window.top&&[...F].forEach((([t,n])=>{const i=n.options&&n.options.root&&n.options.root.getBoundingClientRect,r=i&&n.options.root.getBoundingClientRect(),o=E.get(t);if(o){const l=o.map((t=>{const n=t.getBoundingClientRect();return{target:t,intersectionRatio:1,boundingClientRect:n,intersectionRect:n,isIntersecting:!0,rootBounds:i?r:e,time:0}}));n.callback(l,t)}}))}}function P(n){d.querySelectorAll("["+t+"]").forEach((e=>{e.loading="lazy",e.removeAttribute(t)})),n||e._singleFile_getBoundingClientRect&&(g.prototype.getBoundingClientRect=e._singleFile_getBoundingClientRect,delete e._singleFile_getBoundingClientRect),e._singleFileImage&&(delete e.Image,e.Image=e._singleFileImage,delete e._singleFileImage),n||S()}function b(){const t=d.scrollingElement||d.documentElement;null!=e._singleFile_innerHeight&&(delete e.innerHeight,e.innerHeight=e._singleFile_innerHeight,delete e._singleFile_innerHeight),null!=e._singleFile_innerWidth&&(delete e.innerWidth,e.innerWidth=e._singleFile_innerWidth,delete e._singleFile_innerWidth),delete t.clientHeight,delete t.clientWidth,delete a.height,delete a.width}if(l("single-file-load-deferred-images-start",(()=>v())),l("single-file-load-deferred-images-keep-zoom-level-start",(()=>v(!0))),l("single-file-load-deferred-images-end",(()=>P())),l("single-file-load-deferred-images-keep-zoom-level-end",(()=>P(!0))),l("single-file-load-deferred-images-reset",b),l("single-file-load-deferred-images-keep-zoom-level-reset",(()=>{const e=d.documentElement.style.getPropertyValue("-sf-transform"),t=d.documentElement.style.getPropertyPriority("-sf-transform"),n=d.documentElement.style.getPropertyValue("-sf-transform-origin"),i=d.documentElement.style.getPropertyPriority("-sf-transform-origin"),r=d.documentElement.style.getPropertyValue("-sf-min-height"),o=d.documentElement.style.getPropertyPriority("-sf-min-height");d.documentElement.style.setProperty("transform",e,t),d.documentElement.style.setProperty("transform-origin",n,i),d.documentElement.style.setProperty("min-height",r,o),d.documentElement.style.removeProperty("-sf-transform"),d.documentElement.style.removeProperty("-sf-transform-origin"),d.documentElement.style.removeProperty("-sf-min-height"),b()})),l("single-file-dispatch-scroll-event-start",(()=>{w=!0})),l("single-file-dispatch-scroll-event-end",(()=>{w=!1})),l("single-file-block-cookies-start",(()=>{try{d.__defineGetter__("cookie",(()=>{throw new Error("document.cookie temporary blocked by SingleFile")}))}catch(e){}})),l("single-file-block-cookies-end",(()=>{delete d.cookie})),l("single-file-block-storage-start",(()=>{e._singleFile_localStorage||(e._singleFile_localStorage=e.localStorage,e.__defineGetter__("localStorage",(()=>{throw new Error("localStorage temporary blocked by SingleFile")}))),e._singleFile_indexedDB||(e._singleFile_indexedDB=e.indexedDB,e.__defineGetter__("indexedDB",(()=>{throw new Error("indexedDB temporary blocked by SingleFile")})))})),l("single-file-block-storage-end",(()=>{e._singleFile_localStorage&&(delete e.localStorage,e.localStorage=e._singleFile_localStorage,delete e._singleFile_localStorage),e._singleFile_indexedDB||(delete e.indexedDB,e.indexedDB=e._singleFile_indexedDB,delete e._singleFile_indexedDB)})),l("single-file-request-fetch",(async t=>{s(new c("single-file-ack-fetch"));const{url:n,options:i}=y.parse(t.detail);let r;try{const t=await((t,n)=>e.fetch(t,n))(n,i);r={url:n,response:await t.arrayBuffer(),headers:[...t.headers],status:t.status}}catch(e){r={url:n,error:e&&e.toString()}}s(new c("single-file-response-fetch",{detail:r}))})),e.FontFace){const t=e.FontFace;let n;e.FontFace=function(){return n||(p("SingleFile is hooking the FontFace constructor, document.fonts.delete and document.fonts.clear to handle dynamically loaded fonts."),n=!0),B(...arguments).then((e=>s(new c(r,{detail:e})))),new t(...arguments)},e.FontFace.toString=function(){return"function FontFace() { [native code] }"};const i=d.fonts.delete;d.fonts.delete=function(e){return B(e.family).then((e=>s(new c("single-file-delete-font",{detail:e})))),i.call(d.fonts,e)},d.fonts.delete.toString=function(){return"function delete() { [native code] }"};const o=d.fonts.clear;d.fonts.clear=function(){return s(new c("single-file-clear-fonts")),o.call(d.fonts)},d.fonts.clear.toString=function(){return"function clear() { [native code] }"}}if(e.IntersectionObserver){const t=e.IntersectionObserver;let n;e.IntersectionObserver=function(){n||(p("SingleFile is hooking the IntersectionObserver API to detect and load deferred images."),n=!0);const e=new t(...arguments),i=t.prototype.observe||e.observe,r=t.prototype.unobserve||e.unobserve,o=arguments[0],l=arguments[1];return i&&(e.observe=function(t){let n=E.get(e);return n||(n=[],E.set(e,n)),n.push(t),i.call(e,t)}),r&&(e.unobserve=function(t){let n=E.get(e);return n&&(n=n.filter((e=>e!=t)),n.length?E.set(e,n):(E.delete(e),F.delete(e))),r.call(e,t)}),F.set(e,{callback:o,options:l}),e},e.IntersectionObserver.prototype=t.prototype,e.IntersectionObserver.toString=function(){return"function IntersectionObserver() { [native code] }"}}async function B(e,t,n){const i={};return i["font-family"]=e,i.src=t,n&&Object.keys(n).forEach((e=>{o[e]&&(i[o[e]]=n[e])})),new Promise((e=>{if(i.src instanceof ArrayBuffer){const t=new m;t.readAsDataURL(new u([i.src])),t.addEventListener("load",(()=>{i.src="url("+t.result+")",e(i)}))}else e(i)}))}function S(){try{s(new f("resize")),w&&s(new f("scroll"))}catch(e){}}})("object"==typeof globalThis?globalThis:window)}();