vue-book-reader 1.0.6 → 1.0.7
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.
package/README.md
CHANGED
|
@@ -24,11 +24,12 @@ import { VueReader } from 'vue-book-reader'
|
|
|
24
24
|
|
|
25
25
|
## VueReader Attributes
|
|
26
26
|
|
|
27
|
-
| **Name** | **Description**
|
|
28
|
-
| -------- |
|
|
29
|
-
| url | book url or File
|
|
30
|
-
|
|
|
31
|
-
|
|
|
27
|
+
| **Name** | **Description** | **Type** | **Default** |
|
|
28
|
+
| -------- | --------------------------------- | ---------------------- | ----------- |
|
|
29
|
+
| url | book url or File | `string`/`File` | — |
|
|
30
|
+
| location | set / update location of the book | `string`/`number` | — |
|
|
31
|
+
| title | the title of the book | `string` | — |
|
|
32
|
+
| showToc | whether to show the toc | `boolean` | true |
|
|
32
33
|
|
|
33
34
|
## VueReader Slots
|
|
34
35
|
|
|
@@ -17,7 +17,7 @@ var Rt = (r, t, e, s) => ({
|
|
|
17
17
|
return o(r, t, s);
|
|
18
18
|
}
|
|
19
19
|
}), w = (r, t, e) => ($t(r, t, "access private method"), e);
|
|
20
|
-
import { f as Xt, p as qt, t as Ut, a as _t } from "./index-
|
|
20
|
+
import { f as Xt, p as qt, t as Ut, a as _t } from "./index-fOslJeBT.js";
|
|
21
21
|
const S = {
|
|
22
22
|
CONTAINER: "urn:oasis:names:tc:opendocument:xmlns:container",
|
|
23
23
|
XHTML: "http://www.w3.org/1999/xhtml",
|
|
@@ -45468,7 +45468,7 @@ const isZip = async (Re) => {
|
|
|
45468
45468
|
}, isCBZ = ({ name: Re, type: ge }) => ge === "application/vnd.comicbook+zip" || Re.endsWith(".cbz"), isFB2 = ({ name: Re, type: ge }) => ge === "application/x-fictionbook+xml" || Re.endsWith(".fb2"), isFBZ = ({ name: Re, type: ge }) => ge === "application/x-zip-compressed-fb2" || Re.endsWith(".fb2.zip") || Re.endsWith(".fbz"), getView = async (Re, ge) => {
|
|
45469
45469
|
let xe;
|
|
45470
45470
|
if (Re.isDirectory) {
|
|
45471
|
-
const fe = await makeDirectoryLoader(Re), { EPUB: w } = await import("./epub-
|
|
45471
|
+
const fe = await makeDirectoryLoader(Re), { EPUB: w } = await import("./epub-DfpHwryo.js");
|
|
45472
45472
|
xe = await new w(fe).init();
|
|
45473
45473
|
} else if (Re.size)
|
|
45474
45474
|
if (await isZip(Re)) {
|
|
@@ -45480,7 +45480,7 @@ const isZip = async (Re) => {
|
|
|
45480
45480
|
const { makeFB2: w } = await import("./fb2-DHUjllK8.js"), { entries: V } = fe, n = V.find((C) => C.filename.endsWith(".fb2")), F = await fe.loadBlob((n ?? V[0]).filename);
|
|
45481
45481
|
xe = await w(F);
|
|
45482
45482
|
} else {
|
|
45483
|
-
const { EPUB: w } = await import("./epub-
|
|
45483
|
+
const { EPUB: w } = await import("./epub-DfpHwryo.js");
|
|
45484
45484
|
xe = await new w(fe).init();
|
|
45485
45485
|
}
|
|
45486
45486
|
} else if (await isPDF(Re)) {
|
|
@@ -45561,6 +45561,9 @@ const _export_sfc = (Re, ge) => {
|
|
|
45561
45561
|
url: {
|
|
45562
45562
|
type: [String, File]
|
|
45563
45563
|
},
|
|
45564
|
+
location: {
|
|
45565
|
+
type: [String, Number]
|
|
45566
|
+
},
|
|
45564
45567
|
tocChanged: Function,
|
|
45565
45568
|
getRendition: Function
|
|
45566
45569
|
},
|
|
@@ -45624,7 +45627,7 @@ const _export_sfc = (Re, ge) => {
|
|
|
45624
45627
|
justify: !0,
|
|
45625
45628
|
hyphenate: !0
|
|
45626
45629
|
})
|
|
45627
|
-
), v(), w(C), fe && fe(A.toc), C.renderer.next();
|
|
45630
|
+
), v(), w(C), fe && fe(A.toc), n.value ? C == null || C.goTo(n.value) : C.renderer.next();
|
|
45628
45631
|
}, O = (A) => {
|
|
45629
45632
|
A === "next" ? i() : A === "prev" && P();
|
|
45630
45633
|
}, v = () => {
|
|
@@ -45657,7 +45660,7 @@ const _export_sfc = (Re, ge) => {
|
|
|
45657
45660
|
])
|
|
45658
45661
|
]));
|
|
45659
45662
|
}
|
|
45660
|
-
}, BookView = /* @__PURE__ */ _export_sfc(_sfc_main$1, [["__scopeId", "data-v-
|
|
45663
|
+
}, BookView = /* @__PURE__ */ _export_sfc(_sfc_main$1, [["__scopeId", "data-v-27a30866"]]), _hoisted_1 = { class: "container" }, _hoisted_2 = /* @__PURE__ */ createElementVNode("span", {
|
|
45661
45664
|
class: "tocButtonBar",
|
|
45662
45665
|
style: { top: "35%" }
|
|
45663
45666
|
}, null, -1), _hoisted_3 = /* @__PURE__ */ createElementVNode("span", {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
(function(){"use strict";try{if(typeof document<"u"){var o=document.createElement("style");o.appendChild(document.createTextNode('.reader[data-v-
|
|
2
|
-
import { B as o, _ as r, _ as s } from "./index-
|
|
1
|
+
(function(){"use strict";try{if(typeof document<"u"){var o=document.createElement("style");o.appendChild(document.createTextNode('.reader[data-v-27a30866]{position:absolute;top:50px;right:50px;bottom:20px;left:50px}.viewHolder[data-v-27a30866]{height:100%;width:100%;position:relative}#viewer[data-v-27a30866]{height:100%}.container{overflow:hidden;position:relative;height:100%}.containerExpanded{transform:translate(256px)}.readerArea{position:relative;z-index:1;height:100%;width:100%;transition:all .3s ease}.container .titleArea{position:absolute;top:20px;left:50px;right:50px;text-align:center;color:#999;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tocBackground{position:absolute;left:256px;top:0;bottom:0;right:0;z-index:1}.tocArea{position:absolute;left:0;top:0;bottom:0;z-index:0;width:256px;overflow-y:auto;-webkit-overflow-scrolling:touch;background:#f2f2f2;padding:10px 0}.tocArea::-webkit-scrollbar{width:5px;height:5px}.tocArea::-webkit-scrollbar-thumb:vertical{height:5px;background-color:#0000001a;border-radius:.5rem}.tocArea .tocAreaButton{-webkit-user-select:none;user-select:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:none;display:block;font-family:sans-serif;width:100%;font-size:.9em;text-align:left;padding:.9em 1em;border-bottom:1px solid #ddd;color:#aaa;box-sizing:border-box;outline:none;cursor:pointer;position:relative}.tocArea .tocAreaButton:hover{background:#0000000d}.tocArea .tocAreaButton:active{background:#0000001a}.tocArea .active{color:#1565c0;border-bottom:2px solid #1565c0}.tocArea .tocAreaButton .expansion{cursor:pointer;transform:translateY(-50%);top:50%;right:12px;position:absolute;width:10px;background-color:#a2a5b4;transition:transform .3s ease-in-out,top .3s ease-in-out}.tocArea .tocAreaButton .expansion:after,.tocArea .tocAreaButton .expansion:before{content:"";position:absolute;width:6px;height:2px;background-color:currentcolor;border-radius:2px;transition:transform .3s ease-in-out,top .3s ease-in-out}.tocArea .tocAreaButton .expansion:before{transform:rotate(-45deg) translate(2.5px)}.tocArea .tocAreaButton .expansion:after{transform:rotate(45deg) translate(-2.5px)}.tocArea .tocAreaButton .open:before{transform:rotate(45deg) translate(2.5px)}.tocArea .tocAreaButton .open:after{transform:rotate(-45deg) translate(-2.5px)}.tocButton{background:none;border:none;width:32px;height:32px;position:absolute;top:10px;left:10px;border-radius:2px;outline:none;cursor:pointer}.tocButtonBar{position:absolute;width:60%;background:#ccc;height:2px;left:50%;margin:-1px -30%;top:50%;transition:all .5s ease}.tocButtonExpanded{background:#f2f2f2}.arrow{outline:none;border:none;background:none;position:absolute;top:50%;margin-top:-32px;font-size:64px;padding:0 10px;color:#e2e2e2;font-family:arial,sans-serif;cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;font-weight:400}.arrow:hover{color:#777}.arrow:disabled{cursor:not-allowed;color:#e2e2e2}.prev{left:1px}.next{right:1px}.loadingView{position:absolute;top:50%;left:10%;right:10%;color:#ccc;text-align:center;margin-top:-.5em}')),document.head.appendChild(o)}}catch(e){console.error("vite-plugin-css-injected-by-js",e)}})();
|
|
2
|
+
import { B as o, _ as r, _ as s } from "./index-fOslJeBT.js";
|
|
3
3
|
export {
|
|
4
4
|
o as BookView,
|
|
5
5
|
r as VueReader,
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
(function(){"use strict";try{if(typeof document<"u"){var o=document.createElement("style");o.appendChild(document.createTextNode('.reader[data-v-
|
|
1
|
+
(function(){"use strict";try{if(typeof document<"u"){var o=document.createElement("style");o.appendChild(document.createTextNode('.reader[data-v-27a30866]{position:absolute;top:50px;right:50px;bottom:20px;left:50px}.viewHolder[data-v-27a30866]{height:100%;width:100%;position:relative}#viewer[data-v-27a30866]{height:100%}.container{overflow:hidden;position:relative;height:100%}.containerExpanded{transform:translate(256px)}.readerArea{position:relative;z-index:1;height:100%;width:100%;transition:all .3s ease}.container .titleArea{position:absolute;top:20px;left:50px;right:50px;text-align:center;color:#999;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tocBackground{position:absolute;left:256px;top:0;bottom:0;right:0;z-index:1}.tocArea{position:absolute;left:0;top:0;bottom:0;z-index:0;width:256px;overflow-y:auto;-webkit-overflow-scrolling:touch;background:#f2f2f2;padding:10px 0}.tocArea::-webkit-scrollbar{width:5px;height:5px}.tocArea::-webkit-scrollbar-thumb:vertical{height:5px;background-color:#0000001a;border-radius:.5rem}.tocArea .tocAreaButton{-webkit-user-select:none;user-select:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;border:none;display:block;font-family:sans-serif;width:100%;font-size:.9em;text-align:left;padding:.9em 1em;border-bottom:1px solid #ddd;color:#aaa;box-sizing:border-box;outline:none;cursor:pointer;position:relative}.tocArea .tocAreaButton:hover{background:#0000000d}.tocArea .tocAreaButton:active{background:#0000001a}.tocArea .active{color:#1565c0;border-bottom:2px solid #1565c0}.tocArea .tocAreaButton .expansion{cursor:pointer;transform:translateY(-50%);top:50%;right:12px;position:absolute;width:10px;background-color:#a2a5b4;transition:transform .3s ease-in-out,top .3s ease-in-out}.tocArea .tocAreaButton .expansion:after,.tocArea .tocAreaButton .expansion:before{content:"";position:absolute;width:6px;height:2px;background-color:currentcolor;border-radius:2px;transition:transform .3s ease-in-out,top .3s ease-in-out}.tocArea .tocAreaButton .expansion:before{transform:rotate(-45deg) translate(2.5px)}.tocArea .tocAreaButton .expansion:after{transform:rotate(45deg) translate(-2.5px)}.tocArea .tocAreaButton .open:before{transform:rotate(45deg) translate(2.5px)}.tocArea .tocAreaButton .open:after{transform:rotate(-45deg) translate(-2.5px)}.tocButton{background:none;border:none;width:32px;height:32px;position:absolute;top:10px;left:10px;border-radius:2px;outline:none;cursor:pointer}.tocButtonBar{position:absolute;width:60%;background:#ccc;height:2px;left:50%;margin:-1px -30%;top:50%;transition:all .5s ease}.tocButtonExpanded{background:#f2f2f2}.arrow{outline:none;border:none;background:none;position:absolute;top:50%;margin-top:-32px;font-size:64px;padding:0 10px;color:#e2e2e2;font-family:arial,sans-serif;cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;font-weight:400}.arrow:hover{color:#777}.arrow:disabled{cursor:not-allowed;color:#e2e2e2}.prev{left:1px}.next{right:1px}.loadingView{position:absolute;top:50%;left:10%;right:10%;color:#ccc;text-align:center;margin-top:-.5em}')),document.head.appendChild(o)}}catch(e){console.error("vite-plugin-css-injected-by-js",e)}})();
|
|
2
2
|
(function(da,xa){typeof exports=="object"&&typeof module<"u"?xa(exports,require("vue")):typeof define=="function"&&define.amd?define(["exports","vue"],xa):(da=typeof globalThis<"u"?globalThis:da||self,xa(da["vue-book-reader"]={},da.Vue))})(this,function(exports,vue){"use strict";var su=Object.defineProperty;var au=(da,xa,pa)=>xa in da?su(da,xa,{enumerable:!0,configurable:!0,writable:!0,value:pa}):da[xa]=pa;var ta=(da,xa,pa)=>(au(da,typeof xa!="symbol"?xa+"":xa,pa),pa),Gc=(da,xa,pa)=>{if(!xa.has(da))throw TypeError("Cannot "+pa)};var vi=(da,xa,pa)=>(Gc(da,xa,"read from private field"),pa?pa.call(da):xa.get(da)),Ki=(da,xa,pa)=>{if(xa.has(da))throw TypeError("Cannot add the same private member more than once");xa instanceof WeakSet?xa.add(da):xa.set(da,pa)},ds=(da,xa,pa,_a)=>(Gc(da,xa,"write to private field"),_a?_a.call(da,pa):xa.set(da,pa),pa);var wr=(da,xa,pa,_a)=>({set _(Ra){ds(da,xa,Ra,pa)},get _(){return vi(da,xa,_a)}}),Qi=(da,xa,pa)=>(Gc(da,xa,"access private method"),pa);var da,Hh,pa,_a,Ra,La,B0,rr,Wa,kr,or,Ga,Ar,$0,Xh,U0,zh,j0,Wh,ao,kc,H0,Gh,X0,qh,z0,Vh,Kl,$r,zo,cr,Cr,ro,qa,Va,Ka,Tr,oo,Cc,Ur,L0,Wo,Dl,Go,Nl,qo,Bl,co,Tc,Vo,Na,ka,Ko,Ta,Ma,Yo,lo,er,ho,lr,Jo,hr,jr,Ba,Er,Hr,ma,ja,Ya,ur,tr,dr,uo,Xr,Zo,Qo,e0,fo,Fr,zr,go,W0,Kh,t0,$l,n0,Ul,i0,jl,s0,Hl,Wr,D0,G0,Yh,Ir,Uo,Or,jo,q0,Jh,V0,Zh,Gr,N0,a0,Xl,r0,zl,po,Ec,K0,Qh,Y0,eu,fr,no,o0,Wl,Ca,mo,$a,Ja,gr,xo,nr,c0,bo,Fc,_r,Ho,Mr,l0,qr,Ha,Da,Oa,h0,u0,J0,tu,yo,Ic,Pr,Xo,pr,io,d0,Gl,wo,Oc,mr,so,f0,So,g0,xr,br,ir,Vr,Ao,Za,vr,vo,ko,Co,p0,m0,x0,To,b0,y0,ql,Z0,nu,Kr,Eo,Yr,Rr,w0,S0,sr,Fo,Jr,Zr,Qr,Lr,Dr,yr,Q0,ec,Nr,A0,v0,Vl;(function($n,Pn){typeof exports=="object"&&typeof module=="object"?module.exports=$n.pdfjsWorker=Pn():typeof define=="function"&&define.amd?define("pdfjs-dist/build/pdf.worker",[],()=>$n.pdfjsWorker=Pn()):typeof exports=="object"?exports["pdfjs-dist/build/pdf.worker"]=$n.pdfjsWorker=Pn():$n["pdfjs-dist/build/pdf.worker"]=$n.pdfjsWorker=Pn()})(globalThis,()=>(()=>{var ki=[,(oi,Mn,ti)=>{Object.defineProperty(Mn,"__esModule",{value:!0}),Mn.WorkerTask=Mn.WorkerMessageHandler=void 0;var In=ti(2),Ln=ti(3),jn=ti(4),Cn=ti(6),Tn=ti(10),Rn=ti(68),ui=ti(73),si=ti(104),ei=ti(105),Bn=ti(72);class Nn{constructor(Xn){this.name=Xn,this.terminated=!1,this._capability=new In.PromiseCapability}get finished(){return this._capability.promise}finish(){this._capability.resolve()}terminate(){this.terminated=!0}ensureNotTerminated(){if(this.terminated)throw new Error("Worker task was terminated")}}Mn.WorkerTask=Nn;class Hn{static setup(Xn,ii){let ri=!1;Xn.on("test",function(di){ri||(ri=!0,Xn.send("test",di instanceof Uint8Array))}),Xn.on("configure",function(di){(0,In.setVerbosityLevel)(di.verbosity)}),Xn.on("GetDocRequest",function(di){return Hn.createDocumentHandler(di,ii)})}static createDocumentHandler(Xn,ii){let ri,di=!1,fi=null;const wi=new Set,Jn=(0,In.getVerbosityLevel)(),{docId:pi,apiVersion:Zn}=Xn,Gn="3.11.174";if(Zn!==Gn)throw new Error(`The API version "${Zn}" does not match the Worker version "${Gn}".`);const mi=[];for(const Qn in[])mi.push(Qn);if(mi.length)throw new Error("The `Array.prototype` contains unexpected enumerable properties: "+mi.join(", ")+"; thus breaking e.g. `for...in` iteration of `Array`s.");const Wn=pi+"_worker";let ni=new si.MessageHandler(Wn,pi,ii);function li(){if(di)throw new Error("Worker was terminated")}function Ai(Qn){wi.add(Qn)}function gi(Qn){Qn.finish(),wi.delete(Qn)}async function yi(Qn){await ri.ensureDoc("checkHeader"),await ri.ensureDoc("parseStartXRef"),await ri.ensureDoc("parse",[Qn]),await ri.ensureDoc("checkFirstPage",[Qn]),await ri.ensureDoc("checkLastPage",[Qn]);const ai=await ri.ensureDoc("isPureXfa");if(ai){const bi=new Nn("loadXfaFonts");Ai(bi),await Promise.all([ri.loadXfaFonts(ni,bi).catch(Ci=>{}).then(()=>gi(bi)),ri.loadXfaImages()])}const[Vn,Yn]=await Promise.all([ri.ensureDoc("numPages"),ri.ensureDoc("fingerprints")]),ci=ai?await ri.ensureDoc("htmlForXfa"):null;return{numPages:Vn,fingerprints:Yn,htmlForXfa:ci}}function Ii({data:Qn,password:ai,disableAutoFetch:Vn,rangeChunkSize:Yn,length:ci,docBaseUrl:bi,enableXfa:Ci,evaluatorOptions:Fi}){const zi={source:null,disableAutoFetch:Vn,docBaseUrl:bi,docId:pi,enableXfa:Ci,evaluatorOptions:Fi,handler:ni,length:ci,password:ai,rangeChunkSize:Yn},_i=new In.PromiseCapability;let ji;if(Qn){try{zi.source=Qn,ji=new Cn.LocalPdfManager(zi),_i.resolve(ji)}catch(Mi){_i.reject(Mi)}return _i.promise}let Pi,Ni=[];try{Pi=new ei.PDFWorkerStream(ni)}catch(Mi){return _i.reject(Mi),_i.promise}const Si=Pi.getFullReader();Si.headersReady.then(function(){if(Si.isRangeSupported){zi.source=Pi,zi.length=Si.contentLength,zi.disableAutoFetch||(zi.disableAutoFetch=Si.isStreamingSupported),ji=new Cn.NetworkPdfManager(zi);for(const Mi of Ni)ji.sendProgressiveData(Mi);Ni=[],_i.resolve(ji),fi=null}}).catch(function(Mi){_i.reject(Mi),fi=null});let Ti=0;const Ri=function(){const Mi=(0,Ln.arrayBuffersToBytes)(Ni);ci&&Mi.length!==ci&&(0,In.warn)("reported HTTP length is different from actual");try{zi.source=Mi,ji=new Cn.LocalPdfManager(zi),_i.resolve(ji)}catch(Ui){_i.reject(Ui)}Ni=[]};return new Promise(function(Mi,Ui){const Hi=function({value:Li,done:Ei}){try{if(li(),Ei){ji||Ri(),fi=null;return}Ti+=Li.byteLength,Si.isStreamingSupported||ni.send("DocProgress",{loaded:Ti,total:Math.max(Ti,Si.contentLength||0)}),ji?ji.sendProgressiveData(Li):Ni.push(Li),Si.read().then(Hi,Ui)}catch($i){Ui($i)}};Si.read().then(Hi,Ui)}).catch(function(Mi){_i.reject(Mi),fi=null}),fi=function(Mi){Pi.cancelAllRequests(Mi)},_i.promise}function xi(Qn){function ai(ci){li(),ni.send("GetDoc",{pdfInfo:ci})}function Vn(ci){if(li(),ci instanceof In.PasswordException){const bi=new Nn(`PasswordException: response ${ci.code}`);Ai(bi),ni.sendWithPromise("PasswordRequest",ci).then(function({password:Ci}){gi(bi),ri.updatePassword(Ci),Yn()}).catch(function(){gi(bi),ni.send("DocException",ci)})}else ci instanceof In.InvalidPDFException||ci instanceof In.MissingPDFException||ci instanceof In.UnexpectedResponseException||ci instanceof In.UnknownErrorException?ni.send("DocException",ci):ni.send("DocException",new In.UnknownErrorException(ci.message,ci.toString()))}function Yn(){li(),yi(!1).then(ai,function(ci){if(li(),!(ci instanceof Ln.XRefParseException)){Vn(ci);return}ri.requestLoadedStream().then(function(){li(),yi(!0).then(ai,Vn)})})}li(),Ii(Qn).then(function(ci){if(di)throw ci.terminate(new In.AbortException("Worker was terminated.")),new Error("Worker was terminated");ri=ci,ri.requestLoadedStream(!0).then(bi=>{ni.send("DataLoaded",{length:bi.bytes.byteLength})})}).then(Yn,Vn)}return ni.on("GetPage",function(Qn){return ri.getPage(Qn.pageIndex).then(function(ai){return Promise.all([ri.ensure(ai,"rotate"),ri.ensure(ai,"ref"),ri.ensure(ai,"userUnit"),ri.ensure(ai,"view")]).then(function([Vn,Yn,ci,bi]){return{rotate:Vn,ref:Yn,userUnit:ci,view:bi}})})}),ni.on("GetPageIndex",function(Qn){const ai=jn.Ref.get(Qn.num,Qn.gen);return ri.ensureCatalog("getPageIndex",[ai])}),ni.on("GetDestinations",function(Qn){return ri.ensureCatalog("destinations")}),ni.on("GetDestination",function(Qn){return ri.ensureCatalog("getDestination",[Qn.id])}),ni.on("GetPageLabels",function(Qn){return ri.ensureCatalog("pageLabels")}),ni.on("GetPageLayout",function(Qn){return ri.ensureCatalog("pageLayout")}),ni.on("GetPageMode",function(Qn){return ri.ensureCatalog("pageMode")}),ni.on("GetViewerPreferences",function(Qn){return ri.ensureCatalog("viewerPreferences")}),ni.on("GetOpenAction",function(Qn){return ri.ensureCatalog("openAction")}),ni.on("GetAttachments",function(Qn){return ri.ensureCatalog("attachments")}),ni.on("GetDocJSActions",function(Qn){return ri.ensureCatalog("jsActions")}),ni.on("GetPageJSActions",function({pageIndex:Qn}){return ri.getPage(Qn).then(function(ai){return ri.ensure(ai,"jsActions")})}),ni.on("GetOutline",function(Qn){return ri.ensureCatalog("documentOutline")}),ni.on("GetOptionalContentConfig",function(Qn){return ri.ensureCatalog("optionalContentConfig")}),ni.on("GetPermissions",function(Qn){return ri.ensureCatalog("permissions")}),ni.on("GetMetadata",function(Qn){return Promise.all([ri.ensureDoc("documentInfo"),ri.ensureCatalog("metadata")])}),ni.on("GetMarkInfo",function(Qn){return ri.ensureCatalog("markInfo")}),ni.on("GetData",function(Qn){return ri.requestLoadedStream().then(function(ai){return ai.bytes})}),ni.on("GetAnnotations",function({pageIndex:Qn,intent:ai}){return ri.getPage(Qn).then(function(Vn){const Yn=new Nn(`GetAnnotations: page ${Qn}`);return Ai(Yn),Vn.getAnnotationsData(ni,Yn,ai).then(ci=>(gi(Yn),ci),ci=>{throw gi(Yn),ci})})}),ni.on("GetFieldObjects",function(Qn){return ri.ensureDoc("fieldObjects")}),ni.on("HasJSActions",function(Qn){return ri.ensureDoc("hasJSActions")}),ni.on("GetCalculationOrderIds",function(Qn){return ri.ensureDoc("calculationOrderIds")}),ni.on("SaveDocument",async function({isPureXfa:Qn,numPages:ai,annotationStorage:Vn,filename:Yn}){const ci=[ri.requestLoadedStream(),ri.ensureCatalog("acroForm"),ri.ensureCatalog("acroFormRef"),ri.ensureDoc("startXRef"),ri.ensureDoc("xref"),ri.ensureDoc("linearization"),ri.ensureCatalog("structTreeRoot")],bi=[],Ci=Qn?null:(0,Ln.getNewAnnotationsMap)(Vn),[Fi,zi,_i,ji,Pi,Ni,Si]=await Promise.all(ci),Ti=Pi.trailer.getRaw("Root")||null;let Ri;if(Ci){Si?await Si.canUpdateStructTree({pdfManager:ri,newAnnotationsByPage:Ci})&&(Ri=Si):await Bn.StructTreeRoot.canCreateStructureTree({catalogRef:Ti,pdfManager:ri,newAnnotationsByPage:Ci})&&(Ri=null);const Xi=Tn.AnnotationFactory.generateImages(Vn.values(),Pi,ri.evaluatorOptions.isOffscreenCanvasSupported),Gi=Ri===void 0?bi:[];for(const[qi,ns]of Ci)Gi.push(ri.getPage(qi).then(is=>{const as=new Nn(`Save (editor): page ${qi}`);return is.saveNewAnnotations(ni,as,ns,Xi).finally(function(){gi(as)})}));Ri===null?bi.push(Promise.all(Gi).then(async qi=>(await Bn.StructTreeRoot.createStructureTree({newAnnotationsByPage:Ci,xref:Pi,catalogRef:Ti,pdfManager:ri,newRefs:qi}),qi))):Ri&&bi.push(Promise.all(Gi).then(async qi=>(await Ri.updateStructureTree({newAnnotationsByPage:Ci,pdfManager:ri,newRefs:qi}),qi)))}if(Qn)bi.push(ri.serializeXfaData(Vn));else for(let Xi=0;Xi<ai;Xi++)bi.push(ri.getPage(Xi).then(function(Gi){const qi=new Nn(`Save: page ${Xi}`);return Gi.save(ni,qi,Vn).finally(function(){gi(qi)})}));const Mi=await Promise.all(bi);let Ui=[],Hi=null;if(Qn){if(Hi=Mi[0],!Hi)return Fi.bytes}else if(Ui=Mi.flat(2),Ui.length===0)return Fi.bytes;const Li=_i&&zi instanceof jn.Dict&&Ui.some(Xi=>Xi.needAppearances),Ei=zi instanceof jn.Dict&&zi.get("XFA")||null;let $i=null,Bi=!1;if(Array.isArray(Ei)){for(let Xi=0,Gi=Ei.length;Xi<Gi;Xi+=2)Ei[Xi]==="datasets"&&($i=Ei[Xi+1],Bi=!0);$i===null&&($i=Pi.getNewTemporaryRef())}else Ei&&(0,In.warn)("Unsupported XFA type.");let Oi=Object.create(null);if(Pi.trailer){const Xi=Object.create(null),Gi=Pi.trailer.get("Info")||null;Gi instanceof jn.Dict&&Gi.forEach((qi,ns)=>{typeof ns=="string"&&(Xi[qi]=(0,In.stringToPDFString)(ns))}),Oi={rootRef:Ti,encryptRef:Pi.trailer.getRaw("Encrypt")||null,newRef:Pi.getNewTemporaryRef(),infoRef:Pi.trailer.getRaw("Info")||null,info:Xi,fileIds:Pi.trailer.get("ID")||null,startXRef:Ni?ji:Pi.lastXRefStreamPos??ji,filename:Yn}}return(0,ui.incrementalUpdate)({originalData:Fi.bytes,xrefInfo:Oi,newRefs:Ui,xref:Pi,hasXfa:!!Ei,xfaDatasetsRef:$i,hasXfaDatasetsEntry:Bi,needAppearances:Li,acroFormRef:_i,acroForm:zi,xfaData:Hi}).finally(()=>{Pi.resetNewTemporaryRef()})}),ni.on("GetOperatorList",function(Qn,ai){const Vn=Qn.pageIndex;ri.getPage(Vn).then(function(Yn){const ci=new Nn(`GetOperatorList: page ${Vn}`);Ai(ci);const bi=Jn>=In.VerbosityLevel.INFOS?Date.now():0;Yn.getOperatorList({handler:ni,sink:ai,task:ci,intent:Qn.intent,cacheKey:Qn.cacheKey,annotationStorage:Qn.annotationStorage}).then(function(Ci){gi(ci),bi&&(0,In.info)(`page=${Vn+1} - getOperatorList: time=${Date.now()-bi}ms, len=${Ci.length}`),ai.close()},function(Ci){gi(ci),!ci.terminated&&ai.error(Ci)})})}),ni.on("GetTextContent",function(Qn,ai){const{pageIndex:Vn,includeMarkedContent:Yn,disableNormalization:ci}=Qn;ri.getPage(Vn).then(function(bi){const Ci=new Nn("GetTextContent: page "+Vn);Ai(Ci);const Fi=Jn>=In.VerbosityLevel.INFOS?Date.now():0;bi.extractTextContent({handler:ni,task:Ci,sink:ai,includeMarkedContent:Yn,disableNormalization:ci}).then(function(){gi(Ci),Fi&&(0,In.info)(`page=${Vn+1} - getTextContent: time=${Date.now()-Fi}ms`),ai.close()},function(zi){gi(Ci),!Ci.terminated&&ai.error(zi)})})}),ni.on("GetStructTree",function(Qn){return ri.getPage(Qn.pageIndex).then(function(ai){return ri.ensure(ai,"getStructTree")})}),ni.on("FontFallback",function(Qn){return ri.fontFallback(Qn.id,ni)}),ni.on("Cleanup",function(Qn){return ri.cleanup(!0)}),ni.on("Terminate",function(Qn){di=!0;const ai=[];if(ri){ri.terminate(new In.AbortException("Worker was terminated."));const Vn=ri.cleanup();ai.push(Vn),ri=null}else(0,Rn.clearGlobalCaches)();fi&&fi(new In.AbortException("Worker was terminated."));for(const Vn of wi)ai.push(Vn.finished),Vn.terminate();return Promise.all(ai).then(function(){ni.destroy(),ni=null})}),ni.on("Ready",function(Qn){xi(Xn),Xn=null}),Wn}static initializeFromPort(Xn){const ii=new si.MessageHandler("worker","main",Xn);Hn.setup(ii,Xn),ii.send("ready",null)}}Mn.WorkerMessageHandler=Hn;function On(hi){return typeof hi.postMessage=="function"&&"onmessage"in hi}typeof window>"u"&&!In.isNodeJS&&typeof self<"u"&&On(self)&&Hn.initializeFromPort(self)},(oi,Mn)=>{var us;Object.defineProperty(Mn,"__esModule",{value:!0}),Mn.VerbosityLevel=Mn.Util=Mn.UnknownErrorException=Mn.UnexpectedResponseException=Mn.TextRenderingMode=Mn.RenderingIntentFlag=Mn.PromiseCapability=Mn.PermissionFlag=Mn.PasswordResponses=Mn.PasswordException=Mn.PageActionEventType=Mn.OPS=Mn.MissingPDFException=Mn.MAX_IMAGE_SIZE_TO_CACHE=Mn.LINE_FACTOR=Mn.LINE_DESCENT_FACTOR=Mn.InvalidPDFException=Mn.ImageKind=Mn.IDENTITY_MATRIX=Mn.FormatError=Mn.FeatureTest=Mn.FONT_IDENTITY_MATRIX=Mn.DocumentActionEventType=Mn.CMapCompressionType=Mn.BaseException=Mn.BASELINE_FACTOR=Mn.AnnotationType=Mn.AnnotationReplyType=Mn.AnnotationPrefix=Mn.AnnotationMode=Mn.AnnotationFlag=Mn.AnnotationFieldFlag=Mn.AnnotationEditorType=Mn.AnnotationEditorPrefix=Mn.AnnotationEditorParamsType=Mn.AnnotationBorderStyleType=Mn.AnnotationActionEventType=Mn.AbortException=void 0,Mn.assert=xi,Mn.bytesToString=Pi,Mn.createValidAbsoluteUrl=ai,Mn.getModificationDate=ns,Mn.getUuid=Vi,Mn.getVerbosityLevel=Ai,Mn.info=gi,Mn.isArrayBuffer=Gi,Mn.isArrayEqual=qi,Mn.isNodeJS=void 0,Mn.normalizeUnicode=Yi,Mn.objectFromMap=Ri,Mn.objectSize=Ti,Mn.setVerbosityLevel=li,Mn.shadow=Vn,Mn.string32=Si,Mn.stringToBytes=Ni,Mn.stringToPDFString=Bi,Mn.stringToUTF8String=Oi,Mn.unreachable=Ii,Mn.utf8StringToString=Xi,Mn.warn=yi;const ti=typeof process=="object"&&process+""=="[object process]"&&!process.versions.nw&&!(process.versions.electron&&process.type&&process.type!=="browser");Mn.isNodeJS=ti;const In=[1,0,0,1,0,0];Mn.IDENTITY_MATRIX=In;const Ln=[.001,0,0,.001,0,0];Mn.FONT_IDENTITY_MATRIX=Ln;const jn=1e7;Mn.MAX_IMAGE_SIZE_TO_CACHE=jn;const Cn=1.35;Mn.LINE_FACTOR=Cn;const Tn=.35;Mn.LINE_DESCENT_FACTOR=Tn;const Rn=Tn/Cn;Mn.BASELINE_FACTOR=Rn;const ui={ANY:1,DISPLAY:2,PRINT:4,SAVE:8,ANNOTATIONS_FORMS:16,ANNOTATIONS_STORAGE:32,ANNOTATIONS_DISABLE:64,OPLIST:256};Mn.RenderingIntentFlag=ui;const si={DISABLE:0,ENABLE:1,ENABLE_FORMS:2,ENABLE_STORAGE:3};Mn.AnnotationMode=si;const ei="pdfjs_internal_editor_";Mn.AnnotationEditorPrefix=ei;const Bn={DISABLE:-1,NONE:0,FREETEXT:3,STAMP:13,INK:15};Mn.AnnotationEditorType=Bn;const Nn={RESIZE:1,CREATE:2,FREETEXT_SIZE:11,FREETEXT_COLOR:12,FREETEXT_OPACITY:13,INK_COLOR:21,INK_THICKNESS:22,INK_OPACITY:23};Mn.AnnotationEditorParamsType=Nn;const Hn={PRINT:4,MODIFY_CONTENTS:8,COPY:16,MODIFY_ANNOTATIONS:32,FILL_INTERACTIVE_FORMS:256,COPY_FOR_ACCESSIBILITY:512,ASSEMBLE:1024,PRINT_HIGH_QUALITY:2048};Mn.PermissionFlag=Hn;const On={FILL:0,STROKE:1,FILL_STROKE:2,INVISIBLE:3,FILL_ADD_TO_PATH:4,STROKE_ADD_TO_PATH:5,FILL_STROKE_ADD_TO_PATH:6,ADD_TO_PATH:7,FILL_STROKE_MASK:3,ADD_TO_PATH_FLAG:4};Mn.TextRenderingMode=On;const hi={GRAYSCALE_1BPP:1,RGB_24BPP:2,RGBA_32BPP:3};Mn.ImageKind=hi;const Xn={TEXT:1,LINK:2,FREETEXT:3,LINE:4,SQUARE:5,CIRCLE:6,POLYGON:7,POLYLINE:8,HIGHLIGHT:9,UNDERLINE:10,SQUIGGLY:11,STRIKEOUT:12,STAMP:13,CARET:14,INK:15,POPUP:16,FILEATTACHMENT:17,SOUND:18,MOVIE:19,WIDGET:20,SCREEN:21,PRINTERMARK:22,TRAPNET:23,WATERMARK:24,THREED:25,REDACT:26};Mn.AnnotationType=Xn;const ii={GROUP:"Group",REPLY:"R"};Mn.AnnotationReplyType=ii;const ri={INVISIBLE:1,HIDDEN:2,PRINT:4,NOZOOM:8,NOROTATE:16,NOVIEW:32,READONLY:64,LOCKED:128,TOGGLENOVIEW:256,LOCKEDCONTENTS:512};Mn.AnnotationFlag=ri;const di={READONLY:1,REQUIRED:2,NOEXPORT:4,MULTILINE:4096,PASSWORD:8192,NOTOGGLETOOFF:16384,RADIO:32768,PUSHBUTTON:65536,COMBO:131072,EDIT:262144,SORT:524288,FILESELECT:1048576,MULTISELECT:2097152,DONOTSPELLCHECK:4194304,DONOTSCROLL:8388608,COMB:16777216,RICHTEXT:33554432,RADIOSINUNISON:33554432,COMMITONSELCHANGE:67108864};Mn.AnnotationFieldFlag=di;const fi={SOLID:1,DASHED:2,BEVELED:3,INSET:4,UNDERLINE:5};Mn.AnnotationBorderStyleType=fi;const wi={E:"Mouse Enter",X:"Mouse Exit",D:"Mouse Down",U:"Mouse Up",Fo:"Focus",Bl:"Blur",PO:"PageOpen",PC:"PageClose",PV:"PageVisible",PI:"PageInvisible",K:"Keystroke",F:"Format",V:"Validate",C:"Calculate"};Mn.AnnotationActionEventType=wi;const Jn={WC:"WillClose",WS:"WillSave",DS:"DidSave",WP:"WillPrint",DP:"DidPrint"};Mn.DocumentActionEventType=Jn;const pi={O:"PageOpen",C:"PageClose"};Mn.PageActionEventType=pi;const Zn={ERRORS:0,WARNINGS:1,INFOS:5};Mn.VerbosityLevel=Zn;const Gn={NONE:0,BINARY:1};Mn.CMapCompressionType=Gn;const mi={dependency:1,setLineWidth:2,setLineCap:3,setLineJoin:4,setMiterLimit:5,setDash:6,setRenderingIntent:7,setFlatness:8,setGState:9,save:10,restore:11,transform:12,moveTo:13,lineTo:14,curveTo:15,curveTo2:16,curveTo3:17,closePath:18,rectangle:19,stroke:20,closeStroke:21,fill:22,eoFill:23,fillStroke:24,eoFillStroke:25,closeFillStroke:26,closeEOFillStroke:27,endPath:28,clip:29,eoClip:30,beginText:31,endText:32,setCharSpacing:33,setWordSpacing:34,setHScale:35,setLeading:36,setFont:37,setTextRenderingMode:38,setTextRise:39,moveText:40,setLeadingMoveText:41,setTextMatrix:42,nextLine:43,showText:44,showSpacedText:45,nextLineShowText:46,nextLineSetSpacingShowText:47,setCharWidth:48,setCharWidthAndBounds:49,setStrokeColorSpace:50,setFillColorSpace:51,setStrokeColor:52,setStrokeColorN:53,setFillColor:54,setFillColorN:55,setStrokeGray:56,setFillGray:57,setStrokeRGBColor:58,setFillRGBColor:59,setStrokeCMYKColor:60,setFillCMYKColor:61,shadingFill:62,beginInlineImage:63,beginImageData:64,endInlineImage:65,paintXObject:66,markPoint:67,markPointProps:68,beginMarkedContent:69,beginMarkedContentProps:70,endMarkedContent:71,beginCompat:72,endCompat:73,paintFormXObjectBegin:74,paintFormXObjectEnd:75,beginGroup:76,endGroup:77,beginAnnotation:80,endAnnotation:81,paintImageMaskXObject:83,paintImageMaskXObjectGroup:84,paintImageXObject:85,paintInlineImageXObject:86,paintInlineImageXObjectGroup:87,paintImageXObjectRepeat:88,paintImageMaskXObjectRepeat:89,paintSolidColorImageMask:90,constructPath:91};Mn.OPS=mi;const Wn={NEED_PASSWORD:1,INCORRECT_PASSWORD:2};Mn.PasswordResponses=Wn;let ni=Zn.WARNINGS;function li(ts){Number.isInteger(ts)&&(ni=ts)}function Ai(){return ni}function gi(ts){ni>=Zn.INFOS&&console.log(`Info: ${ts}`)}function yi(ts){ni>=Zn.WARNINGS&&console.log(`Warning: ${ts}`)}function Ii(ts){throw new Error(ts)}function xi(ts,es){ts||Ii(es)}function Qn(ts){switch(ts==null?void 0:ts.protocol){case"http:":case"https:":case"ftp:":case"mailto:":case"tel:":return!0;default:return!1}}function ai(ts,es=null,rs=null){if(!ts)return null;try{if(rs&&typeof ts=="string"){if(rs.addDefaultProtocol&&ts.startsWith("www.")){const os=ts.match(/\./g);(os==null?void 0:os.length)>=2&&(ts=`http://${ts}`)}if(rs.tryConvertEncoding)try{ts=Oi(ts)}catch{}}const ss=es?new URL(ts,es):new URL(ts);if(Qn(ss))return ss}catch{}return null}function Vn(ts,es,rs,ss=!1){return Object.defineProperty(ts,es,{value:rs,enumerable:!ss,configurable:!0,writable:!1}),rs}const Yn=function(){function es(rs,ss){this.constructor===es&&Ii("Cannot initialize BaseException."),this.message=rs,this.name=ss}return es.prototype=new Error,es.constructor=es,es}();Mn.BaseException=Yn;class ci extends Yn{constructor(es,rs){super(es,"PasswordException"),this.code=rs}}Mn.PasswordException=ci;class bi extends Yn{constructor(es,rs){super(es,"UnknownErrorException"),this.details=rs}}Mn.UnknownErrorException=bi;class Ci extends Yn{constructor(es){super(es,"InvalidPDFException")}}Mn.InvalidPDFException=Ci;class Fi extends Yn{constructor(es){super(es,"MissingPDFException")}}Mn.MissingPDFException=Fi;class zi extends Yn{constructor(es,rs){super(es,"UnexpectedResponseException"),this.status=rs}}Mn.UnexpectedResponseException=zi;class _i extends Yn{constructor(es){super(es,"FormatError")}}Mn.FormatError=_i;class ji extends Yn{constructor(es){super(es,"AbortException")}}Mn.AbortException=ji;function Pi(ts){(typeof ts!="object"||(ts==null?void 0:ts.length)===void 0)&&Ii("Invalid argument for bytesToString");const es=ts.length,rs=8192;if(es<rs)return String.fromCharCode.apply(null,ts);const ss=[];for(let os=0;os<es;os+=rs){const ks=Math.min(os+rs,es),xs=ts.subarray(os,ks);ss.push(String.fromCharCode.apply(null,xs))}return ss.join("")}function Ni(ts){typeof ts!="string"&&Ii("Invalid argument for stringToBytes");const es=ts.length,rs=new Uint8Array(es);for(let ss=0;ss<es;++ss)rs[ss]=ts.charCodeAt(ss)&255;return rs}function Si(ts){return String.fromCharCode(ts>>24&255,ts>>16&255,ts>>8&255,ts&255)}function Ti(ts){return Object.keys(ts).length}function Ri(ts){const es=Object.create(null);for(const[rs,ss]of ts)es[rs]=ss;return es}function Mi(){const ts=new Uint8Array(4);return ts[0]=1,new Uint32Array(ts.buffer,0,1)[0]===1}function Ui(){try{return new Function(""),!0}catch{return!1}}class Hi{static get isLittleEndian(){return Vn(this,"isLittleEndian",Mi())}static get isEvalSupported(){return Vn(this,"isEvalSupported",Ui())}static get isOffscreenCanvasSupported(){return Vn(this,"isOffscreenCanvasSupported",typeof OffscreenCanvas<"u")}static get platform(){return typeof navigator>"u"?Vn(this,"platform",{isWin:!1,isMac:!1}):Vn(this,"platform",{isWin:navigator.platform.includes("Win"),isMac:navigator.platform.includes("Mac")})}static get isCSSRoundSupported(){var es,rs;return Vn(this,"isCSSRoundSupported",(rs=(es=globalThis.CSS)==null?void 0:es.supports)==null?void 0:rs.call(es,"width: round(1.5px, 1px)"))}}Mn.FeatureTest=Hi;const Li=[...Array(256).keys()].map(ts=>ts.toString(16).padStart(2,"0"));class Ei{static makeHexColor(es,rs,ss){return`#${Li[es]}${Li[rs]}${Li[ss]}`}static scaleMinMax(es,rs){let ss;es[0]?(es[0]<0&&(ss=rs[0],rs[0]=rs[1],rs[1]=ss),rs[0]*=es[0],rs[1]*=es[0],es[3]<0&&(ss=rs[2],rs[2]=rs[3],rs[3]=ss),rs[2]*=es[3],rs[3]*=es[3]):(ss=rs[0],rs[0]=rs[2],rs[2]=ss,ss=rs[1],rs[1]=rs[3],rs[3]=ss,es[1]<0&&(ss=rs[2],rs[2]=rs[3],rs[3]=ss),rs[2]*=es[1],rs[3]*=es[1],es[2]<0&&(ss=rs[0],rs[0]=rs[1],rs[1]=ss),rs[0]*=es[2],rs[1]*=es[2]),rs[0]+=es[4],rs[1]+=es[4],rs[2]+=es[5],rs[3]+=es[5]}static transform(es,rs){return[es[0]*rs[0]+es[2]*rs[1],es[1]*rs[0]+es[3]*rs[1],es[0]*rs[2]+es[2]*rs[3],es[1]*rs[2]+es[3]*rs[3],es[0]*rs[4]+es[2]*rs[5]+es[4],es[1]*rs[4]+es[3]*rs[5]+es[5]]}static applyTransform(es,rs){const ss=es[0]*rs[0]+es[1]*rs[2]+rs[4],os=es[0]*rs[1]+es[1]*rs[3]+rs[5];return[ss,os]}static applyInverseTransform(es,rs){const ss=rs[0]*rs[3]-rs[1]*rs[2],os=(es[0]*rs[3]-es[1]*rs[2]+rs[2]*rs[5]-rs[4]*rs[3])/ss,ks=(-es[0]*rs[1]+es[1]*rs[0]+rs[4]*rs[1]-rs[5]*rs[0])/ss;return[os,ks]}static getAxialAlignedBoundingBox(es,rs){const ss=this.applyTransform(es,rs),os=this.applyTransform(es.slice(2,4),rs),ks=this.applyTransform([es[0],es[3]],rs),xs=this.applyTransform([es[2],es[1]],rs);return[Math.min(ss[0],os[0],ks[0],xs[0]),Math.min(ss[1],os[1],ks[1],xs[1]),Math.max(ss[0],os[0],ks[0],xs[0]),Math.max(ss[1],os[1],ks[1],xs[1])]}static inverseTransform(es){const rs=es[0]*es[3]-es[1]*es[2];return[es[3]/rs,-es[1]/rs,-es[2]/rs,es[0]/rs,(es[2]*es[5]-es[4]*es[3])/rs,(es[4]*es[1]-es[5]*es[0])/rs]}static singularValueDecompose2dScale(es){const rs=[es[0],es[2],es[1],es[3]],ss=es[0]*rs[0]+es[1]*rs[2],os=es[0]*rs[1]+es[1]*rs[3],ks=es[2]*rs[0]+es[3]*rs[2],xs=es[2]*rs[1]+es[3]*rs[3],Rs=(ss+xs)/2,ms=Math.sqrt((ss+xs)**2-4*(ss*xs-ks*os))/2,Bs=Rs+ms||1,ws=Rs-ms||1;return[Math.sqrt(Bs),Math.sqrt(ws)]}static normalizeRect(es){const rs=es.slice(0);return es[0]>es[2]&&(rs[0]=es[2],rs[2]=es[0]),es[1]>es[3]&&(rs[1]=es[3],rs[3]=es[1]),rs}static intersect(es,rs){const ss=Math.max(Math.min(es[0],es[2]),Math.min(rs[0],rs[2])),os=Math.min(Math.max(es[0],es[2]),Math.max(rs[0],rs[2]));if(ss>os)return null;const ks=Math.max(Math.min(es[1],es[3]),Math.min(rs[1],rs[3])),xs=Math.min(Math.max(es[1],es[3]),Math.max(rs[1],rs[3]));return ks>xs?null:[ss,ks,os,xs]}static bezierBoundingBox(es,rs,ss,os,ks,xs,Rs,ms){const Bs=[],ws=[[],[]];let Ts,Is,ls,Wi,Ji,cs,fs,ps;for(let _s=0;_s<2;++_s){if(_s===0?(Is=6*es-12*ss+6*ks,Ts=-3*es+9*ss-9*ks+3*Rs,ls=3*ss-3*es):(Is=6*rs-12*os+6*xs,Ts=-3*rs+9*os-9*xs+3*ms,ls=3*os-3*rs),Math.abs(Ts)<1e-12){if(Math.abs(Is)<1e-12)continue;Wi=-ls/Is,0<Wi&&Wi<1&&Bs.push(Wi);continue}fs=Is*Is-4*ls*Ts,ps=Math.sqrt(fs),!(fs<0)&&(Ji=(-Is+ps)/(2*Ts),0<Ji&&Ji<1&&Bs.push(Ji),cs=(-Is-ps)/(2*Ts),0<cs&&cs<1&&Bs.push(cs))}let gs=Bs.length,bs;const vs=gs;for(;gs--;)Wi=Bs[gs],bs=1-Wi,ws[0][gs]=bs*bs*bs*es+3*bs*bs*Wi*ss+3*bs*Wi*Wi*ks+Wi*Wi*Wi*Rs,ws[1][gs]=bs*bs*bs*rs+3*bs*bs*Wi*os+3*bs*Wi*Wi*xs+Wi*Wi*Wi*ms;return ws[0][vs]=es,ws[1][vs]=rs,ws[0][vs+1]=Rs,ws[1][vs+1]=ms,ws[0].length=ws[1].length=vs+2,[Math.min(...ws[0]),Math.min(...ws[1]),Math.max(...ws[0]),Math.max(...ws[1])]}}Mn.Util=Ei;const $i=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,728,711,710,729,733,731,730,732,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8226,8224,8225,8230,8212,8211,402,8260,8249,8250,8722,8240,8222,8220,8221,8216,8217,8218,8482,64257,64258,321,338,352,376,381,305,322,339,353,382,0,8364];function Bi(ts){if(ts[0]>="ï"){let rs;if(ts[0]==="þ"&&ts[1]==="ÿ"?rs="utf-16be":ts[0]==="ÿ"&&ts[1]==="þ"?rs="utf-16le":ts[0]==="ï"&&ts[1]==="»"&&ts[2]==="¿"&&(rs="utf-8"),rs)try{const ss=new TextDecoder(rs,{fatal:!0}),os=Ni(ts);return ss.decode(os)}catch(ss){yi(`stringToPDFString: "${ss}".`)}}const es=[];for(let rs=0,ss=ts.length;rs<ss;rs++){const os=$i[ts.charCodeAt(rs)];es.push(os?String.fromCharCode(os):ts.charAt(rs))}return es.join("")}function Oi(ts){return decodeURIComponent(escape(ts))}function Xi(ts){return unescape(encodeURIComponent(ts))}function Gi(ts){return typeof ts=="object"&&(ts==null?void 0:ts.byteLength)!==void 0}function qi(ts,es){if(ts.length!==es.length)return!1;for(let rs=0,ss=ts.length;rs<ss;rs++)if(ts[rs]!==es[rs])return!1;return!0}function ns(ts=new Date){return[ts.getUTCFullYear().toString(),(ts.getUTCMonth()+1).toString().padStart(2,"0"),ts.getUTCDate().toString().padStart(2,"0"),ts.getUTCHours().toString().padStart(2,"0"),ts.getUTCMinutes().toString().padStart(2,"0"),ts.getUTCSeconds().toString().padStart(2,"0")].join("")}class is{constructor(){Ki(this,us,!1);this.promise=new Promise((es,rs)=>{this.resolve=ss=>{ds(this,us,!0),es(ss)},this.reject=ss=>{ds(this,us,!0),rs(ss)}})}get settled(){return vi(this,us)}}us=new WeakMap,Mn.PromiseCapability=is;let as=null,hs=null;function Yi(ts){return as||(as=/([\u00a0\u00b5\u037e\u0eb3\u2000-\u200a\u202f\u2126\ufb00-\ufb04\ufb06\ufb20-\ufb36\ufb38-\ufb3c\ufb3e\ufb40-\ufb41\ufb43-\ufb44\ufb46-\ufba1\ufba4-\ufba9\ufbae-\ufbb1\ufbd3-\ufbdc\ufbde-\ufbe7\ufbea-\ufbf8\ufbfc-\ufbfd\ufc00-\ufc5d\ufc64-\ufcf1\ufcf5-\ufd3d\ufd88\ufdf4\ufdfa-\ufdfb\ufe71\ufe77\ufe79\ufe7b\ufe7d]+)|(\ufb05+)/gu,hs=new Map([["ſt","ſt"]])),ts.replaceAll(as,(es,rs,ss)=>rs?rs.normalize("NFKC"):hs.get(ss))}function Vi(){if(typeof crypto<"u"&&typeof(crypto==null?void 0:crypto.randomUUID)=="function")return crypto.randomUUID();const ts=new Uint8Array(32);if(typeof crypto<"u"&&typeof(crypto==null?void 0:crypto.getRandomValues)=="function")crypto.getRandomValues(ts);else for(let es=0;es<32;es++)ts[es]=Math.floor(Math.random()*255);return Pi(ts)}const Zi="pdfjs_internal_id_";Mn.AnnotationPrefix=Zi},(oi,Mn,ti)=>{Object.defineProperty(Mn,"__esModule",{value:!0}),Mn.XRefParseException=Mn.XRefEntryException=Mn.ParserEOFException=Mn.PDF_VERSION_REGEXP=Mn.MissingDataException=void 0,Mn.arrayBuffersToBytes=Bn,Mn.collectActions=Zn,Mn.encodeToXmlString=mi,Mn.escapePDFName=wi,Mn.escapeString=Jn,Mn.getInheritableProperty=Nn,Mn.getLookupTableFactory=Tn,Mn.getNewAnnotationsMap=gi,Mn.getRotationMatrix=Qn,Mn.isAscii=yi,Mn.isWhiteSpace=di,Mn.log2=hi,Mn.numberToString=Ai,Mn.parseXFAPath=fi,Mn.readInt8=Xn,Mn.readUint16=ii,Mn.readUint32=ri,Mn.recoverJsURL=li,Mn.stringToUTF16HexString=Ii,Mn.stringToUTF16String=xi,Mn.toRomanNumerals=On,Mn.validateCSSFont=ni,Mn.validateFontName=Wn;var In=ti(2),Ln=ti(4),jn=ti(5);const Cn=/^[1-9]\.\d$/;Mn.PDF_VERSION_REGEXP=Cn;function Tn(ai){let Vn;return function(){return ai&&(Vn=Object.create(null),ai(Vn),ai=null),Vn}}class Rn extends In.BaseException{constructor(Vn,Yn){super(`Missing data [${Vn}, ${Yn})`,"MissingDataException"),this.begin=Vn,this.end=Yn}}Mn.MissingDataException=Rn;class ui extends In.BaseException{constructor(Vn){super(Vn,"ParserEOFException")}}Mn.ParserEOFException=ui;class si extends In.BaseException{constructor(Vn){super(Vn,"XRefEntryException")}}Mn.XRefEntryException=si;class ei extends In.BaseException{constructor(Vn){super(Vn,"XRefParseException")}}Mn.XRefParseException=ei;function Bn(ai){const Vn=ai.length;if(Vn===0)return new Uint8Array(0);if(Vn===1)return new Uint8Array(ai[0]);let Yn=0;for(let Ci=0;Ci<Vn;Ci++)Yn+=ai[Ci].byteLength;const ci=new Uint8Array(Yn);let bi=0;for(let Ci=0;Ci<Vn;Ci++){const Fi=new Uint8Array(ai[Ci]);ci.set(Fi,bi),bi+=Fi.byteLength}return ci}function Nn({dict:ai,key:Vn,getArray:Yn=!1,stopWhenFound:ci=!0}){let bi;const Ci=new Ln.RefSet;for(;ai instanceof Ln.Dict&&!(ai.objId&&Ci.has(ai.objId));){ai.objId&&Ci.put(ai.objId);const Fi=Yn?ai.getArray(Vn):ai.get(Vn);if(Fi!==void 0){if(ci)return Fi;(bi||(bi=[])).push(Fi)}ai=ai.get("Parent")}return bi}const Hn=["","C","CC","CCC","CD","D","DC","DCC","DCCC","CM","","X","XX","XXX","XL","L","LX","LXX","LXXX","XC","","I","II","III","IV","V","VI","VII","VIII","IX"];function On(ai,Vn=!1){(0,In.assert)(Number.isInteger(ai)&&ai>0,"The number should be a positive integer.");const Yn=[];let ci;for(;ai>=1e3;)ai-=1e3,Yn.push("M");ci=ai/100|0,ai%=100,Yn.push(Hn[ci]),ci=ai/10|0,ai%=10,Yn.push(Hn[10+ci]),Yn.push(Hn[20+ai]);const bi=Yn.join("");return Vn?bi.toLowerCase():bi}function hi(ai){return ai<=0?0:Math.ceil(Math.log2(ai))}function Xn(ai,Vn){return ai[Vn]<<24>>24}function ii(ai,Vn){return ai[Vn]<<8|ai[Vn+1]}function ri(ai,Vn){return(ai[Vn]<<24|ai[Vn+1]<<16|ai[Vn+2]<<8|ai[Vn+3])>>>0}function di(ai){return ai===32||ai===9||ai===13||ai===10}function fi(ai){const Vn=/(.+)\[(\d+)\]$/;return ai.split(".").map(Yn=>{const ci=Yn.match(Vn);return ci?{name:ci[1],pos:parseInt(ci[2],10)}:{name:Yn,pos:0}})}function wi(ai){const Vn=[];let Yn=0;for(let ci=0,bi=ai.length;ci<bi;ci++){const Ci=ai.charCodeAt(ci);(Ci<33||Ci>126||Ci===35||Ci===40||Ci===41||Ci===60||Ci===62||Ci===91||Ci===93||Ci===123||Ci===125||Ci===47||Ci===37)&&(Yn<ci&&Vn.push(ai.substring(Yn,ci)),Vn.push(`#${Ci.toString(16)}`),Yn=ci+1)}return Vn.length===0?ai:(Yn<ai.length&&Vn.push(ai.substring(Yn,ai.length)),Vn.join(""))}function Jn(ai){return ai.replaceAll(/([()\\\n\r])/g,Vn=>Vn===`
|
|
3
3
|
`?"\\n":Vn==="\r"?"\\r":`\\${Vn}`)}function pi(ai,Vn,Yn,ci){if(!ai)return;let bi=null;if(ai instanceof Ln.Ref){if(ci.has(ai))return;bi=ai,ci.put(bi),ai=Vn.fetch(ai)}if(Array.isArray(ai))for(const Ci of ai)pi(Ci,Vn,Yn,ci);else if(ai instanceof Ln.Dict){if((0,Ln.isName)(ai.get("S"),"JavaScript")){const Ci=ai.get("JS");let Fi;Ci instanceof jn.BaseStream?Fi=Ci.getString():typeof Ci=="string"&&(Fi=Ci),Fi&&(Fi=(0,In.stringToPDFString)(Fi).replaceAll("\0","")),Fi&&Yn.push(Fi)}pi(ai.getRaw("Next"),Vn,Yn,ci)}bi&&ci.remove(bi)}function Zn(ai,Vn,Yn){const ci=Object.create(null),bi=Nn({dict:Vn,key:"AA",stopWhenFound:!1});if(bi)for(let Ci=bi.length-1;Ci>=0;Ci--){const Fi=bi[Ci];if(Fi instanceof Ln.Dict)for(const zi of Fi.getKeys()){const _i=Yn[zi];if(!_i)continue;const ji=Fi.getRaw(zi),Pi=new Ln.RefSet,Ni=[];pi(ji,ai,Ni,Pi),Ni.length>0&&(ci[_i]=Ni)}}if(Vn.has("A")){const Ci=Vn.get("A"),Fi=new Ln.RefSet,zi=[];pi(Ci,ai,zi,Fi),zi.length>0&&(ci.Action=zi)}return(0,In.objectSize)(ci)>0?ci:null}const Gn={60:"<",62:">",38:"&",34:""",39:"'"};function mi(ai){const Vn=[];let Yn=0;for(let ci=0,bi=ai.length;ci<bi;ci++){const Ci=ai.codePointAt(ci);if(32<=Ci&&Ci<=126){const Fi=Gn[Ci];Fi&&(Yn<ci&&Vn.push(ai.substring(Yn,ci)),Vn.push(Fi),Yn=ci+1)}else Yn<ci&&Vn.push(ai.substring(Yn,ci)),Vn.push(`&#x${Ci.toString(16).toUpperCase()};`),Ci>55295&&(Ci<57344||Ci>65533)&&ci++,Yn=ci+1}return Vn.length===0?ai:(Yn<ai.length&&Vn.push(ai.substring(Yn,ai.length)),Vn.join(""))}function Wn(ai,Vn=!1){const Yn=/^("|').*("|')$/.exec(ai);if(Yn&&Yn[1]===Yn[2]){if(new RegExp(`[^\\\\]${Yn[1]}`).test(ai.slice(1,-1)))return Vn&&(0,In.warn)(`FontFamily contains unescaped ${Yn[1]}: ${ai}.`),!1}else for(const ci of ai.split(/[ \t]+/))if(/^(\d|(-(\d|-)))/.test(ci)||!/^[\w-\\]+$/.test(ci))return Vn&&(0,In.warn)(`FontFamily contains invalid <custom-ident>: ${ai}.`),!1;return!0}function ni(ai){const Vn="14",Yn="400",ci=new Set(["100","200","300","400","500","600","700","800","900","1000","normal","bold","bolder","lighter"]),{fontFamily:bi,fontWeight:Ci,italicAngle:Fi}=ai;if(!Wn(bi,!0))return!1;const zi=Ci?Ci.toString():"";ai.fontWeight=ci.has(zi)?zi:Yn;const _i=parseFloat(Fi);return ai.italicAngle=isNaN(_i)||_i<-90||_i>90?Vn:Fi.toString(),!0}function li(ai){const Vn=["app.launchURL","window.open","xfa.host.gotoURL"],ci=new RegExp("^\\s*("+Vn.join("|").replaceAll(".","\\.")+`)\\((?:'|")([^'"]*)(?:'|")(?:,\\s*(\\w+)\\)|\\))`,"i").exec(ai);if(ci!=null&&ci[2]){const bi=ci[2];let Ci=!1;return ci[3]==="true"&&ci[1]==="app.launchURL"&&(Ci=!0),{url:bi,newWindow:Ci}}return null}function Ai(ai){if(Number.isInteger(ai))return ai.toString();const Vn=Math.round(ai*100);return Vn%100===0?(Vn/100).toString():Vn%10===0?ai.toFixed(1):ai.toFixed(2)}function gi(ai){if(!ai)return null;const Vn=new Map;for(const[Yn,ci]of ai){if(!Yn.startsWith(In.AnnotationEditorPrefix))continue;let bi=Vn.get(ci.pageIndex);bi||(bi=[],Vn.set(ci.pageIndex,bi)),bi.push(ci)}return Vn.size>0?Vn:null}function yi(ai){return/^[\x00-\x7F]*$/.test(ai)}function Ii(ai){const Vn=[];for(let Yn=0,ci=ai.length;Yn<ci;Yn++){const bi=ai.charCodeAt(Yn);Vn.push((bi>>8&255).toString(16).padStart(2,"0"),(bi&255).toString(16).padStart(2,"0"))}return Vn.join("")}function xi(ai,Vn=!1){const Yn=[];Vn&&Yn.push("þÿ");for(let ci=0,bi=ai.length;ci<bi;ci++){const Ci=ai.charCodeAt(ci);Yn.push(String.fromCharCode(Ci>>8&255),String.fromCharCode(Ci&255))}return Yn.join("")}function Qn(ai,Vn,Yn){switch(ai){case 90:return[0,1,-1,0,Vn,0];case 180:return[-1,0,0,-1,Vn,Yn];case 270:return[0,-1,1,0,0,Yn];default:throw new Error("Invalid rotation")}}},(oi,Mn,ti)=>{Object.defineProperty(Mn,"__esModule",{value:!0}),Mn.RefSetCache=Mn.RefSet=Mn.Ref=Mn.Name=Mn.EOF=Mn.Dict=Mn.Cmd=Mn.CIRCULAR_REF=void 0,Mn.clearPrimitiveCaches=ui,Mn.isCmd=ii,Mn.isDict=ri,Mn.isName=Xn,Mn.isRefsEqual=di;var In=ti(2);const Ln=Symbol("CIRCULAR_REF");Mn.CIRCULAR_REF=Ln;const jn=Symbol("EOF");Mn.EOF=jn;let Cn=Object.create(null),Tn=Object.create(null),Rn=Object.create(null);function ui(){Cn=Object.create(null),Tn=Object.create(null),Rn=Object.create(null)}class si{constructor(wi){this.name=wi}static get(wi){return Tn[wi]||(Tn[wi]=new si(wi))}}Mn.Name=si;class ei{constructor(wi){this.cmd=wi}static get(wi){return Cn[wi]||(Cn[wi]=new ei(wi))}}Mn.Cmd=ei;const Bn=function(){return Bn};class Nn{constructor(wi=null){this._map=Object.create(null),this.xref=wi,this.objId=null,this.suppressEncryption=!1,this.__nonSerializable__=Bn}assignXref(wi){this.xref=wi}get size(){return Object.keys(this._map).length}get(wi,Jn,pi){let Zn=this._map[wi];return Zn===void 0&&Jn!==void 0&&(Zn=this._map[Jn],Zn===void 0&&pi!==void 0&&(Zn=this._map[pi])),Zn instanceof Hn&&this.xref?this.xref.fetch(Zn,this.suppressEncryption):Zn}async getAsync(wi,Jn,pi){let Zn=this._map[wi];return Zn===void 0&&Jn!==void 0&&(Zn=this._map[Jn],Zn===void 0&&pi!==void 0&&(Zn=this._map[pi])),Zn instanceof Hn&&this.xref?this.xref.fetchAsync(Zn,this.suppressEncryption):Zn}getArray(wi,Jn,pi){let Zn=this._map[wi];if(Zn===void 0&&Jn!==void 0&&(Zn=this._map[Jn],Zn===void 0&&pi!==void 0&&(Zn=this._map[pi])),Zn instanceof Hn&&this.xref&&(Zn=this.xref.fetch(Zn,this.suppressEncryption)),Array.isArray(Zn)){Zn=Zn.slice();for(let Gn=0,mi=Zn.length;Gn<mi;Gn++)Zn[Gn]instanceof Hn&&this.xref&&(Zn[Gn]=this.xref.fetch(Zn[Gn],this.suppressEncryption))}return Zn}getRaw(wi){return this._map[wi]}getKeys(){return Object.keys(this._map)}getRawValues(){return Object.values(this._map)}set(wi,Jn){this._map[wi]=Jn}has(wi){return this._map[wi]!==void 0}forEach(wi){for(const Jn in this._map)wi(Jn,this.get(Jn))}static get empty(){const wi=new Nn(null);return wi.set=(Jn,pi)=>{(0,In.unreachable)("Should not call `set` on the empty dictionary.")},(0,In.shadow)(this,"empty",wi)}static merge({xref:wi,dictArray:Jn,mergeSubDicts:pi=!1}){const Zn=new Nn(wi),Gn=new Map;for(const mi of Jn)if(mi instanceof Nn)for(const[Wn,ni]of Object.entries(mi._map)){let li=Gn.get(Wn);if(li===void 0)li=[],Gn.set(Wn,li);else if(!pi||!(ni instanceof Nn))continue;li.push(ni)}for(const[mi,Wn]of Gn){if(Wn.length===1||!(Wn[0]instanceof Nn)){Zn._map[mi]=Wn[0];continue}const ni=new Nn(wi);for(const li of Wn)for(const[Ai,gi]of Object.entries(li._map))ni._map[Ai]===void 0&&(ni._map[Ai]=gi);ni.size>0&&(Zn._map[mi]=ni)}return Gn.clear(),Zn.size>0?Zn:Nn.empty}clone(){const wi=new Nn(this.xref);for(const Jn of this.getKeys())wi.set(Jn,this.getRaw(Jn));return wi}}Mn.Dict=Nn;class Hn{constructor(wi,Jn){this.num=wi,this.gen=Jn}toString(){return this.gen===0?`${this.num}R`:`${this.num}R${this.gen}`}static fromString(wi){const Jn=Rn[wi];if(Jn)return Jn;const pi=/^(\d+)R(\d*)$/.exec(wi);return!pi||pi[1]==="0"?null:Rn[wi]=new Hn(parseInt(pi[1]),pi[2]?parseInt(pi[2]):0)}static get(wi,Jn){const pi=Jn===0?`${wi}R`:`${wi}R${Jn}`;return Rn[pi]||(Rn[pi]=new Hn(wi,Jn))}}Mn.Ref=Hn;class On{constructor(wi=null){this._set=new Set(wi==null?void 0:wi._set)}has(wi){return this._set.has(wi.toString())}put(wi){this._set.add(wi.toString())}remove(wi){this._set.delete(wi.toString())}[Symbol.iterator](){return this._set.values()}clear(){this._set.clear()}}Mn.RefSet=On;class hi{constructor(){this._map=new Map}get size(){return this._map.size}get(wi){return this._map.get(wi.toString())}has(wi){return this._map.has(wi.toString())}put(wi,Jn){this._map.set(wi.toString(),Jn)}putAlias(wi,Jn){this._map.set(wi.toString(),this.get(Jn))}[Symbol.iterator](){return this._map.values()}clear(){this._map.clear()}}Mn.RefSetCache=hi;function Xn(fi,wi){return fi instanceof si&&(wi===void 0||fi.name===wi)}function ii(fi,wi){return fi instanceof ei&&(wi===void 0||fi.cmd===wi)}function ri(fi,wi){return fi instanceof Nn&&(wi===void 0||Xn(fi.get("Type"),wi))}function di(fi,wi){return fi.num===wi.num&&fi.gen===wi.gen}},(oi,Mn,ti)=>{Object.defineProperty(Mn,"__esModule",{value:!0}),Mn.BaseStream=void 0;var In=ti(2);class Ln{constructor(){this.constructor===Ln&&(0,In.unreachable)("Cannot initialize BaseStream.")}get length(){(0,In.unreachable)("Abstract getter `length` accessed")}get isEmpty(){(0,In.unreachable)("Abstract getter `isEmpty` accessed")}get isDataLoaded(){return(0,In.shadow)(this,"isDataLoaded",!0)}getByte(){(0,In.unreachable)("Abstract method `getByte` called")}getBytes(Cn){(0,In.unreachable)("Abstract method `getBytes` called")}peekByte(){const Cn=this.getByte();return Cn!==-1&&this.pos--,Cn}peekBytes(Cn){const Tn=this.getBytes(Cn);return this.pos-=Tn.length,Tn}getUint16(){const Cn=this.getByte(),Tn=this.getByte();return Cn===-1||Tn===-1?-1:(Cn<<8)+Tn}getInt32(){const Cn=this.getByte(),Tn=this.getByte(),Rn=this.getByte(),ui=this.getByte();return(Cn<<24)+(Tn<<16)+(Rn<<8)+ui}getByteRange(Cn,Tn){(0,In.unreachable)("Abstract method `getByteRange` called")}getString(Cn){return(0,In.bytesToString)(this.getBytes(Cn))}skip(Cn){this.pos+=Cn||1}reset(){(0,In.unreachable)("Abstract method `reset` called")}moveStart(){(0,In.unreachable)("Abstract method `moveStart` called")}makeSubStream(Cn,Tn,Rn=null){(0,In.unreachable)("Abstract method `makeSubStream` called")}getBaseStreams(){return null}}Mn.BaseStream=Ln},(oi,Mn,ti)=>{Object.defineProperty(Mn,"__esModule",{value:!0}),Mn.NetworkPdfManager=Mn.LocalPdfManager=void 0;var In=ti(2),Ln=ti(7),jn=ti(3),Cn=ti(9),Tn=ti(8);function Rn(Bn){if(Bn){const Nn=(0,In.createValidAbsoluteUrl)(Bn);if(Nn)return Nn.href;(0,In.warn)(`Invalid absolute docBaseUrl: "${Bn}".`)}return null}class ui{constructor(Nn){var Hn;this.constructor===ui&&(0,In.unreachable)("Cannot initialize BasePdfManager."),this._docBaseUrl=Rn(Nn.docBaseUrl),this._docId=Nn.docId,this._password=Nn.password,this.enableXfa=Nn.enableXfa,(Hn=Nn.evaluatorOptions).isOffscreenCanvasSupported&&(Hn.isOffscreenCanvasSupported=In.FeatureTest.isOffscreenCanvasSupported),this.evaluatorOptions=Nn.evaluatorOptions}get docId(){return this._docId}get password(){return this._password}get docBaseUrl(){return this._docBaseUrl}get catalog(){return this.pdfDocument.catalog}ensureDoc(Nn,Hn){return this.ensure(this.pdfDocument,Nn,Hn)}ensureXRef(Nn,Hn){return this.ensure(this.pdfDocument.xref,Nn,Hn)}ensureCatalog(Nn,Hn){return this.ensure(this.pdfDocument.catalog,Nn,Hn)}getPage(Nn){return this.pdfDocument.getPage(Nn)}fontFallback(Nn,Hn){return this.pdfDocument.fontFallback(Nn,Hn)}loadXfaFonts(Nn,Hn){return this.pdfDocument.loadXfaFonts(Nn,Hn)}loadXfaImages(){return this.pdfDocument.loadXfaImages()}serializeXfaData(Nn){return this.pdfDocument.serializeXfaData(Nn)}cleanup(Nn=!1){return this.pdfDocument.cleanup(Nn)}async ensure(Nn,Hn,On){(0,In.unreachable)("Abstract method `ensure` called")}requestRange(Nn,Hn){(0,In.unreachable)("Abstract method `requestRange` called")}requestLoadedStream(Nn=!1){(0,In.unreachable)("Abstract method `requestLoadedStream` called")}sendProgressiveData(Nn){(0,In.unreachable)("Abstract method `sendProgressiveData` called")}updatePassword(Nn){this._password=Nn}terminate(Nn){(0,In.unreachable)("Abstract method `terminate` called")}}class si extends ui{constructor(Nn){super(Nn);const Hn=new Tn.Stream(Nn.source);this.pdfDocument=new Cn.PDFDocument(this,Hn),this._loadedStreamPromise=Promise.resolve(Hn)}async ensure(Nn,Hn,On){const hi=Nn[Hn];return typeof hi=="function"?hi.apply(Nn,On):hi}requestRange(Nn,Hn){return Promise.resolve()}requestLoadedStream(Nn=!1){return this._loadedStreamPromise}terminate(Nn){}}Mn.LocalPdfManager=si;class ei extends ui{constructor(Nn){super(Nn),this.streamManager=new Ln.ChunkedStreamManager(Nn.source,{msgHandler:Nn.handler,length:Nn.length,disableAutoFetch:Nn.disableAutoFetch,rangeChunkSize:Nn.rangeChunkSize}),this.pdfDocument=new Cn.PDFDocument(this,this.streamManager.getStream())}async ensure(Nn,Hn,On){try{const hi=Nn[Hn];return typeof hi=="function"?hi.apply(Nn,On):hi}catch(hi){if(!(hi instanceof jn.MissingDataException))throw hi;return await this.requestRange(hi.begin,hi.end),this.ensure(Nn,Hn,On)}}requestRange(Nn,Hn){return this.streamManager.requestRange(Nn,Hn)}requestLoadedStream(Nn=!1){return this.streamManager.requestAllChunks(Nn)}sendProgressiveData(Nn){this.streamManager.onReceiveData({chunk:Nn})}terminate(Nn){this.streamManager.abort(Nn)}}Mn.NetworkPdfManager=ei},(oi,Mn,ti)=>{Object.defineProperty(Mn,"__esModule",{value:!0}),Mn.ChunkedStreamManager=Mn.ChunkedStream=void 0;var In=ti(3),Ln=ti(2),jn=ti(8);class Cn extends jn.Stream{constructor(ui,si,ei){super(new Uint8Array(ui),0,ui,null),this.chunkSize=si,this._loadedChunks=new Set,this.numChunks=Math.ceil(ui/si),this.manager=ei,this.progressiveDataLength=0,this.lastSuccessfulEnsureByteChunk=-1}getMissingChunks(){const ui=[];for(let si=0,ei=this.numChunks;si<ei;++si)this._loadedChunks.has(si)||ui.push(si);return ui}get numChunksLoaded(){return this._loadedChunks.size}get isDataLoaded(){return this.numChunksLoaded===this.numChunks}onReceiveData(ui,si){const ei=this.chunkSize;if(ui%ei!==0)throw new Error(`Bad begin offset: ${ui}`);const Bn=ui+si.byteLength;if(Bn%ei!==0&&Bn!==this.bytes.length)throw new Error(`Bad end offset: ${Bn}`);this.bytes.set(new Uint8Array(si),ui);const Nn=Math.floor(ui/ei),Hn=Math.floor((Bn-1)/ei)+1;for(let On=Nn;On<Hn;++On)this._loadedChunks.add(On)}onReceiveProgressiveData(ui){let si=this.progressiveDataLength;const ei=Math.floor(si/this.chunkSize);this.bytes.set(new Uint8Array(ui),si),si+=ui.byteLength,this.progressiveDataLength=si;const Bn=si>=this.end?this.numChunks:Math.floor(si/this.chunkSize);for(let Nn=ei;Nn<Bn;++Nn)this._loadedChunks.add(Nn)}ensureByte(ui){if(ui<this.progressiveDataLength)return;const si=Math.floor(ui/this.chunkSize);if(!(si>this.numChunks)&&si!==this.lastSuccessfulEnsureByteChunk){if(!this._loadedChunks.has(si))throw new In.MissingDataException(ui,ui+1);this.lastSuccessfulEnsureByteChunk=si}}ensureRange(ui,si){if(ui>=si||si<=this.progressiveDataLength)return;const ei=Math.floor(ui/this.chunkSize);if(ei>this.numChunks)return;const Bn=Math.min(Math.floor((si-1)/this.chunkSize)+1,this.numChunks);for(let Nn=ei;Nn<Bn;++Nn)if(!this._loadedChunks.has(Nn))throw new In.MissingDataException(ui,si)}nextEmptyChunk(ui){const si=this.numChunks;for(let ei=0;ei<si;++ei){const Bn=(ui+ei)%si;if(!this._loadedChunks.has(Bn))return Bn}return null}hasChunk(ui){return this._loadedChunks.has(ui)}getByte(){const ui=this.pos;return ui>=this.end?-1:(ui>=this.progressiveDataLength&&this.ensureByte(ui),this.bytes[this.pos++])}getBytes(ui){const si=this.bytes,ei=this.pos,Bn=this.end;if(!ui)return Bn>this.progressiveDataLength&&this.ensureRange(ei,Bn),si.subarray(ei,Bn);let Nn=ei+ui;return Nn>Bn&&(Nn=Bn),Nn>this.progressiveDataLength&&this.ensureRange(ei,Nn),this.pos=Nn,si.subarray(ei,Nn)}getByteRange(ui,si){return ui<0&&(ui=0),si>this.end&&(si=this.end),si>this.progressiveDataLength&&this.ensureRange(ui,si),this.bytes.subarray(ui,si)}makeSubStream(ui,si,ei=null){si?ui+si>this.progressiveDataLength&&this.ensureRange(ui,ui+si):ui>=this.progressiveDataLength&&this.ensureByte(ui);function Bn(){}Bn.prototype=Object.create(this),Bn.prototype.getMissingChunks=function(){const Hn=this.chunkSize,On=Math.floor(this.start/Hn),hi=Math.floor((this.end-1)/Hn)+1,Xn=[];for(let ii=On;ii<hi;++ii)this._loadedChunks.has(ii)||Xn.push(ii);return Xn},Object.defineProperty(Bn.prototype,"isDataLoaded",{get(){return this.numChunksLoaded===this.numChunks?!0:this.getMissingChunks().length===0},configurable:!0});const Nn=new Bn;return Nn.pos=Nn.start=ui,Nn.end=ui+si||this.end,Nn.dict=ei,Nn}getBaseStreams(){return[this]}}Mn.ChunkedStream=Cn;class Tn{constructor(ui,si){this.length=si.length,this.chunkSize=si.rangeChunkSize,this.stream=new Cn(this.length,this.chunkSize,this),this.pdfNetworkStream=ui,this.disableAutoFetch=si.disableAutoFetch,this.msgHandler=si.msgHandler,this.currRequestId=0,this._chunksNeededByRequest=new Map,this._requestsByChunk=new Map,this._promisesByRequest=new Map,this.progressiveDataLength=0,this.aborted=!1,this._loadedStreamCapability=new Ln.PromiseCapability}sendRequest(ui,si){const ei=this.pdfNetworkStream.getRangeReader(ui,si);ei.isStreamingSupported||(ei.onProgress=this.onProgress.bind(this));let Bn=[],Nn=0;return new Promise((Hn,On)=>{const hi=({value:Xn,done:ii})=>{try{if(ii){const ri=(0,In.arrayBuffersToBytes)(Bn);Bn=null,Hn(ri);return}Nn+=Xn.byteLength,ei.isStreamingSupported&&this.onProgress({loaded:Nn}),Bn.push(Xn),ei.read().then(hi,On)}catch(ri){On(ri)}};ei.read().then(hi,On)}).then(Hn=>{this.aborted||this.onReceiveData({chunk:Hn,begin:ui})})}requestAllChunks(ui=!1){if(!ui){const si=this.stream.getMissingChunks();this._requestChunks(si)}return this._loadedStreamCapability.promise}_requestChunks(ui){const si=this.currRequestId++,ei=new Set;this._chunksNeededByRequest.set(si,ei);for(const Hn of ui)this.stream.hasChunk(Hn)||ei.add(Hn);if(ei.size===0)return Promise.resolve();const Bn=new Ln.PromiseCapability;this._promisesByRequest.set(si,Bn);const Nn=[];for(const Hn of ei){let On=this._requestsByChunk.get(Hn);On||(On=[],this._requestsByChunk.set(Hn,On),Nn.push(Hn)),On.push(si)}if(Nn.length>0){const Hn=this.groupChunks(Nn);for(const On of Hn){const hi=On.beginChunk*this.chunkSize,Xn=Math.min(On.endChunk*this.chunkSize,this.length);this.sendRequest(hi,Xn).catch(Bn.reject)}}return Bn.promise.catch(Hn=>{if(!this.aborted)throw Hn})}getStream(){return this.stream}requestRange(ui,si){si=Math.min(si,this.length);const ei=this.getBeginChunk(ui),Bn=this.getEndChunk(si),Nn=[];for(let Hn=ei;Hn<Bn;++Hn)Nn.push(Hn);return this._requestChunks(Nn)}requestRanges(ui=[]){const si=[];for(const ei of ui){const Bn=this.getBeginChunk(ei.begin),Nn=this.getEndChunk(ei.end);for(let Hn=Bn;Hn<Nn;++Hn)si.includes(Hn)||si.push(Hn)}return si.sort(function(ei,Bn){return ei-Bn}),this._requestChunks(si)}groupChunks(ui){const si=[];let ei=-1,Bn=-1;for(let Nn=0,Hn=ui.length;Nn<Hn;++Nn){const On=ui[Nn];ei<0&&(ei=On),Bn>=0&&Bn+1!==On&&(si.push({beginChunk:ei,endChunk:Bn+1}),ei=On),Nn+1===ui.length&&si.push({beginChunk:ei,endChunk:On+1}),Bn=On}return si}onProgress(ui){this.msgHandler.send("DocProgress",{loaded:this.stream.numChunksLoaded*this.chunkSize+ui.loaded,total:this.length})}onReceiveData(ui){const si=ui.chunk,ei=ui.begin===void 0,Bn=ei?this.progressiveDataLength:ui.begin,Nn=Bn+si.byteLength,Hn=Math.floor(Bn/this.chunkSize),On=Nn<this.length?Math.floor(Nn/this.chunkSize):Math.ceil(Nn/this.chunkSize);ei?(this.stream.onReceiveProgressiveData(si),this.progressiveDataLength=Nn):this.stream.onReceiveData(Bn,si),this.stream.isDataLoaded&&this._loadedStreamCapability.resolve(this.stream);const hi=[];for(let Xn=Hn;Xn<On;++Xn){const ii=this._requestsByChunk.get(Xn);if(ii){this._requestsByChunk.delete(Xn);for(const ri of ii){const di=this._chunksNeededByRequest.get(ri);di.has(Xn)&&di.delete(Xn),!(di.size>0)&&hi.push(ri)}}}if(!this.disableAutoFetch&&this._requestsByChunk.size===0){let Xn;if(this.stream.numChunksLoaded===1){const ii=this.stream.numChunks-1;this.stream.hasChunk(ii)||(Xn=ii)}else Xn=this.stream.nextEmptyChunk(On);Number.isInteger(Xn)&&this._requestChunks([Xn])}for(const Xn of hi){const ii=this._promisesByRequest.get(Xn);this._promisesByRequest.delete(Xn),ii.resolve()}this.msgHandler.send("DocProgress",{loaded:this.stream.numChunksLoaded*this.chunkSize,total:this.length})}onError(ui){this._loadedStreamCapability.reject(ui)}getBeginChunk(ui){return Math.floor(ui/this.chunkSize)}getEndChunk(ui){return Math.floor((ui-1)/this.chunkSize)+1}abort(ui){var si;this.aborted=!0,(si=this.pdfNetworkStream)==null||si.cancelAllRequests(ui);for(const ei of this._promisesByRequest.values())ei.reject(ui)}}Mn.ChunkedStreamManager=Tn},(oi,Mn,ti)=>{Object.defineProperty(Mn,"__esModule",{value:!0}),Mn.StringStream=Mn.Stream=Mn.NullStream=void 0;var In=ti(5),Ln=ti(2);class jn extends In.BaseStream{constructor(ui,si,ei,Bn){super(),this.bytes=ui instanceof Uint8Array?ui:new Uint8Array(ui),this.start=si||0,this.pos=this.start,this.end=si+ei||this.bytes.length,this.dict=Bn}get length(){return this.end-this.start}get isEmpty(){return this.length===0}getByte(){return this.pos>=this.end?-1:this.bytes[this.pos++]}getBytes(ui){const si=this.bytes,ei=this.pos,Bn=this.end;if(!ui)return si.subarray(ei,Bn);let Nn=ei+ui;return Nn>Bn&&(Nn=Bn),this.pos=Nn,si.subarray(ei,Nn)}getByteRange(ui,si){return ui<0&&(ui=0),si>this.end&&(si=this.end),this.bytes.subarray(ui,si)}reset(){this.pos=this.start}moveStart(){this.start=this.pos}makeSubStream(ui,si,ei=null){return new jn(this.bytes.buffer,ui,si,ei)}}Mn.Stream=jn;class Cn extends jn{constructor(ui){super((0,Ln.stringToBytes)(ui))}}Mn.StringStream=Cn;class Tn extends jn{constructor(){super(new Uint8Array(0))}}Mn.NullStream=Tn},(oi,Mn,ti)=>{var yi,qc,xi,Vc;Object.defineProperty(Mn,"__esModule",{value:!0}),Mn.Page=Mn.PDFDocument=void 0;var In=ti(2),Ln=ti(10),jn=ti(3),Cn=ti(4),Tn=ti(51),Rn=ti(5),ui=ti(74),si=ti(66),ei=ti(68),Bn=ti(102),Nn=ti(16),Hn=ti(8),On=ti(76),hi=ti(64),Xn=ti(13),ii=ti(18),ri=ti(72),di=ti(73),fi=ti(77),wi=ti(103);const Jn=1,pi=[0,0,612,792];class Zn{constructor({pdfManager:Vn,xref:Yn,pageIndex:ci,pageDict:bi,ref:Ci,globalIdFactory:Fi,fontCache:zi,builtInCMapCache:_i,standardFontDataCache:ji,globalImageCache:Pi,systemFontCache:Ni,nonBlendModesSet:Si,xfaFactory:Ti}){Ki(this,yi);this.pdfManager=Vn,this.pageIndex=ci,this.pageDict=bi,this.xref=Yn,this.ref=Ci,this.fontCache=zi,this.builtInCMapCache=_i,this.standardFontDataCache=ji,this.globalImageCache=Pi,this.systemFontCache=Ni,this.nonBlendModesSet=Si,this.evaluatorOptions=Vn.evaluatorOptions,this.resourcesPromise=null,this.xfaFactory=Ti;const Ri={obj:0};this._localIdFactory=class extends Fi{static createObjId(){return`p${ci}_${++Ri.obj}`}static getPageObjId(){return`p${Ci.toString()}`}}}_getInheritableProperty(Vn,Yn=!1){const ci=(0,jn.getInheritableProperty)({dict:this.pageDict,key:Vn,getArray:Yn,stopWhenFound:!1});return Array.isArray(ci)?ci.length===1||!(ci[0]instanceof Cn.Dict)?ci[0]:Cn.Dict.merge({xref:this.xref,dictArray:ci}):ci}get content(){return this.pageDict.getArray("Contents")}get resources(){const Vn=this._getInheritableProperty("Resources");return(0,In.shadow)(this,"resources",Vn instanceof Cn.Dict?Vn:Cn.Dict.empty)}_getBoundingBox(Vn){if(this.xfaData)return this.xfaData.bbox;let Yn=this._getInheritableProperty(Vn,!0);if(Array.isArray(Yn)&&Yn.length===4){if(Yn=In.Util.normalizeRect(Yn),Yn[2]-Yn[0]>0&&Yn[3]-Yn[1]>0)return Yn;(0,In.warn)(`Empty, or invalid, /${Vn} entry.`)}return null}get mediaBox(){return(0,In.shadow)(this,"mediaBox",this._getBoundingBox("MediaBox")||pi)}get cropBox(){return(0,In.shadow)(this,"cropBox",this._getBoundingBox("CropBox")||this.mediaBox)}get userUnit(){let Vn=this.pageDict.get("UserUnit");return(typeof Vn!="number"||Vn<=0)&&(Vn=Jn),(0,In.shadow)(this,"userUnit",Vn)}get view(){const{cropBox:Vn,mediaBox:Yn}=this;if(Vn!==Yn&&!(0,In.isArrayEqual)(Vn,Yn)){const ci=In.Util.intersect(Vn,Yn);if(ci&&ci[2]-ci[0]>0&&ci[3]-ci[1]>0)return(0,In.shadow)(this,"view",ci);(0,In.warn)("Empty /CropBox and /MediaBox intersection.")}return(0,In.shadow)(this,"view",Yn)}get rotate(){let Vn=this._getInheritableProperty("Rotate")||0;return Vn%90!==0?Vn=0:Vn>=360?Vn%=360:Vn<0&&(Vn=(Vn%360+360)%360),(0,In.shadow)(this,"rotate",Vn)}_onSubStreamError(Vn,Yn){if(this.evaluatorOptions.ignoreErrors){(0,In.warn)(`getContentStream - ignoring sub-stream (${Yn}): "${Vn}".`);return}throw Vn}getContentStream(){return this.pdfManager.ensure(this,"content").then(Vn=>Vn instanceof Rn.BaseStream?Vn:Array.isArray(Vn)?new ii.StreamsSequenceStream(Vn,this._onSubStreamError.bind(this)):new Hn.NullStream)}get xfaData(){return(0,In.shadow)(this,"xfaData",this.xfaFactory?{bbox:this.xfaFactory.getBoundingBox(this.pageIndex)}:null)}async saveNewAnnotations(Vn,Yn,ci,bi){if(this.xfaFactory)throw new Error("XFA: Cannot save new annotations.");const Ci=new Xn.PartialEvaluator({xref:this.xref,handler:Vn,pageIndex:this.pageIndex,idFactory:this._localIdFactory,fontCache:this.fontCache,builtInCMapCache:this.builtInCMapCache,standardFontDataCache:this.standardFontDataCache,globalImageCache:this.globalImageCache,systemFontCache:this.systemFontCache,options:this.evaluatorOptions}),Fi=new Cn.RefSet,zi=new Cn.RefSet;Qi(this,yi,qc).call(this,ci,Fi,zi);const _i=this.pageDict,ji=this.annotations.filter(Ri=>!(Ri instanceof Cn.Ref&&Fi.has(Ri))),Pi=await Ln.AnnotationFactory.saveNewAnnotations(Ci,Yn,ci,bi);for(const{ref:Ri}of Pi.annotations)Ri instanceof Cn.Ref&&!zi.has(Ri)&&ji.push(Ri);const Ni=_i.get("Annots");_i.set("Annots",ji);const Si=[];await(0,di.writeObject)(this.ref,_i,Si,this.xref),Ni&&_i.set("Annots",Ni);const Ti=Pi.dependencies;return Ti.push({ref:this.ref,data:Si.join("")},...Pi.annotations),Ti}save(Vn,Yn,ci){const bi=new Xn.PartialEvaluator({xref:this.xref,handler:Vn,pageIndex:this.pageIndex,idFactory:this._localIdFactory,fontCache:this.fontCache,builtInCMapCache:this.builtInCMapCache,standardFontDataCache:this.standardFontDataCache,globalImageCache:this.globalImageCache,systemFontCache:this.systemFontCache,options:this.evaluatorOptions});return this._parsedAnnotations.then(function(Ci){const Fi=[];for(const zi of Ci)zi.mustBePrinted(ci)&&Fi.push(zi.save(bi,Yn,ci).catch(function(_i){return(0,In.warn)(`save - ignoring annotation data during "${Yn.name}" task: "${_i}".`),null}));return Promise.all(Fi).then(function(zi){return zi.filter(_i=>!!_i)})})}loadResources(Vn){return this.resourcesPromise||(this.resourcesPromise=this.pdfManager.ensure(this,"resources")),this.resourcesPromise.then(()=>new On.ObjectLoader(this.resources,Vn,this.xref).load())}getOperatorList({handler:Vn,sink:Yn,task:ci,intent:bi,cacheKey:Ci,annotationStorage:Fi=null}){const zi=this.getContentStream(),_i=this.loadResources(["ColorSpace","ExtGState","Font","Pattern","Properties","Shading","XObject"]),ji=new Xn.PartialEvaluator({xref:this.xref,handler:Vn,pageIndex:this.pageIndex,idFactory:this._localIdFactory,fontCache:this.fontCache,builtInCMapCache:this.builtInCMapCache,standardFontDataCache:this.standardFontDataCache,globalImageCache:this.globalImageCache,systemFontCache:this.systemFontCache,options:this.evaluatorOptions}),Pi=this.xfaFactory?null:(0,jn.getNewAnnotationsMap)(Fi);let Ni=null,Si=Promise.resolve(null);if(Pi){const Mi=Pi.get(this.pageIndex);if(Mi){const Ui=this.pdfManager.ensureDoc("annotationGlobals");let Hi;const Li=new Set;for(const{bitmapId:$i,bitmap:Bi}of Mi)$i&&!Bi&&!Li.has($i)&&Li.add($i);const{isOffscreenCanvasSupported:Ei}=this.evaluatorOptions;if(Li.size>0){const $i=Mi.slice();for(const[Bi,Oi]of Fi)Bi.startsWith(In.AnnotationEditorPrefix)&&Oi.bitmap&&Li.has(Oi.bitmapId)&&$i.push(Oi);Hi=Ln.AnnotationFactory.generateImages($i,this.xref,Ei)}else Hi=Ln.AnnotationFactory.generateImages(Mi,this.xref,Ei);Ni=new Cn.RefSet,Qi(this,yi,qc).call(this,Mi,Ni,null),Si=Ui.then($i=>$i?Ln.AnnotationFactory.printNewAnnotations($i,ji,ci,Mi,Hi):null)}}const Ri=Promise.all([zi,_i]).then(([Mi])=>{const Ui=new hi.OperatorList(bi,Yn);return Vn.send("StartRenderPage",{transparency:ji.hasBlendModes(this.resources,this.nonBlendModesSet),pageIndex:this.pageIndex,cacheKey:Ci}),ji.getOperatorList({stream:Mi,task:ci,resources:this.resources,operatorList:Ui}).then(function(){return Ui})});return Promise.all([Ri,this._parsedAnnotations,Si]).then(function([Mi,Ui,Hi]){if(Hi){Ui=Ui.filter(Xi=>!(Xi.ref&&Ni.has(Xi.ref)));for(let Xi=0,Gi=Hi.length;Xi<Gi;Xi++){const qi=Hi[Xi];if(qi.refToReplace){const ns=Ui.findIndex(is=>is.ref&&(0,Cn.isRefsEqual)(is.ref,qi.refToReplace));ns>=0&&(Ui.splice(ns,1,qi),Hi.splice(Xi--,1),Gi--)}}Ui=Ui.concat(Hi)}if(Ui.length===0||bi&In.RenderingIntentFlag.ANNOTATIONS_DISABLE)return Mi.flush(!0),{length:Mi.totalLength};const Li=!!(bi&In.RenderingIntentFlag.ANNOTATIONS_FORMS),Ei=!!(bi&In.RenderingIntentFlag.ANY),$i=!!(bi&In.RenderingIntentFlag.DISPLAY),Bi=!!(bi&In.RenderingIntentFlag.PRINT),Oi=[];for(const Xi of Ui)(Ei||$i&&Xi.mustBeViewed(Fi,Li)||Bi&&Xi.mustBePrinted(Fi))&&Oi.push(Xi.getOperatorList(ji,ci,bi,Li,Fi).catch(function(Gi){return(0,In.warn)(`getOperatorList - ignoring annotation data during "${ci.name}" task: "${Gi}".`),{opList:null,separateForm:!1,separateCanvas:!1}}));return Promise.all(Oi).then(function(Xi){let Gi=!1,qi=!1;for(const{opList:ns,separateForm:is,separateCanvas:as}of Xi)Mi.addOpList(ns),Gi||(Gi=is),qi||(qi=as);return Mi.flush(!0,{form:Gi,canvas:qi}),{length:Mi.totalLength}})})}extractTextContent({handler:Vn,task:Yn,includeMarkedContent:ci,disableNormalization:bi,sink:Ci}){const Fi=this.getContentStream(),zi=this.loadResources(["ExtGState","Font","Properties","XObject"]);return Promise.all([Fi,zi]).then(([ji])=>new Xn.PartialEvaluator({xref:this.xref,handler:Vn,pageIndex:this.pageIndex,idFactory:this._localIdFactory,fontCache:this.fontCache,builtInCMapCache:this.builtInCMapCache,standardFontDataCache:this.standardFontDataCache,globalImageCache:this.globalImageCache,systemFontCache:this.systemFontCache,options:this.evaluatorOptions}).getTextContent({stream:ji,task:Yn,resources:this.resources,includeMarkedContent:ci,disableNormalization:bi,sink:Ci,viewBox:this.view}))}async getStructTree(){const Vn=await this.pdfManager.ensureCatalog("structTreeRoot");return Vn?(await this._parsedAnnotations,(await this.pdfManager.ensure(this,"_parseStructTree",[Vn])).serializable):null}_parseStructTree(Vn){const Yn=new ri.StructTreePage(Vn,this.pageDict);return Yn.parse(this.ref),Yn}async getAnnotationsData(Vn,Yn,ci){const bi=await this._parsedAnnotations;if(bi.length===0)return bi;const Ci=[],Fi=[];let zi;const _i=!!(ci&In.RenderingIntentFlag.ANY),ji=!!(ci&In.RenderingIntentFlag.DISPLAY),Pi=!!(ci&In.RenderingIntentFlag.PRINT);for(const Ni of bi){const Si=_i||ji&&Ni.viewable;(Si||Pi&&Ni.printable)&&Ci.push(Ni.data),Ni.hasTextContent&&Si&&(zi||(zi=new Xn.PartialEvaluator({xref:this.xref,handler:Vn,pageIndex:this.pageIndex,idFactory:this._localIdFactory,fontCache:this.fontCache,builtInCMapCache:this.builtInCMapCache,standardFontDataCache:this.standardFontDataCache,globalImageCache:this.globalImageCache,systemFontCache:this.systemFontCache,options:this.evaluatorOptions})),Fi.push(Ni.extractTextContent(zi,Yn,[-1/0,-1/0,1/0,1/0]).catch(function(Ti){(0,In.warn)(`getAnnotationsData - ignoring textContent during "${Yn.name}" task: "${Ti}".`)})))}return await Promise.all(Fi),Ci}get annotations(){const Vn=this._getInheritableProperty("Annots");return(0,In.shadow)(this,"annotations",Array.isArray(Vn)?Vn:[])}get _parsedAnnotations(){const Vn=this.pdfManager.ensure(this,"annotations").then(async Yn=>{if(Yn.length===0)return Yn;const ci=await this.pdfManager.ensureDoc("annotationGlobals");if(!ci)return[];const bi=[];for(const zi of Yn)bi.push(Ln.AnnotationFactory.create(this.xref,zi,ci,this._localIdFactory,!1,this.ref).catch(function(_i){return(0,In.warn)(`_parsedAnnotations: "${_i}".`),null}));const Ci=[];let Fi;for(const zi of await Promise.all(bi))if(zi){if(zi instanceof Ln.PopupAnnotation){(Fi||(Fi=[])).push(zi);continue}Ci.push(zi)}return Fi&&Ci.push(...Fi),Ci});return(0,In.shadow)(this,"_parsedAnnotations",Vn)}get jsActions(){const Vn=(0,jn.collectActions)(this.xref,this.pageDict,In.PageActionEventType);return(0,In.shadow)(this,"jsActions",Vn)}}yi=new WeakSet,qc=function(Vn,Yn,ci){for(const bi of Vn)if(bi.id){const Ci=Cn.Ref.fromString(bi.id);if(!Ci){(0,In.warn)(`A non-linked annotation cannot be modified: ${bi.id}`);continue}if(bi.deleted){Yn.put(Ci);continue}ci==null||ci.put(Ci),bi.ref=Ci,delete bi.id}},Mn.Page=Zn;const Gn=new Uint8Array([37,80,68,70,45]),mi=new Uint8Array([115,116,97,114,116,120,114,101,102]),Wn=new Uint8Array([101,110,100,111,98,106]),ni=1024,li="\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0";function Ai(ai,Vn,Yn=1024,ci=!1){const bi=Vn.length,Ci=ai.peekBytes(Yn),Fi=Ci.length-bi;if(Fi<=0)return!1;if(ci){const zi=bi-1;let _i=Ci.length-1;for(;_i>=zi;){let ji=0;for(;ji<bi&&Ci[_i-ji]===Vn[zi-ji];)ji++;if(ji>=bi)return ai.pos+=_i-zi,!0;_i--}}else{let zi=0;for(;zi<=Fi;){let _i=0;for(;_i<bi&&Ci[zi+_i]===Vn[_i];)_i++;if(_i>=bi)return ai.pos+=zi,!0;zi++}}return!1}class gi{constructor(Vn,Yn){Ki(this,xi);if(Yn.length<=0)throw new In.InvalidPDFException("The PDF file is empty, i.e. its size is zero bytes.");this.pdfManager=Vn,this.stream=Yn,this.xref=new wi.XRef(Yn,Vn),this._pagePromises=new Map,this._version=null;const ci={font:0};this._globalIdFactory=class{static getDocId(){return`g_${Vn.docId}`}static createFontId(){return`f${++ci.font}`}static createObjId(){(0,In.unreachable)("Abstract method `createObjId` called.")}static getPageObjId(){(0,In.unreachable)("Abstract method `getPageObjId` called.")}}}parse(Vn){this.xref.parse(Vn),this.catalog=new si.Catalog(this.pdfManager,this.xref)}get linearization(){let Vn=null;try{Vn=Nn.Linearization.create(this.stream)}catch(Yn){if(Yn instanceof jn.MissingDataException)throw Yn;(0,In.info)(Yn)}return(0,In.shadow)(this,"linearization",Vn)}get startXRef(){const Vn=this.stream;let Yn=0;if(this.linearization)Vn.reset(),Ai(Vn,Wn)&&(Yn=Vn.pos+6-Vn.start);else{const bi=mi.length;let Ci=!1,Fi=Vn.end;for(;!Ci&&Fi>0;)Fi-=1024-bi,Fi<0&&(Fi=0),Vn.pos=Fi,Ci=Ai(Vn,mi,1024,!0);if(Ci){Vn.skip(9);let zi;do zi=Vn.getByte();while((0,jn.isWhiteSpace)(zi));let _i="";for(;zi>=32&&zi<=57;)_i+=String.fromCharCode(zi),zi=Vn.getByte();Yn=parseInt(_i,10),isNaN(Yn)&&(Yn=0)}}return(0,In.shadow)(this,"startXRef",Yn)}checkHeader(){const Vn=this.stream;if(Vn.reset(),!Ai(Vn,Gn))return;Vn.moveStart(),Vn.skip(Gn.length);let Yn="",ci;for(;(ci=Vn.getByte())>32&&Yn.length<7;)Yn+=String.fromCharCode(ci);jn.PDF_VERSION_REGEXP.test(Yn)?this._version=Yn:(0,In.warn)(`Invalid PDF header version: ${Yn}`)}parseStartXRef(){this.xref.setStartXRef(this.startXRef)}get numPages(){let Vn=0;return this.catalog.hasActualNumPages?Vn=this.catalog.numPages:this.xfaFactory?Vn=this.xfaFactory.getNumPages():this.linearization?Vn=this.linearization.numPages:Vn=this.catalog.numPages,(0,In.shadow)(this,"numPages",Vn)}_hasOnlyDocumentSignatures(Vn,Yn=0){return Array.isArray(Vn)?Vn.every(bi=>{if(bi=this.xref.fetchIfRef(bi),!(bi instanceof Cn.Dict))return!1;if(bi.has("Kids"))return++Yn>10?((0,In.warn)("_hasOnlyDocumentSignatures: maximum recursion depth reached"),!1):this._hasOnlyDocumentSignatures(bi.get("Kids"),Yn);const Ci=(0,Cn.isName)(bi.get("FT"),"Sig"),Fi=bi.get("Rect"),zi=Array.isArray(Fi)&&Fi.every(_i=>_i===0);return Ci&&zi}):!1}get _xfaStreams(){const Vn=this.catalog.acroForm;if(!Vn)return null;const Yn=Vn.get("XFA"),ci={"xdp:xdp":"",template:"",datasets:"",config:"",connectionSet:"",localeSet:"",stylesheet:"","/xdp:xdp":""};if(Yn instanceof Rn.BaseStream&&!Yn.isEmpty)return ci["xdp:xdp"]=Yn,ci;if(!Array.isArray(Yn)||Yn.length===0)return null;for(let bi=0,Ci=Yn.length;bi<Ci;bi+=2){let Fi;if(bi===0?Fi="xdp:xdp":bi===Ci-2?Fi="/xdp:xdp":Fi=Yn[bi],!ci.hasOwnProperty(Fi))continue;const zi=this.xref.fetchIfRef(Yn[bi+1]);!(zi instanceof Rn.BaseStream)||zi.isEmpty||(ci[Fi]=zi)}return ci}get xfaDatasets(){const Vn=this._xfaStreams;if(!Vn)return(0,In.shadow)(this,"xfaDatasets",null);for(const Yn of["datasets","xdp:xdp"]){const ci=Vn[Yn];if(ci)try{const bi=(0,In.stringToUTF8String)(ci.getString()),Ci={[Yn]:bi};return(0,In.shadow)(this,"xfaDatasets",new Bn.DatasetReader(Ci))}catch{(0,In.warn)("XFA - Invalid utf-8 string.");break}}return(0,In.shadow)(this,"xfaDatasets",null)}get xfaData(){const Vn=this._xfaStreams;if(!Vn)return null;const Yn=Object.create(null);for(const[ci,bi]of Object.entries(Vn))if(bi)try{Yn[ci]=(0,In.stringToUTF8String)(bi.getString())}catch{return(0,In.warn)("XFA - Invalid utf-8 string."),null}return Yn}get xfaFactory(){let Vn;return this.pdfManager.enableXfa&&this.catalog.needsRendering&&this.formInfo.hasXfa&&!this.formInfo.hasAcroForm&&(Vn=this.xfaData),(0,In.shadow)(this,"xfaFactory",Vn?new fi.XFAFactory(Vn):null)}get isPureXfa(){return this.xfaFactory?this.xfaFactory.isValid():!1}get htmlForXfa(){return this.xfaFactory?this.xfaFactory.getPages():null}async loadXfaImages(){const Vn=await this.pdfManager.ensureCatalog("xfaImages");if(!Vn)return;const Yn=Vn.getKeys();await new On.ObjectLoader(Vn,Yn,this.xref).load();const bi=new Map;for(const Ci of Yn){const Fi=Vn.get(Ci);Fi instanceof Rn.BaseStream&&bi.set(Ci,Fi.getBytes())}this.xfaFactory.setImages(bi)}async loadXfaFonts(Vn,Yn){const ci=await this.pdfManager.ensureCatalog("acroForm");if(!ci)return;const bi=await ci.getAsync("DR");if(!(bi instanceof Cn.Dict))return;await new On.ObjectLoader(bi,["Font"],this.xref).load();const Fi=bi.get("Font");if(!(Fi instanceof Cn.Dict))return;const zi=Object.assign(Object.create(null),this.pdfManager.evaluatorOptions);zi.useSystemFonts=!1;const _i=new Xn.PartialEvaluator({xref:this.xref,handler:Vn,pageIndex:-1,idFactory:this._globalIdFactory,fontCache:this.catalog.fontCache,builtInCMapCache:this.catalog.builtInCMapCache,standardFontDataCache:this.catalog.standardFontDataCache,options:zi}),ji=new hi.OperatorList,Pi=[],Ni={get font(){return Pi.at(-1)},set font(Ui){Pi.push(Ui)},clone(){return this}},Si=new Map;Fi.forEach((Ui,Hi)=>{Si.set(Ui,Hi)});const Ti=[];for(const[Ui,Hi]of Si){const Li=Hi.get("FontDescriptor");if(!(Li instanceof Cn.Dict))continue;let Ei=Li.get("FontFamily");Ei=Ei.replaceAll(/[ ]+(\d)/g,"$1");const $i=Li.get("FontWeight"),Bi=-Li.get("ItalicAngle"),Oi={fontFamily:Ei,fontWeight:$i,italicAngle:Bi};(0,jn.validateCSSFont)(Oi)&&Ti.push(_i.handleSetFont(bi,[Cn.Name.get(Ui),1],null,ji,Yn,Ni,null,Oi).catch(function(Xi){return(0,In.warn)(`loadXfaFonts: "${Xi}".`),null}))}await Promise.all(Ti);const Ri=this.xfaFactory.setFonts(Pi);if(!Ri)return;zi.ignoreErrors=!0,Ti.length=0,Pi.length=0;const Mi=new Set;for(const Ui of Ri)(0,Tn.getXfaFontName)(`${Ui}-Regular`)||Mi.add(Ui);Mi.size&&Ri.push("PdfJS-Fallback");for(const Ui of Ri)if(!Mi.has(Ui))for(const Hi of[{name:"Regular",fontWeight:400,italicAngle:0},{name:"Bold",fontWeight:700,italicAngle:0},{name:"Italic",fontWeight:400,italicAngle:12},{name:"BoldItalic",fontWeight:700,italicAngle:12}]){const Li=`${Ui}-${Hi.name}`,Ei=(0,Tn.getXfaFontDict)(Li);Ti.push(_i.handleSetFont(bi,[Cn.Name.get(Li),1],null,ji,Yn,Ni,Ei,{fontFamily:Ui,fontWeight:Hi.fontWeight,italicAngle:Hi.italicAngle}).catch(function($i){return(0,In.warn)(`loadXfaFonts: "${$i}".`),null}))}await Promise.all(Ti),this.xfaFactory.appendFonts(Pi,Mi)}async serializeXfaData(Vn){return this.xfaFactory?this.xfaFactory.serializeData(Vn):null}get version(){return this.catalog.version||this._version}get formInfo(){const Vn={hasFields:!1,hasAcroForm:!1,hasXfa:!1,hasSignatures:!1},Yn=this.catalog.acroForm;if(!Yn)return(0,In.shadow)(this,"formInfo",Vn);try{const ci=Yn.get("Fields"),bi=Array.isArray(ci)&&ci.length>0;Vn.hasFields=bi;const Ci=Yn.get("XFA");Vn.hasXfa=Array.isArray(Ci)&&Ci.length>0||Ci instanceof Rn.BaseStream&&!Ci.isEmpty;const zi=!!(Yn.get("SigFlags")&1),_i=zi&&this._hasOnlyDocumentSignatures(ci);Vn.hasAcroForm=bi&&!_i,Vn.hasSignatures=zi}catch(ci){if(ci instanceof jn.MissingDataException)throw ci;(0,In.warn)(`Cannot fetch form information: "${ci}".`)}return(0,In.shadow)(this,"formInfo",Vn)}get documentInfo(){const Vn={PDFFormatVersion:this.version,Language:this.catalog.lang,EncryptFilterName:this.xref.encrypt?this.xref.encrypt.filterName:null,IsLinearized:!!this.linearization,IsAcroFormPresent:this.formInfo.hasAcroForm,IsXFAPresent:this.formInfo.hasXfa,IsCollectionPresent:!!this.catalog.collection,IsSignaturesPresent:this.formInfo.hasSignatures};let Yn;try{Yn=this.xref.trailer.get("Info")}catch(ci){if(ci instanceof jn.MissingDataException)throw ci;(0,In.info)("The document information dictionary is invalid.")}if(!(Yn instanceof Cn.Dict))return(0,In.shadow)(this,"documentInfo",Vn);for(const ci of Yn.getKeys()){const bi=Yn.get(ci);switch(ci){case"Title":case"Author":case"Subject":case"Keywords":case"Creator":case"Producer":case"CreationDate":case"ModDate":if(typeof bi=="string"){Vn[ci]=(0,In.stringToPDFString)(bi);continue}break;case"Trapped":if(bi instanceof Cn.Name){Vn[ci]=bi;continue}break;default:let Ci;switch(typeof bi){case"string":Ci=(0,In.stringToPDFString)(bi);break;case"number":case"boolean":Ci=bi;break;default:bi instanceof Cn.Name&&(Ci=bi);break}if(Ci===void 0){(0,In.warn)(`Bad value, for custom key "${ci}", in Info: ${bi}.`);continue}Vn.Custom||(Vn.Custom=Object.create(null)),Vn.Custom[ci]=Ci;continue}(0,In.warn)(`Bad value, for key "${ci}", in Info: ${bi}.`)}return(0,In.shadow)(this,"documentInfo",Vn)}get fingerprints(){function Vn(Fi){return typeof Fi=="string"&&Fi.length>0&&Fi!==li}function Yn(Fi){const zi=[];for(const _i of Fi){const ji=_i.toString(16);zi.push(ji.padStart(2,"0"))}return zi.join("")}const ci=this.xref.trailer.get("ID");let bi,Ci;return Array.isArray(ci)&&Vn(ci[0])?(bi=(0,In.stringToBytes)(ci[0]),ci[1]!==ci[0]&&Vn(ci[1])&&(Ci=(0,In.stringToBytes)(ci[1]))):bi=(0,ui.calculateMD5)(this.stream.getByteRange(0,ni),0,ni),(0,In.shadow)(this,"fingerprints",[Yn(bi),Ci?Yn(Ci):null])}async _getLinearizationPage(Vn){const{catalog:Yn,linearization:ci,xref:bi}=this,Ci=Cn.Ref.get(ci.objectNumberFirst,0);try{const Fi=await bi.fetchAsync(Ci);if(Fi instanceof Cn.Dict){let zi=Fi.getRaw("Type");if(zi instanceof Cn.Ref&&(zi=await bi.fetchAsync(zi)),(0,Cn.isName)(zi,"Page")||!Fi.has("Type")&&!Fi.has("Kids"))return Yn.pageKidsCountCache.has(Ci)||Yn.pageKidsCountCache.put(Ci,1),Yn.pageIndexCache.has(Ci)||Yn.pageIndexCache.put(Ci,0),[Fi,Ci]}throw new In.FormatError("The Linearization dictionary doesn't point to a valid Page dictionary.")}catch(Fi){return(0,In.warn)(`_getLinearizationPage: "${Fi.message}".`),Yn.getPageDict(Vn)}}getPage(Vn){const Yn=this._pagePromises.get(Vn);if(Yn)return Yn;const{catalog:ci,linearization:bi,xfaFactory:Ci}=this;let Fi;return Ci?Fi=Promise.resolve([Cn.Dict.empty,null]):(bi==null?void 0:bi.pageFirst)===Vn?Fi=this._getLinearizationPage(Vn):Fi=ci.getPageDict(Vn),Fi=Fi.then(([zi,_i])=>new Zn({pdfManager:this.pdfManager,xref:this.xref,pageIndex:Vn,pageDict:zi,ref:_i,globalIdFactory:this._globalIdFactory,fontCache:ci.fontCache,builtInCMapCache:ci.builtInCMapCache,standardFontDataCache:ci.standardFontDataCache,globalImageCache:ci.globalImageCache,systemFontCache:ci.systemFontCache,nonBlendModesSet:ci.nonBlendModesSet,xfaFactory:Ci})),this._pagePromises.set(Vn,Fi),Fi}async checkFirstPage(Vn=!1){if(!Vn)try{await this.getPage(0)}catch(Yn){if(Yn instanceof jn.XRefEntryException)throw this._pagePromises.delete(0),await this.cleanup(),new jn.XRefParseException}}async checkLastPage(Vn=!1){const{catalog:Yn,pdfManager:ci}=this;Yn.setActualNumPages();let bi;try{if(await Promise.all([ci.ensureDoc("xfaFactory"),ci.ensureDoc("linearization"),ci.ensureCatalog("numPages")]),this.xfaFactory)return;if(this.linearization?bi=this.linearization.numPages:bi=Yn.numPages,Number.isInteger(bi)){if(bi<=1)return}else throw new In.FormatError("Page count is not an integer.");await this.getPage(bi-1)}catch(Ci){if(this._pagePromises.delete(bi-1),await this.cleanup(),Ci instanceof jn.XRefEntryException&&!Vn)throw new jn.XRefParseException;(0,In.warn)(`checkLastPage - invalid /Pages tree /Count: ${bi}.`);let Fi;try{Fi=await Yn.getAllPageDicts(Vn)}catch(zi){if(zi instanceof jn.XRefEntryException&&!Vn)throw new jn.XRefParseException;Yn.setActualNumPages(1);return}for(const[zi,[_i,ji]]of Fi){let Pi;_i instanceof Error?(Pi=Promise.reject(_i),Pi.catch(()=>{})):Pi=Promise.resolve(new Zn({pdfManager:ci,xref:this.xref,pageIndex:zi,pageDict:_i,ref:ji,globalIdFactory:this._globalIdFactory,fontCache:Yn.fontCache,builtInCMapCache:Yn.builtInCMapCache,standardFontDataCache:Yn.standardFontDataCache,globalImageCache:Yn.globalImageCache,systemFontCache:Yn.systemFontCache,nonBlendModesSet:Yn.nonBlendModesSet,xfaFactory:null})),this._pagePromises.set(zi,Pi)}Yn.setActualNumPages(Fi.size)}}fontFallback(Vn,Yn){return this.catalog.fontFallback(Vn,Yn)}async cleanup(Vn=!1){return this.catalog?this.catalog.cleanup(Vn):(0,ei.clearGlobalCaches)()}get fieldObjects(){if(!this.formInfo.hasFields)return(0,In.shadow)(this,"fieldObjects",Promise.resolve(null));const Vn=this.pdfManager.ensureDoc("annotationGlobals").then(async Yn=>{if(!Yn)return null;const ci=Object.create(null),bi=new Map;for(const Fi of this.catalog.acroForm.get("Fields"))Qi(this,xi,Vc).call(this,"",Fi,bi,Yn);const Ci=[];for(const[Fi,zi]of bi)Ci.push(Promise.all(zi).then(_i=>{_i=_i.filter(ji=>!!ji),_i.length>0&&(ci[Fi]=_i)}));return await Promise.all(Ci),ci});return(0,In.shadow)(this,"fieldObjects",Vn)}get hasJSActions(){const Vn=this.pdfManager.ensureDoc("_parseHasJSActions");return(0,In.shadow)(this,"hasJSActions",Vn)}async _parseHasJSActions(){const[Vn,Yn]=await Promise.all([this.pdfManager.ensureCatalog("jsActions"),this.pdfManager.ensureDoc("fieldObjects")]);return Vn?!0:Yn?Object.values(Yn).some(ci=>ci.some(bi=>bi.actions!==null)):!1}get calculationOrderIds(){const Vn=this.catalog.acroForm;if(!(Vn!=null&&Vn.has("CO")))return(0,In.shadow)(this,"calculationOrderIds",null);const Yn=Vn.get("CO");if(!Array.isArray(Yn)||Yn.length===0)return(0,In.shadow)(this,"calculationOrderIds",null);const ci=[];for(const bi of Yn)bi instanceof Cn.Ref&&ci.push(bi.toString());return ci.length===0?(0,In.shadow)(this,"calculationOrderIds",null):(0,In.shadow)(this,"calculationOrderIds",ci)}get annotationGlobals(){return(0,In.shadow)(this,"annotationGlobals",Ln.AnnotationFactory.createGlobals(this.pdfManager))}}xi=new WeakSet,Vc=function(Vn,Yn,ci,bi){const Ci=this.xref.fetchIfRef(Yn);if(Ci.has("T")){const Fi=(0,In.stringToPDFString)(Ci.get("T"));Vn=Vn===""?Fi:`${Vn}.${Fi}`}if(ci.has(Vn)||ci.set(Vn,[]),ci.get(Vn).push(Ln.AnnotationFactory.create(this.xref,Yn,bi,this._localIdFactory,!0,null).then(Fi=>Fi==null?void 0:Fi.getFieldObject()).catch(function(Fi){return(0,In.warn)(`#collectFieldObjects: "${Fi}".`),null})),Ci.has("Kids"))for(const Fi of Ci.get("Kids"))Qi(this,xi,Vc).call(this,Vn,Fi,ci,bi)},Mn.PDFDocument=gi},(oi,Mn,ti)=>{Object.defineProperty(Mn,"__esModule",{value:!0}),Mn.PopupAnnotation=Mn.MarkupAnnotation=Mn.AnnotationFactory=Mn.AnnotationBorderStyle=Mn.Annotation=void 0,Mn.getQuadPoints=fi;var In=ti(2),Ln=ti(3),jn=ti(11),Cn=ti(4),Tn=ti(8),Rn=ti(5),ui=ti(60),si=ti(66),ei=ti(12),Bn=ti(69),Nn=ti(26),Hn=ti(76),On=ti(64),hi=ti(73),Xn=ti(77);class ii{static createGlobals(Si){return Promise.all([Si.ensureCatalog("acroForm"),Si.ensureDoc("xfaDatasets"),Si.ensureCatalog("structTreeRoot"),Si.ensureCatalog("baseUrl"),Si.ensureCatalog("attachments")]).then(([Ti,Ri,Mi,Ui,Hi])=>({pdfManager:Si,acroForm:Ti instanceof Cn.Dict?Ti:Cn.Dict.empty,xfaDatasets:Ri,structTreeRoot:Mi,baseUrl:Ui,attachments:Hi}),Ti=>((0,In.warn)(`createGlobals: "${Ti}".`),null))}static async create(Si,Ti,Ri,Mi,Ui,Hi){const Li=Ui?await this._getPageIndex(Si,Ti,Ri.pdfManager):null;return Ri.pdfManager.ensure(this,"_create",[Si,Ti,Ri,Mi,Ui,Li,Hi])}static _create(Si,Ti,Ri,Mi,Ui=!1,Hi=null,Li=null){const Ei=Si.fetchIfRef(Ti);if(!(Ei instanceof Cn.Dict))return;const{acroForm:$i,pdfManager:Bi}=Ri,Oi=Ti instanceof Cn.Ref?Ti.toString():`annot_${Mi.createObjId()}`;let Xi=Ei.get("Subtype");Xi=Xi instanceof Cn.Name?Xi.name:null;const Gi={xref:Si,ref:Ti,dict:Ei,subtype:Xi,id:Oi,annotationGlobals:Ri,collectFields:Ui,needAppearances:!Ui&&$i.get("NeedAppearances")===!0,pageIndex:Hi,evaluatorOptions:Bi.evaluatorOptions,pageRef:Li};switch(Xi){case"Link":return new gi(Gi);case"Text":return new Ai(Gi);case"Widget":let qi=(0,Ln.getInheritableProperty)({dict:Ei,key:"FT"});switch(qi=qi instanceof Cn.Name?qi.name:null,qi){case"Tx":return new mi(Gi);case"Btn":return new Wn(Gi);case"Ch":return new ni(Gi);case"Sig":return new li(Gi)}return(0,In.warn)(`Unimplemented widget field type "${qi}", falling back to base field type.`),new Gn(Gi);case"Popup":return new yi(Gi);case"FreeText":return new Ii(Gi);case"Line":return new xi(Gi);case"Square":return new Qn(Gi);case"Circle":return new ai(Gi);case"PolyLine":return new Vn(Gi);case"Polygon":return new Yn(Gi);case"Caret":return new ci(Gi);case"Ink":return new bi(Gi);case"Highlight":return new Ci(Gi);case"Underline":return new Fi(Gi);case"Squiggly":return new zi(Gi);case"StrikeOut":return new _i(Gi);case"Stamp":return new ji(Gi);case"FileAttachment":return new Pi(Gi);default:return Ui||(Xi?(0,In.warn)(`Unimplemented annotation type "${Xi}", falling back to base annotation.`):(0,In.warn)("Annotation is missing the required /Subtype.")),new Jn(Gi)}}static async _getPageIndex(Si,Ti,Ri){try{const Mi=await Si.fetchIfRefAsync(Ti);if(!(Mi instanceof Cn.Dict))return-1;const Ui=Mi.getRaw("P");if(Ui instanceof Cn.Ref)try{return await Ri.ensureCatalog("getPageIndex",[Ui])}catch(Li){(0,In.info)(`_getPageIndex -- not a valid page reference: "${Li}".`)}if(Mi.has("Kids"))return-1;const Hi=await Ri.ensureDoc("numPages");for(let Li=0;Li<Hi;Li++){const Ei=await Ri.getPage(Li),$i=await Ri.ensure(Ei,"annotations");for(const Bi of $i)if(Bi instanceof Cn.Ref&&(0,Cn.isRefsEqual)(Bi,Ti))return Li}}catch(Mi){(0,In.warn)(`_getPageIndex: "${Mi}".`)}return-1}static generateImages(Si,Ti,Ri){if(!Ri)return(0,In.warn)("generateImages: OffscreenCanvas is not supported, cannot save or print some annotations with images."),null;let Mi;for(const{bitmapId:Ui,bitmap:Hi}of Si)Hi&&(Mi||(Mi=new Map),Mi.set(Ui,ji.createImage(Hi,Ti)));return Mi}static async saveNewAnnotations(Si,Ti,Ri,Mi){const Ui=Si.xref;let Hi;const Li=[],Ei=[],{isOffscreenCanvasSupported:$i}=Si.options;for(const Bi of Ri)if(!Bi.deleted)switch(Bi.annotationType){case In.AnnotationEditorType.FREETEXT:if(!Hi){const Xi=new Cn.Dict(Ui);Xi.set("BaseFont",Cn.Name.get("Helvetica")),Xi.set("Type",Cn.Name.get("Font")),Xi.set("Subtype",Cn.Name.get("Type1")),Xi.set("Encoding",Cn.Name.get("WinAnsiEncoding"));const Gi=[];Hi=Ui.getNewTemporaryRef(),await(0,hi.writeObject)(Hi,Xi,Gi,Ui),Li.push({ref:Hi,data:Gi.join("")})}Ei.push(Ii.createNewAnnotation(Ui,Bi,Li,{evaluator:Si,task:Ti,baseFontRef:Hi}));break;case In.AnnotationEditorType.INK:Ei.push(bi.createNewAnnotation(Ui,Bi,Li));break;case In.AnnotationEditorType.STAMP:if(!$i)break;const Oi=await Mi.get(Bi.bitmapId);if(Oi.imageStream){const{imageStream:Xi,smaskStream:Gi}=Oi,qi=[];if(Gi){const is=Ui.getNewTemporaryRef();await(0,hi.writeObject)(is,Gi,qi,Ui),Li.push({ref:is,data:qi.join("")}),Xi.dict.set("SMask",is),qi.length=0}const ns=Oi.imageRef=Ui.getNewTemporaryRef();await(0,hi.writeObject)(ns,Xi,qi,Ui),Li.push({ref:ns,data:qi.join("")}),Oi.imageStream=Oi.smaskStream=null}Ei.push(ji.createNewAnnotation(Ui,Bi,Li,{image:Oi}));break}return{annotations:await Promise.all(Ei),dependencies:Li}}static async printNewAnnotations(Si,Ti,Ri,Mi,Ui){if(!Mi)return null;const{options:Hi,xref:Li}=Ti,Ei=[];for(const $i of Mi)if(!$i.deleted)switch($i.annotationType){case In.AnnotationEditorType.FREETEXT:Ei.push(Ii.createNewPrintAnnotation(Si,Li,$i,{evaluator:Ti,task:Ri,evaluatorOptions:Hi}));break;case In.AnnotationEditorType.INK:Ei.push(bi.createNewPrintAnnotation(Si,Li,$i,{evaluatorOptions:Hi}));break;case In.AnnotationEditorType.STAMP:if(!Hi.isOffscreenCanvasSupported)break;const Bi=await Ui.get($i.bitmapId);if(Bi.imageStream){const{imageStream:Oi,smaskStream:Xi}=Bi;Xi&&Oi.dict.set("SMask",Xi),Bi.imageRef=new Nn.JpegStream(Oi,Oi.length),Bi.imageStream=Bi.smaskStream=null}Ei.push(ji.createNewPrintAnnotation(Si,Li,$i,{image:Bi,evaluatorOptions:Hi}));break}return Promise.all(Ei)}}Mn.AnnotationFactory=ii;function ri(Ni,Si=new Uint8ClampedArray(3)){if(!Array.isArray(Ni))return Si;const Ti=Si||new Uint8ClampedArray(3);switch(Ni.length){case 0:return null;case 1:return ei.ColorSpace.singletons.gray.getRgbItem(Ni,0,Ti,0),Ti;case 3:return ei.ColorSpace.singletons.rgb.getRgbItem(Ni,0,Ti,0),Ti;case 4:return ei.ColorSpace.singletons.cmyk.getRgbItem(Ni,0,Ti,0),Ti;default:return Si}}function di(Ni){return Array.from(Ni,Si=>Si/255)}function fi(Ni,Si){const Ti=Ni.getArray("QuadPoints");if(!Array.isArray(Ti)||Ti.length===0||Ti.length%8>0)return null;const Ri=[];for(let Mi=0,Ui=Ti.length/8;Mi<Ui;Mi++){let Hi=1/0,Li=-1/0,Ei=1/0,$i=-1/0;for(let Bi=Mi*8,Oi=Mi*8+8;Bi<Oi;Bi+=2){const Xi=Ti[Bi],Gi=Ti[Bi+1];Hi=Math.min(Xi,Hi),Li=Math.max(Xi,Li),Ei=Math.min(Gi,Ei),$i=Math.max(Gi,$i)}if(Si!==null&&(Hi<Si[0]||Li>Si[2]||Ei<Si[1]||$i>Si[3]))return null;Ri.push([{x:Hi,y:$i},{x:Li,y:$i},{x:Hi,y:Ei},{x:Li,y:Ei}])}return Ri}function wi(Ni,Si,Ti){const[Ri,Mi,Ui,Hi]=In.Util.getAxialAlignedBoundingBox(Si,Ti);if(Ri===Ui||Mi===Hi)return[1,0,0,1,Ni[0],Ni[1]];const Li=(Ni[2]-Ni[0])/(Ui-Ri),Ei=(Ni[3]-Ni[1])/(Hi-Mi);return[Li,0,0,Ei,Ni[0]-Ri*Li,Ni[1]-Mi*Ei]}class Jn{constructor(Si){const{dict:Ti,xref:Ri,annotationGlobals:Mi}=Si;this.setTitle(Ti.get("T")),this.setContents(Ti.get("Contents")),this.setModificationDate(Ti.get("M")),this.setFlags(Ti.get("F")),this.setRectangle(Ti.getArray("Rect")),this.setColor(Ti.getArray("C")),this.setBorderStyle(Ti),this.setAppearance(Ti),this.setOptionalContent(Ti);const Ui=Ti.get("MK");this.setBorderAndBackgroundColors(Ui),this.setRotation(Ui,Ti),this.ref=Si.ref instanceof Cn.Ref?Si.ref:null,this._streams=[],this.appearance&&this._streams.push(this.appearance);const Hi=!!(this.flags&In.AnnotationFlag.LOCKED),Li=!!(this.flags&In.AnnotationFlag.LOCKEDCONTENTS);if(Mi.structTreeRoot){let Ei=Ti.get("StructParent");Ei=Number.isInteger(Ei)&&Ei>=0?Ei:-1,Mi.structTreeRoot.addAnnotationIdToPage(Si.pageRef,Ei)}if(this.data={annotationFlags:this.flags,borderStyle:this.borderStyle,color:this.color,backgroundColor:this.backgroundColor,borderColor:this.borderColor,rotation:this.rotation,contentsObj:this._contents,hasAppearance:!!this.appearance,id:Si.id,modificationDate:this.modificationDate,rect:this.rectangle,subtype:Si.subtype,hasOwnCanvas:!1,noRotate:!!(this.flags&In.AnnotationFlag.NOROTATE),noHTML:Hi&&Li},Si.collectFields){const Ei=Ti.get("Kids");if(Array.isArray(Ei)){const $i=[];for(const Bi of Ei)Bi instanceof Cn.Ref&&$i.push(Bi.toString());$i.length!==0&&(this.data.kidIds=$i)}this.data.actions=(0,Ln.collectActions)(Ri,Ti,In.AnnotationActionEventType),this.data.fieldName=this._constructFieldName(Ti),this.data.pageIndex=Si.pageIndex}this._isOffscreenCanvasSupported=Si.evaluatorOptions.isOffscreenCanvasSupported,this._fallbackFontDict=null,this._needAppearances=!1}_hasFlag(Si,Ti){return!!(Si&Ti)}_isViewable(Si){return!this._hasFlag(Si,In.AnnotationFlag.INVISIBLE)&&!this._hasFlag(Si,In.AnnotationFlag.NOVIEW)}_isPrintable(Si){return this._hasFlag(Si,In.AnnotationFlag.PRINT)&&!this._hasFlag(Si,In.AnnotationFlag.HIDDEN)&&!this._hasFlag(Si,In.AnnotationFlag.INVISIBLE)}mustBeViewed(Si,Ti){var Mi;const Ri=(Mi=Si==null?void 0:Si.get(this.data.id))==null?void 0:Mi.noView;return Ri!==void 0?!Ri:this.viewable&&!this._hasFlag(this.flags,In.AnnotationFlag.HIDDEN)}mustBePrinted(Si){var Ri;const Ti=(Ri=Si==null?void 0:Si.get(this.data.id))==null?void 0:Ri.noPrint;return Ti!==void 0?!Ti:this.printable}get viewable(){return this.data.quadPoints===null?!1:this.flags===0?!0:this._isViewable(this.flags)}get printable(){return this.data.quadPoints===null||this.flags===0?!1:this._isPrintable(this.flags)}_parseStringHelper(Si){const Ti=typeof Si=="string"?(0,In.stringToPDFString)(Si):"",Ri=Ti&&(0,ui.bidi)(Ti).dir==="rtl"?"rtl":"ltr";return{str:Ti,dir:Ri}}setDefaultAppearance(Si){const{dict:Ti,annotationGlobals:Ri}=Si,Mi=(0,Ln.getInheritableProperty)({dict:Ti,key:"DA"})||Ri.acroForm.get("DA");this._defaultAppearance=typeof Mi=="string"?Mi:"",this.data.defaultAppearanceData=(0,jn.parseDefaultAppearance)(this._defaultAppearance)}setTitle(Si){this._title=this._parseStringHelper(Si)}setContents(Si){this._contents=this._parseStringHelper(Si)}setModificationDate(Si){this.modificationDate=typeof Si=="string"?Si:null}setFlags(Si){this.flags=Number.isInteger(Si)&&Si>0?Si:0}hasFlag(Si){return this._hasFlag(this.flags,Si)}setRectangle(Si){this.rectangle=Array.isArray(Si)&&Si.length===4?In.Util.normalizeRect(Si):[0,0,0,0]}setColor(Si){this.color=ri(Si)}setLineEndings(Si){if(this.lineEndings=["None","None"],Array.isArray(Si)&&Si.length===2)for(let Ti=0;Ti<2;Ti++){const Ri=Si[Ti];if(Ri instanceof Cn.Name)switch(Ri.name){case"None":continue;case"Square":case"Circle":case"Diamond":case"OpenArrow":case"ClosedArrow":case"Butt":case"ROpenArrow":case"RClosedArrow":case"Slash":this.lineEndings[Ti]=Ri.name;continue}(0,In.warn)(`Ignoring invalid lineEnding: ${Ri}`)}}setRotation(Si,Ti){this.rotation=0;let Ri=Si instanceof Cn.Dict?Si.get("R")||0:Ti.get("Rotate")||0;Number.isInteger(Ri)&&Ri!==0&&(Ri%=360,Ri<0&&(Ri+=360),Ri%90===0&&(this.rotation=Ri))}setBorderAndBackgroundColors(Si){Si instanceof Cn.Dict?(this.borderColor=ri(Si.getArray("BC"),null),this.backgroundColor=ri(Si.getArray("BG"),null)):this.borderColor=this.backgroundColor=null}setBorderStyle(Si){if(this.borderStyle=new pi,Si instanceof Cn.Dict)if(Si.has("BS")){const Ti=Si.get("BS"),Ri=Ti.get("Type");(!Ri||(0,Cn.isName)(Ri,"Border"))&&(this.borderStyle.setWidth(Ti.get("W"),this.rectangle),this.borderStyle.setStyle(Ti.get("S")),this.borderStyle.setDashArray(Ti.getArray("D")))}else if(Si.has("Border")){const Ti=Si.getArray("Border");Array.isArray(Ti)&&Ti.length>=3&&(this.borderStyle.setHorizontalCornerRadius(Ti[0]),this.borderStyle.setVerticalCornerRadius(Ti[1]),this.borderStyle.setWidth(Ti[2],this.rectangle),Ti.length===4&&this.borderStyle.setDashArray(Ti[3],!0))}else this.borderStyle.setWidth(0)}setAppearance(Si){this.appearance=null;const Ti=Si.get("AP");if(!(Ti instanceof Cn.Dict))return;const Ri=Ti.get("N");if(Ri instanceof Rn.BaseStream){this.appearance=Ri;return}if(!(Ri instanceof Cn.Dict))return;const Mi=Si.get("AS");if(!(Mi instanceof Cn.Name)||!Ri.has(Mi.name))return;const Ui=Ri.get(Mi.name);Ui instanceof Rn.BaseStream&&(this.appearance=Ui)}setOptionalContent(Si){this.oc=null;const Ti=Si.get("OC");Ti instanceof Cn.Name?(0,In.warn)("setOptionalContent: Support for /Name-entry is not implemented."):Ti instanceof Cn.Dict&&(this.oc=Ti)}loadResources(Si,Ti){return Ti.dict.getAsync("Resources").then(Ri=>Ri?new Hn.ObjectLoader(Ri,Si,Ri.xref).load().then(function(){return Ri}):void 0)}async getOperatorList(Si,Ti,Ri,Mi,Ui){const Hi=this.data;let Li=this.appearance;const Ei=!!(this.data.hasOwnCanvas&&Ri&In.RenderingIntentFlag.DISPLAY);if(!Li){if(!Ei)return{opList:new On.OperatorList,separateForm:!1,separateCanvas:!1};Li=new Tn.StringStream(""),Li.dict=new Cn.Dict}const $i=Li.dict,Bi=await this.loadResources(["ExtGState","ColorSpace","Pattern","Shading","XObject","Font"],Li),Oi=$i.getArray("BBox")||[0,0,1,1],Xi=$i.getArray("Matrix")||[1,0,0,1,0,0],Gi=wi(Hi.rect,Oi,Xi),qi=new On.OperatorList;let ns;return this.oc&&(ns=await Si.parseMarkedContentProps(this.oc,null)),ns!==void 0&&qi.addOp(In.OPS.beginMarkedContentProps,["OC",ns]),qi.addOp(In.OPS.beginAnnotation,[Hi.id,Hi.rect,Gi,Xi,Ei]),await Si.getOperatorList({stream:Li,task:Ti,resources:Bi,operatorList:qi,fallbackFontDict:this._fallbackFontDict}),qi.addOp(In.OPS.endAnnotation,[]),ns!==void 0&&qi.addOp(In.OPS.endMarkedContent,[]),this.reset(),{opList:qi,separateForm:!1,separateCanvas:Ei}}async save(Si,Ti,Ri){return null}get hasTextContent(){return!1}async extractTextContent(Si,Ti,Ri){if(!this.appearance)return;const Mi=await this.loadResources(["ExtGState","Font","Properties","XObject"],this.appearance),Ui=[],Hi=[];let Li=null;const Ei={desiredSize:Math.Infinity,ready:!0,enqueue($i,Bi){for(const Oi of $i.items)Oi.str!==void 0&&(Li||(Li=Oi.transform.slice(-2)),Hi.push(Oi.str),Oi.hasEOL&&(Ui.push(Hi.join("")),Hi.length=0))}};if(await Si.getTextContent({stream:this.appearance,task:Ti,resources:Mi,includeMarkedContent:!0,sink:Ei,viewBox:Ri}),this.reset(),Hi.length&&Ui.push(Hi.join("")),Ui.length>1||Ui[0]){const $i=this.appearance.dict,Bi=$i.getArray("BBox")||[0,0,1,1],Oi=$i.getArray("Matrix")||[1,0,0,1,0,0],Xi=this.data.rect,Gi=wi(Xi,Bi,Oi);Gi[4]-=Xi[0],Gi[5]-=Xi[1],Li=In.Util.applyTransform(Li,Gi),Li=In.Util.applyTransform(Li,Oi),this.data.textPosition=Li,this.data.textContent=Ui}}getFieldObject(){return this.data.kidIds?{id:this.data.id,actions:this.data.actions,name:this.data.fieldName,strokeColor:this.data.borderColor,fillColor:this.data.backgroundColor,type:"",kidIds:this.data.kidIds,page:this.data.pageIndex,rotation:this.rotation}:null}reset(){for(const Si of this._streams)Si.reset()}_constructFieldName(Si){if(!Si.has("T")&&!Si.has("Parent"))return(0,In.warn)("Unknown field name, falling back to empty field name."),"";if(!Si.has("Parent"))return(0,In.stringToPDFString)(Si.get("T"));const Ti=[];Si.has("T")&&Ti.unshift((0,In.stringToPDFString)(Si.get("T")));let Ri=Si;const Mi=new Cn.RefSet;for(Si.objId&&Mi.put(Si.objId);Ri.has("Parent")&&(Ri=Ri.get("Parent"),!(!(Ri instanceof Cn.Dict)||Ri.objId&&Mi.has(Ri.objId)));)Ri.objId&&Mi.put(Ri.objId),Ri.has("T")&&Ti.unshift((0,In.stringToPDFString)(Ri.get("T")));return Ti.join(".")}}Mn.Annotation=Jn;class pi{constructor(){this.width=1,this.style=In.AnnotationBorderStyleType.SOLID,this.dashArray=[3],this.horizontalCornerRadius=0,this.verticalCornerRadius=0}setWidth(Si,Ti=[0,0,0,0]){if(Si instanceof Cn.Name){this.width=0;return}if(typeof Si=="number"){if(Si>0){const Ri=(Ti[2]-Ti[0])/2,Mi=(Ti[3]-Ti[1])/2;Ri>0&&Mi>0&&(Si>Ri||Si>Mi)&&((0,In.warn)(`AnnotationBorderStyle.setWidth - ignoring width: ${Si}`),Si=1)}this.width=Si}}setStyle(Si){if(Si instanceof Cn.Name)switch(Si.name){case"S":this.style=In.AnnotationBorderStyleType.SOLID;break;case"D":this.style=In.AnnotationBorderStyleType.DASHED;break;case"B":this.style=In.AnnotationBorderStyleType.BEVELED;break;case"I":this.style=In.AnnotationBorderStyleType.INSET;break;case"U":this.style=In.AnnotationBorderStyleType.UNDERLINE;break}}setDashArray(Si,Ti=!1){if(Array.isArray(Si)&&Si.length>0){let Ri=!0,Mi=!0;for(const Ui of Si)if(+Ui>=0)Ui>0&&(Mi=!1);else{Ri=!1;break}Ri&&!Mi?(this.dashArray=Si,Ti&&this.setStyle(Cn.Name.get("D"))):this.width=0}else Si&&(this.width=0)}setHorizontalCornerRadius(Si){Number.isInteger(Si)&&(this.horizontalCornerRadius=Si)}setVerticalCornerRadius(Si){Number.isInteger(Si)&&(this.verticalCornerRadius=Si)}}Mn.AnnotationBorderStyle=pi;class Zn extends Jn{constructor(Si){super(Si);const{dict:Ti}=Si;if(Ti.has("IRT")){const Mi=Ti.getRaw("IRT");this.data.inReplyTo=Mi instanceof Cn.Ref?Mi.toString():null;const Ui=Ti.get("RT");this.data.replyType=Ui instanceof Cn.Name?Ui.name:In.AnnotationReplyType.REPLY}let Ri=null;if(this.data.replyType===In.AnnotationReplyType.GROUP){const Mi=Ti.get("IRT");this.setTitle(Mi.get("T")),this.data.titleObj=this._title,this.setContents(Mi.get("Contents")),this.data.contentsObj=this._contents,Mi.has("CreationDate")?(this.setCreationDate(Mi.get("CreationDate")),this.data.creationDate=this.creationDate):this.data.creationDate=null,Mi.has("M")?(this.setModificationDate(Mi.get("M")),this.data.modificationDate=this.modificationDate):this.data.modificationDate=null,Ri=Mi.getRaw("Popup"),Mi.has("C")?(this.setColor(Mi.getArray("C")),this.data.color=this.color):this.data.color=null}else this.data.titleObj=this._title,this.setCreationDate(Ti.get("CreationDate")),this.data.creationDate=this.creationDate,Ri=Ti.getRaw("Popup"),Ti.has("C")||(this.data.color=null);this.data.popupRef=Ri instanceof Cn.Ref?Ri.toString():null,Ti.has("RC")&&(this.data.richText=Xn.XFAFactory.getRichTextAsHtml(Ti.get("RC")))}setCreationDate(Si){this.creationDate=typeof Si=="string"?Si:null}_setDefaultAppearance({xref:Si,extra:Ti,strokeColor:Ri,fillColor:Mi,blendMode:Ui,strokeAlpha:Hi,fillAlpha:Li,pointsCallback:Ei}){let $i=Number.MAX_VALUE,Bi=Number.MAX_VALUE,Oi=Number.MIN_VALUE,Xi=Number.MIN_VALUE;const Gi=["q"];Ti&&Gi.push(Ti),Ri&&Gi.push(`${Ri[0]} ${Ri[1]} ${Ri[2]} RG`),Mi&&Gi.push(`${Mi[0]} ${Mi[1]} ${Mi[2]} rg`);let qi=this.data.quadPoints;qi||(qi=[[{x:this.rectangle[0],y:this.rectangle[3]},{x:this.rectangle[2],y:this.rectangle[3]},{x:this.rectangle[0],y:this.rectangle[1]},{x:this.rectangle[2],y:this.rectangle[1]}]]);for(const ts of qi){const[es,rs,ss,os]=Ei(Gi,ts);$i=Math.min($i,es),Oi=Math.max(Oi,rs),Bi=Math.min(Bi,ss),Xi=Math.max(Xi,os)}Gi.push("Q");const ns=new Cn.Dict(Si),is=new Cn.Dict(Si);is.set("Subtype",Cn.Name.get("Form"));const as=new Tn.StringStream(Gi.join(" "));as.dict=is,ns.set("Fm0",as);const hs=new Cn.Dict(Si);Ui&&hs.set("BM",Cn.Name.get(Ui)),typeof Hi=="number"&&hs.set("CA",Hi),typeof Li=="number"&&hs.set("ca",Li);const Yi=new Cn.Dict(Si);Yi.set("GS0",hs);const Vi=new Cn.Dict(Si);Vi.set("ExtGState",Yi),Vi.set("XObject",ns);const Zi=new Cn.Dict(Si);Zi.set("Resources",Vi);const us=this.data.rect=[$i,Bi,Oi,Xi];Zi.set("BBox",us),this.appearance=new Tn.StringStream("/GS0 gs /Fm0 Do"),this.appearance.dict=Zi,this._streams.push(this.appearance,as)}static async createNewAnnotation(Si,Ti,Ri,Mi){const Ui=Ti.ref||(Ti.ref=Si.getNewTemporaryRef()),Hi=await this.createNewAppearanceStream(Ti,Si,Mi),Li=[];let Ei;if(Hi){const $i=Si.getNewTemporaryRef();Ei=this.createNewDict(Ti,Si,{apRef:$i}),await(0,hi.writeObject)($i,Hi,Li,Si),Ri.push({ref:$i,data:Li.join("")})}else Ei=this.createNewDict(Ti,Si,{});return Number.isInteger(Ti.parentTreeId)&&Ei.set("StructParent",Ti.parentTreeId),Li.length=0,await(0,hi.writeObject)(Ui,Ei,Li,Si),{ref:Ui,data:Li.join("")}}static async createNewPrintAnnotation(Si,Ti,Ri,Mi){const Ui=await this.createNewAppearanceStream(Ri,Ti,Mi),Hi=this.createNewDict(Ri,Ti,{ap:Ui}),Li=new this.prototype.constructor({dict:Hi,xref:Ti,annotationGlobals:Si,evaluatorOptions:Mi.evaluatorOptions});return Ri.ref&&(Li.ref=Li.refToReplace=Ri.ref),Li}}Mn.MarkupAnnotation=Zn;class Gn extends Jn{constructor(Si){var Xi;super(Si);const{dict:Ti,xref:Ri,annotationGlobals:Mi}=Si,Ui=this.data;this._needAppearances=Si.needAppearances,Ui.annotationType=In.AnnotationType.WIDGET,Ui.fieldName===void 0&&(Ui.fieldName=this._constructFieldName(Ti)),Ui.actions===void 0&&(Ui.actions=(0,Ln.collectActions)(Ri,Ti,In.AnnotationActionEventType));let Hi=(0,Ln.getInheritableProperty)({dict:Ti,key:"V",getArray:!0});Ui.fieldValue=this._decodeFormValue(Hi);const Li=(0,Ln.getInheritableProperty)({dict:Ti,key:"DV",getArray:!0});if(Ui.defaultFieldValue=this._decodeFormValue(Li),Hi===void 0&&Mi.xfaDatasets){const Gi=this._title.str;Gi&&(this._hasValueFromXFA=!0,Ui.fieldValue=Hi=Mi.xfaDatasets.getValue(Gi))}Hi===void 0&&Ui.defaultFieldValue!==null&&(Ui.fieldValue=Ui.defaultFieldValue),Ui.alternativeText=(0,In.stringToPDFString)(Ti.get("TU")||""),this.setDefaultAppearance(Si),Ui.hasAppearance||(Ui.hasAppearance=this._needAppearances&&Ui.fieldValue!==void 0&&Ui.fieldValue!==null);const Ei=(0,Ln.getInheritableProperty)({dict:Ti,key:"FT"});Ui.fieldType=Ei instanceof Cn.Name?Ei.name:null;const $i=(0,Ln.getInheritableProperty)({dict:Ti,key:"DR"}),Bi=Mi.acroForm.get("DR"),Oi=(Xi=this.appearance)==null?void 0:Xi.dict.get("Resources");this._fieldResources={localResources:$i,acroFormResources:Bi,appearanceResources:Oi,mergedResources:Cn.Dict.merge({xref:Ri,dictArray:[$i,Oi,Bi],mergeSubDicts:!0})},Ui.fieldFlags=(0,Ln.getInheritableProperty)({dict:Ti,key:"Ff"}),(!Number.isInteger(Ui.fieldFlags)||Ui.fieldFlags<0)&&(Ui.fieldFlags=0),Ui.readOnly=this.hasFieldFlag(In.AnnotationFieldFlag.READONLY),Ui.required=this.hasFieldFlag(In.AnnotationFieldFlag.REQUIRED),Ui.hidden=this._hasFlag(Ui.annotationFlags,In.AnnotationFlag.HIDDEN)||this._hasFlag(Ui.annotationFlags,In.AnnotationFlag.NOVIEW)}_decodeFormValue(Si){return Array.isArray(Si)?Si.filter(Ti=>typeof Ti=="string").map(Ti=>(0,In.stringToPDFString)(Ti)):Si instanceof Cn.Name?(0,In.stringToPDFString)(Si.name):typeof Si=="string"?(0,In.stringToPDFString)(Si):null}hasFieldFlag(Si){return!!(this.data.fieldFlags&Si)}_isViewable(Si){return!this._hasFlag(Si,In.AnnotationFlag.INVISIBLE)}mustBeViewed(Si,Ti){return Ti?this.viewable:super.mustBeViewed(Si,Ti)&&!this._hasFlag(this.flags,In.AnnotationFlag.NOVIEW)}getRotationMatrix(Si){var Ui;let Ti=(Ui=Si==null?void 0:Si.get(this.data.id))==null?void 0:Ui.rotation;if(Ti===void 0&&(Ti=this.rotation),Ti===0)return In.IDENTITY_MATRIX;const Ri=this.data.rect[2]-this.data.rect[0],Mi=this.data.rect[3]-this.data.rect[1];return(0,Ln.getRotationMatrix)(Ti,Ri,Mi)}getBorderAndBackgroundAppearances(Si){var Li;let Ti=(Li=Si==null?void 0:Si.get(this.data.id))==null?void 0:Li.rotation;if(Ti===void 0&&(Ti=this.rotation),!this.backgroundColor&&!this.borderColor)return"";const Ri=this.data.rect[2]-this.data.rect[0],Mi=this.data.rect[3]-this.data.rect[1],Ui=Ti===0||Ti===180?`0 0 ${Ri} ${Mi} re`:`0 0 ${Mi} ${Ri} re`;let Hi="";if(this.backgroundColor&&(Hi=`${(0,jn.getPdfColor)(this.backgroundColor,!0)} ${Ui} f `),this.borderColor){const Ei=this.borderStyle.width||1;Hi+=`${Ei} w ${(0,jn.getPdfColor)(this.borderColor,!1)} ${Ui} S `}return Hi}async getOperatorList(Si,Ti,Ri,Mi,Ui){if(Mi&&!(this instanceof li)&&!this.data.noHTML&&!this.data.hasOwnCanvas)return{opList:new On.OperatorList,separateForm:!0,separateCanvas:!1};if(!this._hasText)return super.getOperatorList(Si,Ti,Ri,Mi,Ui);const Hi=await this._getAppearance(Si,Ti,Ri,Ui);if(this.appearance&&Hi===null)return super.getOperatorList(Si,Ti,Ri,Mi,Ui);const Li=new On.OperatorList;if(!this._defaultAppearance||Hi===null)return{opList:Li,separateForm:!1,separateCanvas:!1};const Ei=!!(this.data.hasOwnCanvas&&Ri&In.RenderingIntentFlag.DISPLAY),$i=[1,0,0,1,0,0],Bi=[0,0,this.data.rect[2]-this.data.rect[0],this.data.rect[3]-this.data.rect[1]],Oi=wi(this.data.rect,Bi,$i);let Xi;this.oc&&(Xi=await Si.parseMarkedContentProps(this.oc,null)),Xi!==void 0&&Li.addOp(In.OPS.beginMarkedContentProps,["OC",Xi]),Li.addOp(In.OPS.beginAnnotation,[this.data.id,this.data.rect,Oi,this.getRotationMatrix(Ui),Ei]);const Gi=new Tn.StringStream(Hi);return await Si.getOperatorList({stream:Gi,task:Ti,resources:this._fieldResources.mergedResources,operatorList:Li}),Li.addOp(In.OPS.endAnnotation,[]),Xi!==void 0&&Li.addOp(In.OPS.endMarkedContent,[]),{opList:Li,separateForm:!1,separateCanvas:Ei}}_getMKDict(Si){const Ti=new Cn.Dict(null);return Si&&Ti.set("R",Si),this.borderColor&&Ti.set("BC",di(this.borderColor)),this.backgroundColor&&Ti.set("BG",di(this.backgroundColor)),Ti.size>0?Ti:null}amendSavedDict(Si,Ti){}async save(Si,Ti,Ri){const Mi=Ri==null?void 0:Ri.get(this.data.id);let Ui=Mi==null?void 0:Mi.value,Hi=Mi==null?void 0:Mi.rotation;if(Ui===this.data.fieldValue||Ui===void 0){if(!this._hasValueFromXFA&&Hi===void 0)return null;Ui||(Ui=this.data.fieldValue)}if(Hi===void 0&&!this._hasValueFromXFA&&Array.isArray(Ui)&&Array.isArray(this.data.fieldValue)&&Ui.length===this.data.fieldValue.length&&Ui.every((as,hs)=>as===this.data.fieldValue[hs]))return null;Hi===void 0&&(Hi=this.rotation);let Li=null;if(!this._needAppearances&&(Li=await this._getAppearance(Si,Ti,In.RenderingIntentFlag.SAVE,Ri),Li===null))return null;let Ei=!1;Li!=null&&Li.needAppearances&&(Ei=!0,Li=null);const{xref:$i}=Si,Bi=$i.fetchIfRef(this.ref);if(!(Bi instanceof Cn.Dict))return null;const Oi=new Cn.Dict($i);for(const as of Bi.getKeys())as!=="AP"&&Oi.set(as,Bi.getRaw(as));const Xi={path:this.data.fieldName,value:Ui},Gi=as=>(0,Ln.isAscii)(as)?as:(0,Ln.stringToUTF16String)(as,!0);Oi.set("V",Array.isArray(Ui)?Ui.map(Gi):Gi(Ui)),this.amendSavedDict(Ri,Oi);const qi=this._getMKDict(Hi);qi&&Oi.set("MK",qi);const ns=[],is=[{ref:this.ref,data:"",xfa:Xi,needAppearances:Ei}];if(Li!==null){const as=$i.getNewTemporaryRef(),hs=new Cn.Dict($i);Oi.set("AP",hs),hs.set("N",as);const Yi=this._getSaveFieldResources($i),Vi=new Tn.StringStream(Li),Zi=Vi.dict=new Cn.Dict($i);Zi.set("Subtype",Cn.Name.get("Form")),Zi.set("Resources",Yi),Zi.set("BBox",[0,0,this.data.rect[2]-this.data.rect[0],this.data.rect[3]-this.data.rect[1]]);const us=this.getRotationMatrix(Ri);us!==In.IDENTITY_MATRIX&&Zi.set("Matrix",us),await(0,hi.writeObject)(as,Vi,ns,$i),is.push({ref:as,data:ns.join(""),xfa:null,needAppearances:!1}),ns.length=0}return Oi.set("M",`D:${(0,In.getModificationDate)()}`),await(0,hi.writeObject)(this.ref,Oi,ns,$i),is[0].data=ns.join(""),is}async _getAppearance(Si,Ti,Ri,Mi){if(this.hasFieldFlag(In.AnnotationFieldFlag.PASSWORD))return null;const Hi=Mi==null?void 0:Mi.get(this.data.id);let Li,Ei;if(Hi&&(Li=Hi.formattedValue||Hi.value,Ei=Hi.rotation),Ei===void 0&&Li===void 0&&!this._needAppearances&&(!this._hasValueFromXFA||this.appearance))return null;const $i=this.getBorderAndBackgroundAppearances(Mi);if(Li===void 0&&(Li=this.data.fieldValue,!Li))return`/Tx BMC q ${$i}Q EMC`;if(Array.isArray(Li)&&Li.length===1&&(Li=Li[0]),(0,In.assert)(typeof Li=="string","Expected `value` to be a string."),Li=Li.trim(),this.data.combo){const ks=this.data.options.find(({exportValue:xs})=>Li===xs);Li=(ks==null?void 0:ks.displayValue)||Li}if(Li==="")return`/Tx BMC q ${$i}Q EMC`;Ei===void 0&&(Ei=this.rotation);let Bi=-1,Oi;this.data.multiLine?(Oi=Li.split(/\r\n?|\n/).map(ks=>ks.normalize("NFC")),Bi=Oi.length):Oi=[Li.replace(/\r\n?|\n/,"").normalize("NFC")];const Xi=1,Gi=2;let qi=this.data.rect[3]-this.data.rect[1],ns=this.data.rect[2]-this.data.rect[0];(Ei===90||Ei===270)&&([ns,qi]=[qi,ns]),this._defaultAppearance||(this.data.defaultAppearanceData=(0,jn.parseDefaultAppearance)(this._defaultAppearance="/Helvetica 0 Tf 0 g"));let is=await Gn._getFontData(Si,Ti,this.data.defaultAppearanceData,this._fieldResources.mergedResources),as,hs,Yi;const Vi=[];let Zi=!1;for(const ks of Oi){const xs=is.encodeString(ks);xs.length>1&&(Zi=!0),Vi.push(xs.join(""))}if(Zi&&Ri&In.RenderingIntentFlag.SAVE)return{needAppearances:!0};if(Zi&&this._isOffscreenCanvasSupported){const ks=this.data.comb?"monospace":"sans-serif",xs=new jn.FakeUnicodeFont(Si.xref,ks),Rs=xs.createFontResources(Oi.join("")),ms=Rs.getRaw("Font");if(this._fieldResources.mergedResources.has("Font")){const Ts=this._fieldResources.mergedResources.get("Font");for(const Is of ms.getKeys())Ts.set(Is,ms.getRaw(Is))}else this._fieldResources.mergedResources.set("Font",ms);const Bs=xs.fontName.name;is=await Gn._getFontData(Si,Ti,{fontName:Bs,fontSize:0},Rs);for(let Ts=0,Is=Vi.length;Ts<Is;Ts++)Vi[Ts]=(0,Ln.stringToUTF16String)(Oi[Ts]);const ws=Object.assign(Object.create(null),this.data.defaultAppearanceData);this.data.defaultAppearanceData.fontSize=0,this.data.defaultAppearanceData.fontName=Bs,[as,hs,Yi]=this._computeFontSize(qi-2*Xi,ns-2*Gi,Li,is,Bi),this.data.defaultAppearanceData=ws}else this._isOffscreenCanvasSupported||(0,In.warn)("_getAppearance: OffscreenCanvas is not supported, annotation may not render correctly."),[as,hs,Yi]=this._computeFontSize(qi-2*Xi,ns-2*Gi,Li,is,Bi);let us=is.descent;isNaN(us)?us=In.BASELINE_FACTOR*Yi:us=Math.max(In.BASELINE_FACTOR*Yi,Math.abs(us)*hs);const ts=Math.min(Math.floor((qi-hs)/2),Xi),es=this.data.textAlignment;if(this.data.multiLine)return this._getMultilineAppearance(as,Vi,is,hs,ns,qi,es,Gi,ts,us,Yi,Mi);if(this.data.comb)return this._getCombAppearance(as,is,Vi[0],hs,ns,qi,Gi,ts,us,Yi,Mi);const rs=ts+us;if(es===0||es>2)return`/Tx BMC q ${$i}BT `+as+` 1 0 0 1 ${(0,Ln.numberToString)(Gi)} ${(0,Ln.numberToString)(rs)} Tm (${(0,Ln.escapeString)(Vi[0])}) Tj ET Q EMC`;const ss={shift:0},os=this._renderText(Vi[0],is,hs,ns,es,ss,Gi,rs);return`/Tx BMC q ${$i}BT `+as+` 1 0 0 1 0 0 Tm ${os} ET Q EMC`}static async _getFontData(Si,Ti,Ri,Mi){const Ui=new On.OperatorList,Hi={font:null,clone(){return this}},{fontName:Li,fontSize:Ei}=Ri;return await Si.handleSetFont(Mi,[Li&&Cn.Name.get(Li),Ei],null,Ui,Ti,Hi,null),Hi.font}_getTextWidth(Si,Ti){return Ti.charsToGlyphs(Si).reduce((Ri,Mi)=>Ri+Mi.width,0)/1e3}_computeFontSize(Si,Ti,Ri,Mi,Ui){let{fontSize:Hi}=this.data.defaultAppearanceData,Li=(Hi||12)*In.LINE_FACTOR,Ei=Math.round(Si/Li);if(!Hi){const $i=Xi=>Math.floor(Xi*100)/100;if(Ui===-1){const Xi=this._getTextWidth(Ri,Mi);Hi=$i(Math.min(Si/In.LINE_FACTOR,Xi>Ti?Ti/Xi:1/0)),Ei=1}else{const Xi=Ri.split(/\r\n?|\n/),Gi=[];for(const ns of Xi){const is=Mi.encodeString(ns).join(""),as=Mi.charsToGlyphs(is),hs=Mi.getCharPositions(is);Gi.push({line:is,glyphs:as,positions:hs})}const qi=ns=>{let is=0;for(const as of Gi){const hs=this._splitLine(null,Mi,ns,Ti,as);if(is+=hs.length*ns,is>Si)return!0}return!1};for(Ei=Math.max(Ei,Ui);;){if(Li=Si/Ei,Hi=$i(Li/In.LINE_FACTOR),qi(Hi)){Ei++;continue}break}}const{fontName:Bi,fontColor:Oi}=this.data.defaultAppearanceData;this._defaultAppearance=(0,jn.createDefaultAppearance)({fontSize:Hi,fontName:Bi,fontColor:Oi})}return[this._defaultAppearance,Hi,Si/Ei]}_renderText(Si,Ti,Ri,Mi,Ui,Hi,Li,Ei){let $i;if(Ui===1){const Oi=this._getTextWidth(Si,Ti)*Ri;$i=(Mi-Oi)/2}else if(Ui===2){const Oi=this._getTextWidth(Si,Ti)*Ri;$i=Mi-Oi-Li}else $i=Li;const Bi=(0,Ln.numberToString)($i-Hi.shift);return Hi.shift=$i,Ei=(0,Ln.numberToString)(Ei),`${Bi} ${Ei} Td (${(0,Ln.escapeString)(Si)}) Tj`}_getSaveFieldResources(Si){var Hi;const{localResources:Ti,appearanceResources:Ri,acroFormResources:Mi}=this._fieldResources,Ui=(Hi=this.data.defaultAppearanceData)==null?void 0:Hi.fontName;if(!Ui)return Ti||Cn.Dict.empty;for(const Li of[Ti,Ri])if(Li instanceof Cn.Dict){const Ei=Li.get("Font");if(Ei instanceof Cn.Dict&&Ei.has(Ui))return Li}if(Mi instanceof Cn.Dict){const Li=Mi.get("Font");if(Li instanceof Cn.Dict&&Li.has(Ui)){const Ei=new Cn.Dict(Si);Ei.set(Ui,Li.getRaw(Ui));const $i=new Cn.Dict(Si);return $i.set("Font",Ei),Cn.Dict.merge({xref:Si,dictArray:[$i,Ti],mergeSubDicts:!0})}}return Ti||Cn.Dict.empty}getFieldObject(){return null}}class mi extends Gn{constructor(Si){super(Si),this.data.hasOwnCanvas=this.data.readOnly&&!this.data.noHTML,this._hasText=!0;const Ti=Si.dict;typeof this.data.fieldValue!="string"&&(this.data.fieldValue="");let Ri=(0,Ln.getInheritableProperty)({dict:Ti,key:"Q"});(!Number.isInteger(Ri)||Ri<0||Ri>2)&&(Ri=null),this.data.textAlignment=Ri;let Mi=(0,Ln.getInheritableProperty)({dict:Ti,key:"MaxLen"});(!Number.isInteger(Mi)||Mi<0)&&(Mi=0),this.data.maxLen=Mi,this.data.multiLine=this.hasFieldFlag(In.AnnotationFieldFlag.MULTILINE),this.data.comb=this.hasFieldFlag(In.AnnotationFieldFlag.COMB)&&!this.hasFieldFlag(In.AnnotationFieldFlag.MULTILINE)&&!this.hasFieldFlag(In.AnnotationFieldFlag.PASSWORD)&&!this.hasFieldFlag(In.AnnotationFieldFlag.FILESELECT)&&this.data.maxLen!==0,this.data.doNotScroll=this.hasFieldFlag(In.AnnotationFieldFlag.DONOTSCROLL)}get hasTextContent(){return!!this.appearance&&!this._needAppearances}_getCombAppearance(Si,Ti,Ri,Mi,Ui,Hi,Li,Ei,$i,Bi,Oi){const Xi=Ui/this.data.maxLen,Gi=this.getBorderAndBackgroundAppearances(Oi),qi=[],ns=Ti.getCharPositions(Ri);for(const[as,hs]of ns)qi.push(`(${(0,Ln.escapeString)(Ri.substring(as,hs))}) Tj`);const is=qi.join(` ${(0,Ln.numberToString)(Xi)} 0 Td `);return`/Tx BMC q ${Gi}BT `+Si+` 1 0 0 1 ${(0,Ln.numberToString)(Li)} ${(0,Ln.numberToString)(Ei+$i)} Tm ${is} ET Q EMC`}_getMultilineAppearance(Si,Ti,Ri,Mi,Ui,Hi,Li,Ei,$i,Bi,Oi,Xi){const Gi=[],qi=Ui-2*Ei,ns={shift:0};for(let hs=0,Yi=Ti.length;hs<Yi;hs++){const Vi=Ti[hs],Zi=this._splitLine(Vi,Ri,Mi,qi);for(let us=0,ts=Zi.length;us<ts;us++){const es=Zi[us],rs=hs===0&&us===0?-$i-(Oi-Bi):-Oi;Gi.push(this._renderText(es,Ri,Mi,Ui,Li,ns,Ei,rs))}}const is=this.getBorderAndBackgroundAppearances(Xi),as=Gi.join(`
|
|
4
4
|
`);return`/Tx BMC q ${is}BT `+Si+` 1 0 0 1 0 ${(0,Ln.numberToString)(Hi)} Tm ${as} ET Q EMC`}_splitLine(Si,Ti,Ri,Mi,Ui={}){Si=Ui.line||Si;const Hi=Ui.glyphs||Ti.charsToGlyphs(Si);if(Hi.length<=1)return[Si];const Li=Ui.positions||Ti.getCharPositions(Si),Ei=Ri/1e3,$i=[];let Bi=-1,Oi=-1,Xi=-1,Gi=0,qi=0;for(let ns=0,is=Hi.length;ns<is;ns++){const[as,hs]=Li[ns],Yi=Hi[ns],Vi=Yi.width*Ei;Yi.unicode===" "?qi+Vi>Mi?($i.push(Si.substring(Gi,as)),Gi=as,qi=Vi,Bi=-1,Xi=-1):(qi+=Vi,Bi=as,Oi=hs,Xi=ns):qi+Vi>Mi?Bi!==-1?($i.push(Si.substring(Gi,Oi)),Gi=Oi,ns=Xi+1,Bi=-1,qi=0):($i.push(Si.substring(Gi,as)),Gi=as,qi=Vi):qi+=Vi}return Gi<Si.length&&$i.push(Si.substring(Gi,Si.length)),$i}getFieldObject(){return{id:this.data.id,value:this.data.fieldValue,defaultValue:this.data.defaultFieldValue||"",multiline:this.data.multiLine,password:this.hasFieldFlag(In.AnnotationFieldFlag.PASSWORD),charLimit:this.data.maxLen,comb:this.data.comb,editable:!this.data.readOnly,hidden:this.data.hidden,name:this.data.fieldName,rect:this.data.rect,actions:this.data.actions,page:this.data.pageIndex,strokeColor:this.data.borderColor,fillColor:this.data.backgroundColor,rotation:this.rotation,type:"text"}}}class Wn extends Gn{constructor(Si){super(Si),this.checkedAppearance=null,this.uncheckedAppearance=null,this.data.checkBox=!this.hasFieldFlag(In.AnnotationFieldFlag.RADIO)&&!this.hasFieldFlag(In.AnnotationFieldFlag.PUSHBUTTON),this.data.radioButton=this.hasFieldFlag(In.AnnotationFieldFlag.RADIO)&&!this.hasFieldFlag(In.AnnotationFieldFlag.PUSHBUTTON),this.data.pushButton=this.hasFieldFlag(In.AnnotationFieldFlag.PUSHBUTTON),this.data.isTooltipOnly=!1,this.data.checkBox?this._processCheckBox(Si):this.data.radioButton?this._processRadioButton(Si):this.data.pushButton?(this.data.hasOwnCanvas=!0,this._processPushButton(Si)):(0,In.warn)("Invalid field flags for button widget annotation")}async getOperatorList(Si,Ti,Ri,Mi,Ui){if(this.data.pushButton)return super.getOperatorList(Si,Ti,Ri,!1,Ui);let Hi=null,Li=null;if(Ui){const $i=Ui.get(this.data.id);Hi=$i?$i.value:null,Li=$i?$i.rotation:null}if(Hi===null&&this.appearance)return super.getOperatorList(Si,Ti,Ri,Mi,Ui);Hi==null&&(Hi=this.data.checkBox?this.data.fieldValue===this.data.exportValue:this.data.fieldValue===this.data.buttonValue);const Ei=Hi?this.checkedAppearance:this.uncheckedAppearance;if(Ei){const $i=this.appearance,Bi=Ei.dict.getArray("Matrix")||In.IDENTITY_MATRIX;Li&&Ei.dict.set("Matrix",this.getRotationMatrix(Ui)),this.appearance=Ei;const Oi=super.getOperatorList(Si,Ti,Ri,Mi,Ui);return this.appearance=$i,Ei.dict.set("Matrix",Bi),Oi}return{opList:new On.OperatorList,separateForm:!1,separateCanvas:!1}}async save(Si,Ti,Ri){return this.data.checkBox?this._saveCheckbox(Si,Ti,Ri):this.data.radioButton?this._saveRadioButton(Si,Ti,Ri):null}async _saveCheckbox(Si,Ti,Ri){if(!Ri)return null;const Mi=Ri.get(this.data.id);let Ui=Mi==null?void 0:Mi.rotation,Hi=Mi==null?void 0:Mi.value;if(Ui===void 0&&(Hi===void 0||this.data.fieldValue===this.data.exportValue===Hi))return null;const Li=Si.xref.fetchIfRef(this.ref);if(!(Li instanceof Cn.Dict))return null;Ui===void 0&&(Ui=this.rotation),Hi===void 0&&(Hi=this.data.fieldValue===this.data.exportValue);const Ei={path:this.data.fieldName,value:Hi?this.data.exportValue:""},$i=Cn.Name.get(Hi?this.data.exportValue:"Off");Li.set("V",$i),Li.set("AS",$i),Li.set("M",`D:${(0,In.getModificationDate)()}`);const Bi=this._getMKDict(Ui);Bi&&Li.set("MK",Bi);const Oi=[];return await(0,hi.writeObject)(this.ref,Li,Oi,Si.xref),[{ref:this.ref,data:Oi.join(""),xfa:Ei}]}async _saveRadioButton(Si,Ti,Ri){if(!Ri)return null;const Mi=Ri.get(this.data.id);let Ui=Mi==null?void 0:Mi.rotation,Hi=Mi==null?void 0:Mi.value;if(Ui===void 0&&(Hi===void 0||this.data.fieldValue===this.data.buttonValue===Hi))return null;const Li=Si.xref.fetchIfRef(this.ref);if(!(Li instanceof Cn.Dict))return null;Hi===void 0&&(Hi=this.data.fieldValue===this.data.buttonValue),Ui===void 0&&(Ui=this.rotation);const Ei={path:this.data.fieldName,value:Hi?this.data.buttonValue:""},$i=Cn.Name.get(Hi?this.data.buttonValue:"Off"),Bi=[];let Oi=null;if(Hi)if(this.parent instanceof Cn.Ref){const qi=Si.xref.fetch(this.parent);qi.set("V",$i),await(0,hi.writeObject)(this.parent,qi,Bi,Si.xref),Oi=Bi.join(""),Bi.length=0}else this.parent instanceof Cn.Dict&&this.parent.set("V",$i);Li.set("AS",$i),Li.set("M",`D:${(0,In.getModificationDate)()}`);const Xi=this._getMKDict(Ui);Xi&&Li.set("MK",Xi),await(0,hi.writeObject)(this.ref,Li,Bi,Si.xref);const Gi=[{ref:this.ref,data:Bi.join(""),xfa:Ei}];return Oi&&Gi.push({ref:this.parent,data:Oi,xfa:null}),Gi}_getDefaultCheckedAppearance(Si,Ti){const Ri=this.data.rect[2]-this.data.rect[0],Mi=this.data.rect[3]-this.data.rect[1],Ui=[0,0,Ri,Mi],Li=Math.min(Ri,Mi)*.8;let Ei,$i;Ti==="check"?(Ei={width:.755*Li,height:.705*Li},$i="3"):Ti==="disc"?(Ei={width:.791*Li,height:.705*Li},$i="l"):(0,In.unreachable)(`_getDefaultCheckedAppearance - unsupported type: ${Ti}`);const Bi=(0,Ln.numberToString)((Ri-Ei.width)/2),Oi=(0,Ln.numberToString)((Mi-Ei.height)/2),Xi=`q BT /PdfJsZaDb ${Li} Tf 0 g ${Bi} ${Oi} Td (${$i}) Tj ET Q`,Gi=new Cn.Dict(Si.xref);Gi.set("FormType",1),Gi.set("Subtype",Cn.Name.get("Form")),Gi.set("Type",Cn.Name.get("XObject")),Gi.set("BBox",Ui),Gi.set("Matrix",[1,0,0,1,0,0]),Gi.set("Length",Xi.length);const qi=new Cn.Dict(Si.xref),ns=new Cn.Dict(Si.xref);ns.set("PdfJsZaDb",this.fallbackFontDict),qi.set("Font",ns),Gi.set("Resources",qi),this.checkedAppearance=new Tn.StringStream(Xi),this.checkedAppearance.dict=Gi,this._streams.push(this.checkedAppearance)}_processCheckBox(Si){const Ti=Si.dict.get("AP");if(!(Ti instanceof Cn.Dict))return;const Ri=Ti.get("N");if(!(Ri instanceof Cn.Dict))return;const Mi=this._decodeFormValue(Si.dict.get("AS"));typeof Mi=="string"&&(this.data.fieldValue=Mi);const Ui=this.data.fieldValue!==null&&this.data.fieldValue!=="Off"?this.data.fieldValue:"Yes",Hi=Ri.getKeys();if(Hi.length===0)Hi.push("Off",Ui);else if(Hi.length===1)Hi[0]==="Off"?Hi.push(Ui):Hi.unshift("Off");else if(Hi.includes(Ui))Hi.length=0,Hi.push("Off",Ui);else{const $i=Hi.find(Bi=>Bi!=="Off");Hi.length=0,Hi.push("Off",$i)}Hi.includes(this.data.fieldValue)||(this.data.fieldValue="Off"),this.data.exportValue=Hi[1];const Li=Ri.get(this.data.exportValue);this.checkedAppearance=Li instanceof Rn.BaseStream?Li:null;const Ei=Ri.get("Off");this.uncheckedAppearance=Ei instanceof Rn.BaseStream?Ei:null,this.checkedAppearance?this._streams.push(this.checkedAppearance):this._getDefaultCheckedAppearance(Si,"check"),this.uncheckedAppearance&&this._streams.push(this.uncheckedAppearance),this._fallbackFontDict=this.fallbackFontDict,this.data.defaultFieldValue===null&&(this.data.defaultFieldValue="Off")}_processRadioButton(Si){this.data.fieldValue=this.data.buttonValue=null;const Ti=Si.dict.get("Parent");if(Ti instanceof Cn.Dict){this.parent=Si.dict.getRaw("Parent");const Li=Ti.get("V");Li instanceof Cn.Name&&(this.data.fieldValue=this._decodeFormValue(Li))}const Ri=Si.dict.get("AP");if(!(Ri instanceof Cn.Dict))return;const Mi=Ri.get("N");if(!(Mi instanceof Cn.Dict))return;for(const Li of Mi.getKeys())if(Li!=="Off"){this.data.buttonValue=this._decodeFormValue(Li);break}const Ui=Mi.get(this.data.buttonValue);this.checkedAppearance=Ui instanceof Rn.BaseStream?Ui:null;const Hi=Mi.get("Off");this.uncheckedAppearance=Hi instanceof Rn.BaseStream?Hi:null,this.checkedAppearance?this._streams.push(this.checkedAppearance):this._getDefaultCheckedAppearance(Si,"disc"),this.uncheckedAppearance&&this._streams.push(this.uncheckedAppearance),this._fallbackFontDict=this.fallbackFontDict,this.data.defaultFieldValue===null&&(this.data.defaultFieldValue="Off")}_processPushButton(Si){const{dict:Ti,annotationGlobals:Ri}=Si;if(!Ti.has("A")&&!Ti.has("AA")&&!this.data.alternativeText){(0,In.warn)("Push buttons without action dictionaries are not supported");return}this.data.isTooltipOnly=!Ti.has("A")&&!Ti.has("AA"),si.Catalog.parseDestDictionary({destDict:Ti,resultObj:this.data,docBaseUrl:Ri.baseUrl,docAttachments:Ri.attachments})}getFieldObject(){let Si="button",Ti;return this.data.checkBox?(Si="checkbox",Ti=this.data.exportValue):this.data.radioButton&&(Si="radiobutton",Ti=this.data.buttonValue),{id:this.data.id,value:this.data.fieldValue||"Off",defaultValue:this.data.defaultFieldValue,exportValues:Ti,editable:!this.data.readOnly,name:this.data.fieldName,rect:this.data.rect,hidden:this.data.hidden,actions:this.data.actions,page:this.data.pageIndex,strokeColor:this.data.borderColor,fillColor:this.data.backgroundColor,rotation:this.rotation,type:Si}}get fallbackFontDict(){const Si=new Cn.Dict;return Si.set("BaseFont",Cn.Name.get("ZapfDingbats")),Si.set("Type",Cn.Name.get("FallbackType")),Si.set("Subtype",Cn.Name.get("FallbackType")),Si.set("Encoding",Cn.Name.get("ZapfDingbatsEncoding")),(0,In.shadow)(this,"fallbackFontDict",Si)}}class ni extends Gn{constructor(Si){super(Si);const{dict:Ti,xref:Ri}=Si;this.indices=Ti.getArray("I"),this.hasIndices=Array.isArray(this.indices)&&this.indices.length>0,this.data.options=[];const Mi=(0,Ln.getInheritableProperty)({dict:Ti,key:"Opt"});if(Array.isArray(Mi))for(let Ui=0,Hi=Mi.length;Ui<Hi;Ui++){const Li=Ri.fetchIfRef(Mi[Ui]),Ei=Array.isArray(Li);this.data.options[Ui]={exportValue:this._decodeFormValue(Ei?Ri.fetchIfRef(Li[0]):Li),displayValue:this._decodeFormValue(Ei?Ri.fetchIfRef(Li[1]):Li)}}if(!this.hasIndices)typeof this.data.fieldValue=="string"?this.data.fieldValue=[this.data.fieldValue]:this.data.fieldValue||(this.data.fieldValue=[]);else{this.data.fieldValue=[];const Ui=this.data.options.length;for(const Hi of this.indices)Number.isInteger(Hi)&&Hi>=0&&Hi<Ui&&this.data.fieldValue.push(this.data.options[Hi].exportValue)}this.data.combo=this.hasFieldFlag(In.AnnotationFieldFlag.COMBO),this.data.multiSelect=this.hasFieldFlag(In.AnnotationFieldFlag.MULTISELECT),this._hasText=!0}getFieldObject(){const Si=this.data.combo?"combobox":"listbox",Ti=this.data.fieldValue.length>0?this.data.fieldValue[0]:null;return{id:this.data.id,value:Ti,defaultValue:this.data.defaultFieldValue,editable:!this.data.readOnly,name:this.data.fieldName,rect:this.data.rect,numItems:this.data.fieldValue.length,multipleSelection:this.data.multiSelect,hidden:this.data.hidden,actions:this.data.actions,items:this.data.options,page:this.data.pageIndex,strokeColor:this.data.borderColor,fillColor:this.data.backgroundColor,rotation:this.rotation,type:Si}}amendSavedDict(Si,Ti){var Hi;if(!this.hasIndices)return;let Ri=(Hi=Si==null?void 0:Si.get(this.data.id))==null?void 0:Hi.value;Array.isArray(Ri)||(Ri=[Ri]);const Mi=[],{options:Ui}=this.data;for(let Li=0,Ei=0,$i=Ui.length;Li<$i;Li++)Ui[Li].exportValue===Ri[Ei]&&(Mi.push(Li),Ei+=1);Ti.set("I",Mi)}async _getAppearance(Si,Ti,Ri,Mi){if(this.data.combo)return super._getAppearance(Si,Ti,Ri,Mi);let Ui,Hi;const Li=Mi==null?void 0:Mi.get(this.data.id);if(Li&&(Hi=Li.rotation,Ui=Li.value),Hi===void 0&&Ui===void 0&&!this._needAppearances)return null;Ui===void 0?Ui=this.data.fieldValue:Array.isArray(Ui)||(Ui=[Ui]);const Ei=1,$i=2;let Bi=this.data.rect[3]-this.data.rect[1],Oi=this.data.rect[2]-this.data.rect[0];(Hi===90||Hi===270)&&([Oi,Bi]=[Bi,Oi]);const Xi=this.data.options.length,Gi=[];for(let es=0;es<Xi;es++){const{exportValue:rs}=this.data.options[es];Ui.includes(rs)&&Gi.push(es)}this._defaultAppearance||(this.data.defaultAppearanceData=(0,jn.parseDefaultAppearance)(this._defaultAppearance="/Helvetica 0 Tf 0 g"));const qi=await Gn._getFontData(Si,Ti,this.data.defaultAppearanceData,this._fieldResources.mergedResources);let ns,{fontSize:is}=this.data.defaultAppearanceData;if(is)ns=this._defaultAppearance;else{const es=(Bi-Ei)/Xi;let rs=-1,ss;for(const{displayValue:os}of this.data.options){const ks=this._getTextWidth(os,qi);ks>rs&&(rs=ks,ss=os)}[ns,is]=this._computeFontSize(es,Oi-2*$i,ss,qi,-1)}const as=is*In.LINE_FACTOR,hs=(as-is)/2,Yi=Math.floor(Bi/as);let Vi=0;if(Gi.length>0){const es=Math.min(...Gi),rs=Math.max(...Gi);Vi=Math.max(0,rs-Yi+1),Vi>es&&(Vi=es)}const Zi=Math.min(Vi+Yi+1,Xi),us=["/Tx BMC q",`1 1 ${Oi} ${Bi} re W n`];if(Gi.length){us.push("0.600006 0.756866 0.854904 rg");for(const es of Gi)Vi<=es&&es<Zi&&us.push(`1 ${Bi-(es-Vi+1)*as} ${Oi} ${as} re f`)}us.push("BT",ns,`1 0 0 1 0 ${Bi} Tm`);const ts={shift:0};for(let es=Vi;es<Zi;es++){const{displayValue:rs}=this.data.options[es],ss=es===Vi?hs:0;us.push(this._renderText(rs,qi,is,Oi,0,ts,$i,-as+ss))}return us.push("ET Q EMC"),us.join(`
|
|
@@ -63,7 +63,7 @@ ${xi}
|
|
|
63
63
|
`),position:bi,pageIndex:Ci-1,rect:ai,rotation:Vn,id:Yn,deleted:!1}}const Ii=super.deserialize(li,Ai,gi);return ds(Ii,ei,li.fontSize),ds(Ii,Rn,Kn.Util.makeHexColor(...li.color)),ds(Ii,ui,li.value),Ii.annotationElementId=li.id||null,ds(Ii,Bn,yi),Ii}serialize(li=!1){if(this.isEmpty())return null;if(this.deleted)return{pageIndex:this.pageIndex,id:this.annotationElementId,deleted:!0};const Ai=mi._internalPadding*this.parentScale,gi=this.getRect(Ai,Ai),yi=Mn.AnnotationEditor._colorManager.convert(this.isAttachedToDOM?getComputedStyle(this.editorDiv).color:vi(this,Rn)),Ii={annotationType:Kn.AnnotationEditorType.FREETEXT,color:yi,fontSize:vi(this,ei),value:vi(this,ui),pageIndex:this.pageIndex,rect:gi,rotation:this.rotation,structTreeParentId:this._structTreeParentId};return li?Ii:this.annotationElementId&&!Qi(this,Jn,Ah).call(this,Ii)?null:(Ii.id=this.annotationElementId,Ii)}};Ln=new WeakMap,jn=new WeakMap,Cn=new WeakMap,Tn=new WeakMap,Rn=new WeakMap,ui=new WeakMap,si=new WeakMap,ei=new WeakMap,Bn=new WeakMap,Nn=new WeakSet,yh=function(li){const Ai=yi=>{this.editorDiv.style.fontSize=`calc(${yi}px * var(--scale-factor))`,this.translate(0,-(yi-vi(this,ei))*this.parentScale),ds(this,ei,yi),Qi(this,ri,M0).call(this)},gi=vi(this,ei);this.addCommands({cmd:()=>{Ai(li)},undo:()=>{Ai(gi)},mustExec:!0,type:Kn.AnnotationEditorParamsType.FREETEXT_SIZE,overwriteIfSameType:!0,keepUndo:!0})},On=new WeakSet,wh=function(li){const Ai=vi(this,Rn);this.addCommands({cmd:()=>{ds(this,Rn,this.editorDiv.style.color=li)},undo:()=>{ds(this,Rn,this.editorDiv.style.color=Ai)},mustExec:!0,type:Kn.AnnotationEditorParamsType.FREETEXT_COLOR,overwriteIfSameType:!0,keepUndo:!0})},Xn=new WeakSet,Sh=function(){const li=this.editorDiv.getElementsByTagName("div");if(li.length===0)return this.editorDiv.innerText;const Ai=[];for(const gi of li)Ai.push(gi.innerText.replace(/\r\n?|\n/,""));return Ai.join(`
|
|
64
64
|
`)},ri=new WeakSet,M0=function(){const[li,Ai]=this.parentDimensions;let gi;if(this.isAttachedToDOM)gi=this.div.getBoundingClientRect();else{const{currentLayer:yi,div:Ii}=this,xi=Ii.style.display;Ii.style.display="hidden",yi.div.append(this.div),gi=Ii.getBoundingClientRect(),Ii.remove(),Ii.style.display=xi}this.rotation%180===this.parentRotation%180?(this.width=gi.width/li,this.height=gi.height/Ai):(this.width=gi.height/li,this.height=gi.width/Ai),this.fixAndSetPosition()},fi=new WeakSet,Al=function(){if(this.editorDiv.replaceChildren(),!!vi(this,ui))for(const li of vi(this,ui).split(`
|
|
65
65
|
`)){const Ai=document.createElement("div");Ai.append(li?document.createTextNode(li):document.createElement("br")),this.editorDiv.append(Ai)}},Jn=new WeakSet,Ah=function(li){const{value:Ai,fontSize:gi,color:yi,rect:Ii,pageIndex:xi}=vi(this,Bn);return li.value!==Ai||li.fontSize!==gi||li.rect.some((Qn,ai)=>Math.abs(Qn-Ii[ai])>=1)||li.color.some((Qn,ai)=>Qn!==yi[ai])||li.pageIndex!==xi},Zn=new WeakSet,vl=function(li=!1){if(!this.annotationElementId)return;if(Qi(this,ri,M0).call(this),!li&&(this.width===0||this.height===0)){setTimeout(()=>Qi(this,Zn,vl).call(this,!0),0);return}const Ai=mi._internalPadding*this.parentScale;vi(this,Bn).rect=this.getRect(Ai,Ai)},ta(mi,"_freeTextDefaultContent",""),ta(mi,"_internalPadding",0),ta(mi,"_defaultColor",null),ta(mi,"_defaultFontSize",10),ta(mi,"_type","freetext");let In=mi;$n.FreeTextEditor=In},(ki,$n,Pn)=>{var ai,Yn,to,bi,vh,Fi,zi,_i,ji,Pi,Ni,Si,Ti,Ri,Mi,Ui,Hi,Li,Ei,$i,Bi,Oi,Xi,kh,qi,xc,is,kl,hs,Cl,Vi,Zi,us,ts,es,rs,ss,Tl,ks,xs,Rs,ms,Ch,ws,El;Object.defineProperty($n,"__esModule",{value:!0}),$n.StampAnnotationElement=$n.InkAnnotationElement=$n.FreeTextAnnotationElement=$n.AnnotationLayer=void 0;var Kn=Pn(1),oi=Pn(6),Mn=Pn(3),ti=Pn(30),In=Pn(31),Ln=Pn(32);const jn=1e3,Cn=9,Tn=new WeakSet;function Rn(Is){return{width:Is[2]-Is[0],height:Is[3]-Is[1]}}class ui{static create(ls){switch(ls.data.annotationType){case Kn.AnnotationType.LINK:return new ei(ls);case Kn.AnnotationType.TEXT:return new Bn(ls);case Kn.AnnotationType.WIDGET:switch(ls.data.fieldType){case"Tx":return new Hn(ls);case"Btn":return ls.data.radioButton?new Xn(ls):ls.data.checkBox?new hi(ls):new ii(ls);case"Ch":return new ri(ls);case"Sig":return new On(ls)}return new Nn(ls);case Kn.AnnotationType.POPUP:return new di(ls);case Kn.AnnotationType.FREETEXT:return new wi(ls);case Kn.AnnotationType.LINE:return new Jn(ls);case Kn.AnnotationType.SQUARE:return new pi(ls);case Kn.AnnotationType.CIRCLE:return new Zn(ls);case Kn.AnnotationType.POLYLINE:return new Gn(ls);case Kn.AnnotationType.CARET:return new Wn(ls);case Kn.AnnotationType.INK:return new ni(ls);case Kn.AnnotationType.POLYGON:return new mi(ls);case Kn.AnnotationType.HIGHLIGHT:return new li(ls);case Kn.AnnotationType.UNDERLINE:return new Ai(ls);case Kn.AnnotationType.SQUIGGLY:return new gi(ls);case Kn.AnnotationType.STRIKEOUT:return new yi(ls);case Kn.AnnotationType.STAMP:return new Ii(ls);case Kn.AnnotationType.FILEATTACHMENT:return new xi(ls);default:return new si(ls)}}}const Vn=class Vn{constructor(ls,{isRenderable:Wi=!1,ignoreBorder:Ji=!1,createQuadrilaterals:cs=!1}={}){Ki(this,ai,!1);this.isRenderable=Wi,this.data=ls.data,this.layer=ls.layer,this.linkService=ls.linkService,this.downloadManager=ls.downloadManager,this.imageResourcesPath=ls.imageResourcesPath,this.renderForms=ls.renderForms,this.svgFactory=ls.svgFactory,this.annotationStorage=ls.annotationStorage,this.enableScripting=ls.enableScripting,this.hasJSActions=ls.hasJSActions,this._fieldObjects=ls.fieldObjects,this.parent=ls.parent,Wi&&(this.container=this._createContainer(Ji)),cs&&this._createQuadrilaterals()}static _hasPopupData({titleObj:ls,contentsObj:Wi,richText:Ji}){return!!(ls!=null&&ls.str||Wi!=null&&Wi.str||Ji!=null&&Ji.str)}get hasPopupData(){return Vn._hasPopupData(this.data)}_createContainer(ls){const{data:Wi,parent:{page:Ji,viewport:cs}}=this,fs=document.createElement("section");fs.setAttribute("data-annotation-id",Wi.id),this instanceof Nn||(fs.tabIndex=jn),fs.style.zIndex=this.parent.zIndex++,this.data.popupRef&&fs.setAttribute("aria-haspopup","dialog"),Wi.noRotate&&fs.classList.add("norotate");const{pageWidth:ps,pageHeight:gs,pageX:bs,pageY:vs}=cs.rawDims;if(!Wi.rect||this instanceof di){const{rotation:js}=Wi;return!Wi.hasOwnCanvas&&js!==0&&this.setRotation(js,fs),fs}const{width:_s,height:Us}=Rn(Wi.rect),Ds=Kn.Util.normalizeRect([Wi.rect[0],Ji.view[3]-Wi.rect[1]+Ji.view[1],Wi.rect[2],Ji.view[3]-Wi.rect[3]+Ji.view[1]]);if(!ls&&Wi.borderStyle.width>0){fs.style.borderWidth=`${Wi.borderStyle.width}px`;const js=Wi.borderStyle.horizontalCornerRadius,Vs=Wi.borderStyle.verticalCornerRadius;if(js>0||Vs>0){const As=`calc(${js}px * var(--scale-factor)) / calc(${Vs}px * var(--scale-factor))`;fs.style.borderRadius=As}else if(this instanceof Xn){const As=`calc(${_s}px * var(--scale-factor)) / calc(${Us}px * var(--scale-factor))`;fs.style.borderRadius=As}switch(Wi.borderStyle.style){case Kn.AnnotationBorderStyleType.SOLID:fs.style.borderStyle="solid";break;case Kn.AnnotationBorderStyleType.DASHED:fs.style.borderStyle="dashed";break;case Kn.AnnotationBorderStyleType.BEVELED:(0,Kn.warn)("Unimplemented border style: beveled");break;case Kn.AnnotationBorderStyleType.INSET:(0,Kn.warn)("Unimplemented border style: inset");break;case Kn.AnnotationBorderStyleType.UNDERLINE:fs.style.borderBottomStyle="solid";break}const Ss=Wi.borderColor||null;Ss?(ds(this,ai,!0),fs.style.borderColor=Kn.Util.makeHexColor(Ss[0]|0,Ss[1]|0,Ss[2]|0)):fs.style.borderWidth=0}fs.style.left=`${100*(Ds[0]-bs)/ps}%`,fs.style.top=`${100*(Ds[1]-vs)/gs}%`;const{rotation:Ms}=Wi;return Wi.hasOwnCanvas||Ms===0?(fs.style.width=`${100*_s/ps}%`,fs.style.height=`${100*Us/gs}%`):this.setRotation(Ms,fs),fs}setRotation(ls,Wi=this.container){if(!this.data.rect)return;const{pageWidth:Ji,pageHeight:cs}=this.parent.viewport.rawDims,{width:fs,height:ps}=Rn(this.data.rect);let gs,bs;ls%180===0?(gs=100*fs/Ji,bs=100*ps/cs):(gs=100*ps/Ji,bs=100*fs/cs),Wi.style.width=`${gs}%`,Wi.style.height=`${bs}%`,Wi.setAttribute("data-main-rotation",(360-ls)%360)}get _commonActions(){const ls=(Wi,Ji,cs)=>{const fs=cs.detail[Wi],ps=fs[0],gs=fs.slice(1);cs.target.style[Ji]=ti.ColorConverters[`${ps}_HTML`](gs),this.annotationStorage.setValue(this.data.id,{[Ji]:ti.ColorConverters[`${ps}_rgb`](gs)})};return(0,Kn.shadow)(this,"_commonActions",{display:Wi=>{const{display:Ji}=Wi.detail,cs=Ji%2===1;this.container.style.visibility=cs?"hidden":"visible",this.annotationStorage.setValue(this.data.id,{noView:cs,noPrint:Ji===1||Ji===2})},print:Wi=>{this.annotationStorage.setValue(this.data.id,{noPrint:!Wi.detail.print})},hidden:Wi=>{const{hidden:Ji}=Wi.detail;this.container.style.visibility=Ji?"hidden":"visible",this.annotationStorage.setValue(this.data.id,{noPrint:Ji,noView:Ji})},focus:Wi=>{setTimeout(()=>Wi.target.focus({preventScroll:!1}),0)},userName:Wi=>{Wi.target.title=Wi.detail.userName},readonly:Wi=>{Wi.target.disabled=Wi.detail.readonly},required:Wi=>{this._setRequired(Wi.target,Wi.detail.required)},bgColor:Wi=>{ls("bgColor","backgroundColor",Wi)},fillColor:Wi=>{ls("fillColor","backgroundColor",Wi)},fgColor:Wi=>{ls("fgColor","color",Wi)},textColor:Wi=>{ls("textColor","color",Wi)},borderColor:Wi=>{ls("borderColor","borderColor",Wi)},strokeColor:Wi=>{ls("strokeColor","borderColor",Wi)},rotation:Wi=>{const Ji=Wi.detail.rotation;this.setRotation(Ji),this.annotationStorage.setValue(this.data.id,{rotation:Ji})}})}_dispatchEventFromSandbox(ls,Wi){const Ji=this._commonActions;for(const cs of Object.keys(Wi.detail)){const fs=ls[cs]||Ji[cs];fs==null||fs(Wi)}}_setDefaultPropertiesFromJS(ls){if(!this.enableScripting)return;const Wi=this.annotationStorage.getRawValue(this.data.id);if(!Wi)return;const Ji=this._commonActions;for(const[cs,fs]of Object.entries(Wi)){const ps=Ji[cs];if(ps){const gs={detail:{[cs]:fs},target:ls};ps(gs),delete Wi[cs]}}}_createQuadrilaterals(){if(!this.container)return;const{quadPoints:ls}=this.data;if(!ls)return;const[Wi,Ji,cs,fs]=this.data.rect;if(ls.length===1){const[,{x:Vs,y:Ss},{x:As,y:Es}]=ls[0];if(cs===Vs&&fs===Ss&&Wi===As&&Ji===Es)return}const{style:ps}=this.container;let gs;if(vi(this,ai)){const{borderColor:Vs,borderWidth:Ss}=ps;ps.borderWidth=0,gs=["url('data:image/svg+xml;utf8,",'<svg xmlns="http://www.w3.org/2000/svg"',' preserveAspectRatio="none" viewBox="0 0 1 1">',`<g fill="transparent" stroke="${Vs}" stroke-width="${Ss}">`],this.container.classList.add("hasBorder")}const bs=cs-Wi,vs=fs-Ji,{svgFactory:_s}=this,Us=_s.createElement("svg");Us.classList.add("quadrilateralsContainer"),Us.setAttribute("width",0),Us.setAttribute("height",0);const Ds=_s.createElement("defs");Us.append(Ds);const Ms=_s.createElement("clipPath"),js=`clippath_${this.data.id}`;Ms.setAttribute("id",js),Ms.setAttribute("clipPathUnits","objectBoundingBox"),Ds.append(Ms);for(const[,{x:Vs,y:Ss},{x:As,y:Es}]of ls){const Os=_s.createElement("rect"),$s=(As-Wi)/bs,Ws=(fs-Ss)/vs,Ns=(Vs-As)/bs,Ls=(Ss-Es)/vs;Os.setAttribute("x",$s),Os.setAttribute("y",Ws),Os.setAttribute("width",Ns),Os.setAttribute("height",Ls),Ms.append(Os),gs==null||gs.push(`<rect vector-effect="non-scaling-stroke" x="${$s}" y="${Ws}" width="${Ns}" height="${Ls}"/>`)}vi(this,ai)&&(gs.push("</g></svg>')"),ps.backgroundImage=gs.join("")),this.container.append(Us),this.container.style.clipPath=`url(#${js})`}_createPopup(){const{container:ls,data:Wi}=this;ls.setAttribute("aria-haspopup","dialog");const Ji=new di({data:{color:Wi.color,titleObj:Wi.titleObj,modificationDate:Wi.modificationDate,contentsObj:Wi.contentsObj,richText:Wi.richText,parentRect:Wi.rect,borderStyle:0,id:`popup_${Wi.id}`,rotation:Wi.rotation},parent:this.parent,elements:[this]});this.parent.div.append(Ji.render())}render(){(0,Kn.unreachable)("Abstract method `AnnotationElement.render` called")}_getElementsByName(ls,Wi=null){const Ji=[];if(this._fieldObjects){const cs=this._fieldObjects[ls];if(cs)for(const{page:fs,id:ps,exportValues:gs}of cs){if(fs===-1||ps===Wi)continue;const bs=typeof gs=="string"?gs:null,vs=document.querySelector(`[data-element-id="${ps}"]`);if(vs&&!Tn.has(vs)){(0,Kn.warn)(`_getElementsByName - element not allowed: ${ps}`);continue}Ji.push({id:ps,exportValue:bs,domElement:vs})}return Ji}for(const cs of document.getElementsByName(ls)){const{exportValue:fs}=cs,ps=cs.getAttribute("data-element-id");ps!==Wi&&Tn.has(cs)&&Ji.push({id:ps,exportValue:fs,domElement:cs})}return Ji}show(){var ls;this.container&&(this.container.hidden=!1),(ls=this.popup)==null||ls.maybeShow()}hide(){var ls;this.container&&(this.container.hidden=!0),(ls=this.popup)==null||ls.forceHide()}getElementsToTriggerPopup(){return this.container}addHighlightArea(){const ls=this.getElementsToTriggerPopup();if(Array.isArray(ls))for(const Wi of ls)Wi.classList.add("highlightArea");else ls.classList.add("highlightArea")}_editOnDoubleClick(){const{annotationEditorType:ls,data:{id:Wi}}=this;this.container.addEventListener("dblclick",()=>{var Ji;(Ji=this.linkService.eventBus)==null||Ji.dispatch("switchannotationeditormode",{source:this,mode:ls,editId:Wi})})}};ai=new WeakMap;let si=Vn;class ei extends si{constructor(Wi,Ji=null){super(Wi,{isRenderable:!0,ignoreBorder:!!(Ji!=null&&Ji.ignoreBorder),createQuadrilaterals:!0});Ki(this,Yn);Ki(this,bi);this.isTooltipOnly=Wi.data.isTooltipOnly}render(){const{data:Wi,linkService:Ji}=this,cs=document.createElement("a");cs.setAttribute("data-element-id",Wi.id);let fs=!1;return Wi.url?(Ji.addLinkAttributes(cs,Wi.url,Wi.newWindow),fs=!0):Wi.action?(this._bindNamedAction(cs,Wi.action),fs=!0):Wi.attachment?(this._bindAttachment(cs,Wi.attachment),fs=!0):Wi.setOCGState?(Qi(this,bi,vh).call(this,cs,Wi.setOCGState),fs=!0):Wi.dest?(this._bindLink(cs,Wi.dest),fs=!0):(Wi.actions&&(Wi.actions.Action||Wi.actions["Mouse Up"]||Wi.actions["Mouse Down"])&&this.enableScripting&&this.hasJSActions&&(this._bindJSAction(cs,Wi),fs=!0),Wi.resetForm?(this._bindResetFormAction(cs,Wi.resetForm),fs=!0):this.isTooltipOnly&&!fs&&(this._bindLink(cs,""),fs=!0)),this.container.classList.add("linkAnnotation"),fs&&this.container.append(cs),this.container}_bindLink(Wi,Ji){Wi.href=this.linkService.getDestinationHash(Ji),Wi.onclick=()=>(Ji&&this.linkService.goToDestination(Ji),!1),(Ji||Ji==="")&&Qi(this,Yn,to).call(this)}_bindNamedAction(Wi,Ji){Wi.href=this.linkService.getAnchorUrl(""),Wi.onclick=()=>(this.linkService.executeNamedAction(Ji),!1),Qi(this,Yn,to).call(this)}_bindAttachment(Wi,Ji){Wi.href=this.linkService.getAnchorUrl(""),Wi.onclick=()=>{var cs;return(cs=this.downloadManager)==null||cs.openOrDownloadData(this.container,Ji.content,Ji.filename),!1},Qi(this,Yn,to).call(this)}_bindJSAction(Wi,Ji){Wi.href=this.linkService.getAnchorUrl("");const cs=new Map([["Action","onclick"],["Mouse Up","onmouseup"],["Mouse Down","onmousedown"]]);for(const fs of Object.keys(Ji.actions)){const ps=cs.get(fs);ps&&(Wi[ps]=()=>{var gs;return(gs=this.linkService.eventBus)==null||gs.dispatch("dispatcheventinsandbox",{source:this,detail:{id:Ji.id,name:fs}}),!1})}Wi.onclick||(Wi.onclick=()=>!1),Qi(this,Yn,to).call(this)}_bindResetFormAction(Wi,Ji){const cs=Wi.onclick;if(cs||(Wi.href=this.linkService.getAnchorUrl("")),Qi(this,Yn,to).call(this),!this._fieldObjects){(0,Kn.warn)('_bindResetFormAction - "resetForm" action not supported, ensure that the `fieldObjects` parameter is provided.'),cs||(Wi.onclick=()=>!1);return}Wi.onclick=()=>{var Us;cs==null||cs();const{fields:fs,refs:ps,include:gs}=Ji,bs=[];if(fs.length!==0||ps.length!==0){const Ds=new Set(ps);for(const Ms of fs){const js=this._fieldObjects[Ms]||[];for(const{id:Vs}of js)Ds.add(Vs)}for(const Ms of Object.values(this._fieldObjects))for(const js of Ms)Ds.has(js.id)===gs&&bs.push(js)}else for(const Ds of Object.values(this._fieldObjects))bs.push(...Ds);const vs=this.annotationStorage,_s=[];for(const Ds of bs){const{id:Ms}=Ds;switch(_s.push(Ms),Ds.type){case"text":{const Vs=Ds.defaultValue||"";vs.setValue(Ms,{value:Vs});break}case"checkbox":case"radiobutton":{const Vs=Ds.defaultValue===Ds.exportValues;vs.setValue(Ms,{value:Vs});break}case"combobox":case"listbox":{const Vs=Ds.defaultValue||"";vs.setValue(Ms,{value:Vs});break}default:continue}const js=document.querySelector(`[data-element-id="${Ms}"]`);if(js){if(!Tn.has(js)){(0,Kn.warn)(`_bindResetFormAction - element not allowed: ${Ms}`);continue}}else continue;js.dispatchEvent(new Event("resetform"))}return this.enableScripting&&((Us=this.linkService.eventBus)==null||Us.dispatch("dispatcheventinsandbox",{source:this,detail:{id:"app",ids:_s,name:"ResetForm"}})),!1}}}Yn=new WeakSet,to=function(){this.container.setAttribute("data-internal-link","")},bi=new WeakSet,vh=function(Wi,Ji){Wi.href=this.linkService.getAnchorUrl(""),Wi.onclick=()=>(this.linkService.executeSetOCGState(Ji),!1),Qi(this,Yn,to).call(this)};class Bn extends si{constructor(ls){super(ls,{isRenderable:!0})}render(){this.container.classList.add("textAnnotation");const ls=document.createElement("img");return ls.src=this.imageResourcesPath+"annotation-"+this.data.name.toLowerCase()+".svg",ls.alt="[{{type}} Annotation]",ls.dataset.l10nId="text_annotation_type",ls.dataset.l10nArgs=JSON.stringify({type:this.data.name}),!this.data.popupRef&&this.hasPopupData&&this._createPopup(),this.container.append(ls),this.container}}class Nn extends si{render(){return this.data.alternativeText&&(this.container.title=this.data.alternativeText),this.container}showElementAndHideCanvas(ls){var Wi;this.data.hasOwnCanvas&&(((Wi=ls.previousSibling)==null?void 0:Wi.nodeName)==="CANVAS"&&(ls.previousSibling.hidden=!0),ls.hidden=!1)}_getKeyModifier(ls){const{isWin:Wi,isMac:Ji}=Kn.FeatureTest.platform;return Wi&&ls.ctrlKey||Ji&&ls.metaKey}_setEventListener(ls,Wi,Ji,cs,fs){Ji.includes("mouse")?ls.addEventListener(Ji,ps=>{var gs;(gs=this.linkService.eventBus)==null||gs.dispatch("dispatcheventinsandbox",{source:this,detail:{id:this.data.id,name:cs,value:fs(ps),shift:ps.shiftKey,modifier:this._getKeyModifier(ps)}})}):ls.addEventListener(Ji,ps=>{var gs;if(Ji==="blur"){if(!Wi.focused||!ps.relatedTarget)return;Wi.focused=!1}else if(Ji==="focus"){if(Wi.focused)return;Wi.focused=!0}fs&&((gs=this.linkService.eventBus)==null||gs.dispatch("dispatcheventinsandbox",{source:this,detail:{id:this.data.id,name:cs,value:fs(ps)}}))})}_setEventListeners(ls,Wi,Ji,cs){var fs,ps,gs;for(const[bs,vs]of Ji)(vs==="Action"||(fs=this.data.actions)!=null&&fs[vs])&&((vs==="Focus"||vs==="Blur")&&(Wi||(Wi={focused:!1})),this._setEventListener(ls,Wi,bs,vs,cs),vs==="Focus"&&!((ps=this.data.actions)!=null&&ps.Blur)?this._setEventListener(ls,Wi,"blur","Blur",null):vs==="Blur"&&!((gs=this.data.actions)!=null&&gs.Focus)&&this._setEventListener(ls,Wi,"focus","Focus",null))}_setBackgroundColor(ls){const Wi=this.data.backgroundColor||null;ls.style.backgroundColor=Wi===null?"transparent":Kn.Util.makeHexColor(Wi[0],Wi[1],Wi[2])}_setTextStyle(ls){const Wi=["left","center","right"],{fontColor:Ji}=this.data.defaultAppearanceData,cs=this.data.defaultAppearanceData.fontSize||Cn,fs=ls.style;let ps;const gs=2,bs=vs=>Math.round(10*vs)/10;if(this.data.multiLine){const vs=Math.abs(this.data.rect[3]-this.data.rect[1]-gs),_s=Math.round(vs/(Kn.LINE_FACTOR*cs))||1,Us=vs/_s;ps=Math.min(cs,bs(Us/Kn.LINE_FACTOR))}else{const vs=Math.abs(this.data.rect[3]-this.data.rect[1]-gs);ps=Math.min(cs,bs(vs/Kn.LINE_FACTOR))}fs.fontSize=`calc(${ps}px * var(--scale-factor))`,fs.color=Kn.Util.makeHexColor(Ji[0],Ji[1],Ji[2]),this.data.textAlignment!==null&&(fs.textAlign=Wi[this.data.textAlignment])}_setRequired(ls,Wi){Wi?ls.setAttribute("required",!0):ls.removeAttribute("required"),ls.setAttribute("aria-required",Wi)}}class Hn extends Nn{constructor(ls){const Wi=ls.renderForms||!ls.data.hasAppearance&&!!ls.data.fieldValue;super(ls,{isRenderable:Wi})}setPropertyOnSiblings(ls,Wi,Ji,cs){const fs=this.annotationStorage;for(const ps of this._getElementsByName(ls.name,ls.id))ps.domElement&&(ps.domElement[Wi]=Ji),fs.setValue(ps.id,{[cs]:Ji})}render(){var cs,fs;const ls=this.annotationStorage,Wi=this.data.id;this.container.classList.add("textWidgetAnnotation");let Ji=null;if(this.renderForms){const ps=ls.getValue(Wi,{value:this.data.fieldValue});let gs=ps.value||"";const bs=ls.getValue(Wi,{charLimit:this.data.maxLen}).charLimit;bs&&gs.length>bs&&(gs=gs.slice(0,bs));let vs=ps.formattedValue||((cs=this.data.textContent)==null?void 0:cs.join(`
|
|
66
|
-
`))||null;vs&&this.data.comb&&(vs=vs.replaceAll(/\s+/g,""));const _s={userValue:gs,formattedValue:vs,lastCommittedValue:null,commitKey:1,focused:!1};this.data.multiLine?(Ji=document.createElement("textarea"),Ji.textContent=vs??gs,this.data.doNotScroll&&(Ji.style.overflowY="hidden")):(Ji=document.createElement("input"),Ji.type="text",Ji.setAttribute("value",vs??gs),this.data.doNotScroll&&(Ji.style.overflowX="hidden")),this.data.hasOwnCanvas&&(Ji.hidden=!0),Tn.add(Ji),Ji.setAttribute("data-element-id",Wi),Ji.disabled=this.data.readOnly,Ji.name=this.data.fieldName,Ji.tabIndex=jn,this._setRequired(Ji,this.data.required),bs&&(Ji.maxLength=bs),Ji.addEventListener("input",Ds=>{ls.setValue(Wi,{value:Ds.target.value}),this.setPropertyOnSiblings(Ji,"value",Ds.target.value,"value"),_s.formattedValue=null}),Ji.addEventListener("resetform",Ds=>{const Ms=this.data.defaultFieldValue??"";Ji.value=_s.userValue=Ms,_s.formattedValue=null});let Us=Ds=>{const{formattedValue:Ms}=_s;Ms!=null&&(Ds.target.value=Ms),Ds.target.scrollLeft=0};if(this.enableScripting&&this.hasJSActions){Ji.addEventListener("focus",Ms=>{if(_s.focused)return;const{target:js}=Ms;_s.userValue&&(js.value=_s.userValue),_s.lastCommittedValue=js.value,_s.commitKey=1,_s.focused=!0}),Ji.addEventListener("updatefromsandbox",Ms=>{this.showElementAndHideCanvas(Ms.target);const js={value(Vs){_s.userValue=Vs.detail.value??"",ls.setValue(Wi,{value:_s.userValue.toString()}),Vs.target.value=_s.userValue},formattedValue(Vs){const{formattedValue:Ss}=Vs.detail;_s.formattedValue=Ss,Ss!=null&&Vs.target!==document.activeElement&&(Vs.target.value=Ss),ls.setValue(Wi,{formattedValue:Ss})},selRange(Vs){Vs.target.setSelectionRange(...Vs.detail.selRange)},charLimit:Vs=>{var Os;const{charLimit:Ss}=Vs.detail,{target:As}=Vs;if(Ss===0){As.removeAttribute("maxLength");return}As.setAttribute("maxLength",Ss);let Es=_s.userValue;!Es||Es.length<=Ss||(Es=Es.slice(0,Ss),As.value=_s.userValue=Es,ls.setValue(Wi,{value:Es}),(Os=this.linkService.eventBus)==null||Os.dispatch("dispatcheventinsandbox",{source:this,detail:{id:Wi,name:"Keystroke",value:Es,willCommit:!0,commitKey:1,selStart:As.selectionStart,selEnd:As.selectionEnd}}))}};this._dispatchEventFromSandbox(js,Ms)}),Ji.addEventListener("keydown",Ms=>{var Ss;_s.commitKey=1;let js=-1;if(Ms.key==="Escape"?js=0:Ms.key==="Enter"&&!this.data.multiLine?js=2:Ms.key==="Tab"&&(_s.commitKey=3),js===-1)return;const{value:Vs}=Ms.target;_s.lastCommittedValue!==Vs&&(_s.lastCommittedValue=Vs,_s.userValue=Vs,(Ss=this.linkService.eventBus)==null||Ss.dispatch("dispatcheventinsandbox",{source:this,detail:{id:Wi,name:"Keystroke",value:Vs,willCommit:!0,commitKey:js,selStart:Ms.target.selectionStart,selEnd:Ms.target.selectionEnd}}))});const Ds=Us;Us=null,Ji.addEventListener("blur",Ms=>{var Vs;if(!_s.focused||!Ms.relatedTarget)return;_s.focused=!1;const{value:js}=Ms.target;_s.userValue=js,_s.lastCommittedValue!==js&&((Vs=this.linkService.eventBus)==null||Vs.dispatch("dispatcheventinsandbox",{source:this,detail:{id:Wi,name:"Keystroke",value:js,willCommit:!0,commitKey:_s.commitKey,selStart:Ms.target.selectionStart,selEnd:Ms.target.selectionEnd}})),Ds(Ms)}),(fs=this.data.actions)!=null&&fs.Keystroke&&Ji.addEventListener("beforeinput",Ms=>{var Ws;_s.lastCommittedValue=null;const{data:js,target:Vs}=Ms,{value:Ss,selectionStart:As,selectionEnd:Es}=Vs;let Os=As,$s=Es;switch(Ms.inputType){case"deleteWordBackward":{const Ns=Ss.substring(0,As).match(/\w*[^\w]*$/);Ns&&(Os-=Ns[0].length);break}case"deleteWordForward":{const Ns=Ss.substring(As).match(/^[^\w]*\w*/);Ns&&($s+=Ns[0].length);break}case"deleteContentBackward":As===Es&&(Os-=1);break;case"deleteContentForward":As===Es&&($s+=1);break}Ms.preventDefault(),(Ws=this.linkService.eventBus)==null||Ws.dispatch("dispatcheventinsandbox",{source:this,detail:{id:Wi,name:"Keystroke",value:Ss,change:js||"",willCommit:!1,selStart:Os,selEnd:$s}})}),this._setEventListeners(Ji,_s,[["focus","Focus"],["blur","Blur"],["mousedown","Mouse Down"],["mouseenter","Mouse Enter"],["mouseleave","Mouse Exit"],["mouseup","Mouse Up"]],Ms=>Ms.target.value)}if(Us&&Ji.addEventListener("blur",Us),this.data.comb){const Ms=(this.data.rect[2]-this.data.rect[0])/bs;Ji.classList.add("comb"),Ji.style.letterSpacing=`calc(${Ms}px * var(--scale-factor) - 1ch)`}}else Ji=document.createElement("div"),Ji.textContent=this.data.fieldValue,Ji.style.verticalAlign="middle",Ji.style.display="table-cell";return this._setTextStyle(Ji),this._setBackgroundColor(Ji),this._setDefaultPropertiesFromJS(Ji),this.container.append(Ji),this.container}}class On extends Nn{constructor(ls){super(ls,{isRenderable:!!ls.data.hasOwnCanvas})}}class hi extends Nn{constructor(ls){super(ls,{isRenderable:ls.renderForms})}render(){const ls=this.annotationStorage,Wi=this.data,Ji=Wi.id;let cs=ls.getValue(Ji,{value:Wi.exportValue===Wi.fieldValue}).value;typeof cs=="string"&&(cs=cs!=="Off",ls.setValue(Ji,{value:cs})),this.container.classList.add("buttonWidgetAnnotation","checkBox");const fs=document.createElement("input");return Tn.add(fs),fs.setAttribute("data-element-id",Ji),fs.disabled=Wi.readOnly,this._setRequired(fs,this.data.required),fs.type="checkbox",fs.name=Wi.fieldName,cs&&fs.setAttribute("checked",!0),fs.setAttribute("exportValue",Wi.exportValue),fs.tabIndex=jn,fs.addEventListener("change",ps=>{const{name:gs,checked:bs}=ps.target;for(const vs of this._getElementsByName(gs,Ji)){const _s=bs&&vs.exportValue===Wi.exportValue;vs.domElement&&(vs.domElement.checked=_s),ls.setValue(vs.id,{value:_s})}ls.setValue(Ji,{value:bs})}),fs.addEventListener("resetform",ps=>{const gs=Wi.defaultFieldValue||"Off";ps.target.checked=gs===Wi.exportValue}),this.enableScripting&&this.hasJSActions&&(fs.addEventListener("updatefromsandbox",ps=>{const gs={value(bs){bs.target.checked=bs.detail.value!=="Off",ls.setValue(Ji,{value:bs.target.checked})}};this._dispatchEventFromSandbox(gs,ps)}),this._setEventListeners(fs,null,[["change","Validate"],["change","Action"],["focus","Focus"],["blur","Blur"],["mousedown","Mouse Down"],["mouseenter","Mouse Enter"],["mouseleave","Mouse Exit"],["mouseup","Mouse Up"]],ps=>ps.target.checked)),this._setBackgroundColor(fs),this._setDefaultPropertiesFromJS(fs),this.container.append(fs),this.container}}class Xn extends Nn{constructor(ls){super(ls,{isRenderable:ls.renderForms})}render(){this.container.classList.add("buttonWidgetAnnotation","radioButton");const ls=this.annotationStorage,Wi=this.data,Ji=Wi.id;let cs=ls.getValue(Ji,{value:Wi.fieldValue===Wi.buttonValue}).value;typeof cs=="string"&&(cs=cs!==Wi.buttonValue,ls.setValue(Ji,{value:cs}));const fs=document.createElement("input");if(Tn.add(fs),fs.setAttribute("data-element-id",Ji),fs.disabled=Wi.readOnly,this._setRequired(fs,this.data.required),fs.type="radio",fs.name=Wi.fieldName,cs&&fs.setAttribute("checked",!0),fs.tabIndex=jn,fs.addEventListener("change",ps=>{const{name:gs,checked:bs}=ps.target;for(const vs of this._getElementsByName(gs,Ji))ls.setValue(vs.id,{value:!1});ls.setValue(Ji,{value:bs})}),fs.addEventListener("resetform",ps=>{const gs=Wi.defaultFieldValue;ps.target.checked=gs!=null&&gs===Wi.buttonValue}),this.enableScripting&&this.hasJSActions){const ps=Wi.buttonValue;fs.addEventListener("updatefromsandbox",gs=>{const bs={value:vs=>{const _s=ps===vs.detail.value;for(const Us of this._getElementsByName(vs.target.name)){const Ds=_s&&Us.id===Ji;Us.domElement&&(Us.domElement.checked=Ds),ls.setValue(Us.id,{value:Ds})}}};this._dispatchEventFromSandbox(bs,gs)}),this._setEventListeners(fs,null,[["change","Validate"],["change","Action"],["focus","Focus"],["blur","Blur"],["mousedown","Mouse Down"],["mouseenter","Mouse Enter"],["mouseleave","Mouse Exit"],["mouseup","Mouse Up"]],gs=>gs.target.checked)}return this._setBackgroundColor(fs),this._setDefaultPropertiesFromJS(fs),this.container.append(fs),this.container}}class ii extends ei{constructor(ls){super(ls,{ignoreBorder:ls.data.hasAppearance})}render(){const ls=super.render();ls.classList.add("buttonWidgetAnnotation","pushButton"),this.data.alternativeText&&(ls.title=this.data.alternativeText);const Wi=ls.lastChild;return this.enableScripting&&this.hasJSActions&&Wi&&(this._setDefaultPropertiesFromJS(Wi),Wi.addEventListener("updatefromsandbox",Ji=>{this._dispatchEventFromSandbox({},Ji)})),ls}}class ri extends Nn{constructor(ls){super(ls,{isRenderable:ls.renderForms})}render(){this.container.classList.add("choiceWidgetAnnotation");const ls=this.annotationStorage,Wi=this.data.id,Ji=ls.getValue(Wi,{value:this.data.fieldValue}),cs=document.createElement("select");Tn.add(cs),cs.setAttribute("data-element-id",Wi),cs.disabled=this.data.readOnly,this._setRequired(cs,this.data.required),cs.name=this.data.fieldName,cs.tabIndex=jn;let fs=this.data.combo&&this.data.options.length>0;this.data.combo||(cs.size=this.data.options.length,this.data.multiSelect&&(cs.multiple=!0)),cs.addEventListener("resetform",_s=>{const Us=this.data.defaultFieldValue;for(const Ds of cs.options)Ds.selected=Ds.value===Us});for(const _s of this.data.options){const Us=document.createElement("option");Us.textContent=_s.displayValue,Us.value=_s.exportValue,Ji.value.includes(_s.exportValue)&&(Us.setAttribute("selected",!0),fs=!1),cs.append(Us)}let ps=null;if(fs){const _s=document.createElement("option");_s.value=" ",_s.setAttribute("hidden",!0),_s.setAttribute("selected",!0),cs.prepend(_s),ps=()=>{_s.remove(),cs.removeEventListener("input",ps),ps=null},cs.addEventListener("input",ps)}const gs=_s=>{const Us=_s?"value":"textContent",{options:Ds,multiple:Ms}=cs;return Ms?Array.prototype.filter.call(Ds,js=>js.selected).map(js=>js[Us]):Ds.selectedIndex===-1?null:Ds[Ds.selectedIndex][Us]};let bs=gs(!1);const vs=_s=>{const Us=_s.target.options;return Array.prototype.map.call(Us,Ds=>({displayValue:Ds.textContent,exportValue:Ds.value}))};return this.enableScripting&&this.hasJSActions?(cs.addEventListener("updatefromsandbox",_s=>{const Us={value(Ds){ps==null||ps();const Ms=Ds.detail.value,js=new Set(Array.isArray(Ms)?Ms:[Ms]);for(const Vs of cs.options)Vs.selected=js.has(Vs.value);ls.setValue(Wi,{value:gs(!0)}),bs=gs(!1)},multipleSelection(Ds){cs.multiple=!0},remove(Ds){const Ms=cs.options,js=Ds.detail.remove;Ms[js].selected=!1,cs.remove(js),Ms.length>0&&Array.prototype.findIndex.call(Ms,Ss=>Ss.selected)===-1&&(Ms[0].selected=!0),ls.setValue(Wi,{value:gs(!0),items:vs(Ds)}),bs=gs(!1)},clear(Ds){for(;cs.length!==0;)cs.remove(0);ls.setValue(Wi,{value:null,items:[]}),bs=gs(!1)},insert(Ds){const{index:Ms,displayValue:js,exportValue:Vs}=Ds.detail.insert,Ss=cs.children[Ms],As=document.createElement("option");As.textContent=js,As.value=Vs,Ss?Ss.before(As):cs.append(As),ls.setValue(Wi,{value:gs(!0),items:vs(Ds)}),bs=gs(!1)},items(Ds){const{items:Ms}=Ds.detail;for(;cs.length!==0;)cs.remove(0);for(const js of Ms){const{displayValue:Vs,exportValue:Ss}=js,As=document.createElement("option");As.textContent=Vs,As.value=Ss,cs.append(As)}cs.options.length>0&&(cs.options[0].selected=!0),ls.setValue(Wi,{value:gs(!0),items:vs(Ds)}),bs=gs(!1)},indices(Ds){const Ms=new Set(Ds.detail.indices);for(const js of Ds.target.options)js.selected=Ms.has(js.index);ls.setValue(Wi,{value:gs(!0)}),bs=gs(!1)},editable(Ds){Ds.target.disabled=!Ds.detail.editable}};this._dispatchEventFromSandbox(Us,_s)}),cs.addEventListener("input",_s=>{var Ds;const Us=gs(!0);ls.setValue(Wi,{value:Us}),_s.preventDefault(),(Ds=this.linkService.eventBus)==null||Ds.dispatch("dispatcheventinsandbox",{source:this,detail:{id:Wi,name:"Keystroke",value:bs,changeEx:Us,willCommit:!1,commitKey:1,keyDown:!1}})}),this._setEventListeners(cs,null,[["focus","Focus"],["blur","Blur"],["mousedown","Mouse Down"],["mouseenter","Mouse Enter"],["mouseleave","Mouse Exit"],["mouseup","Mouse Up"],["input","Action"],["input","Validate"]],_s=>_s.target.value)):cs.addEventListener("input",function(_s){ls.setValue(Wi,{value:gs(!0)})}),this.data.combo&&this._setTextStyle(cs),this._setBackgroundColor(cs),this._setDefaultPropertiesFromJS(cs),this.container.append(cs),this.container}}class di extends si{constructor(ls){const{data:Wi,elements:Ji}=ls;super(ls,{isRenderable:si._hasPopupData(Wi)}),this.elements=Ji}render(){this.container.classList.add("popupAnnotation");const ls=new fi({container:this.container,color:this.data.color,titleObj:this.data.titleObj,modificationDate:this.data.modificationDate,contentsObj:this.data.contentsObj,richText:this.data.richText,rect:this.data.rect,parentRect:this.data.parentRect||null,parent:this.parent,elements:this.elements,open:this.data.open}),Wi=[];for(const Ji of this.elements)Ji.popup=ls,Wi.push(Ji.data.id),Ji.addHighlightArea();return this.container.setAttribute("aria-controls",Wi.map(Ji=>`${Kn.AnnotationPrefix}${Ji}`).join(",")),this.container}}class fi{constructor({container:ls,color:Wi,elements:Ji,titleObj:cs,modificationDate:fs,contentsObj:ps,richText:gs,parent:bs,rect:vs,parentRect:_s,open:Us}){Ki(this,Xi);Ki(this,qi);Ki(this,is);Ki(this,hs);Ki(this,Fi,null);Ki(this,zi,Qi(this,Xi,kh).bind(this));Ki(this,_i,Qi(this,hs,Cl).bind(this));Ki(this,ji,Qi(this,is,kl).bind(this));Ki(this,Pi,Qi(this,qi,xc).bind(this));Ki(this,Ni,null);Ki(this,Si,null);Ki(this,Ti,null);Ki(this,Ri,null);Ki(this,Mi,null);Ki(this,Ui,null);Ki(this,Hi,!1);Ki(this,Li,null);Ki(this,Ei,null);Ki(this,$i,null);Ki(this,Bi,null);Ki(this,Oi,!1);var Ms;ds(this,Si,ls),ds(this,Bi,cs),ds(this,Ti,ps),ds(this,$i,gs),ds(this,Mi,bs),ds(this,Ni,Wi),ds(this,Ei,vs),ds(this,Ui,_s),ds(this,Ri,Ji);const Ds=oi.PDFDateString.toDateObject(fs);Ds&&ds(this,Fi,bs.l10n.get("annotation_date_string",{date:Ds.toLocaleDateString(),time:Ds.toLocaleTimeString()})),this.trigger=Ji.flatMap(js=>js.getElementsToTriggerPopup());for(const js of this.trigger)js.addEventListener("click",vi(this,Pi)),js.addEventListener("mouseenter",vi(this,ji)),js.addEventListener("mouseleave",vi(this,_i)),js.classList.add("popupTriggerArea");for(const js of Ji)(Ms=js.container)==null||Ms.addEventListener("keydown",vi(this,zi));vi(this,Si).hidden=!0,Us&&Qi(this,qi,xc).call(this)}render(){if(vi(this,Li))return;const{page:{view:ls},viewport:{rawDims:{pageWidth:Wi,pageHeight:Ji,pageX:cs,pageY:fs}}}=vi(this,Mi),ps=ds(this,Li,document.createElement("div"));if(ps.className="popup",vi(this,Ni)){const Os=ps.style.outlineColor=Kn.Util.makeHexColor(...vi(this,Ni));CSS.supports("background-color","color-mix(in srgb, red 30%, white)")?ps.style.backgroundColor=`color-mix(in srgb, ${Os} 30%, white)`:ps.style.backgroundColor=Kn.Util.makeHexColor(...vi(this,Ni).map(Ws=>Math.floor(.7*(255-Ws)+Ws)))}const gs=document.createElement("span");gs.className="header";const bs=document.createElement("h1");if(gs.append(bs),{dir:bs.dir,str:bs.textContent}=vi(this,Bi),ps.append(gs),vi(this,Fi)){const Os=document.createElement("span");Os.classList.add("popupDate"),vi(this,Fi).then($s=>{Os.textContent=$s}),gs.append(Os)}const vs=vi(this,Ti),_s=vi(this,$i);if(_s!=null&&_s.str&&(!(vs!=null&&vs.str)||vs.str===_s.str))Ln.XfaLayer.render({xfaHtml:_s.html,intent:"richText",div:ps}),ps.lastChild.classList.add("richText","popupContent");else{const Os=this._formatContents(vs);ps.append(Os)}let Us=!!vi(this,Ui),Ds=Us?vi(this,Ui):vi(this,Ei);for(const Os of vi(this,Ri))if(!Ds||Kn.Util.intersect(Os.data.rect,Ds)!==null){Ds=Os.data.rect,Us=!0;break}const Ms=Kn.Util.normalizeRect([Ds[0],ls[3]-Ds[1]+ls[1],Ds[2],ls[3]-Ds[3]+ls[1]]),Vs=Us?Ds[2]-Ds[0]+5:0,Ss=Ms[0]+Vs,As=Ms[1],{style:Es}=vi(this,Si);Es.left=`${100*(Ss-cs)/Wi}%`,Es.top=`${100*(As-fs)/Ji}%`,vi(this,Si).append(ps)}_formatContents({str:ls,dir:Wi}){const Ji=document.createElement("p");Ji.classList.add("popupContent"),Ji.dir=Wi;const cs=ls.split(/(?:\r\n?|\n)/);for(let fs=0,ps=cs.length;fs<ps;++fs){const gs=cs[fs];Ji.append(document.createTextNode(gs)),fs<ps-1&&Ji.append(document.createElement("br"))}return Ji}forceHide(){ds(this,Oi,this.isVisible),vi(this,Oi)&&(vi(this,Si).hidden=!0)}maybeShow(){vi(this,Oi)&&(ds(this,Oi,!1),vi(this,Si).hidden=!1)}get isVisible(){return vi(this,Si).hidden===!1}}Fi=new WeakMap,zi=new WeakMap,_i=new WeakMap,ji=new WeakMap,Pi=new WeakMap,Ni=new WeakMap,Si=new WeakMap,Ti=new WeakMap,Ri=new WeakMap,Mi=new WeakMap,Ui=new WeakMap,Hi=new WeakMap,Li=new WeakMap,Ei=new WeakMap,$i=new WeakMap,Bi=new WeakMap,Oi=new WeakMap,Xi=new WeakSet,kh=function(ls){ls.altKey||ls.shiftKey||ls.ctrlKey||ls.metaKey||(ls.key==="Enter"||ls.key==="Escape"&&vi(this,Hi))&&Qi(this,qi,xc).call(this)},qi=new WeakSet,xc=function(){ds(this,Hi,!vi(this,Hi)),vi(this,Hi)?(Qi(this,is,kl).call(this),vi(this,Si).addEventListener("click",vi(this,Pi)),vi(this,Si).addEventListener("keydown",vi(this,zi))):(Qi(this,hs,Cl).call(this),vi(this,Si).removeEventListener("click",vi(this,Pi)),vi(this,Si).removeEventListener("keydown",vi(this,zi)))},is=new WeakSet,kl=function(){vi(this,Li)||this.render(),this.isVisible?vi(this,Hi)&&vi(this,Si).classList.add("focused"):(vi(this,Si).hidden=!1,vi(this,Si).style.zIndex=parseInt(vi(this,Si).style.zIndex)+1e3)},hs=new WeakSet,Cl=function(){vi(this,Si).classList.remove("focused"),!(vi(this,Hi)||!this.isVisible)&&(vi(this,Si).hidden=!0,vi(this,Si).style.zIndex=parseInt(vi(this,Si).style.zIndex)-1e3)};class wi extends si{constructor(ls){super(ls,{isRenderable:!0,ignoreBorder:!0}),this.textContent=ls.data.textContent,this.textPosition=ls.data.textPosition,this.annotationEditorType=Kn.AnnotationEditorType.FREETEXT}render(){if(this.container.classList.add("freeTextAnnotation"),this.textContent){const ls=document.createElement("div");ls.classList.add("annotationTextContent"),ls.setAttribute("role","comment");for(const Wi of this.textContent){const Ji=document.createElement("span");Ji.textContent=Wi,ls.append(Ji)}this.container.append(ls)}return!this.data.popupRef&&this.hasPopupData&&this._createPopup(),this._editOnDoubleClick(),this.container}}$n.FreeTextAnnotationElement=wi;class Jn extends si{constructor(Wi){super(Wi,{isRenderable:!0,ignoreBorder:!0});Ki(this,Vi,null)}render(){this.container.classList.add("lineAnnotation");const Wi=this.data,{width:Ji,height:cs}=Rn(Wi.rect),fs=this.svgFactory.create(Ji,cs,!0),ps=ds(this,Vi,this.svgFactory.createElement("svg:line"));return ps.setAttribute("x1",Wi.rect[2]-Wi.lineCoordinates[0]),ps.setAttribute("y1",Wi.rect[3]-Wi.lineCoordinates[1]),ps.setAttribute("x2",Wi.rect[2]-Wi.lineCoordinates[2]),ps.setAttribute("y2",Wi.rect[3]-Wi.lineCoordinates[3]),ps.setAttribute("stroke-width",Wi.borderStyle.width||1),ps.setAttribute("stroke","transparent"),ps.setAttribute("fill","transparent"),fs.append(ps),this.container.append(fs),!Wi.popupRef&&this.hasPopupData&&this._createPopup(),this.container}getElementsToTriggerPopup(){return vi(this,Vi)}addHighlightArea(){this.container.classList.add("highlightArea")}}Vi=new WeakMap;class pi extends si{constructor(Wi){super(Wi,{isRenderable:!0,ignoreBorder:!0});Ki(this,Zi,null)}render(){this.container.classList.add("squareAnnotation");const Wi=this.data,{width:Ji,height:cs}=Rn(Wi.rect),fs=this.svgFactory.create(Ji,cs,!0),ps=Wi.borderStyle.width,gs=ds(this,Zi,this.svgFactory.createElement("svg:rect"));return gs.setAttribute("x",ps/2),gs.setAttribute("y",ps/2),gs.setAttribute("width",Ji-ps),gs.setAttribute("height",cs-ps),gs.setAttribute("stroke-width",ps||1),gs.setAttribute("stroke","transparent"),gs.setAttribute("fill","transparent"),fs.append(gs),this.container.append(fs),!Wi.popupRef&&this.hasPopupData&&this._createPopup(),this.container}getElementsToTriggerPopup(){return vi(this,Zi)}addHighlightArea(){this.container.classList.add("highlightArea")}}Zi=new WeakMap;class Zn extends si{constructor(Wi){super(Wi,{isRenderable:!0,ignoreBorder:!0});Ki(this,us,null)}render(){this.container.classList.add("circleAnnotation");const Wi=this.data,{width:Ji,height:cs}=Rn(Wi.rect),fs=this.svgFactory.create(Ji,cs,!0),ps=Wi.borderStyle.width,gs=ds(this,us,this.svgFactory.createElement("svg:ellipse"));return gs.setAttribute("cx",Ji/2),gs.setAttribute("cy",cs/2),gs.setAttribute("rx",Ji/2-ps/2),gs.setAttribute("ry",cs/2-ps/2),gs.setAttribute("stroke-width",ps||1),gs.setAttribute("stroke","transparent"),gs.setAttribute("fill","transparent"),fs.append(gs),this.container.append(fs),!Wi.popupRef&&this.hasPopupData&&this._createPopup(),this.container}getElementsToTriggerPopup(){return vi(this,us)}addHighlightArea(){this.container.classList.add("highlightArea")}}us=new WeakMap;class Gn extends si{constructor(Wi){super(Wi,{isRenderable:!0,ignoreBorder:!0});Ki(this,ts,null);this.containerClassName="polylineAnnotation",this.svgElementName="svg:polyline"}render(){this.container.classList.add(this.containerClassName);const Wi=this.data,{width:Ji,height:cs}=Rn(Wi.rect),fs=this.svgFactory.create(Ji,cs,!0);let ps=[];for(const bs of Wi.vertices){const vs=bs.x-Wi.rect[0],_s=Wi.rect[3]-bs.y;ps.push(vs+","+_s)}ps=ps.join(" ");const gs=ds(this,ts,this.svgFactory.createElement(this.svgElementName));return gs.setAttribute("points",ps),gs.setAttribute("stroke-width",Wi.borderStyle.width||1),gs.setAttribute("stroke","transparent"),gs.setAttribute("fill","transparent"),fs.append(gs),this.container.append(fs),!Wi.popupRef&&this.hasPopupData&&this._createPopup(),this.container}getElementsToTriggerPopup(){return vi(this,ts)}addHighlightArea(){this.container.classList.add("highlightArea")}}ts=new WeakMap;class mi extends Gn{constructor(ls){super(ls),this.containerClassName="polygonAnnotation",this.svgElementName="svg:polygon"}}class Wn extends si{constructor(ls){super(ls,{isRenderable:!0,ignoreBorder:!0})}render(){return this.container.classList.add("caretAnnotation"),!this.data.popupRef&&this.hasPopupData&&this._createPopup(),this.container}}class ni extends si{constructor(Wi){super(Wi,{isRenderable:!0,ignoreBorder:!0});Ki(this,es,[]);this.containerClassName="inkAnnotation",this.svgElementName="svg:polyline",this.annotationEditorType=Kn.AnnotationEditorType.INK}render(){this.container.classList.add(this.containerClassName);const Wi=this.data,{width:Ji,height:cs}=Rn(Wi.rect),fs=this.svgFactory.create(Ji,cs,!0);for(const ps of Wi.inkLists){let gs=[];for(const vs of ps){const _s=vs.x-Wi.rect[0],Us=Wi.rect[3]-vs.y;gs.push(`${_s},${Us}`)}gs=gs.join(" ");const bs=this.svgFactory.createElement(this.svgElementName);vi(this,es).push(bs),bs.setAttribute("points",gs),bs.setAttribute("stroke-width",Wi.borderStyle.width||1),bs.setAttribute("stroke","transparent"),bs.setAttribute("fill","transparent"),!Wi.popupRef&&this.hasPopupData&&this._createPopup(),fs.append(bs)}return this.container.append(fs),this.container}getElementsToTriggerPopup(){return vi(this,es)}addHighlightArea(){this.container.classList.add("highlightArea")}}es=new WeakMap,$n.InkAnnotationElement=ni;class li extends si{constructor(ls){super(ls,{isRenderable:!0,ignoreBorder:!0,createQuadrilaterals:!0})}render(){return!this.data.popupRef&&this.hasPopupData&&this._createPopup(),this.container.classList.add("highlightAnnotation"),this.container}}class Ai extends si{constructor(ls){super(ls,{isRenderable:!0,ignoreBorder:!0,createQuadrilaterals:!0})}render(){return!this.data.popupRef&&this.hasPopupData&&this._createPopup(),this.container.classList.add("underlineAnnotation"),this.container}}class gi extends si{constructor(ls){super(ls,{isRenderable:!0,ignoreBorder:!0,createQuadrilaterals:!0})}render(){return!this.data.popupRef&&this.hasPopupData&&this._createPopup(),this.container.classList.add("squigglyAnnotation"),this.container}}class yi extends si{constructor(ls){super(ls,{isRenderable:!0,ignoreBorder:!0,createQuadrilaterals:!0})}render(){return!this.data.popupRef&&this.hasPopupData&&this._createPopup(),this.container.classList.add("strikeoutAnnotation"),this.container}}class Ii extends si{constructor(ls){super(ls,{isRenderable:!0,ignoreBorder:!0})}render(){return this.container.classList.add("stampAnnotation"),!this.data.popupRef&&this.hasPopupData&&this._createPopup(),this.container}}$n.StampAnnotationElement=Ii;class xi extends si{constructor(Wi){var fs;super(Wi,{isRenderable:!0});Ki(this,ss);Ki(this,rs,null);const{filename:Ji,content:cs}=this.data.file;this.filename=(0,oi.getFilenameFromUrl)(Ji,!0),this.content=cs,(fs=this.linkService.eventBus)==null||fs.dispatch("fileattachmentannotation",{source:this,filename:Ji,content:cs})}render(){this.container.classList.add("fileAttachmentAnnotation");const{container:Wi,data:Ji}=this;let cs;Ji.hasAppearance||Ji.fillAlpha===0?cs=document.createElement("div"):(cs=document.createElement("img"),cs.src=`${this.imageResourcesPath}annotation-${/paperclip/i.test(Ji.name)?"paperclip":"pushpin"}.svg`,Ji.fillAlpha&&Ji.fillAlpha<1&&(cs.style=`filter: opacity(${Math.round(Ji.fillAlpha*100)}%);`)),cs.addEventListener("dblclick",Qi(this,ss,Tl).bind(this)),ds(this,rs,cs);const{isMac:fs}=Kn.FeatureTest.platform;return Wi.addEventListener("keydown",ps=>{ps.key==="Enter"&&(fs?ps.metaKey:ps.ctrlKey)&&Qi(this,ss,Tl).call(this)}),!Ji.popupRef&&this.hasPopupData?this._createPopup():cs.classList.add("popupTriggerArea"),Wi.append(cs),Wi}getElementsToTriggerPopup(){return vi(this,rs)}addHighlightArea(){this.container.classList.add("highlightArea")}}rs=new WeakMap,ss=new WeakSet,Tl=function(){var Wi;(Wi=this.downloadManager)==null||Wi.openOrDownloadData(this.container,this.content,this.filename)};class Qn{constructor({div:ls,accessibilityManager:Wi,annotationCanvasMap:Ji,l10n:cs,page:fs,viewport:ps}){Ki(this,ms);Ki(this,ws);Ki(this,ks,null);Ki(this,xs,null);Ki(this,Rs,new Map);this.div=ls,ds(this,ks,Wi),ds(this,xs,Ji),this.l10n=cs,this.page=fs,this.viewport=ps,this.zIndex=0,this.l10n||(this.l10n=In.NullL10n)}async render(ls){const{annotations:Wi}=ls,Ji=this.div;(0,oi.setLayerDimensions)(Ji,this.viewport);const cs=new Map,fs={data:null,layer:Ji,linkService:ls.linkService,downloadManager:ls.downloadManager,imageResourcesPath:ls.imageResourcesPath||"",renderForms:ls.renderForms!==!1,svgFactory:new oi.DOMSVGFactory,annotationStorage:ls.annotationStorage||new Mn.AnnotationStorage,enableScripting:ls.enableScripting===!0,hasJSActions:ls.hasJSActions,fieldObjects:ls.fieldObjects,parent:this,elements:null};for(const ps of Wi){if(ps.noHTML)continue;const gs=ps.annotationType===Kn.AnnotationType.POPUP;if(gs){const _s=cs.get(ps.id);if(!_s)continue;fs.elements=_s}else{const{width:_s,height:Us}=Rn(ps.rect);if(_s<=0||Us<=0)continue}fs.data=ps;const bs=ui.create(fs);if(!bs.isRenderable)continue;if(!gs&&ps.popupRef){const _s=cs.get(ps.popupRef);_s?_s.push(bs):cs.set(ps.popupRef,[bs])}bs.annotationEditorType>0&&vi(this,Rs).set(bs.data.id,bs);const vs=bs.render();ps.hidden&&(vs.style.visibility="hidden"),Qi(this,ms,Ch).call(this,vs,ps.id)}Qi(this,ws,El).call(this),await this.l10n.translate(Ji)}update({viewport:ls}){const Wi=this.div;this.viewport=ls,(0,oi.setLayerDimensions)(Wi,{rotation:ls.rotation}),Qi(this,ws,El).call(this),Wi.hidden=!1}getEditableAnnotations(){return Array.from(vi(this,Rs).values())}getEditableAnnotation(ls){return vi(this,Rs).get(ls)}}ks=new WeakMap,xs=new WeakMap,Rs=new WeakMap,ms=new WeakSet,Ch=function(ls,Wi){var cs;const Ji=ls.firstChild||ls;Ji.id=`${Kn.AnnotationPrefix}${Wi}`,this.div.append(ls),(cs=vi(this,ks))==null||cs.moveElementInDOM(this.div,ls,Ji,!1)},ws=new WeakSet,El=function(){if(!vi(this,xs))return;const ls=this.div;for(const[Wi,Ji]of vi(this,xs)){const cs=ls.querySelector(`[data-annotation-id="${Wi}"]`);if(!cs)continue;const{firstChild:fs}=cs;fs?fs.nodeName==="CANVAS"?fs.replaceWith(Ji):fs.before(Ji):cs.append(Ji)}vi(this,xs).clear()},$n.AnnotationLayer=Qn},(ki,$n)=>{Object.defineProperty($n,"__esModule",{value:!0}),$n.ColorConverters=void 0;function Pn(Mn){return Math.floor(Math.max(0,Math.min(1,Mn))*255).toString(16).padStart(2,"0")}function Kn(Mn){return Math.max(0,Math.min(255,255*Mn))}class oi{static CMYK_G([ti,In,Ln,jn]){return["G",1-Math.min(1,.3*ti+.59*Ln+.11*In+jn)]}static G_CMYK([ti]){return["CMYK",0,0,0,1-ti]}static G_RGB([ti]){return["RGB",ti,ti,ti]}static G_rgb([ti]){return ti=Kn(ti),[ti,ti,ti]}static G_HTML([ti]){const In=Pn(ti);return`#${In}${In}${In}`}static RGB_G([ti,In,Ln]){return["G",.3*ti+.59*In+.11*Ln]}static RGB_rgb(ti){return ti.map(Kn)}static RGB_HTML(ti){return`#${ti.map(Pn).join("")}`}static T_HTML(){return"#00000000"}static T_rgb(){return[null]}static CMYK_RGB([ti,In,Ln,jn]){return["RGB",1-Math.min(1,ti+jn),1-Math.min(1,Ln+jn),1-Math.min(1,In+jn)]}static CMYK_rgb([ti,In,Ln,jn]){return[Kn(1-Math.min(1,ti+jn)),Kn(1-Math.min(1,Ln+jn)),Kn(1-Math.min(1,In+jn))]}static CMYK_HTML(ti){const In=this.CMYK_RGB(ti).slice(1);return this.RGB_HTML(In)}static RGB_CMYK([ti,In,Ln]){const jn=1-ti,Cn=1-In,Tn=1-Ln,Rn=Math.min(jn,Cn,Tn);return["CMYK",jn,Cn,Tn,Rn]}}$n.ColorConverters=oi},(ki,$n)=>{Object.defineProperty($n,"__esModule",{value:!0}),$n.NullL10n=void 0,$n.getL10nFallback=Kn;const Pn={of_pages:"of {{pagesCount}}",page_of_pages:"({{pageNumber}} of {{pagesCount}})",document_properties_kb:"{{size_kb}} KB ({{size_b}} bytes)",document_properties_mb:"{{size_mb}} MB ({{size_b}} bytes)",document_properties_date_string:"{{date}}, {{time}}",document_properties_page_size_unit_inches:"in",document_properties_page_size_unit_millimeters:"mm",document_properties_page_size_orientation_portrait:"portrait",document_properties_page_size_orientation_landscape:"landscape",document_properties_page_size_name_a3:"A3",document_properties_page_size_name_a4:"A4",document_properties_page_size_name_letter:"Letter",document_properties_page_size_name_legal:"Legal",document_properties_page_size_dimension_string:"{{width}} × {{height}} {{unit}} ({{orientation}})",document_properties_page_size_dimension_name_string:"{{width}} × {{height}} {{unit}} ({{name}}, {{orientation}})",document_properties_linearized_yes:"Yes",document_properties_linearized_no:"No",additional_layers:"Additional Layers",page_landmark:"Page {{page}}",thumb_page_title:"Page {{page}}",thumb_page_canvas:"Thumbnail of Page {{page}}",find_reached_top:"Reached top of document, continued from bottom",find_reached_bottom:"Reached end of document, continued from top","find_match_count[one]":"{{current}} of {{total}} match","find_match_count[other]":"{{current}} of {{total}} matches","find_match_count_limit[one]":"More than {{limit}} match","find_match_count_limit[other]":"More than {{limit}} matches",find_not_found:"Phrase not found",page_scale_width:"Page Width",page_scale_fit:"Page Fit",page_scale_auto:"Automatic Zoom",page_scale_actual:"Actual Size",page_scale_percent:"{{scale}}%",loading_error:"An error occurred while loading the PDF.",invalid_file_error:"Invalid or corrupted PDF file.",missing_file_error:"Missing PDF file.",unexpected_response_error:"Unexpected server response.",rendering_error:"An error occurred while rendering the page.",annotation_date_string:"{{date}}, {{time}}",printing_not_supported:"Warning: Printing is not fully supported by this browser.",printing_not_ready:"Warning: The PDF is not fully loaded for printing.",web_fonts_disabled:"Web fonts are disabled: unable to use embedded PDF fonts.",free_text2_default_content:"Start typing…",editor_free_text2_aria_label:"Text Editor",editor_ink2_aria_label:"Draw Editor",editor_ink_canvas_aria_label:"User-created image",editor_alt_text_button_label:"Alt text",editor_alt_text_edit_button_label:"Edit alt text",editor_alt_text_decorative_tooltip:"Marked as decorative"};Pn.print_progress_percent="{{progress}}%";function Kn(ti,In){switch(ti){case"find_match_count":ti=`find_match_count[${In.total===1?"one":"other"}]`;break;case"find_match_count_limit":ti=`find_match_count_limit[${In.limit===1?"one":"other"}]`;break}return Pn[ti]||""}function oi(ti,In){return In?ti.replaceAll(/\{\{\s*(\w+)\s*\}\}/g,(Ln,jn)=>jn in In?In[jn]:"{{"+jn+"}}"):ti}const Mn={async getLanguage(){return"en-us"},async getDirection(){return"ltr"},async get(ti,In=null,Ln=Kn(ti,In)){return oi(Ln,In)},async translate(ti){}};$n.NullL10n=Mn},(ki,$n,Pn)=>{Object.defineProperty($n,"__esModule",{value:!0}),$n.XfaLayer=void 0;var Kn=Pn(25);class oi{static setupStorage(ti,In,Ln,jn,Cn){const Tn=jn.getValue(In,{value:null});switch(Ln.name){case"textarea":if(Tn.value!==null&&(ti.textContent=Tn.value),Cn==="print")break;ti.addEventListener("input",Rn=>{jn.setValue(In,{value:Rn.target.value})});break;case"input":if(Ln.attributes.type==="radio"||Ln.attributes.type==="checkbox"){if(Tn.value===Ln.attributes.xfaOn?ti.setAttribute("checked",!0):Tn.value===Ln.attributes.xfaOff&&ti.removeAttribute("checked"),Cn==="print")break;ti.addEventListener("change",Rn=>{jn.setValue(In,{value:Rn.target.checked?Rn.target.getAttribute("xfaOn"):Rn.target.getAttribute("xfaOff")})})}else{if(Tn.value!==null&&ti.setAttribute("value",Tn.value),Cn==="print")break;ti.addEventListener("input",Rn=>{jn.setValue(In,{value:Rn.target.value})})}break;case"select":if(Tn.value!==null){ti.setAttribute("value",Tn.value);for(const Rn of Ln.children)Rn.attributes.value===Tn.value?Rn.attributes.selected=!0:Rn.attributes.hasOwnProperty("selected")&&delete Rn.attributes.selected}ti.addEventListener("input",Rn=>{const ui=Rn.target.options,si=ui.selectedIndex===-1?"":ui[ui.selectedIndex].value;jn.setValue(In,{value:si})});break}}static setAttributes({html:ti,element:In,storage:Ln=null,intent:jn,linkService:Cn}){const{attributes:Tn}=In,Rn=ti instanceof HTMLAnchorElement;Tn.type==="radio"&&(Tn.name=`${Tn.name}-${jn}`);for(const[ui,si]of Object.entries(Tn))if(si!=null)switch(ui){case"class":si.length&&ti.setAttribute(ui,si.join(" "));break;case"dataId":break;case"id":ti.setAttribute("data-element-id",si);break;case"style":Object.assign(ti.style,si);break;case"textContent":ti.textContent=si;break;default:(!Rn||ui!=="href"&&ui!=="newWindow")&&ti.setAttribute(ui,si)}Rn&&Cn.addLinkAttributes(ti,Tn.href,Tn.newWindow),Ln&&Tn.dataId&&this.setupStorage(ti,Tn.dataId,In,Ln)}static render(ti){var ei;const In=ti.annotationStorage,Ln=ti.linkService,jn=ti.xfaHtml,Cn=ti.intent||"display",Tn=document.createElement(jn.name);jn.attributes&&this.setAttributes({html:Tn,element:jn,intent:Cn,linkService:Ln});const Rn=[[jn,-1,Tn]],ui=ti.div;if(ui.append(Tn),ti.viewport){const Bn=`matrix(${ti.viewport.transform.join(",")})`;ui.style.transform=Bn}Cn!=="richText"&&ui.setAttribute("class","xfaLayer xfaFont");const si=[];for(;Rn.length>0;){const[Bn,Nn,Hn]=Rn.at(-1);if(Nn+1===Bn.children.length){Rn.pop();continue}const On=Bn.children[++Rn.at(-1)[1]];if(On===null)continue;const{name:hi}=On;if(hi==="#text"){const ii=document.createTextNode(On.value);si.push(ii),Hn.append(ii);continue}const Xn=(ei=On==null?void 0:On.attributes)!=null&&ei.xmlns?document.createElementNS(On.attributes.xmlns,hi):document.createElement(hi);if(Hn.append(Xn),On.attributes&&this.setAttributes({html:Xn,element:On,storage:In,intent:Cn,linkService:Ln}),On.children&&On.children.length>0)Rn.push([On,-1,Xn]);else if(On.value){const ii=document.createTextNode(On.value);Kn.XfaText.shouldBuildText(hi)&&si.push(ii),Xn.append(ii)}}for(const Bn of ui.querySelectorAll(".xfaNonInteractive input, .xfaNonInteractive textarea"))Bn.setAttribute("readOnly",!0);return{textDivs:si}}static update(ti){const In=`matrix(${ti.viewport.transform.join(",")})`;ti.div.style.transform=In,ti.div.hidden=!1}}$n.XfaLayer=oi},(ki,$n,Pn)=>{var jn,Cn,Tn,Rn,ui,si,ei,Bn,Nn,Hn,On,hi,Xn,ii,ri,Th,fi,Eh,Jn,Fh,Zn,Ih,mi,Fl,ni,Oh,Ai,Il,yi,_h,xi,Mh,ai,Ph,Yn,Rh,bi,Lh,Fi,Sr,_i,Ol,Pi,bc,Si,yc,Ri,Bo,Ui,_l,Li,wc,$i,Dh,Oi,Ml,Gi,Nh,ns,Bh,as,Pl,Yi,Sc,Zi,$o;Object.defineProperty($n,"__esModule",{value:!0}),$n.InkEditor=void 0;var Kn=Pn(1),oi=Pn(4),Mn=Pn(29),ti=Pn(6),In=Pn(5);const ts=class ts extends oi.AnnotationEditor{constructor(ss){super({...ss,name:"inkEditor"});Ki(this,ri);Ki(this,fi);Ki(this,Jn);Ki(this,Zn);Ki(this,mi);Ki(this,ni);Ki(this,Ai);Ki(this,yi);Ki(this,xi);Ki(this,ai);Ki(this,Yn);Ki(this,bi);Ki(this,Fi);Ki(this,_i);Ki(this,Pi);Ki(this,Si);Ki(this,Ri);Ki(this,Ui);Ki(this,Li);Ki(this,ns);Ki(this,as);Ki(this,Yi);Ki(this,Zi);Ki(this,jn,0);Ki(this,Cn,0);Ki(this,Tn,this.canvasPointermove.bind(this));Ki(this,Rn,this.canvasPointerleave.bind(this));Ki(this,ui,this.canvasPointerup.bind(this));Ki(this,si,this.canvasPointerdown.bind(this));Ki(this,ei,new Path2D);Ki(this,Bn,!1);Ki(this,Nn,!1);Ki(this,Hn,!1);Ki(this,On,null);Ki(this,hi,0);Ki(this,Xn,0);Ki(this,ii,null);this.color=ss.color||null,this.thickness=ss.thickness||null,this.opacity=ss.opacity||null,this.paths=[],this.bezierPath2D=[],this.allRawPaths=[],this.currentPath=[],this.scaleFactor=1,this.translationX=this.translationY=0,this.x=0,this.y=0,this._willKeepAspectRatio=!0}static initialize(ss){oi.AnnotationEditor.initialize(ss,{strings:["editor_ink_canvas_aria_label","editor_ink2_aria_label"]})}static updateDefaultParams(ss,os){switch(ss){case Kn.AnnotationEditorParamsType.INK_THICKNESS:ts._defaultThickness=os;break;case Kn.AnnotationEditorParamsType.INK_COLOR:ts._defaultColor=os;break;case Kn.AnnotationEditorParamsType.INK_OPACITY:ts._defaultOpacity=os/100;break}}updateParams(ss,os){switch(ss){case Kn.AnnotationEditorParamsType.INK_THICKNESS:Qi(this,ri,Th).call(this,os);break;case Kn.AnnotationEditorParamsType.INK_COLOR:Qi(this,fi,Eh).call(this,os);break;case Kn.AnnotationEditorParamsType.INK_OPACITY:Qi(this,Jn,Fh).call(this,os);break}}static get defaultPropertiesToUpdate(){return[[Kn.AnnotationEditorParamsType.INK_THICKNESS,ts._defaultThickness],[Kn.AnnotationEditorParamsType.INK_COLOR,ts._defaultColor||oi.AnnotationEditor._defaultLineColor],[Kn.AnnotationEditorParamsType.INK_OPACITY,Math.round(ts._defaultOpacity*100)]]}get propertiesToUpdate(){return[[Kn.AnnotationEditorParamsType.INK_THICKNESS,this.thickness||ts._defaultThickness],[Kn.AnnotationEditorParamsType.INK_COLOR,this.color||ts._defaultColor||oi.AnnotationEditor._defaultLineColor],[Kn.AnnotationEditorParamsType.INK_OPACITY,Math.round(100*(this.opacity??ts._defaultOpacity))]]}rebuild(){this.parent&&(super.rebuild(),this.div!==null&&(this.canvas||(Qi(this,Pi,bc).call(this),Qi(this,Si,yc).call(this)),this.isAttachedToDOM||(this.parent.add(this),Qi(this,Ri,Bo).call(this)),Qi(this,Zi,$o).call(this)))}remove(){this.canvas!==null&&(this.isEmpty()||this.commit(),this.canvas.width=this.canvas.height=0,this.canvas.remove(),this.canvas=null,vi(this,On).disconnect(),ds(this,On,null),super.remove())}setParent(ss){!this.parent&&ss?this._uiManager.removeShouldRescale(this):this.parent&&ss===null&&this._uiManager.addShouldRescale(this),super.setParent(ss)}onScaleChanging(){const[ss,os]=this.parentDimensions,ks=this.width*ss,xs=this.height*os;this.setDimensions(ks,xs)}enableEditMode(){vi(this,Bn)||this.canvas===null||(super.enableEditMode(),this._isDraggable=!1,this.canvas.addEventListener("pointerdown",vi(this,si)))}disableEditMode(){!this.isInEditMode()||this.canvas===null||(super.disableEditMode(),this._isDraggable=!this.isEmpty(),this.div.classList.remove("editing"),this.canvas.removeEventListener("pointerdown",vi(this,si)))}onceAdded(){this._isDraggable=!this.isEmpty()}isEmpty(){return this.paths.length===0||this.paths.length===1&&this.paths[0].length===0}commit(){vi(this,Bn)||(super.commit(),this.isEditing=!1,this.disableEditMode(),this.setInForeground(),ds(this,Bn,!0),this.div.classList.add("disabled"),Qi(this,Zi,$o).call(this,!0),this.makeResizable(),this.parent.addInkEditorIfNeeded(!0),this.moveInDOM(),this.div.focus({preventScroll:!0}))}focusin(ss){this._focusEventsAllowed&&(super.focusin(ss),this.enableEditMode())}canvasPointerdown(ss){ss.button!==0||!this.isInEditMode()||vi(this,Bn)||(this.setInForeground(),ss.preventDefault(),ss.type!=="mouse"&&this.div.focus(),Qi(this,ni,Oh).call(this,ss.offsetX,ss.offsetY))}canvasPointermove(ss){ss.preventDefault(),Qi(this,Ai,Il).call(this,ss.offsetX,ss.offsetY)}canvasPointerup(ss){ss.preventDefault(),Qi(this,_i,Ol).call(this,ss)}canvasPointerleave(ss){Qi(this,_i,Ol).call(this,ss)}get isResizable(){return!this.isEmpty()&&vi(this,Bn)}render(){if(this.div)return this.div;let ss,os;this.width&&(ss=this.x,os=this.y),super.render(),oi.AnnotationEditor._l10nPromise.get("editor_ink2_aria_label").then(Bs=>{var ws;return(ws=this.div)==null?void 0:ws.setAttribute("aria-label",Bs)});const[ks,xs,Rs,ms]=Qi(this,Zn,Ih).call(this);if(this.setAt(ks,xs,0,0),this.setDims(Rs,ms),Qi(this,Pi,bc).call(this),this.width){const[Bs,ws]=this.parentDimensions;this.setAspectRatio(this.width*Bs,this.height*ws),this.setAt(ss*Bs,os*ws,this.width*Bs,this.height*ws),ds(this,Hn,!0),Qi(this,Ri,Bo).call(this),this.setDims(this.width*Bs,this.height*ws),Qi(this,Fi,Sr).call(this),this.div.classList.add("disabled")}else this.div.classList.add("editing"),this.enableEditMode();return Qi(this,Si,yc).call(this),this.div}setDimensions(ss,os){const ks=Math.round(ss),xs=Math.round(os);if(vi(this,hi)===ks&&vi(this,Xn)===xs)return;ds(this,hi,ks),ds(this,Xn,xs),this.canvas.style.visibility="hidden";const[Rs,ms]=this.parentDimensions;this.width=ss/Rs,this.height=os/ms,this.fixAndSetPosition(),vi(this,Bn)&&Qi(this,Ui,_l).call(this,ss,os),Qi(this,Ri,Bo).call(this),Qi(this,Fi,Sr).call(this),this.canvas.style.visibility="visible",this.fixDims()}static deserialize(ss,os,ks){var fs,ps,gs;if(ss instanceof Mn.InkAnnotationElement)return null;const xs=super.deserialize(ss,os,ks);xs.thickness=ss.thickness,xs.color=Kn.Util.makeHexColor(...ss.color),xs.opacity=ss.opacity;const[Rs,ms]=xs.pageDimensions,Bs=xs.width*Rs,ws=xs.height*ms,Ts=xs.parentScale,Is=ss.thickness/2;ds(xs,Bn,!0),ds(xs,hi,Math.round(Bs)),ds(xs,Xn,Math.round(ws));const{paths:ls,rect:Wi,rotation:Ji}=ss;for(let{bezier:bs}of ls){bs=Qi(fs=ts,Gi,Nh).call(fs,bs,Wi,Ji);const vs=[];xs.paths.push(vs);let _s=Ts*(bs[0]-Is),Us=Ts*(bs[1]-Is);for(let Ms=2,js=bs.length;Ms<js;Ms+=6){const Vs=Ts*(bs[Ms]-Is),Ss=Ts*(bs[Ms+1]-Is),As=Ts*(bs[Ms+2]-Is),Es=Ts*(bs[Ms+3]-Is),Os=Ts*(bs[Ms+4]-Is),$s=Ts*(bs[Ms+5]-Is);vs.push([[_s,Us],[Vs,Ss],[As,Es],[Os,$s]]),_s=Os,Us=$s}const Ds=Qi(this,$i,Dh).call(this,vs);xs.bezierPath2D.push(Ds)}const cs=Qi(ps=xs,as,Pl).call(ps);return ds(xs,Cn,Math.max(oi.AnnotationEditor.MIN_SIZE,cs[2]-cs[0])),ds(xs,jn,Math.max(oi.AnnotationEditor.MIN_SIZE,cs[3]-cs[1])),Qi(gs=xs,Ui,_l).call(gs,Bs,ws),xs}serialize(){if(this.isEmpty())return null;const ss=this.getRect(0,0),os=oi.AnnotationEditor._colorManager.convert(this.ctx.strokeStyle);return{annotationType:Kn.AnnotationEditorType.INK,color:os,thickness:this.thickness,opacity:this.opacity,paths:Qi(this,ns,Bh).call(this,this.scaleFactor/this.parentScale,this.translationX,this.translationY,ss),pageIndex:this.pageIndex,rect:ss,rotation:this.rotation,structTreeParentId:this._structTreeParentId}}};jn=new WeakMap,Cn=new WeakMap,Tn=new WeakMap,Rn=new WeakMap,ui=new WeakMap,si=new WeakMap,ei=new WeakMap,Bn=new WeakMap,Nn=new WeakMap,Hn=new WeakMap,On=new WeakMap,hi=new WeakMap,Xn=new WeakMap,ii=new WeakMap,ri=new WeakSet,Th=function(ss){const os=this.thickness;this.addCommands({cmd:()=>{this.thickness=ss,Qi(this,Zi,$o).call(this)},undo:()=>{this.thickness=os,Qi(this,Zi,$o).call(this)},mustExec:!0,type:Kn.AnnotationEditorParamsType.INK_THICKNESS,overwriteIfSameType:!0,keepUndo:!0})},fi=new WeakSet,Eh=function(ss){const os=this.color;this.addCommands({cmd:()=>{this.color=ss,Qi(this,Fi,Sr).call(this)},undo:()=>{this.color=os,Qi(this,Fi,Sr).call(this)},mustExec:!0,type:Kn.AnnotationEditorParamsType.INK_COLOR,overwriteIfSameType:!0,keepUndo:!0})},Jn=new WeakSet,Fh=function(ss){ss/=100;const os=this.opacity;this.addCommands({cmd:()=>{this.opacity=ss,Qi(this,Fi,Sr).call(this)},undo:()=>{this.opacity=os,Qi(this,Fi,Sr).call(this)},mustExec:!0,type:Kn.AnnotationEditorParamsType.INK_OPACITY,overwriteIfSameType:!0,keepUndo:!0})},Zn=new WeakSet,Ih=function(){const{parentRotation:ss,parentDimensions:[os,ks]}=this;switch(ss){case 90:return[0,ks,ks,os];case 180:return[os,ks,os,ks];case 270:return[os,0,ks,os];default:return[0,0,os,ks]}},mi=new WeakSet,Fl=function(){const{ctx:ss,color:os,opacity:ks,thickness:xs,parentScale:Rs,scaleFactor:ms}=this;ss.lineWidth=xs*Rs/ms,ss.lineCap="round",ss.lineJoin="round",ss.miterLimit=10,ss.strokeStyle=`${os}${(0,In.opacityToHex)(ks)}`},ni=new WeakSet,Oh=function(ss,os){this.canvas.addEventListener("contextmenu",ti.noContextMenu),this.canvas.addEventListener("pointerleave",vi(this,Rn)),this.canvas.addEventListener("pointermove",vi(this,Tn)),this.canvas.addEventListener("pointerup",vi(this,ui)),this.canvas.removeEventListener("pointerdown",vi(this,si)),this.isEditing=!0,vi(this,Hn)||(ds(this,Hn,!0),Qi(this,Ri,Bo).call(this),this.thickness||(this.thickness=ts._defaultThickness),this.color||(this.color=ts._defaultColor||oi.AnnotationEditor._defaultLineColor),this.opacity??(this.opacity=ts._defaultOpacity)),this.currentPath.push([ss,os]),ds(this,Nn,!1),Qi(this,mi,Fl).call(this),ds(this,ii,()=>{Qi(this,ai,Ph).call(this),vi(this,ii)&&window.requestAnimationFrame(vi(this,ii))}),window.requestAnimationFrame(vi(this,ii))},Ai=new WeakSet,Il=function(ss,os){const[ks,xs]=this.currentPath.at(-1);if(this.currentPath.length>1&&ss===ks&&os===xs)return;const Rs=this.currentPath;let ms=vi(this,ei);if(Rs.push([ss,os]),ds(this,Nn,!0),Rs.length<=2){ms.moveTo(...Rs[0]),ms.lineTo(ss,os);return}Rs.length===3&&(ds(this,ei,ms=new Path2D),ms.moveTo(...Rs[0])),Qi(this,Yn,Rh).call(this,ms,...Rs.at(-3),...Rs.at(-2),ss,os)},yi=new WeakSet,_h=function(){if(this.currentPath.length===0)return;const ss=this.currentPath.at(-1);vi(this,ei).lineTo(...ss)},xi=new WeakSet,Mh=function(ss,os){ds(this,ii,null),ss=Math.min(Math.max(ss,0),this.canvas.width),os=Math.min(Math.max(os,0),this.canvas.height),Qi(this,Ai,Il).call(this,ss,os),Qi(this,yi,_h).call(this);let ks;if(this.currentPath.length!==1)ks=Qi(this,bi,Lh).call(this);else{const ws=[ss,os];ks=[[ws,ws.slice(),ws.slice(),ws]]}const xs=vi(this,ei),Rs=this.currentPath;this.currentPath=[],ds(this,ei,new Path2D);const ms=()=>{this.allRawPaths.push(Rs),this.paths.push(ks),this.bezierPath2D.push(xs),this.rebuild()},Bs=()=>{this.allRawPaths.pop(),this.paths.pop(),this.bezierPath2D.pop(),this.paths.length===0?this.remove():(this.canvas||(Qi(this,Pi,bc).call(this),Qi(this,Si,yc).call(this)),Qi(this,Zi,$o).call(this))};this.addCommands({cmd:ms,undo:Bs,mustExec:!0})},ai=new WeakSet,Ph=function(){if(!vi(this,Nn))return;ds(this,Nn,!1);const ss=Math.ceil(this.thickness*this.parentScale),os=this.currentPath.slice(-3),ks=os.map(ms=>ms[0]),xs=os.map(ms=>ms[1]);Math.min(...ks)-ss,Math.max(...ks)+ss,Math.min(...xs)-ss,Math.max(...xs)+ss;const{ctx:Rs}=this;Rs.save(),Rs.clearRect(0,0,this.canvas.width,this.canvas.height);for(const ms of this.bezierPath2D)Rs.stroke(ms);Rs.stroke(vi(this,ei)),Rs.restore()},Yn=new WeakSet,Rh=function(ss,os,ks,xs,Rs,ms,Bs){const ws=(os+xs)/2,Ts=(ks+Rs)/2,Is=(xs+ms)/2,ls=(Rs+Bs)/2;ss.bezierCurveTo(ws+2*(xs-ws)/3,Ts+2*(Rs-Ts)/3,Is+2*(xs-Is)/3,ls+2*(Rs-ls)/3,Is,ls)},bi=new WeakSet,Lh=function(){const ss=this.currentPath;if(ss.length<=2)return[[ss[0],ss[0],ss.at(-1),ss.at(-1)]];const os=[];let ks,[xs,Rs]=ss[0];for(ks=1;ks<ss.length-2;ks++){const[Wi,Ji]=ss[ks],[cs,fs]=ss[ks+1],ps=(Wi+cs)/2,gs=(Ji+fs)/2,bs=[xs+2*(Wi-xs)/3,Rs+2*(Ji-Rs)/3],vs=[ps+2*(Wi-ps)/3,gs+2*(Ji-gs)/3];os.push([[xs,Rs],bs,vs,[ps,gs]]),[xs,Rs]=[ps,gs]}const[ms,Bs]=ss[ks],[ws,Ts]=ss[ks+1],Is=[xs+2*(ms-xs)/3,Rs+2*(Bs-Rs)/3],ls=[ws+2*(ms-ws)/3,Ts+2*(Bs-Ts)/3];return os.push([[xs,Rs],Is,ls,[ws,Ts]]),os},Fi=new WeakSet,Sr=function(){if(this.isEmpty()){Qi(this,Li,wc).call(this);return}Qi(this,mi,Fl).call(this);const{canvas:ss,ctx:os}=this;os.setTransform(1,0,0,1,0,0),os.clearRect(0,0,ss.width,ss.height),Qi(this,Li,wc).call(this);for(const ks of this.bezierPath2D)os.stroke(ks)},_i=new WeakSet,Ol=function(ss){this.canvas.removeEventListener("pointerleave",vi(this,Rn)),this.canvas.removeEventListener("pointermove",vi(this,Tn)),this.canvas.removeEventListener("pointerup",vi(this,ui)),this.canvas.addEventListener("pointerdown",vi(this,si)),setTimeout(()=>{this.canvas.removeEventListener("contextmenu",ti.noContextMenu)},10),Qi(this,xi,Mh).call(this,ss.offsetX,ss.offsetY),this.addToAnnotationStorage(),this.setInBackground()},Pi=new WeakSet,bc=function(){this.canvas=document.createElement("canvas"),this.canvas.width=this.canvas.height=0,this.canvas.className="inkEditorCanvas",oi.AnnotationEditor._l10nPromise.get("editor_ink_canvas_aria_label").then(ss=>{var os;return(os=this.canvas)==null?void 0:os.setAttribute("aria-label",ss)}),this.div.append(this.canvas),this.ctx=this.canvas.getContext("2d")},Si=new WeakSet,yc=function(){ds(this,On,new ResizeObserver(ss=>{const os=ss[0].contentRect;os.width&&os.height&&this.setDimensions(os.width,os.height)})),vi(this,On).observe(this.div)},Ri=new WeakSet,Bo=function(){if(!vi(this,Hn))return;const[ss,os]=this.parentDimensions;this.canvas.width=Math.ceil(this.width*ss),this.canvas.height=Math.ceil(this.height*os),Qi(this,Li,wc).call(this)},Ui=new WeakSet,_l=function(ss,os){const ks=Qi(this,Yi,Sc).call(this),xs=(ss-ks)/vi(this,Cn),Rs=(os-ks)/vi(this,jn);this.scaleFactor=Math.min(xs,Rs)},Li=new WeakSet,wc=function(){const ss=Qi(this,Yi,Sc).call(this)/2;this.ctx.setTransform(this.scaleFactor,0,0,this.scaleFactor,this.translationX*this.scaleFactor+ss,this.translationY*this.scaleFactor+ss)},$i=new WeakSet,Dh=function(ss){const os=new Path2D;for(let ks=0,xs=ss.length;ks<xs;ks++){const[Rs,ms,Bs,ws]=ss[ks];ks===0&&os.moveTo(...Rs),os.bezierCurveTo(ms[0],ms[1],Bs[0],Bs[1],ws[0],ws[1])}return os},Oi=new WeakSet,Ml=function(ss,os,ks){const[xs,Rs,ms,Bs]=os;switch(ks){case 0:for(let ws=0,Ts=ss.length;ws<Ts;ws+=2)ss[ws]+=xs,ss[ws+1]=Bs-ss[ws+1];break;case 90:for(let ws=0,Ts=ss.length;ws<Ts;ws+=2){const Is=ss[ws];ss[ws]=ss[ws+1]+xs,ss[ws+1]=Is+Rs}break;case 180:for(let ws=0,Ts=ss.length;ws<Ts;ws+=2)ss[ws]=ms-ss[ws],ss[ws+1]+=Rs;break;case 270:for(let ws=0,Ts=ss.length;ws<Ts;ws+=2){const Is=ss[ws];ss[ws]=ms-ss[ws+1],ss[ws+1]=Bs-Is}break;default:throw new Error("Invalid rotation")}return ss},Gi=new WeakSet,Nh=function(ss,os,ks){const[xs,Rs,ms,Bs]=os;switch(ks){case 0:for(let ws=0,Ts=ss.length;ws<Ts;ws+=2)ss[ws]-=xs,ss[ws+1]=Bs-ss[ws+1];break;case 90:for(let ws=0,Ts=ss.length;ws<Ts;ws+=2){const Is=ss[ws];ss[ws]=ss[ws+1]-Rs,ss[ws+1]=Is-xs}break;case 180:for(let ws=0,Ts=ss.length;ws<Ts;ws+=2)ss[ws]=ms-ss[ws],ss[ws+1]-=Rs;break;case 270:for(let ws=0,Ts=ss.length;ws<Ts;ws+=2){const Is=ss[ws];ss[ws]=Bs-ss[ws+1],ss[ws+1]=ms-Is}break;default:throw new Error("Invalid rotation")}return ss},ns=new WeakSet,Bh=function(ss,os,ks,xs){var Ts,Is;const Rs=[],ms=this.thickness/2,Bs=ss*os+ms,ws=ss*ks+ms;for(const ls of this.paths){const Wi=[],Ji=[];for(let cs=0,fs=ls.length;cs<fs;cs++){const[ps,gs,bs,vs]=ls[cs],_s=ss*ps[0]+Bs,Us=ss*ps[1]+ws,Ds=ss*gs[0]+Bs,Ms=ss*gs[1]+ws,js=ss*bs[0]+Bs,Vs=ss*bs[1]+ws,Ss=ss*vs[0]+Bs,As=ss*vs[1]+ws;cs===0&&(Wi.push(_s,Us),Ji.push(_s,Us)),Wi.push(Ds,Ms,js,Vs,Ss,As),Ji.push(Ds,Ms),cs===fs-1&&Ji.push(Ss,As)}Rs.push({bezier:Qi(Ts=ts,Oi,Ml).call(Ts,Wi,xs,this.rotation),points:Qi(Is=ts,Oi,Ml).call(Is,Ji,xs,this.rotation)})}return Rs},as=new WeakSet,Pl=function(){let ss=1/0,os=-1/0,ks=1/0,xs=-1/0;for(const Rs of this.paths)for(const[ms,Bs,ws,Ts]of Rs){const Is=Kn.Util.bezierBoundingBox(...ms,...Bs,...ws,...Ts);ss=Math.min(ss,Is[0]),ks=Math.min(ks,Is[1]),os=Math.max(os,Is[2]),xs=Math.max(xs,Is[3])}return[ss,ks,os,xs]},Yi=new WeakSet,Sc=function(){return vi(this,Bn)?Math.ceil(this.thickness*this.parentScale):0},Zi=new WeakSet,$o=function(ss=!1){if(this.isEmpty())return;if(!vi(this,Bn)){Qi(this,Fi,Sr).call(this);return}const os=Qi(this,as,Pl).call(this),ks=Qi(this,Yi,Sc).call(this);ds(this,Cn,Math.max(oi.AnnotationEditor.MIN_SIZE,os[2]-os[0])),ds(this,jn,Math.max(oi.AnnotationEditor.MIN_SIZE,os[3]-os[1]));const xs=Math.ceil(ks+vi(this,Cn)*this.scaleFactor),Rs=Math.ceil(ks+vi(this,jn)*this.scaleFactor),[ms,Bs]=this.parentDimensions;this.width=xs/ms,this.height=Rs/Bs,this.setAspectRatio(xs,Rs);const ws=this.translationX,Ts=this.translationY;this.translationX=-os[0],this.translationY=-os[1],Qi(this,Ri,Bo).call(this),Qi(this,Fi,Sr).call(this),ds(this,hi,xs),ds(this,Xn,Rs),this.setDims(xs,Rs);const Is=ss?ks/this.scaleFactor/2:0;this.translate(ws-this.translationX-Is,Ts-this.translationY-Is)},Ki(ts,$i),Ki(ts,Oi),Ki(ts,Gi),ta(ts,"_defaultColor",null),ta(ts,"_defaultOpacity",1),ta(ts,"_defaultThickness",1),ta(ts,"_type","ink");let Ln=ts;$n.InkEditor=Ln},(ki,$n,Pn)=>{var Ln,jn,Cn,Tn,Rn,ui,si,ei,Bn,Nn,Hn,P0,hi,R0,ii,Ac,di,Rl,wi,$h,pi,Uh,Gn,Ll,Wn,vc,li,jh;Object.defineProperty($n,"__esModule",{value:!0}),$n.StampEditor=void 0;var Kn=Pn(1),oi=Pn(4),Mn=Pn(6),ti=Pn(29);const gi=class gi extends oi.AnnotationEditor{constructor(xi){super({...xi,name:"stampEditor"});Ki(this,Hn);Ki(this,hi);Ki(this,ii);Ki(this,di);Ki(this,wi);Ki(this,pi);Ki(this,Gn);Ki(this,Wn);Ki(this,li);Ki(this,Ln,null);Ki(this,jn,null);Ki(this,Cn,null);Ki(this,Tn,null);Ki(this,Rn,null);Ki(this,ui,null);Ki(this,si,null);Ki(this,ei,null);Ki(this,Bn,!1);Ki(this,Nn,!1);ds(this,Tn,xi.bitmapUrl),ds(this,Rn,xi.bitmapFile)}static initialize(xi){oi.AnnotationEditor.initialize(xi)}static get supportedTypes(){const xi=["apng","avif","bmp","gif","jpeg","png","svg+xml","webp","x-icon"];return(0,Kn.shadow)(this,"supportedTypes",xi.map(Qn=>`image/${Qn}`))}static get supportedTypesStr(){return(0,Kn.shadow)(this,"supportedTypesStr",this.supportedTypes.join(","))}static isHandlingMimeForPasting(xi){return this.supportedTypes.includes(xi)}static paste(xi,Qn){Qn.pasteEditor(Kn.AnnotationEditorType.STAMP,{bitmapFile:xi.getAsFile()})}remove(){var xi,Qn;vi(this,jn)&&(ds(this,Ln,null),this._uiManager.imageManager.deleteId(vi(this,jn)),(xi=vi(this,ui))==null||xi.remove(),ds(this,ui,null),(Qn=vi(this,si))==null||Qn.disconnect(),ds(this,si,null)),super.remove()}rebuild(){if(!this.parent){vi(this,jn)&&Qi(this,ii,Ac).call(this);return}super.rebuild(),this.div!==null&&(vi(this,jn)&&Qi(this,ii,Ac).call(this),this.isAttachedToDOM||this.parent.add(this))}onceAdded(){this._isDraggable=!0,this.div.focus()}isEmpty(){return!(vi(this,Cn)||vi(this,Ln)||vi(this,Tn)||vi(this,Rn))}get isResizable(){return!0}render(){if(this.div)return this.div;let xi,Qn;if(this.width&&(xi=this.x,Qn=this.y),super.render(),this.div.hidden=!0,vi(this,Ln)?Qi(this,di,Rl).call(this):Qi(this,ii,Ac).call(this),this.width){const[ai,Vn]=this.parentDimensions;this.setAt(xi*ai,Qn*Vn,this.width*ai,this.height*Vn)}return this.div}static deserialize(xi,Qn,ai){if(xi instanceof ti.StampAnnotationElement)return null;const Vn=super.deserialize(xi,Qn,ai),{rect:Yn,bitmapUrl:ci,bitmapId:bi,isSvg:Ci,accessibilityData:Fi}=xi;bi&&ai.imageManager.isValidId(bi)?ds(Vn,jn,bi):ds(Vn,Tn,ci),ds(Vn,Bn,Ci);const[zi,_i]=Vn.pageDimensions;return Vn.width=(Yn[2]-Yn[0])/zi,Vn.height=(Yn[3]-Yn[1])/_i,Fi&&(Vn.altTextData=Fi),Vn}serialize(xi=!1,Qn=null){if(this.isEmpty())return null;const ai={annotationType:Kn.AnnotationEditorType.STAMP,bitmapId:vi(this,jn),pageIndex:this.pageIndex,rect:this.getRect(0,0),rotation:this.rotation,isSvg:vi(this,Bn),structTreeParentId:this._structTreeParentId};if(xi)return ai.bitmapUrl=Qi(this,Wn,vc).call(this,!0),ai.accessibilityData=this.altTextData,ai;const{decorative:Vn,altText:Yn}=this.altTextData;if(!Vn&&Yn&&(ai.accessibilityData={type:"Figure",alt:Yn}),Qn===null)return ai;Qn.stamps||(Qn.stamps=new Map);const ci=vi(this,Bn)?(ai.rect[2]-ai.rect[0])*(ai.rect[3]-ai.rect[1]):null;if(!Qn.stamps.has(vi(this,jn)))Qn.stamps.set(vi(this,jn),{area:ci,serialized:ai}),ai.bitmap=Qi(this,Wn,vc).call(this,!1);else if(vi(this,Bn)){const bi=Qn.stamps.get(vi(this,jn));ci>bi.area&&(bi.area=ci,bi.serialized.bitmap.close(),bi.serialized.bitmap=Qi(this,Wn,vc).call(this,!1))}return ai}};Ln=new WeakMap,jn=new WeakMap,Cn=new WeakMap,Tn=new WeakMap,Rn=new WeakMap,ui=new WeakMap,si=new WeakMap,ei=new WeakMap,Bn=new WeakMap,Nn=new WeakMap,Hn=new WeakSet,P0=function(xi,Qn=!1){if(!xi){this.remove();return}ds(this,Ln,xi.bitmap),Qn||(ds(this,jn,xi.id),ds(this,Bn,xi.isSvg)),Qi(this,di,Rl).call(this)},hi=new WeakSet,R0=function(){ds(this,Cn,null),this._uiManager.enableWaiting(!1),vi(this,ui)&&this.div.focus()},ii=new WeakSet,Ac=function(){if(vi(this,jn)){this._uiManager.enableWaiting(!0),this._uiManager.imageManager.getFromId(vi(this,jn)).then(Qn=>Qi(this,Hn,P0).call(this,Qn,!0)).finally(()=>Qi(this,hi,R0).call(this));return}if(vi(this,Tn)){const Qn=vi(this,Tn);ds(this,Tn,null),this._uiManager.enableWaiting(!0),ds(this,Cn,this._uiManager.imageManager.getFromUrl(Qn).then(ai=>Qi(this,Hn,P0).call(this,ai)).finally(()=>Qi(this,hi,R0).call(this)));return}if(vi(this,Rn)){const Qn=vi(this,Rn);ds(this,Rn,null),this._uiManager.enableWaiting(!0),ds(this,Cn,this._uiManager.imageManager.getFromFile(Qn).then(ai=>Qi(this,Hn,P0).call(this,ai)).finally(()=>Qi(this,hi,R0).call(this)));return}const xi=document.createElement("input");xi.type="file",xi.accept=gi.supportedTypesStr,ds(this,Cn,new Promise(Qn=>{xi.addEventListener("change",async()=>{if(!xi.files||xi.files.length===0)this.remove();else{this._uiManager.enableWaiting(!0);const ai=await this._uiManager.imageManager.getFromFile(xi.files[0]);Qi(this,Hn,P0).call(this,ai)}Qn()}),xi.addEventListener("cancel",()=>{this.remove(),Qn()})}).finally(()=>Qi(this,hi,R0).call(this))),xi.click()},di=new WeakSet,Rl=function(){const{div:xi}=this;let{width:Qn,height:ai}=vi(this,Ln);const[Vn,Yn]=this.pageDimensions,ci=.75;if(this.width)Qn=this.width*Vn,ai=this.height*Yn;else if(Qn>ci*Vn||ai>ci*Yn){const zi=Math.min(ci*Vn/Qn,ci*Yn/ai);Qn*=zi,ai*=zi}const[bi,Ci]=this.parentDimensions;this.setDims(Qn*bi/Vn,ai*Ci/Yn),this._uiManager.enableWaiting(!1);const Fi=ds(this,ui,document.createElement("canvas"));xi.append(Fi),xi.hidden=!1,Qi(this,Gn,Ll).call(this,Qn,ai),Qi(this,li,jh).call(this),vi(this,Nn)||(this.parent.addUndoableEditor(this),ds(this,Nn,!0)),this._uiManager._eventBus.dispatch("reporttelemetry",{source:this,details:{type:"editing",subtype:this.editorType,data:{action:"inserted_image"}}}),this.addAltTextButton()},wi=new WeakSet,$h=function(xi,Qn){var ci;const[ai,Vn]=this.parentDimensions;this.width=xi/ai,this.height=Qn/Vn,this.setDims(xi,Qn),(ci=this._initialOptions)!=null&&ci.isCentered?this.center():this.fixAndSetPosition(),this._initialOptions=null,vi(this,ei)!==null&&clearTimeout(vi(this,ei)),ds(this,ei,setTimeout(()=>{ds(this,ei,null),Qi(this,Gn,Ll).call(this,xi,Qn)},200))},pi=new WeakSet,Uh=function(xi,Qn){const{width:ai,height:Vn}=vi(this,Ln);let Yn=ai,ci=Vn,bi=vi(this,Ln);for(;Yn>2*xi||ci>2*Qn;){const Ci=Yn,Fi=ci;Yn>2*xi&&(Yn=Yn>=16384?Math.floor(Yn/2)-1:Math.ceil(Yn/2)),ci>2*Qn&&(ci=ci>=16384?Math.floor(ci/2)-1:Math.ceil(ci/2));const zi=new OffscreenCanvas(Yn,ci);zi.getContext("2d").drawImage(bi,0,0,Ci,Fi,0,0,Yn,ci),bi=zi.transferToImageBitmap()}return bi},Gn=new WeakSet,Ll=function(xi,Qn){xi=Math.ceil(xi),Qn=Math.ceil(Qn);const ai=vi(this,ui);if(!ai||ai.width===xi&&ai.height===Qn)return;ai.width=xi,ai.height=Qn;const Vn=vi(this,Bn)?vi(this,Ln):Qi(this,pi,Uh).call(this,xi,Qn),Yn=ai.getContext("2d");Yn.filter=this._uiManager.hcmFilter,Yn.drawImage(Vn,0,0,Vn.width,Vn.height,0,0,xi,Qn)},Wn=new WeakSet,vc=function(xi){if(xi){if(vi(this,Bn)){const Vn=this._uiManager.imageManager.getSvgUrl(vi(this,jn));if(Vn)return Vn}const Qn=document.createElement("canvas");return{width:Qn.width,height:Qn.height}=vi(this,Ln),Qn.getContext("2d").drawImage(vi(this,Ln),0,0),Qn.toDataURL()}if(vi(this,Bn)){const[Qn,ai]=this.pageDimensions,Vn=Math.round(this.width*Qn*Mn.PixelsPerInch.PDF_TO_CSS_UNITS),Yn=Math.round(this.height*ai*Mn.PixelsPerInch.PDF_TO_CSS_UNITS),ci=new OffscreenCanvas(Vn,Yn);return ci.getContext("2d").drawImage(vi(this,Ln),0,0,vi(this,Ln).width,vi(this,Ln).height,0,0,Vn,Yn),ci.transferToImageBitmap()}return structuredClone(vi(this,Ln))},li=new WeakSet,jh=function(){ds(this,si,new ResizeObserver(xi=>{const Qn=xi[0].contentRect;Qn.width&&Qn.height&&Qi(this,wi,$h).call(this,Qn.width,Qn.height)})),vi(this,si).observe(this.div)},ta(gi,"_type","stamp");let In=gi;$n.StampEditor=In}],__webpack_module_cache__={};function __w_pdfjs_require__(ki){var $n=__webpack_module_cache__[ki];if($n!==void 0)return $n.exports;var Pn=__webpack_module_cache__[ki]={exports:{}};return __webpack_modules__[ki](Pn,Pn.exports,__w_pdfjs_require__),Pn.exports}var __webpack_exports__={};return(()=>{var ki=__webpack_exports__;Object.defineProperty(ki,"__esModule",{value:!0}),Object.defineProperty(ki,"AbortException",{enumerable:!0,get:function(){return $n.AbortException}}),Object.defineProperty(ki,"AnnotationEditorLayer",{enumerable:!0,get:function(){return Mn.AnnotationEditorLayer}}),Object.defineProperty(ki,"AnnotationEditorParamsType",{enumerable:!0,get:function(){return $n.AnnotationEditorParamsType}}),Object.defineProperty(ki,"AnnotationEditorType",{enumerable:!0,get:function(){return $n.AnnotationEditorType}}),Object.defineProperty(ki,"AnnotationEditorUIManager",{enumerable:!0,get:function(){return ti.AnnotationEditorUIManager}}),Object.defineProperty(ki,"AnnotationLayer",{enumerable:!0,get:function(){return In.AnnotationLayer}}),Object.defineProperty(ki,"AnnotationMode",{enumerable:!0,get:function(){return $n.AnnotationMode}}),Object.defineProperty(ki,"CMapCompressionType",{enumerable:!0,get:function(){return $n.CMapCompressionType}}),Object.defineProperty(ki,"DOMSVGFactory",{enumerable:!0,get:function(){return Kn.DOMSVGFactory}}),Object.defineProperty(ki,"FeatureTest",{enumerable:!0,get:function(){return $n.FeatureTest}}),Object.defineProperty(ki,"GlobalWorkerOptions",{enumerable:!0,get:function(){return Ln.GlobalWorkerOptions}}),Object.defineProperty(ki,"ImageKind",{enumerable:!0,get:function(){return $n.ImageKind}}),Object.defineProperty(ki,"InvalidPDFException",{enumerable:!0,get:function(){return $n.InvalidPDFException}}),Object.defineProperty(ki,"MissingPDFException",{enumerable:!0,get:function(){return $n.MissingPDFException}}),Object.defineProperty(ki,"OPS",{enumerable:!0,get:function(){return $n.OPS}}),Object.defineProperty(ki,"PDFDataRangeTransport",{enumerable:!0,get:function(){return Pn.PDFDataRangeTransport}}),Object.defineProperty(ki,"PDFDateString",{enumerable:!0,get:function(){return Kn.PDFDateString}}),Object.defineProperty(ki,"PDFWorker",{enumerable:!0,get:function(){return Pn.PDFWorker}}),Object.defineProperty(ki,"PasswordResponses",{enumerable:!0,get:function(){return $n.PasswordResponses}}),Object.defineProperty(ki,"PermissionFlag",{enumerable:!0,get:function(){return $n.PermissionFlag}}),Object.defineProperty(ki,"PixelsPerInch",{enumerable:!0,get:function(){return Kn.PixelsPerInch}}),Object.defineProperty(ki,"PromiseCapability",{enumerable:!0,get:function(){return $n.PromiseCapability}}),Object.defineProperty(ki,"RenderingCancelledException",{enumerable:!0,get:function(){return Kn.RenderingCancelledException}}),Object.defineProperty(ki,"SVGGraphics",{enumerable:!0,get:function(){return Pn.SVGGraphics}}),Object.defineProperty(ki,"UnexpectedResponseException",{enumerable:!0,get:function(){return $n.UnexpectedResponseException}}),Object.defineProperty(ki,"Util",{enumerable:!0,get:function(){return $n.Util}}),Object.defineProperty(ki,"VerbosityLevel",{enumerable:!0,get:function(){return $n.VerbosityLevel}}),Object.defineProperty(ki,"XfaLayer",{enumerable:!0,get:function(){return jn.XfaLayer}}),Object.defineProperty(ki,"build",{enumerable:!0,get:function(){return Pn.build}}),Object.defineProperty(ki,"createValidAbsoluteUrl",{enumerable:!0,get:function(){return $n.createValidAbsoluteUrl}}),Object.defineProperty(ki,"getDocument",{enumerable:!0,get:function(){return Pn.getDocument}}),Object.defineProperty(ki,"getFilenameFromUrl",{enumerable:!0,get:function(){return Kn.getFilenameFromUrl}}),Object.defineProperty(ki,"getPdfFilenameFromUrl",{enumerable:!0,get:function(){return Kn.getPdfFilenameFromUrl}}),Object.defineProperty(ki,"getXfaPageViewport",{enumerable:!0,get:function(){return Kn.getXfaPageViewport}}),Object.defineProperty(ki,"isDataScheme",{enumerable:!0,get:function(){return Kn.isDataScheme}}),Object.defineProperty(ki,"isPdfFile",{enumerable:!0,get:function(){return Kn.isPdfFile}}),Object.defineProperty(ki,"loadScript",{enumerable:!0,get:function(){return Kn.loadScript}}),Object.defineProperty(ki,"noContextMenu",{enumerable:!0,get:function(){return Kn.noContextMenu}}),Object.defineProperty(ki,"normalizeUnicode",{enumerable:!0,get:function(){return $n.normalizeUnicode}}),Object.defineProperty(ki,"renderTextLayer",{enumerable:!0,get:function(){return oi.renderTextLayer}}),Object.defineProperty(ki,"setLayerDimensions",{enumerable:!0,get:function(){return Kn.setLayerDimensions}}),Object.defineProperty(ki,"shadow",{enumerable:!0,get:function(){return $n.shadow}}),Object.defineProperty(ki,"updateTextLayer",{enumerable:!0,get:function(){return oi.updateTextLayer}}),Object.defineProperty(ki,"version",{enumerable:!0,get:function(){return Pn.version}});var $n=__w_pdfjs_require__(1),Pn=__w_pdfjs_require__(2),Kn=__w_pdfjs_require__(6),oi=__w_pdfjs_require__(26),Mn=__w_pdfjs_require__(27),ti=__w_pdfjs_require__(5),In=__w_pdfjs_require__(29),Ln=__w_pdfjs_require__(14),jn=__w_pdfjs_require__(32)})(),__webpack_exports__})());const findIndices=(ki,$n)=>ki.map((Pn,Kn,oi)=>$n(Pn,Kn,oi)?Kn:null).filter(Pn=>Pn!=null),splitAt=(ki,$n)=>[-1,...$n,ki.length].reduce(({xs:Pn,a:Kn},oi)=>({xs:(Pn==null?void 0:Pn.concat([ki.slice(Kn+1,oi)]))??[],a:oi}),{}).xs,concatArrays=(ki,$n)=>ki.slice(0,-1).concat([ki[ki.length-1].concat($n[0])]).concat($n.slice(1)),isNumber=/\d/,isCFI=/^epubcfi\((.*)\)$/,escapeCFI=ki=>ki.replace(/[\^[\](),;=]/g,"^$&"),wrap=ki=>isCFI.test(ki)?ki:`epubcfi(${ki})`,unwrap=ki=>{var $n;return(($n=ki.match(isCFI))==null?void 0:$n[1])??ki},lift=ki=>(...$n)=>`epubcfi(${ki(...$n.map(Pn=>{var Kn;return((Kn=Pn.match(isCFI))==null?void 0:Kn[1])??Pn}))})`,joinIndir=lift((...ki)=>ki.join("!")),tokenizer=ki=>{const $n=[];let Pn,Kn,oi="";const Mn=In=>($n.push(In),Pn=null,oi=""),ti=In=>(oi+=In,Kn=!1);for(const In of Array.from(ki.trim()).concat("")){if(In==="^"&&!Kn){Kn=!0;continue}if(Pn==="!")Mn(["!"]);else if(Pn===",")Mn([","]);else if(Pn==="/"||Pn===":")if(isNumber.test(In)){ti(In);continue}else Mn([Pn,parseInt(oi)]);else if(Pn==="~")if(isNumber.test(In)||In==="."){ti(In);continue}else Mn(["~",parseFloat(oi)]);else if(Pn==="@"){if(In===":"){Mn(["@",parseFloat(oi)]),Pn="@";continue}if(isNumber.test(In)||In==="."){ti(In);continue}else Mn(["@",parseFloat(oi)])}else if(Pn==="["){In===";"&&!Kn?(Mn(["[",oi]),Pn=";"):In===","&&!Kn?(Mn(["[",oi]),Pn="["):In==="]"&&!Kn?Mn(["[",oi]):ti(In);continue}else if(Pn!=null&&Pn.startsWith(";")){In==="="&&!Kn?(Pn=`;${oi}`,oi=""):In===";"&&!Kn?(Mn([Pn,oi]),Pn=";"):In==="]"&&!Kn?Mn([Pn,oi]):ti(In);continue}(In==="/"||In===":"||In==="~"||In==="@"||In==="["||In==="!"||In===",")&&(Pn=In)}return $n},findTokens=(ki,$n)=>findIndices(ki,([Pn])=>Pn===$n),parser=ki=>{const $n=[];let Pn;for(const[Kn,oi]of ki){if(Kn==="/")$n.push({index:oi});else{const Mn=$n[$n.length-1];if(Kn===":")Mn.offset=oi;else if(Kn==="~")Mn.temporal=oi;else if(Kn==="@")Mn.spatial=(Mn.spatial??[]).concat(oi);else if(Kn===";s")Mn.side=oi;else if(Kn==="[")if(Pn==="/"&&oi)Mn.id=oi;else{Mn.text=(Mn.text??[]).concat(oi);continue}}Pn=Kn}return $n},parserIndir=ki=>splitAt(ki,findTokens(ki,"!")).map(parser),parse=ki=>{const $n=tokenizer(unwrap(ki)),Pn=findTokens($n,",");if(!Pn.length)return parserIndir($n);const[Kn,oi,Mn]=splitAt($n,Pn).map(parserIndir);return{parent:Kn,start:oi,end:Mn}},partToString=({index:ki,id:$n,offset:Pn,temporal:Kn,spatial:oi,text:Mn,side:ti})=>{var Ln;const In=ti?`;s=${ti}`:"";return`/${ki}`+($n?`[${escapeCFI($n)}${In}]`:"")+(Pn!=null&&ki%2?`:${Pn}`:"")+(Kn?`~${Kn}`:"")+(oi?`@${oi.join(":")}`:"")+(Mn||!$n&&ti?"["+(((Ln=Mn==null?void 0:Mn.map(escapeCFI))==null?void 0:Ln.join(","))??"")+In+"]":"")},toInnerString=ki=>ki.parent?[ki.parent,ki.start,ki.end].map(toInnerString).join(","):ki.map($n=>$n.map(partToString).join("")).join("!"),toString=ki=>wrap(toInnerString(ki)),collapse=(ki,$n)=>typeof ki=="string"?toString(collapse(parse(ki),$n)):ki.parent?concatArrays(ki.parent,ki[$n?"end":"start"]):ki,buildRange=(ki,$n)=>{typeof ki=="string"&&(ki=parse(ki)),typeof $n=="string"&&($n=parse($n)),ki=collapse(ki),$n=collapse($n,!0);const Pn=ki[ki.length-1],Kn=$n[$n.length-1],oi=[],Mn=[],ti=[];let In=!0;const Ln=Math.max(Pn.length,Kn.length);for(let Cn=0;Cn<Ln;Cn++){const Tn=Pn[Cn],Rn=Kn[Cn];In&&(In=(Tn==null?void 0:Tn.index)===(Rn==null?void 0:Rn.index)&&!(Tn!=null&&Tn.offset)&&!(Rn!=null&&Rn.offset)),In?oi.push(Tn):(Tn&&Mn.push(Tn),Rn&&ti.push(Rn))}const jn=ki.slice(0,-1).concat([oi]);return toString({parent:jn,start:[Mn],end:[ti]})},isTextNode=({nodeType:ki})=>ki===3||ki===4,isElementNode=({nodeType:ki})=>ki===1,getChildNodes=(ki,$n)=>{const Pn=Array.from(ki.childNodes).filter(Kn=>isTextNode(Kn)||isElementNode(Kn));return $n?Pn.map(Kn=>{const oi=$n(Kn);return oi===NodeFilter.FILTER_REJECT?null:oi===NodeFilter.FILTER_SKIP?getChildNodes(Kn,$n):Kn}).flat().filter(Kn=>Kn):Pn},indexChildNodes=(ki,$n)=>{const Pn=getChildNodes(ki,$n).reduce((Kn,oi)=>{let Mn=Kn[Kn.length-1];return Mn?isTextNode(oi)?Array.isArray(Mn)?Mn.push(oi):isTextNode(Mn)?Kn[Kn.length-1]=[Mn,oi]:Kn.push(oi):isElementNode(Mn)?Kn.push(null,oi):Kn.push(oi):Kn.push(oi),Kn},[]);return isElementNode(Pn[0])&&Pn.unshift("first"),isElementNode(Pn[Pn.length-1])&&Pn.push("last"),Pn.unshift("before"),Pn.push("after"),Pn},partsToNode=(ki,$n,Pn)=>{const{id:Kn}=$n[$n.length-1];if(Kn){const ti=ki.ownerDocument.getElementById(Kn);if(ti)return{node:ti,offset:0}}for(const{index:ti}of $n){const In=ki?indexChildNodes(ki,Pn)[ti]:null;if(In==="first")return{node:ki.firstChild??ki};if(In==="last")return{node:ki.lastChild??ki};if(In==="before")return{node:ki,before:!0};if(In==="after")return{node:ki,after:!0};ki=In}const{offset:oi}=$n[$n.length-1];if(!Array.isArray(ki))return{node:ki,offset:oi};let Mn=0;for(const ti of ki){const{length:In}=ti.nodeValue;if(Mn+In>=oi)return{node:ti,offset:oi-Mn};Mn+=In}},nodeToParts=(ki,$n,Pn)=>{const{parentNode:Kn,id:oi}=ki,Mn=indexChildNodes(Kn,Pn),ti=Mn.findIndex(jn=>Array.isArray(jn)?jn.some(Cn=>Cn===ki):jn===ki),In=Mn[ti];if(Array.isArray(In)){let jn=0;for(const Cn of In)if(Cn===ki){jn+=$n;break}else jn+=Cn.nodeValue.length;$n=jn}const Ln={id:oi,index:ti,offset:$n};return(Kn!==ki.ownerDocument.documentElement?nodeToParts(Kn,null,Pn).concat(Ln):[Ln]).filter(jn=>jn.index!==-1)},fromRange=(ki,$n)=>{const{startContainer:Pn,startOffset:Kn,endContainer:oi,endOffset:Mn}=ki,ti=nodeToParts(Pn,Kn,$n);if(ki.collapsed)return toString([ti]);const In=nodeToParts(oi,Mn,$n);return buildRange([ti],[In])},toRange=(ki,$n,Pn)=>{const Kn=collapse($n),oi=collapse($n,!0),Mn=ki.documentElement,ti=partsToNode(Mn,Kn[0],Pn),In=partsToNode(Mn,oi[0],Pn),Ln=ki.createRange();return ti.before?Ln.setStartBefore(ti.node):ti.after?Ln.setStartAfter(ti.node):Ln.setStart(ti.node,ti.offset),In.before?Ln.setEndBefore(In.node):In.after?Ln.setEndAfter(In.node):Ln.setEnd(In.node,In.offset),Ln},fromElements=ki=>{const $n=[],{parentNode:Pn}=ki[0],Kn=nodeToParts(Pn);for(const[oi,Mn]of indexChildNodes(Pn).entries()){const ti=ki[$n.length];Mn===ti&&$n.push(toString([Kn.concat({id:ti.id,index:oi})]))}return $n},toElement=(ki,$n)=>partsToNode(ki.documentElement,collapse($n)).node,fake={fromIndex:ki=>wrap(`/6/${(ki+1)*2}`),toIndex:ki=>(ki==null?void 0:ki.at(-1).index)/2-1},assignIDs=ki=>{let $n=0;const Pn=Kn=>{if(Kn.id=$n++,Kn.subitems)for(const oi of Kn.subitems)Pn(oi)};for(const Kn of ki)Pn(Kn);return ki},flatten=ki=>ki.map($n=>{var Pn;return(Pn=$n.subitems)!=null&&Pn.length?[$n,flatten($n.subitems)].flat():$n}).flat();class TOCProgress{async init({toc:$n,ids:Pn,splitHref:Kn,getFragment:oi}){assignIDs($n);const Mn=flatten($n),ti=new Map;for(const[Ln,jn]of Mn.entries()){const[Cn,Tn]=await Kn(jn==null?void 0:jn.href)??[],Rn={fragment:Tn,item:jn};ti.has(Cn)?ti.get(Cn).items.push(Rn):ti.set(Cn,{prev:Mn[Ln-1],items:[Rn]})}const In=new Map;for(const[Ln,jn]of Pn.entries())ti.has(jn)?In.set(jn,ti.get(jn)):In.set(jn,In.get(Pn[Ln-1]));this.ids=Pn,this.map=In,this.getFragment=oi}getProgress($n,Pn){var Ln;if(!this.ids)return;const Kn=this.ids[$n],oi=this.map.get(Kn);if(!oi)return null;const{prev:Mn,items:ti}=oi;if(!ti)return Mn;if(!Pn||ti.length===1&&!ti[0].fragment)return ti[0].item;const In=Pn.startContainer.getRootNode();for(const[jn,{fragment:Cn}]of ti.entries()){const Tn=this.getFragment(In,Cn);if(Tn&&Pn.comparePoint(Tn,0)>0)return((Ln=ti[jn-1])==null?void 0:Ln.item)??Mn}return ti[ti.length-1].item}}class SectionProgress{constructor($n,Pn,Kn){Ki(this,da);this.sizes=$n.map(oi=>oi.linear!="no"&&oi.size>0?oi.size:0),this.sizePerLoc=Pn,this.sizePerTimeUnit=Kn,this.sizeTotal=this.sizes.reduce((oi,Mn)=>oi+Mn,0),this.sectionFractions=Qi(this,da,Hh).call(this)}getProgress($n,Pn,Kn=0){const{sizes:oi,sizePerLoc:Mn,sizePerTimeUnit:ti,sizeTotal:In}=this,Ln=oi[$n]??0,Cn=oi.slice(0,$n).reduce((si,ei)=>si+ei,0)+Pn*Ln,Tn=Cn+Kn*Ln,Rn=In-Cn,ui=(1-Pn)*Ln;return{fraction:Tn/In,section:{current:$n,total:oi.length},location:{current:Math.floor(Cn/Mn),next:Math.floor(Tn/Mn),total:Math.ceil(In/Mn)},time:{section:ui/ti,total:Rn/ti}}}getSection($n){if($n<=0)return[0,0];if($n>=1)return[this.sizes.length-1,1];$n=$n+Number.EPSILON;const{sizeTotal:Pn}=this;let Kn=this.sectionFractions.findIndex(Mn=>Mn>$n)-1;if(Kn<0)return[0,0];for(;!this.sizes[Kn];)Kn++;const oi=($n-this.sectionFractions[Kn])/(this.sizes[Kn]/Pn);return[Kn,oi]}}da=new WeakSet,Hh=function(){const{sizeTotal:$n}=this,Pn=[0];let Kn=0;for(const oi of this.sizes)Pn.push((Kn+=oi)/$n);return Pn};const createSVGElement=ki=>document.createElementNS("http://www.w3.org/2000/svg",ki);class Overlayer{constructor(){Ki(this,pa,createSVGElement("svg"));Ki(this,_a,new Map);Object.assign(vi(this,pa).style,{position:"absolute",top:"0",left:"0",width:"100%",height:"100%",pointerEvents:"none"})}get element(){return vi(this,pa)}add($n,Pn,Kn,oi){vi(this,_a).has($n)&&this.remove($n),typeof Pn=="function"&&(Pn=Pn(vi(this,pa).getRootNode()));const Mn=Pn.getClientRects(),ti=Kn(Mn,oi);vi(this,pa).append(ti),vi(this,_a).set($n,{range:Pn,draw:Kn,options:oi,element:ti,rects:Mn})}remove($n){vi(this,_a).has($n)&&(vi(this,pa).removeChild(vi(this,_a).get($n).element),vi(this,_a).delete($n))}redraw(){for(const $n of vi(this,_a).values()){const{range:Pn,draw:Kn,options:oi,element:Mn}=$n;vi(this,pa).removeChild(Mn);const ti=Pn.getClientRects(),In=Kn(ti,oi);vi(this,pa).append(In),$n.element=In,$n.rects=ti}}hitTest({x:$n,y:Pn}){const Kn=Array.from(vi(this,_a).entries());for(let oi=Kn.length-1;oi>=0;oi--){const[Mn,ti]=Kn[oi];for(const{left:In,top:Ln,right:jn,bottom:Cn}of ti.rects)if(Ln<=Pn&&In<=$n&&Cn>Pn&&jn>$n)return[Mn,ti.range]}return[]}static underline($n,Pn={}){const{color:Kn="red",width:oi=2,writingMode:Mn}=Pn,ti=createSVGElement("g");if(ti.setAttribute("fill",Kn),Mn==="vertical-rl"||Mn==="vertical-lr")for(const{right:In,top:Ln,height:jn}of $n){const Cn=createSVGElement("rect");Cn.setAttribute("x",In-oi),Cn.setAttribute("y",Ln),Cn.setAttribute("height",jn),Cn.setAttribute("width",oi),ti.append(Cn)}else for(const{left:In,bottom:Ln,width:jn}of $n){const Cn=createSVGElement("rect");Cn.setAttribute("x",In),Cn.setAttribute("y",Ln-oi),Cn.setAttribute("height",oi),Cn.setAttribute("width",jn),ti.append(Cn)}return ti}static strikethrough($n,Pn={}){const{color:Kn="red",width:oi=2,writingMode:Mn}=Pn,ti=createSVGElement("g");if(ti.setAttribute("fill",Kn),Mn==="vertical-rl"||Mn==="vertical-lr")for(const{right:In,left:Ln,top:jn,height:Cn}of $n){const Tn=createSVGElement("rect");Tn.setAttribute("x",(In+Ln)/2),Tn.setAttribute("y",jn),Tn.setAttribute("height",Cn),Tn.setAttribute("width",oi),ti.append(Tn)}else for(const{left:In,top:Ln,bottom:jn,width:Cn}of $n){const Tn=createSVGElement("rect");Tn.setAttribute("x",In),Tn.setAttribute("y",(Ln+jn)/2),Tn.setAttribute("height",oi),Tn.setAttribute("width",Cn),ti.append(Tn)}return ti}static squiggly($n,Pn={}){const{color:Kn="red",width:oi=2,writingMode:Mn}=Pn,ti=createSVGElement("g");ti.setAttribute("fill","none"),ti.setAttribute("stroke",Kn),ti.setAttribute("stroke-width",oi);const In=oi*1.5;if(Mn==="vertical-rl"||Mn==="vertical-lr")for(const{right:Ln,top:jn,height:Cn}of $n){const Tn=createSVGElement("path"),Rn=Math.round(Cn/In/1.5),ui=Cn/Rn,si=Array.from({length:Rn},(ei,Bn)=>`l${Bn%2?-In:In} ${ui}`).join("");Tn.setAttribute("d",`M${Ln} ${jn}${si}`),ti.append(Tn)}else for(const{left:Ln,bottom:jn,width:Cn}of $n){const Tn=createSVGElement("path"),Rn=Math.round(Cn/In/1.5),ui=Cn/Rn,si=Array.from({length:Rn},(ei,Bn)=>`l${ui} ${Bn%2?In:-In}`).join("");Tn.setAttribute("d",`M${Ln} ${jn}${si}`),ti.append(Tn)}return ti}static highlight($n,Pn={}){const{color:Kn="red"}=Pn,oi=createSVGElement("g");oi.setAttribute("fill",Kn),oi.style.opacity="var(--overlayer-highlight-opacity, .3)",oi.style.mixBlendMode="var(--overlayer-highlight-blend-mode, normal)";for(const{left:Mn,top:ti,height:In,width:Ln}of $n){const jn=createSVGElement("rect");jn.setAttribute("x",Mn),jn.setAttribute("y",ti),jn.setAttribute("height",In),jn.setAttribute("width",Ln),oi.append(jn)}return oi}static outline($n,Pn={}){const{color:Kn="red",width:oi=3,radius:Mn=3}=Pn,ti=createSVGElement("g");ti.setAttribute("fill","none"),ti.setAttribute("stroke",Kn),ti.setAttribute("stroke-width",oi);for(const{left:In,top:Ln,height:jn,width:Cn}of $n){const Tn=createSVGElement("rect");Tn.setAttribute("x",In),Tn.setAttribute("y",Ln),Tn.setAttribute("height",jn),Tn.setAttribute("width",Cn),Tn.setAttribute("rx",Mn),ti.append(Tn)}return ti}static copyImage([$n],Pn={}){const{src:Kn}=Pn,oi=createSVGElement("image"),{left:Mn,top:ti,height:In,width:Ln}=$n;return oi.setAttribute("href",Kn),oi.setAttribute("x",Mn),oi.setAttribute("y",ti),oi.setAttribute("height",In),oi.setAttribute("width",Ln),oi}}pa=new WeakMap,_a=new WeakMap;const walkRange=(ki,$n)=>{const Pn=[];for(let Kn=$n.currentNode;Kn;Kn=$n.nextNode()){const oi=ki.comparePoint(Kn,0);if(oi===0)Pn.push(Kn);else if(oi>0)break}return Pn},walkDocument=(ki,$n)=>{const Pn=[];for(let Kn=$n.nextNode();Kn;Kn=$n.nextNode())Pn.push(Kn);return Pn},filter$1=NodeFilter.SHOW_ELEMENT|NodeFilter.SHOW_TEXT|NodeFilter.SHOW_CDATA_SECTION,acceptNode=ki=>{if(ki.nodeType===1){const $n=ki.tagName.toLowerCase();return $n==="script"||$n==="style"?NodeFilter.FILTER_REJECT:NodeFilter.FILTER_SKIP}return NodeFilter.FILTER_ACCEPT},textWalker=function*(ki,$n){const Pn=ki.commonAncestorContainer??ki.body??ki,Kn=document.createTreeWalker(Pn,filter$1,{acceptNode}),Mn=(ki.commonAncestorContainer?walkRange:walkDocument)(ki,Kn),ti=Mn.map(Ln=>Ln.nodeValue),In=(Ln,jn,Cn,Tn)=>{const Rn=document.createRange();return Rn.setStart(Mn[Ln],jn),Rn.setEnd(Mn[Cn],Tn),Rn};for(const Ln of $n(ti,In))yield Ln},SEARCH_PREFIX="foliate-search:";class History extends EventTarget{constructor(){super(...arguments);Ki(this,Ra,[]);Ki(this,La,-1)}pushState(Pn){const Kn=vi(this,Ra)[vi(this,La)];Kn===Pn||Kn!=null&&Kn.fraction&&Kn.fraction===Pn.fraction||(vi(this,Ra)[++wr(this,La)._]=Pn,vi(this,Ra).length=vi(this,La)+1,this.dispatchEvent(new Event("index-change")))}replaceState(Pn){const Kn=vi(this,La);vi(this,Ra)[Kn]=Pn}back(){const Pn=vi(this,La);if(Pn<=0)return;const Kn={state:vi(this,Ra)[Pn-1]};ds(this,La,Pn-1),this.dispatchEvent(new CustomEvent("popstate",{detail:Kn})),this.dispatchEvent(new Event("index-change"))}forward(){const Pn=vi(this,La);if(Pn>=vi(this,Ra).length-1)return;const Kn={state:vi(this,Ra)[Pn+1]};ds(this,La,Pn+1),this.dispatchEvent(new CustomEvent("popstate",{detail:Kn})),this.dispatchEvent(new Event("index-change"))}get canGoBack(){return vi(this,La)>0}get canGoForward(){return vi(this,La)<vi(this,Ra).length-1}clear(){ds(this,Ra,[]),ds(this,La,-1)}}Ra=new WeakMap,La=new WeakMap;const languageInfo=ki=>{var $n,Pn;if(!ki)return{};try{const Kn=Intl.getCanonicalLocales(ki)[0],oi=new Intl.Locale(Kn),Mn=["zh","ja","kr"].includes(oi.language),ti=(Pn=(($n=oi.getTextInfo)==null?void 0:$n.call(oi))??oi.textInfo)==null?void 0:Pn.direction;return{canonical:Kn,locale:oi,isCJK:Mn,direction:ti}}catch(Kn){return console.warn(Kn),{}}};let View$1=(Kl=class extends HTMLElement{constructor(){super();Ki(this,Ga);Ki(this,$0);Ki(this,U0);Ki(this,j0);Ki(this,ao);Ki(this,H0);Ki(this,X0);Ki(this,z0);Ki(this,B0,this.attachShadow({mode:"closed"}));Ki(this,rr,void 0);Ki(this,Wa,void 0);Ki(this,kr,void 0);Ki(this,or,new Map);ta(this,"isFixedLayout",!1);ta(this,"lastLocation");ta(this,"history",new History);this.history.addEventListener("popstate",({detail:Pn})=>{const Kn=this.resolveNavigation(Pn.state);this.renderer.goTo(Kn)})}async open(Pn){var Kn,oi,Mn;if(this.book=Pn,this.language=languageInfo((Kn=Pn.metadata)==null?void 0:Kn.language),Pn.splitTOCHref&&Pn.getTOCFragment){const ti=Pn.sections.map(jn=>jn.id);ds(this,rr,new SectionProgress(Pn.sections,1500,1600));const In=Pn.splitTOCHref.bind(Pn),Ln=Pn.getTOCFragment.bind(Pn);ds(this,Wa,new TOCProgress),await vi(this,Wa).init({toc:Pn.toc??[],ids:ti,splitHref:In,getFragment:Ln}),ds(this,kr,new TOCProgress),await vi(this,kr).init({toc:Pn.pageList??[],ids:ti,splitHref:In,getFragment:Ln})}if(this.isFixedLayout=((oi=this.book.rendition)==null?void 0:oi.layout)==="pre-paginated",this.isFixedLayout?(await Promise.resolve().then(()=>fixedLayout),this.renderer=document.createElement("foliate-fxl")):(await Promise.resolve().then(()=>paginator),this.renderer=document.createElement("foliate-paginator")),this.renderer.setAttribute("exportparts","head,foot,filter"),this.renderer.addEventListener("load",ti=>Qi(this,U0,zh).call(this,ti.detail)),this.renderer.addEventListener("relocate",ti=>Qi(this,$0,Xh).call(this,ti.detail)),this.renderer.addEventListener("create-overlayer",ti=>ti.detail.attach(Qi(this,H0,Gh).call(this,ti.detail))),this.renderer.open(Pn),vi(this,B0).append(this.renderer),Pn.sections.some(ti=>ti.mediaOverlay)){(Mn=Pn.media).activeClass||(Mn.activeClass="-epub-media-overlay-active");const ti=Pn.media.activeClass;this.mediaOverlay=Pn.getMediaOverlay();let In;this.mediaOverlay.addEventListener("highlight",Ln=>{const jn=this.resolveNavigation(Ln.detail.text);this.renderer.goTo(jn).then(()=>{const{doc:Cn}=this.renderer.getContents().find(Rn=>Rn.index=jn.index),Tn=jn.anchor(Cn);Tn.classList.add(ti),In=new WeakRef(Tn)})}),this.mediaOverlay.addEventListener("unhighlight",()=>{var Ln,jn;(jn=(Ln=In==null?void 0:In.deref())==null?void 0:Ln.classList)==null||jn.remove(ti)})}}close(){var Pn,Kn;(Pn=this.renderer)==null||Pn.destroy(),(Kn=this.renderer)==null||Kn.remove(),ds(this,rr,null),ds(this,Wa,null),ds(this,kr,null),ds(this,or,new Map),this.lastLocation=null,this.history.clear(),this.tts=null,this.mediaOverlay=null}goToTextStart(){var Pn,Kn;return this.goTo(((Kn=(Pn=this.book.landmarks)==null?void 0:Pn.find(oi=>oi.type.includes("bodymatter")||oi.type.includes("text")))==null?void 0:Kn.href)??this.book.sections.findIndex(oi=>oi.linear!=="no"))}async init({lastLocation:Pn,showTextStart:Kn}){const oi=Pn?this.resolveNavigation(Pn):null;oi?(await this.renderer.goTo(oi),this.history.pushState(Pn)):Kn?await this.goToTextStart():(this.history.pushState(0),await this.next())}async addAnnotation(Pn,Kn){var jn;const{value:oi}=Pn;if(oi.startsWith(SEARCH_PREFIX)){const Cn=oi.replace(SEARCH_PREFIX,""),{index:Tn,anchor:Rn}=await this.resolveNavigation(Cn),ui=Qi(this,ao,kc).call(this,Tn);if(ui){const{overlayer:si,doc:ei}=ui;if(Kn){si.remove(oi);return}const Bn=ei?Rn(ei):Rn;si.add(oi,Bn,Overlayer.outline)}return}const{index:Mn,anchor:ti}=await this.resolveNavigation(oi),In=Qi(this,ao,kc).call(this,Mn);if(In){const{overlayer:Cn,doc:Tn}=In;if(Cn.remove(oi),!Kn){const Rn=Tn?ti(Tn):ti,ui=(si,ei)=>Cn.add(oi,Rn,si,ei);Qi(this,Ga,Ar).call(this,"draw-annotation",{draw:ui,annotation:Pn,doc:Tn,range:Rn})}}const Ln=((jn=vi(this,Wa).getProgress(Mn))==null?void 0:jn.label)??"";return{index:Mn,label:Ln}}deleteAnnotation(Pn){return this.addAnnotation(Pn,!0)}async showAnnotation(Pn){const{value:Kn}=Pn,oi=await this.goTo(Kn);if(oi){const{index:Mn,anchor:ti}=oi,{doc:In}=Qi(this,ao,kc).call(this,Mn),Ln=ti(In);Qi(this,Ga,Ar).call(this,"show-annotation",{value:Kn,index:Mn,range:Ln})}}getCFI(Pn,Kn){const oi=this.book.sections[Pn].cfi??fake.fromIndex(Pn);return Kn?joinIndir(oi,fromRange(Kn)):oi}resolveCFI(Pn){if(this.book.resolveCFI)return this.book.resolveCFI(Pn);{const Kn=parse(Pn);return{index:fake.toIndex((Kn.parent??Kn).shift()),anchor:ti=>toRange(ti,Kn)}}}resolveNavigation(Pn){try{if(typeof Pn=="number")return{index:Pn};if(typeof Pn.fraction=="number"){const[Kn,oi]=vi(this,rr).getSection(Pn.fraction);return{index:Kn,anchor:oi}}return isCFI.test(Pn)?this.resolveCFI(Pn):this.book.resolveHref(Pn)}catch(Kn){console.error(Kn),console.error(`Could not resolve target ${Pn}`)}}async goTo(Pn){const Kn=this.resolveNavigation(Pn);try{return await this.renderer.goTo(Kn),this.history.pushState(Pn),Kn}catch(oi){console.error(oi),console.error(`Could not go to ${Pn}`)}}async goToFraction(Pn){const[Kn,oi]=vi(this,rr).getSection(Pn);await this.renderer.goTo({index:Kn,anchor:oi}),this.history.pushState({fraction:Pn})}async select(Pn){try{const Kn=await this.resolveNavigation(Pn);await this.renderer.goTo({...Kn,select:!0}),this.history.pushState(Pn)}catch(Kn){console.error(Kn),console.error(`Could not go to ${Pn}`)}}deselect(){for(const{doc:Pn}of this.renderer.getContents())Pn.defaultView.getSelection().removeAllRanges()}getSectionFractions(){var Pn;return(((Pn=vi(this,rr))==null?void 0:Pn.sectionFractions)??[]).map(Kn=>Kn+Number.EPSILON)}getProgressOf(Pn,Kn){var ti,In;const oi=(ti=vi(this,Wa))==null?void 0:ti.getProgress(Pn,Kn),Mn=(In=vi(this,kr))==null?void 0:In.getProgress(Pn,Kn);return{tocItem:oi,pageItem:Mn}}async getTOCItemOf(Pn){try{const{index:Kn,anchor:oi}=await this.resolveNavigation(Pn),Mn=await this.book.sections[Kn].createDocument(),ti=oi(Mn),In=ti instanceof Range,Ln=In?ti:Mn.createRange();return In||Ln.selectNodeContents(ti),vi(this,Wa).getProgress(Kn,Ln)}catch(Kn){console.error(Kn),console.error(`Could not get ${Pn}`)}}async prev(Pn){await this.renderer.prev(Pn)}async next(Pn){await this.renderer.next(Pn)}goLeft(){return this.book.dir==="rtl"?this.next():this.prev()}goRight(){return this.book.dir==="rtl"?this.prev():this.next()}async*search(Pn){var jn;this.clearSearch();const{searchMatcher:Kn}=await Promise.resolve().then(()=>search$1),{query:oi,index:Mn}=Pn,ti=Kn(textWalker,{defaultLocale:this.language,...Pn}),In=Mn!=null?Qi(this,X0,qh).call(this,ti,oi,Mn):Qi(this,z0,Vh).call(this,ti,oi),Ln=[];vi(this,or).set(Mn,Ln);for await(const Cn of In)if(Cn.subitems){const Tn=Cn.subitems.map(({cfi:Rn})=>({value:SEARCH_PREFIX+Rn}));vi(this,or).set(Cn.index,Tn);for(const Rn of Tn)this.addAnnotation(Rn);yield{label:((jn=vi(this,Wa).getProgress(Cn.index))==null?void 0:jn.label)??"",subitems:Cn.subitems}}else{if(Cn.cfi){const Tn={value:SEARCH_PREFIX+Cn.cfi};Ln.push(Tn),this.addAnnotation(Tn)}yield Cn}yield"done"}clearSearch(){for(const Pn of vi(this,or).values())for(const Kn of Pn)this.deleteAnnotation(Kn);vi(this,or).clear()}async initTTS(){const Pn=this.renderer.getContents()[0].doc;if(this.tts&&this.tts.doc===Pn)return;const{TTS:Kn}=await Promise.resolve().then(()=>tts);this.tts=new Kn(Pn,textWalker,oi=>this.renderer.scrollToAnchor(oi,!0))}startMediaOverlay(){const{index:Pn}=this.renderer.getContents()[0];return this.mediaOverlay.start(Pn)}},B0=new WeakMap,rr=new WeakMap,Wa=new WeakMap,kr=new WeakMap,or=new WeakMap,Ga=new WeakSet,Ar=function(Pn,Kn,oi){return this.dispatchEvent(new CustomEvent(Pn,{detail:Kn,cancelable:oi}))},$0=new WeakSet,Xh=function({reason:Pn,range:Kn,index:oi,fraction:Mn,size:ti}){var Tn,Rn,ui;const In=((Tn=vi(this,rr))==null?void 0:Tn.getProgress(oi,Mn,ti))??{},Ln=(Rn=vi(this,Wa))==null?void 0:Rn.getProgress(oi,Kn),jn=(ui=vi(this,kr))==null?void 0:ui.getProgress(oi,Kn),Cn=this.getCFI(oi,Kn);this.lastLocation={...In,tocItem:Ln,pageItem:jn,cfi:Cn,range:Kn},(Pn==="snap"||Pn==="page"||Pn==="scroll")&&this.history.replaceState(Cn),Qi(this,Ga,Ar).call(this,"relocate",this.lastLocation)},U0=new WeakSet,zh=function({doc:Pn,index:Kn}){var oi,Mn;(oi=Pn.documentElement).lang||(oi.lang=this.language.canonical??""),this.language.isCJK||(Mn=Pn.documentElement).dir||(Mn.dir=this.language.direction??""),Qi(this,j0,Wh).call(this,Pn,Kn),Qi(this,Ga,Ar).call(this,"load",{doc:Pn,index:Kn})},j0=new WeakSet,Wh=function(Pn,Kn){const{book:oi}=this,Mn=oi.sections[Kn];for(const ti of Pn.querySelectorAll("a[href]"))ti.addEventListener("click",In=>{var Cn,Tn;In.preventDefault();const Ln=ti.getAttribute("href"),jn=((Cn=Mn==null?void 0:Mn.resolveHref)==null?void 0:Cn.call(Mn,Ln))??Ln;(Tn=oi==null?void 0:oi.isExternal)!=null&&Tn.call(oi,jn)?Promise.resolve(Qi(this,Ga,Ar).call(this,"external-link",{a:ti,href:jn},!0)).then(Rn=>Rn?globalThis.open(jn,"_blank"):null).catch(Rn=>console.error(Rn)):Promise.resolve(Qi(this,Ga,Ar).call(this,"link",{a:ti,href:jn},!0)).then(Rn=>Rn?this.goTo(jn):null).catch(Rn=>console.error(Rn))})},ao=new WeakSet,kc=function(Pn){return this.renderer.getContents().find(Kn=>Kn.index===Pn&&Kn.overlayer)},H0=new WeakSet,Gh=function({doc:Pn,index:Kn}){const oi=new Overlayer;Pn.addEventListener("click",ti=>{const[In,Ln]=oi.hitTest(ti);In&&!In.startsWith(SEARCH_PREFIX)&&Qi(this,Ga,Ar).call(this,"show-annotation",{value:In,index:Kn,range:Ln})},!1);const Mn=vi(this,or).get(Kn);if(Mn)for(const ti of Mn)this.addAnnotation(ti);return Qi(this,Ga,Ar).call(this,"create-overlay",{index:Kn}),oi},X0=new WeakSet,qh=async function*(Pn,Kn,oi){const Mn=await this.book.sections[oi].createDocument();for(const{range:ti,excerpt:In}of Pn(Mn,Kn))yield{cfi:this.getCFI(oi,ti),excerpt:In}},z0=new WeakSet,Vh=async function*(Pn,Kn){const{sections:oi}=this.book;for(const[Mn,{createDocument:ti}]of oi.entries()){if(!ti)continue;const In=await ti(),Ln=Array.from(Pn(In,Kn),({range:Cn,excerpt:Tn})=>({cfi:this.getCFI(Mn,Cn),excerpt:Tn}));yield{progress:(Mn+1)/oi.length},Ln.length&&(yield{index:Mn,subitems:Ln})}},Kl);customElements.define("foliate-view",View$1);const isZip=async ki=>{const $n=new Uint8Array(await ki.slice(0,4).arrayBuffer());return $n[0]===80&&$n[1]===75&&$n[2]===3&&$n[3]===4},isPDF=async ki=>{const $n=new Uint8Array(await ki.slice(0,5).arrayBuffer());return $n[0]===37&&$n[1]===80&&$n[2]===68&&$n[3]===70&&$n[4]===45},makeZipLoader=async ki=>{const{configure:$n,ZipReader:Pn,BlobReader:Kn,TextWriter:oi,BlobWriter:Mn}=await Promise.resolve().then(()=>zip);$n({useWebWorkers:!1});const In=await new Pn(new Kn(ki)).getEntries(),Ln=new Map(In.map(ui=>[ui.filename,ui])),jn=ui=>(si,...ei)=>Ln.has(si)?ui(Ln.get(si),...ei):null,Cn=jn(ui=>ui.getData(new oi)),Tn=jn((ui,si)=>ui.getData(new Mn(si)));return{entries:In,loadText:Cn,loadBlob:Tn,getSize:ui=>{var si;return((si=Ln.get(ui))==null?void 0:si.uncompressedSize)??0}}},getFileEntries=async ki=>ki.isFile?ki:(await Promise.all(Array.from(await new Promise(($n,Pn)=>ki.createReader().readEntries(Kn=>$n(Kn),Kn=>Pn(Kn))),getFileEntries))).flat(),makeDirectoryLoader=async ki=>{const $n=await getFileEntries(ki),Pn=await Promise.all($n.map(Cn=>new Promise((Tn,Rn)=>Cn.file(ui=>Tn([ui,Cn.fullPath]),ui=>Rn(ui))))),Kn=new Map(Pn.map(([Cn,Tn])=>[Tn.replace(ki.fullPath+"/",""),Cn])),oi=new TextDecoder,Mn=Cn=>Cn?oi.decode(Cn):null,ti=Cn=>{var Tn;return((Tn=Kn.get(Cn))==null?void 0:Tn.arrayBuffer())??null};return{loadText:async Cn=>Mn(await ti(Cn)),loadBlob:Cn=>Kn.get(Cn),getSize:Cn=>{var Tn;return((Tn=Kn.get(Cn))==null?void 0:Tn.size)??0}}},isCBZ=({name:ki,type:$n})=>$n==="application/vnd.comicbook+zip"||ki.endsWith(".cbz"),isFB2=({name:ki,type:$n})=>$n==="application/x-fictionbook+xml"||ki.endsWith(".fb2"),isFBZ=({name:ki,type:$n})=>$n==="application/x-zip-compressed-fb2"||ki.endsWith(".fb2.zip")||ki.endsWith(".fbz"),getView=async(ki,$n)=>{let Pn;if(ki.isDirectory){const oi=await makeDirectoryLoader(ki),{EPUB:Mn}=await Promise.resolve().then(()=>epub);Pn=await new Mn(oi).init()}else if(ki.size)if(await isZip(ki)){const oi=await makeZipLoader(ki);if(isCBZ(ki)){const{makeComicBook:Mn}=await Promise.resolve().then(()=>comicBook);Pn=Mn(oi,ki)}else if(isFBZ(ki)){const{makeFB2:Mn}=await Promise.resolve().then(()=>fb2),{entries:ti}=oi,In=ti.find(jn=>jn.filename.endsWith(".fb2")),Ln=await oi.loadBlob((In??ti[0]).filename);Pn=await Mn(Ln)}else{const{EPUB:Mn}=await Promise.resolve().then(()=>epub);Pn=await new Mn(oi).init()}}else if(await isPDF(ki)){const{makePDF:oi}=await Promise.resolve().then(()=>pdf);Pn=await oi(ki)}else{const{isMOBI:oi,MOBI:Mn}=await Promise.resolve().then(()=>mobi);if(await oi(ki)){const ti=await Promise.resolve().then(()=>fflate);Pn=await new Mn({unzlib:ti.unzlibSync}).open(ki)}else if(isFB2(ki)){const{makeFB2:ti}=await Promise.resolve().then(()=>fb2);Pn=await ti(ki)}}else throw new Error("File not found");if(!Pn)throw new Error("File type not supported");const Kn=document.createElement("foliate-view");return $n.append(Kn),await Kn.open(Pn),Kn};function keyListener(ki,$n){ki.addEventListener("keyup",Pn=>{Pn.key==="ArrowUp"||Pn.key==="ArrowRight"?$n("next"):(Pn.key==="ArrowDown"||Pn.key==="ArrowLeft")&&$n("prev")},!1)}function wheelListener(ki,$n){let oi=0,Mn;ki.addEventListener("wheel",ti=>{ti.ignore||(ti.ignore=!0,clearTimeout(Mn),oi+=ti.deltaY,Mn=setTimeout(()=>{if(Math.abs(oi)>=750){let In=Math.sign(oi)>0?"next":"prev";$n(In),oi=0}oi=0},50))})}function swipListener(ki,$n){let Mn,ti,In;ki.addEventListener("touchstart",Ln=>{Ln.ignore||(Ln.ignore=!0,Mn=Ln.changedTouches[0].pageX,ti=Ln.changedTouches[0].pageY,In=Date.now())},!1),ki.addEventListener("touchend",Ln=>{var Rn,ui;if(Ln.ignore)return;Ln.ignore=!0;const jn=Ln.changedTouches[0].pageX-Mn,Cn=Ln.changedTouches[0].pageY-ti;Date.now()-In<=500&&(Math.abs(jn)>=50&&Math.abs(Cn)<=200?$n(jn<0?"prev":"next"):Math.abs(Cn)>=50&&Math.abs(jn)<=200?$n(Cn<0?"up":"down"):((ui=(Rn=ki==null?void 0:ki.defaultView)==null?void 0:Rn.getSelection())==null||ui.removeAllRanges(),ki.dispatchEvent(new MouseEvent("click",{clientX:Mn,clientY:ti})),Ln.preventDefault()))},!1)}const _export_sfc=(ki,$n)=>{const Pn=ki.__vccOpts||ki;for(const[Kn,oi]of $n)Pn[Kn]=oi;return Pn},_hoisted_1$1={class:"reader"},_hoisted_2$1={class:"viewHolder"},_hoisted_3$1={key:0},_sfc_main$1={__name:"BookView",props:{url:{type:[String,File]},tocChanged:Function,getRendition:Function},emits:["update:location"],setup(ki,{expose:$n,emit:Pn}){const Kn=ki,{tocChanged:oi,getRendition:Mn}=Kn,{url:ti,location:In}=vue.toRefs(Kn),Ln=Pn;let jn=null;const Cn=vue.ref(null),Tn=vue.ref(!1),Rn=({spacing:ii,justify:ri,hyphenate:di})=>`
|
|
66
|
+
`))||null;vs&&this.data.comb&&(vs=vs.replaceAll(/\s+/g,""));const _s={userValue:gs,formattedValue:vs,lastCommittedValue:null,commitKey:1,focused:!1};this.data.multiLine?(Ji=document.createElement("textarea"),Ji.textContent=vs??gs,this.data.doNotScroll&&(Ji.style.overflowY="hidden")):(Ji=document.createElement("input"),Ji.type="text",Ji.setAttribute("value",vs??gs),this.data.doNotScroll&&(Ji.style.overflowX="hidden")),this.data.hasOwnCanvas&&(Ji.hidden=!0),Tn.add(Ji),Ji.setAttribute("data-element-id",Wi),Ji.disabled=this.data.readOnly,Ji.name=this.data.fieldName,Ji.tabIndex=jn,this._setRequired(Ji,this.data.required),bs&&(Ji.maxLength=bs),Ji.addEventListener("input",Ds=>{ls.setValue(Wi,{value:Ds.target.value}),this.setPropertyOnSiblings(Ji,"value",Ds.target.value,"value"),_s.formattedValue=null}),Ji.addEventListener("resetform",Ds=>{const Ms=this.data.defaultFieldValue??"";Ji.value=_s.userValue=Ms,_s.formattedValue=null});let Us=Ds=>{const{formattedValue:Ms}=_s;Ms!=null&&(Ds.target.value=Ms),Ds.target.scrollLeft=0};if(this.enableScripting&&this.hasJSActions){Ji.addEventListener("focus",Ms=>{if(_s.focused)return;const{target:js}=Ms;_s.userValue&&(js.value=_s.userValue),_s.lastCommittedValue=js.value,_s.commitKey=1,_s.focused=!0}),Ji.addEventListener("updatefromsandbox",Ms=>{this.showElementAndHideCanvas(Ms.target);const js={value(Vs){_s.userValue=Vs.detail.value??"",ls.setValue(Wi,{value:_s.userValue.toString()}),Vs.target.value=_s.userValue},formattedValue(Vs){const{formattedValue:Ss}=Vs.detail;_s.formattedValue=Ss,Ss!=null&&Vs.target!==document.activeElement&&(Vs.target.value=Ss),ls.setValue(Wi,{formattedValue:Ss})},selRange(Vs){Vs.target.setSelectionRange(...Vs.detail.selRange)},charLimit:Vs=>{var Os;const{charLimit:Ss}=Vs.detail,{target:As}=Vs;if(Ss===0){As.removeAttribute("maxLength");return}As.setAttribute("maxLength",Ss);let Es=_s.userValue;!Es||Es.length<=Ss||(Es=Es.slice(0,Ss),As.value=_s.userValue=Es,ls.setValue(Wi,{value:Es}),(Os=this.linkService.eventBus)==null||Os.dispatch("dispatcheventinsandbox",{source:this,detail:{id:Wi,name:"Keystroke",value:Es,willCommit:!0,commitKey:1,selStart:As.selectionStart,selEnd:As.selectionEnd}}))}};this._dispatchEventFromSandbox(js,Ms)}),Ji.addEventListener("keydown",Ms=>{var Ss;_s.commitKey=1;let js=-1;if(Ms.key==="Escape"?js=0:Ms.key==="Enter"&&!this.data.multiLine?js=2:Ms.key==="Tab"&&(_s.commitKey=3),js===-1)return;const{value:Vs}=Ms.target;_s.lastCommittedValue!==Vs&&(_s.lastCommittedValue=Vs,_s.userValue=Vs,(Ss=this.linkService.eventBus)==null||Ss.dispatch("dispatcheventinsandbox",{source:this,detail:{id:Wi,name:"Keystroke",value:Vs,willCommit:!0,commitKey:js,selStart:Ms.target.selectionStart,selEnd:Ms.target.selectionEnd}}))});const Ds=Us;Us=null,Ji.addEventListener("blur",Ms=>{var Vs;if(!_s.focused||!Ms.relatedTarget)return;_s.focused=!1;const{value:js}=Ms.target;_s.userValue=js,_s.lastCommittedValue!==js&&((Vs=this.linkService.eventBus)==null||Vs.dispatch("dispatcheventinsandbox",{source:this,detail:{id:Wi,name:"Keystroke",value:js,willCommit:!0,commitKey:_s.commitKey,selStart:Ms.target.selectionStart,selEnd:Ms.target.selectionEnd}})),Ds(Ms)}),(fs=this.data.actions)!=null&&fs.Keystroke&&Ji.addEventListener("beforeinput",Ms=>{var Ws;_s.lastCommittedValue=null;const{data:js,target:Vs}=Ms,{value:Ss,selectionStart:As,selectionEnd:Es}=Vs;let Os=As,$s=Es;switch(Ms.inputType){case"deleteWordBackward":{const Ns=Ss.substring(0,As).match(/\w*[^\w]*$/);Ns&&(Os-=Ns[0].length);break}case"deleteWordForward":{const Ns=Ss.substring(As).match(/^[^\w]*\w*/);Ns&&($s+=Ns[0].length);break}case"deleteContentBackward":As===Es&&(Os-=1);break;case"deleteContentForward":As===Es&&($s+=1);break}Ms.preventDefault(),(Ws=this.linkService.eventBus)==null||Ws.dispatch("dispatcheventinsandbox",{source:this,detail:{id:Wi,name:"Keystroke",value:Ss,change:js||"",willCommit:!1,selStart:Os,selEnd:$s}})}),this._setEventListeners(Ji,_s,[["focus","Focus"],["blur","Blur"],["mousedown","Mouse Down"],["mouseenter","Mouse Enter"],["mouseleave","Mouse Exit"],["mouseup","Mouse Up"]],Ms=>Ms.target.value)}if(Us&&Ji.addEventListener("blur",Us),this.data.comb){const Ms=(this.data.rect[2]-this.data.rect[0])/bs;Ji.classList.add("comb"),Ji.style.letterSpacing=`calc(${Ms}px * var(--scale-factor) - 1ch)`}}else Ji=document.createElement("div"),Ji.textContent=this.data.fieldValue,Ji.style.verticalAlign="middle",Ji.style.display="table-cell";return this._setTextStyle(Ji),this._setBackgroundColor(Ji),this._setDefaultPropertiesFromJS(Ji),this.container.append(Ji),this.container}}class On extends Nn{constructor(ls){super(ls,{isRenderable:!!ls.data.hasOwnCanvas})}}class hi extends Nn{constructor(ls){super(ls,{isRenderable:ls.renderForms})}render(){const ls=this.annotationStorage,Wi=this.data,Ji=Wi.id;let cs=ls.getValue(Ji,{value:Wi.exportValue===Wi.fieldValue}).value;typeof cs=="string"&&(cs=cs!=="Off",ls.setValue(Ji,{value:cs})),this.container.classList.add("buttonWidgetAnnotation","checkBox");const fs=document.createElement("input");return Tn.add(fs),fs.setAttribute("data-element-id",Ji),fs.disabled=Wi.readOnly,this._setRequired(fs,this.data.required),fs.type="checkbox",fs.name=Wi.fieldName,cs&&fs.setAttribute("checked",!0),fs.setAttribute("exportValue",Wi.exportValue),fs.tabIndex=jn,fs.addEventListener("change",ps=>{const{name:gs,checked:bs}=ps.target;for(const vs of this._getElementsByName(gs,Ji)){const _s=bs&&vs.exportValue===Wi.exportValue;vs.domElement&&(vs.domElement.checked=_s),ls.setValue(vs.id,{value:_s})}ls.setValue(Ji,{value:bs})}),fs.addEventListener("resetform",ps=>{const gs=Wi.defaultFieldValue||"Off";ps.target.checked=gs===Wi.exportValue}),this.enableScripting&&this.hasJSActions&&(fs.addEventListener("updatefromsandbox",ps=>{const gs={value(bs){bs.target.checked=bs.detail.value!=="Off",ls.setValue(Ji,{value:bs.target.checked})}};this._dispatchEventFromSandbox(gs,ps)}),this._setEventListeners(fs,null,[["change","Validate"],["change","Action"],["focus","Focus"],["blur","Blur"],["mousedown","Mouse Down"],["mouseenter","Mouse Enter"],["mouseleave","Mouse Exit"],["mouseup","Mouse Up"]],ps=>ps.target.checked)),this._setBackgroundColor(fs),this._setDefaultPropertiesFromJS(fs),this.container.append(fs),this.container}}class Xn extends Nn{constructor(ls){super(ls,{isRenderable:ls.renderForms})}render(){this.container.classList.add("buttonWidgetAnnotation","radioButton");const ls=this.annotationStorage,Wi=this.data,Ji=Wi.id;let cs=ls.getValue(Ji,{value:Wi.fieldValue===Wi.buttonValue}).value;typeof cs=="string"&&(cs=cs!==Wi.buttonValue,ls.setValue(Ji,{value:cs}));const fs=document.createElement("input");if(Tn.add(fs),fs.setAttribute("data-element-id",Ji),fs.disabled=Wi.readOnly,this._setRequired(fs,this.data.required),fs.type="radio",fs.name=Wi.fieldName,cs&&fs.setAttribute("checked",!0),fs.tabIndex=jn,fs.addEventListener("change",ps=>{const{name:gs,checked:bs}=ps.target;for(const vs of this._getElementsByName(gs,Ji))ls.setValue(vs.id,{value:!1});ls.setValue(Ji,{value:bs})}),fs.addEventListener("resetform",ps=>{const gs=Wi.defaultFieldValue;ps.target.checked=gs!=null&&gs===Wi.buttonValue}),this.enableScripting&&this.hasJSActions){const ps=Wi.buttonValue;fs.addEventListener("updatefromsandbox",gs=>{const bs={value:vs=>{const _s=ps===vs.detail.value;for(const Us of this._getElementsByName(vs.target.name)){const Ds=_s&&Us.id===Ji;Us.domElement&&(Us.domElement.checked=Ds),ls.setValue(Us.id,{value:Ds})}}};this._dispatchEventFromSandbox(bs,gs)}),this._setEventListeners(fs,null,[["change","Validate"],["change","Action"],["focus","Focus"],["blur","Blur"],["mousedown","Mouse Down"],["mouseenter","Mouse Enter"],["mouseleave","Mouse Exit"],["mouseup","Mouse Up"]],gs=>gs.target.checked)}return this._setBackgroundColor(fs),this._setDefaultPropertiesFromJS(fs),this.container.append(fs),this.container}}class ii extends ei{constructor(ls){super(ls,{ignoreBorder:ls.data.hasAppearance})}render(){const ls=super.render();ls.classList.add("buttonWidgetAnnotation","pushButton"),this.data.alternativeText&&(ls.title=this.data.alternativeText);const Wi=ls.lastChild;return this.enableScripting&&this.hasJSActions&&Wi&&(this._setDefaultPropertiesFromJS(Wi),Wi.addEventListener("updatefromsandbox",Ji=>{this._dispatchEventFromSandbox({},Ji)})),ls}}class ri extends Nn{constructor(ls){super(ls,{isRenderable:ls.renderForms})}render(){this.container.classList.add("choiceWidgetAnnotation");const ls=this.annotationStorage,Wi=this.data.id,Ji=ls.getValue(Wi,{value:this.data.fieldValue}),cs=document.createElement("select");Tn.add(cs),cs.setAttribute("data-element-id",Wi),cs.disabled=this.data.readOnly,this._setRequired(cs,this.data.required),cs.name=this.data.fieldName,cs.tabIndex=jn;let fs=this.data.combo&&this.data.options.length>0;this.data.combo||(cs.size=this.data.options.length,this.data.multiSelect&&(cs.multiple=!0)),cs.addEventListener("resetform",_s=>{const Us=this.data.defaultFieldValue;for(const Ds of cs.options)Ds.selected=Ds.value===Us});for(const _s of this.data.options){const Us=document.createElement("option");Us.textContent=_s.displayValue,Us.value=_s.exportValue,Ji.value.includes(_s.exportValue)&&(Us.setAttribute("selected",!0),fs=!1),cs.append(Us)}let ps=null;if(fs){const _s=document.createElement("option");_s.value=" ",_s.setAttribute("hidden",!0),_s.setAttribute("selected",!0),cs.prepend(_s),ps=()=>{_s.remove(),cs.removeEventListener("input",ps),ps=null},cs.addEventListener("input",ps)}const gs=_s=>{const Us=_s?"value":"textContent",{options:Ds,multiple:Ms}=cs;return Ms?Array.prototype.filter.call(Ds,js=>js.selected).map(js=>js[Us]):Ds.selectedIndex===-1?null:Ds[Ds.selectedIndex][Us]};let bs=gs(!1);const vs=_s=>{const Us=_s.target.options;return Array.prototype.map.call(Us,Ds=>({displayValue:Ds.textContent,exportValue:Ds.value}))};return this.enableScripting&&this.hasJSActions?(cs.addEventListener("updatefromsandbox",_s=>{const Us={value(Ds){ps==null||ps();const Ms=Ds.detail.value,js=new Set(Array.isArray(Ms)?Ms:[Ms]);for(const Vs of cs.options)Vs.selected=js.has(Vs.value);ls.setValue(Wi,{value:gs(!0)}),bs=gs(!1)},multipleSelection(Ds){cs.multiple=!0},remove(Ds){const Ms=cs.options,js=Ds.detail.remove;Ms[js].selected=!1,cs.remove(js),Ms.length>0&&Array.prototype.findIndex.call(Ms,Ss=>Ss.selected)===-1&&(Ms[0].selected=!0),ls.setValue(Wi,{value:gs(!0),items:vs(Ds)}),bs=gs(!1)},clear(Ds){for(;cs.length!==0;)cs.remove(0);ls.setValue(Wi,{value:null,items:[]}),bs=gs(!1)},insert(Ds){const{index:Ms,displayValue:js,exportValue:Vs}=Ds.detail.insert,Ss=cs.children[Ms],As=document.createElement("option");As.textContent=js,As.value=Vs,Ss?Ss.before(As):cs.append(As),ls.setValue(Wi,{value:gs(!0),items:vs(Ds)}),bs=gs(!1)},items(Ds){const{items:Ms}=Ds.detail;for(;cs.length!==0;)cs.remove(0);for(const js of Ms){const{displayValue:Vs,exportValue:Ss}=js,As=document.createElement("option");As.textContent=Vs,As.value=Ss,cs.append(As)}cs.options.length>0&&(cs.options[0].selected=!0),ls.setValue(Wi,{value:gs(!0),items:vs(Ds)}),bs=gs(!1)},indices(Ds){const Ms=new Set(Ds.detail.indices);for(const js of Ds.target.options)js.selected=Ms.has(js.index);ls.setValue(Wi,{value:gs(!0)}),bs=gs(!1)},editable(Ds){Ds.target.disabled=!Ds.detail.editable}};this._dispatchEventFromSandbox(Us,_s)}),cs.addEventListener("input",_s=>{var Ds;const Us=gs(!0);ls.setValue(Wi,{value:Us}),_s.preventDefault(),(Ds=this.linkService.eventBus)==null||Ds.dispatch("dispatcheventinsandbox",{source:this,detail:{id:Wi,name:"Keystroke",value:bs,changeEx:Us,willCommit:!1,commitKey:1,keyDown:!1}})}),this._setEventListeners(cs,null,[["focus","Focus"],["blur","Blur"],["mousedown","Mouse Down"],["mouseenter","Mouse Enter"],["mouseleave","Mouse Exit"],["mouseup","Mouse Up"],["input","Action"],["input","Validate"]],_s=>_s.target.value)):cs.addEventListener("input",function(_s){ls.setValue(Wi,{value:gs(!0)})}),this.data.combo&&this._setTextStyle(cs),this._setBackgroundColor(cs),this._setDefaultPropertiesFromJS(cs),this.container.append(cs),this.container}}class di extends si{constructor(ls){const{data:Wi,elements:Ji}=ls;super(ls,{isRenderable:si._hasPopupData(Wi)}),this.elements=Ji}render(){this.container.classList.add("popupAnnotation");const ls=new fi({container:this.container,color:this.data.color,titleObj:this.data.titleObj,modificationDate:this.data.modificationDate,contentsObj:this.data.contentsObj,richText:this.data.richText,rect:this.data.rect,parentRect:this.data.parentRect||null,parent:this.parent,elements:this.elements,open:this.data.open}),Wi=[];for(const Ji of this.elements)Ji.popup=ls,Wi.push(Ji.data.id),Ji.addHighlightArea();return this.container.setAttribute("aria-controls",Wi.map(Ji=>`${Kn.AnnotationPrefix}${Ji}`).join(",")),this.container}}class fi{constructor({container:ls,color:Wi,elements:Ji,titleObj:cs,modificationDate:fs,contentsObj:ps,richText:gs,parent:bs,rect:vs,parentRect:_s,open:Us}){Ki(this,Xi);Ki(this,qi);Ki(this,is);Ki(this,hs);Ki(this,Fi,null);Ki(this,zi,Qi(this,Xi,kh).bind(this));Ki(this,_i,Qi(this,hs,Cl).bind(this));Ki(this,ji,Qi(this,is,kl).bind(this));Ki(this,Pi,Qi(this,qi,xc).bind(this));Ki(this,Ni,null);Ki(this,Si,null);Ki(this,Ti,null);Ki(this,Ri,null);Ki(this,Mi,null);Ki(this,Ui,null);Ki(this,Hi,!1);Ki(this,Li,null);Ki(this,Ei,null);Ki(this,$i,null);Ki(this,Bi,null);Ki(this,Oi,!1);var Ms;ds(this,Si,ls),ds(this,Bi,cs),ds(this,Ti,ps),ds(this,$i,gs),ds(this,Mi,bs),ds(this,Ni,Wi),ds(this,Ei,vs),ds(this,Ui,_s),ds(this,Ri,Ji);const Ds=oi.PDFDateString.toDateObject(fs);Ds&&ds(this,Fi,bs.l10n.get("annotation_date_string",{date:Ds.toLocaleDateString(),time:Ds.toLocaleTimeString()})),this.trigger=Ji.flatMap(js=>js.getElementsToTriggerPopup());for(const js of this.trigger)js.addEventListener("click",vi(this,Pi)),js.addEventListener("mouseenter",vi(this,ji)),js.addEventListener("mouseleave",vi(this,_i)),js.classList.add("popupTriggerArea");for(const js of Ji)(Ms=js.container)==null||Ms.addEventListener("keydown",vi(this,zi));vi(this,Si).hidden=!0,Us&&Qi(this,qi,xc).call(this)}render(){if(vi(this,Li))return;const{page:{view:ls},viewport:{rawDims:{pageWidth:Wi,pageHeight:Ji,pageX:cs,pageY:fs}}}=vi(this,Mi),ps=ds(this,Li,document.createElement("div"));if(ps.className="popup",vi(this,Ni)){const Os=ps.style.outlineColor=Kn.Util.makeHexColor(...vi(this,Ni));CSS.supports("background-color","color-mix(in srgb, red 30%, white)")?ps.style.backgroundColor=`color-mix(in srgb, ${Os} 30%, white)`:ps.style.backgroundColor=Kn.Util.makeHexColor(...vi(this,Ni).map(Ws=>Math.floor(.7*(255-Ws)+Ws)))}const gs=document.createElement("span");gs.className="header";const bs=document.createElement("h1");if(gs.append(bs),{dir:bs.dir,str:bs.textContent}=vi(this,Bi),ps.append(gs),vi(this,Fi)){const Os=document.createElement("span");Os.classList.add("popupDate"),vi(this,Fi).then($s=>{Os.textContent=$s}),gs.append(Os)}const vs=vi(this,Ti),_s=vi(this,$i);if(_s!=null&&_s.str&&(!(vs!=null&&vs.str)||vs.str===_s.str))Ln.XfaLayer.render({xfaHtml:_s.html,intent:"richText",div:ps}),ps.lastChild.classList.add("richText","popupContent");else{const Os=this._formatContents(vs);ps.append(Os)}let Us=!!vi(this,Ui),Ds=Us?vi(this,Ui):vi(this,Ei);for(const Os of vi(this,Ri))if(!Ds||Kn.Util.intersect(Os.data.rect,Ds)!==null){Ds=Os.data.rect,Us=!0;break}const Ms=Kn.Util.normalizeRect([Ds[0],ls[3]-Ds[1]+ls[1],Ds[2],ls[3]-Ds[3]+ls[1]]),Vs=Us?Ds[2]-Ds[0]+5:0,Ss=Ms[0]+Vs,As=Ms[1],{style:Es}=vi(this,Si);Es.left=`${100*(Ss-cs)/Wi}%`,Es.top=`${100*(As-fs)/Ji}%`,vi(this,Si).append(ps)}_formatContents({str:ls,dir:Wi}){const Ji=document.createElement("p");Ji.classList.add("popupContent"),Ji.dir=Wi;const cs=ls.split(/(?:\r\n?|\n)/);for(let fs=0,ps=cs.length;fs<ps;++fs){const gs=cs[fs];Ji.append(document.createTextNode(gs)),fs<ps-1&&Ji.append(document.createElement("br"))}return Ji}forceHide(){ds(this,Oi,this.isVisible),vi(this,Oi)&&(vi(this,Si).hidden=!0)}maybeShow(){vi(this,Oi)&&(ds(this,Oi,!1),vi(this,Si).hidden=!1)}get isVisible(){return vi(this,Si).hidden===!1}}Fi=new WeakMap,zi=new WeakMap,_i=new WeakMap,ji=new WeakMap,Pi=new WeakMap,Ni=new WeakMap,Si=new WeakMap,Ti=new WeakMap,Ri=new WeakMap,Mi=new WeakMap,Ui=new WeakMap,Hi=new WeakMap,Li=new WeakMap,Ei=new WeakMap,$i=new WeakMap,Bi=new WeakMap,Oi=new WeakMap,Xi=new WeakSet,kh=function(ls){ls.altKey||ls.shiftKey||ls.ctrlKey||ls.metaKey||(ls.key==="Enter"||ls.key==="Escape"&&vi(this,Hi))&&Qi(this,qi,xc).call(this)},qi=new WeakSet,xc=function(){ds(this,Hi,!vi(this,Hi)),vi(this,Hi)?(Qi(this,is,kl).call(this),vi(this,Si).addEventListener("click",vi(this,Pi)),vi(this,Si).addEventListener("keydown",vi(this,zi))):(Qi(this,hs,Cl).call(this),vi(this,Si).removeEventListener("click",vi(this,Pi)),vi(this,Si).removeEventListener("keydown",vi(this,zi)))},is=new WeakSet,kl=function(){vi(this,Li)||this.render(),this.isVisible?vi(this,Hi)&&vi(this,Si).classList.add("focused"):(vi(this,Si).hidden=!1,vi(this,Si).style.zIndex=parseInt(vi(this,Si).style.zIndex)+1e3)},hs=new WeakSet,Cl=function(){vi(this,Si).classList.remove("focused"),!(vi(this,Hi)||!this.isVisible)&&(vi(this,Si).hidden=!0,vi(this,Si).style.zIndex=parseInt(vi(this,Si).style.zIndex)-1e3)};class wi extends si{constructor(ls){super(ls,{isRenderable:!0,ignoreBorder:!0}),this.textContent=ls.data.textContent,this.textPosition=ls.data.textPosition,this.annotationEditorType=Kn.AnnotationEditorType.FREETEXT}render(){if(this.container.classList.add("freeTextAnnotation"),this.textContent){const ls=document.createElement("div");ls.classList.add("annotationTextContent"),ls.setAttribute("role","comment");for(const Wi of this.textContent){const Ji=document.createElement("span");Ji.textContent=Wi,ls.append(Ji)}this.container.append(ls)}return!this.data.popupRef&&this.hasPopupData&&this._createPopup(),this._editOnDoubleClick(),this.container}}$n.FreeTextAnnotationElement=wi;class Jn extends si{constructor(Wi){super(Wi,{isRenderable:!0,ignoreBorder:!0});Ki(this,Vi,null)}render(){this.container.classList.add("lineAnnotation");const Wi=this.data,{width:Ji,height:cs}=Rn(Wi.rect),fs=this.svgFactory.create(Ji,cs,!0),ps=ds(this,Vi,this.svgFactory.createElement("svg:line"));return ps.setAttribute("x1",Wi.rect[2]-Wi.lineCoordinates[0]),ps.setAttribute("y1",Wi.rect[3]-Wi.lineCoordinates[1]),ps.setAttribute("x2",Wi.rect[2]-Wi.lineCoordinates[2]),ps.setAttribute("y2",Wi.rect[3]-Wi.lineCoordinates[3]),ps.setAttribute("stroke-width",Wi.borderStyle.width||1),ps.setAttribute("stroke","transparent"),ps.setAttribute("fill","transparent"),fs.append(ps),this.container.append(fs),!Wi.popupRef&&this.hasPopupData&&this._createPopup(),this.container}getElementsToTriggerPopup(){return vi(this,Vi)}addHighlightArea(){this.container.classList.add("highlightArea")}}Vi=new WeakMap;class pi extends si{constructor(Wi){super(Wi,{isRenderable:!0,ignoreBorder:!0});Ki(this,Zi,null)}render(){this.container.classList.add("squareAnnotation");const Wi=this.data,{width:Ji,height:cs}=Rn(Wi.rect),fs=this.svgFactory.create(Ji,cs,!0),ps=Wi.borderStyle.width,gs=ds(this,Zi,this.svgFactory.createElement("svg:rect"));return gs.setAttribute("x",ps/2),gs.setAttribute("y",ps/2),gs.setAttribute("width",Ji-ps),gs.setAttribute("height",cs-ps),gs.setAttribute("stroke-width",ps||1),gs.setAttribute("stroke","transparent"),gs.setAttribute("fill","transparent"),fs.append(gs),this.container.append(fs),!Wi.popupRef&&this.hasPopupData&&this._createPopup(),this.container}getElementsToTriggerPopup(){return vi(this,Zi)}addHighlightArea(){this.container.classList.add("highlightArea")}}Zi=new WeakMap;class Zn extends si{constructor(Wi){super(Wi,{isRenderable:!0,ignoreBorder:!0});Ki(this,us,null)}render(){this.container.classList.add("circleAnnotation");const Wi=this.data,{width:Ji,height:cs}=Rn(Wi.rect),fs=this.svgFactory.create(Ji,cs,!0),ps=Wi.borderStyle.width,gs=ds(this,us,this.svgFactory.createElement("svg:ellipse"));return gs.setAttribute("cx",Ji/2),gs.setAttribute("cy",cs/2),gs.setAttribute("rx",Ji/2-ps/2),gs.setAttribute("ry",cs/2-ps/2),gs.setAttribute("stroke-width",ps||1),gs.setAttribute("stroke","transparent"),gs.setAttribute("fill","transparent"),fs.append(gs),this.container.append(fs),!Wi.popupRef&&this.hasPopupData&&this._createPopup(),this.container}getElementsToTriggerPopup(){return vi(this,us)}addHighlightArea(){this.container.classList.add("highlightArea")}}us=new WeakMap;class Gn extends si{constructor(Wi){super(Wi,{isRenderable:!0,ignoreBorder:!0});Ki(this,ts,null);this.containerClassName="polylineAnnotation",this.svgElementName="svg:polyline"}render(){this.container.classList.add(this.containerClassName);const Wi=this.data,{width:Ji,height:cs}=Rn(Wi.rect),fs=this.svgFactory.create(Ji,cs,!0);let ps=[];for(const bs of Wi.vertices){const vs=bs.x-Wi.rect[0],_s=Wi.rect[3]-bs.y;ps.push(vs+","+_s)}ps=ps.join(" ");const gs=ds(this,ts,this.svgFactory.createElement(this.svgElementName));return gs.setAttribute("points",ps),gs.setAttribute("stroke-width",Wi.borderStyle.width||1),gs.setAttribute("stroke","transparent"),gs.setAttribute("fill","transparent"),fs.append(gs),this.container.append(fs),!Wi.popupRef&&this.hasPopupData&&this._createPopup(),this.container}getElementsToTriggerPopup(){return vi(this,ts)}addHighlightArea(){this.container.classList.add("highlightArea")}}ts=new WeakMap;class mi extends Gn{constructor(ls){super(ls),this.containerClassName="polygonAnnotation",this.svgElementName="svg:polygon"}}class Wn extends si{constructor(ls){super(ls,{isRenderable:!0,ignoreBorder:!0})}render(){return this.container.classList.add("caretAnnotation"),!this.data.popupRef&&this.hasPopupData&&this._createPopup(),this.container}}class ni extends si{constructor(Wi){super(Wi,{isRenderable:!0,ignoreBorder:!0});Ki(this,es,[]);this.containerClassName="inkAnnotation",this.svgElementName="svg:polyline",this.annotationEditorType=Kn.AnnotationEditorType.INK}render(){this.container.classList.add(this.containerClassName);const Wi=this.data,{width:Ji,height:cs}=Rn(Wi.rect),fs=this.svgFactory.create(Ji,cs,!0);for(const ps of Wi.inkLists){let gs=[];for(const vs of ps){const _s=vs.x-Wi.rect[0],Us=Wi.rect[3]-vs.y;gs.push(`${_s},${Us}`)}gs=gs.join(" ");const bs=this.svgFactory.createElement(this.svgElementName);vi(this,es).push(bs),bs.setAttribute("points",gs),bs.setAttribute("stroke-width",Wi.borderStyle.width||1),bs.setAttribute("stroke","transparent"),bs.setAttribute("fill","transparent"),!Wi.popupRef&&this.hasPopupData&&this._createPopup(),fs.append(bs)}return this.container.append(fs),this.container}getElementsToTriggerPopup(){return vi(this,es)}addHighlightArea(){this.container.classList.add("highlightArea")}}es=new WeakMap,$n.InkAnnotationElement=ni;class li extends si{constructor(ls){super(ls,{isRenderable:!0,ignoreBorder:!0,createQuadrilaterals:!0})}render(){return!this.data.popupRef&&this.hasPopupData&&this._createPopup(),this.container.classList.add("highlightAnnotation"),this.container}}class Ai extends si{constructor(ls){super(ls,{isRenderable:!0,ignoreBorder:!0,createQuadrilaterals:!0})}render(){return!this.data.popupRef&&this.hasPopupData&&this._createPopup(),this.container.classList.add("underlineAnnotation"),this.container}}class gi extends si{constructor(ls){super(ls,{isRenderable:!0,ignoreBorder:!0,createQuadrilaterals:!0})}render(){return!this.data.popupRef&&this.hasPopupData&&this._createPopup(),this.container.classList.add("squigglyAnnotation"),this.container}}class yi extends si{constructor(ls){super(ls,{isRenderable:!0,ignoreBorder:!0,createQuadrilaterals:!0})}render(){return!this.data.popupRef&&this.hasPopupData&&this._createPopup(),this.container.classList.add("strikeoutAnnotation"),this.container}}class Ii extends si{constructor(ls){super(ls,{isRenderable:!0,ignoreBorder:!0})}render(){return this.container.classList.add("stampAnnotation"),!this.data.popupRef&&this.hasPopupData&&this._createPopup(),this.container}}$n.StampAnnotationElement=Ii;class xi extends si{constructor(Wi){var fs;super(Wi,{isRenderable:!0});Ki(this,ss);Ki(this,rs,null);const{filename:Ji,content:cs}=this.data.file;this.filename=(0,oi.getFilenameFromUrl)(Ji,!0),this.content=cs,(fs=this.linkService.eventBus)==null||fs.dispatch("fileattachmentannotation",{source:this,filename:Ji,content:cs})}render(){this.container.classList.add("fileAttachmentAnnotation");const{container:Wi,data:Ji}=this;let cs;Ji.hasAppearance||Ji.fillAlpha===0?cs=document.createElement("div"):(cs=document.createElement("img"),cs.src=`${this.imageResourcesPath}annotation-${/paperclip/i.test(Ji.name)?"paperclip":"pushpin"}.svg`,Ji.fillAlpha&&Ji.fillAlpha<1&&(cs.style=`filter: opacity(${Math.round(Ji.fillAlpha*100)}%);`)),cs.addEventListener("dblclick",Qi(this,ss,Tl).bind(this)),ds(this,rs,cs);const{isMac:fs}=Kn.FeatureTest.platform;return Wi.addEventListener("keydown",ps=>{ps.key==="Enter"&&(fs?ps.metaKey:ps.ctrlKey)&&Qi(this,ss,Tl).call(this)}),!Ji.popupRef&&this.hasPopupData?this._createPopup():cs.classList.add("popupTriggerArea"),Wi.append(cs),Wi}getElementsToTriggerPopup(){return vi(this,rs)}addHighlightArea(){this.container.classList.add("highlightArea")}}rs=new WeakMap,ss=new WeakSet,Tl=function(){var Wi;(Wi=this.downloadManager)==null||Wi.openOrDownloadData(this.container,this.content,this.filename)};class Qn{constructor({div:ls,accessibilityManager:Wi,annotationCanvasMap:Ji,l10n:cs,page:fs,viewport:ps}){Ki(this,ms);Ki(this,ws);Ki(this,ks,null);Ki(this,xs,null);Ki(this,Rs,new Map);this.div=ls,ds(this,ks,Wi),ds(this,xs,Ji),this.l10n=cs,this.page=fs,this.viewport=ps,this.zIndex=0,this.l10n||(this.l10n=In.NullL10n)}async render(ls){const{annotations:Wi}=ls,Ji=this.div;(0,oi.setLayerDimensions)(Ji,this.viewport);const cs=new Map,fs={data:null,layer:Ji,linkService:ls.linkService,downloadManager:ls.downloadManager,imageResourcesPath:ls.imageResourcesPath||"",renderForms:ls.renderForms!==!1,svgFactory:new oi.DOMSVGFactory,annotationStorage:ls.annotationStorage||new Mn.AnnotationStorage,enableScripting:ls.enableScripting===!0,hasJSActions:ls.hasJSActions,fieldObjects:ls.fieldObjects,parent:this,elements:null};for(const ps of Wi){if(ps.noHTML)continue;const gs=ps.annotationType===Kn.AnnotationType.POPUP;if(gs){const _s=cs.get(ps.id);if(!_s)continue;fs.elements=_s}else{const{width:_s,height:Us}=Rn(ps.rect);if(_s<=0||Us<=0)continue}fs.data=ps;const bs=ui.create(fs);if(!bs.isRenderable)continue;if(!gs&&ps.popupRef){const _s=cs.get(ps.popupRef);_s?_s.push(bs):cs.set(ps.popupRef,[bs])}bs.annotationEditorType>0&&vi(this,Rs).set(bs.data.id,bs);const vs=bs.render();ps.hidden&&(vs.style.visibility="hidden"),Qi(this,ms,Ch).call(this,vs,ps.id)}Qi(this,ws,El).call(this),await this.l10n.translate(Ji)}update({viewport:ls}){const Wi=this.div;this.viewport=ls,(0,oi.setLayerDimensions)(Wi,{rotation:ls.rotation}),Qi(this,ws,El).call(this),Wi.hidden=!1}getEditableAnnotations(){return Array.from(vi(this,Rs).values())}getEditableAnnotation(ls){return vi(this,Rs).get(ls)}}ks=new WeakMap,xs=new WeakMap,Rs=new WeakMap,ms=new WeakSet,Ch=function(ls,Wi){var cs;const Ji=ls.firstChild||ls;Ji.id=`${Kn.AnnotationPrefix}${Wi}`,this.div.append(ls),(cs=vi(this,ks))==null||cs.moveElementInDOM(this.div,ls,Ji,!1)},ws=new WeakSet,El=function(){if(!vi(this,xs))return;const ls=this.div;for(const[Wi,Ji]of vi(this,xs)){const cs=ls.querySelector(`[data-annotation-id="${Wi}"]`);if(!cs)continue;const{firstChild:fs}=cs;fs?fs.nodeName==="CANVAS"?fs.replaceWith(Ji):fs.before(Ji):cs.append(Ji)}vi(this,xs).clear()},$n.AnnotationLayer=Qn},(ki,$n)=>{Object.defineProperty($n,"__esModule",{value:!0}),$n.ColorConverters=void 0;function Pn(Mn){return Math.floor(Math.max(0,Math.min(1,Mn))*255).toString(16).padStart(2,"0")}function Kn(Mn){return Math.max(0,Math.min(255,255*Mn))}class oi{static CMYK_G([ti,In,Ln,jn]){return["G",1-Math.min(1,.3*ti+.59*Ln+.11*In+jn)]}static G_CMYK([ti]){return["CMYK",0,0,0,1-ti]}static G_RGB([ti]){return["RGB",ti,ti,ti]}static G_rgb([ti]){return ti=Kn(ti),[ti,ti,ti]}static G_HTML([ti]){const In=Pn(ti);return`#${In}${In}${In}`}static RGB_G([ti,In,Ln]){return["G",.3*ti+.59*In+.11*Ln]}static RGB_rgb(ti){return ti.map(Kn)}static RGB_HTML(ti){return`#${ti.map(Pn).join("")}`}static T_HTML(){return"#00000000"}static T_rgb(){return[null]}static CMYK_RGB([ti,In,Ln,jn]){return["RGB",1-Math.min(1,ti+jn),1-Math.min(1,Ln+jn),1-Math.min(1,In+jn)]}static CMYK_rgb([ti,In,Ln,jn]){return[Kn(1-Math.min(1,ti+jn)),Kn(1-Math.min(1,Ln+jn)),Kn(1-Math.min(1,In+jn))]}static CMYK_HTML(ti){const In=this.CMYK_RGB(ti).slice(1);return this.RGB_HTML(In)}static RGB_CMYK([ti,In,Ln]){const jn=1-ti,Cn=1-In,Tn=1-Ln,Rn=Math.min(jn,Cn,Tn);return["CMYK",jn,Cn,Tn,Rn]}}$n.ColorConverters=oi},(ki,$n)=>{Object.defineProperty($n,"__esModule",{value:!0}),$n.NullL10n=void 0,$n.getL10nFallback=Kn;const Pn={of_pages:"of {{pagesCount}}",page_of_pages:"({{pageNumber}} of {{pagesCount}})",document_properties_kb:"{{size_kb}} KB ({{size_b}} bytes)",document_properties_mb:"{{size_mb}} MB ({{size_b}} bytes)",document_properties_date_string:"{{date}}, {{time}}",document_properties_page_size_unit_inches:"in",document_properties_page_size_unit_millimeters:"mm",document_properties_page_size_orientation_portrait:"portrait",document_properties_page_size_orientation_landscape:"landscape",document_properties_page_size_name_a3:"A3",document_properties_page_size_name_a4:"A4",document_properties_page_size_name_letter:"Letter",document_properties_page_size_name_legal:"Legal",document_properties_page_size_dimension_string:"{{width}} × {{height}} {{unit}} ({{orientation}})",document_properties_page_size_dimension_name_string:"{{width}} × {{height}} {{unit}} ({{name}}, {{orientation}})",document_properties_linearized_yes:"Yes",document_properties_linearized_no:"No",additional_layers:"Additional Layers",page_landmark:"Page {{page}}",thumb_page_title:"Page {{page}}",thumb_page_canvas:"Thumbnail of Page {{page}}",find_reached_top:"Reached top of document, continued from bottom",find_reached_bottom:"Reached end of document, continued from top","find_match_count[one]":"{{current}} of {{total}} match","find_match_count[other]":"{{current}} of {{total}} matches","find_match_count_limit[one]":"More than {{limit}} match","find_match_count_limit[other]":"More than {{limit}} matches",find_not_found:"Phrase not found",page_scale_width:"Page Width",page_scale_fit:"Page Fit",page_scale_auto:"Automatic Zoom",page_scale_actual:"Actual Size",page_scale_percent:"{{scale}}%",loading_error:"An error occurred while loading the PDF.",invalid_file_error:"Invalid or corrupted PDF file.",missing_file_error:"Missing PDF file.",unexpected_response_error:"Unexpected server response.",rendering_error:"An error occurred while rendering the page.",annotation_date_string:"{{date}}, {{time}}",printing_not_supported:"Warning: Printing is not fully supported by this browser.",printing_not_ready:"Warning: The PDF is not fully loaded for printing.",web_fonts_disabled:"Web fonts are disabled: unable to use embedded PDF fonts.",free_text2_default_content:"Start typing…",editor_free_text2_aria_label:"Text Editor",editor_ink2_aria_label:"Draw Editor",editor_ink_canvas_aria_label:"User-created image",editor_alt_text_button_label:"Alt text",editor_alt_text_edit_button_label:"Edit alt text",editor_alt_text_decorative_tooltip:"Marked as decorative"};Pn.print_progress_percent="{{progress}}%";function Kn(ti,In){switch(ti){case"find_match_count":ti=`find_match_count[${In.total===1?"one":"other"}]`;break;case"find_match_count_limit":ti=`find_match_count_limit[${In.limit===1?"one":"other"}]`;break}return Pn[ti]||""}function oi(ti,In){return In?ti.replaceAll(/\{\{\s*(\w+)\s*\}\}/g,(Ln,jn)=>jn in In?In[jn]:"{{"+jn+"}}"):ti}const Mn={async getLanguage(){return"en-us"},async getDirection(){return"ltr"},async get(ti,In=null,Ln=Kn(ti,In)){return oi(Ln,In)},async translate(ti){}};$n.NullL10n=Mn},(ki,$n,Pn)=>{Object.defineProperty($n,"__esModule",{value:!0}),$n.XfaLayer=void 0;var Kn=Pn(25);class oi{static setupStorage(ti,In,Ln,jn,Cn){const Tn=jn.getValue(In,{value:null});switch(Ln.name){case"textarea":if(Tn.value!==null&&(ti.textContent=Tn.value),Cn==="print")break;ti.addEventListener("input",Rn=>{jn.setValue(In,{value:Rn.target.value})});break;case"input":if(Ln.attributes.type==="radio"||Ln.attributes.type==="checkbox"){if(Tn.value===Ln.attributes.xfaOn?ti.setAttribute("checked",!0):Tn.value===Ln.attributes.xfaOff&&ti.removeAttribute("checked"),Cn==="print")break;ti.addEventListener("change",Rn=>{jn.setValue(In,{value:Rn.target.checked?Rn.target.getAttribute("xfaOn"):Rn.target.getAttribute("xfaOff")})})}else{if(Tn.value!==null&&ti.setAttribute("value",Tn.value),Cn==="print")break;ti.addEventListener("input",Rn=>{jn.setValue(In,{value:Rn.target.value})})}break;case"select":if(Tn.value!==null){ti.setAttribute("value",Tn.value);for(const Rn of Ln.children)Rn.attributes.value===Tn.value?Rn.attributes.selected=!0:Rn.attributes.hasOwnProperty("selected")&&delete Rn.attributes.selected}ti.addEventListener("input",Rn=>{const ui=Rn.target.options,si=ui.selectedIndex===-1?"":ui[ui.selectedIndex].value;jn.setValue(In,{value:si})});break}}static setAttributes({html:ti,element:In,storage:Ln=null,intent:jn,linkService:Cn}){const{attributes:Tn}=In,Rn=ti instanceof HTMLAnchorElement;Tn.type==="radio"&&(Tn.name=`${Tn.name}-${jn}`);for(const[ui,si]of Object.entries(Tn))if(si!=null)switch(ui){case"class":si.length&&ti.setAttribute(ui,si.join(" "));break;case"dataId":break;case"id":ti.setAttribute("data-element-id",si);break;case"style":Object.assign(ti.style,si);break;case"textContent":ti.textContent=si;break;default:(!Rn||ui!=="href"&&ui!=="newWindow")&&ti.setAttribute(ui,si)}Rn&&Cn.addLinkAttributes(ti,Tn.href,Tn.newWindow),Ln&&Tn.dataId&&this.setupStorage(ti,Tn.dataId,In,Ln)}static render(ti){var ei;const In=ti.annotationStorage,Ln=ti.linkService,jn=ti.xfaHtml,Cn=ti.intent||"display",Tn=document.createElement(jn.name);jn.attributes&&this.setAttributes({html:Tn,element:jn,intent:Cn,linkService:Ln});const Rn=[[jn,-1,Tn]],ui=ti.div;if(ui.append(Tn),ti.viewport){const Bn=`matrix(${ti.viewport.transform.join(",")})`;ui.style.transform=Bn}Cn!=="richText"&&ui.setAttribute("class","xfaLayer xfaFont");const si=[];for(;Rn.length>0;){const[Bn,Nn,Hn]=Rn.at(-1);if(Nn+1===Bn.children.length){Rn.pop();continue}const On=Bn.children[++Rn.at(-1)[1]];if(On===null)continue;const{name:hi}=On;if(hi==="#text"){const ii=document.createTextNode(On.value);si.push(ii),Hn.append(ii);continue}const Xn=(ei=On==null?void 0:On.attributes)!=null&&ei.xmlns?document.createElementNS(On.attributes.xmlns,hi):document.createElement(hi);if(Hn.append(Xn),On.attributes&&this.setAttributes({html:Xn,element:On,storage:In,intent:Cn,linkService:Ln}),On.children&&On.children.length>0)Rn.push([On,-1,Xn]);else if(On.value){const ii=document.createTextNode(On.value);Kn.XfaText.shouldBuildText(hi)&&si.push(ii),Xn.append(ii)}}for(const Bn of ui.querySelectorAll(".xfaNonInteractive input, .xfaNonInteractive textarea"))Bn.setAttribute("readOnly",!0);return{textDivs:si}}static update(ti){const In=`matrix(${ti.viewport.transform.join(",")})`;ti.div.style.transform=In,ti.div.hidden=!1}}$n.XfaLayer=oi},(ki,$n,Pn)=>{var jn,Cn,Tn,Rn,ui,si,ei,Bn,Nn,Hn,On,hi,Xn,ii,ri,Th,fi,Eh,Jn,Fh,Zn,Ih,mi,Fl,ni,Oh,Ai,Il,yi,_h,xi,Mh,ai,Ph,Yn,Rh,bi,Lh,Fi,Sr,_i,Ol,Pi,bc,Si,yc,Ri,Bo,Ui,_l,Li,wc,$i,Dh,Oi,Ml,Gi,Nh,ns,Bh,as,Pl,Yi,Sc,Zi,$o;Object.defineProperty($n,"__esModule",{value:!0}),$n.InkEditor=void 0;var Kn=Pn(1),oi=Pn(4),Mn=Pn(29),ti=Pn(6),In=Pn(5);const ts=class ts extends oi.AnnotationEditor{constructor(ss){super({...ss,name:"inkEditor"});Ki(this,ri);Ki(this,fi);Ki(this,Jn);Ki(this,Zn);Ki(this,mi);Ki(this,ni);Ki(this,Ai);Ki(this,yi);Ki(this,xi);Ki(this,ai);Ki(this,Yn);Ki(this,bi);Ki(this,Fi);Ki(this,_i);Ki(this,Pi);Ki(this,Si);Ki(this,Ri);Ki(this,Ui);Ki(this,Li);Ki(this,ns);Ki(this,as);Ki(this,Yi);Ki(this,Zi);Ki(this,jn,0);Ki(this,Cn,0);Ki(this,Tn,this.canvasPointermove.bind(this));Ki(this,Rn,this.canvasPointerleave.bind(this));Ki(this,ui,this.canvasPointerup.bind(this));Ki(this,si,this.canvasPointerdown.bind(this));Ki(this,ei,new Path2D);Ki(this,Bn,!1);Ki(this,Nn,!1);Ki(this,Hn,!1);Ki(this,On,null);Ki(this,hi,0);Ki(this,Xn,0);Ki(this,ii,null);this.color=ss.color||null,this.thickness=ss.thickness||null,this.opacity=ss.opacity||null,this.paths=[],this.bezierPath2D=[],this.allRawPaths=[],this.currentPath=[],this.scaleFactor=1,this.translationX=this.translationY=0,this.x=0,this.y=0,this._willKeepAspectRatio=!0}static initialize(ss){oi.AnnotationEditor.initialize(ss,{strings:["editor_ink_canvas_aria_label","editor_ink2_aria_label"]})}static updateDefaultParams(ss,os){switch(ss){case Kn.AnnotationEditorParamsType.INK_THICKNESS:ts._defaultThickness=os;break;case Kn.AnnotationEditorParamsType.INK_COLOR:ts._defaultColor=os;break;case Kn.AnnotationEditorParamsType.INK_OPACITY:ts._defaultOpacity=os/100;break}}updateParams(ss,os){switch(ss){case Kn.AnnotationEditorParamsType.INK_THICKNESS:Qi(this,ri,Th).call(this,os);break;case Kn.AnnotationEditorParamsType.INK_COLOR:Qi(this,fi,Eh).call(this,os);break;case Kn.AnnotationEditorParamsType.INK_OPACITY:Qi(this,Jn,Fh).call(this,os);break}}static get defaultPropertiesToUpdate(){return[[Kn.AnnotationEditorParamsType.INK_THICKNESS,ts._defaultThickness],[Kn.AnnotationEditorParamsType.INK_COLOR,ts._defaultColor||oi.AnnotationEditor._defaultLineColor],[Kn.AnnotationEditorParamsType.INK_OPACITY,Math.round(ts._defaultOpacity*100)]]}get propertiesToUpdate(){return[[Kn.AnnotationEditorParamsType.INK_THICKNESS,this.thickness||ts._defaultThickness],[Kn.AnnotationEditorParamsType.INK_COLOR,this.color||ts._defaultColor||oi.AnnotationEditor._defaultLineColor],[Kn.AnnotationEditorParamsType.INK_OPACITY,Math.round(100*(this.opacity??ts._defaultOpacity))]]}rebuild(){this.parent&&(super.rebuild(),this.div!==null&&(this.canvas||(Qi(this,Pi,bc).call(this),Qi(this,Si,yc).call(this)),this.isAttachedToDOM||(this.parent.add(this),Qi(this,Ri,Bo).call(this)),Qi(this,Zi,$o).call(this)))}remove(){this.canvas!==null&&(this.isEmpty()||this.commit(),this.canvas.width=this.canvas.height=0,this.canvas.remove(),this.canvas=null,vi(this,On).disconnect(),ds(this,On,null),super.remove())}setParent(ss){!this.parent&&ss?this._uiManager.removeShouldRescale(this):this.parent&&ss===null&&this._uiManager.addShouldRescale(this),super.setParent(ss)}onScaleChanging(){const[ss,os]=this.parentDimensions,ks=this.width*ss,xs=this.height*os;this.setDimensions(ks,xs)}enableEditMode(){vi(this,Bn)||this.canvas===null||(super.enableEditMode(),this._isDraggable=!1,this.canvas.addEventListener("pointerdown",vi(this,si)))}disableEditMode(){!this.isInEditMode()||this.canvas===null||(super.disableEditMode(),this._isDraggable=!this.isEmpty(),this.div.classList.remove("editing"),this.canvas.removeEventListener("pointerdown",vi(this,si)))}onceAdded(){this._isDraggable=!this.isEmpty()}isEmpty(){return this.paths.length===0||this.paths.length===1&&this.paths[0].length===0}commit(){vi(this,Bn)||(super.commit(),this.isEditing=!1,this.disableEditMode(),this.setInForeground(),ds(this,Bn,!0),this.div.classList.add("disabled"),Qi(this,Zi,$o).call(this,!0),this.makeResizable(),this.parent.addInkEditorIfNeeded(!0),this.moveInDOM(),this.div.focus({preventScroll:!0}))}focusin(ss){this._focusEventsAllowed&&(super.focusin(ss),this.enableEditMode())}canvasPointerdown(ss){ss.button!==0||!this.isInEditMode()||vi(this,Bn)||(this.setInForeground(),ss.preventDefault(),ss.type!=="mouse"&&this.div.focus(),Qi(this,ni,Oh).call(this,ss.offsetX,ss.offsetY))}canvasPointermove(ss){ss.preventDefault(),Qi(this,Ai,Il).call(this,ss.offsetX,ss.offsetY)}canvasPointerup(ss){ss.preventDefault(),Qi(this,_i,Ol).call(this,ss)}canvasPointerleave(ss){Qi(this,_i,Ol).call(this,ss)}get isResizable(){return!this.isEmpty()&&vi(this,Bn)}render(){if(this.div)return this.div;let ss,os;this.width&&(ss=this.x,os=this.y),super.render(),oi.AnnotationEditor._l10nPromise.get("editor_ink2_aria_label").then(Bs=>{var ws;return(ws=this.div)==null?void 0:ws.setAttribute("aria-label",Bs)});const[ks,xs,Rs,ms]=Qi(this,Zn,Ih).call(this);if(this.setAt(ks,xs,0,0),this.setDims(Rs,ms),Qi(this,Pi,bc).call(this),this.width){const[Bs,ws]=this.parentDimensions;this.setAspectRatio(this.width*Bs,this.height*ws),this.setAt(ss*Bs,os*ws,this.width*Bs,this.height*ws),ds(this,Hn,!0),Qi(this,Ri,Bo).call(this),this.setDims(this.width*Bs,this.height*ws),Qi(this,Fi,Sr).call(this),this.div.classList.add("disabled")}else this.div.classList.add("editing"),this.enableEditMode();return Qi(this,Si,yc).call(this),this.div}setDimensions(ss,os){const ks=Math.round(ss),xs=Math.round(os);if(vi(this,hi)===ks&&vi(this,Xn)===xs)return;ds(this,hi,ks),ds(this,Xn,xs),this.canvas.style.visibility="hidden";const[Rs,ms]=this.parentDimensions;this.width=ss/Rs,this.height=os/ms,this.fixAndSetPosition(),vi(this,Bn)&&Qi(this,Ui,_l).call(this,ss,os),Qi(this,Ri,Bo).call(this),Qi(this,Fi,Sr).call(this),this.canvas.style.visibility="visible",this.fixDims()}static deserialize(ss,os,ks){var fs,ps,gs;if(ss instanceof Mn.InkAnnotationElement)return null;const xs=super.deserialize(ss,os,ks);xs.thickness=ss.thickness,xs.color=Kn.Util.makeHexColor(...ss.color),xs.opacity=ss.opacity;const[Rs,ms]=xs.pageDimensions,Bs=xs.width*Rs,ws=xs.height*ms,Ts=xs.parentScale,Is=ss.thickness/2;ds(xs,Bn,!0),ds(xs,hi,Math.round(Bs)),ds(xs,Xn,Math.round(ws));const{paths:ls,rect:Wi,rotation:Ji}=ss;for(let{bezier:bs}of ls){bs=Qi(fs=ts,Gi,Nh).call(fs,bs,Wi,Ji);const vs=[];xs.paths.push(vs);let _s=Ts*(bs[0]-Is),Us=Ts*(bs[1]-Is);for(let Ms=2,js=bs.length;Ms<js;Ms+=6){const Vs=Ts*(bs[Ms]-Is),Ss=Ts*(bs[Ms+1]-Is),As=Ts*(bs[Ms+2]-Is),Es=Ts*(bs[Ms+3]-Is),Os=Ts*(bs[Ms+4]-Is),$s=Ts*(bs[Ms+5]-Is);vs.push([[_s,Us],[Vs,Ss],[As,Es],[Os,$s]]),_s=Os,Us=$s}const Ds=Qi(this,$i,Dh).call(this,vs);xs.bezierPath2D.push(Ds)}const cs=Qi(ps=xs,as,Pl).call(ps);return ds(xs,Cn,Math.max(oi.AnnotationEditor.MIN_SIZE,cs[2]-cs[0])),ds(xs,jn,Math.max(oi.AnnotationEditor.MIN_SIZE,cs[3]-cs[1])),Qi(gs=xs,Ui,_l).call(gs,Bs,ws),xs}serialize(){if(this.isEmpty())return null;const ss=this.getRect(0,0),os=oi.AnnotationEditor._colorManager.convert(this.ctx.strokeStyle);return{annotationType:Kn.AnnotationEditorType.INK,color:os,thickness:this.thickness,opacity:this.opacity,paths:Qi(this,ns,Bh).call(this,this.scaleFactor/this.parentScale,this.translationX,this.translationY,ss),pageIndex:this.pageIndex,rect:ss,rotation:this.rotation,structTreeParentId:this._structTreeParentId}}};jn=new WeakMap,Cn=new WeakMap,Tn=new WeakMap,Rn=new WeakMap,ui=new WeakMap,si=new WeakMap,ei=new WeakMap,Bn=new WeakMap,Nn=new WeakMap,Hn=new WeakMap,On=new WeakMap,hi=new WeakMap,Xn=new WeakMap,ii=new WeakMap,ri=new WeakSet,Th=function(ss){const os=this.thickness;this.addCommands({cmd:()=>{this.thickness=ss,Qi(this,Zi,$o).call(this)},undo:()=>{this.thickness=os,Qi(this,Zi,$o).call(this)},mustExec:!0,type:Kn.AnnotationEditorParamsType.INK_THICKNESS,overwriteIfSameType:!0,keepUndo:!0})},fi=new WeakSet,Eh=function(ss){const os=this.color;this.addCommands({cmd:()=>{this.color=ss,Qi(this,Fi,Sr).call(this)},undo:()=>{this.color=os,Qi(this,Fi,Sr).call(this)},mustExec:!0,type:Kn.AnnotationEditorParamsType.INK_COLOR,overwriteIfSameType:!0,keepUndo:!0})},Jn=new WeakSet,Fh=function(ss){ss/=100;const os=this.opacity;this.addCommands({cmd:()=>{this.opacity=ss,Qi(this,Fi,Sr).call(this)},undo:()=>{this.opacity=os,Qi(this,Fi,Sr).call(this)},mustExec:!0,type:Kn.AnnotationEditorParamsType.INK_OPACITY,overwriteIfSameType:!0,keepUndo:!0})},Zn=new WeakSet,Ih=function(){const{parentRotation:ss,parentDimensions:[os,ks]}=this;switch(ss){case 90:return[0,ks,ks,os];case 180:return[os,ks,os,ks];case 270:return[os,0,ks,os];default:return[0,0,os,ks]}},mi=new WeakSet,Fl=function(){const{ctx:ss,color:os,opacity:ks,thickness:xs,parentScale:Rs,scaleFactor:ms}=this;ss.lineWidth=xs*Rs/ms,ss.lineCap="round",ss.lineJoin="round",ss.miterLimit=10,ss.strokeStyle=`${os}${(0,In.opacityToHex)(ks)}`},ni=new WeakSet,Oh=function(ss,os){this.canvas.addEventListener("contextmenu",ti.noContextMenu),this.canvas.addEventListener("pointerleave",vi(this,Rn)),this.canvas.addEventListener("pointermove",vi(this,Tn)),this.canvas.addEventListener("pointerup",vi(this,ui)),this.canvas.removeEventListener("pointerdown",vi(this,si)),this.isEditing=!0,vi(this,Hn)||(ds(this,Hn,!0),Qi(this,Ri,Bo).call(this),this.thickness||(this.thickness=ts._defaultThickness),this.color||(this.color=ts._defaultColor||oi.AnnotationEditor._defaultLineColor),this.opacity??(this.opacity=ts._defaultOpacity)),this.currentPath.push([ss,os]),ds(this,Nn,!1),Qi(this,mi,Fl).call(this),ds(this,ii,()=>{Qi(this,ai,Ph).call(this),vi(this,ii)&&window.requestAnimationFrame(vi(this,ii))}),window.requestAnimationFrame(vi(this,ii))},Ai=new WeakSet,Il=function(ss,os){const[ks,xs]=this.currentPath.at(-1);if(this.currentPath.length>1&&ss===ks&&os===xs)return;const Rs=this.currentPath;let ms=vi(this,ei);if(Rs.push([ss,os]),ds(this,Nn,!0),Rs.length<=2){ms.moveTo(...Rs[0]),ms.lineTo(ss,os);return}Rs.length===3&&(ds(this,ei,ms=new Path2D),ms.moveTo(...Rs[0])),Qi(this,Yn,Rh).call(this,ms,...Rs.at(-3),...Rs.at(-2),ss,os)},yi=new WeakSet,_h=function(){if(this.currentPath.length===0)return;const ss=this.currentPath.at(-1);vi(this,ei).lineTo(...ss)},xi=new WeakSet,Mh=function(ss,os){ds(this,ii,null),ss=Math.min(Math.max(ss,0),this.canvas.width),os=Math.min(Math.max(os,0),this.canvas.height),Qi(this,Ai,Il).call(this,ss,os),Qi(this,yi,_h).call(this);let ks;if(this.currentPath.length!==1)ks=Qi(this,bi,Lh).call(this);else{const ws=[ss,os];ks=[[ws,ws.slice(),ws.slice(),ws]]}const xs=vi(this,ei),Rs=this.currentPath;this.currentPath=[],ds(this,ei,new Path2D);const ms=()=>{this.allRawPaths.push(Rs),this.paths.push(ks),this.bezierPath2D.push(xs),this.rebuild()},Bs=()=>{this.allRawPaths.pop(),this.paths.pop(),this.bezierPath2D.pop(),this.paths.length===0?this.remove():(this.canvas||(Qi(this,Pi,bc).call(this),Qi(this,Si,yc).call(this)),Qi(this,Zi,$o).call(this))};this.addCommands({cmd:ms,undo:Bs,mustExec:!0})},ai=new WeakSet,Ph=function(){if(!vi(this,Nn))return;ds(this,Nn,!1);const ss=Math.ceil(this.thickness*this.parentScale),os=this.currentPath.slice(-3),ks=os.map(ms=>ms[0]),xs=os.map(ms=>ms[1]);Math.min(...ks)-ss,Math.max(...ks)+ss,Math.min(...xs)-ss,Math.max(...xs)+ss;const{ctx:Rs}=this;Rs.save(),Rs.clearRect(0,0,this.canvas.width,this.canvas.height);for(const ms of this.bezierPath2D)Rs.stroke(ms);Rs.stroke(vi(this,ei)),Rs.restore()},Yn=new WeakSet,Rh=function(ss,os,ks,xs,Rs,ms,Bs){const ws=(os+xs)/2,Ts=(ks+Rs)/2,Is=(xs+ms)/2,ls=(Rs+Bs)/2;ss.bezierCurveTo(ws+2*(xs-ws)/3,Ts+2*(Rs-Ts)/3,Is+2*(xs-Is)/3,ls+2*(Rs-ls)/3,Is,ls)},bi=new WeakSet,Lh=function(){const ss=this.currentPath;if(ss.length<=2)return[[ss[0],ss[0],ss.at(-1),ss.at(-1)]];const os=[];let ks,[xs,Rs]=ss[0];for(ks=1;ks<ss.length-2;ks++){const[Wi,Ji]=ss[ks],[cs,fs]=ss[ks+1],ps=(Wi+cs)/2,gs=(Ji+fs)/2,bs=[xs+2*(Wi-xs)/3,Rs+2*(Ji-Rs)/3],vs=[ps+2*(Wi-ps)/3,gs+2*(Ji-gs)/3];os.push([[xs,Rs],bs,vs,[ps,gs]]),[xs,Rs]=[ps,gs]}const[ms,Bs]=ss[ks],[ws,Ts]=ss[ks+1],Is=[xs+2*(ms-xs)/3,Rs+2*(Bs-Rs)/3],ls=[ws+2*(ms-ws)/3,Ts+2*(Bs-Ts)/3];return os.push([[xs,Rs],Is,ls,[ws,Ts]]),os},Fi=new WeakSet,Sr=function(){if(this.isEmpty()){Qi(this,Li,wc).call(this);return}Qi(this,mi,Fl).call(this);const{canvas:ss,ctx:os}=this;os.setTransform(1,0,0,1,0,0),os.clearRect(0,0,ss.width,ss.height),Qi(this,Li,wc).call(this);for(const ks of this.bezierPath2D)os.stroke(ks)},_i=new WeakSet,Ol=function(ss){this.canvas.removeEventListener("pointerleave",vi(this,Rn)),this.canvas.removeEventListener("pointermove",vi(this,Tn)),this.canvas.removeEventListener("pointerup",vi(this,ui)),this.canvas.addEventListener("pointerdown",vi(this,si)),setTimeout(()=>{this.canvas.removeEventListener("contextmenu",ti.noContextMenu)},10),Qi(this,xi,Mh).call(this,ss.offsetX,ss.offsetY),this.addToAnnotationStorage(),this.setInBackground()},Pi=new WeakSet,bc=function(){this.canvas=document.createElement("canvas"),this.canvas.width=this.canvas.height=0,this.canvas.className="inkEditorCanvas",oi.AnnotationEditor._l10nPromise.get("editor_ink_canvas_aria_label").then(ss=>{var os;return(os=this.canvas)==null?void 0:os.setAttribute("aria-label",ss)}),this.div.append(this.canvas),this.ctx=this.canvas.getContext("2d")},Si=new WeakSet,yc=function(){ds(this,On,new ResizeObserver(ss=>{const os=ss[0].contentRect;os.width&&os.height&&this.setDimensions(os.width,os.height)})),vi(this,On).observe(this.div)},Ri=new WeakSet,Bo=function(){if(!vi(this,Hn))return;const[ss,os]=this.parentDimensions;this.canvas.width=Math.ceil(this.width*ss),this.canvas.height=Math.ceil(this.height*os),Qi(this,Li,wc).call(this)},Ui=new WeakSet,_l=function(ss,os){const ks=Qi(this,Yi,Sc).call(this),xs=(ss-ks)/vi(this,Cn),Rs=(os-ks)/vi(this,jn);this.scaleFactor=Math.min(xs,Rs)},Li=new WeakSet,wc=function(){const ss=Qi(this,Yi,Sc).call(this)/2;this.ctx.setTransform(this.scaleFactor,0,0,this.scaleFactor,this.translationX*this.scaleFactor+ss,this.translationY*this.scaleFactor+ss)},$i=new WeakSet,Dh=function(ss){const os=new Path2D;for(let ks=0,xs=ss.length;ks<xs;ks++){const[Rs,ms,Bs,ws]=ss[ks];ks===0&&os.moveTo(...Rs),os.bezierCurveTo(ms[0],ms[1],Bs[0],Bs[1],ws[0],ws[1])}return os},Oi=new WeakSet,Ml=function(ss,os,ks){const[xs,Rs,ms,Bs]=os;switch(ks){case 0:for(let ws=0,Ts=ss.length;ws<Ts;ws+=2)ss[ws]+=xs,ss[ws+1]=Bs-ss[ws+1];break;case 90:for(let ws=0,Ts=ss.length;ws<Ts;ws+=2){const Is=ss[ws];ss[ws]=ss[ws+1]+xs,ss[ws+1]=Is+Rs}break;case 180:for(let ws=0,Ts=ss.length;ws<Ts;ws+=2)ss[ws]=ms-ss[ws],ss[ws+1]+=Rs;break;case 270:for(let ws=0,Ts=ss.length;ws<Ts;ws+=2){const Is=ss[ws];ss[ws]=ms-ss[ws+1],ss[ws+1]=Bs-Is}break;default:throw new Error("Invalid rotation")}return ss},Gi=new WeakSet,Nh=function(ss,os,ks){const[xs,Rs,ms,Bs]=os;switch(ks){case 0:for(let ws=0,Ts=ss.length;ws<Ts;ws+=2)ss[ws]-=xs,ss[ws+1]=Bs-ss[ws+1];break;case 90:for(let ws=0,Ts=ss.length;ws<Ts;ws+=2){const Is=ss[ws];ss[ws]=ss[ws+1]-Rs,ss[ws+1]=Is-xs}break;case 180:for(let ws=0,Ts=ss.length;ws<Ts;ws+=2)ss[ws]=ms-ss[ws],ss[ws+1]-=Rs;break;case 270:for(let ws=0,Ts=ss.length;ws<Ts;ws+=2){const Is=ss[ws];ss[ws]=Bs-ss[ws+1],ss[ws+1]=ms-Is}break;default:throw new Error("Invalid rotation")}return ss},ns=new WeakSet,Bh=function(ss,os,ks,xs){var Ts,Is;const Rs=[],ms=this.thickness/2,Bs=ss*os+ms,ws=ss*ks+ms;for(const ls of this.paths){const Wi=[],Ji=[];for(let cs=0,fs=ls.length;cs<fs;cs++){const[ps,gs,bs,vs]=ls[cs],_s=ss*ps[0]+Bs,Us=ss*ps[1]+ws,Ds=ss*gs[0]+Bs,Ms=ss*gs[1]+ws,js=ss*bs[0]+Bs,Vs=ss*bs[1]+ws,Ss=ss*vs[0]+Bs,As=ss*vs[1]+ws;cs===0&&(Wi.push(_s,Us),Ji.push(_s,Us)),Wi.push(Ds,Ms,js,Vs,Ss,As),Ji.push(Ds,Ms),cs===fs-1&&Ji.push(Ss,As)}Rs.push({bezier:Qi(Ts=ts,Oi,Ml).call(Ts,Wi,xs,this.rotation),points:Qi(Is=ts,Oi,Ml).call(Is,Ji,xs,this.rotation)})}return Rs},as=new WeakSet,Pl=function(){let ss=1/0,os=-1/0,ks=1/0,xs=-1/0;for(const Rs of this.paths)for(const[ms,Bs,ws,Ts]of Rs){const Is=Kn.Util.bezierBoundingBox(...ms,...Bs,...ws,...Ts);ss=Math.min(ss,Is[0]),ks=Math.min(ks,Is[1]),os=Math.max(os,Is[2]),xs=Math.max(xs,Is[3])}return[ss,ks,os,xs]},Yi=new WeakSet,Sc=function(){return vi(this,Bn)?Math.ceil(this.thickness*this.parentScale):0},Zi=new WeakSet,$o=function(ss=!1){if(this.isEmpty())return;if(!vi(this,Bn)){Qi(this,Fi,Sr).call(this);return}const os=Qi(this,as,Pl).call(this),ks=Qi(this,Yi,Sc).call(this);ds(this,Cn,Math.max(oi.AnnotationEditor.MIN_SIZE,os[2]-os[0])),ds(this,jn,Math.max(oi.AnnotationEditor.MIN_SIZE,os[3]-os[1]));const xs=Math.ceil(ks+vi(this,Cn)*this.scaleFactor),Rs=Math.ceil(ks+vi(this,jn)*this.scaleFactor),[ms,Bs]=this.parentDimensions;this.width=xs/ms,this.height=Rs/Bs,this.setAspectRatio(xs,Rs);const ws=this.translationX,Ts=this.translationY;this.translationX=-os[0],this.translationY=-os[1],Qi(this,Ri,Bo).call(this),Qi(this,Fi,Sr).call(this),ds(this,hi,xs),ds(this,Xn,Rs),this.setDims(xs,Rs);const Is=ss?ks/this.scaleFactor/2:0;this.translate(ws-this.translationX-Is,Ts-this.translationY-Is)},Ki(ts,$i),Ki(ts,Oi),Ki(ts,Gi),ta(ts,"_defaultColor",null),ta(ts,"_defaultOpacity",1),ta(ts,"_defaultThickness",1),ta(ts,"_type","ink");let Ln=ts;$n.InkEditor=Ln},(ki,$n,Pn)=>{var Ln,jn,Cn,Tn,Rn,ui,si,ei,Bn,Nn,Hn,P0,hi,R0,ii,Ac,di,Rl,wi,$h,pi,Uh,Gn,Ll,Wn,vc,li,jh;Object.defineProperty($n,"__esModule",{value:!0}),$n.StampEditor=void 0;var Kn=Pn(1),oi=Pn(4),Mn=Pn(6),ti=Pn(29);const gi=class gi extends oi.AnnotationEditor{constructor(xi){super({...xi,name:"stampEditor"});Ki(this,Hn);Ki(this,hi);Ki(this,ii);Ki(this,di);Ki(this,wi);Ki(this,pi);Ki(this,Gn);Ki(this,Wn);Ki(this,li);Ki(this,Ln,null);Ki(this,jn,null);Ki(this,Cn,null);Ki(this,Tn,null);Ki(this,Rn,null);Ki(this,ui,null);Ki(this,si,null);Ki(this,ei,null);Ki(this,Bn,!1);Ki(this,Nn,!1);ds(this,Tn,xi.bitmapUrl),ds(this,Rn,xi.bitmapFile)}static initialize(xi){oi.AnnotationEditor.initialize(xi)}static get supportedTypes(){const xi=["apng","avif","bmp","gif","jpeg","png","svg+xml","webp","x-icon"];return(0,Kn.shadow)(this,"supportedTypes",xi.map(Qn=>`image/${Qn}`))}static get supportedTypesStr(){return(0,Kn.shadow)(this,"supportedTypesStr",this.supportedTypes.join(","))}static isHandlingMimeForPasting(xi){return this.supportedTypes.includes(xi)}static paste(xi,Qn){Qn.pasteEditor(Kn.AnnotationEditorType.STAMP,{bitmapFile:xi.getAsFile()})}remove(){var xi,Qn;vi(this,jn)&&(ds(this,Ln,null),this._uiManager.imageManager.deleteId(vi(this,jn)),(xi=vi(this,ui))==null||xi.remove(),ds(this,ui,null),(Qn=vi(this,si))==null||Qn.disconnect(),ds(this,si,null)),super.remove()}rebuild(){if(!this.parent){vi(this,jn)&&Qi(this,ii,Ac).call(this);return}super.rebuild(),this.div!==null&&(vi(this,jn)&&Qi(this,ii,Ac).call(this),this.isAttachedToDOM||this.parent.add(this))}onceAdded(){this._isDraggable=!0,this.div.focus()}isEmpty(){return!(vi(this,Cn)||vi(this,Ln)||vi(this,Tn)||vi(this,Rn))}get isResizable(){return!0}render(){if(this.div)return this.div;let xi,Qn;if(this.width&&(xi=this.x,Qn=this.y),super.render(),this.div.hidden=!0,vi(this,Ln)?Qi(this,di,Rl).call(this):Qi(this,ii,Ac).call(this),this.width){const[ai,Vn]=this.parentDimensions;this.setAt(xi*ai,Qn*Vn,this.width*ai,this.height*Vn)}return this.div}static deserialize(xi,Qn,ai){if(xi instanceof ti.StampAnnotationElement)return null;const Vn=super.deserialize(xi,Qn,ai),{rect:Yn,bitmapUrl:ci,bitmapId:bi,isSvg:Ci,accessibilityData:Fi}=xi;bi&&ai.imageManager.isValidId(bi)?ds(Vn,jn,bi):ds(Vn,Tn,ci),ds(Vn,Bn,Ci);const[zi,_i]=Vn.pageDimensions;return Vn.width=(Yn[2]-Yn[0])/zi,Vn.height=(Yn[3]-Yn[1])/_i,Fi&&(Vn.altTextData=Fi),Vn}serialize(xi=!1,Qn=null){if(this.isEmpty())return null;const ai={annotationType:Kn.AnnotationEditorType.STAMP,bitmapId:vi(this,jn),pageIndex:this.pageIndex,rect:this.getRect(0,0),rotation:this.rotation,isSvg:vi(this,Bn),structTreeParentId:this._structTreeParentId};if(xi)return ai.bitmapUrl=Qi(this,Wn,vc).call(this,!0),ai.accessibilityData=this.altTextData,ai;const{decorative:Vn,altText:Yn}=this.altTextData;if(!Vn&&Yn&&(ai.accessibilityData={type:"Figure",alt:Yn}),Qn===null)return ai;Qn.stamps||(Qn.stamps=new Map);const ci=vi(this,Bn)?(ai.rect[2]-ai.rect[0])*(ai.rect[3]-ai.rect[1]):null;if(!Qn.stamps.has(vi(this,jn)))Qn.stamps.set(vi(this,jn),{area:ci,serialized:ai}),ai.bitmap=Qi(this,Wn,vc).call(this,!1);else if(vi(this,Bn)){const bi=Qn.stamps.get(vi(this,jn));ci>bi.area&&(bi.area=ci,bi.serialized.bitmap.close(),bi.serialized.bitmap=Qi(this,Wn,vc).call(this,!1))}return ai}};Ln=new WeakMap,jn=new WeakMap,Cn=new WeakMap,Tn=new WeakMap,Rn=new WeakMap,ui=new WeakMap,si=new WeakMap,ei=new WeakMap,Bn=new WeakMap,Nn=new WeakMap,Hn=new WeakSet,P0=function(xi,Qn=!1){if(!xi){this.remove();return}ds(this,Ln,xi.bitmap),Qn||(ds(this,jn,xi.id),ds(this,Bn,xi.isSvg)),Qi(this,di,Rl).call(this)},hi=new WeakSet,R0=function(){ds(this,Cn,null),this._uiManager.enableWaiting(!1),vi(this,ui)&&this.div.focus()},ii=new WeakSet,Ac=function(){if(vi(this,jn)){this._uiManager.enableWaiting(!0),this._uiManager.imageManager.getFromId(vi(this,jn)).then(Qn=>Qi(this,Hn,P0).call(this,Qn,!0)).finally(()=>Qi(this,hi,R0).call(this));return}if(vi(this,Tn)){const Qn=vi(this,Tn);ds(this,Tn,null),this._uiManager.enableWaiting(!0),ds(this,Cn,this._uiManager.imageManager.getFromUrl(Qn).then(ai=>Qi(this,Hn,P0).call(this,ai)).finally(()=>Qi(this,hi,R0).call(this)));return}if(vi(this,Rn)){const Qn=vi(this,Rn);ds(this,Rn,null),this._uiManager.enableWaiting(!0),ds(this,Cn,this._uiManager.imageManager.getFromFile(Qn).then(ai=>Qi(this,Hn,P0).call(this,ai)).finally(()=>Qi(this,hi,R0).call(this)));return}const xi=document.createElement("input");xi.type="file",xi.accept=gi.supportedTypesStr,ds(this,Cn,new Promise(Qn=>{xi.addEventListener("change",async()=>{if(!xi.files||xi.files.length===0)this.remove();else{this._uiManager.enableWaiting(!0);const ai=await this._uiManager.imageManager.getFromFile(xi.files[0]);Qi(this,Hn,P0).call(this,ai)}Qn()}),xi.addEventListener("cancel",()=>{this.remove(),Qn()})}).finally(()=>Qi(this,hi,R0).call(this))),xi.click()},di=new WeakSet,Rl=function(){const{div:xi}=this;let{width:Qn,height:ai}=vi(this,Ln);const[Vn,Yn]=this.pageDimensions,ci=.75;if(this.width)Qn=this.width*Vn,ai=this.height*Yn;else if(Qn>ci*Vn||ai>ci*Yn){const zi=Math.min(ci*Vn/Qn,ci*Yn/ai);Qn*=zi,ai*=zi}const[bi,Ci]=this.parentDimensions;this.setDims(Qn*bi/Vn,ai*Ci/Yn),this._uiManager.enableWaiting(!1);const Fi=ds(this,ui,document.createElement("canvas"));xi.append(Fi),xi.hidden=!1,Qi(this,Gn,Ll).call(this,Qn,ai),Qi(this,li,jh).call(this),vi(this,Nn)||(this.parent.addUndoableEditor(this),ds(this,Nn,!0)),this._uiManager._eventBus.dispatch("reporttelemetry",{source:this,details:{type:"editing",subtype:this.editorType,data:{action:"inserted_image"}}}),this.addAltTextButton()},wi=new WeakSet,$h=function(xi,Qn){var ci;const[ai,Vn]=this.parentDimensions;this.width=xi/ai,this.height=Qn/Vn,this.setDims(xi,Qn),(ci=this._initialOptions)!=null&&ci.isCentered?this.center():this.fixAndSetPosition(),this._initialOptions=null,vi(this,ei)!==null&&clearTimeout(vi(this,ei)),ds(this,ei,setTimeout(()=>{ds(this,ei,null),Qi(this,Gn,Ll).call(this,xi,Qn)},200))},pi=new WeakSet,Uh=function(xi,Qn){const{width:ai,height:Vn}=vi(this,Ln);let Yn=ai,ci=Vn,bi=vi(this,Ln);for(;Yn>2*xi||ci>2*Qn;){const Ci=Yn,Fi=ci;Yn>2*xi&&(Yn=Yn>=16384?Math.floor(Yn/2)-1:Math.ceil(Yn/2)),ci>2*Qn&&(ci=ci>=16384?Math.floor(ci/2)-1:Math.ceil(ci/2));const zi=new OffscreenCanvas(Yn,ci);zi.getContext("2d").drawImage(bi,0,0,Ci,Fi,0,0,Yn,ci),bi=zi.transferToImageBitmap()}return bi},Gn=new WeakSet,Ll=function(xi,Qn){xi=Math.ceil(xi),Qn=Math.ceil(Qn);const ai=vi(this,ui);if(!ai||ai.width===xi&&ai.height===Qn)return;ai.width=xi,ai.height=Qn;const Vn=vi(this,Bn)?vi(this,Ln):Qi(this,pi,Uh).call(this,xi,Qn),Yn=ai.getContext("2d");Yn.filter=this._uiManager.hcmFilter,Yn.drawImage(Vn,0,0,Vn.width,Vn.height,0,0,xi,Qn)},Wn=new WeakSet,vc=function(xi){if(xi){if(vi(this,Bn)){const Vn=this._uiManager.imageManager.getSvgUrl(vi(this,jn));if(Vn)return Vn}const Qn=document.createElement("canvas");return{width:Qn.width,height:Qn.height}=vi(this,Ln),Qn.getContext("2d").drawImage(vi(this,Ln),0,0),Qn.toDataURL()}if(vi(this,Bn)){const[Qn,ai]=this.pageDimensions,Vn=Math.round(this.width*Qn*Mn.PixelsPerInch.PDF_TO_CSS_UNITS),Yn=Math.round(this.height*ai*Mn.PixelsPerInch.PDF_TO_CSS_UNITS),ci=new OffscreenCanvas(Vn,Yn);return ci.getContext("2d").drawImage(vi(this,Ln),0,0,vi(this,Ln).width,vi(this,Ln).height,0,0,Vn,Yn),ci.transferToImageBitmap()}return structuredClone(vi(this,Ln))},li=new WeakSet,jh=function(){ds(this,si,new ResizeObserver(xi=>{const Qn=xi[0].contentRect;Qn.width&&Qn.height&&Qi(this,wi,$h).call(this,Qn.width,Qn.height)})),vi(this,si).observe(this.div)},ta(gi,"_type","stamp");let In=gi;$n.StampEditor=In}],__webpack_module_cache__={};function __w_pdfjs_require__(ki){var $n=__webpack_module_cache__[ki];if($n!==void 0)return $n.exports;var Pn=__webpack_module_cache__[ki]={exports:{}};return __webpack_modules__[ki](Pn,Pn.exports,__w_pdfjs_require__),Pn.exports}var __webpack_exports__={};return(()=>{var ki=__webpack_exports__;Object.defineProperty(ki,"__esModule",{value:!0}),Object.defineProperty(ki,"AbortException",{enumerable:!0,get:function(){return $n.AbortException}}),Object.defineProperty(ki,"AnnotationEditorLayer",{enumerable:!0,get:function(){return Mn.AnnotationEditorLayer}}),Object.defineProperty(ki,"AnnotationEditorParamsType",{enumerable:!0,get:function(){return $n.AnnotationEditorParamsType}}),Object.defineProperty(ki,"AnnotationEditorType",{enumerable:!0,get:function(){return $n.AnnotationEditorType}}),Object.defineProperty(ki,"AnnotationEditorUIManager",{enumerable:!0,get:function(){return ti.AnnotationEditorUIManager}}),Object.defineProperty(ki,"AnnotationLayer",{enumerable:!0,get:function(){return In.AnnotationLayer}}),Object.defineProperty(ki,"AnnotationMode",{enumerable:!0,get:function(){return $n.AnnotationMode}}),Object.defineProperty(ki,"CMapCompressionType",{enumerable:!0,get:function(){return $n.CMapCompressionType}}),Object.defineProperty(ki,"DOMSVGFactory",{enumerable:!0,get:function(){return Kn.DOMSVGFactory}}),Object.defineProperty(ki,"FeatureTest",{enumerable:!0,get:function(){return $n.FeatureTest}}),Object.defineProperty(ki,"GlobalWorkerOptions",{enumerable:!0,get:function(){return Ln.GlobalWorkerOptions}}),Object.defineProperty(ki,"ImageKind",{enumerable:!0,get:function(){return $n.ImageKind}}),Object.defineProperty(ki,"InvalidPDFException",{enumerable:!0,get:function(){return $n.InvalidPDFException}}),Object.defineProperty(ki,"MissingPDFException",{enumerable:!0,get:function(){return $n.MissingPDFException}}),Object.defineProperty(ki,"OPS",{enumerable:!0,get:function(){return $n.OPS}}),Object.defineProperty(ki,"PDFDataRangeTransport",{enumerable:!0,get:function(){return Pn.PDFDataRangeTransport}}),Object.defineProperty(ki,"PDFDateString",{enumerable:!0,get:function(){return Kn.PDFDateString}}),Object.defineProperty(ki,"PDFWorker",{enumerable:!0,get:function(){return Pn.PDFWorker}}),Object.defineProperty(ki,"PasswordResponses",{enumerable:!0,get:function(){return $n.PasswordResponses}}),Object.defineProperty(ki,"PermissionFlag",{enumerable:!0,get:function(){return $n.PermissionFlag}}),Object.defineProperty(ki,"PixelsPerInch",{enumerable:!0,get:function(){return Kn.PixelsPerInch}}),Object.defineProperty(ki,"PromiseCapability",{enumerable:!0,get:function(){return $n.PromiseCapability}}),Object.defineProperty(ki,"RenderingCancelledException",{enumerable:!0,get:function(){return Kn.RenderingCancelledException}}),Object.defineProperty(ki,"SVGGraphics",{enumerable:!0,get:function(){return Pn.SVGGraphics}}),Object.defineProperty(ki,"UnexpectedResponseException",{enumerable:!0,get:function(){return $n.UnexpectedResponseException}}),Object.defineProperty(ki,"Util",{enumerable:!0,get:function(){return $n.Util}}),Object.defineProperty(ki,"VerbosityLevel",{enumerable:!0,get:function(){return $n.VerbosityLevel}}),Object.defineProperty(ki,"XfaLayer",{enumerable:!0,get:function(){return jn.XfaLayer}}),Object.defineProperty(ki,"build",{enumerable:!0,get:function(){return Pn.build}}),Object.defineProperty(ki,"createValidAbsoluteUrl",{enumerable:!0,get:function(){return $n.createValidAbsoluteUrl}}),Object.defineProperty(ki,"getDocument",{enumerable:!0,get:function(){return Pn.getDocument}}),Object.defineProperty(ki,"getFilenameFromUrl",{enumerable:!0,get:function(){return Kn.getFilenameFromUrl}}),Object.defineProperty(ki,"getPdfFilenameFromUrl",{enumerable:!0,get:function(){return Kn.getPdfFilenameFromUrl}}),Object.defineProperty(ki,"getXfaPageViewport",{enumerable:!0,get:function(){return Kn.getXfaPageViewport}}),Object.defineProperty(ki,"isDataScheme",{enumerable:!0,get:function(){return Kn.isDataScheme}}),Object.defineProperty(ki,"isPdfFile",{enumerable:!0,get:function(){return Kn.isPdfFile}}),Object.defineProperty(ki,"loadScript",{enumerable:!0,get:function(){return Kn.loadScript}}),Object.defineProperty(ki,"noContextMenu",{enumerable:!0,get:function(){return Kn.noContextMenu}}),Object.defineProperty(ki,"normalizeUnicode",{enumerable:!0,get:function(){return $n.normalizeUnicode}}),Object.defineProperty(ki,"renderTextLayer",{enumerable:!0,get:function(){return oi.renderTextLayer}}),Object.defineProperty(ki,"setLayerDimensions",{enumerable:!0,get:function(){return Kn.setLayerDimensions}}),Object.defineProperty(ki,"shadow",{enumerable:!0,get:function(){return $n.shadow}}),Object.defineProperty(ki,"updateTextLayer",{enumerable:!0,get:function(){return oi.updateTextLayer}}),Object.defineProperty(ki,"version",{enumerable:!0,get:function(){return Pn.version}});var $n=__w_pdfjs_require__(1),Pn=__w_pdfjs_require__(2),Kn=__w_pdfjs_require__(6),oi=__w_pdfjs_require__(26),Mn=__w_pdfjs_require__(27),ti=__w_pdfjs_require__(5),In=__w_pdfjs_require__(29),Ln=__w_pdfjs_require__(14),jn=__w_pdfjs_require__(32)})(),__webpack_exports__})());const findIndices=(ki,$n)=>ki.map((Pn,Kn,oi)=>$n(Pn,Kn,oi)?Kn:null).filter(Pn=>Pn!=null),splitAt=(ki,$n)=>[-1,...$n,ki.length].reduce(({xs:Pn,a:Kn},oi)=>({xs:(Pn==null?void 0:Pn.concat([ki.slice(Kn+1,oi)]))??[],a:oi}),{}).xs,concatArrays=(ki,$n)=>ki.slice(0,-1).concat([ki[ki.length-1].concat($n[0])]).concat($n.slice(1)),isNumber=/\d/,isCFI=/^epubcfi\((.*)\)$/,escapeCFI=ki=>ki.replace(/[\^[\](),;=]/g,"^$&"),wrap=ki=>isCFI.test(ki)?ki:`epubcfi(${ki})`,unwrap=ki=>{var $n;return(($n=ki.match(isCFI))==null?void 0:$n[1])??ki},lift=ki=>(...$n)=>`epubcfi(${ki(...$n.map(Pn=>{var Kn;return((Kn=Pn.match(isCFI))==null?void 0:Kn[1])??Pn}))})`,joinIndir=lift((...ki)=>ki.join("!")),tokenizer=ki=>{const $n=[];let Pn,Kn,oi="";const Mn=In=>($n.push(In),Pn=null,oi=""),ti=In=>(oi+=In,Kn=!1);for(const In of Array.from(ki.trim()).concat("")){if(In==="^"&&!Kn){Kn=!0;continue}if(Pn==="!")Mn(["!"]);else if(Pn===",")Mn([","]);else if(Pn==="/"||Pn===":")if(isNumber.test(In)){ti(In);continue}else Mn([Pn,parseInt(oi)]);else if(Pn==="~")if(isNumber.test(In)||In==="."){ti(In);continue}else Mn(["~",parseFloat(oi)]);else if(Pn==="@"){if(In===":"){Mn(["@",parseFloat(oi)]),Pn="@";continue}if(isNumber.test(In)||In==="."){ti(In);continue}else Mn(["@",parseFloat(oi)])}else if(Pn==="["){In===";"&&!Kn?(Mn(["[",oi]),Pn=";"):In===","&&!Kn?(Mn(["[",oi]),Pn="["):In==="]"&&!Kn?Mn(["[",oi]):ti(In);continue}else if(Pn!=null&&Pn.startsWith(";")){In==="="&&!Kn?(Pn=`;${oi}`,oi=""):In===";"&&!Kn?(Mn([Pn,oi]),Pn=";"):In==="]"&&!Kn?Mn([Pn,oi]):ti(In);continue}(In==="/"||In===":"||In==="~"||In==="@"||In==="["||In==="!"||In===",")&&(Pn=In)}return $n},findTokens=(ki,$n)=>findIndices(ki,([Pn])=>Pn===$n),parser=ki=>{const $n=[];let Pn;for(const[Kn,oi]of ki){if(Kn==="/")$n.push({index:oi});else{const Mn=$n[$n.length-1];if(Kn===":")Mn.offset=oi;else if(Kn==="~")Mn.temporal=oi;else if(Kn==="@")Mn.spatial=(Mn.spatial??[]).concat(oi);else if(Kn===";s")Mn.side=oi;else if(Kn==="[")if(Pn==="/"&&oi)Mn.id=oi;else{Mn.text=(Mn.text??[]).concat(oi);continue}}Pn=Kn}return $n},parserIndir=ki=>splitAt(ki,findTokens(ki,"!")).map(parser),parse=ki=>{const $n=tokenizer(unwrap(ki)),Pn=findTokens($n,",");if(!Pn.length)return parserIndir($n);const[Kn,oi,Mn]=splitAt($n,Pn).map(parserIndir);return{parent:Kn,start:oi,end:Mn}},partToString=({index:ki,id:$n,offset:Pn,temporal:Kn,spatial:oi,text:Mn,side:ti})=>{var Ln;const In=ti?`;s=${ti}`:"";return`/${ki}`+($n?`[${escapeCFI($n)}${In}]`:"")+(Pn!=null&&ki%2?`:${Pn}`:"")+(Kn?`~${Kn}`:"")+(oi?`@${oi.join(":")}`:"")+(Mn||!$n&&ti?"["+(((Ln=Mn==null?void 0:Mn.map(escapeCFI))==null?void 0:Ln.join(","))??"")+In+"]":"")},toInnerString=ki=>ki.parent?[ki.parent,ki.start,ki.end].map(toInnerString).join(","):ki.map($n=>$n.map(partToString).join("")).join("!"),toString=ki=>wrap(toInnerString(ki)),collapse=(ki,$n)=>typeof ki=="string"?toString(collapse(parse(ki),$n)):ki.parent?concatArrays(ki.parent,ki[$n?"end":"start"]):ki,buildRange=(ki,$n)=>{typeof ki=="string"&&(ki=parse(ki)),typeof $n=="string"&&($n=parse($n)),ki=collapse(ki),$n=collapse($n,!0);const Pn=ki[ki.length-1],Kn=$n[$n.length-1],oi=[],Mn=[],ti=[];let In=!0;const Ln=Math.max(Pn.length,Kn.length);for(let Cn=0;Cn<Ln;Cn++){const Tn=Pn[Cn],Rn=Kn[Cn];In&&(In=(Tn==null?void 0:Tn.index)===(Rn==null?void 0:Rn.index)&&!(Tn!=null&&Tn.offset)&&!(Rn!=null&&Rn.offset)),In?oi.push(Tn):(Tn&&Mn.push(Tn),Rn&&ti.push(Rn))}const jn=ki.slice(0,-1).concat([oi]);return toString({parent:jn,start:[Mn],end:[ti]})},isTextNode=({nodeType:ki})=>ki===3||ki===4,isElementNode=({nodeType:ki})=>ki===1,getChildNodes=(ki,$n)=>{const Pn=Array.from(ki.childNodes).filter(Kn=>isTextNode(Kn)||isElementNode(Kn));return $n?Pn.map(Kn=>{const oi=$n(Kn);return oi===NodeFilter.FILTER_REJECT?null:oi===NodeFilter.FILTER_SKIP?getChildNodes(Kn,$n):Kn}).flat().filter(Kn=>Kn):Pn},indexChildNodes=(ki,$n)=>{const Pn=getChildNodes(ki,$n).reduce((Kn,oi)=>{let Mn=Kn[Kn.length-1];return Mn?isTextNode(oi)?Array.isArray(Mn)?Mn.push(oi):isTextNode(Mn)?Kn[Kn.length-1]=[Mn,oi]:Kn.push(oi):isElementNode(Mn)?Kn.push(null,oi):Kn.push(oi):Kn.push(oi),Kn},[]);return isElementNode(Pn[0])&&Pn.unshift("first"),isElementNode(Pn[Pn.length-1])&&Pn.push("last"),Pn.unshift("before"),Pn.push("after"),Pn},partsToNode=(ki,$n,Pn)=>{const{id:Kn}=$n[$n.length-1];if(Kn){const ti=ki.ownerDocument.getElementById(Kn);if(ti)return{node:ti,offset:0}}for(const{index:ti}of $n){const In=ki?indexChildNodes(ki,Pn)[ti]:null;if(In==="first")return{node:ki.firstChild??ki};if(In==="last")return{node:ki.lastChild??ki};if(In==="before")return{node:ki,before:!0};if(In==="after")return{node:ki,after:!0};ki=In}const{offset:oi}=$n[$n.length-1];if(!Array.isArray(ki))return{node:ki,offset:oi};let Mn=0;for(const ti of ki){const{length:In}=ti.nodeValue;if(Mn+In>=oi)return{node:ti,offset:oi-Mn};Mn+=In}},nodeToParts=(ki,$n,Pn)=>{const{parentNode:Kn,id:oi}=ki,Mn=indexChildNodes(Kn,Pn),ti=Mn.findIndex(jn=>Array.isArray(jn)?jn.some(Cn=>Cn===ki):jn===ki),In=Mn[ti];if(Array.isArray(In)){let jn=0;for(const Cn of In)if(Cn===ki){jn+=$n;break}else jn+=Cn.nodeValue.length;$n=jn}const Ln={id:oi,index:ti,offset:$n};return(Kn!==ki.ownerDocument.documentElement?nodeToParts(Kn,null,Pn).concat(Ln):[Ln]).filter(jn=>jn.index!==-1)},fromRange=(ki,$n)=>{const{startContainer:Pn,startOffset:Kn,endContainer:oi,endOffset:Mn}=ki,ti=nodeToParts(Pn,Kn,$n);if(ki.collapsed)return toString([ti]);const In=nodeToParts(oi,Mn,$n);return buildRange([ti],[In])},toRange=(ki,$n,Pn)=>{const Kn=collapse($n),oi=collapse($n,!0),Mn=ki.documentElement,ti=partsToNode(Mn,Kn[0],Pn),In=partsToNode(Mn,oi[0],Pn),Ln=ki.createRange();return ti.before?Ln.setStartBefore(ti.node):ti.after?Ln.setStartAfter(ti.node):Ln.setStart(ti.node,ti.offset),In.before?Ln.setEndBefore(In.node):In.after?Ln.setEndAfter(In.node):Ln.setEnd(In.node,In.offset),Ln},fromElements=ki=>{const $n=[],{parentNode:Pn}=ki[0],Kn=nodeToParts(Pn);for(const[oi,Mn]of indexChildNodes(Pn).entries()){const ti=ki[$n.length];Mn===ti&&$n.push(toString([Kn.concat({id:ti.id,index:oi})]))}return $n},toElement=(ki,$n)=>partsToNode(ki.documentElement,collapse($n)).node,fake={fromIndex:ki=>wrap(`/6/${(ki+1)*2}`),toIndex:ki=>(ki==null?void 0:ki.at(-1).index)/2-1},assignIDs=ki=>{let $n=0;const Pn=Kn=>{if(Kn.id=$n++,Kn.subitems)for(const oi of Kn.subitems)Pn(oi)};for(const Kn of ki)Pn(Kn);return ki},flatten=ki=>ki.map($n=>{var Pn;return(Pn=$n.subitems)!=null&&Pn.length?[$n,flatten($n.subitems)].flat():$n}).flat();class TOCProgress{async init({toc:$n,ids:Pn,splitHref:Kn,getFragment:oi}){assignIDs($n);const Mn=flatten($n),ti=new Map;for(const[Ln,jn]of Mn.entries()){const[Cn,Tn]=await Kn(jn==null?void 0:jn.href)??[],Rn={fragment:Tn,item:jn};ti.has(Cn)?ti.get(Cn).items.push(Rn):ti.set(Cn,{prev:Mn[Ln-1],items:[Rn]})}const In=new Map;for(const[Ln,jn]of Pn.entries())ti.has(jn)?In.set(jn,ti.get(jn)):In.set(jn,In.get(Pn[Ln-1]));this.ids=Pn,this.map=In,this.getFragment=oi}getProgress($n,Pn){var Ln;if(!this.ids)return;const Kn=this.ids[$n],oi=this.map.get(Kn);if(!oi)return null;const{prev:Mn,items:ti}=oi;if(!ti)return Mn;if(!Pn||ti.length===1&&!ti[0].fragment)return ti[0].item;const In=Pn.startContainer.getRootNode();for(const[jn,{fragment:Cn}]of ti.entries()){const Tn=this.getFragment(In,Cn);if(Tn&&Pn.comparePoint(Tn,0)>0)return((Ln=ti[jn-1])==null?void 0:Ln.item)??Mn}return ti[ti.length-1].item}}class SectionProgress{constructor($n,Pn,Kn){Ki(this,da);this.sizes=$n.map(oi=>oi.linear!="no"&&oi.size>0?oi.size:0),this.sizePerLoc=Pn,this.sizePerTimeUnit=Kn,this.sizeTotal=this.sizes.reduce((oi,Mn)=>oi+Mn,0),this.sectionFractions=Qi(this,da,Hh).call(this)}getProgress($n,Pn,Kn=0){const{sizes:oi,sizePerLoc:Mn,sizePerTimeUnit:ti,sizeTotal:In}=this,Ln=oi[$n]??0,Cn=oi.slice(0,$n).reduce((si,ei)=>si+ei,0)+Pn*Ln,Tn=Cn+Kn*Ln,Rn=In-Cn,ui=(1-Pn)*Ln;return{fraction:Tn/In,section:{current:$n,total:oi.length},location:{current:Math.floor(Cn/Mn),next:Math.floor(Tn/Mn),total:Math.ceil(In/Mn)},time:{section:ui/ti,total:Rn/ti}}}getSection($n){if($n<=0)return[0,0];if($n>=1)return[this.sizes.length-1,1];$n=$n+Number.EPSILON;const{sizeTotal:Pn}=this;let Kn=this.sectionFractions.findIndex(Mn=>Mn>$n)-1;if(Kn<0)return[0,0];for(;!this.sizes[Kn];)Kn++;const oi=($n-this.sectionFractions[Kn])/(this.sizes[Kn]/Pn);return[Kn,oi]}}da=new WeakSet,Hh=function(){const{sizeTotal:$n}=this,Pn=[0];let Kn=0;for(const oi of this.sizes)Pn.push((Kn+=oi)/$n);return Pn};const createSVGElement=ki=>document.createElementNS("http://www.w3.org/2000/svg",ki);class Overlayer{constructor(){Ki(this,pa,createSVGElement("svg"));Ki(this,_a,new Map);Object.assign(vi(this,pa).style,{position:"absolute",top:"0",left:"0",width:"100%",height:"100%",pointerEvents:"none"})}get element(){return vi(this,pa)}add($n,Pn,Kn,oi){vi(this,_a).has($n)&&this.remove($n),typeof Pn=="function"&&(Pn=Pn(vi(this,pa).getRootNode()));const Mn=Pn.getClientRects(),ti=Kn(Mn,oi);vi(this,pa).append(ti),vi(this,_a).set($n,{range:Pn,draw:Kn,options:oi,element:ti,rects:Mn})}remove($n){vi(this,_a).has($n)&&(vi(this,pa).removeChild(vi(this,_a).get($n).element),vi(this,_a).delete($n))}redraw(){for(const $n of vi(this,_a).values()){const{range:Pn,draw:Kn,options:oi,element:Mn}=$n;vi(this,pa).removeChild(Mn);const ti=Pn.getClientRects(),In=Kn(ti,oi);vi(this,pa).append(In),$n.element=In,$n.rects=ti}}hitTest({x:$n,y:Pn}){const Kn=Array.from(vi(this,_a).entries());for(let oi=Kn.length-1;oi>=0;oi--){const[Mn,ti]=Kn[oi];for(const{left:In,top:Ln,right:jn,bottom:Cn}of ti.rects)if(Ln<=Pn&&In<=$n&&Cn>Pn&&jn>$n)return[Mn,ti.range]}return[]}static underline($n,Pn={}){const{color:Kn="red",width:oi=2,writingMode:Mn}=Pn,ti=createSVGElement("g");if(ti.setAttribute("fill",Kn),Mn==="vertical-rl"||Mn==="vertical-lr")for(const{right:In,top:Ln,height:jn}of $n){const Cn=createSVGElement("rect");Cn.setAttribute("x",In-oi),Cn.setAttribute("y",Ln),Cn.setAttribute("height",jn),Cn.setAttribute("width",oi),ti.append(Cn)}else for(const{left:In,bottom:Ln,width:jn}of $n){const Cn=createSVGElement("rect");Cn.setAttribute("x",In),Cn.setAttribute("y",Ln-oi),Cn.setAttribute("height",oi),Cn.setAttribute("width",jn),ti.append(Cn)}return ti}static strikethrough($n,Pn={}){const{color:Kn="red",width:oi=2,writingMode:Mn}=Pn,ti=createSVGElement("g");if(ti.setAttribute("fill",Kn),Mn==="vertical-rl"||Mn==="vertical-lr")for(const{right:In,left:Ln,top:jn,height:Cn}of $n){const Tn=createSVGElement("rect");Tn.setAttribute("x",(In+Ln)/2),Tn.setAttribute("y",jn),Tn.setAttribute("height",Cn),Tn.setAttribute("width",oi),ti.append(Tn)}else for(const{left:In,top:Ln,bottom:jn,width:Cn}of $n){const Tn=createSVGElement("rect");Tn.setAttribute("x",In),Tn.setAttribute("y",(Ln+jn)/2),Tn.setAttribute("height",oi),Tn.setAttribute("width",Cn),ti.append(Tn)}return ti}static squiggly($n,Pn={}){const{color:Kn="red",width:oi=2,writingMode:Mn}=Pn,ti=createSVGElement("g");ti.setAttribute("fill","none"),ti.setAttribute("stroke",Kn),ti.setAttribute("stroke-width",oi);const In=oi*1.5;if(Mn==="vertical-rl"||Mn==="vertical-lr")for(const{right:Ln,top:jn,height:Cn}of $n){const Tn=createSVGElement("path"),Rn=Math.round(Cn/In/1.5),ui=Cn/Rn,si=Array.from({length:Rn},(ei,Bn)=>`l${Bn%2?-In:In} ${ui}`).join("");Tn.setAttribute("d",`M${Ln} ${jn}${si}`),ti.append(Tn)}else for(const{left:Ln,bottom:jn,width:Cn}of $n){const Tn=createSVGElement("path"),Rn=Math.round(Cn/In/1.5),ui=Cn/Rn,si=Array.from({length:Rn},(ei,Bn)=>`l${ui} ${Bn%2?In:-In}`).join("");Tn.setAttribute("d",`M${Ln} ${jn}${si}`),ti.append(Tn)}return ti}static highlight($n,Pn={}){const{color:Kn="red"}=Pn,oi=createSVGElement("g");oi.setAttribute("fill",Kn),oi.style.opacity="var(--overlayer-highlight-opacity, .3)",oi.style.mixBlendMode="var(--overlayer-highlight-blend-mode, normal)";for(const{left:Mn,top:ti,height:In,width:Ln}of $n){const jn=createSVGElement("rect");jn.setAttribute("x",Mn),jn.setAttribute("y",ti),jn.setAttribute("height",In),jn.setAttribute("width",Ln),oi.append(jn)}return oi}static outline($n,Pn={}){const{color:Kn="red",width:oi=3,radius:Mn=3}=Pn,ti=createSVGElement("g");ti.setAttribute("fill","none"),ti.setAttribute("stroke",Kn),ti.setAttribute("stroke-width",oi);for(const{left:In,top:Ln,height:jn,width:Cn}of $n){const Tn=createSVGElement("rect");Tn.setAttribute("x",In),Tn.setAttribute("y",Ln),Tn.setAttribute("height",jn),Tn.setAttribute("width",Cn),Tn.setAttribute("rx",Mn),ti.append(Tn)}return ti}static copyImage([$n],Pn={}){const{src:Kn}=Pn,oi=createSVGElement("image"),{left:Mn,top:ti,height:In,width:Ln}=$n;return oi.setAttribute("href",Kn),oi.setAttribute("x",Mn),oi.setAttribute("y",ti),oi.setAttribute("height",In),oi.setAttribute("width",Ln),oi}}pa=new WeakMap,_a=new WeakMap;const walkRange=(ki,$n)=>{const Pn=[];for(let Kn=$n.currentNode;Kn;Kn=$n.nextNode()){const oi=ki.comparePoint(Kn,0);if(oi===0)Pn.push(Kn);else if(oi>0)break}return Pn},walkDocument=(ki,$n)=>{const Pn=[];for(let Kn=$n.nextNode();Kn;Kn=$n.nextNode())Pn.push(Kn);return Pn},filter$1=NodeFilter.SHOW_ELEMENT|NodeFilter.SHOW_TEXT|NodeFilter.SHOW_CDATA_SECTION,acceptNode=ki=>{if(ki.nodeType===1){const $n=ki.tagName.toLowerCase();return $n==="script"||$n==="style"?NodeFilter.FILTER_REJECT:NodeFilter.FILTER_SKIP}return NodeFilter.FILTER_ACCEPT},textWalker=function*(ki,$n){const Pn=ki.commonAncestorContainer??ki.body??ki,Kn=document.createTreeWalker(Pn,filter$1,{acceptNode}),Mn=(ki.commonAncestorContainer?walkRange:walkDocument)(ki,Kn),ti=Mn.map(Ln=>Ln.nodeValue),In=(Ln,jn,Cn,Tn)=>{const Rn=document.createRange();return Rn.setStart(Mn[Ln],jn),Rn.setEnd(Mn[Cn],Tn),Rn};for(const Ln of $n(ti,In))yield Ln},SEARCH_PREFIX="foliate-search:";class History extends EventTarget{constructor(){super(...arguments);Ki(this,Ra,[]);Ki(this,La,-1)}pushState(Pn){const Kn=vi(this,Ra)[vi(this,La)];Kn===Pn||Kn!=null&&Kn.fraction&&Kn.fraction===Pn.fraction||(vi(this,Ra)[++wr(this,La)._]=Pn,vi(this,Ra).length=vi(this,La)+1,this.dispatchEvent(new Event("index-change")))}replaceState(Pn){const Kn=vi(this,La);vi(this,Ra)[Kn]=Pn}back(){const Pn=vi(this,La);if(Pn<=0)return;const Kn={state:vi(this,Ra)[Pn-1]};ds(this,La,Pn-1),this.dispatchEvent(new CustomEvent("popstate",{detail:Kn})),this.dispatchEvent(new Event("index-change"))}forward(){const Pn=vi(this,La);if(Pn>=vi(this,Ra).length-1)return;const Kn={state:vi(this,Ra)[Pn+1]};ds(this,La,Pn+1),this.dispatchEvent(new CustomEvent("popstate",{detail:Kn})),this.dispatchEvent(new Event("index-change"))}get canGoBack(){return vi(this,La)>0}get canGoForward(){return vi(this,La)<vi(this,Ra).length-1}clear(){ds(this,Ra,[]),ds(this,La,-1)}}Ra=new WeakMap,La=new WeakMap;const languageInfo=ki=>{var $n,Pn;if(!ki)return{};try{const Kn=Intl.getCanonicalLocales(ki)[0],oi=new Intl.Locale(Kn),Mn=["zh","ja","kr"].includes(oi.language),ti=(Pn=(($n=oi.getTextInfo)==null?void 0:$n.call(oi))??oi.textInfo)==null?void 0:Pn.direction;return{canonical:Kn,locale:oi,isCJK:Mn,direction:ti}}catch(Kn){return console.warn(Kn),{}}};let View$1=(Kl=class extends HTMLElement{constructor(){super();Ki(this,Ga);Ki(this,$0);Ki(this,U0);Ki(this,j0);Ki(this,ao);Ki(this,H0);Ki(this,X0);Ki(this,z0);Ki(this,B0,this.attachShadow({mode:"closed"}));Ki(this,rr,void 0);Ki(this,Wa,void 0);Ki(this,kr,void 0);Ki(this,or,new Map);ta(this,"isFixedLayout",!1);ta(this,"lastLocation");ta(this,"history",new History);this.history.addEventListener("popstate",({detail:Pn})=>{const Kn=this.resolveNavigation(Pn.state);this.renderer.goTo(Kn)})}async open(Pn){var Kn,oi,Mn;if(this.book=Pn,this.language=languageInfo((Kn=Pn.metadata)==null?void 0:Kn.language),Pn.splitTOCHref&&Pn.getTOCFragment){const ti=Pn.sections.map(jn=>jn.id);ds(this,rr,new SectionProgress(Pn.sections,1500,1600));const In=Pn.splitTOCHref.bind(Pn),Ln=Pn.getTOCFragment.bind(Pn);ds(this,Wa,new TOCProgress),await vi(this,Wa).init({toc:Pn.toc??[],ids:ti,splitHref:In,getFragment:Ln}),ds(this,kr,new TOCProgress),await vi(this,kr).init({toc:Pn.pageList??[],ids:ti,splitHref:In,getFragment:Ln})}if(this.isFixedLayout=((oi=this.book.rendition)==null?void 0:oi.layout)==="pre-paginated",this.isFixedLayout?(await Promise.resolve().then(()=>fixedLayout),this.renderer=document.createElement("foliate-fxl")):(await Promise.resolve().then(()=>paginator),this.renderer=document.createElement("foliate-paginator")),this.renderer.setAttribute("exportparts","head,foot,filter"),this.renderer.addEventListener("load",ti=>Qi(this,U0,zh).call(this,ti.detail)),this.renderer.addEventListener("relocate",ti=>Qi(this,$0,Xh).call(this,ti.detail)),this.renderer.addEventListener("create-overlayer",ti=>ti.detail.attach(Qi(this,H0,Gh).call(this,ti.detail))),this.renderer.open(Pn),vi(this,B0).append(this.renderer),Pn.sections.some(ti=>ti.mediaOverlay)){(Mn=Pn.media).activeClass||(Mn.activeClass="-epub-media-overlay-active");const ti=Pn.media.activeClass;this.mediaOverlay=Pn.getMediaOverlay();let In;this.mediaOverlay.addEventListener("highlight",Ln=>{const jn=this.resolveNavigation(Ln.detail.text);this.renderer.goTo(jn).then(()=>{const{doc:Cn}=this.renderer.getContents().find(Rn=>Rn.index=jn.index),Tn=jn.anchor(Cn);Tn.classList.add(ti),In=new WeakRef(Tn)})}),this.mediaOverlay.addEventListener("unhighlight",()=>{var Ln,jn;(jn=(Ln=In==null?void 0:In.deref())==null?void 0:Ln.classList)==null||jn.remove(ti)})}}close(){var Pn,Kn;(Pn=this.renderer)==null||Pn.destroy(),(Kn=this.renderer)==null||Kn.remove(),ds(this,rr,null),ds(this,Wa,null),ds(this,kr,null),ds(this,or,new Map),this.lastLocation=null,this.history.clear(),this.tts=null,this.mediaOverlay=null}goToTextStart(){var Pn,Kn;return this.goTo(((Kn=(Pn=this.book.landmarks)==null?void 0:Pn.find(oi=>oi.type.includes("bodymatter")||oi.type.includes("text")))==null?void 0:Kn.href)??this.book.sections.findIndex(oi=>oi.linear!=="no"))}async init({lastLocation:Pn,showTextStart:Kn}){const oi=Pn?this.resolveNavigation(Pn):null;oi?(await this.renderer.goTo(oi),this.history.pushState(Pn)):Kn?await this.goToTextStart():(this.history.pushState(0),await this.next())}async addAnnotation(Pn,Kn){var jn;const{value:oi}=Pn;if(oi.startsWith(SEARCH_PREFIX)){const Cn=oi.replace(SEARCH_PREFIX,""),{index:Tn,anchor:Rn}=await this.resolveNavigation(Cn),ui=Qi(this,ao,kc).call(this,Tn);if(ui){const{overlayer:si,doc:ei}=ui;if(Kn){si.remove(oi);return}const Bn=ei?Rn(ei):Rn;si.add(oi,Bn,Overlayer.outline)}return}const{index:Mn,anchor:ti}=await this.resolveNavigation(oi),In=Qi(this,ao,kc).call(this,Mn);if(In){const{overlayer:Cn,doc:Tn}=In;if(Cn.remove(oi),!Kn){const Rn=Tn?ti(Tn):ti,ui=(si,ei)=>Cn.add(oi,Rn,si,ei);Qi(this,Ga,Ar).call(this,"draw-annotation",{draw:ui,annotation:Pn,doc:Tn,range:Rn})}}const Ln=((jn=vi(this,Wa).getProgress(Mn))==null?void 0:jn.label)??"";return{index:Mn,label:Ln}}deleteAnnotation(Pn){return this.addAnnotation(Pn,!0)}async showAnnotation(Pn){const{value:Kn}=Pn,oi=await this.goTo(Kn);if(oi){const{index:Mn,anchor:ti}=oi,{doc:In}=Qi(this,ao,kc).call(this,Mn),Ln=ti(In);Qi(this,Ga,Ar).call(this,"show-annotation",{value:Kn,index:Mn,range:Ln})}}getCFI(Pn,Kn){const oi=this.book.sections[Pn].cfi??fake.fromIndex(Pn);return Kn?joinIndir(oi,fromRange(Kn)):oi}resolveCFI(Pn){if(this.book.resolveCFI)return this.book.resolveCFI(Pn);{const Kn=parse(Pn);return{index:fake.toIndex((Kn.parent??Kn).shift()),anchor:ti=>toRange(ti,Kn)}}}resolveNavigation(Pn){try{if(typeof Pn=="number")return{index:Pn};if(typeof Pn.fraction=="number"){const[Kn,oi]=vi(this,rr).getSection(Pn.fraction);return{index:Kn,anchor:oi}}return isCFI.test(Pn)?this.resolveCFI(Pn):this.book.resolveHref(Pn)}catch(Kn){console.error(Kn),console.error(`Could not resolve target ${Pn}`)}}async goTo(Pn){const Kn=this.resolveNavigation(Pn);try{return await this.renderer.goTo(Kn),this.history.pushState(Pn),Kn}catch(oi){console.error(oi),console.error(`Could not go to ${Pn}`)}}async goToFraction(Pn){const[Kn,oi]=vi(this,rr).getSection(Pn);await this.renderer.goTo({index:Kn,anchor:oi}),this.history.pushState({fraction:Pn})}async select(Pn){try{const Kn=await this.resolveNavigation(Pn);await this.renderer.goTo({...Kn,select:!0}),this.history.pushState(Pn)}catch(Kn){console.error(Kn),console.error(`Could not go to ${Pn}`)}}deselect(){for(const{doc:Pn}of this.renderer.getContents())Pn.defaultView.getSelection().removeAllRanges()}getSectionFractions(){var Pn;return(((Pn=vi(this,rr))==null?void 0:Pn.sectionFractions)??[]).map(Kn=>Kn+Number.EPSILON)}getProgressOf(Pn,Kn){var ti,In;const oi=(ti=vi(this,Wa))==null?void 0:ti.getProgress(Pn,Kn),Mn=(In=vi(this,kr))==null?void 0:In.getProgress(Pn,Kn);return{tocItem:oi,pageItem:Mn}}async getTOCItemOf(Pn){try{const{index:Kn,anchor:oi}=await this.resolveNavigation(Pn),Mn=await this.book.sections[Kn].createDocument(),ti=oi(Mn),In=ti instanceof Range,Ln=In?ti:Mn.createRange();return In||Ln.selectNodeContents(ti),vi(this,Wa).getProgress(Kn,Ln)}catch(Kn){console.error(Kn),console.error(`Could not get ${Pn}`)}}async prev(Pn){await this.renderer.prev(Pn)}async next(Pn){await this.renderer.next(Pn)}goLeft(){return this.book.dir==="rtl"?this.next():this.prev()}goRight(){return this.book.dir==="rtl"?this.prev():this.next()}async*search(Pn){var jn;this.clearSearch();const{searchMatcher:Kn}=await Promise.resolve().then(()=>search$1),{query:oi,index:Mn}=Pn,ti=Kn(textWalker,{defaultLocale:this.language,...Pn}),In=Mn!=null?Qi(this,X0,qh).call(this,ti,oi,Mn):Qi(this,z0,Vh).call(this,ti,oi),Ln=[];vi(this,or).set(Mn,Ln);for await(const Cn of In)if(Cn.subitems){const Tn=Cn.subitems.map(({cfi:Rn})=>({value:SEARCH_PREFIX+Rn}));vi(this,or).set(Cn.index,Tn);for(const Rn of Tn)this.addAnnotation(Rn);yield{label:((jn=vi(this,Wa).getProgress(Cn.index))==null?void 0:jn.label)??"",subitems:Cn.subitems}}else{if(Cn.cfi){const Tn={value:SEARCH_PREFIX+Cn.cfi};Ln.push(Tn),this.addAnnotation(Tn)}yield Cn}yield"done"}clearSearch(){for(const Pn of vi(this,or).values())for(const Kn of Pn)this.deleteAnnotation(Kn);vi(this,or).clear()}async initTTS(){const Pn=this.renderer.getContents()[0].doc;if(this.tts&&this.tts.doc===Pn)return;const{TTS:Kn}=await Promise.resolve().then(()=>tts);this.tts=new Kn(Pn,textWalker,oi=>this.renderer.scrollToAnchor(oi,!0))}startMediaOverlay(){const{index:Pn}=this.renderer.getContents()[0];return this.mediaOverlay.start(Pn)}},B0=new WeakMap,rr=new WeakMap,Wa=new WeakMap,kr=new WeakMap,or=new WeakMap,Ga=new WeakSet,Ar=function(Pn,Kn,oi){return this.dispatchEvent(new CustomEvent(Pn,{detail:Kn,cancelable:oi}))},$0=new WeakSet,Xh=function({reason:Pn,range:Kn,index:oi,fraction:Mn,size:ti}){var Tn,Rn,ui;const In=((Tn=vi(this,rr))==null?void 0:Tn.getProgress(oi,Mn,ti))??{},Ln=(Rn=vi(this,Wa))==null?void 0:Rn.getProgress(oi,Kn),jn=(ui=vi(this,kr))==null?void 0:ui.getProgress(oi,Kn),Cn=this.getCFI(oi,Kn);this.lastLocation={...In,tocItem:Ln,pageItem:jn,cfi:Cn,range:Kn},(Pn==="snap"||Pn==="page"||Pn==="scroll")&&this.history.replaceState(Cn),Qi(this,Ga,Ar).call(this,"relocate",this.lastLocation)},U0=new WeakSet,zh=function({doc:Pn,index:Kn}){var oi,Mn;(oi=Pn.documentElement).lang||(oi.lang=this.language.canonical??""),this.language.isCJK||(Mn=Pn.documentElement).dir||(Mn.dir=this.language.direction??""),Qi(this,j0,Wh).call(this,Pn,Kn),Qi(this,Ga,Ar).call(this,"load",{doc:Pn,index:Kn})},j0=new WeakSet,Wh=function(Pn,Kn){const{book:oi}=this,Mn=oi.sections[Kn];for(const ti of Pn.querySelectorAll("a[href]"))ti.addEventListener("click",In=>{var Cn,Tn;In.preventDefault();const Ln=ti.getAttribute("href"),jn=((Cn=Mn==null?void 0:Mn.resolveHref)==null?void 0:Cn.call(Mn,Ln))??Ln;(Tn=oi==null?void 0:oi.isExternal)!=null&&Tn.call(oi,jn)?Promise.resolve(Qi(this,Ga,Ar).call(this,"external-link",{a:ti,href:jn},!0)).then(Rn=>Rn?globalThis.open(jn,"_blank"):null).catch(Rn=>console.error(Rn)):Promise.resolve(Qi(this,Ga,Ar).call(this,"link",{a:ti,href:jn},!0)).then(Rn=>Rn?this.goTo(jn):null).catch(Rn=>console.error(Rn))})},ao=new WeakSet,kc=function(Pn){return this.renderer.getContents().find(Kn=>Kn.index===Pn&&Kn.overlayer)},H0=new WeakSet,Gh=function({doc:Pn,index:Kn}){const oi=new Overlayer;Pn.addEventListener("click",ti=>{const[In,Ln]=oi.hitTest(ti);In&&!In.startsWith(SEARCH_PREFIX)&&Qi(this,Ga,Ar).call(this,"show-annotation",{value:In,index:Kn,range:Ln})},!1);const Mn=vi(this,or).get(Kn);if(Mn)for(const ti of Mn)this.addAnnotation(ti);return Qi(this,Ga,Ar).call(this,"create-overlay",{index:Kn}),oi},X0=new WeakSet,qh=async function*(Pn,Kn,oi){const Mn=await this.book.sections[oi].createDocument();for(const{range:ti,excerpt:In}of Pn(Mn,Kn))yield{cfi:this.getCFI(oi,ti),excerpt:In}},z0=new WeakSet,Vh=async function*(Pn,Kn){const{sections:oi}=this.book;for(const[Mn,{createDocument:ti}]of oi.entries()){if(!ti)continue;const In=await ti(),Ln=Array.from(Pn(In,Kn),({range:Cn,excerpt:Tn})=>({cfi:this.getCFI(Mn,Cn),excerpt:Tn}));yield{progress:(Mn+1)/oi.length},Ln.length&&(yield{index:Mn,subitems:Ln})}},Kl);customElements.define("foliate-view",View$1);const isZip=async ki=>{const $n=new Uint8Array(await ki.slice(0,4).arrayBuffer());return $n[0]===80&&$n[1]===75&&$n[2]===3&&$n[3]===4},isPDF=async ki=>{const $n=new Uint8Array(await ki.slice(0,5).arrayBuffer());return $n[0]===37&&$n[1]===80&&$n[2]===68&&$n[3]===70&&$n[4]===45},makeZipLoader=async ki=>{const{configure:$n,ZipReader:Pn,BlobReader:Kn,TextWriter:oi,BlobWriter:Mn}=await Promise.resolve().then(()=>zip);$n({useWebWorkers:!1});const In=await new Pn(new Kn(ki)).getEntries(),Ln=new Map(In.map(ui=>[ui.filename,ui])),jn=ui=>(si,...ei)=>Ln.has(si)?ui(Ln.get(si),...ei):null,Cn=jn(ui=>ui.getData(new oi)),Tn=jn((ui,si)=>ui.getData(new Mn(si)));return{entries:In,loadText:Cn,loadBlob:Tn,getSize:ui=>{var si;return((si=Ln.get(ui))==null?void 0:si.uncompressedSize)??0}}},getFileEntries=async ki=>ki.isFile?ki:(await Promise.all(Array.from(await new Promise(($n,Pn)=>ki.createReader().readEntries(Kn=>$n(Kn),Kn=>Pn(Kn))),getFileEntries))).flat(),makeDirectoryLoader=async ki=>{const $n=await getFileEntries(ki),Pn=await Promise.all($n.map(Cn=>new Promise((Tn,Rn)=>Cn.file(ui=>Tn([ui,Cn.fullPath]),ui=>Rn(ui))))),Kn=new Map(Pn.map(([Cn,Tn])=>[Tn.replace(ki.fullPath+"/",""),Cn])),oi=new TextDecoder,Mn=Cn=>Cn?oi.decode(Cn):null,ti=Cn=>{var Tn;return((Tn=Kn.get(Cn))==null?void 0:Tn.arrayBuffer())??null};return{loadText:async Cn=>Mn(await ti(Cn)),loadBlob:Cn=>Kn.get(Cn),getSize:Cn=>{var Tn;return((Tn=Kn.get(Cn))==null?void 0:Tn.size)??0}}},isCBZ=({name:ki,type:$n})=>$n==="application/vnd.comicbook+zip"||ki.endsWith(".cbz"),isFB2=({name:ki,type:$n})=>$n==="application/x-fictionbook+xml"||ki.endsWith(".fb2"),isFBZ=({name:ki,type:$n})=>$n==="application/x-zip-compressed-fb2"||ki.endsWith(".fb2.zip")||ki.endsWith(".fbz"),getView=async(ki,$n)=>{let Pn;if(ki.isDirectory){const oi=await makeDirectoryLoader(ki),{EPUB:Mn}=await Promise.resolve().then(()=>epub);Pn=await new Mn(oi).init()}else if(ki.size)if(await isZip(ki)){const oi=await makeZipLoader(ki);if(isCBZ(ki)){const{makeComicBook:Mn}=await Promise.resolve().then(()=>comicBook);Pn=Mn(oi,ki)}else if(isFBZ(ki)){const{makeFB2:Mn}=await Promise.resolve().then(()=>fb2),{entries:ti}=oi,In=ti.find(jn=>jn.filename.endsWith(".fb2")),Ln=await oi.loadBlob((In??ti[0]).filename);Pn=await Mn(Ln)}else{const{EPUB:Mn}=await Promise.resolve().then(()=>epub);Pn=await new Mn(oi).init()}}else if(await isPDF(ki)){const{makePDF:oi}=await Promise.resolve().then(()=>pdf);Pn=await oi(ki)}else{const{isMOBI:oi,MOBI:Mn}=await Promise.resolve().then(()=>mobi);if(await oi(ki)){const ti=await Promise.resolve().then(()=>fflate);Pn=await new Mn({unzlib:ti.unzlibSync}).open(ki)}else if(isFB2(ki)){const{makeFB2:ti}=await Promise.resolve().then(()=>fb2);Pn=await ti(ki)}}else throw new Error("File not found");if(!Pn)throw new Error("File type not supported");const Kn=document.createElement("foliate-view");return $n.append(Kn),await Kn.open(Pn),Kn};function keyListener(ki,$n){ki.addEventListener("keyup",Pn=>{Pn.key==="ArrowUp"||Pn.key==="ArrowRight"?$n("next"):(Pn.key==="ArrowDown"||Pn.key==="ArrowLeft")&&$n("prev")},!1)}function wheelListener(ki,$n){let oi=0,Mn;ki.addEventListener("wheel",ti=>{ti.ignore||(ti.ignore=!0,clearTimeout(Mn),oi+=ti.deltaY,Mn=setTimeout(()=>{if(Math.abs(oi)>=750){let In=Math.sign(oi)>0?"next":"prev";$n(In),oi=0}oi=0},50))})}function swipListener(ki,$n){let Mn,ti,In;ki.addEventListener("touchstart",Ln=>{Ln.ignore||(Ln.ignore=!0,Mn=Ln.changedTouches[0].pageX,ti=Ln.changedTouches[0].pageY,In=Date.now())},!1),ki.addEventListener("touchend",Ln=>{var Rn,ui;if(Ln.ignore)return;Ln.ignore=!0;const jn=Ln.changedTouches[0].pageX-Mn,Cn=Ln.changedTouches[0].pageY-ti;Date.now()-In<=500&&(Math.abs(jn)>=50&&Math.abs(Cn)<=200?$n(jn<0?"prev":"next"):Math.abs(Cn)>=50&&Math.abs(jn)<=200?$n(Cn<0?"up":"down"):((ui=(Rn=ki==null?void 0:ki.defaultView)==null?void 0:Rn.getSelection())==null||ui.removeAllRanges(),ki.dispatchEvent(new MouseEvent("click",{clientX:Mn,clientY:ti})),Ln.preventDefault()))},!1)}const _export_sfc=(ki,$n)=>{const Pn=ki.__vccOpts||ki;for(const[Kn,oi]of $n)Pn[Kn]=oi;return Pn},_hoisted_1$1={class:"reader"},_hoisted_2$1={class:"viewHolder"},_hoisted_3$1={key:0},_sfc_main$1={__name:"BookView",props:{url:{type:[String,File]},location:{type:[String,Number]},tocChanged:Function,getRendition:Function},emits:["update:location"],setup(ki,{expose:$n,emit:Pn}){const Kn=ki,{tocChanged:oi,getRendition:Mn}=Kn,{url:ti,location:In}=vue.toRefs(Kn),Ln=Pn;let jn=null;const Cn=vue.ref(null),Tn=vue.ref(!1),Rn=({spacing:ii,justify:ri,hyphenate:di})=>`
|
|
67
67
|
@namespace epub "http://www.idpf.org/2007/ops";
|
|
68
68
|
html {
|
|
69
69
|
color-scheme: light dark;
|
|
@@ -100,7 +100,7 @@ ${xi}
|
|
|
100
100
|
aside[epub|type~="rearnote"] {
|
|
101
101
|
display: none;
|
|
102
102
|
}
|
|
103
|
-
`,ui=async()=>{ti.value&&(jn&&jn.close(),typeof ti.value=="string"?fetch(ti.value).then(ii=>ii.blob()).then(async ii=>{const ri=ti.value.split("/");jn=await getView(new File([ii],ri[ri.length-1]),Cn.value),si()}).catch(ii=>console.error(ii)):(jn=await getView(ti.value,Cn.value),si()))},si=()=>{var ri,di;Tn.value=!0;const{book:ii}=jn;(di=(ri=jn.renderer).setStyles)==null||di.call(ri,Rn({spacing:1.4,justify:!0,hyphenate:!0})),Bn(),Mn(jn),oi&&oi(ii.toc),jn.renderer.next()},ei=ii=>{ii==="next"?On():ii==="prev"&&hi()},Bn=()=>{jn.addEventListener("load",Nn),jn.addEventListener("relocate",Hn)},Nn=({detail:{doc:ii}})=>{wheelListener(ii,ei),swipListener(ii,ei),keyListener(ii,ei)},Hn=({detail:ii})=>{Ln("update:location",ii)},On=()=>jn==null?void 0:jn.next(),hi=()=>jn==null?void 0:jn.prev(),Xn=ii=>jn==null?void 0:jn.goTo(ii);return vue.watch(ti,()=>{ui()}),vue.onMounted(()=>{ui()}),$n({nextPage:On,prevPage:hi,setLocation:Xn}),(ii,ri)=>(vue.openBlock(),vue.createElementBlock("div",_hoisted_1$1,[vue.createElementVNode("div",_hoisted_2$1,[vue.withDirectives(vue.createElementVNode("div",{ref_key:"viewer",ref:Cn,id:"viewer"},null,512),[[vue.vShow,Tn.value]]),Tn.value?vue.createCommentVNode("",!0):(vue.openBlock(),vue.createElementBlock("div",_hoisted_3$1,[vue.renderSlot(ii.$slots,"loadingView",{},void 0,!0)]))])]))}},BookView=_export_sfc(_sfc_main$1,[["__scopeId","data-v-
|
|
103
|
+
`,ui=async()=>{ti.value&&(jn&&jn.close(),typeof ti.value=="string"?fetch(ti.value).then(ii=>ii.blob()).then(async ii=>{const ri=ti.value.split("/");jn=await getView(new File([ii],ri[ri.length-1]),Cn.value),si()}).catch(ii=>console.error(ii)):(jn=await getView(ti.value,Cn.value),si()))},si=()=>{var ri,di;Tn.value=!0;const{book:ii}=jn;(di=(ri=jn.renderer).setStyles)==null||di.call(ri,Rn({spacing:1.4,justify:!0,hyphenate:!0})),Bn(),Mn(jn),oi&&oi(ii.toc),In.value?jn==null||jn.goTo(In.value):jn.renderer.next()},ei=ii=>{ii==="next"?On():ii==="prev"&&hi()},Bn=()=>{jn.addEventListener("load",Nn),jn.addEventListener("relocate",Hn)},Nn=({detail:{doc:ii}})=>{wheelListener(ii,ei),swipListener(ii,ei),keyListener(ii,ei)},Hn=({detail:ii})=>{Ln("update:location",ii)},On=()=>jn==null?void 0:jn.next(),hi=()=>jn==null?void 0:jn.prev(),Xn=ii=>jn==null?void 0:jn.goTo(ii);return vue.watch(ti,()=>{ui()}),vue.onMounted(()=>{ui()}),$n({nextPage:On,prevPage:hi,setLocation:Xn}),(ii,ri)=>(vue.openBlock(),vue.createElementBlock("div",_hoisted_1$1,[vue.createElementVNode("div",_hoisted_2$1,[vue.withDirectives(vue.createElementVNode("div",{ref_key:"viewer",ref:Cn,id:"viewer"},null,512),[[vue.vShow,Tn.value]]),Tn.value?vue.createCommentVNode("",!0):(vue.openBlock(),vue.createElementBlock("div",_hoisted_3$1,[vue.renderSlot(ii.$slots,"loadingView",{},void 0,!0)]))])]))}},BookView=_export_sfc(_sfc_main$1,[["__scopeId","data-v-27a30866"]]),_hoisted_1={class:"container"},_hoisted_2=vue.createElementVNode("span",{class:"tocButtonBar",style:{top:"35%"}},null,-1),_hoisted_3=vue.createElementVNode("span",{class:"tocButtonBar",style:{top:"66%"}},null,-1),_hoisted_4=[_hoisted_2,_hoisted_3],_hoisted_5=["title"],_hoisted_6=vue.createElementVNode("div",{class:"loadingView"},"Loading…",-1),_hoisted_7={key:0},_hoisted_8={class:"tocArea"},_sfc_main={__name:"VueReader",props:{title:{type:String},showToc:{type:Boolean,default:!0},title:{type:String,default:""},getRendition:{type:Function},backgroundColor:{type:String,default:"#fff"}},setup(ki){const $n=vue.defineComponent({name:"TocComponent",props:{toc:{type:Array,default:()=>[]},current:{type:[String,Number],default:""},setLocation:{type:Function,required:!0},isSubmenu:{type:Boolean,default:!1,required:!1}},setup(Bn){const Nn=vue.getCurrentInstance(),Hn=vue.h.bind(Nn),{setLocation:On,isSubmenu:hi}=Bn,{toc:Xn,current:ii}=vue.toRefs(Bn);return()=>Xn.value.map((ri,di)=>Hn("div",{key:di},[Hn("button",{class:["tocAreaButton",ri.href===ii.value?"active":""],onClick:()=>{ri.subitems&&ri.subitems.length>0?(ri.expansion=!ri.expansion,On(ri.href,!1)):On(ri.href)}},[hi?" ".repeat(4)+ri.label:ri.label,ri.subitems&&ri.subitems.length>0&&Hn("div",{class:`${ri.expansion?"open":""} expansion`})]),ri.subitems&&ri.subitems.length>0&&Hn(vue.Transition,{name:"collapse-transition"},{default:()=>Hn("div",{style:{display:ri.expansion?void 0:"none"}},[Hn($n,{toc:ri.subitems,current:ii.value,setLocation:On,isSubmenu:!0})])})]))}}),Pn=ki,Kn=vue.reactive({toc:[],expandedToc:!1}),{getRendition:oi}=Pn,{toc:Mn,expandedToc:ti}=vue.toRefs(Kn),In=vue.ref(null),Ln=vue.ref(null),jn=vue.ref(""),Cn=Bn=>{var On;oi&&oi(Bn);const{book:Nn}=Bn,Hn=(On=Nn.metadata)==null?void 0:On.title;jn.value=Hn||""},Tn=Bn=>{Mn.value=Bn},Rn=()=>{ti.value=!ti.value},ui=()=>{var Bn;(Bn=In.value)==null||Bn.nextPage()},si=()=>{var Bn;(Bn=In.value)==null||Bn.prevPage()},ei=(Bn,Nn=!0)=>{In.value.setLocation(Bn),ti.value=!1,ti.value=!Nn};return(Bn,Nn)=>(vue.openBlock(),vue.createElementBlock("div",_hoisted_1,[vue.createElementVNode("div",{class:vue.normalizeClass(["readerArea",{containerExpanded:vue.unref(ti)}]),style:vue.normalizeStyle({backgroundColor:ki.backgroundColor})},[ki.showToc?(vue.openBlock(),vue.createElementBlock("button",{key:0,class:vue.normalizeClass(["tocButton",{tocButtonExpanded:vue.unref(ti)}]),type:"button",onClick:Rn},_hoisted_4,2)):vue.createCommentVNode("",!0),vue.renderSlot(Bn.$slots,"title",{},()=>[vue.createElementVNode("div",{class:"titleArea",title:ki.title||jn.value},vue.toDisplayString(ki.title||jn.value),9,_hoisted_5)]),vue.createVNode(BookView,vue.mergeProps({ref_key:"bookRef",ref:In},Bn.$attrs,{tocChanged:Tn,getRendition:Cn}),{loadingView:vue.withCtx(()=>[vue.renderSlot(Bn.$slots,"loadingView",{},()=>[_hoisted_6])]),_:3},16),vue.createElementVNode("button",{class:"arrow pre",onClick:si},"‹"),vue.createElementVNode("button",{class:"arrow next",onClick:ui},"›")],6),ki.showToc?(vue.openBlock(),vue.createElementBlock("div",_hoisted_7,[vue.createElementVNode("div",_hoisted_8,[vue.createVNode(vue.unref($n),{toc:vue.unref(Mn),current:Ln.value,setLocation:ei},null,8,["toc","current"])]),vue.unref(ti)?(vue.openBlock(),vue.createElementBlock("div",{key:0,class:"tocBackground",onClick:Rn})):vue.createCommentVNode("",!0)])):vue.createCommentVNode("",!0)]))}},parseViewport=ki=>{var $n,Pn;return(Pn=($n=ki==null?void 0:ki.split(/[,;\s]/))==null?void 0:$n.filter(Kn=>Kn))==null?void 0:Pn.map(Kn=>Kn.split("=").map(oi=>oi.trim()))},getViewport=(ki,$n)=>{var oi,Mn;if(ki.documentElement.localName==="svg"){const[,,ti,In]=((oi=ki.documentElement.getAttribute("viewBox"))==null?void 0:oi.split(/\s/))??[];return{width:ti,height:In}}const Pn=parseViewport((Mn=ki.querySelector('meta[name="viewport"]'))==null?void 0:Mn.getAttribute("content"));if(Pn)return Object.fromEntries(Pn);if(typeof $n=="string")return parseViewport($n);if($n)return $n;const Kn=ki.querySelector("img");return Kn?{width:Kn.naturalWidth,height:Kn.naturalHeight}:(console.warn(new Error("Missing viewport properties")),{width:1e3,height:2e3})};class FixedLayout extends HTMLElement{constructor(){super();Ki(this,oo);Ki(this,Ur);Ki(this,Wo);Ki(this,Go);Ki(this,qo);Ki(this,co);Ki(this,$r,this.attachShadow({mode:"closed"}));Ki(this,zo,new ResizeObserver(()=>Qi(this,Ur,L0).call(this)));Ki(this,cr,void 0);Ki(this,Cr,-1);ta(this,"defaultViewport");ta(this,"spread");Ki(this,ro,!1);Ki(this,qa,void 0);Ki(this,Va,void 0);Ki(this,Ka,void 0);Ki(this,Tr,void 0);const Pn=new CSSStyleSheet;vi(this,$r).adoptedStyleSheets=[Pn],Pn.replaceSync(`:host {
|
|
104
104
|
width: 100%;
|
|
105
105
|
height: 100%;
|
|
106
106
|
display: flex;
|