diff --git a/assets/index-CFKgdXDI.js b/assets/index-CDe6mbtD.js similarity index 85% rename from assets/index-CFKgdXDI.js rename to assets/index-CDe6mbtD.js index 1787a4b4b..80f1dcc67 100644 --- a/assets/index-CFKgdXDI.js +++ b/assets/index-CDe6mbtD.js @@ -1,4 +1,4 @@ -var Ib=Object.defineProperty;var Ay=n=>{throw TypeError(n)};var Fb=(n,t,e)=>t in n?Ib(n,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):n[t]=e;var I=(n,t,e)=>Fb(n,typeof t!="symbol"?t+"":t,e),cp=(n,t,e)=>t.has(n)||Ay("Cannot "+e);var l=(n,t,e)=>(cp(n,t,"read from private field"),e?e.call(n):t.get(n)),b=(n,t,e)=>t.has(n)?Ay("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(n):t.set(n,e),S=(n,t,e,i)=>(cp(n,t,"write to private field"),i?i.call(n,e):t.set(n,e),e),A=(n,t,e)=>(cp(n,t,"access private method"),e);var Xe=(n,t,e,i)=>({set _(s){S(n,t,s,e)},get _(){return l(n,t,i)}});(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const s of document.querySelectorAll('link[rel="modulepreload"]'))i(s);new MutationObserver(s=>{for(const r of s)if(r.type==="childList")for(const o of r.addedNodes)o.tagName==="LINK"&&o.rel==="modulepreload"&&i(o)}).observe(document,{childList:!0,subtree:!0});function e(s){const r={};return s.integrity&&(r.integrity=s.integrity),s.referrerPolicy&&(r.referrerPolicy=s.referrerPolicy),s.crossOrigin==="use-credentials"?r.credentials="include":s.crossOrigin==="anonymous"?r.credentials="omit":r.credentials="same-origin",r}function i(s){if(s.ep)return;s.ep=!0;const r=e(s);fetch(s.href,r)}})();function cw(n){return n&&n.__esModule&&Object.prototype.hasOwnProperty.call(n,"default")?n.default:n}function Ob(n){if(n.__esModule)return n;var t=n.default;if(typeof t=="function"){var e=function i(){return this instanceof i?Reflect.construct(t,arguments,this.constructor):t.apply(this,arguments)};e.prototype=t.prototype}else e={};return Object.defineProperty(e,"__esModule",{value:!0}),Object.keys(n).forEach(function(i){var s=Object.getOwnPropertyDescriptor(n,i);Object.defineProperty(e,i,s.get?s:{enumerable:!0,get:function(){return n[i]}})}),e}var uw={exports:{}},Nf={},hw={exports:{}},$={};/** +var Db=Object.defineProperty;var Sy=n=>{throw TypeError(n)};var Ib=(n,t,e)=>t in n?Db(n,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):n[t]=e;var I=(n,t,e)=>Ib(n,typeof t!="symbol"?t+"":t,e),cp=(n,t,e)=>t.has(n)||Sy("Cannot "+e);var l=(n,t,e)=>(cp(n,t,"read from private field"),e?e.call(n):t.get(n)),b=(n,t,e)=>t.has(n)?Sy("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(n):t.set(n,e),S=(n,t,e,i)=>(cp(n,t,"write to private field"),i?i.call(n,e):t.set(n,e),e),A=(n,t,e)=>(cp(n,t,"access private method"),e);var Xe=(n,t,e,i)=>({set _(s){S(n,t,s,e)},get _(){return l(n,t,i)}});(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const s of document.querySelectorAll('link[rel="modulepreload"]'))i(s);new MutationObserver(s=>{for(const r of s)if(r.type==="childList")for(const o of r.addedNodes)o.tagName==="LINK"&&o.rel==="modulepreload"&&i(o)}).observe(document,{childList:!0,subtree:!0});function e(s){const r={};return s.integrity&&(r.integrity=s.integrity),s.referrerPolicy&&(r.referrerPolicy=s.referrerPolicy),s.crossOrigin==="use-credentials"?r.credentials="include":s.crossOrigin==="anonymous"?r.credentials="omit":r.credentials="same-origin",r}function i(s){if(s.ep)return;s.ep=!0;const r=e(s);fetch(s.href,r)}})();function lw(n){return n&&n.__esModule&&Object.prototype.hasOwnProperty.call(n,"default")?n.default:n}function Fb(n){if(n.__esModule)return n;var t=n.default;if(typeof t=="function"){var e=function i(){return this instanceof i?Reflect.construct(t,arguments,this.constructor):t.apply(this,arguments)};e.prototype=t.prototype}else e={};return Object.defineProperty(e,"__esModule",{value:!0}),Object.keys(n).forEach(function(i){var s=Object.getOwnPropertyDescriptor(n,i);Object.defineProperty(e,i,s.get?s:{enumerable:!0,get:function(){return n[i]}})}),e}var cw={exports:{}},Nf={},uw={exports:{}},$={};/** * @license React * react.production.min.js * @@ -6,7 +6,7 @@ var Ib=Object.defineProperty;var Ay=n=>{throw TypeError(n)};var Fb=(n,t,e)=>t in * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */var ph=Symbol.for("react.element"),zb=Symbol.for("react.portal"),Vb=Symbol.for("react.fragment"),qb=Symbol.for("react.strict_mode"),Hb=Symbol.for("react.profiler"),Ub=Symbol.for("react.provider"),jb=Symbol.for("react.context"),Wb=Symbol.for("react.forward_ref"),Bb=Symbol.for("react.suspense"),Kb=Symbol.for("react.memo"),Xb=Symbol.for("react.lazy"),by=Symbol.iterator;function Gb(n){return n===null||typeof n!="object"?null:(n=by&&n[by]||n["@@iterator"],typeof n=="function"?n:null)}var dw={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},fw=Object.assign,pw={};function El(n,t,e){this.props=n,this.context=t,this.refs=pw,this.updater=e||dw}El.prototype.isReactComponent={};El.prototype.setState=function(n,t){if(typeof n!="object"&&typeof n!="function"&&n!=null)throw Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,n,t,"setState")};El.prototype.forceUpdate=function(n){this.updater.enqueueForceUpdate(this,n,"forceUpdate")};function gw(){}gw.prototype=El.prototype;function av(n,t,e){this.props=n,this.context=t,this.refs=pw,this.updater=e||dw}var lv=av.prototype=new gw;lv.constructor=av;fw(lv,El.prototype);lv.isPureReactComponent=!0;var Ey=Array.isArray,mw=Object.prototype.hasOwnProperty,cv={current:null},vw={key:!0,ref:!0,__self:!0,__source:!0};function yw(n,t,e){var i,s={},r=null,o=null;if(t!=null)for(i in t.ref!==void 0&&(o=t.ref),t.key!==void 0&&(r=""+t.key),t)mw.call(t,i)&&!vw.hasOwnProperty(i)&&(s[i]=t[i]);var a=arguments.length-2;if(a===1)s.children=e;else if(1{throw TypeError(n)};var Fb=(n,t,e)=>t in * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */var $b=Y,tE=Symbol.for("react.element"),eE=Symbol.for("react.fragment"),nE=Object.prototype.hasOwnProperty,iE=$b.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,sE={key:!0,ref:!0,__self:!0,__source:!0};function Sw(n,t,e){var i,s={},r=null,o=null;e!==void 0&&(r=""+e),t.key!==void 0&&(r=""+t.key),t.ref!==void 0&&(o=t.ref);for(i in t)nE.call(t,i)&&!sE.hasOwnProperty(i)&&(s[i]=t[i]);if(n&&n.defaultProps)for(i in t=n.defaultProps,t)s[i]===void 0&&(s[i]=t[i]);return{$$typeof:tE,type:n,key:r,ref:o,props:s,_owner:iE.current}}Nf.Fragment=eE;Nf.jsx=Sw;Nf.jsxs=Sw;uw.exports=Nf;var N=uw.exports,Aw={exports:{}},dn={},bw={exports:{}},Ew={};/** + */var Zb=Y,$b=Symbol.for("react.element"),tE=Symbol.for("react.fragment"),eE=Object.prototype.hasOwnProperty,nE=Zb.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,iE={key:!0,ref:!0,__self:!0,__source:!0};function ww(n,t,e){var i,s={},r=null,o=null;e!==void 0&&(r=""+e),t.key!==void 0&&(r=""+t.key),t.ref!==void 0&&(o=t.ref);for(i in t)eE.call(t,i)&&!iE.hasOwnProperty(i)&&(s[i]=t[i]);if(n&&n.defaultProps)for(i in t=n.defaultProps,t)s[i]===void 0&&(s[i]=t[i]);return{$$typeof:$b,type:n,key:r,ref:o,props:s,_owner:nE.current}}Nf.Fragment=tE;Nf.jsx=ww;Nf.jsxs=ww;cw.exports=Nf;var N=cw.exports,Sw={exports:{}},dn={},Aw={exports:{}},bw={};/** * @license React * scheduler.production.min.js * @@ -22,7 +22,7 @@ var Ib=Object.defineProperty;var Ay=n=>{throw TypeError(n)};var Fb=(n,t,e)=>t in * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */(function(n){function t(R,H){var B=R.length;R.push(H);t:for(;0>>1,it=R[mt];if(0>>1;mt<_t;){var pn=2*(mt+1)-1,Rn=R[pn],he=pn+1,Et=R[he];if(0>s(Rn,B))hes(Et,Rn)?(R[mt]=Et,R[he]=B,mt=he):(R[mt]=Rn,R[pn]=B,mt=pn);else if(hes(Et,B))R[mt]=Et,R[he]=B,mt=he;else break t}}return H}function s(R,H){var B=R.sortIndex-H.sortIndex;return B!==0?B:R.id-H.id}if(typeof performance=="object"&&typeof performance.now=="function"){var r=performance;n.unstable_now=function(){return r.now()}}else{var o=Date,a=o.now();n.unstable_now=function(){return o.now()-a}}var c=[],u=[],h=1,d=null,f=3,p=!1,g=!1,w=!1,E=typeof setTimeout=="function"?setTimeout:null,m=typeof clearTimeout=="function"?clearTimeout:null,v=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function y(R){for(var H=e(u);H!==null;){if(H.callback===null)i(u);else if(H.startTime<=R)i(u),H.sortIndex=H.expirationTime,t(c,H);else break;H=e(u)}}function x(R){if(w=!1,y(R),!g)if(e(c)!==null)g=!0,rt(C);else{var H=e(u);H!==null&&U(x,H.startTime-R)}}function C(R,H){g=!1,w&&(w=!1,m(P),P=-1),p=!0;var B=f;try{for(y(H),d=e(c);d!==null&&(!(d.expirationTime>H)||R&&!D());){var mt=d.callback;if(typeof mt=="function"){d.callback=null,f=d.priorityLevel;var it=mt(d.expirationTime<=H);H=n.unstable_now(),typeof it=="function"?d.callback=it:d===e(c)&&i(c),y(H)}else i(c);d=e(c)}if(d!==null)var _t=!0;else{var pn=e(u);pn!==null&&U(x,pn.startTime-H),_t=!1}return _t}finally{d=null,f=B,p=!1}}var T=!1,k=null,P=-1,M=5,L=-1;function D(){return!(n.unstable_now()-LR||125mt?(R.sortIndex=B,t(u,R),e(c)===null&&R===e(u)&&(w?(m(P),P=-1):w=!0,U(x,B-mt))):(R.sortIndex=it,t(c,R),g||p||(g=!0,rt(C))),R},n.unstable_shouldYield=D,n.unstable_wrapCallback=function(R){var H=f;return function(){var B=f;f=H;try{return R.apply(this,arguments)}finally{f=B}}}})(Ew);bw.exports=Ew;var rE=bw.exports;/** + */(function(n){function t(R,H){var B=R.length;R.push(H);t:for(;0>>1,it=R[mt];if(0>>1;mt<_t;){var pn=2*(mt+1)-1,Rn=R[pn],he=pn+1,Et=R[he];if(0>s(Rn,B))hes(Et,Rn)?(R[mt]=Et,R[he]=B,mt=he):(R[mt]=Rn,R[pn]=B,mt=pn);else if(hes(Et,B))R[mt]=Et,R[he]=B,mt=he;else break t}}return H}function s(R,H){var B=R.sortIndex-H.sortIndex;return B!==0?B:R.id-H.id}if(typeof performance=="object"&&typeof performance.now=="function"){var r=performance;n.unstable_now=function(){return r.now()}}else{var o=Date,a=o.now();n.unstable_now=function(){return o.now()-a}}var c=[],u=[],h=1,d=null,f=3,p=!1,g=!1,w=!1,E=typeof setTimeout=="function"?setTimeout:null,m=typeof clearTimeout=="function"?clearTimeout:null,v=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function y(R){for(var H=e(u);H!==null;){if(H.callback===null)i(u);else if(H.startTime<=R)i(u),H.sortIndex=H.expirationTime,t(c,H);else break;H=e(u)}}function x(R){if(w=!1,y(R),!g)if(e(c)!==null)g=!0,rt(C);else{var H=e(u);H!==null&&U(x,H.startTime-R)}}function C(R,H){g=!1,w&&(w=!1,m(P),P=-1),p=!0;var B=f;try{for(y(H),d=e(c);d!==null&&(!(d.expirationTime>H)||R&&!D());){var mt=d.callback;if(typeof mt=="function"){d.callback=null,f=d.priorityLevel;var it=mt(d.expirationTime<=H);H=n.unstable_now(),typeof it=="function"?d.callback=it:d===e(c)&&i(c),y(H)}else i(c);d=e(c)}if(d!==null)var _t=!0;else{var pn=e(u);pn!==null&&U(x,pn.startTime-H),_t=!1}return _t}finally{d=null,f=B,p=!1}}var T=!1,k=null,P=-1,M=5,L=-1;function D(){return!(n.unstable_now()-LR||125mt?(R.sortIndex=B,t(u,R),e(c)===null&&R===e(u)&&(w?(m(P),P=-1):w=!0,U(x,B-mt))):(R.sortIndex=it,t(c,R),g||p||(g=!0,rt(C))),R},n.unstable_shouldYield=D,n.unstable_wrapCallback=function(R){var H=f;return function(){var B=f;f=H;try{return R.apply(this,arguments)}finally{f=B}}}})(bw);Aw.exports=bw;var sE=Aw.exports;/** * @license React * react-dom.production.min.js * @@ -30,16 +30,16 @@ var Ib=Object.defineProperty;var Ay=n=>{throw TypeError(n)};var Fb=(n,t,e)=>t in * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */var oE=Y,hn=rE;function _(n){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+n,e=1;e"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),Qp=Object.prototype.hasOwnProperty,aE=/^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/,Cy={},Ty={};function lE(n){return Qp.call(Ty,n)?!0:Qp.call(Cy,n)?!1:aE.test(n)?Ty[n]=!0:(Cy[n]=!0,!1)}function cE(n,t,e,i){if(e!==null&&e.type===0)return!1;switch(typeof t){case"function":case"symbol":return!0;case"boolean":return i?!1:e!==null?!e.acceptsBooleans:(n=n.toLowerCase().slice(0,5),n!=="data-"&&n!=="aria-");default:return!1}}function uE(n,t,e,i){if(t===null||typeof t>"u"||cE(n,t,e,i))return!0;if(i)return!1;if(e!==null)switch(e.type){case 3:return!t;case 4:return t===!1;case 5:return isNaN(t);case 6:return isNaN(t)||1>t}return!1}function Ne(n,t,e,i,s,r,o){this.acceptsBooleans=t===2||t===3||t===4,this.attributeName=i,this.attributeNamespace=s,this.mustUseProperty=e,this.propertyName=n,this.type=t,this.sanitizeURL=r,this.removeEmptyString=o}var ue={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(n){ue[n]=new Ne(n,0,!1,n,null,!1,!1)});[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(n){var t=n[0];ue[t]=new Ne(t,1,!1,n[1],null,!1,!1)});["contentEditable","draggable","spellCheck","value"].forEach(function(n){ue[n]=new Ne(n,2,!1,n.toLowerCase(),null,!1,!1)});["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(n){ue[n]=new Ne(n,2,!1,n,null,!1,!1)});"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach(function(n){ue[n]=new Ne(n,3,!1,n.toLowerCase(),null,!1,!1)});["checked","multiple","muted","selected"].forEach(function(n){ue[n]=new Ne(n,3,!0,n,null,!1,!1)});["capture","download"].forEach(function(n){ue[n]=new Ne(n,4,!1,n,null,!1,!1)});["cols","rows","size","span"].forEach(function(n){ue[n]=new Ne(n,6,!1,n,null,!1,!1)});["rowSpan","start"].forEach(function(n){ue[n]=new Ne(n,5,!1,n.toLowerCase(),null,!1,!1)});var hv=/[\-:]([a-z])/g;function dv(n){return n[1].toUpperCase()}"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach(function(n){var t=n.replace(hv,dv);ue[t]=new Ne(t,1,!1,n,null,!1,!1)});"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(n){var t=n.replace(hv,dv);ue[t]=new Ne(t,1,!1,n,"http://www.w3.org/1999/xlink",!1,!1)});["xml:base","xml:lang","xml:space"].forEach(function(n){var t=n.replace(hv,dv);ue[t]=new Ne(t,1,!1,n,"http://www.w3.org/XML/1998/namespace",!1,!1)});["tabIndex","crossOrigin"].forEach(function(n){ue[n]=new Ne(n,1,!1,n.toLowerCase(),null,!1,!1)});ue.xlinkHref=new Ne("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1);["src","href","action","formAction"].forEach(function(n){ue[n]=new Ne(n,1,!1,n.toLowerCase(),null,!0,!0)});function fv(n,t,e,i){var s=ue.hasOwnProperty(t)?ue[t]:null;(s!==null?s.type!==0:i||!(2"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),Qp=Object.prototype.hasOwnProperty,oE=/^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/,xy={},Cy={};function aE(n){return Qp.call(Cy,n)?!0:Qp.call(xy,n)?!1:oE.test(n)?Cy[n]=!0:(xy[n]=!0,!1)}function lE(n,t,e,i){if(e!==null&&e.type===0)return!1;switch(typeof t){case"function":case"symbol":return!0;case"boolean":return i?!1:e!==null?!e.acceptsBooleans:(n=n.toLowerCase().slice(0,5),n!=="data-"&&n!=="aria-");default:return!1}}function cE(n,t,e,i){if(t===null||typeof t>"u"||lE(n,t,e,i))return!0;if(i)return!1;if(e!==null)switch(e.type){case 3:return!t;case 4:return t===!1;case 5:return isNaN(t);case 6:return isNaN(t)||1>t}return!1}function Ne(n,t,e,i,s,r,o){this.acceptsBooleans=t===2||t===3||t===4,this.attributeName=i,this.attributeNamespace=s,this.mustUseProperty=e,this.propertyName=n,this.type=t,this.sanitizeURL=r,this.removeEmptyString=o}var ue={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(n){ue[n]=new Ne(n,0,!1,n,null,!1,!1)});[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(n){var t=n[0];ue[t]=new Ne(t,1,!1,n[1],null,!1,!1)});["contentEditable","draggable","spellCheck","value"].forEach(function(n){ue[n]=new Ne(n,2,!1,n.toLowerCase(),null,!1,!1)});["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(n){ue[n]=new Ne(n,2,!1,n,null,!1,!1)});"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach(function(n){ue[n]=new Ne(n,3,!1,n.toLowerCase(),null,!1,!1)});["checked","multiple","muted","selected"].forEach(function(n){ue[n]=new Ne(n,3,!0,n,null,!1,!1)});["capture","download"].forEach(function(n){ue[n]=new Ne(n,4,!1,n,null,!1,!1)});["cols","rows","size","span"].forEach(function(n){ue[n]=new Ne(n,6,!1,n,null,!1,!1)});["rowSpan","start"].forEach(function(n){ue[n]=new Ne(n,5,!1,n.toLowerCase(),null,!1,!1)});var uv=/[\-:]([a-z])/g;function hv(n){return n[1].toUpperCase()}"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach(function(n){var t=n.replace(uv,hv);ue[t]=new Ne(t,1,!1,n,null,!1,!1)});"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(n){var t=n.replace(uv,hv);ue[t]=new Ne(t,1,!1,n,"http://www.w3.org/1999/xlink",!1,!1)});["xml:base","xml:lang","xml:space"].forEach(function(n){var t=n.replace(uv,hv);ue[t]=new Ne(t,1,!1,n,"http://www.w3.org/XML/1998/namespace",!1,!1)});["tabIndex","crossOrigin"].forEach(function(n){ue[n]=new Ne(n,1,!1,n.toLowerCase(),null,!1,!1)});ue.xlinkHref=new Ne("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1);["src","href","action","formAction"].forEach(function(n){ue[n]=new Ne(n,1,!1,n.toLowerCase(),null,!0,!0)});function dv(n,t,e,i){var s=ue.hasOwnProperty(t)?ue[t]:null;(s!==null?s.type!==0:i||!(2a||s[o]!==r[a]){var c=` -`+s[o].replace(" at new "," at ");return n.displayName&&c.includes("")&&(c=c.replace("",n.displayName)),c}while(1<=o&&0<=a);break}}}finally{dp=!1,Error.prepareStackTrace=e}return(n=n?n.displayName||n.name:"")?Vl(n):""}function hE(n){switch(n.tag){case 5:return Vl(n.type);case 16:return Vl("Lazy");case 13:return Vl("Suspense");case 19:return Vl("SuspenseList");case 0:case 2:case 15:return n=fp(n.type,!1),n;case 11:return n=fp(n.type.render,!1),n;case 1:return n=fp(n.type,!0),n;default:return""}}function tg(n){if(n==null)return null;if(typeof n=="function")return n.displayName||n.name||null;if(typeof n=="string")return n;switch(n){case Zo:return"Fragment";case Jo:return"Portal";case Jp:return"Profiler";case pv:return"StrictMode";case Zp:return"Suspense";case $p:return"SuspenseList"}if(typeof n=="object")switch(n.$$typeof){case Tw:return(n.displayName||"Context")+".Consumer";case Cw:return(n._context.displayName||"Context")+".Provider";case gv:var t=n.render;return n=n.displayName,n||(n=t.displayName||t.name||"",n=n!==""?"ForwardRef("+n+")":"ForwardRef"),n;case mv:return t=n.displayName||null,t!==null?t:tg(n.type)||"Memo";case ks:t=n._payload,n=n._init;try{return tg(n(t))}catch{}}return null}function dE(n){var t=n.type;switch(n.tag){case 24:return"Cache";case 9:return(t.displayName||"Context")+".Consumer";case 10:return(t._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return n=t.render,n=n.displayName||n.name||"",t.displayName||(n!==""?"ForwardRef("+n+")":"ForwardRef");case 7:return"Fragment";case 5:return t;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return tg(t);case 8:return t===pv?"StrictMode":"Mode";case 22:return"Offscreen";case 12:return"Profiler";case 21:return"Scope";case 13:return"Suspense";case 19:return"SuspenseList";case 25:return"TracingMarker";case 1:case 0:case 17:case 2:case 14:case 15:if(typeof t=="function")return t.displayName||t.name||null;if(typeof t=="string")return t}return null}function ur(n){switch(typeof n){case"boolean":case"number":case"string":case"undefined":return n;case"object":return n;default:return""}}function Pw(n){var t=n.type;return(n=n.nodeName)&&n.toLowerCase()==="input"&&(t==="checkbox"||t==="radio")}function fE(n){var t=Pw(n)?"checked":"value",e=Object.getOwnPropertyDescriptor(n.constructor.prototype,t),i=""+n[t];if(!n.hasOwnProperty(t)&&typeof e<"u"&&typeof e.get=="function"&&typeof e.set=="function"){var s=e.get,r=e.set;return Object.defineProperty(n,t,{configurable:!0,get:function(){return s.call(this)},set:function(o){i=""+o,r.call(this,o)}}),Object.defineProperty(n,t,{enumerable:e.enumerable}),{getValue:function(){return i},setValue:function(o){i=""+o},stopTracking:function(){n._valueTracker=null,delete n[t]}}}}function Th(n){n._valueTracker||(n._valueTracker=fE(n))}function Rw(n){if(!n)return!1;var t=n._valueTracker;if(!t)return!0;var e=t.getValue(),i="";return n&&(i=Pw(n)?n.checked?"true":"false":n.value),n=i,n!==e?(t.setValue(n),!0):!1}function Fd(n){if(n=n||(typeof document<"u"?document:void 0),typeof n>"u")return null;try{return n.activeElement||n.body}catch{return n.body}}function eg(n,t){var e=t.checked;return Rt({},t,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:e??n._wrapperState.initialChecked})}function Py(n,t){var e=t.defaultValue==null?"":t.defaultValue,i=t.checked!=null?t.checked:t.defaultChecked;e=ur(t.value!=null?t.value:e),n._wrapperState={initialChecked:i,initialValue:e,controlled:t.type==="checkbox"||t.type==="radio"?t.checked!=null:t.value!=null}}function _w(n,t){t=t.checked,t!=null&&fv(n,"checked",t,!1)}function ng(n,t){_w(n,t);var e=ur(t.value),i=t.type;if(e!=null)i==="number"?(e===0&&n.value===""||n.value!=e)&&(n.value=""+e):n.value!==""+e&&(n.value=""+e);else if(i==="submit"||i==="reset"){n.removeAttribute("value");return}t.hasOwnProperty("value")?ig(n,t.type,e):t.hasOwnProperty("defaultValue")&&ig(n,t.type,ur(t.defaultValue)),t.checked==null&&t.defaultChecked!=null&&(n.defaultChecked=!!t.defaultChecked)}function Ry(n,t,e){if(t.hasOwnProperty("value")||t.hasOwnProperty("defaultValue")){var i=t.type;if(!(i!=="submit"&&i!=="reset"||t.value!==void 0&&t.value!==null))return;t=""+n._wrapperState.initialValue,e||t===n.value||(n.value=t),n.defaultValue=t}e=n.name,e!==""&&(n.name=""),n.defaultChecked=!!n._wrapperState.initialChecked,e!==""&&(n.name=e)}function ig(n,t,e){(t!=="number"||Fd(n.ownerDocument)!==n)&&(e==null?n.defaultValue=""+n._wrapperState.initialValue:n.defaultValue!==""+e&&(n.defaultValue=""+e))}var ql=Array.isArray;function ha(n,t,e,i){if(n=n.options,t){t={};for(var s=0;s"+t.valueOf().toString()+"",t=kh.firstChild;n.firstChild;)n.removeChild(n.firstChild);for(;t.firstChild;)n.appendChild(t.firstChild)}});function wc(n,t){if(t){var e=n.firstChild;if(e&&e===n.lastChild&&e.nodeType===3){e.nodeValue=t;return}}n.textContent=t}var rc={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},pE=["Webkit","ms","Moz","O"];Object.keys(rc).forEach(function(n){pE.forEach(function(t){t=t+n.charAt(0).toUpperCase()+n.substring(1),rc[t]=rc[n]})});function Dw(n,t,e){return t==null||typeof t=="boolean"||t===""?"":e||typeof t!="number"||t===0||rc.hasOwnProperty(n)&&rc[n]?(""+t).trim():t+"px"}function Iw(n,t){n=n.style;for(var e in t)if(t.hasOwnProperty(e)){var i=e.indexOf("--")===0,s=Dw(e,t[e],i);e==="float"&&(e="cssFloat"),i?n.setProperty(e,s):n[e]=s}}var gE=Rt({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function og(n,t){if(t){if(gE[n]&&(t.children!=null||t.dangerouslySetInnerHTML!=null))throw Error(_(137,n));if(t.dangerouslySetInnerHTML!=null){if(t.children!=null)throw Error(_(60));if(typeof t.dangerouslySetInnerHTML!="object"||!("__html"in t.dangerouslySetInnerHTML))throw Error(_(61))}if(t.style!=null&&typeof t.style!="object")throw Error(_(62))}}function ag(n,t){if(n.indexOf("-")===-1)return typeof t.is=="string";switch(n){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var lg=null;function vv(n){return n=n.target||n.srcElement||window,n.correspondingUseElement&&(n=n.correspondingUseElement),n.nodeType===3?n.parentNode:n}var cg=null,da=null,fa=null;function My(n){if(n=vh(n)){if(typeof cg!="function")throw Error(_(280));var t=n.stateNode;t&&(t=zf(t),cg(n.stateNode,n.type,t))}}function Fw(n){da?fa?fa.push(n):fa=[n]:da=n}function Ow(){if(da){var n=da,t=fa;if(fa=da=null,My(n),t)for(n=0;n>>=0,n===0?32:31-(TE(n)/kE|0)|0}var Ph=64,Rh=4194304;function Hl(n){switch(n&-n){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return n&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return n&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return n}}function qd(n,t){var e=n.pendingLanes;if(e===0)return 0;var i=0,s=n.suspendedLanes,r=n.pingedLanes,o=e&268435455;if(o!==0){var a=o&~s;a!==0?i=Hl(a):(r&=o,r!==0&&(i=Hl(r)))}else o=e&~s,o!==0?i=Hl(o):r!==0&&(i=Hl(r));if(i===0)return 0;if(t!==0&&t!==i&&!(t&s)&&(s=i&-i,r=t&-t,s>=r||s===16&&(r&4194240)!==0))return t;if(i&4&&(i|=e&16),t=n.entangledLanes,t!==0)for(n=n.entanglements,t&=i;0e;e++)t.push(n);return t}function gh(n,t,e){n.pendingLanes|=t,t!==536870912&&(n.suspendedLanes=0,n.pingedLanes=0),n=n.eventTimes,t=31-Qn(t),n[t]=e}function LE(n,t){var e=n.pendingLanes&~t;n.pendingLanes=t,n.suspendedLanes=0,n.pingedLanes=0,n.expiredLanes&=t,n.mutableReadLanes&=t,n.entangledLanes&=t,t=n.entanglements;var i=n.eventTimes;for(n=n.expirationTimes;0=ac),Hy=" ",Uy=!1;function iS(n,t){switch(n){case"keyup":return rx.indexOf(t.keyCode)!==-1;case"keydown":return t.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function sS(n){return n=n.detail,typeof n=="object"&&"data"in n?n.data:null}var $o=!1;function ax(n,t){switch(n){case"compositionend":return sS(t);case"keypress":return t.which!==32?null:(Uy=!0,Hy);case"textInput":return n=t.data,n===Hy&&Uy?null:n;default:return null}}function lx(n,t){if($o)return n==="compositionend"||!Cv&&iS(n,t)?(n=eS(),ed=bv=$s=null,$o=!1,n):null;switch(n){case"paste":return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1=t)return{node:e,offset:t-n};n=i}t:{for(;e;){if(e.nextSibling){e=e.nextSibling;break t}e=e.parentNode}e=void 0}e=Ky(e)}}function lS(n,t){return n&&t?n===t?!0:n&&n.nodeType===3?!1:t&&t.nodeType===3?lS(n,t.parentNode):"contains"in n?n.contains(t):n.compareDocumentPosition?!!(n.compareDocumentPosition(t)&16):!1:!1}function cS(){for(var n=window,t=Fd();t instanceof n.HTMLIFrameElement;){try{var e=typeof t.contentWindow.location.href=="string"}catch{e=!1}if(e)n=t.contentWindow;else break;t=Fd(n.document)}return t}function Tv(n){var t=n&&n.nodeName&&n.nodeName.toLowerCase();return t&&(t==="input"&&(n.type==="text"||n.type==="search"||n.type==="tel"||n.type==="url"||n.type==="password")||t==="textarea"||n.contentEditable==="true")}function vx(n){var t=cS(),e=n.focusedElem,i=n.selectionRange;if(t!==e&&e&&e.ownerDocument&&lS(e.ownerDocument.documentElement,e)){if(i!==null&&Tv(e)){if(t=i.start,n=i.end,n===void 0&&(n=t),"selectionStart"in e)e.selectionStart=t,e.selectionEnd=Math.min(n,e.value.length);else if(n=(t=e.ownerDocument||document)&&t.defaultView||window,n.getSelection){n=n.getSelection();var s=e.textContent.length,r=Math.min(i.start,s);i=i.end===void 0?r:Math.min(i.end,s),!n.extend&&r>i&&(s=i,i=r,r=s),s=Xy(e,r);var o=Xy(e,i);s&&o&&(n.rangeCount!==1||n.anchorNode!==s.node||n.anchorOffset!==s.offset||n.focusNode!==o.node||n.focusOffset!==o.offset)&&(t=t.createRange(),t.setStart(s.node,s.offset),n.removeAllRanges(),r>i?(n.addRange(t),n.extend(o.node,o.offset)):(t.setEnd(o.node,o.offset),n.addRange(t)))}}for(t=[],n=e;n=n.parentNode;)n.nodeType===1&&t.push({element:n,left:n.scrollLeft,top:n.scrollTop});for(typeof e.focus=="function"&&e.focus(),e=0;e=document.documentMode,ta=null,gg=null,cc=null,mg=!1;function Gy(n,t,e){var i=e.window===e?e.document:e.nodeType===9?e:e.ownerDocument;mg||ta==null||ta!==Fd(i)||(i=ta,"selectionStart"in i&&Tv(i)?i={start:i.selectionStart,end:i.selectionEnd}:(i=(i.ownerDocument&&i.ownerDocument.defaultView||window).getSelection(),i={anchorNode:i.anchorNode,anchorOffset:i.anchorOffset,focusNode:i.focusNode,focusOffset:i.focusOffset}),cc&&Cc(cc,i)||(cc=i,i=jd(gg,"onSelect"),0ia||(n.current=bg[ia],bg[ia]=null,ia--)}function St(n,t){ia++,bg[ia]=n.current,n.current=t}var hr={},be=mr(hr),je=mr(!1),ko=hr;function ml(n,t){var e=n.type.contextTypes;if(!e)return hr;var i=n.stateNode;if(i&&i.__reactInternalMemoizedUnmaskedChildContext===t)return i.__reactInternalMemoizedMaskedChildContext;var s={},r;for(r in e)s[r]=t[r];return i&&(n=n.stateNode,n.__reactInternalMemoizedUnmaskedChildContext=t,n.__reactInternalMemoizedMaskedChildContext=s),s}function We(n){return n=n.childContextTypes,n!=null}function Bd(){bt(je),bt(be)}function e0(n,t,e){if(be.current!==hr)throw Error(_(168));St(be,t),St(je,e)}function yS(n,t,e){var i=n.stateNode;if(t=t.childContextTypes,typeof i.getChildContext!="function")return e;i=i.getChildContext();for(var s in i)if(!(s in t))throw Error(_(108,dE(n)||"Unknown",s));return Rt({},e,i)}function Kd(n){return n=(n=n.stateNode)&&n.__reactInternalMemoizedMergedChildContext||hr,ko=be.current,St(be,n),St(je,je.current),!0}function n0(n,t,e){var i=n.stateNode;if(!i)throw Error(_(169));e?(n=yS(n,t,ko),i.__reactInternalMemoizedMergedChildContext=n,bt(je),bt(be),St(be,n)):bt(je),St(je,e)}var Ii=null,Vf=!1,kp=!1;function wS(n){Ii===null?Ii=[n]:Ii.push(n)}function Rx(n){Vf=!0,wS(n)}function vr(){if(!kp&&Ii!==null){kp=!0;var n=0,t=dt;try{var e=Ii;for(dt=1;n>=o,s-=o,as=1<<32-Qn(t)+s|e<P?(M=k,k=null):M=k.sibling;var L=f(m,k,y[P],x);if(L===null){k===null&&(k=M);break}n&&k&&L.alternate===null&&t(m,k),v=r(L,v,P),T===null?C=L:T.sibling=L,T=L,k=M}if(P===y.length)return e(m,k),xt&&wr(m,P),C;if(k===null){for(;PP?(M=k,k=null):M=k.sibling;var D=f(m,k,L.value,x);if(D===null){k===null&&(k=M);break}n&&k&&D.alternate===null&&t(m,k),v=r(D,v,P),T===null?C=D:T.sibling=D,T=D,k=M}if(L.done)return e(m,k),xt&&wr(m,P),C;if(k===null){for(;!L.done;P++,L=y.next())L=d(m,L.value,x),L!==null&&(v=r(L,v,P),T===null?C=L:T.sibling=L,T=L);return xt&&wr(m,P),C}for(k=i(m,k);!L.done;P++,L=y.next())L=p(k,m,P,L.value,x),L!==null&&(n&&L.alternate!==null&&k.delete(L.key===null?P:L.key),v=r(L,v,P),T===null?C=L:T.sibling=L,T=L);return n&&k.forEach(function(W){return t(m,W)}),xt&&wr(m,P),C}function E(m,v,y,x){if(typeof y=="object"&&y!==null&&y.type===Zo&&y.key===null&&(y=y.props.children),typeof y=="object"&&y!==null){switch(y.$$typeof){case Ch:t:{for(var C=y.key,T=v;T!==null;){if(T.key===C){if(C=y.type,C===Zo){if(T.tag===7){e(m,T.sibling),v=s(T,y.props.children),v.return=m,m=v;break t}}else if(T.elementType===C||typeof C=="object"&&C!==null&&C.$$typeof===ks&&r0(C)===T.type){e(m,T.sibling),v=s(T,y.props),v.ref=Ll(m,T,y),v.return=m,m=v;break t}e(m,T);break}else t(m,T);T=T.sibling}y.type===Zo?(v=To(y.props.children,m.mode,x,y.key),v.return=m,m=v):(x=cd(y.type,y.key,y.props,null,m.mode,x),x.ref=Ll(m,v,y),x.return=m,m=x)}return o(m);case Jo:t:{for(T=y.key;v!==null;){if(v.key===T)if(v.tag===4&&v.stateNode.containerInfo===y.containerInfo&&v.stateNode.implementation===y.implementation){e(m,v.sibling),v=s(v,y.children||[]),v.return=m,m=v;break t}else{e(m,v);break}else t(m,v);v=v.sibling}v=Ip(y,m.mode,x),v.return=m,m=v}return o(m);case ks:return T=y._init,E(m,v,T(y._payload),x)}if(ql(y))return g(m,v,y,x);if(Tl(y))return w(m,v,y,x);Fh(m,y)}return typeof y=="string"&&y!==""||typeof y=="number"?(y=""+y,v!==null&&v.tag===6?(e(m,v.sibling),v=s(v,y),v.return=m,m=v):(e(m,v),v=Dp(y,m.mode,x),v.return=m,m=v),o(m)):e(m,v)}return E}var yl=ES(!0),xS=ES(!1),Yd=mr(null),Qd=null,oa=null,_v=null;function Lv(){_v=oa=Qd=null}function Mv(n){var t=Yd.current;bt(Yd),n._currentValue=t}function Cg(n,t,e){for(;n!==null;){var i=n.alternate;if((n.childLanes&t)!==t?(n.childLanes|=t,i!==null&&(i.childLanes|=t)):i!==null&&(i.childLanes&t)!==t&&(i.childLanes|=t),n===e)break;n=n.return}}function ga(n,t){Qd=n,_v=oa=null,n=n.dependencies,n!==null&&n.firstContext!==null&&(n.lanes&t&&(qe=!0),n.firstContext=null)}function kn(n){var t=n._currentValue;if(_v!==n)if(n={context:n,memoizedValue:t,next:null},oa===null){if(Qd===null)throw Error(_(308));oa=n,Qd.dependencies={lanes:0,firstContext:n}}else oa=oa.next=n;return t}var kr=null;function Nv(n){kr===null?kr=[n]:kr.push(n)}function CS(n,t,e,i){var s=t.interleaved;return s===null?(e.next=e,Nv(t)):(e.next=s.next,s.next=e),t.interleaved=e,ms(n,i)}function ms(n,t){n.lanes|=t;var e=n.alternate;for(e!==null&&(e.lanes|=t),e=n,n=n.return;n!==null;)n.childLanes|=t,e=n.alternate,e!==null&&(e.childLanes|=t),e=n,n=n.return;return e.tag===3?e.stateNode:null}var Ps=!1;function Dv(n){n.updateQueue={baseState:n.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}function TS(n,t){n=n.updateQueue,t.updateQueue===n&&(t.updateQueue={baseState:n.baseState,firstBaseUpdate:n.firstBaseUpdate,lastBaseUpdate:n.lastBaseUpdate,shared:n.shared,effects:n.effects})}function cs(n,t){return{eventTime:n,lane:t,tag:0,payload:null,callback:null,next:null}}function rr(n,t,e){var i=n.updateQueue;if(i===null)return null;if(i=i.shared,at&2){var s=i.pending;return s===null?t.next=t:(t.next=s.next,s.next=t),i.pending=t,ms(n,e)}return s=i.interleaved,s===null?(t.next=t,Nv(i)):(t.next=s.next,s.next=t),i.interleaved=t,ms(n,e)}function id(n,t,e){if(t=t.updateQueue,t!==null&&(t=t.shared,(e&4194240)!==0)){var i=t.lanes;i&=n.pendingLanes,e|=i,t.lanes=e,wv(n,e)}}function o0(n,t){var e=n.updateQueue,i=n.alternate;if(i!==null&&(i=i.updateQueue,e===i)){var s=null,r=null;if(e=e.firstBaseUpdate,e!==null){do{var o={eventTime:e.eventTime,lane:e.lane,tag:e.tag,payload:e.payload,callback:e.callback,next:null};r===null?s=r=o:r=r.next=o,e=e.next}while(e!==null);r===null?s=r=t:r=r.next=t}else s=r=t;e={baseState:i.baseState,firstBaseUpdate:s,lastBaseUpdate:r,shared:i.shared,effects:i.effects},n.updateQueue=e;return}n=e.lastBaseUpdate,n===null?e.firstBaseUpdate=t:n.next=t,e.lastBaseUpdate=t}function Jd(n,t,e,i){var s=n.updateQueue;Ps=!1;var r=s.firstBaseUpdate,o=s.lastBaseUpdate,a=s.shared.pending;if(a!==null){s.shared.pending=null;var c=a,u=c.next;c.next=null,o===null?r=u:o.next=u,o=c;var h=n.alternate;h!==null&&(h=h.updateQueue,a=h.lastBaseUpdate,a!==o&&(a===null?h.firstBaseUpdate=u:a.next=u,h.lastBaseUpdate=c))}if(r!==null){var d=s.baseState;o=0,h=u=c=null,a=r;do{var f=a.lane,p=a.eventTime;if((i&f)===f){h!==null&&(h=h.next={eventTime:p,lane:0,tag:a.tag,payload:a.payload,callback:a.callback,next:null});t:{var g=n,w=a;switch(f=t,p=e,w.tag){case 1:if(g=w.payload,typeof g=="function"){d=g.call(p,d,f);break t}d=g;break t;case 3:g.flags=g.flags&-65537|128;case 0:if(g=w.payload,f=typeof g=="function"?g.call(p,d,f):g,f==null)break t;d=Rt({},d,f);break t;case 2:Ps=!0}}a.callback!==null&&a.lane!==0&&(n.flags|=64,f=s.effects,f===null?s.effects=[a]:f.push(a))}else p={eventTime:p,lane:f,tag:a.tag,payload:a.payload,callback:a.callback,next:null},h===null?(u=h=p,c=d):h=h.next=p,o|=f;if(a=a.next,a===null){if(a=s.shared.pending,a===null)break;f=a,a=f.next,f.next=null,s.lastBaseUpdate=f,s.shared.pending=null}}while(!0);if(h===null&&(c=d),s.baseState=c,s.firstBaseUpdate=u,s.lastBaseUpdate=h,t=s.shared.interleaved,t!==null){s=t;do o|=s.lane,s=s.next;while(s!==t)}else r===null&&(s.shared.lanes=0);_o|=o,n.lanes=o,n.memoizedState=d}}function a0(n,t,e){if(n=t.effects,t.effects=null,n!==null)for(t=0;te?e:4,n(!0);var i=Rp.transition;Rp.transition={};try{n(!1),t()}finally{dt=e,Rp.transition=i}}function jS(){return Pn().memoizedState}function Nx(n,t,e){var i=ar(n);if(e={lane:i,action:e,hasEagerState:!1,eagerState:null,next:null},WS(n))BS(t,e);else if(e=CS(n,t,e,i),e!==null){var s=Re();Jn(e,n,i,s),KS(e,t,i)}}function Dx(n,t,e){var i=ar(n),s={lane:i,action:e,hasEagerState:!1,eagerState:null,next:null};if(WS(n))BS(t,s);else{var r=n.alternate;if(n.lanes===0&&(r===null||r.lanes===0)&&(r=t.lastRenderedReducer,r!==null))try{var o=t.lastRenderedState,a=r(o,e);if(s.hasEagerState=!0,s.eagerState=a,Zn(a,o)){var c=t.interleaved;c===null?(s.next=s,Nv(t)):(s.next=c.next,c.next=s),t.interleaved=s;return}}catch{}finally{}e=CS(n,t,s,i),e!==null&&(s=Re(),Jn(e,n,i,s),KS(e,t,i))}}function WS(n){var t=n.alternate;return n===Pt||t!==null&&t===Pt}function BS(n,t){uc=$d=!0;var e=n.pending;e===null?t.next=t:(t.next=e.next,e.next=t),n.pending=t}function KS(n,t,e){if(e&4194240){var i=t.lanes;i&=n.pendingLanes,e|=i,t.lanes=e,wv(n,e)}}var tf={readContext:kn,useCallback:de,useContext:de,useEffect:de,useImperativeHandle:de,useInsertionEffect:de,useLayoutEffect:de,useMemo:de,useReducer:de,useRef:de,useState:de,useDebugValue:de,useDeferredValue:de,useTransition:de,useMutableSource:de,useSyncExternalStore:de,useId:de,unstable_isNewReconciler:!1},Ix={readContext:kn,useCallback:function(n,t){return ei().memoizedState=[n,t===void 0?null:t],n},useContext:kn,useEffect:c0,useImperativeHandle:function(n,t,e){return e=e!=null?e.concat([n]):null,rd(4194308,4,zS.bind(null,t,n),e)},useLayoutEffect:function(n,t){return rd(4194308,4,n,t)},useInsertionEffect:function(n,t){return rd(4,2,n,t)},useMemo:function(n,t){var e=ei();return t=t===void 0?null:t,n=n(),e.memoizedState=[n,t],n},useReducer:function(n,t,e){var i=ei();return t=e!==void 0?e(t):t,i.memoizedState=i.baseState=t,n={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:n,lastRenderedState:t},i.queue=n,n=n.dispatch=Nx.bind(null,Pt,n),[i.memoizedState,n]},useRef:function(n){var t=ei();return n={current:n},t.memoizedState=n},useState:l0,useDebugValue:Uv,useDeferredValue:function(n){return ei().memoizedState=n},useTransition:function(){var n=l0(!1),t=n[0];return n=Mx.bind(null,n[1]),ei().memoizedState=n,[t,n]},useMutableSource:function(){},useSyncExternalStore:function(n,t,e){var i=Pt,s=ei();if(xt){if(e===void 0)throw Error(_(407));e=e()}else{if(e=t(),$t===null)throw Error(_(349));Ro&30||_S(i,t,e)}s.memoizedState=e;var r={value:e,getSnapshot:t};return s.queue=r,c0(MS.bind(null,i,r,n),[n]),i.flags|=2048,Nc(9,LS.bind(null,i,r,e,t),void 0,null),e},useId:function(){var n=ei(),t=$t.identifierPrefix;if(xt){var e=ls,i=as;e=(i&~(1<<32-Qn(i)-1)).toString(32)+e,t=":"+t+"R"+e,e=Lc++,0")&&(c=c.replace("",n.displayName)),c}while(1<=o&&0<=a);break}}}finally{dp=!1,Error.prepareStackTrace=e}return(n=n?n.displayName||n.name:"")?Vl(n):""}function uE(n){switch(n.tag){case 5:return Vl(n.type);case 16:return Vl("Lazy");case 13:return Vl("Suspense");case 19:return Vl("SuspenseList");case 0:case 2:case 15:return n=fp(n.type,!1),n;case 11:return n=fp(n.type.render,!1),n;case 1:return n=fp(n.type,!0),n;default:return""}}function tg(n){if(n==null)return null;if(typeof n=="function")return n.displayName||n.name||null;if(typeof n=="string")return n;switch(n){case Zo:return"Fragment";case Jo:return"Portal";case Jp:return"Profiler";case fv:return"StrictMode";case Zp:return"Suspense";case $p:return"SuspenseList"}if(typeof n=="object")switch(n.$$typeof){case Cw:return(n.displayName||"Context")+".Consumer";case xw:return(n._context.displayName||"Context")+".Provider";case pv:var t=n.render;return n=n.displayName,n||(n=t.displayName||t.name||"",n=n!==""?"ForwardRef("+n+")":"ForwardRef"),n;case gv:return t=n.displayName||null,t!==null?t:tg(n.type)||"Memo";case ks:t=n._payload,n=n._init;try{return tg(n(t))}catch{}}return null}function hE(n){var t=n.type;switch(n.tag){case 24:return"Cache";case 9:return(t.displayName||"Context")+".Consumer";case 10:return(t._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return n=t.render,n=n.displayName||n.name||"",t.displayName||(n!==""?"ForwardRef("+n+")":"ForwardRef");case 7:return"Fragment";case 5:return t;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return tg(t);case 8:return t===fv?"StrictMode":"Mode";case 22:return"Offscreen";case 12:return"Profiler";case 21:return"Scope";case 13:return"Suspense";case 19:return"SuspenseList";case 25:return"TracingMarker";case 1:case 0:case 17:case 2:case 14:case 15:if(typeof t=="function")return t.displayName||t.name||null;if(typeof t=="string")return t}return null}function ur(n){switch(typeof n){case"boolean":case"number":case"string":case"undefined":return n;case"object":return n;default:return""}}function kw(n){var t=n.type;return(n=n.nodeName)&&n.toLowerCase()==="input"&&(t==="checkbox"||t==="radio")}function dE(n){var t=kw(n)?"checked":"value",e=Object.getOwnPropertyDescriptor(n.constructor.prototype,t),i=""+n[t];if(!n.hasOwnProperty(t)&&typeof e<"u"&&typeof e.get=="function"&&typeof e.set=="function"){var s=e.get,r=e.set;return Object.defineProperty(n,t,{configurable:!0,get:function(){return s.call(this)},set:function(o){i=""+o,r.call(this,o)}}),Object.defineProperty(n,t,{enumerable:e.enumerable}),{getValue:function(){return i},setValue:function(o){i=""+o},stopTracking:function(){n._valueTracker=null,delete n[t]}}}}function Th(n){n._valueTracker||(n._valueTracker=dE(n))}function Pw(n){if(!n)return!1;var t=n._valueTracker;if(!t)return!0;var e=t.getValue(),i="";return n&&(i=kw(n)?n.checked?"true":"false":n.value),n=i,n!==e?(t.setValue(n),!0):!1}function Fd(n){if(n=n||(typeof document<"u"?document:void 0),typeof n>"u")return null;try{return n.activeElement||n.body}catch{return n.body}}function eg(n,t){var e=t.checked;return Rt({},t,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:e??n._wrapperState.initialChecked})}function ky(n,t){var e=t.defaultValue==null?"":t.defaultValue,i=t.checked!=null?t.checked:t.defaultChecked;e=ur(t.value!=null?t.value:e),n._wrapperState={initialChecked:i,initialValue:e,controlled:t.type==="checkbox"||t.type==="radio"?t.checked!=null:t.value!=null}}function Rw(n,t){t=t.checked,t!=null&&dv(n,"checked",t,!1)}function ng(n,t){Rw(n,t);var e=ur(t.value),i=t.type;if(e!=null)i==="number"?(e===0&&n.value===""||n.value!=e)&&(n.value=""+e):n.value!==""+e&&(n.value=""+e);else if(i==="submit"||i==="reset"){n.removeAttribute("value");return}t.hasOwnProperty("value")?ig(n,t.type,e):t.hasOwnProperty("defaultValue")&&ig(n,t.type,ur(t.defaultValue)),t.checked==null&&t.defaultChecked!=null&&(n.defaultChecked=!!t.defaultChecked)}function Py(n,t,e){if(t.hasOwnProperty("value")||t.hasOwnProperty("defaultValue")){var i=t.type;if(!(i!=="submit"&&i!=="reset"||t.value!==void 0&&t.value!==null))return;t=""+n._wrapperState.initialValue,e||t===n.value||(n.value=t),n.defaultValue=t}e=n.name,e!==""&&(n.name=""),n.defaultChecked=!!n._wrapperState.initialChecked,e!==""&&(n.name=e)}function ig(n,t,e){(t!=="number"||Fd(n.ownerDocument)!==n)&&(e==null?n.defaultValue=""+n._wrapperState.initialValue:n.defaultValue!==""+e&&(n.defaultValue=""+e))}var ql=Array.isArray;function ha(n,t,e,i){if(n=n.options,t){t={};for(var s=0;s"+t.valueOf().toString()+"",t=kh.firstChild;n.firstChild;)n.removeChild(n.firstChild);for(;t.firstChild;)n.appendChild(t.firstChild)}});function wc(n,t){if(t){var e=n.firstChild;if(e&&e===n.lastChild&&e.nodeType===3){e.nodeValue=t;return}}n.textContent=t}var rc={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},fE=["Webkit","ms","Moz","O"];Object.keys(rc).forEach(function(n){fE.forEach(function(t){t=t+n.charAt(0).toUpperCase()+n.substring(1),rc[t]=rc[n]})});function Nw(n,t,e){return t==null||typeof t=="boolean"||t===""?"":e||typeof t!="number"||t===0||rc.hasOwnProperty(n)&&rc[n]?(""+t).trim():t+"px"}function Dw(n,t){n=n.style;for(var e in t)if(t.hasOwnProperty(e)){var i=e.indexOf("--")===0,s=Nw(e,t[e],i);e==="float"&&(e="cssFloat"),i?n.setProperty(e,s):n[e]=s}}var pE=Rt({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function og(n,t){if(t){if(pE[n]&&(t.children!=null||t.dangerouslySetInnerHTML!=null))throw Error(_(137,n));if(t.dangerouslySetInnerHTML!=null){if(t.children!=null)throw Error(_(60));if(typeof t.dangerouslySetInnerHTML!="object"||!("__html"in t.dangerouslySetInnerHTML))throw Error(_(61))}if(t.style!=null&&typeof t.style!="object")throw Error(_(62))}}function ag(n,t){if(n.indexOf("-")===-1)return typeof t.is=="string";switch(n){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var lg=null;function mv(n){return n=n.target||n.srcElement||window,n.correspondingUseElement&&(n=n.correspondingUseElement),n.nodeType===3?n.parentNode:n}var cg=null,da=null,fa=null;function Ly(n){if(n=vh(n)){if(typeof cg!="function")throw Error(_(280));var t=n.stateNode;t&&(t=zf(t),cg(n.stateNode,n.type,t))}}function Iw(n){da?fa?fa.push(n):fa=[n]:da=n}function Fw(){if(da){var n=da,t=fa;if(fa=da=null,Ly(n),t)for(n=0;n>>=0,n===0?32:31-(CE(n)/TE|0)|0}var Ph=64,Rh=4194304;function Hl(n){switch(n&-n){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return n&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return n&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return n}}function qd(n,t){var e=n.pendingLanes;if(e===0)return 0;var i=0,s=n.suspendedLanes,r=n.pingedLanes,o=e&268435455;if(o!==0){var a=o&~s;a!==0?i=Hl(a):(r&=o,r!==0&&(i=Hl(r)))}else o=e&~s,o!==0?i=Hl(o):r!==0&&(i=Hl(r));if(i===0)return 0;if(t!==0&&t!==i&&!(t&s)&&(s=i&-i,r=t&-t,s>=r||s===16&&(r&4194240)!==0))return t;if(i&4&&(i|=e&16),t=n.entangledLanes,t!==0)for(n=n.entanglements,t&=i;0e;e++)t.push(n);return t}function gh(n,t,e){n.pendingLanes|=t,t!==536870912&&(n.suspendedLanes=0,n.pingedLanes=0),n=n.eventTimes,t=31-Qn(t),n[t]=e}function _E(n,t){var e=n.pendingLanes&~t;n.pendingLanes=t,n.suspendedLanes=0,n.pingedLanes=0,n.expiredLanes&=t,n.mutableReadLanes&=t,n.entangledLanes&=t,t=n.entanglements;var i=n.eventTimes;for(n=n.expirationTimes;0=ac),qy=" ",Hy=!1;function nS(n,t){switch(n){case"keyup":return sx.indexOf(t.keyCode)!==-1;case"keydown":return t.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function iS(n){return n=n.detail,typeof n=="object"&&"data"in n?n.data:null}var $o=!1;function ox(n,t){switch(n){case"compositionend":return iS(t);case"keypress":return t.which!==32?null:(Hy=!0,qy);case"textInput":return n=t.data,n===qy&&Hy?null:n;default:return null}}function ax(n,t){if($o)return n==="compositionend"||!xv&&nS(n,t)?(n=tS(),ed=Av=$s=null,$o=!1,n):null;switch(n){case"paste":return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1=t)return{node:e,offset:t-n};n=i}t:{for(;e;){if(e.nextSibling){e=e.nextSibling;break t}e=e.parentNode}e=void 0}e=By(e)}}function aS(n,t){return n&&t?n===t?!0:n&&n.nodeType===3?!1:t&&t.nodeType===3?aS(n,t.parentNode):"contains"in n?n.contains(t):n.compareDocumentPosition?!!(n.compareDocumentPosition(t)&16):!1:!1}function lS(){for(var n=window,t=Fd();t instanceof n.HTMLIFrameElement;){try{var e=typeof t.contentWindow.location.href=="string"}catch{e=!1}if(e)n=t.contentWindow;else break;t=Fd(n.document)}return t}function Cv(n){var t=n&&n.nodeName&&n.nodeName.toLowerCase();return t&&(t==="input"&&(n.type==="text"||n.type==="search"||n.type==="tel"||n.type==="url"||n.type==="password")||t==="textarea"||n.contentEditable==="true")}function mx(n){var t=lS(),e=n.focusedElem,i=n.selectionRange;if(t!==e&&e&&e.ownerDocument&&aS(e.ownerDocument.documentElement,e)){if(i!==null&&Cv(e)){if(t=i.start,n=i.end,n===void 0&&(n=t),"selectionStart"in e)e.selectionStart=t,e.selectionEnd=Math.min(n,e.value.length);else if(n=(t=e.ownerDocument||document)&&t.defaultView||window,n.getSelection){n=n.getSelection();var s=e.textContent.length,r=Math.min(i.start,s);i=i.end===void 0?r:Math.min(i.end,s),!n.extend&&r>i&&(s=i,i=r,r=s),s=Ky(e,r);var o=Ky(e,i);s&&o&&(n.rangeCount!==1||n.anchorNode!==s.node||n.anchorOffset!==s.offset||n.focusNode!==o.node||n.focusOffset!==o.offset)&&(t=t.createRange(),t.setStart(s.node,s.offset),n.removeAllRanges(),r>i?(n.addRange(t),n.extend(o.node,o.offset)):(t.setEnd(o.node,o.offset),n.addRange(t)))}}for(t=[],n=e;n=n.parentNode;)n.nodeType===1&&t.push({element:n,left:n.scrollLeft,top:n.scrollTop});for(typeof e.focus=="function"&&e.focus(),e=0;e=document.documentMode,ta=null,gg=null,cc=null,mg=!1;function Xy(n,t,e){var i=e.window===e?e.document:e.nodeType===9?e:e.ownerDocument;mg||ta==null||ta!==Fd(i)||(i=ta,"selectionStart"in i&&Cv(i)?i={start:i.selectionStart,end:i.selectionEnd}:(i=(i.ownerDocument&&i.ownerDocument.defaultView||window).getSelection(),i={anchorNode:i.anchorNode,anchorOffset:i.anchorOffset,focusNode:i.focusNode,focusOffset:i.focusOffset}),cc&&Cc(cc,i)||(cc=i,i=jd(gg,"onSelect"),0ia||(n.current=bg[ia],bg[ia]=null,ia--)}function St(n,t){ia++,bg[ia]=n.current,n.current=t}var hr={},be=mr(hr),je=mr(!1),ko=hr;function ml(n,t){var e=n.type.contextTypes;if(!e)return hr;var i=n.stateNode;if(i&&i.__reactInternalMemoizedUnmaskedChildContext===t)return i.__reactInternalMemoizedMaskedChildContext;var s={},r;for(r in e)s[r]=t[r];return i&&(n=n.stateNode,n.__reactInternalMemoizedUnmaskedChildContext=t,n.__reactInternalMemoizedMaskedChildContext=s),s}function We(n){return n=n.childContextTypes,n!=null}function Bd(){bt(je),bt(be)}function t0(n,t,e){if(be.current!==hr)throw Error(_(168));St(be,t),St(je,e)}function vS(n,t,e){var i=n.stateNode;if(t=t.childContextTypes,typeof i.getChildContext!="function")return e;i=i.getChildContext();for(var s in i)if(!(s in t))throw Error(_(108,hE(n)||"Unknown",s));return Rt({},e,i)}function Kd(n){return n=(n=n.stateNode)&&n.__reactInternalMemoizedMergedChildContext||hr,ko=be.current,St(be,n),St(je,je.current),!0}function e0(n,t,e){var i=n.stateNode;if(!i)throw Error(_(169));e?(n=vS(n,t,ko),i.__reactInternalMemoizedMergedChildContext=n,bt(je),bt(be),St(be,n)):bt(je),St(je,e)}var Ii=null,Vf=!1,kp=!1;function yS(n){Ii===null?Ii=[n]:Ii.push(n)}function Px(n){Vf=!0,yS(n)}function vr(){if(!kp&&Ii!==null){kp=!0;var n=0,t=dt;try{var e=Ii;for(dt=1;n>=o,s-=o,as=1<<32-Qn(t)+s|e<P?(M=k,k=null):M=k.sibling;var L=f(m,k,y[P],x);if(L===null){k===null&&(k=M);break}n&&k&&L.alternate===null&&t(m,k),v=r(L,v,P),T===null?C=L:T.sibling=L,T=L,k=M}if(P===y.length)return e(m,k),xt&&wr(m,P),C;if(k===null){for(;PP?(M=k,k=null):M=k.sibling;var D=f(m,k,L.value,x);if(D===null){k===null&&(k=M);break}n&&k&&D.alternate===null&&t(m,k),v=r(D,v,P),T===null?C=D:T.sibling=D,T=D,k=M}if(L.done)return e(m,k),xt&&wr(m,P),C;if(k===null){for(;!L.done;P++,L=y.next())L=d(m,L.value,x),L!==null&&(v=r(L,v,P),T===null?C=L:T.sibling=L,T=L);return xt&&wr(m,P),C}for(k=i(m,k);!L.done;P++,L=y.next())L=p(k,m,P,L.value,x),L!==null&&(n&&L.alternate!==null&&k.delete(L.key===null?P:L.key),v=r(L,v,P),T===null?C=L:T.sibling=L,T=L);return n&&k.forEach(function(W){return t(m,W)}),xt&&wr(m,P),C}function E(m,v,y,x){if(typeof y=="object"&&y!==null&&y.type===Zo&&y.key===null&&(y=y.props.children),typeof y=="object"&&y!==null){switch(y.$$typeof){case Ch:t:{for(var C=y.key,T=v;T!==null;){if(T.key===C){if(C=y.type,C===Zo){if(T.tag===7){e(m,T.sibling),v=s(T,y.props.children),v.return=m,m=v;break t}}else if(T.elementType===C||typeof C=="object"&&C!==null&&C.$$typeof===ks&&s0(C)===T.type){e(m,T.sibling),v=s(T,y.props),v.ref=Ll(m,T,y),v.return=m,m=v;break t}e(m,T);break}else t(m,T);T=T.sibling}y.type===Zo?(v=To(y.props.children,m.mode,x,y.key),v.return=m,m=v):(x=cd(y.type,y.key,y.props,null,m.mode,x),x.ref=Ll(m,v,y),x.return=m,m=x)}return o(m);case Jo:t:{for(T=y.key;v!==null;){if(v.key===T)if(v.tag===4&&v.stateNode.containerInfo===y.containerInfo&&v.stateNode.implementation===y.implementation){e(m,v.sibling),v=s(v,y.children||[]),v.return=m,m=v;break t}else{e(m,v);break}else t(m,v);v=v.sibling}v=Ip(y,m.mode,x),v.return=m,m=v}return o(m);case ks:return T=y._init,E(m,v,T(y._payload),x)}if(ql(y))return g(m,v,y,x);if(Tl(y))return w(m,v,y,x);Fh(m,y)}return typeof y=="string"&&y!==""||typeof y=="number"?(y=""+y,v!==null&&v.tag===6?(e(m,v.sibling),v=s(v,y),v.return=m,m=v):(e(m,v),v=Dp(y,m.mode,x),v.return=m,m=v),o(m)):e(m,v)}return E}var yl=bS(!0),ES=bS(!1),Yd=mr(null),Qd=null,oa=null,Rv=null;function _v(){Rv=oa=Qd=null}function Lv(n){var t=Yd.current;bt(Yd),n._currentValue=t}function Cg(n,t,e){for(;n!==null;){var i=n.alternate;if((n.childLanes&t)!==t?(n.childLanes|=t,i!==null&&(i.childLanes|=t)):i!==null&&(i.childLanes&t)!==t&&(i.childLanes|=t),n===e)break;n=n.return}}function ga(n,t){Qd=n,Rv=oa=null,n=n.dependencies,n!==null&&n.firstContext!==null&&(n.lanes&t&&(qe=!0),n.firstContext=null)}function kn(n){var t=n._currentValue;if(Rv!==n)if(n={context:n,memoizedValue:t,next:null},oa===null){if(Qd===null)throw Error(_(308));oa=n,Qd.dependencies={lanes:0,firstContext:n}}else oa=oa.next=n;return t}var kr=null;function Mv(n){kr===null?kr=[n]:kr.push(n)}function xS(n,t,e,i){var s=t.interleaved;return s===null?(e.next=e,Mv(t)):(e.next=s.next,s.next=e),t.interleaved=e,ms(n,i)}function ms(n,t){n.lanes|=t;var e=n.alternate;for(e!==null&&(e.lanes|=t),e=n,n=n.return;n!==null;)n.childLanes|=t,e=n.alternate,e!==null&&(e.childLanes|=t),e=n,n=n.return;return e.tag===3?e.stateNode:null}var Ps=!1;function Nv(n){n.updateQueue={baseState:n.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}function CS(n,t){n=n.updateQueue,t.updateQueue===n&&(t.updateQueue={baseState:n.baseState,firstBaseUpdate:n.firstBaseUpdate,lastBaseUpdate:n.lastBaseUpdate,shared:n.shared,effects:n.effects})}function cs(n,t){return{eventTime:n,lane:t,tag:0,payload:null,callback:null,next:null}}function rr(n,t,e){var i=n.updateQueue;if(i===null)return null;if(i=i.shared,at&2){var s=i.pending;return s===null?t.next=t:(t.next=s.next,s.next=t),i.pending=t,ms(n,e)}return s=i.interleaved,s===null?(t.next=t,Mv(i)):(t.next=s.next,s.next=t),i.interleaved=t,ms(n,e)}function id(n,t,e){if(t=t.updateQueue,t!==null&&(t=t.shared,(e&4194240)!==0)){var i=t.lanes;i&=n.pendingLanes,e|=i,t.lanes=e,yv(n,e)}}function r0(n,t){var e=n.updateQueue,i=n.alternate;if(i!==null&&(i=i.updateQueue,e===i)){var s=null,r=null;if(e=e.firstBaseUpdate,e!==null){do{var o={eventTime:e.eventTime,lane:e.lane,tag:e.tag,payload:e.payload,callback:e.callback,next:null};r===null?s=r=o:r=r.next=o,e=e.next}while(e!==null);r===null?s=r=t:r=r.next=t}else s=r=t;e={baseState:i.baseState,firstBaseUpdate:s,lastBaseUpdate:r,shared:i.shared,effects:i.effects},n.updateQueue=e;return}n=e.lastBaseUpdate,n===null?e.firstBaseUpdate=t:n.next=t,e.lastBaseUpdate=t}function Jd(n,t,e,i){var s=n.updateQueue;Ps=!1;var r=s.firstBaseUpdate,o=s.lastBaseUpdate,a=s.shared.pending;if(a!==null){s.shared.pending=null;var c=a,u=c.next;c.next=null,o===null?r=u:o.next=u,o=c;var h=n.alternate;h!==null&&(h=h.updateQueue,a=h.lastBaseUpdate,a!==o&&(a===null?h.firstBaseUpdate=u:a.next=u,h.lastBaseUpdate=c))}if(r!==null){var d=s.baseState;o=0,h=u=c=null,a=r;do{var f=a.lane,p=a.eventTime;if((i&f)===f){h!==null&&(h=h.next={eventTime:p,lane:0,tag:a.tag,payload:a.payload,callback:a.callback,next:null});t:{var g=n,w=a;switch(f=t,p=e,w.tag){case 1:if(g=w.payload,typeof g=="function"){d=g.call(p,d,f);break t}d=g;break t;case 3:g.flags=g.flags&-65537|128;case 0:if(g=w.payload,f=typeof g=="function"?g.call(p,d,f):g,f==null)break t;d=Rt({},d,f);break t;case 2:Ps=!0}}a.callback!==null&&a.lane!==0&&(n.flags|=64,f=s.effects,f===null?s.effects=[a]:f.push(a))}else p={eventTime:p,lane:f,tag:a.tag,payload:a.payload,callback:a.callback,next:null},h===null?(u=h=p,c=d):h=h.next=p,o|=f;if(a=a.next,a===null){if(a=s.shared.pending,a===null)break;f=a,a=f.next,f.next=null,s.lastBaseUpdate=f,s.shared.pending=null}}while(!0);if(h===null&&(c=d),s.baseState=c,s.firstBaseUpdate=u,s.lastBaseUpdate=h,t=s.shared.interleaved,t!==null){s=t;do o|=s.lane,s=s.next;while(s!==t)}else r===null&&(s.shared.lanes=0);_o|=o,n.lanes=o,n.memoizedState=d}}function o0(n,t,e){if(n=t.effects,t.effects=null,n!==null)for(t=0;te?e:4,n(!0);var i=Rp.transition;Rp.transition={};try{n(!1),t()}finally{dt=e,Rp.transition=i}}function US(){return Pn().memoizedState}function Mx(n,t,e){var i=ar(n);if(e={lane:i,action:e,hasEagerState:!1,eagerState:null,next:null},jS(n))WS(t,e);else if(e=xS(n,t,e,i),e!==null){var s=Re();Jn(e,n,i,s),BS(e,t,i)}}function Nx(n,t,e){var i=ar(n),s={lane:i,action:e,hasEagerState:!1,eagerState:null,next:null};if(jS(n))WS(t,s);else{var r=n.alternate;if(n.lanes===0&&(r===null||r.lanes===0)&&(r=t.lastRenderedReducer,r!==null))try{var o=t.lastRenderedState,a=r(o,e);if(s.hasEagerState=!0,s.eagerState=a,Zn(a,o)){var c=t.interleaved;c===null?(s.next=s,Mv(t)):(s.next=c.next,c.next=s),t.interleaved=s;return}}catch{}finally{}e=xS(n,t,s,i),e!==null&&(s=Re(),Jn(e,n,i,s),BS(e,t,i))}}function jS(n){var t=n.alternate;return n===Pt||t!==null&&t===Pt}function WS(n,t){uc=$d=!0;var e=n.pending;e===null?t.next=t:(t.next=e.next,e.next=t),n.pending=t}function BS(n,t,e){if(e&4194240){var i=t.lanes;i&=n.pendingLanes,e|=i,t.lanes=e,yv(n,e)}}var tf={readContext:kn,useCallback:de,useContext:de,useEffect:de,useImperativeHandle:de,useInsertionEffect:de,useLayoutEffect:de,useMemo:de,useReducer:de,useRef:de,useState:de,useDebugValue:de,useDeferredValue:de,useTransition:de,useMutableSource:de,useSyncExternalStore:de,useId:de,unstable_isNewReconciler:!1},Dx={readContext:kn,useCallback:function(n,t){return ei().memoizedState=[n,t===void 0?null:t],n},useContext:kn,useEffect:l0,useImperativeHandle:function(n,t,e){return e=e!=null?e.concat([n]):null,rd(4194308,4,OS.bind(null,t,n),e)},useLayoutEffect:function(n,t){return rd(4194308,4,n,t)},useInsertionEffect:function(n,t){return rd(4,2,n,t)},useMemo:function(n,t){var e=ei();return t=t===void 0?null:t,n=n(),e.memoizedState=[n,t],n},useReducer:function(n,t,e){var i=ei();return t=e!==void 0?e(t):t,i.memoizedState=i.baseState=t,n={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:n,lastRenderedState:t},i.queue=n,n=n.dispatch=Mx.bind(null,Pt,n),[i.memoizedState,n]},useRef:function(n){var t=ei();return n={current:n},t.memoizedState=n},useState:a0,useDebugValue:Hv,useDeferredValue:function(n){return ei().memoizedState=n},useTransition:function(){var n=a0(!1),t=n[0];return n=Lx.bind(null,n[1]),ei().memoizedState=n,[t,n]},useMutableSource:function(){},useSyncExternalStore:function(n,t,e){var i=Pt,s=ei();if(xt){if(e===void 0)throw Error(_(407));e=e()}else{if(e=t(),$t===null)throw Error(_(349));Ro&30||RS(i,t,e)}s.memoizedState=e;var r={value:e,getSnapshot:t};return s.queue=r,l0(LS.bind(null,i,r,n),[n]),i.flags|=2048,Nc(9,_S.bind(null,i,r,e,t),void 0,null),e},useId:function(){var n=ei(),t=$t.identifierPrefix;if(xt){var e=ls,i=as;e=(i&~(1<<32-Qn(i)-1)).toString(32)+e,t=":"+t+"R"+e,e=Lc++,0<\/script>",n=n.removeChild(n.firstChild)):typeof i.is=="string"?n=o.createElement(e,{is:i.is}):(n=o.createElement(e),e==="select"&&(o=n,i.multiple?o.multiple=!0:i.size&&(o.size=i.size))):n=o.createElementNS(n,e),n[wi]=t,n[Pc]=i,n1(n,t,!1,!1),t.stateNode=n;t:{switch(o=ag(e,i),e){case"dialog":At("cancel",n),At("close",n),s=i;break;case"iframe":case"object":case"embed":At("load",n),s=i;break;case"video":case"audio":for(s=0;sAl&&(t.flags|=128,i=!0,Ml(r,!1),t.lanes=4194304)}else{if(!i)if(n=Zd(o),n!==null){if(t.flags|=128,i=!0,e=n.updateQueue,e!==null&&(t.updateQueue=e,t.flags|=4),Ml(r,!0),r.tail===null&&r.tailMode==="hidden"&&!o.alternate&&!xt)return fe(t),null}else 2*It()-r.renderingStartTime>Al&&e!==1073741824&&(t.flags|=128,i=!0,Ml(r,!1),t.lanes=4194304);r.isBackwards?(o.sibling=t.child,t.child=o):(e=r.last,e!==null?e.sibling=o:t.child=o,r.last=o)}return r.tail!==null?(t=r.tail,r.rendering=t,r.tail=t.sibling,r.renderingStartTime=It(),t.sibling=null,e=kt.current,St(kt,i?e&1|2:e&1),t):(fe(t),null);case 22:case 23:return Gv(),i=t.memoizedState!==null,n!==null&&n.memoizedState!==null!==i&&(t.flags|=8192),i&&t.mode&1?on&1073741824&&(fe(t),t.subtreeFlags&6&&(t.flags|=8192)):fe(t),null;case 24:return null;case 25:return null}throw Error(_(156,t.tag))}function jx(n,t){switch(Pv(t),t.tag){case 1:return We(t.type)&&Bd(),n=t.flags,n&65536?(t.flags=n&-65537|128,t):null;case 3:return wl(),bt(je),bt(be),Ov(),n=t.flags,n&65536&&!(n&128)?(t.flags=n&-65537|128,t):null;case 5:return Fv(t),null;case 13:if(bt(kt),n=t.memoizedState,n!==null&&n.dehydrated!==null){if(t.alternate===null)throw Error(_(340));vl()}return n=t.flags,n&65536?(t.flags=n&-65537|128,t):null;case 19:return bt(kt),null;case 4:return wl(),null;case 10:return Mv(t.type._context),null;case 22:case 23:return Gv(),null;case 24:return null;default:return null}}var zh=!1,Se=!1,Wx=typeof WeakSet=="function"?WeakSet:Set,z=null;function aa(n,t){var e=n.ref;if(e!==null)if(typeof e=="function")try{e(null)}catch(i){Mt(n,t,i)}else e.current=null}function Dg(n,t,e){try{e()}catch(i){Mt(n,t,i)}}var S0=!1;function Bx(n,t){if(vg=Hd,n=cS(),Tv(n)){if("selectionStart"in n)var e={start:n.selectionStart,end:n.selectionEnd};else t:{e=(e=n.ownerDocument)&&e.defaultView||window;var i=e.getSelection&&e.getSelection();if(i&&i.rangeCount!==0){e=i.anchorNode;var s=i.anchorOffset,r=i.focusNode;i=i.focusOffset;try{e.nodeType,r.nodeType}catch{e=null;break t}var o=0,a=-1,c=-1,u=0,h=0,d=n,f=null;e:for(;;){for(var p;d!==e||s!==0&&d.nodeType!==3||(a=o+s),d!==r||i!==0&&d.nodeType!==3||(c=o+i),d.nodeType===3&&(o+=d.nodeValue.length),(p=d.firstChild)!==null;)f=d,d=p;for(;;){if(d===n)break e;if(f===e&&++u===s&&(a=o),f===r&&++h===i&&(c=o),(p=d.nextSibling)!==null)break;d=f,f=d.parentNode}d=p}e=a===-1||c===-1?null:{start:a,end:c}}else e=null}e=e||{start:0,end:0}}else e=null;for(yg={focusedElem:n,selectionRange:e},Hd=!1,z=t;z!==null;)if(t=z,n=t.child,(t.subtreeFlags&1028)!==0&&n!==null)n.return=t,z=n;else for(;z!==null;){t=z;try{var g=t.alternate;if(t.flags&1024)switch(t.tag){case 0:case 11:case 15:break;case 1:if(g!==null){var w=g.memoizedProps,E=g.memoizedState,m=t.stateNode,v=m.getSnapshotBeforeUpdate(t.elementType===t.type?w:Nn(t.type,w),E);m.__reactInternalSnapshotBeforeUpdate=v}break;case 3:var y=t.stateNode.containerInfo;y.nodeType===1?y.textContent="":y.nodeType===9&&y.documentElement&&y.removeChild(y.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(_(163))}}catch(x){Mt(t,t.return,x)}if(n=t.sibling,n!==null){n.return=t.return,z=n;break}z=t.return}return g=S0,S0=!1,g}function hc(n,t,e){var i=t.updateQueue;if(i=i!==null?i.lastEffect:null,i!==null){var s=i=i.next;do{if((s.tag&n)===n){var r=s.destroy;s.destroy=void 0,r!==void 0&&Dg(t,e,r)}s=s.next}while(s!==i)}}function Uf(n,t){if(t=t.updateQueue,t=t!==null?t.lastEffect:null,t!==null){var e=t=t.next;do{if((e.tag&n)===n){var i=e.create;e.destroy=i()}e=e.next}while(e!==t)}}function Ig(n){var t=n.ref;if(t!==null){var e=n.stateNode;switch(n.tag){case 5:n=e;break;default:n=e}typeof t=="function"?t(n):t.current=n}}function r1(n){var t=n.alternate;t!==null&&(n.alternate=null,r1(t)),n.child=null,n.deletions=null,n.sibling=null,n.tag===5&&(t=n.stateNode,t!==null&&(delete t[wi],delete t[Pc],delete t[Ag],delete t[kx],delete t[Px])),n.stateNode=null,n.return=null,n.dependencies=null,n.memoizedProps=null,n.memoizedState=null,n.pendingProps=null,n.stateNode=null,n.updateQueue=null}function o1(n){return n.tag===5||n.tag===3||n.tag===4}function A0(n){t:for(;;){for(;n.sibling===null;){if(n.return===null||o1(n.return))return null;n=n.return}for(n.sibling.return=n.return,n=n.sibling;n.tag!==5&&n.tag!==6&&n.tag!==18;){if(n.flags&2||n.child===null||n.tag===4)continue t;n.child.return=n,n=n.child}if(!(n.flags&2))return n.stateNode}}function Fg(n,t,e){var i=n.tag;if(i===5||i===6)n=n.stateNode,t?e.nodeType===8?e.parentNode.insertBefore(n,t):e.insertBefore(n,t):(e.nodeType===8?(t=e.parentNode,t.insertBefore(n,e)):(t=e,t.appendChild(n)),e=e._reactRootContainer,e!=null||t.onclick!==null||(t.onclick=Wd));else if(i!==4&&(n=n.child,n!==null))for(Fg(n,t,e),n=n.sibling;n!==null;)Fg(n,t,e),n=n.sibling}function Og(n,t,e){var i=n.tag;if(i===5||i===6)n=n.stateNode,t?e.insertBefore(n,t):e.appendChild(n);else if(i!==4&&(n=n.child,n!==null))for(Og(n,t,e),n=n.sibling;n!==null;)Og(n,t,e),n=n.sibling}var ae=null,Gn=!1;function As(n,t,e){for(e=e.child;e!==null;)a1(n,t,e),e=e.sibling}function a1(n,t,e){if(Si&&typeof Si.onCommitFiberUnmount=="function")try{Si.onCommitFiberUnmount(Df,e)}catch{}switch(e.tag){case 5:Se||aa(e,t);case 6:var i=ae,s=Gn;ae=null,As(n,t,e),ae=i,Gn=s,ae!==null&&(Gn?(n=ae,e=e.stateNode,n.nodeType===8?n.parentNode.removeChild(e):n.removeChild(e)):ae.removeChild(e.stateNode));break;case 18:ae!==null&&(Gn?(n=ae,e=e.stateNode,n.nodeType===8?Tp(n.parentNode,e):n.nodeType===1&&Tp(n,e),Ec(n)):Tp(ae,e.stateNode));break;case 4:i=ae,s=Gn,ae=e.stateNode.containerInfo,Gn=!0,As(n,t,e),ae=i,Gn=s;break;case 0:case 11:case 14:case 15:if(!Se&&(i=e.updateQueue,i!==null&&(i=i.lastEffect,i!==null))){s=i=i.next;do{var r=s,o=r.destroy;r=r.tag,o!==void 0&&(r&2||r&4)&&Dg(e,t,o),s=s.next}while(s!==i)}As(n,t,e);break;case 1:if(!Se&&(aa(e,t),i=e.stateNode,typeof i.componentWillUnmount=="function"))try{i.props=e.memoizedProps,i.state=e.memoizedState,i.componentWillUnmount()}catch(a){Mt(e,t,a)}As(n,t,e);break;case 21:As(n,t,e);break;case 22:e.mode&1?(Se=(i=Se)||e.memoizedState!==null,As(n,t,e),Se=i):As(n,t,e);break;default:As(n,t,e)}}function b0(n){var t=n.updateQueue;if(t!==null){n.updateQueue=null;var e=n.stateNode;e===null&&(e=n.stateNode=new Wx),t.forEach(function(i){var s=tC.bind(null,n,i);e.has(i)||(e.add(i),i.then(s,s))})}}function _n(n,t){var e=t.deletions;if(e!==null)for(var i=0;is&&(s=o),i&=~r}if(i=s,i=It()-i,i=(120>i?120:480>i?480:1080>i?1080:1920>i?1920:3e3>i?3e3:4320>i?4320:1960*Xx(i/1960))-i,10n?16:n,tr===null)var i=!1;else{if(n=tr,tr=null,sf=0,at&6)throw Error(_(331));var s=at;for(at|=4,z=n.current;z!==null;){var r=z,o=r.child;if(z.flags&16){var a=r.deletions;if(a!==null){for(var c=0;cIt()-Kv?Co(n,0):Bv|=e),Be(n,t)}function g1(n,t){t===0&&(n.mode&1?(t=Rh,Rh<<=1,!(Rh&130023424)&&(Rh=4194304)):t=1);var e=Re();n=ms(n,t),n!==null&&(gh(n,t,e),Be(n,e))}function $x(n){var t=n.memoizedState,e=0;t!==null&&(e=t.retryLane),g1(n,e)}function tC(n,t){var e=0;switch(n.tag){case 13:var i=n.stateNode,s=n.memoizedState;s!==null&&(e=s.retryLane);break;case 19:i=n.stateNode;break;default:throw Error(_(314))}i!==null&&i.delete(t),g1(n,e)}var m1;m1=function(n,t,e){if(n!==null)if(n.memoizedProps!==t.pendingProps||je.current)qe=!0;else{if(!(n.lanes&e)&&!(t.flags&128))return qe=!1,Hx(n,t,e);qe=!!(n.flags&131072)}else qe=!1,xt&&t.flags&1048576&&SS(t,Gd,t.index);switch(t.lanes=0,t.tag){case 2:var i=t.type;od(n,t),n=t.pendingProps;var s=ml(t,be.current);ga(t,e),s=Vv(null,t,i,n,s,e);var r=qv();return t.flags|=1,typeof s=="object"&&s!==null&&typeof s.render=="function"&&s.$$typeof===void 0?(t.tag=1,t.memoizedState=null,t.updateQueue=null,We(i)?(r=!0,Kd(t)):r=!1,t.memoizedState=s.state!==null&&s.state!==void 0?s.state:null,Dv(t),s.updater=Hf,t.stateNode=s,s._reactInternals=t,kg(t,i,n,e),t=_g(null,t,i,!0,r,e)):(t.tag=0,xt&&r&&kv(t),ke(null,t,s,e),t=t.child),t;case 16:i=t.elementType;t:{switch(od(n,t),n=t.pendingProps,s=i._init,i=s(i._payload),t.type=i,s=t.tag=nC(i),n=Nn(i,n),s){case 0:t=Rg(null,t,i,n,e);break t;case 1:t=v0(null,t,i,n,e);break t;case 11:t=g0(null,t,i,n,e);break t;case 14:t=m0(null,t,i,Nn(i.type,n),e);break t}throw Error(_(306,i,""))}return t;case 0:return i=t.type,s=t.pendingProps,s=t.elementType===i?s:Nn(i,s),Rg(n,t,i,s,e);case 1:return i=t.type,s=t.pendingProps,s=t.elementType===i?s:Nn(i,s),v0(n,t,i,s,e);case 3:t:{if($S(t),n===null)throw Error(_(387));i=t.pendingProps,r=t.memoizedState,s=r.element,TS(n,t),Jd(t,i,null,e);var o=t.memoizedState;if(i=o.element,r.isDehydrated)if(r={element:i,isDehydrated:!1,cache:o.cache,pendingSuspenseBoundaries:o.pendingSuspenseBoundaries,transitions:o.transitions},t.updateQueue.baseState=r,t.memoizedState=r,t.flags&256){s=Sl(Error(_(423)),t),t=y0(n,t,i,e,s);break t}else if(i!==s){s=Sl(Error(_(424)),t),t=y0(n,t,i,e,s);break t}else for(ln=sr(t.stateNode.containerInfo.firstChild),cn=t,xt=!0,Yn=null,e=xS(t,null,i,e),t.child=e;e;)e.flags=e.flags&-3|4096,e=e.sibling;else{if(vl(),i===s){t=vs(n,t,e);break t}ke(n,t,i,e)}t=t.child}return t;case 5:return kS(t),n===null&&xg(t),i=t.type,s=t.pendingProps,r=n!==null?n.memoizedProps:null,o=s.children,wg(i,s)?o=null:r!==null&&wg(i,r)&&(t.flags|=32),ZS(n,t),ke(n,t,o,e),t.child;case 6:return n===null&&xg(t),null;case 13:return t1(n,t,e);case 4:return Iv(t,t.stateNode.containerInfo),i=t.pendingProps,n===null?t.child=yl(t,null,i,e):ke(n,t,i,e),t.child;case 11:return i=t.type,s=t.pendingProps,s=t.elementType===i?s:Nn(i,s),g0(n,t,i,s,e);case 7:return ke(n,t,t.pendingProps,e),t.child;case 8:return ke(n,t,t.pendingProps.children,e),t.child;case 12:return ke(n,t,t.pendingProps.children,e),t.child;case 10:t:{if(i=t.type._context,s=t.pendingProps,r=t.memoizedProps,o=s.value,St(Yd,i._currentValue),i._currentValue=o,r!==null)if(Zn(r.value,o)){if(r.children===s.children&&!je.current){t=vs(n,t,e);break t}}else for(r=t.child,r!==null&&(r.return=t);r!==null;){var a=r.dependencies;if(a!==null){o=r.child;for(var c=a.firstContext;c!==null;){if(c.context===i){if(r.tag===1){c=cs(-1,e&-e),c.tag=2;var u=r.updateQueue;if(u!==null){u=u.shared;var h=u.pending;h===null?c.next=c:(c.next=h.next,h.next=c),u.pending=c}}r.lanes|=e,c=r.alternate,c!==null&&(c.lanes|=e),Cg(r.return,e,t),a.lanes|=e;break}c=c.next}}else if(r.tag===10)o=r.type===t.type?null:r.child;else if(r.tag===18){if(o=r.return,o===null)throw Error(_(341));o.lanes|=e,a=o.alternate,a!==null&&(a.lanes|=e),Cg(o,e,t),o=r.sibling}else o=r.child;if(o!==null)o.return=r;else for(o=r;o!==null;){if(o===t){o=null;break}if(r=o.sibling,r!==null){r.return=o.return,o=r;break}o=o.return}r=o}ke(n,t,s.children,e),t=t.child}return t;case 9:return s=t.type,i=t.pendingProps.children,ga(t,e),s=kn(s),i=i(s),t.flags|=1,ke(n,t,i,e),t.child;case 14:return i=t.type,s=Nn(i,t.pendingProps),s=Nn(i.type,s),m0(n,t,i,s,e);case 15:return QS(n,t,t.type,t.pendingProps,e);case 17:return i=t.type,s=t.pendingProps,s=t.elementType===i?s:Nn(i,s),od(n,t),t.tag=1,We(i)?(n=!0,Kd(t)):n=!1,ga(t,e),XS(t,i,s),kg(t,i,s,e),_g(null,t,i,!0,n,e);case 19:return e1(n,t,e);case 22:return JS(n,t,e)}throw Error(_(156,t.tag))};function v1(n,t){return Ww(n,t)}function eC(n,t,e,i){this.tag=n,this.key=e,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=t,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=i,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function Cn(n,t,e,i){return new eC(n,t,e,i)}function Qv(n){return n=n.prototype,!(!n||!n.isReactComponent)}function nC(n){if(typeof n=="function")return Qv(n)?1:0;if(n!=null){if(n=n.$$typeof,n===gv)return 11;if(n===mv)return 14}return 2}function lr(n,t){var e=n.alternate;return e===null?(e=Cn(n.tag,t,n.key,n.mode),e.elementType=n.elementType,e.type=n.type,e.stateNode=n.stateNode,e.alternate=n,n.alternate=e):(e.pendingProps=t,e.type=n.type,e.flags=0,e.subtreeFlags=0,e.deletions=null),e.flags=n.flags&14680064,e.childLanes=n.childLanes,e.lanes=n.lanes,e.child=n.child,e.memoizedProps=n.memoizedProps,e.memoizedState=n.memoizedState,e.updateQueue=n.updateQueue,t=n.dependencies,e.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext},e.sibling=n.sibling,e.index=n.index,e.ref=n.ref,e}function cd(n,t,e,i,s,r){var o=2;if(i=n,typeof n=="function")Qv(n)&&(o=1);else if(typeof n=="string")o=5;else t:switch(n){case Zo:return To(e.children,s,r,t);case pv:o=8,s|=8;break;case Jp:return n=Cn(12,e,t,s|2),n.elementType=Jp,n.lanes=r,n;case Zp:return n=Cn(13,e,t,s),n.elementType=Zp,n.lanes=r,n;case $p:return n=Cn(19,e,t,s),n.elementType=$p,n.lanes=r,n;case kw:return Wf(e,s,r,t);default:if(typeof n=="object"&&n!==null)switch(n.$$typeof){case Cw:o=10;break t;case Tw:o=9;break t;case gv:o=11;break t;case mv:o=14;break t;case ks:o=16,i=null;break t}throw Error(_(130,n==null?n:typeof n,""))}return t=Cn(o,e,t,s),t.elementType=n,t.type=i,t.lanes=r,t}function To(n,t,e,i){return n=Cn(7,n,i,t),n.lanes=e,n}function Wf(n,t,e,i){return n=Cn(22,n,i,t),n.elementType=kw,n.lanes=e,n.stateNode={isHidden:!1},n}function Dp(n,t,e){return n=Cn(6,n,null,t),n.lanes=e,n}function Ip(n,t,e){return t=Cn(4,n.children!==null?n.children:[],n.key,t),t.lanes=e,t.stateNode={containerInfo:n.containerInfo,pendingChildren:null,implementation:n.implementation},t}function iC(n,t,e,i,s){this.tag=t,this.containerInfo=n,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=gp(0),this.expirationTimes=gp(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=gp(0),this.identifierPrefix=i,this.onRecoverableError=s,this.mutableSourceEagerHydrationData=null}function Jv(n,t,e,i,s,r,o,a,c){return n=new iC(n,t,e,a,c),t===1?(t=1,r===!0&&(t|=8)):t=0,r=Cn(3,null,null,t),n.current=r,r.stateNode=n,r.memoizedState={element:i,isDehydrated:e,cache:null,transitions:null,pendingSuspenseBoundaries:null},Dv(r),n}function sC(n,t,e){var i=3"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(A1)}catch(n){console.error(n)}}A1(),Aw.exports=dn;var wh=Aw.exports,ey,_0=wh;ey=_0.createRoot,_0.hydrateRoot;const cC="modulepreload",uC=function(n){return"/react-pdf-highlighter/"+n},L0={},jl=function(t,e,i){let s=Promise.resolve();if(e&&e.length>0){document.getElementsByTagName("link");const o=document.querySelector("meta[property=csp-nonce]"),a=(o==null?void 0:o.nonce)||(o==null?void 0:o.getAttribute("nonce"));s=Promise.allSettled(e.map(c=>{if(c=uC(c),c in L0)return;L0[c]=!0;const u=c.endsWith(".css"),h=u?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${c}"]${h}`))return;const d=document.createElement("link");if(d.rel=u?"stylesheet":cC,u||(d.as="script"),d.crossOrigin="",d.href=c,a&&d.setAttribute("nonce",a),document.head.appendChild(d),u)return new Promise((f,p)=>{d.addEventListener("load",f),d.addEventListener("error",()=>p(new Error(`Unable to preload CSS for ${c}`)))})}))}function r(o){const a=new Event("vite:preloadError",{cancelable:!0});if(a.payload=o,window.dispatchEvent(a),!a.defaultPrevented)throw o}return s.then(o=>{for(const a of o||[])a.status==="rejected"&&r(a.reason);return t().catch(r)})};function M0(n,t,e){var i,s,r;e===void 0&&(e={});var o=(i=e.isImmediate)!=null&&i,a=(s=e.callback)!=null&&s,c=e.maxWait,u=Date.now(),h=[];function d(){if(c!==void 0){var p=Date.now()-u;if(p+t>=c)return c-p}return t}var f=function(){var p=[].slice.call(arguments),g=this;return new Promise(function(w,E){var m=o&&r===void 0;if(r!==void 0&&clearTimeout(r),r=setTimeout(function(){if(r=void 0,u=Date.now(),!o){var y=n.apply(g,p);a&&a(y),h.forEach(function(x){return(0,x.resolve)(y)}),h=[]}},d()),m){var v=n.apply(g,p);return a&&a(v),w(v)}h.push({resolve:w,reject:E})})};return f.cancel=function(p){r!==void 0&&clearTimeout(r),h.forEach(function(g){return(0,g.reject)(p)}),h=[]},f}const Ug=(n,{width:t,height:e})=>({x1:n.left,y1:n.top,x2:n.left+n.width,y2:n.top+n.height,width:t,height:e,pageNumber:n.pageNumber}),hC=(n,t)=>{const[e,i,s,r]=t.convertToViewportRectangle([n.x1,n.y1,n.x2,n.y2]);return{left:Math.min(e,s),top:Math.min(i,r),width:Math.abs(s-e),height:Math.abs(i-r),pageNumber:n.pageNumber}},Fp=(n,t,e=!1)=>{const{width:i,height:s}=t;if(e)return hC(n,t);if(n.x1===void 0)throw new Error("You are using old position format, please update");const r=i*n.x1/n.width,o=s*n.y1/n.height,a=i*n.x2/n.width,c=s*n.y2/n.height;return{left:r,top:o,width:a-r,height:c-o,pageNumber:n.pageNumber}},b1=n=>n.ownerDocument||document,ny=n=>b1(n).defaultView||window,cr=n=>n!=null&&(n instanceof HTMLElement||n instanceof ny(n).HTMLElement),dC=n=>n instanceof HTMLCanvasElement||n instanceof ny(n).HTMLCanvasElement,pc=n=>{const t=n.closest(".page");if(!cr(t))return null;const e=Number(t.dataset.pageNumber);return{node:t,number:e}},fC=n=>{const t=n.startContainer.parentElement,e=n.endContainer.parentElement;if(!cr(t)||!cr(e))return[];const i=pc(t),s=pc(e);if(!(i!=null&&i.number)||!(s!=null&&s.number))return[];if(i.number===s.number)return[i];if(i.number===s.number-1)return[i,s];const r=[];let o=i.number;const a=i.node.ownerDocument;for(;o<=s.number;){const c=pc(a.querySelector(`[data-page-number='${o}'`));c&&r.push(c),o++}return r},pC=(n,t,e)=>{const i=b1(n);let s=n.querySelector(e);return s||(s=i.createElement("div"),s.className=t,n.appendChild(s)),s},gC=(n,t)=>{const{left:e,top:i,width:s,height:r}=t,o=n?n.ownerDocument:null,a=o==null?void 0:o.createElement("canvas");if(!a||!dC(a))return"";a.width=s,a.height=r;const c=a.getContext("2d");if(!c||!n)return"";const u=window.devicePixelRatio;return c.drawImage(n,e*u,i*u,s*u,r*u,0,0,s,r),a.toDataURL("image/png")},mC=n=>{const t=Array.from(n).map(h=>{const{left:d,top:f,width:p,height:g,pageNumber:w}=h,E=d,m=d+p,v=f,y=f+g;return{X0:E,X1:m,Y0:v,Y1:y,pageNumber:w}});let e=Number.MAX_SAFE_INTEGER;for(const h of t)e=Math.min(e,h.pageNumber??e);const i=t.filter(h=>(h.X0>0||h.X1>0||h.Y0>0||h.Y1>0)&&h.pageNumber===e),s=i.reduce((h,d)=>({X0:Math.min(h.X0,d.X0),X1:Math.max(h.X1,d.X1),Y0:Math.min(h.Y0,d.Y0),Y1:Math.max(h.Y1,d.Y1),pageNumber:e}),i[0]),{X0:r,X1:o,Y0:a,Y1:c,pageNumber:u}=s;return{left:r,top:a,width:o-r,height:c-a,pageNumber:u}},vC=n=>n.sort((t,e)=>{const i=(t.pageNumber||0)*t.top-(e.pageNumber||0)*e.top;return i===0?t.left-e.left:i}),yC=(n,t)=>n.pageNumber===t.pageNumber&&n.left<=t.left&&t.left<=n.left+n.width,wC=(n,t,e=5)=>n.pageNumber===t.pageNumber&&Math.abs(n.top-t.top)n.pageNumber===t.pageNumber&&n.top>t.top&&n.left>t.left&&n.top+n.height{const i=n.left+n.width,s=t.left+t.width;return n.pageNumber===t.pageNumber&&n.left<=t.left&&i<=s&&t.left-i<=e},N0=(n,t)=>{n.width=Math.max(t.width-n.left+t.left,n.width)},bC=n=>{const t=vC(n),e=new Set,i=t.filter(r=>t.every(o=>!SC(r,o)));let s=0;for(;s<=2;){for(const r of i)for(const o of i)r===o||e.has(r)||e.has(o)||wC(r,o)&&(yC(r,o)&&(N0(r,o),r.height=Math.max(r.height,o.height),e.add(o)),AC(r,o)&&(N0(r,o),e.add(o)));s+=1}return i.filter(r=>!e.has(r))},EC=(n,t)=>!(n.topt.bottom||n.right>t.right||n.left{const i=Array.from(n.getClientRects()),s=[];for(const r of i)for(const o of t){const a=o.node.getBoundingClientRect();if(EC(r,a)&&r.width>0&&r.height>0&&r.width{const g={...f,position:t(f.position)};r&&r.highlight.id===String(f.id)&&u(r.highlight,r.callback(g));const w=i===f.id;return s(g,p,(E,m)=>{h({highlight:E,callback:m}),u(E,m(E))},o,E=>{const m=a.getPageView((E.pageNumber||Number.parseInt(e))-1).viewport;return Ug(E,m)},E=>c(E,Number.parseInt(e)),w)})})}const _C="_mouseSelection_1p43j_1",LC={mouseSelection:_C},D0=(n,t)=>({left:Math.min(t.x,n.x),top:Math.min(t.y,n.y),width:Math.abs(t.x-n.x),height:Math.abs(t.y-n.y)}),MC=n=>n.width>=1&&n.height>=1;function NC({onSelection:n,onDragStart:t,onDragEnd:e,shouldStart:i,onChange:s}){const[r,o]=Y.useState(!1),[a,c]=Y.useState(null),[u,h]=Y.useState(null),d=Y.useRef(null),f=Y.useRef(a),p=Y.useRef(r);Y.useEffect(()=>{f.current=a},[a]),Y.useEffect(()=>{p.current=r},[r]);const g=Y.useCallback(()=>{e(),c(null),h(null),o(!1)},[e]);return Y.useEffect(()=>{s(!!(a&&u))},[a,u,s]),Y.useEffect(()=>{const w=d.current;if(!w)return;const E=w.parentElement;if(!E||!cr(E))return;const m=(x,C)=>{const T=E.getBoundingClientRect();return{x:x-T.left+E.scrollLeft,y:C-T.top+E.scrollTop-window.scrollY}},v=x=>{!f.current||p.current||h(m(x.pageX,x.pageY))},y=x=>{if(!i(x)){g();return}const C=x.target;if(!(C instanceof Element)||!cr(C))return;t(),c(m(x.pageX,x.pageY)),h(null),o(!1);const T=P=>{var W;(W=P.currentTarget)==null||W.removeEventListener("mouseup",T);const M=f.current;if(!M||!(P instanceof MouseEvent))return;const L=m(P.pageX,P.pageY),D=D0(M,L);if(!(P.target instanceof Element)||!cr(P.target)||!E.contains(P.target)||!MC(D)){g();return}h(L),o(!0),n(C,D,g),e()},k=E.ownerDocument;k!=null&&k.body&&k.body.addEventListener("mouseup",T)};return E.addEventListener("mousemove",v),E.addEventListener("mousedown",y),()=>{E.removeEventListener("mousemove",v),E.removeEventListener("mousedown",y)}},[i,t,e,n,g]),N.jsx("div",{ref:d,children:a&&u&&N.jsx("div",{className:LC.mouseSelection,style:D0(a,u)})})}const DC="_tipContainer_f56kr_1",IC={tipContainer:DC};function FC(n,t,e){return Math.min(Math.max(n,t),e)}function OC({children:n,style:t,scrollTop:e,pageBoundingRect:i}){const[s,r]=Y.useState(0),[o,a]=Y.useState(0),c=Y.useRef(null),u=Y.useCallback(()=>{if(!c.current)return;const{offsetHeight:E,offsetWidth:m}=c.current;r(E),a(m)},[]);Y.useEffect(()=>{setTimeout(u,0)},[u]);const h=o===0&&s===0,d=t.top-s-5{a(0),r(0),setTimeout(u,0)},[u]),w=pl.Children.map(n,E=>E!=null?pl.cloneElement(E,{onUpdate:g,popup:{position:d?"below":"above"}}):null);return N.jsx("div",{id:"PdfHighlighter__tip-container",className:IC.tipContainer,style:{visibility:h?"hidden":"visible",top:f,left:p},ref:c,children:w})}const I0="empty-id";class E1 extends Y.PureComponent{constructor(e){super(e);I(this,"state",{ghostHighlight:null,isCollapsed:!0,range:null,scrolledToHighlightId:I0,isAreaSelectionInProgress:!1,tip:null,tipPosition:null,tipChildren:null});I(this,"viewer");I(this,"resizeObserver",null);I(this,"containerNode",null);I(this,"containerNodeRef");I(this,"highlightRoots",{});I(this,"unsubscribe",()=>{});I(this,"attachRef",e=>{var s;const{resizeObserver:i}=this;if(this.containerNode=this.containerNodeRef.current,this.unsubscribe(),this.containerNode){const{ownerDocument:r}=this.containerNode;e.on("textlayerrendered",this.onTextLayerRendered),e.on("pagesinit",this.onDocumentReady),r.addEventListener("selectionchange",this.onSelectionChange),r.addEventListener("keydown",this.handleKeyDown),(s=r.defaultView)==null||s.addEventListener("resize",this.debouncedScaleValue),i&&i.observe(this.containerNode),this.unsubscribe=()=>{var o;e.off("pagesinit",this.onDocumentReady),e.off("textlayerrendered",this.onTextLayerRendered),r.removeEventListener("selectionchange",this.onSelectionChange),r.removeEventListener("keydown",this.handleKeyDown),(o=r.defaultView)==null||o.removeEventListener("resize",this.debouncedScaleValue),i&&i.disconnect()}}});I(this,"hideTipAndSelection",()=>{this.setState({tipPosition:null,tipChildren:null}),this.setState({ghostHighlight:null,tip:null},()=>this.renderHighlightLayers())});I(this,"renderTip",()=>{const{tipPosition:e,tipChildren:i}=this.state;if(!e)return null;const{boundingRect:s,pageNumber:r}=e,o={node:this.viewer.getPageView((s.pageNumber||r)-1).div,pageNumber:s.pageNumber||r},a=o.node.getBoundingClientRect(),c={bottom:a.bottom,height:a.height,left:a.left,right:a.right,top:a.top,width:a.width,x:a.x,y:a.y,pageNumber:o.pageNumber};return N.jsx(OC,{scrollTop:this.viewer.container.scrollTop,pageBoundingRect:c,style:{left:o.node.offsetLeft+s.left+s.width/2,top:s.top+o.node.offsetTop,bottom:s.top+o.node.offsetTop+s.height},children:i})});I(this,"onTextLayerRendered",()=>{this.renderHighlightLayers()});I(this,"scrollTo",e=>{const{pageNumber:i,boundingRect:s,usePdfCoordinates:r}=e.position;this.viewer.container.removeEventListener("scroll",this.onScroll);const o=this.viewer.getPageView(i-1).viewport;this.viewer.scrollPageIntoView({pageNumber:i,destArray:[null,{name:"XYZ"},...o.convertToPdfPoint(0,Fp(s,o,r).top-10),0]}),this.setState({scrolledToHighlightId:e.id},()=>this.renderHighlightLayers()),setTimeout(()=>{this.viewer.container.addEventListener("scroll",this.onScroll)},100)});I(this,"onDocumentReady",()=>{const{scrollRef:e}=this.props;this.handleScaleValue(),e(this.scrollTo)});I(this,"onSelectionChange",()=>{const e=this.containerNode;if(!e)return;const i=ny(e).getSelection();if(!i)return;const s=i.rangeCount>0?i.getRangeAt(0):null;if(i.isCollapsed){this.setState({isCollapsed:!0});return}!s||!e||!e.contains(s.commonAncestorContainer)||(this.setState({isCollapsed:!1,range:s}),this.debouncedAfterSelection())});I(this,"onScroll",()=>{const{onScrollChange:e}=this.props;e(),this.setState({scrolledToHighlightId:I0},()=>this.renderHighlightLayers()),this.viewer.container.removeEventListener("scroll",this.onScroll)});I(this,"onMouseDown",e=>{!(e.target instanceof Element)||!cr(e.target)||e.target.closest("#PdfHighlighter__tip-container")||this.hideTipAndSelection()});I(this,"handleKeyDown",e=>{e.code==="Escape"&&this.hideTipAndSelection()});I(this,"afterSelection",()=>{const{onSelectionFinished:e}=this.props,{isCollapsed:i,range:s}=this.state;if(!s||i)return;const r=fC(s);if(!r||r.length===0)return;const o=xC(s,r);if(o.length===0)return;const c={boundingRect:mC(o),rects:o,pageNumber:r[0].number},u={text:s.toString()},h=this.viewportPositionToScaled(c);this.setTip(c,e(h,u,()=>this.hideTipAndSelection(),()=>this.setState({ghostHighlight:{position:h}},()=>this.renderHighlightLayers())))});I(this,"debouncedAfterSelection",M0(this.afterSelection,500));I(this,"handleScaleValue",()=>{this.viewer&&(this.viewer.currentScaleValue=this.props.pdfScaleValue)});I(this,"debouncedScaleValue",M0(this.handleScaleValue,500));typeof ResizeObserver<"u"&&(this.resizeObserver=new ResizeObserver(this.debouncedScaleValue)),this.containerNodeRef=pl.createRef()}componentDidMount(){this.init()}componentDidUpdate(e){if(e.pdfDocument!==this.props.pdfDocument){this.init();return}e.highlights!==this.props.highlights&&this.renderHighlightLayers()}async init(){const{pdfDocument:e,pdfViewerOptions:i}=this.props,s=await jl(()=>import("./pdf_viewer-BDtZ6JaA.js"),[]),r=new s.EventBus,o=new s.PDFLinkService({eventBus:r,externalLinkTarget:2});if(!this.containerNodeRef.current)throw new Error("!");this.viewer=this.viewer||new s.PDFViewer({container:this.containerNodeRef.current,eventBus:r,textLayerMode:2,removePageBorders:!0,linkService:o,...i}),o.setDocument(e),o.setViewer(this.viewer),this.viewer.setDocument(e),this.attachRef(r)}componentWillUnmount(){this.unsubscribe()}findOrCreateHighlightLayer(e){const{textLayer:i}=this.viewer.getPageView(e-1)||{};return i?pC(i.div,`PdfHighlighter__highlight-layer ${Op.highlightLayer}`,".PdfHighlighter__highlight-layer"):null}groupHighlightsByPage(e){const{ghostHighlight:i}=this.state,s=[...e,i].filter(Boolean),r=new Set;for(const a of s){r.add(a.position.pageNumber);for(const c of a.position.rects)c.pageNumber&&r.add(c.pageNumber)}const o={};for(const a of r){o[a]=o[a]||[];for(const c of s){const u={...c,position:{pageNumber:a,boundingRect:c.position.boundingRect,rects:[],usePdfCoordinates:c.position.usePdfCoordinates}};let h=!1;for(const d of c.position.rects)a===(d.pageNumber||c.position.pageNumber)&&(u.position.rects.push(d),h=!0);(h||a===c.position.pageNumber)&&o[a].push(u)}}return o}showTip(e,i){const{isCollapsed:s,ghostHighlight:r,isAreaSelectionInProgress:o}=this.state;!s||r||o||this.setTip(e.position,i)}scaledPositionToViewport({pageNumber:e,boundingRect:i,rects:s,usePdfCoordinates:r}){const o=this.viewer.getPageView(e-1).viewport;return{boundingRect:Fp(i,o,r),rects:(s||[]).map(a=>Fp(a,o,r)),pageNumber:e}}viewportPositionToScaled({pageNumber:e,boundingRect:i,rects:s}){const r=this.viewer.getPageView(e-1).viewport;return{boundingRect:Ug(i,r),rects:(s||[]).map(o=>Ug(o,r)),pageNumber:e}}screenshot(e,i){const s=this.viewer.getPageView(i-1).canvas;return gC(s,e)}setTip(e,i){this.setState({tipPosition:e,tipChildren:i})}toggleTextSelection(e){this.viewer.viewer&&this.viewer.viewer.classList.toggle(Op.disableSelection,e)}render(){const{onSelectionFinished:e,enableAreaSelection:i}=this.props;return N.jsx("div",{onPointerDown:this.onMouseDown,children:N.jsxs("div",{ref:this.containerNodeRef,className:Op.container,onContextMenu:s=>s.preventDefault(),children:[N.jsx("div",{className:"pdfViewer"}),this.renderTip(),typeof i=="function"?N.jsx(NC,{onDragStart:()=>this.toggleTextSelection(!0),onDragEnd:()=>this.toggleTextSelection(!1),onChange:s=>this.setState({isAreaSelectionInProgress:s}),shouldStart:s=>i(s)&&s.target instanceof Element&&cr(s.target)&&!!s.target.closest(".page"),onSelection:(s,r,o)=>{const a=pc(s);if(!a)return;const c={...r,top:r.top-a.node.offsetTop,left:r.left-a.node.offsetLeft,pageNumber:a.number},u={boundingRect:c,rects:[],pageNumber:a.number},h=this.viewportPositionToScaled(u),d=this.screenshot(c,c.pageNumber);this.setTip(u,e(h,{image:d},()=>this.hideTipAndSelection(),()=>{console.log("setting ghost highlight",h),this.setState({ghostHighlight:{position:h,content:{image:d}}},()=>{o(),this.renderHighlightLayers()})}))}}):null]})})}renderHighlightLayers(){const{pdfDocument:e}=this.props;for(let i=1;i<=e.numPages;i++){const s=this.highlightRoots[i];if(s!=null&&s.container.isConnected)this.renderHighlightLayer(s.reactRoot,i);else{const r=this.findOrCreateHighlightLayer(i);if(r){const o=ey(r);this.highlightRoots[i]={reactRoot:o,container:r},this.renderHighlightLayer(o,i)}}}}renderHighlightLayer(e,i){const{highlightTransform:s,highlights:r}=this.props,{tip:o,scrolledToHighlightId:a}=this.state;e.render(N.jsx(RC,{highlightsByPage:this.groupHighlightsByPage(r),pageNumber:i.toString(),scrolledToHighlightId:a,highlightTransform:s,tip:o,scaledPositionToViewport:this.scaledPositionToViewport.bind(this),hideTipAndSelection:this.hideTipAndSelection.bind(this),viewer:this.viewer,screenshot:this.screenshot.bind(this),showTip:this.showTip.bind(this),setTip:c=>{this.setState({tip:c})}}))}}I(E1,"defaultProps",{pdfScaleValue:"auto"});const zC="_compact_1um8o_1",VC="_card_1um8o_10",F0={compact:zC,card:VC};class qC extends Y.Component{constructor(){super(...arguments);I(this,"state",{compact:!0,text:"",emoji:""})}componentDidUpdate(e,i){const{onUpdate:s}=this.props;s&&this.state.compact!==i.compact&&s()}render(){const{onConfirm:e,onOpen:i}=this.props,{compact:s,text:r,emoji:o}=this.state;return N.jsx("div",{children:s?N.jsx("div",{className:F0.compact,onClick:()=>{i(),this.setState({compact:!1})},children:"Add highlight"}):N.jsxs("form",{className:F0.card,onSubmit:a=>{a.preventDefault(),e({text:r,emoji:o})},children:[N.jsxs("div",{children:[N.jsx("textarea",{placeholder:"Your comment",autoFocus:!0,value:r,onChange:a=>this.setState({text:a.target.value}),ref:a=>{a&&a.focus()}}),N.jsx("div",{children:["💩","😱","😍","🔥","😳","⚠️"].map(a=>N.jsxs("label",{children:[N.jsx("input",{checked:o===a,type:"radio",name:"emoji",value:a,onChange:c=>this.setState({emoji:c.target.value})}),a]},a))})]}),N.jsx("div",{children:N.jsx("input",{type:"submit",value:"Save"})})]})})}}const HC="_highlight_3l4zw_1",UC="_emoji_3l4zw_5",jC="_parts_3l4zw_12",WC="_part_3l4zw_12",BC="_scrolledTo_3l4zw_23",Dl={highlight:HC,emoji:UC,parts:jC,part:WC,scrolledTo:BC};function KC({position:n,onClick:t,onMouseOver:e,onMouseOut:i,comment:s,isScrolledTo:r}){const{rects:o,boundingRect:a}=n;return N.jsxs("div",{className:`Highlight ${Dl.highlight} ${r?Dl.scrolledTo:""}`,children:[s?N.jsx("div",{className:`Highlight__emoji ${Dl.emoji}`,style:{left:20,top:a.top},children:s.emoji}):null,N.jsx("div",{className:`Highlight__parts ${Dl.parts}`,children:o.map((c,u)=>N.jsx("div",{onMouseOver:e,onMouseOut:i,onClick:t,style:c,className:`Highlight__part ${Dl.part}`},u))})]})}class XC extends Y.Component{constructor(){super(...arguments);I(this,"container",null);I(this,"unsubscribe",()=>{});I(this,"onMouseMove",e=>{if(!this.container)return;const{onMoveAway:i,paddingX:s,paddingY:r}=this.props,{clientX:o,clientY:a}=e,{left:c,top:u,width:h,height:d}=this.container.getBoundingClientRect(),f=o>c-s&&ou-r&&a{if(this.container=e,this.unsubscribe(),e){const{ownerDocument:i}=e;i.addEventListener("mousemove",this.onMouseMove),this.unsubscribe=()=>{i.removeEventListener("mousemove",this.onMouseMove)}}})}render(){const{onMoveAway:e,paddingX:i,paddingY:s,children:r,...o}=this.props;return N.jsx("div",{ref:this.attachRef,children:pl.cloneElement(r,o)})}}function GC({onMouseOver:n,popupContent:t,onMouseOut:e,children:i}){const[s,r]=Y.useState(!1);return N.jsx("div",{onMouseOver:()=>{r(!0),n(N.jsx(XC,{onMoveAway:()=>{s||e()},paddingX:60,paddingY:30,children:t}))},onMouseOut:()=>{r(!1)},children:i})}var Yf={exports:{}},x1={},C1={exports:{}},YC="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED",QC=YC,JC=QC;function T1(){}function k1(){}k1.resetWarningCache=T1;var ZC=function(){function n(i,s,r,o,a,c){if(c!==JC){var u=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw u.name="Invariant Violation",u}}n.isRequired=n;function t(){return n}var e={array:n,bigint:n,bool:n,func:n,number:n,object:n,string:n,symbol:n,any:n,arrayOf:t,element:n,elementType:n,instanceOf:t,node:n,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:k1,resetWarningCache:T1};return e.PropTypes=e,e};C1.exports=ZC();var P1=C1.exports;function R1(n){var t,e,i="";if(typeof n=="string"||typeof n=="number")i+=n;else if(typeof n=="object")if(Array.isArray(n))for(t=0;t0&&arguments[0]!==void 0?arguments[0]:"transform";if(typeof window>"u")return"";const e=(n=window.document)===null||n===void 0||(n=n.documentElement)===null||n===void 0?void 0:n.style;if(!e||t in e)return"";for(let i=0;it===e.identifier)||n.changedTouches&&(0,un.findInArray)(n.changedTouches,e=>t===e.identifier)}function ST(n){if(n.targetTouches&&n.targetTouches[0])return n.targetTouches[0].identifier;if(n.changedTouches&&n.changedTouches[0])return n.changedTouches[0].identifier}function AT(n){if(!n)return;let t=n.getElementById("react-draggable-style-el");t||(t=n.createElement("style"),t.type="text/css",t.id="react-draggable-style-el",t.innerHTML=`.react-draggable-transparent-selection *::-moz-selection {all: inherit;} +`+r.stack}return{value:n,source:t,stack:s,digest:null}}function Mp(n,t,e){return{value:n,source:null,stack:e??null,digest:t??null}}function Pg(n,t){try{console.error(t.value)}catch(e){setTimeout(function(){throw e})}}var Ox=typeof WeakMap=="function"?WeakMap:Map;function XS(n,t,e){e=cs(-1,e),e.tag=3,e.payload={element:null};var i=t.value;return e.callback=function(){nf||(nf=!0,zg=i),Pg(n,t)},e}function GS(n,t,e){e=cs(-1,e),e.tag=3;var i=n.type.getDerivedStateFromError;if(typeof i=="function"){var s=t.value;e.payload=function(){return i(s)},e.callback=function(){Pg(n,t)}}var r=n.stateNode;return r!==null&&typeof r.componentDidCatch=="function"&&(e.callback=function(){Pg(n,t),typeof i!="function"&&(or===null?or=new Set([this]):or.add(this));var o=t.stack;this.componentDidCatch(t.value,{componentStack:o!==null?o:""})}),e}function h0(n,t,e){var i=n.pingCache;if(i===null){i=n.pingCache=new Ox;var s=new Set;i.set(t,s)}else s=i.get(t),s===void 0&&(s=new Set,i.set(t,s));s.has(e)||(s.add(e),n=Jx.bind(null,n,t,e),t.then(n,n))}function d0(n){do{var t;if((t=n.tag===13)&&(t=n.memoizedState,t=t!==null?t.dehydrated!==null:!0),t)return n;n=n.return}while(n!==null);return null}function f0(n,t,e,i,s){return n.mode&1?(n.flags|=65536,n.lanes=s,n):(n===t?n.flags|=65536:(n.flags|=128,e.flags|=131072,e.flags&=-52805,e.tag===1&&(e.alternate===null?e.tag=17:(t=cs(-1,1),t.tag=2,rr(e,t,1))),e.lanes|=1),n)}var zx=Ss.ReactCurrentOwner,qe=!1;function ke(n,t,e,i){t.child=n===null?ES(t,null,e,i):yl(t,n.child,e,i)}function p0(n,t,e,i,s){e=e.render;var r=t.ref;return ga(t,s),i=zv(n,t,e,i,r,s),e=Vv(),n!==null&&!qe?(t.updateQueue=n.updateQueue,t.flags&=-2053,n.lanes&=~s,vs(n,t,s)):(xt&&e&&Tv(t),t.flags|=1,ke(n,t,i,s),t.child)}function g0(n,t,e,i,s){if(n===null){var r=e.type;return typeof r=="function"&&!Yv(r)&&r.defaultProps===void 0&&e.compare===null&&e.defaultProps===void 0?(t.tag=15,t.type=r,YS(n,t,r,i,s)):(n=cd(e.type,null,i,t,t.mode,s),n.ref=t.ref,n.return=t,t.child=n)}if(r=n.child,!(n.lanes&s)){var o=r.memoizedProps;if(e=e.compare,e=e!==null?e:Cc,e(o,i)&&n.ref===t.ref)return vs(n,t,s)}return t.flags|=1,n=lr(r,i),n.ref=t.ref,n.return=t,t.child=n}function YS(n,t,e,i,s){if(n!==null){var r=n.memoizedProps;if(Cc(r,i)&&n.ref===t.ref)if(qe=!1,t.pendingProps=i=r,(n.lanes&s)!==0)n.flags&131072&&(qe=!0);else return t.lanes=n.lanes,vs(n,t,s)}return Rg(n,t,e,i,s)}function QS(n,t,e){var i=t.pendingProps,s=i.children,r=n!==null?n.memoizedState:null;if(i.mode==="hidden")if(!(t.mode&1))t.memoizedState={baseLanes:0,cachePool:null,transitions:null},St(la,on),on|=e;else{if(!(e&1073741824))return n=r!==null?r.baseLanes|e:e,t.lanes=t.childLanes=1073741824,t.memoizedState={baseLanes:n,cachePool:null,transitions:null},t.updateQueue=null,St(la,on),on|=n,null;t.memoizedState={baseLanes:0,cachePool:null,transitions:null},i=r!==null?r.baseLanes:e,St(la,on),on|=i}else r!==null?(i=r.baseLanes|e,t.memoizedState=null):i=e,St(la,on),on|=i;return ke(n,t,s,e),t.child}function JS(n,t){var e=t.ref;(n===null&&e!==null||n!==null&&n.ref!==e)&&(t.flags|=512,t.flags|=2097152)}function Rg(n,t,e,i,s){var r=We(e)?ko:be.current;return r=ml(t,r),ga(t,s),e=zv(n,t,e,i,r,s),i=Vv(),n!==null&&!qe?(t.updateQueue=n.updateQueue,t.flags&=-2053,n.lanes&=~s,vs(n,t,s)):(xt&&i&&Tv(t),t.flags|=1,ke(n,t,e,s),t.child)}function m0(n,t,e,i,s){if(We(e)){var r=!0;Kd(t)}else r=!1;if(ga(t,s),t.stateNode===null)od(n,t),KS(t,e,i),kg(t,e,i,s),i=!0;else if(n===null){var o=t.stateNode,a=t.memoizedProps;o.props=a;var c=o.context,u=e.contextType;typeof u=="object"&&u!==null?u=kn(u):(u=We(e)?ko:be.current,u=ml(t,u));var h=e.getDerivedStateFromProps,d=typeof h=="function"||typeof o.getSnapshotBeforeUpdate=="function";d||typeof o.UNSAFE_componentWillReceiveProps!="function"&&typeof o.componentWillReceiveProps!="function"||(a!==i||c!==u)&&u0(t,o,i,u),Ps=!1;var f=t.memoizedState;o.state=f,Jd(t,i,o,s),c=t.memoizedState,a!==i||f!==c||je.current||Ps?(typeof h=="function"&&(Tg(t,e,h,i),c=t.memoizedState),(a=Ps||c0(t,e,a,i,f,c,u))?(d||typeof o.UNSAFE_componentWillMount!="function"&&typeof o.componentWillMount!="function"||(typeof o.componentWillMount=="function"&&o.componentWillMount(),typeof o.UNSAFE_componentWillMount=="function"&&o.UNSAFE_componentWillMount()),typeof o.componentDidMount=="function"&&(t.flags|=4194308)):(typeof o.componentDidMount=="function"&&(t.flags|=4194308),t.memoizedProps=i,t.memoizedState=c),o.props=i,o.state=c,o.context=u,i=a):(typeof o.componentDidMount=="function"&&(t.flags|=4194308),i=!1)}else{o=t.stateNode,CS(n,t),a=t.memoizedProps,u=t.type===t.elementType?a:Nn(t.type,a),o.props=u,d=t.pendingProps,f=o.context,c=e.contextType,typeof c=="object"&&c!==null?c=kn(c):(c=We(e)?ko:be.current,c=ml(t,c));var p=e.getDerivedStateFromProps;(h=typeof p=="function"||typeof o.getSnapshotBeforeUpdate=="function")||typeof o.UNSAFE_componentWillReceiveProps!="function"&&typeof o.componentWillReceiveProps!="function"||(a!==d||f!==c)&&u0(t,o,i,c),Ps=!1,f=t.memoizedState,o.state=f,Jd(t,i,o,s);var g=t.memoizedState;a!==d||f!==g||je.current||Ps?(typeof p=="function"&&(Tg(t,e,p,i),g=t.memoizedState),(u=Ps||c0(t,e,u,i,f,g,c)||!1)?(h||typeof o.UNSAFE_componentWillUpdate!="function"&&typeof o.componentWillUpdate!="function"||(typeof o.componentWillUpdate=="function"&&o.componentWillUpdate(i,g,c),typeof o.UNSAFE_componentWillUpdate=="function"&&o.UNSAFE_componentWillUpdate(i,g,c)),typeof o.componentDidUpdate=="function"&&(t.flags|=4),typeof o.getSnapshotBeforeUpdate=="function"&&(t.flags|=1024)):(typeof o.componentDidUpdate!="function"||a===n.memoizedProps&&f===n.memoizedState||(t.flags|=4),typeof o.getSnapshotBeforeUpdate!="function"||a===n.memoizedProps&&f===n.memoizedState||(t.flags|=1024),t.memoizedProps=i,t.memoizedState=g),o.props=i,o.state=g,o.context=c,i=u):(typeof o.componentDidUpdate!="function"||a===n.memoizedProps&&f===n.memoizedState||(t.flags|=4),typeof o.getSnapshotBeforeUpdate!="function"||a===n.memoizedProps&&f===n.memoizedState||(t.flags|=1024),i=!1)}return _g(n,t,e,i,r,s)}function _g(n,t,e,i,s,r){JS(n,t);var o=(t.flags&128)!==0;if(!i&&!o)return s&&e0(t,e,!1),vs(n,t,r);i=t.stateNode,zx.current=t;var a=o&&typeof e.getDerivedStateFromError!="function"?null:i.render();return t.flags|=1,n!==null&&o?(t.child=yl(t,n.child,null,r),t.child=yl(t,null,a,r)):ke(n,t,a,r),t.memoizedState=i.state,s&&e0(t,e,!0),t.child}function ZS(n){var t=n.stateNode;t.pendingContext?t0(n,t.pendingContext,t.pendingContext!==t.context):t.context&&t0(n,t.context,!1),Dv(n,t.containerInfo)}function v0(n,t,e,i,s){return vl(),Pv(s),t.flags|=256,ke(n,t,e,i),t.child}var Lg={dehydrated:null,treeContext:null,retryLane:0};function Mg(n){return{baseLanes:n,cachePool:null,transitions:null}}function $S(n,t,e){var i=t.pendingProps,s=kt.current,r=!1,o=(t.flags&128)!==0,a;if((a=o)||(a=n!==null&&n.memoizedState===null?!1:(s&2)!==0),a?(r=!0,t.flags&=-129):(n===null||n.memoizedState!==null)&&(s|=1),St(kt,s&1),n===null)return xg(t),n=t.memoizedState,n!==null&&(n=n.dehydrated,n!==null)?(t.mode&1?n.data==="$!"?t.lanes=8:t.lanes=1073741824:t.lanes=1,null):(o=i.children,n=i.fallback,r?(i=t.mode,r=t.child,o={mode:"hidden",children:o},!(i&1)&&r!==null?(r.childLanes=0,r.pendingProps=o):r=Wf(o,i,0,null),n=To(n,i,e,null),r.return=t,n.return=t,r.sibling=n,t.child=r,t.child.memoizedState=Mg(e),t.memoizedState=Lg,n):Uv(t,o));if(s=n.memoizedState,s!==null&&(a=s.dehydrated,a!==null))return Vx(n,t,o,i,a,s,e);if(r){r=i.fallback,o=t.mode,s=n.child,a=s.sibling;var c={mode:"hidden",children:i.children};return!(o&1)&&t.child!==s?(i=t.child,i.childLanes=0,i.pendingProps=c,t.deletions=null):(i=lr(s,c),i.subtreeFlags=s.subtreeFlags&14680064),a!==null?r=lr(a,r):(r=To(r,o,e,null),r.flags|=2),r.return=t,i.return=t,i.sibling=r,t.child=i,i=r,r=t.child,o=n.child.memoizedState,o=o===null?Mg(e):{baseLanes:o.baseLanes|e,cachePool:null,transitions:o.transitions},r.memoizedState=o,r.childLanes=n.childLanes&~e,t.memoizedState=Lg,i}return r=n.child,n=r.sibling,i=lr(r,{mode:"visible",children:i.children}),!(t.mode&1)&&(i.lanes=e),i.return=t,i.sibling=null,n!==null&&(e=t.deletions,e===null?(t.deletions=[n],t.flags|=16):e.push(n)),t.child=i,t.memoizedState=null,i}function Uv(n,t){return t=Wf({mode:"visible",children:t},n.mode,0,null),t.return=n,n.child=t}function Oh(n,t,e,i){return i!==null&&Pv(i),yl(t,n.child,null,e),n=Uv(t,t.pendingProps.children),n.flags|=2,t.memoizedState=null,n}function Vx(n,t,e,i,s,r,o){if(e)return t.flags&256?(t.flags&=-257,i=Mp(Error(_(422))),Oh(n,t,o,i)):t.memoizedState!==null?(t.child=n.child,t.flags|=128,null):(r=i.fallback,s=t.mode,i=Wf({mode:"visible",children:i.children},s,0,null),r=To(r,s,o,null),r.flags|=2,i.return=t,r.return=t,i.sibling=r,t.child=i,t.mode&1&&yl(t,n.child,null,o),t.child.memoizedState=Mg(o),t.memoizedState=Lg,r);if(!(t.mode&1))return Oh(n,t,o,null);if(s.data==="$!"){if(i=s.nextSibling&&s.nextSibling.dataset,i)var a=i.dgst;return i=a,r=Error(_(419)),i=Mp(r,i,void 0),Oh(n,t,o,i)}if(a=(o&n.childLanes)!==0,qe||a){if(i=$t,i!==null){switch(o&-o){case 4:s=2;break;case 16:s=8;break;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:s=32;break;case 536870912:s=268435456;break;default:s=0}s=s&(i.suspendedLanes|o)?0:s,s!==0&&s!==r.retryLane&&(r.retryLane=s,ms(n,s),Jn(i,n,s,-1))}return Gv(),i=Mp(Error(_(421))),Oh(n,t,o,i)}return s.data==="$?"?(t.flags|=128,t.child=n.child,t=Zx.bind(null,n),s._reactRetry=t,null):(n=r.treeContext,ln=sr(s.nextSibling),cn=t,xt=!0,Yn=null,n!==null&&(An[bn++]=as,An[bn++]=ls,An[bn++]=Po,as=n.id,ls=n.overflow,Po=t),t=Uv(t,i.children),t.flags|=4096,t)}function y0(n,t,e){n.lanes|=t;var i=n.alternate;i!==null&&(i.lanes|=t),Cg(n.return,t,e)}function Np(n,t,e,i,s){var r=n.memoizedState;r===null?n.memoizedState={isBackwards:t,rendering:null,renderingStartTime:0,last:i,tail:e,tailMode:s}:(r.isBackwards=t,r.rendering=null,r.renderingStartTime=0,r.last=i,r.tail=e,r.tailMode=s)}function t1(n,t,e){var i=t.pendingProps,s=i.revealOrder,r=i.tail;if(ke(n,t,i.children,e),i=kt.current,i&2)i=i&1|2,t.flags|=128;else{if(n!==null&&n.flags&128)t:for(n=t.child;n!==null;){if(n.tag===13)n.memoizedState!==null&&y0(n,e,t);else if(n.tag===19)y0(n,e,t);else if(n.child!==null){n.child.return=n,n=n.child;continue}if(n===t)break t;for(;n.sibling===null;){if(n.return===null||n.return===t)break t;n=n.return}n.sibling.return=n.return,n=n.sibling}i&=1}if(St(kt,i),!(t.mode&1))t.memoizedState=null;else switch(s){case"forwards":for(e=t.child,s=null;e!==null;)n=e.alternate,n!==null&&Zd(n)===null&&(s=e),e=e.sibling;e=s,e===null?(s=t.child,t.child=null):(s=e.sibling,e.sibling=null),Np(t,!1,s,e,r);break;case"backwards":for(e=null,s=t.child,t.child=null;s!==null;){if(n=s.alternate,n!==null&&Zd(n)===null){t.child=s;break}n=s.sibling,s.sibling=e,e=s,s=n}Np(t,!0,e,null,r);break;case"together":Np(t,!1,null,null,void 0);break;default:t.memoizedState=null}return t.child}function od(n,t){!(t.mode&1)&&n!==null&&(n.alternate=null,t.alternate=null,t.flags|=2)}function vs(n,t,e){if(n!==null&&(t.dependencies=n.dependencies),_o|=t.lanes,!(e&t.childLanes))return null;if(n!==null&&t.child!==n.child)throw Error(_(153));if(t.child!==null){for(n=t.child,e=lr(n,n.pendingProps),t.child=e,e.return=t;n.sibling!==null;)n=n.sibling,e=e.sibling=lr(n,n.pendingProps),e.return=t;e.sibling=null}return t.child}function qx(n,t,e){switch(t.tag){case 3:ZS(t),vl();break;case 5:TS(t);break;case 1:We(t.type)&&Kd(t);break;case 4:Dv(t,t.stateNode.containerInfo);break;case 10:var i=t.type._context,s=t.memoizedProps.value;St(Yd,i._currentValue),i._currentValue=s;break;case 13:if(i=t.memoizedState,i!==null)return i.dehydrated!==null?(St(kt,kt.current&1),t.flags|=128,null):e&t.child.childLanes?$S(n,t,e):(St(kt,kt.current&1),n=vs(n,t,e),n!==null?n.sibling:null);St(kt,kt.current&1);break;case 19:if(i=(e&t.childLanes)!==0,n.flags&128){if(i)return t1(n,t,e);t.flags|=128}if(s=t.memoizedState,s!==null&&(s.rendering=null,s.tail=null,s.lastEffect=null),St(kt,kt.current),i)break;return null;case 22:case 23:return t.lanes=0,QS(n,t,e)}return vs(n,t,e)}var e1,Ng,n1,i1;e1=function(n,t){for(var e=t.child;e!==null;){if(e.tag===5||e.tag===6)n.appendChild(e.stateNode);else if(e.tag!==4&&e.child!==null){e.child.return=e,e=e.child;continue}if(e===t)break;for(;e.sibling===null;){if(e.return===null||e.return===t)return;e=e.return}e.sibling.return=e.return,e=e.sibling}};Ng=function(){};n1=function(n,t,e,i){var s=n.memoizedProps;if(s!==i){n=t.stateNode,Pr(Ai.current);var r=null;switch(e){case"input":s=eg(n,s),i=eg(n,i),r=[];break;case"select":s=Rt({},s,{value:void 0}),i=Rt({},i,{value:void 0}),r=[];break;case"textarea":s=sg(n,s),i=sg(n,i),r=[];break;default:typeof s.onClick!="function"&&typeof i.onClick=="function"&&(n.onclick=Wd)}og(e,i);var o;e=null;for(u in s)if(!i.hasOwnProperty(u)&&s.hasOwnProperty(u)&&s[u]!=null)if(u==="style"){var a=s[u];for(o in a)a.hasOwnProperty(o)&&(e||(e={}),e[o]="")}else u!=="dangerouslySetInnerHTML"&&u!=="children"&&u!=="suppressContentEditableWarning"&&u!=="suppressHydrationWarning"&&u!=="autoFocus"&&(yc.hasOwnProperty(u)?r||(r=[]):(r=r||[]).push(u,null));for(u in i){var c=i[u];if(a=s!=null?s[u]:void 0,i.hasOwnProperty(u)&&c!==a&&(c!=null||a!=null))if(u==="style")if(a){for(o in a)!a.hasOwnProperty(o)||c&&c.hasOwnProperty(o)||(e||(e={}),e[o]="");for(o in c)c.hasOwnProperty(o)&&a[o]!==c[o]&&(e||(e={}),e[o]=c[o])}else e||(r||(r=[]),r.push(u,e)),e=c;else u==="dangerouslySetInnerHTML"?(c=c?c.__html:void 0,a=a?a.__html:void 0,c!=null&&a!==c&&(r=r||[]).push(u,c)):u==="children"?typeof c!="string"&&typeof c!="number"||(r=r||[]).push(u,""+c):u!=="suppressContentEditableWarning"&&u!=="suppressHydrationWarning"&&(yc.hasOwnProperty(u)?(c!=null&&u==="onScroll"&&At("scroll",n),r||a===c||(r=[])):(r=r||[]).push(u,c))}e&&(r=r||[]).push("style",e);var u=r;(t.updateQueue=u)&&(t.flags|=4)}};i1=function(n,t,e,i){e!==i&&(t.flags|=4)};function Ml(n,t){if(!xt)switch(n.tailMode){case"hidden":t=n.tail;for(var e=null;t!==null;)t.alternate!==null&&(e=t),t=t.sibling;e===null?n.tail=null:e.sibling=null;break;case"collapsed":e=n.tail;for(var i=null;e!==null;)e.alternate!==null&&(i=e),e=e.sibling;i===null?t||n.tail===null?n.tail=null:n.tail.sibling=null:i.sibling=null}}function fe(n){var t=n.alternate!==null&&n.alternate.child===n.child,e=0,i=0;if(t)for(var s=n.child;s!==null;)e|=s.lanes|s.childLanes,i|=s.subtreeFlags&14680064,i|=s.flags&14680064,s.return=n,s=s.sibling;else for(s=n.child;s!==null;)e|=s.lanes|s.childLanes,i|=s.subtreeFlags,i|=s.flags,s.return=n,s=s.sibling;return n.subtreeFlags|=i,n.childLanes=e,t}function Hx(n,t,e){var i=t.pendingProps;switch(kv(t),t.tag){case 2:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return fe(t),null;case 1:return We(t.type)&&Bd(),fe(t),null;case 3:return i=t.stateNode,wl(),bt(je),bt(be),Fv(),i.pendingContext&&(i.context=i.pendingContext,i.pendingContext=null),(n===null||n.child===null)&&(Ih(t)?t.flags|=4:n===null||n.memoizedState.isDehydrated&&!(t.flags&256)||(t.flags|=1024,Yn!==null&&(Hg(Yn),Yn=null))),Ng(n,t),fe(t),null;case 5:Iv(t);var s=Pr(_c.current);if(e=t.type,n!==null&&t.stateNode!=null)n1(n,t,e,i,s),n.ref!==t.ref&&(t.flags|=512,t.flags|=2097152);else{if(!i){if(t.stateNode===null)throw Error(_(166));return fe(t),null}if(n=Pr(Ai.current),Ih(t)){i=t.stateNode,e=t.type;var r=t.memoizedProps;switch(i[wi]=t,i[Pc]=r,n=(t.mode&1)!==0,e){case"dialog":At("cancel",i),At("close",i);break;case"iframe":case"object":case"embed":At("load",i);break;case"video":case"audio":for(s=0;s<\/script>",n=n.removeChild(n.firstChild)):typeof i.is=="string"?n=o.createElement(e,{is:i.is}):(n=o.createElement(e),e==="select"&&(o=n,i.multiple?o.multiple=!0:i.size&&(o.size=i.size))):n=o.createElementNS(n,e),n[wi]=t,n[Pc]=i,e1(n,t,!1,!1),t.stateNode=n;t:{switch(o=ag(e,i),e){case"dialog":At("cancel",n),At("close",n),s=i;break;case"iframe":case"object":case"embed":At("load",n),s=i;break;case"video":case"audio":for(s=0;sAl&&(t.flags|=128,i=!0,Ml(r,!1),t.lanes=4194304)}else{if(!i)if(n=Zd(o),n!==null){if(t.flags|=128,i=!0,e=n.updateQueue,e!==null&&(t.updateQueue=e,t.flags|=4),Ml(r,!0),r.tail===null&&r.tailMode==="hidden"&&!o.alternate&&!xt)return fe(t),null}else 2*It()-r.renderingStartTime>Al&&e!==1073741824&&(t.flags|=128,i=!0,Ml(r,!1),t.lanes=4194304);r.isBackwards?(o.sibling=t.child,t.child=o):(e=r.last,e!==null?e.sibling=o:t.child=o,r.last=o)}return r.tail!==null?(t=r.tail,r.rendering=t,r.tail=t.sibling,r.renderingStartTime=It(),t.sibling=null,e=kt.current,St(kt,i?e&1|2:e&1),t):(fe(t),null);case 22:case 23:return Xv(),i=t.memoizedState!==null,n!==null&&n.memoizedState!==null!==i&&(t.flags|=8192),i&&t.mode&1?on&1073741824&&(fe(t),t.subtreeFlags&6&&(t.flags|=8192)):fe(t),null;case 24:return null;case 25:return null}throw Error(_(156,t.tag))}function Ux(n,t){switch(kv(t),t.tag){case 1:return We(t.type)&&Bd(),n=t.flags,n&65536?(t.flags=n&-65537|128,t):null;case 3:return wl(),bt(je),bt(be),Fv(),n=t.flags,n&65536&&!(n&128)?(t.flags=n&-65537|128,t):null;case 5:return Iv(t),null;case 13:if(bt(kt),n=t.memoizedState,n!==null&&n.dehydrated!==null){if(t.alternate===null)throw Error(_(340));vl()}return n=t.flags,n&65536?(t.flags=n&-65537|128,t):null;case 19:return bt(kt),null;case 4:return wl(),null;case 10:return Lv(t.type._context),null;case 22:case 23:return Xv(),null;case 24:return null;default:return null}}var zh=!1,Se=!1,jx=typeof WeakSet=="function"?WeakSet:Set,z=null;function aa(n,t){var e=n.ref;if(e!==null)if(typeof e=="function")try{e(null)}catch(i){Mt(n,t,i)}else e.current=null}function Dg(n,t,e){try{e()}catch(i){Mt(n,t,i)}}var w0=!1;function Wx(n,t){if(vg=Hd,n=lS(),Cv(n)){if("selectionStart"in n)var e={start:n.selectionStart,end:n.selectionEnd};else t:{e=(e=n.ownerDocument)&&e.defaultView||window;var i=e.getSelection&&e.getSelection();if(i&&i.rangeCount!==0){e=i.anchorNode;var s=i.anchorOffset,r=i.focusNode;i=i.focusOffset;try{e.nodeType,r.nodeType}catch{e=null;break t}var o=0,a=-1,c=-1,u=0,h=0,d=n,f=null;e:for(;;){for(var p;d!==e||s!==0&&d.nodeType!==3||(a=o+s),d!==r||i!==0&&d.nodeType!==3||(c=o+i),d.nodeType===3&&(o+=d.nodeValue.length),(p=d.firstChild)!==null;)f=d,d=p;for(;;){if(d===n)break e;if(f===e&&++u===s&&(a=o),f===r&&++h===i&&(c=o),(p=d.nextSibling)!==null)break;d=f,f=d.parentNode}d=p}e=a===-1||c===-1?null:{start:a,end:c}}else e=null}e=e||{start:0,end:0}}else e=null;for(yg={focusedElem:n,selectionRange:e},Hd=!1,z=t;z!==null;)if(t=z,n=t.child,(t.subtreeFlags&1028)!==0&&n!==null)n.return=t,z=n;else for(;z!==null;){t=z;try{var g=t.alternate;if(t.flags&1024)switch(t.tag){case 0:case 11:case 15:break;case 1:if(g!==null){var w=g.memoizedProps,E=g.memoizedState,m=t.stateNode,v=m.getSnapshotBeforeUpdate(t.elementType===t.type?w:Nn(t.type,w),E);m.__reactInternalSnapshotBeforeUpdate=v}break;case 3:var y=t.stateNode.containerInfo;y.nodeType===1?y.textContent="":y.nodeType===9&&y.documentElement&&y.removeChild(y.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(_(163))}}catch(x){Mt(t,t.return,x)}if(n=t.sibling,n!==null){n.return=t.return,z=n;break}z=t.return}return g=w0,w0=!1,g}function hc(n,t,e){var i=t.updateQueue;if(i=i!==null?i.lastEffect:null,i!==null){var s=i=i.next;do{if((s.tag&n)===n){var r=s.destroy;s.destroy=void 0,r!==void 0&&Dg(t,e,r)}s=s.next}while(s!==i)}}function Uf(n,t){if(t=t.updateQueue,t=t!==null?t.lastEffect:null,t!==null){var e=t=t.next;do{if((e.tag&n)===n){var i=e.create;e.destroy=i()}e=e.next}while(e!==t)}}function Ig(n){var t=n.ref;if(t!==null){var e=n.stateNode;switch(n.tag){case 5:n=e;break;default:n=e}typeof t=="function"?t(n):t.current=n}}function s1(n){var t=n.alternate;t!==null&&(n.alternate=null,s1(t)),n.child=null,n.deletions=null,n.sibling=null,n.tag===5&&(t=n.stateNode,t!==null&&(delete t[wi],delete t[Pc],delete t[Ag],delete t[Tx],delete t[kx])),n.stateNode=null,n.return=null,n.dependencies=null,n.memoizedProps=null,n.memoizedState=null,n.pendingProps=null,n.stateNode=null,n.updateQueue=null}function r1(n){return n.tag===5||n.tag===3||n.tag===4}function S0(n){t:for(;;){for(;n.sibling===null;){if(n.return===null||r1(n.return))return null;n=n.return}for(n.sibling.return=n.return,n=n.sibling;n.tag!==5&&n.tag!==6&&n.tag!==18;){if(n.flags&2||n.child===null||n.tag===4)continue t;n.child.return=n,n=n.child}if(!(n.flags&2))return n.stateNode}}function Fg(n,t,e){var i=n.tag;if(i===5||i===6)n=n.stateNode,t?e.nodeType===8?e.parentNode.insertBefore(n,t):e.insertBefore(n,t):(e.nodeType===8?(t=e.parentNode,t.insertBefore(n,e)):(t=e,t.appendChild(n)),e=e._reactRootContainer,e!=null||t.onclick!==null||(t.onclick=Wd));else if(i!==4&&(n=n.child,n!==null))for(Fg(n,t,e),n=n.sibling;n!==null;)Fg(n,t,e),n=n.sibling}function Og(n,t,e){var i=n.tag;if(i===5||i===6)n=n.stateNode,t?e.insertBefore(n,t):e.appendChild(n);else if(i!==4&&(n=n.child,n!==null))for(Og(n,t,e),n=n.sibling;n!==null;)Og(n,t,e),n=n.sibling}var ae=null,Gn=!1;function As(n,t,e){for(e=e.child;e!==null;)o1(n,t,e),e=e.sibling}function o1(n,t,e){if(Si&&typeof Si.onCommitFiberUnmount=="function")try{Si.onCommitFiberUnmount(Df,e)}catch{}switch(e.tag){case 5:Se||aa(e,t);case 6:var i=ae,s=Gn;ae=null,As(n,t,e),ae=i,Gn=s,ae!==null&&(Gn?(n=ae,e=e.stateNode,n.nodeType===8?n.parentNode.removeChild(e):n.removeChild(e)):ae.removeChild(e.stateNode));break;case 18:ae!==null&&(Gn?(n=ae,e=e.stateNode,n.nodeType===8?Tp(n.parentNode,e):n.nodeType===1&&Tp(n,e),Ec(n)):Tp(ae,e.stateNode));break;case 4:i=ae,s=Gn,ae=e.stateNode.containerInfo,Gn=!0,As(n,t,e),ae=i,Gn=s;break;case 0:case 11:case 14:case 15:if(!Se&&(i=e.updateQueue,i!==null&&(i=i.lastEffect,i!==null))){s=i=i.next;do{var r=s,o=r.destroy;r=r.tag,o!==void 0&&(r&2||r&4)&&Dg(e,t,o),s=s.next}while(s!==i)}As(n,t,e);break;case 1:if(!Se&&(aa(e,t),i=e.stateNode,typeof i.componentWillUnmount=="function"))try{i.props=e.memoizedProps,i.state=e.memoizedState,i.componentWillUnmount()}catch(a){Mt(e,t,a)}As(n,t,e);break;case 21:As(n,t,e);break;case 22:e.mode&1?(Se=(i=Se)||e.memoizedState!==null,As(n,t,e),Se=i):As(n,t,e);break;default:As(n,t,e)}}function A0(n){var t=n.updateQueue;if(t!==null){n.updateQueue=null;var e=n.stateNode;e===null&&(e=n.stateNode=new jx),t.forEach(function(i){var s=$x.bind(null,n,i);e.has(i)||(e.add(i),i.then(s,s))})}}function _n(n,t){var e=t.deletions;if(e!==null)for(var i=0;is&&(s=o),i&=~r}if(i=s,i=It()-i,i=(120>i?120:480>i?480:1080>i?1080:1920>i?1920:3e3>i?3e3:4320>i?4320:1960*Kx(i/1960))-i,10n?16:n,tr===null)var i=!1;else{if(n=tr,tr=null,sf=0,at&6)throw Error(_(331));var s=at;for(at|=4,z=n.current;z!==null;){var r=z,o=r.child;if(z.flags&16){var a=r.deletions;if(a!==null){for(var c=0;cIt()-Bv?Co(n,0):Wv|=e),Be(n,t)}function p1(n,t){t===0&&(n.mode&1?(t=Rh,Rh<<=1,!(Rh&130023424)&&(Rh=4194304)):t=1);var e=Re();n=ms(n,t),n!==null&&(gh(n,t,e),Be(n,e))}function Zx(n){var t=n.memoizedState,e=0;t!==null&&(e=t.retryLane),p1(n,e)}function $x(n,t){var e=0;switch(n.tag){case 13:var i=n.stateNode,s=n.memoizedState;s!==null&&(e=s.retryLane);break;case 19:i=n.stateNode;break;default:throw Error(_(314))}i!==null&&i.delete(t),p1(n,e)}var g1;g1=function(n,t,e){if(n!==null)if(n.memoizedProps!==t.pendingProps||je.current)qe=!0;else{if(!(n.lanes&e)&&!(t.flags&128))return qe=!1,qx(n,t,e);qe=!!(n.flags&131072)}else qe=!1,xt&&t.flags&1048576&&wS(t,Gd,t.index);switch(t.lanes=0,t.tag){case 2:var i=t.type;od(n,t),n=t.pendingProps;var s=ml(t,be.current);ga(t,e),s=zv(null,t,i,n,s,e);var r=Vv();return t.flags|=1,typeof s=="object"&&s!==null&&typeof s.render=="function"&&s.$$typeof===void 0?(t.tag=1,t.memoizedState=null,t.updateQueue=null,We(i)?(r=!0,Kd(t)):r=!1,t.memoizedState=s.state!==null&&s.state!==void 0?s.state:null,Nv(t),s.updater=Hf,t.stateNode=s,s._reactInternals=t,kg(t,i,n,e),t=_g(null,t,i,!0,r,e)):(t.tag=0,xt&&r&&Tv(t),ke(null,t,s,e),t=t.child),t;case 16:i=t.elementType;t:{switch(od(n,t),n=t.pendingProps,s=i._init,i=s(i._payload),t.type=i,s=t.tag=eC(i),n=Nn(i,n),s){case 0:t=Rg(null,t,i,n,e);break t;case 1:t=m0(null,t,i,n,e);break t;case 11:t=p0(null,t,i,n,e);break t;case 14:t=g0(null,t,i,Nn(i.type,n),e);break t}throw Error(_(306,i,""))}return t;case 0:return i=t.type,s=t.pendingProps,s=t.elementType===i?s:Nn(i,s),Rg(n,t,i,s,e);case 1:return i=t.type,s=t.pendingProps,s=t.elementType===i?s:Nn(i,s),m0(n,t,i,s,e);case 3:t:{if(ZS(t),n===null)throw Error(_(387));i=t.pendingProps,r=t.memoizedState,s=r.element,CS(n,t),Jd(t,i,null,e);var o=t.memoizedState;if(i=o.element,r.isDehydrated)if(r={element:i,isDehydrated:!1,cache:o.cache,pendingSuspenseBoundaries:o.pendingSuspenseBoundaries,transitions:o.transitions},t.updateQueue.baseState=r,t.memoizedState=r,t.flags&256){s=Sl(Error(_(423)),t),t=v0(n,t,i,e,s);break t}else if(i!==s){s=Sl(Error(_(424)),t),t=v0(n,t,i,e,s);break t}else for(ln=sr(t.stateNode.containerInfo.firstChild),cn=t,xt=!0,Yn=null,e=ES(t,null,i,e),t.child=e;e;)e.flags=e.flags&-3|4096,e=e.sibling;else{if(vl(),i===s){t=vs(n,t,e);break t}ke(n,t,i,e)}t=t.child}return t;case 5:return TS(t),n===null&&xg(t),i=t.type,s=t.pendingProps,r=n!==null?n.memoizedProps:null,o=s.children,wg(i,s)?o=null:r!==null&&wg(i,r)&&(t.flags|=32),JS(n,t),ke(n,t,o,e),t.child;case 6:return n===null&&xg(t),null;case 13:return $S(n,t,e);case 4:return Dv(t,t.stateNode.containerInfo),i=t.pendingProps,n===null?t.child=yl(t,null,i,e):ke(n,t,i,e),t.child;case 11:return i=t.type,s=t.pendingProps,s=t.elementType===i?s:Nn(i,s),p0(n,t,i,s,e);case 7:return ke(n,t,t.pendingProps,e),t.child;case 8:return ke(n,t,t.pendingProps.children,e),t.child;case 12:return ke(n,t,t.pendingProps.children,e),t.child;case 10:t:{if(i=t.type._context,s=t.pendingProps,r=t.memoizedProps,o=s.value,St(Yd,i._currentValue),i._currentValue=o,r!==null)if(Zn(r.value,o)){if(r.children===s.children&&!je.current){t=vs(n,t,e);break t}}else for(r=t.child,r!==null&&(r.return=t);r!==null;){var a=r.dependencies;if(a!==null){o=r.child;for(var c=a.firstContext;c!==null;){if(c.context===i){if(r.tag===1){c=cs(-1,e&-e),c.tag=2;var u=r.updateQueue;if(u!==null){u=u.shared;var h=u.pending;h===null?c.next=c:(c.next=h.next,h.next=c),u.pending=c}}r.lanes|=e,c=r.alternate,c!==null&&(c.lanes|=e),Cg(r.return,e,t),a.lanes|=e;break}c=c.next}}else if(r.tag===10)o=r.type===t.type?null:r.child;else if(r.tag===18){if(o=r.return,o===null)throw Error(_(341));o.lanes|=e,a=o.alternate,a!==null&&(a.lanes|=e),Cg(o,e,t),o=r.sibling}else o=r.child;if(o!==null)o.return=r;else for(o=r;o!==null;){if(o===t){o=null;break}if(r=o.sibling,r!==null){r.return=o.return,o=r;break}o=o.return}r=o}ke(n,t,s.children,e),t=t.child}return t;case 9:return s=t.type,i=t.pendingProps.children,ga(t,e),s=kn(s),i=i(s),t.flags|=1,ke(n,t,i,e),t.child;case 14:return i=t.type,s=Nn(i,t.pendingProps),s=Nn(i.type,s),g0(n,t,i,s,e);case 15:return YS(n,t,t.type,t.pendingProps,e);case 17:return i=t.type,s=t.pendingProps,s=t.elementType===i?s:Nn(i,s),od(n,t),t.tag=1,We(i)?(n=!0,Kd(t)):n=!1,ga(t,e),KS(t,i,s),kg(t,i,s,e),_g(null,t,i,!0,n,e);case 19:return t1(n,t,e);case 22:return QS(n,t,e)}throw Error(_(156,t.tag))};function m1(n,t){return jw(n,t)}function tC(n,t,e,i){this.tag=n,this.key=e,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=t,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=i,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function Cn(n,t,e,i){return new tC(n,t,e,i)}function Yv(n){return n=n.prototype,!(!n||!n.isReactComponent)}function eC(n){if(typeof n=="function")return Yv(n)?1:0;if(n!=null){if(n=n.$$typeof,n===pv)return 11;if(n===gv)return 14}return 2}function lr(n,t){var e=n.alternate;return e===null?(e=Cn(n.tag,t,n.key,n.mode),e.elementType=n.elementType,e.type=n.type,e.stateNode=n.stateNode,e.alternate=n,n.alternate=e):(e.pendingProps=t,e.type=n.type,e.flags=0,e.subtreeFlags=0,e.deletions=null),e.flags=n.flags&14680064,e.childLanes=n.childLanes,e.lanes=n.lanes,e.child=n.child,e.memoizedProps=n.memoizedProps,e.memoizedState=n.memoizedState,e.updateQueue=n.updateQueue,t=n.dependencies,e.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext},e.sibling=n.sibling,e.index=n.index,e.ref=n.ref,e}function cd(n,t,e,i,s,r){var o=2;if(i=n,typeof n=="function")Yv(n)&&(o=1);else if(typeof n=="string")o=5;else t:switch(n){case Zo:return To(e.children,s,r,t);case fv:o=8,s|=8;break;case Jp:return n=Cn(12,e,t,s|2),n.elementType=Jp,n.lanes=r,n;case Zp:return n=Cn(13,e,t,s),n.elementType=Zp,n.lanes=r,n;case $p:return n=Cn(19,e,t,s),n.elementType=$p,n.lanes=r,n;case Tw:return Wf(e,s,r,t);default:if(typeof n=="object"&&n!==null)switch(n.$$typeof){case xw:o=10;break t;case Cw:o=9;break t;case pv:o=11;break t;case gv:o=14;break t;case ks:o=16,i=null;break t}throw Error(_(130,n==null?n:typeof n,""))}return t=Cn(o,e,t,s),t.elementType=n,t.type=i,t.lanes=r,t}function To(n,t,e,i){return n=Cn(7,n,i,t),n.lanes=e,n}function Wf(n,t,e,i){return n=Cn(22,n,i,t),n.elementType=Tw,n.lanes=e,n.stateNode={isHidden:!1},n}function Dp(n,t,e){return n=Cn(6,n,null,t),n.lanes=e,n}function Ip(n,t,e){return t=Cn(4,n.children!==null?n.children:[],n.key,t),t.lanes=e,t.stateNode={containerInfo:n.containerInfo,pendingChildren:null,implementation:n.implementation},t}function nC(n,t,e,i,s){this.tag=t,this.containerInfo=n,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=gp(0),this.expirationTimes=gp(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=gp(0),this.identifierPrefix=i,this.onRecoverableError=s,this.mutableSourceEagerHydrationData=null}function Qv(n,t,e,i,s,r,o,a,c){return n=new nC(n,t,e,a,c),t===1?(t=1,r===!0&&(t|=8)):t=0,r=Cn(3,null,null,t),n.current=r,r.stateNode=n,r.memoizedState={element:i,isDehydrated:e,cache:null,transitions:null,pendingSuspenseBoundaries:null},Nv(r),n}function iC(n,t,e){var i=3"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(S1)}catch(n){console.error(n)}}S1(),Sw.exports=dn;var wh=Sw.exports,ty,R0=wh;ty=R0.createRoot,R0.hydrateRoot;const lC="modulepreload",cC=function(n){return"/react-pdf-highlighter/"+n},_0={},jl=function(t,e,i){let s=Promise.resolve();if(e&&e.length>0){document.getElementsByTagName("link");const o=document.querySelector("meta[property=csp-nonce]"),a=(o==null?void 0:o.nonce)||(o==null?void 0:o.getAttribute("nonce"));s=Promise.allSettled(e.map(c=>{if(c=cC(c),c in _0)return;_0[c]=!0;const u=c.endsWith(".css"),h=u?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${c}"]${h}`))return;const d=document.createElement("link");if(d.rel=u?"stylesheet":lC,u||(d.as="script"),d.crossOrigin="",d.href=c,a&&d.setAttribute("nonce",a),document.head.appendChild(d),u)return new Promise((f,p)=>{d.addEventListener("load",f),d.addEventListener("error",()=>p(new Error(`Unable to preload CSS for ${c}`)))})}))}function r(o){const a=new Event("vite:preloadError",{cancelable:!0});if(a.payload=o,window.dispatchEvent(a),!a.defaultPrevented)throw o}return s.then(o=>{for(const a of o||[])a.status==="rejected"&&r(a.reason);return t().catch(r)})};function L0(n,t,e){var i,s,r;e===void 0&&(e={});var o=(i=e.isImmediate)!=null&&i,a=(s=e.callback)!=null&&s,c=e.maxWait,u=Date.now(),h=[];function d(){if(c!==void 0){var p=Date.now()-u;if(p+t>=c)return c-p}return t}var f=function(){var p=[].slice.call(arguments),g=this;return new Promise(function(w,E){var m=o&&r===void 0;if(r!==void 0&&clearTimeout(r),r=setTimeout(function(){if(r=void 0,u=Date.now(),!o){var y=n.apply(g,p);a&&a(y),h.forEach(function(x){return(0,x.resolve)(y)}),h=[]}},d()),m){var v=n.apply(g,p);return a&&a(v),w(v)}h.push({resolve:w,reject:E})})};return f.cancel=function(p){r!==void 0&&clearTimeout(r),h.forEach(function(g){return(0,g.reject)(p)}),h=[]},f}const Ug=(n,{width:t,height:e})=>({x1:n.left,y1:n.top,x2:n.left+n.width,y2:n.top+n.height,width:t,height:e,pageNumber:n.pageNumber}),uC=(n,t)=>{const[e,i,s,r]=t.convertToViewportRectangle([n.x1,n.y1,n.x2,n.y2]);return{left:Math.min(e,s),top:Math.min(i,r),width:Math.abs(s-e),height:Math.abs(i-r),pageNumber:n.pageNumber}},Fp=(n,t,e=!1)=>{const{width:i,height:s}=t;if(e)return uC(n,t);if(n.x1===void 0)throw new Error("You are using old position format, please update");const r=i*n.x1/n.width,o=s*n.y1/n.height,a=i*n.x2/n.width,c=s*n.y2/n.height;return{left:r,top:o,width:a-r,height:c-o,pageNumber:n.pageNumber}},A1=n=>n.ownerDocument||document,ey=n=>A1(n).defaultView||window,cr=n=>n!=null&&(n instanceof HTMLElement||n instanceof ey(n).HTMLElement),hC=n=>n instanceof HTMLCanvasElement||n instanceof ey(n).HTMLCanvasElement,pc=n=>{const t=n.closest(".page");if(!cr(t))return null;const e=Number(t.dataset.pageNumber);return{node:t,number:e}},dC=n=>{const t=n.startContainer.parentElement,e=n.endContainer.parentElement;if(!cr(t)||!cr(e))return[];const i=pc(t),s=pc(e);if(!(i!=null&&i.number)||!(s!=null&&s.number))return[];if(i.number===s.number)return[i];if(i.number===s.number-1)return[i,s];const r=[];let o=i.number;const a=i.node.ownerDocument;for(;o<=s.number;){const c=pc(a.querySelector(`[data-page-number='${o}'`));c&&r.push(c),o++}return r},fC=(n,t,e)=>{const i=A1(n);let s=n.querySelector(e);return s||(s=i.createElement("div"),s.className=t,n.appendChild(s)),s},pC=(n,t)=>{const{left:e,top:i,width:s,height:r}=t,o=n?n.ownerDocument:null,a=o==null?void 0:o.createElement("canvas");if(!a||!hC(a))return"";a.width=s,a.height=r;const c=a.getContext("2d");if(!c||!n)return"";const u=window.devicePixelRatio;return c.drawImage(n,e*u,i*u,s*u,r*u,0,0,s,r),a.toDataURL("image/png")},gC=n=>{const t=Array.from(n).map(h=>{const{left:d,top:f,width:p,height:g,pageNumber:w}=h,E=d,m=d+p,v=f,y=f+g;return{X0:E,X1:m,Y0:v,Y1:y,pageNumber:w}});let e=Number.MAX_SAFE_INTEGER;for(const h of t)e=Math.min(e,h.pageNumber??e);const i=t.filter(h=>(h.X0>0||h.X1>0||h.Y0>0||h.Y1>0)&&h.pageNumber===e),s=i.reduce((h,d)=>({X0:Math.min(h.X0,d.X0),X1:Math.max(h.X1,d.X1),Y0:Math.min(h.Y0,d.Y0),Y1:Math.max(h.Y1,d.Y1),pageNumber:e}),i[0]),{X0:r,X1:o,Y0:a,Y1:c,pageNumber:u}=s;return{left:r,top:a,width:o-r,height:c-a,pageNumber:u}},mC=n=>n.sort((t,e)=>{const i=(t.pageNumber||0)*t.top-(e.pageNumber||0)*e.top;return i===0?t.left-e.left:i}),vC=(n,t)=>n.pageNumber===t.pageNumber&&n.left<=t.left&&t.left<=n.left+n.width,yC=(n,t,e=5)=>n.pageNumber===t.pageNumber&&Math.abs(n.top-t.top)n.pageNumber===t.pageNumber&&n.top>t.top&&n.left>t.left&&n.top+n.height{const i=n.left+n.width,s=t.left+t.width;return n.pageNumber===t.pageNumber&&n.left<=t.left&&i<=s&&t.left-i<=e},M0=(n,t)=>{n.width=Math.max(t.width-n.left+t.left,n.width)},AC=n=>{const t=mC(n),e=new Set,i=t.filter(r=>t.every(o=>!wC(r,o)));let s=0;for(;s<=2;){for(const r of i)for(const o of i)r===o||e.has(r)||e.has(o)||yC(r,o)&&(vC(r,o)&&(M0(r,o),r.height=Math.max(r.height,o.height),e.add(o)),SC(r,o)&&(M0(r,o),e.add(o)));s+=1}return i.filter(r=>!e.has(r))},bC=(n,t)=>!(n.topt.bottom||n.right>t.right||n.left{const i=Array.from(n.getClientRects()),s=[];for(const r of i)for(const o of t){const a=o.node.getBoundingClientRect();if(bC(r,a)&&r.width>0&&r.height>0&&r.width{const g={...f,position:t(f.position)};r&&r.highlight.id===String(f.id)&&u(r.highlight,r.callback(g));const w=i===f.id;return s(g,p,(E,m)=>{h({highlight:E,callback:m}),u(E,m(E))},o,E=>{const m=a.getPageView((E.pageNumber||Number.parseInt(e))-1).viewport;return Ug(E,m)},E=>c(E,Number.parseInt(e)),w)})})}const RC="_mouseSelection_1p43j_1",_C={mouseSelection:RC},N0=(n,t)=>({left:Math.min(t.x,n.x),top:Math.min(t.y,n.y),width:Math.abs(t.x-n.x),height:Math.abs(t.y-n.y)}),LC=n=>n.width>=1&&n.height>=1;function MC({onSelection:n,onDragStart:t,onDragEnd:e,shouldStart:i,onChange:s}){const[r,o]=Y.useState(!1),[a,c]=Y.useState(null),[u,h]=Y.useState(null),d=Y.useRef(null),f=Y.useRef(a),p=Y.useRef(r);Y.useEffect(()=>{f.current=a},[a]),Y.useEffect(()=>{p.current=r},[r]);const g=Y.useCallback(()=>{e(),c(null),h(null),o(!1)},[e]);return Y.useEffect(()=>{s(!!(a&&u))},[a,u,s]),Y.useEffect(()=>{const w=d.current;if(!w)return;const E=w.parentElement;if(!E||!cr(E))return;const m=(x,C)=>{const T=E.getBoundingClientRect();return{x:x-T.left+E.scrollLeft,y:C-T.top+E.scrollTop-window.scrollY}},v=x=>{!f.current||p.current||h(m(x.pageX,x.pageY))},y=x=>{if(!i(x)){g();return}const C=x.target;if(!(C instanceof Element)||!cr(C))return;t(),c(m(x.pageX,x.pageY)),h(null),o(!1);const T=P=>{var W;(W=P.currentTarget)==null||W.removeEventListener("mouseup",T);const M=f.current;if(!M||!(P instanceof MouseEvent))return;const L=m(P.pageX,P.pageY),D=N0(M,L);if(!(P.target instanceof Element)||!cr(P.target)||!E.contains(P.target)||!LC(D)){g();return}h(L),o(!0),n(C,D,g),e()},k=E.ownerDocument;k!=null&&k.body&&k.body.addEventListener("mouseup",T)};return E.addEventListener("mousemove",v),E.addEventListener("mousedown",y),()=>{E.removeEventListener("mousemove",v),E.removeEventListener("mousedown",y)}},[i,t,e,n,g]),N.jsx("div",{ref:d,children:a&&u&&N.jsx("div",{className:_C.mouseSelection,style:N0(a,u)})})}const NC="_tipContainer_f56kr_1",DC={tipContainer:NC};function IC(n,t,e){return Math.min(Math.max(n,t),e)}function FC({children:n,style:t,scrollTop:e,pageBoundingRect:i}){const[s,r]=Y.useState(0),[o,a]=Y.useState(0),c=Y.useRef(null),u=Y.useCallback(()=>{if(!c.current)return;const{offsetHeight:E,offsetWidth:m}=c.current;r(E),a(m)},[]);Y.useEffect(()=>{setTimeout(u,0)},[u]);const h=o===0&&s===0,d=t.top-s-5{a(0),r(0),setTimeout(u,0)},[u]),w=pl.Children.map(n,E=>E!=null?pl.cloneElement(E,{onUpdate:g,popup:{position:d?"below":"above"}}):null);return N.jsx("div",{id:"PdfHighlighter__tip-container",className:DC.tipContainer,style:{visibility:h?"hidden":"visible",top:f,left:p},ref:c,children:w})}const D0="empty-id";class b1 extends Y.PureComponent{constructor(e){super(e);I(this,"state",{ghostHighlight:null,isCollapsed:!0,range:null,scrolledToHighlightId:D0,isAreaSelectionInProgress:!1,tip:null,tipPosition:null,tipChildren:null});I(this,"viewer");I(this,"resizeObserver",null);I(this,"containerNode",null);I(this,"containerNodeRef");I(this,"highlightRoots",{});I(this,"unsubscribe",()=>{});I(this,"attachRef",e=>{var s;const{resizeObserver:i}=this;if(this.containerNode=this.containerNodeRef.current,this.unsubscribe(),this.containerNode){const{ownerDocument:r}=this.containerNode;e.on("textlayerrendered",this.onTextLayerRendered),e.on("pagesinit",this.onDocumentReady),r.addEventListener("selectionchange",this.onSelectionChange),r.addEventListener("keydown",this.handleKeyDown),(s=r.defaultView)==null||s.addEventListener("resize",this.debouncedScaleValue),i&&i.observe(this.containerNode),this.unsubscribe=()=>{var o;e.off("pagesinit",this.onDocumentReady),e.off("textlayerrendered",this.onTextLayerRendered),r.removeEventListener("selectionchange",this.onSelectionChange),r.removeEventListener("keydown",this.handleKeyDown),(o=r.defaultView)==null||o.removeEventListener("resize",this.debouncedScaleValue),i&&i.disconnect()}}});I(this,"hideTipAndSelection",()=>{this.setState({tipPosition:null,tipChildren:null}),this.setState({ghostHighlight:null,tip:null},()=>this.renderHighlightLayers())});I(this,"renderTip",()=>{const{tipPosition:e,tipChildren:i}=this.state;if(!e)return null;const{boundingRect:s,pageNumber:r}=e,o={node:this.viewer.getPageView((s.pageNumber||r)-1).div,pageNumber:s.pageNumber||r},a=o.node.getBoundingClientRect(),c={bottom:a.bottom,height:a.height,left:a.left,right:a.right,top:a.top,width:a.width,x:a.x,y:a.y,pageNumber:o.pageNumber};return N.jsx(FC,{scrollTop:this.viewer.container.scrollTop,pageBoundingRect:c,style:{left:o.node.offsetLeft+s.left+s.width/2,top:s.top+o.node.offsetTop,bottom:s.top+o.node.offsetTop+s.height},children:i})});I(this,"onTextLayerRendered",()=>{this.renderHighlightLayers()});I(this,"scrollTo",e=>{const{pageNumber:i,boundingRect:s,usePdfCoordinates:r}=e.position;this.viewer.container.removeEventListener("scroll",this.onScroll);const o=this.viewer.getPageView(i-1).viewport;this.viewer.scrollPageIntoView({pageNumber:i,destArray:[null,{name:"XYZ"},...o.convertToPdfPoint(0,Fp(s,o,r).top-10),0]}),this.setState({scrolledToHighlightId:e.id},()=>this.renderHighlightLayers()),setTimeout(()=>{this.viewer.container.addEventListener("scroll",this.onScroll)},100)});I(this,"onDocumentReady",()=>{const{scrollRef:e}=this.props;this.handleScaleValue(),e(this.scrollTo)});I(this,"onSelectionChange",()=>{const e=this.containerNode;if(!e)return;const i=ey(e).getSelection();if(!i)return;const s=i.rangeCount>0?i.getRangeAt(0):null;if(i.isCollapsed){this.setState({isCollapsed:!0});return}!s||!e||!e.contains(s.commonAncestorContainer)||(this.setState({isCollapsed:!1,range:s}),this.debouncedAfterSelection())});I(this,"onScroll",()=>{const{onScrollChange:e}=this.props;e(),this.setState({scrolledToHighlightId:D0},()=>this.renderHighlightLayers()),this.viewer.container.removeEventListener("scroll",this.onScroll)});I(this,"onMouseDown",e=>{!(e.target instanceof Element)||!cr(e.target)||e.target.closest("#PdfHighlighter__tip-container")||this.hideTipAndSelection()});I(this,"handleKeyDown",e=>{e.code==="Escape"&&this.hideTipAndSelection()});I(this,"afterSelection",()=>{const{onSelectionFinished:e}=this.props,{isCollapsed:i,range:s}=this.state;if(!s||i)return;const r=dC(s);if(!r||r.length===0)return;const o=EC(s,r);if(o.length===0)return;const c={boundingRect:gC(o),rects:o,pageNumber:r[0].number},u={text:s.toString()},h=this.viewportPositionToScaled(c);this.setTip(c,e(h,u,()=>this.hideTipAndSelection(),()=>this.setState({ghostHighlight:{position:h}},()=>this.renderHighlightLayers())))});I(this,"debouncedAfterSelection",L0(this.afterSelection,500));I(this,"handleScaleValue",()=>{this.viewer&&(this.viewer.currentScaleValue=this.props.pdfScaleValue)});I(this,"debouncedScaleValue",L0(this.handleScaleValue,500));typeof ResizeObserver<"u"&&(this.resizeObserver=new ResizeObserver(this.debouncedScaleValue)),this.containerNodeRef=pl.createRef()}componentDidMount(){this.init()}componentDidUpdate(e){if(e.pdfDocument!==this.props.pdfDocument){this.init();return}e.highlights!==this.props.highlights&&this.renderHighlightLayers()}async init(){const{pdfDocument:e,pdfViewerOptions:i}=this.props,s=await jl(()=>import("./pdf_viewer-BDtZ6JaA.js"),[]),r=new s.EventBus,o=new s.PDFLinkService({eventBus:r,externalLinkTarget:2});if(!this.containerNodeRef.current)throw new Error("!");this.viewer=this.viewer||new s.PDFViewer({container:this.containerNodeRef.current,eventBus:r,textLayerMode:2,removePageBorders:!0,linkService:o,...i}),o.setDocument(e),o.setViewer(this.viewer),this.viewer.setDocument(e),this.attachRef(r)}componentWillUnmount(){this.unsubscribe()}findOrCreateHighlightLayer(e){const{textLayer:i}=this.viewer.getPageView(e-1)||{};return i?fC(i.div,`PdfHighlighter__highlight-layer ${Op.highlightLayer}`,".PdfHighlighter__highlight-layer"):null}groupHighlightsByPage(e){const{ghostHighlight:i}=this.state,s=[...e,i].filter(Boolean),r=new Set;for(const a of s){r.add(a.position.pageNumber);for(const c of a.position.rects)c.pageNumber&&r.add(c.pageNumber)}const o={};for(const a of r){o[a]=o[a]||[];for(const c of s){const u={...c,position:{pageNumber:a,boundingRect:c.position.boundingRect,rects:[],usePdfCoordinates:c.position.usePdfCoordinates}};let h=!1;for(const d of c.position.rects)a===(d.pageNumber||c.position.pageNumber)&&(u.position.rects.push(d),h=!0);(h||a===c.position.pageNumber)&&o[a].push(u)}}return o}showTip(e,i){const{isCollapsed:s,ghostHighlight:r,isAreaSelectionInProgress:o}=this.state;!s||r||o||this.setTip(e.position,i)}scaledPositionToViewport({pageNumber:e,boundingRect:i,rects:s,usePdfCoordinates:r}){const o=this.viewer.getPageView(e-1).viewport;return{boundingRect:Fp(i,o,r),rects:(s||[]).map(a=>Fp(a,o,r)),pageNumber:e}}viewportPositionToScaled({pageNumber:e,boundingRect:i,rects:s}){const r=this.viewer.getPageView(e-1).viewport;return{boundingRect:Ug(i,r),rects:(s||[]).map(o=>Ug(o,r)),pageNumber:e}}screenshot(e,i){const s=this.viewer.getPageView(i-1).canvas;return pC(s,e)}setTip(e,i){this.setState({tipPosition:e,tipChildren:i})}toggleTextSelection(e){this.viewer.viewer&&this.viewer.viewer.classList.toggle(Op.disableSelection,e)}render(){const{onSelectionFinished:e,enableAreaSelection:i}=this.props;return N.jsx("div",{onPointerDown:this.onMouseDown,children:N.jsxs("div",{ref:this.containerNodeRef,className:Op.container,onContextMenu:s=>s.preventDefault(),children:[N.jsx("div",{className:"pdfViewer"}),this.renderTip(),typeof i=="function"?N.jsx(MC,{onDragStart:()=>this.toggleTextSelection(!0),onDragEnd:()=>this.toggleTextSelection(!1),onChange:s=>this.setState({isAreaSelectionInProgress:s}),shouldStart:s=>i(s)&&s.target instanceof Element&&cr(s.target)&&!!s.target.closest(".page"),onSelection:(s,r,o)=>{const a=pc(s);if(!a)return;const c={...r,top:r.top-a.node.offsetTop,left:r.left-a.node.offsetLeft,pageNumber:a.number},u={boundingRect:c,rects:[],pageNumber:a.number},h=this.viewportPositionToScaled(u),d=this.screenshot(c,c.pageNumber);this.setTip(u,e(h,{image:d},()=>this.hideTipAndSelection(),()=>{console.log("setting ghost highlight",h),this.setState({ghostHighlight:{position:h,content:{image:d}}},()=>{o(),this.renderHighlightLayers()})}))}}):null]})})}renderHighlightLayers(){const{pdfDocument:e}=this.props;for(let i=1;i<=e.numPages;i++){const s=this.highlightRoots[i];if(s!=null&&s.container.isConnected)this.renderHighlightLayer(s.reactRoot,i);else{const r=this.findOrCreateHighlightLayer(i);if(r){const o=ty(r);this.highlightRoots[i]={reactRoot:o,container:r},this.renderHighlightLayer(o,i)}}}}renderHighlightLayer(e,i){const{highlightTransform:s,highlights:r}=this.props,{tip:o,scrolledToHighlightId:a}=this.state;e.render(N.jsx(PC,{highlightsByPage:this.groupHighlightsByPage(r),pageNumber:i.toString(),scrolledToHighlightId:a,highlightTransform:s,tip:o,scaledPositionToViewport:this.scaledPositionToViewport.bind(this),hideTipAndSelection:this.hideTipAndSelection.bind(this),viewer:this.viewer,screenshot:this.screenshot.bind(this),showTip:this.showTip.bind(this),setTip:c=>{this.setState({tip:c})}}))}}I(b1,"defaultProps",{pdfScaleValue:"auto"});const OC="_compact_1um8o_1",zC="_card_1um8o_10",I0={compact:OC,card:zC};class VC extends Y.Component{constructor(){super(...arguments);I(this,"state",{compact:!0,text:"",emoji:""})}componentDidUpdate(e,i){const{onUpdate:s}=this.props;s&&this.state.compact!==i.compact&&s()}render(){const{onConfirm:e,onOpen:i}=this.props,{compact:s,text:r,emoji:o}=this.state;return N.jsx("div",{children:s?N.jsx("div",{className:I0.compact,onClick:()=>{i(),this.setState({compact:!1})},children:"Add highlight"}):N.jsxs("form",{className:I0.card,onSubmit:a=>{a.preventDefault(),e({text:r,emoji:o})},children:[N.jsxs("div",{children:[N.jsx("textarea",{placeholder:"Your comment",autoFocus:!0,value:r,onChange:a=>this.setState({text:a.target.value}),ref:a=>{a&&a.focus()}}),N.jsx("div",{children:["💩","😱","😍","🔥","😳","⚠️"].map(a=>N.jsxs("label",{children:[N.jsx("input",{checked:o===a,type:"radio",name:"emoji",value:a,onChange:c=>this.setState({emoji:c.target.value})}),a]},a))})]}),N.jsx("div",{children:N.jsx("input",{type:"submit",value:"Save"})})]})})}}const qC="_highlight_3l4zw_1",HC="_emoji_3l4zw_5",UC="_parts_3l4zw_12",jC="_part_3l4zw_12",WC="_scrolledTo_3l4zw_23",Dl={highlight:qC,emoji:HC,parts:UC,part:jC,scrolledTo:WC};function BC({position:n,onClick:t,onMouseOver:e,onMouseOut:i,comment:s,isScrolledTo:r}){const{rects:o,boundingRect:a}=n;return N.jsxs("div",{className:`Highlight ${Dl.highlight} ${r?Dl.scrolledTo:""}`,children:[s?N.jsx("div",{className:`Highlight__emoji ${Dl.emoji}`,style:{left:20,top:a.top},children:s.emoji}):null,N.jsx("div",{className:`Highlight__parts ${Dl.parts}`,children:o.map((c,u)=>N.jsx("div",{onMouseOver:e,onMouseOut:i,onClick:t,style:c,className:`Highlight__part ${Dl.part}`},u))})]})}class KC extends Y.Component{constructor(){super(...arguments);I(this,"container",null);I(this,"unsubscribe",()=>{});I(this,"onMouseMove",e=>{if(!this.container)return;const{onMoveAway:i,paddingX:s,paddingY:r}=this.props,{clientX:o,clientY:a}=e,{left:c,top:u,width:h,height:d}=this.container.getBoundingClientRect(),f=o>c-s&&ou-r&&a{if(this.container=e,this.unsubscribe(),e){const{ownerDocument:i}=e;i.addEventListener("mousemove",this.onMouseMove),this.unsubscribe=()=>{i.removeEventListener("mousemove",this.onMouseMove)}}})}render(){const{onMoveAway:e,paddingX:i,paddingY:s,children:r,...o}=this.props;return N.jsx("div",{ref:this.attachRef,children:pl.cloneElement(r,o)})}}function XC({onMouseOver:n,popupContent:t,onMouseOut:e,children:i}){const[s,r]=Y.useState(!1);return N.jsx("div",{onMouseOver:()=>{r(!0),n(N.jsx(KC,{onMoveAway:()=>{s||e()},paddingX:60,paddingY:30,children:t}))},onMouseOut:()=>{r(!1)},children:i})}var Yf={exports:{}},E1={},x1={exports:{}},GC="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED",YC=GC,QC=YC;function C1(){}function T1(){}T1.resetWarningCache=C1;var JC=function(){function n(i,s,r,o,a,c){if(c!==QC){var u=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw u.name="Invariant Violation",u}}n.isRequired=n;function t(){return n}var e={array:n,bigint:n,bool:n,func:n,number:n,object:n,string:n,symbol:n,any:n,arrayOf:t,element:n,elementType:n,instanceOf:t,node:n,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:T1,resetWarningCache:C1};return e.PropTypes=e,e};x1.exports=JC();var k1=x1.exports;function P1(n){var t,e,i="";if(typeof n=="string"||typeof n=="number")i+=n;else if(typeof n=="object")if(Array.isArray(n))for(t=0;t0&&arguments[0]!==void 0?arguments[0]:"transform";if(typeof window>"u")return"";const e=(n=window.document)===null||n===void 0||(n=n.documentElement)===null||n===void 0?void 0:n.style;if(!e||t in e)return"";for(let i=0;it===e.identifier)||n.changedTouches&&(0,un.findInArray)(n.changedTouches,e=>t===e.identifier)}function wT(n){if(n.targetTouches&&n.targetTouches[0])return n.targetTouches[0].identifier;if(n.changedTouches&&n.changedTouches[0])return n.changedTouches[0].identifier}function ST(n){if(!n)return;let t=n.getElementById("react-draggable-style-el");t||(t=n.createElement("style"),t.type="text/css",t.id="react-draggable-style-el",t.innerHTML=`.react-draggable-transparent-selection *::-moz-selection {all: inherit;} `,t.innerHTML+=`.react-draggable-transparent-selection *::selection {all: inherit;} -`,n.getElementsByTagName("head")[0].appendChild(t)),n.body&&D1(n.body,"react-draggable-transparent-selection")}function bT(n){if(n)try{if(n.body&&I1(n.body,"react-draggable-transparent-selection"),n.selection)n.selection.empty();else{const t=(n.defaultView||window).getSelection();t&&t.type!=="Caret"&&t.removeAllRanges()}}catch{}}function D1(n,t){n.classList?n.classList.add(t):n.className.match(new RegExp("(?:^|\\s)".concat(t,"(?!\\S)")))||(n.className+=" ".concat(t))}function I1(n,t){n.classList?n.classList.remove(t):n.className=n.className.replace(new RegExp("(?:^|\\s)".concat(t,"(?!\\S)"),"g"),"")}var Ti={};Object.defineProperty(Ti,"__esModule",{value:!0});Ti.canDragX=CT;Ti.canDragY=TT;Ti.createCoreData=PT;Ti.createDraggableData=RT;Ti.getBoundPosition=ET;Ti.getControlPosition=kT;Ti.snapToGrid=xT;var Ye=Ci,ca=Nt;function ET(n,t,e){if(!n.props.bounds)return[t,e];let{bounds:i}=n.props;i=typeof i=="string"?i:_T(i);const s=sy(n);if(typeof i=="string"){const{ownerDocument:r}=s,o=r.defaultView;let a;if(i==="parent"?a=s.parentNode:a=r.querySelector(i),!(a instanceof o.HTMLElement))throw new Error('Bounds selector "'+i+'" could not find an element.');const c=a,u=o.getComputedStyle(s),h=o.getComputedStyle(c);i={left:-s.offsetLeft+(0,Ye.int)(h.paddingLeft)+(0,Ye.int)(u.marginLeft),top:-s.offsetTop+(0,Ye.int)(h.paddingTop)+(0,Ye.int)(u.marginTop),right:(0,ca.innerWidth)(c)-(0,ca.outerWidth)(s)-s.offsetLeft+(0,Ye.int)(h.paddingRight)-(0,Ye.int)(u.marginRight),bottom:(0,ca.innerHeight)(c)-(0,ca.outerHeight)(s)-s.offsetTop+(0,Ye.int)(h.paddingBottom)-(0,Ye.int)(u.marginBottom)}}return(0,Ye.isNum)(i.right)&&(t=Math.min(t,i.right)),(0,Ye.isNum)(i.bottom)&&(e=Math.min(e,i.bottom)),(0,Ye.isNum)(i.left)&&(t=Math.max(t,i.left)),(0,Ye.isNum)(i.top)&&(e=Math.max(e,i.top)),[t,e]}function xT(n,t,e){const i=Math.round(t/n[0])*n[0],s=Math.round(e/n[1])*n[1];return[i,s]}function CT(n){return n.props.axis==="both"||n.props.axis==="x"}function TT(n){return n.props.axis==="both"||n.props.axis==="y"}function kT(n,t,e){const i=typeof t=="number"?(0,ca.getTouch)(n,t):null;if(typeof t=="number"&&!i)return null;const s=sy(e),r=e.props.offsetParent||s.offsetParent||s.ownerDocument.body;return(0,ca.offsetXYFromParent)(i||n,r,e.props.scale)}function PT(n,t,e){const i=!(0,Ye.isNum)(n.lastX),s=sy(n);return i?{node:s,deltaX:0,deltaY:0,lastX:t,lastY:e,x:t,y:e}:{node:s,deltaX:t-n.lastX,deltaY:e-n.lastY,lastX:n.lastX,lastY:n.lastY,x:t,y:e}}function RT(n,t){const e=n.props.scale;return{node:t.node,x:n.state.x+t.deltaX/e,y:n.state.y+t.deltaY/e,deltaX:t.deltaX/e,deltaY:t.deltaY/e,lastX:n.state.x,lastY:n.state.y}}function _T(n){return{left:n.left,top:n.top,right:n.right,bottom:n.bottom}}function sy(n){const t=n.findDOMNode();if(!t)throw new Error(": Unmounted during event!");return t}var Qf={},Jf={};Object.defineProperty(Jf,"__esModule",{value:!0});Jf.default=LT;function LT(){}Object.defineProperty(Qf,"__esModule",{value:!0});Qf.default=void 0;var Vp=NT(Y),De=ry(P1),MT=ry(wh),pe=Nt,bs=Ti,qp=Ci,Il=ry(Jf);function ry(n){return n&&n.__esModule?n:{default:n}}function F1(n){if(typeof WeakMap!="function")return null;var t=new WeakMap,e=new WeakMap;return(F1=function(i){return i?e:t})(n)}function NT(n,t){if(n&&n.__esModule)return n;if(n===null||typeof n!="object"&&typeof n!="function")return{default:n};var e=F1(t);if(e&&e.has(n))return e.get(n);var i={},s=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var r in n)if(r!=="default"&&Object.prototype.hasOwnProperty.call(n,r)){var o=s?Object.getOwnPropertyDescriptor(n,r):null;o&&(o.get||o.set)?Object.defineProperty(i,r,o):i[r]=n[r]}return i.default=n,e&&e.set(n,i),i}function xe(n,t,e){return t=DT(t),t in n?Object.defineProperty(n,t,{value:e,enumerable:!0,configurable:!0,writable:!0}):n[t]=e,n}function DT(n){var t=IT(n,"string");return typeof t=="symbol"?t:String(t)}function IT(n,t){if(typeof n!="object"||n===null)return n;var e=n[Symbol.toPrimitive];if(e!==void 0){var i=e.call(n,t||"default");if(typeof i!="object")return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(n)}const Ln={touch:{start:"touchstart",move:"touchmove",stop:"touchend"},mouse:{start:"mousedown",move:"mousemove",stop:"mouseup"}};let Es=Ln.mouse,Zf=class extends Vp.Component{constructor(){super(...arguments),xe(this,"dragging",!1),xe(this,"lastX",NaN),xe(this,"lastY",NaN),xe(this,"touchIdentifier",null),xe(this,"mounted",!1),xe(this,"handleDragStart",t=>{if(this.props.onMouseDown(t),!this.props.allowAnyClick&&typeof t.button=="number"&&t.button!==0)return!1;const e=this.findDOMNode();if(!e||!e.ownerDocument||!e.ownerDocument.body)throw new Error(" not mounted on DragStart!");const{ownerDocument:i}=e;if(this.props.disabled||!(t.target instanceof i.defaultView.Node)||this.props.handle&&!(0,pe.matchesSelectorAndParentsTo)(t.target,this.props.handle,e)||this.props.cancel&&(0,pe.matchesSelectorAndParentsTo)(t.target,this.props.cancel,e))return;t.type==="touchstart"&&t.preventDefault();const s=(0,pe.getTouchIdentifier)(t);this.touchIdentifier=s;const r=(0,bs.getControlPosition)(t,s,this);if(r==null)return;const{x:o,y:a}=r,c=(0,bs.createCoreData)(this,o,a);(0,Il.default)("DraggableCore: handleDragStart: %j",c),(0,Il.default)("calling",this.props.onStart),!(this.props.onStart(t,c)===!1||this.mounted===!1)&&(this.props.enableUserSelectHack&&(0,pe.addUserSelectStyles)(i),this.dragging=!0,this.lastX=o,this.lastY=a,(0,pe.addEvent)(i,Es.move,this.handleDrag),(0,pe.addEvent)(i,Es.stop,this.handleDragStop))}),xe(this,"handleDrag",t=>{const e=(0,bs.getControlPosition)(t,this.touchIdentifier,this);if(e==null)return;let{x:i,y:s}=e;if(Array.isArray(this.props.grid)){let a=i-this.lastX,c=s-this.lastY;if([a,c]=(0,bs.snapToGrid)(this.props.grid,a,c),!a&&!c)return;i=this.lastX+a,s=this.lastY+c}const r=(0,bs.createCoreData)(this,i,s);if((0,Il.default)("DraggableCore: handleDrag: %j",r),this.props.onDrag(t,r)===!1||this.mounted===!1){try{this.handleDragStop(new MouseEvent("mouseup"))}catch{const c=document.createEvent("MouseEvents");c.initMouseEvent("mouseup",!0,!0,window,0,0,0,0,0,!1,!1,!1,!1,0,null),this.handleDragStop(c)}return}this.lastX=i,this.lastY=s}),xe(this,"handleDragStop",t=>{if(!this.dragging)return;const e=(0,bs.getControlPosition)(t,this.touchIdentifier,this);if(e==null)return;let{x:i,y:s}=e;if(Array.isArray(this.props.grid)){let c=i-this.lastX||0,u=s-this.lastY||0;[c,u]=(0,bs.snapToGrid)(this.props.grid,c,u),i=this.lastX+c,s=this.lastY+u}const r=(0,bs.createCoreData)(this,i,s);if(this.props.onStop(t,r)===!1||this.mounted===!1)return!1;const a=this.findDOMNode();a&&this.props.enableUserSelectHack&&(0,pe.removeUserSelectStyles)(a.ownerDocument),(0,Il.default)("DraggableCore: handleDragStop: %j",r),this.dragging=!1,this.lastX=NaN,this.lastY=NaN,a&&((0,Il.default)("DraggableCore: Removing handlers"),(0,pe.removeEvent)(a.ownerDocument,Es.move,this.handleDrag),(0,pe.removeEvent)(a.ownerDocument,Es.stop,this.handleDragStop))}),xe(this,"onMouseDown",t=>(Es=Ln.mouse,this.handleDragStart(t))),xe(this,"onMouseUp",t=>(Es=Ln.mouse,this.handleDragStop(t))),xe(this,"onTouchStart",t=>(Es=Ln.touch,this.handleDragStart(t))),xe(this,"onTouchEnd",t=>(Es=Ln.touch,this.handleDragStop(t)))}componentDidMount(){this.mounted=!0;const t=this.findDOMNode();t&&(0,pe.addEvent)(t,Ln.touch.start,this.onTouchStart,{passive:!1})}componentWillUnmount(){this.mounted=!1;const t=this.findDOMNode();if(t){const{ownerDocument:e}=t;(0,pe.removeEvent)(e,Ln.mouse.move,this.handleDrag),(0,pe.removeEvent)(e,Ln.touch.move,this.handleDrag),(0,pe.removeEvent)(e,Ln.mouse.stop,this.handleDragStop),(0,pe.removeEvent)(e,Ln.touch.stop,this.handleDragStop),(0,pe.removeEvent)(t,Ln.touch.start,this.onTouchStart,{passive:!1}),this.props.enableUserSelectHack&&(0,pe.removeUserSelectStyles)(e)}}findDOMNode(){var t,e;return(t=this.props)!==null&&t!==void 0&&t.nodeRef?(e=this.props)===null||e===void 0||(e=e.nodeRef)===null||e===void 0?void 0:e.current:MT.default.findDOMNode(this)}render(){return Vp.cloneElement(Vp.Children.only(this.props.children),{onMouseDown:this.onMouseDown,onMouseUp:this.onMouseUp,onTouchEnd:this.onTouchEnd})}};Qf.default=Zf;xe(Zf,"displayName","DraggableCore");xe(Zf,"propTypes",{allowAnyClick:De.default.bool,children:De.default.node.isRequired,disabled:De.default.bool,enableUserSelectHack:De.default.bool,offsetParent:function(n,t){if(n[t]&&n[t].nodeType!==1)throw new Error("Draggable's offsetParent must be a DOM Node.")},grid:De.default.arrayOf(De.default.number),handle:De.default.string,cancel:De.default.string,nodeRef:De.default.object,onStart:De.default.func,onDrag:De.default.func,onStop:De.default.func,onMouseDown:De.default.func,scale:De.default.number,className:qp.dontSetMe,style:qp.dontSetMe,transform:qp.dontSetMe});xe(Zf,"defaultProps",{allowAnyClick:!1,disabled:!1,enableUserSelectHack:!0,onStart:function(){},onDrag:function(){},onStop:function(){},onMouseDown:function(){},scale:1});(function(n){Object.defineProperty(n,"__esModule",{value:!0}),Object.defineProperty(n,"DraggableCore",{enumerable:!0,get:function(){return c.default}}),n.default=void 0;var t=f(Y),e=h(P1),i=h(wh),s=h(tT),r=Nt,o=Ti,a=Ci,c=h(Qf),u=h(Jf);function h(v){return v&&v.__esModule?v:{default:v}}function d(v){if(typeof WeakMap!="function")return null;var y=new WeakMap,x=new WeakMap;return(d=function(C){return C?x:y})(v)}function f(v,y){if(v&&v.__esModule)return v;if(v===null||typeof v!="object"&&typeof v!="function")return{default:v};var x=d(y);if(x&&x.has(v))return x.get(v);var C={},T=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var k in v)if(k!=="default"&&Object.prototype.hasOwnProperty.call(v,k)){var P=T?Object.getOwnPropertyDescriptor(v,k):null;P&&(P.get||P.set)?Object.defineProperty(C,k,P):C[k]=v[k]}return C.default=v,x&&x.set(v,C),C}function p(){return p=Object.assign?Object.assign.bind():function(v){for(var y=1;y{if((0,u.default)("Draggable: onDragStart: %j",C),this.props.onStart(x,(0,o.createDraggableData)(this,C))===!1)return!1;this.setState({dragging:!0,dragged:!0})}),g(this,"onDrag",(x,C)=>{if(!this.state.dragging)return!1;(0,u.default)("Draggable: onDrag: %j",C);const T=(0,o.createDraggableData)(this,C),k={x:T.x,y:T.y,slackX:0,slackY:0};if(this.props.bounds){const{x:M,y:L}=k;k.x+=this.state.slackX,k.y+=this.state.slackY;const[D,W]=(0,o.getBoundPosition)(this,k.x,k.y);k.x=D,k.y=W,k.slackX=this.state.slackX+(M-k.x),k.slackY=this.state.slackY+(L-k.y),T.x=k.x,T.y=k.y,T.deltaX=k.x-this.state.x,T.deltaY=k.y-this.state.y}if(this.props.onDrag(x,T)===!1)return!1;this.setState(k)}),g(this,"onDragStop",(x,C)=>{if(!this.state.dragging||this.props.onStop(x,(0,o.createDraggableData)(this,C))===!1)return!1;(0,u.default)("Draggable: onDragStop: %j",C);const k={dragging:!1,slackX:0,slackY:0};if(!!this.props.position){const{x:M,y:L}=this.props.position;k.x=M,k.y=L}this.setState(k)}),this.state={dragging:!1,dragged:!1,x:y.position?y.position.x:y.defaultPosition.x,y:y.position?y.position.y:y.defaultPosition.y,prevPropsPosition:{...y.position},slackX:0,slackY:0,isElementSVG:!1},y.position&&!(y.onDrag||y.onStop)&&console.warn("A `position` was applied to this , without drag handlers. This will make this component effectively undraggable. Please attach `onDrag` or `onStop` handlers so you can adjust the `position` of this element.")}componentDidMount(){typeof window.SVGElement<"u"&&this.findDOMNode()instanceof window.SVGElement&&this.setState({isElementSVG:!0})}componentWillUnmount(){this.setState({dragging:!1})}findDOMNode(){var y,x;return(y=(x=this.props)===null||x===void 0||(x=x.nodeRef)===null||x===void 0?void 0:x.current)!==null&&y!==void 0?y:i.default.findDOMNode(this)}render(){const{axis:y,bounds:x,children:C,defaultPosition:T,defaultClassName:k,defaultClassNameDragging:P,defaultClassNameDragged:M,position:L,positionOffset:D,scale:W,...X}=this.props;let tt={},nt=null;const U=!!!L||this.state.dragging,R=L||T,H={x:(0,o.canDragX)(this)&&U?this.state.x:R.x,y:(0,o.canDragY)(this)&&U?this.state.y:R.y};this.state.isElementSVG?nt=(0,r.createSVGTransform)(H,D):tt=(0,r.createCSSTransform)(H,D);const B=(0,s.default)(C.props.className||"",k,{[P]:this.state.dragging,[M]:this.state.dragged});return t.createElement(c.default,p({},X,{onStart:this.onDragStart,onDrag:this.onDrag,onStop:this.onDragStop}),t.cloneElement(t.Children.only(C),{className:B,style:{...C.props.style,...tt},transform:nt}))}}n.default=m,g(m,"displayName","Draggable"),g(m,"propTypes",{...c.default.propTypes,axis:e.default.oneOf(["both","x","y","none"]),bounds:e.default.oneOfType([e.default.shape({left:e.default.number,right:e.default.number,top:e.default.number,bottom:e.default.number}),e.default.string,e.default.oneOf([!1])]),defaultClassName:e.default.string,defaultClassNameDragging:e.default.string,defaultClassNameDragged:e.default.string,defaultPosition:e.default.shape({x:e.default.number,y:e.default.number}),positionOffset:e.default.shape({x:e.default.oneOfType([e.default.number,e.default.string]),y:e.default.oneOfType([e.default.number,e.default.string])}),position:e.default.shape({x:e.default.number,y:e.default.number}),className:a.dontSetMe,style:a.dontSetMe,transform:a.dontSetMe}),g(m,"defaultProps",{...c.default.defaultProps,axis:"both",bounds:!1,defaultClassName:"react-draggable",defaultClassNameDragging:"react-draggable-dragging",defaultClassNameDragged:"react-draggable-dragged",defaultPosition:{x:0,y:0},scale:1})})(x1);const{default:O1,DraggableCore:FT}=x1;Yf.exports=O1;Yf.exports.default=O1;Yf.exports.DraggableCore=FT;var OT=Yf.exports;const zT=cw(OT);var VT=function(){var n=function(t,e){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,s){i.__proto__=s}||function(i,s){for(var r in s)Object.prototype.hasOwnProperty.call(s,r)&&(i[r]=s[r])},n(t,e)};return function(t,e){n(t,e);function i(){this.constructor=t}t.prototype=e===null?Object.create(e):(i.prototype=e.prototype,new i)}}(),zt=function(){return zt=Object.assign||function(n){for(var t,e=1,i=arguments.length;e"u"?void 0:Number(i),maxHeight:typeof s>"u"?void 0:Number(s),minWidth:typeof r>"u"?void 0:Number(r),minHeight:typeof o>"u"?void 0:Number(o)}},KT=function(n){return Array.isArray(n)?n:[n,n]},XT=["as","ref","style","className","grid","snap","bounds","boundsByDirection","size","defaultSize","minWidth","minHeight","maxWidth","maxHeight","lockAspectRatio","lockAspectRatioExtraWidth","lockAspectRatioExtraHeight","enable","handleStyles","handleClasses","handleWrapperStyle","handleWrapperClass","children","onResizeStart","onResize","onResizeStop","handleComponent","scale","resizeRatio","snapGap"],j0="__resizable_base__",GT=function(n){UT(t,n);function t(e){var i,s,r,o,a=n.call(this,e)||this;return a.ratio=1,a.resizable=null,a.parentLeft=0,a.parentTop=0,a.resizableLeft=0,a.resizableRight=0,a.resizableTop=0,a.resizableBottom=0,a.targetLeft=0,a.targetTop=0,a.appendBase=function(){if(!a.resizable||!a.window)return null;var c=a.parentNode;if(!c)return null;var u=a.window.document.createElement("div");return u.style.width="100%",u.style.height="100%",u.style.position="absolute",u.style.transform="scale(0, 0)",u.style.left="0",u.style.flex="0 0 100%",u.classList?u.classList.add(j0):u.className+=j0,c.appendChild(u),u},a.removeBase=function(c){var u=a.parentNode;u&&u.removeChild(c)},a.state={isResizing:!1,width:(s=(i=a.propsSize)===null||i===void 0?void 0:i.width)!==null&&s!==void 0?s:"auto",height:(o=(r=a.propsSize)===null||r===void 0?void 0:r.height)!==null&&o!==void 0?o:"auto",direction:"right",original:{x:0,y:0,width:0,height:0},backgroundStyle:{height:"100%",width:"100%",backgroundColor:"rgba(0,0,0,0)",cursor:"auto",opacity:0,position:"fixed",zIndex:9999,top:"0",left:"0",bottom:"0",right:"0"},flexBasis:void 0},a.onResizeStart=a.onResizeStart.bind(a),a.onMouseMove=a.onMouseMove.bind(a),a.onMouseUp=a.onMouseUp.bind(a),a}return Object.defineProperty(t.prototype,"parentNode",{get:function(){return this.resizable?this.resizable.parentNode:null},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"window",{get:function(){return!this.resizable||!this.resizable.ownerDocument?null:this.resizable.ownerDocument.defaultView},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"propsSize",{get:function(){return this.props.size||this.props.defaultSize||jT},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"size",{get:function(){var e=0,i=0;if(this.resizable&&this.window){var s=this.resizable.offsetWidth,r=this.resizable.offsetHeight,o=this.resizable.style.position;o!=="relative"&&(this.resizable.style.position="relative"),e=this.resizable.style.width!=="auto"?this.resizable.offsetWidth:s,i=this.resizable.style.height!=="auto"?this.resizable.offsetHeight:r,this.resizable.style.position=o}return{width:e,height:i}},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"sizeStyle",{get:function(){var e=this,i=this.props.size,s=function(a){var c;if(typeof e.state[a]>"u"||e.state[a]==="auto")return"auto";if(e.propsSize&&e.propsSize[a]&&(!((c=e.propsSize[a])===null||c===void 0)&&c.toString().endsWith("%"))){if(e.state[a].toString().endsWith("%"))return e.state[a].toString();var u=e.getParentSize(),h=Number(e.state[a].toString().replace("px","")),d=h/u[a]*100;return d+"%"}return Hp(e.state[a])},r=i&&typeof i.width<"u"&&!this.state.isResizing?Hp(i.width):s("width"),o=i&&typeof i.height<"u"&&!this.state.isResizing?Hp(i.height):s("height");return{width:r,height:o}},enumerable:!1,configurable:!0}),t.prototype.getParentSize=function(){if(!this.parentNode)return this.window?{width:this.window.innerWidth,height:this.window.innerHeight}:{width:0,height:0};var e=this.appendBase();if(!e)return{width:0,height:0};var i=!1,s=this.parentNode.style.flexWrap;s!=="wrap"&&(i=!0,this.parentNode.style.flexWrap="wrap"),e.style.position="relative",e.style.minWidth="100%",e.style.minHeight="100%";var r={width:e.offsetWidth,height:e.offsetHeight};return i&&(this.parentNode.style.flexWrap=s),this.removeBase(e),r},t.prototype.bindEvents=function(){this.window&&(this.window.addEventListener("mouseup",this.onMouseUp),this.window.addEventListener("mousemove",this.onMouseMove),this.window.addEventListener("mouseleave",this.onMouseUp),this.window.addEventListener("touchmove",this.onMouseMove,{capture:!0,passive:!1}),this.window.addEventListener("touchend",this.onMouseUp))},t.prototype.unbindEvents=function(){this.window&&(this.window.removeEventListener("mouseup",this.onMouseUp),this.window.removeEventListener("mousemove",this.onMouseMove),this.window.removeEventListener("mouseleave",this.onMouseUp),this.window.removeEventListener("touchmove",this.onMouseMove,!0),this.window.removeEventListener("touchend",this.onMouseUp))},t.prototype.componentDidMount=function(){if(!(!this.resizable||!this.window)){var e=this.window.getComputedStyle(this.resizable);this.setState({width:this.state.width||this.size.width,height:this.state.height||this.size.height,flexBasis:e.flexBasis!=="auto"?e.flexBasis:void 0})}},t.prototype.componentWillUnmount=function(){this.window&&this.unbindEvents()},t.prototype.createSizeForCssProperty=function(e,i){var s=this.propsSize&&this.propsSize[i];return this.state[i]==="auto"&&this.state.original[i]===e&&(typeof s>"u"||s==="auto")?"auto":e},t.prototype.calculateNewMaxFromBoundary=function(e,i){var s=this.props.boundsByDirection,r=this.state.direction,o=s&&Wo("left",r),a=s&&Wo("top",r),c,u;if(this.props.bounds==="parent"){var h=this.parentNode;h&&(c=o?this.resizableRight-this.parentLeft:h.offsetWidth+(this.parentLeft-this.resizableLeft),u=a?this.resizableBottom-this.parentTop:h.offsetHeight+(this.parentTop-this.resizableTop))}else this.props.bounds==="window"?this.window&&(c=o?this.resizableRight:this.window.innerWidth-this.resizableLeft,u=a?this.resizableBottom:this.window.innerHeight-this.resizableTop):this.props.bounds&&(c=o?this.resizableRight-this.targetLeft:this.props.bounds.offsetWidth+(this.targetLeft-this.resizableLeft),u=a?this.resizableBottom-this.targetTop:this.props.bounds.offsetHeight+(this.targetTop-this.resizableTop));return c&&Number.isFinite(c)&&(e=e&&e"u"?10:r.width,d=typeof s.width>"u"||s.width<0?e:s.width,f=typeof r.height>"u"?10:r.height,p=typeof s.height>"u"||s.height<0?i:s.height,g=c||0,w=u||0;if(a){var E=(f-g)*this.ratio+w,m=(p-g)*this.ratio+w,v=(h-w)/this.ratio+g,y=(d-w)/this.ratio+g,x=Math.max(h,E),C=Math.min(d,m),T=Math.max(f,v),k=Math.min(p,y);e=jh(e,x,C),i=jh(i,T,k)}else e=jh(e,h,d),i=jh(i,f,p);return{newWidth:e,newHeight:i}},t.prototype.setBoundingClientRect=function(){if(this.props.bounds==="parent"){var e=this.parentNode;if(e){var i=e.getBoundingClientRect();this.parentLeft=i.left,this.parentTop=i.top}}if(this.props.bounds&&typeof this.props.bounds!="string"){var s=this.props.bounds.getBoundingClientRect();this.targetLeft=s.left,this.targetTop=s.top}if(this.resizable){var r=this.resizable.getBoundingClientRect(),o=r.left,a=r.top,c=r.right,u=r.bottom;this.resizableLeft=o,this.resizableRight=c,this.resizableTop=a,this.resizableBottom=u}},t.prototype.onResizeStart=function(e,i){if(!(!this.resizable||!this.window)){var s=0,r=0;if(e.nativeEvent&&WT(e.nativeEvent)?(s=e.nativeEvent.clientX,r=e.nativeEvent.clientY):e.nativeEvent&&Wh(e.nativeEvent)&&(s=e.nativeEvent.touches[0].clientX,r=e.nativeEvent.touches[0].clientY),this.props.onResizeStart&&this.resizable){var o=this.props.onResizeStart(e,i,this.resizable);if(o===!1)return}this.props.size&&(typeof this.props.size.height<"u"&&this.props.size.height!==this.state.height&&this.setState({height:this.props.size.height}),typeof this.props.size.width<"u"&&this.props.size.width!==this.state.width&&this.setState({width:this.props.size.width})),this.ratio=typeof this.props.lockAspectRatio=="number"?this.props.lockAspectRatio:this.size.width/this.size.height;var a,c=this.window.getComputedStyle(this.resizable);if(c.flexBasis!=="auto"){var u=this.parentNode;if(u){var h=this.window.getComputedStyle(u).flexDirection;this.flexDir=h.startsWith("row")?"row":"column",a=c.flexBasis}}this.setBoundingClientRect(),this.bindEvents();var d={original:{x:s,y:r,width:this.size.width,height:this.size.height},isResizing:!0,backgroundStyle:ni(ni({},this.state.backgroundStyle),{cursor:this.window.getComputedStyle(e.target).cursor||"auto"}),direction:i,flexBasis:a};this.setState(d)}},t.prototype.onMouseMove=function(e){var i=this;if(!(!this.state.isResizing||!this.resizable||!this.window)){if(this.window.TouchEvent&&Wh(e))try{e.preventDefault(),e.stopPropagation()}catch{}var s=this.props,r=s.maxWidth,o=s.maxHeight,a=s.minWidth,c=s.minHeight,u=Wh(e)?e.touches[0].clientX:e.clientX,h=Wh(e)?e.touches[0].clientY:e.clientY,d=this.state,f=d.direction,p=d.original,g=d.width,w=d.height,E=this.getParentSize(),m=BT(E,this.window.innerWidth,this.window.innerHeight,r,o,a,c);r=m.maxWidth,o=m.maxHeight,a=m.minWidth,c=m.minHeight;var v=this.calculateNewSizeFromDirection(u,h),y=v.newHeight,x=v.newWidth,C=this.calculateNewMaxFromBoundary(r,o);this.props.snap&&this.props.snap.x&&(x=U0(x,this.props.snap.x,this.props.snapGap)),this.props.snap&&this.props.snap.y&&(y=U0(y,this.props.snap.y,this.props.snapGap));var T=this.calculateNewSizeFromAspectRatio(x,y,{width:C.maxWidth,height:C.maxHeight},{width:a,height:c});if(x=T.newWidth,y=T.newHeight,this.props.grid){var k=H0(x,this.props.grid[0]),P=H0(y,this.props.grid[1]),M=this.props.snapGap||0,L=M===0||Math.abs(k-x)<=M?k:x,D=M===0||Math.abs(P-y)<=M?P:y;x=L,y=D}var W={width:x-p.width,height:y-p.height};if(g&&typeof g=="string"){if(g.endsWith("%")){var X=x/E.width*100;x=X+"%"}else if(g.endsWith("vw")){var tt=x/this.window.innerWidth*100;x=tt+"vw"}else if(g.endsWith("vh")){var nt=x/this.window.innerHeight*100;x=nt+"vh"}}if(w&&typeof w=="string"){if(w.endsWith("%")){var X=y/E.height*100;y=X+"%"}else if(w.endsWith("vw")){var tt=y/this.window.innerWidth*100;y=tt+"vw"}else if(w.endsWith("vh")){var nt=y/this.window.innerHeight*100;y=nt+"vh"}}var rt={width:this.createSizeForCssProperty(x,"width"),height:this.createSizeForCssProperty(y,"height")};this.flexDir==="row"?rt.flexBasis=rt.width:this.flexDir==="column"&&(rt.flexBasis=rt.height);var U=this.state.width!==rt.width,R=this.state.height!==rt.height,H=this.state.flexBasis!==rt.flexBasis,B=U||R||H;B&&wh.flushSync(function(){i.setState(rt)}),this.props.onResize&&B&&this.props.onResize(e,f,this.resizable,W)}},t.prototype.onMouseUp=function(e){var i,s,r=this.state,o=r.isResizing,a=r.direction,c=r.original;if(!(!o||!this.resizable)){var u={width:this.size.width-c.width,height:this.size.height-c.height};this.props.onResizeStop&&this.props.onResizeStop(e,a,this.resizable,u),this.props.size&&this.setState({width:(i=this.props.size.width)!==null&&i!==void 0?i:"auto",height:(s=this.props.size.height)!==null&&s!==void 0?s:"auto"}),this.unbindEvents(),this.setState({isResizing:!1,backgroundStyle:ni(ni({},this.state.backgroundStyle),{cursor:"auto"})})}},t.prototype.updateSize=function(e){var i,s;this.setState({width:(i=e.width)!==null&&i!==void 0?i:"auto",height:(s=e.height)!==null&&s!==void 0?s:"auto"})},t.prototype.renderResizer=function(){var e=this,i=this.props,s=i.enable,r=i.handleStyles,o=i.handleClasses,a=i.handleWrapperStyle,c=i.handleWrapperClass,u=i.handleComponent;if(!s)return null;var h=Object.keys(s).map(function(d){return s[d]!==!1?Y.createElement(HT,{key:d,direction:d,onResizeStart:e.onResizeStart,replaceStyles:r&&r[d],className:o&&o[d]},u&&u[d]?u[d]:null):null});return Y.createElement("div",{className:c,style:a},h)},t.prototype.render=function(){var e=this,i=Object.keys(this.props).reduce(function(o,a){return XT.indexOf(a)!==-1||(o[a]=e.props[a]),o},{}),s=ni(ni(ni({position:"relative",userSelect:this.state.isResizing?"none":"auto"},this.props.style),this.sizeStyle),{maxWidth:this.props.maxWidth,maxHeight:this.props.maxHeight,minWidth:this.props.minWidth,minHeight:this.props.minHeight,boxSizing:"border-box",flexShrink:0});this.state.flexBasis&&(s.flexBasis=this.state.flexBasis);var r=this.props.as||"div";return Y.createElement(r,ni({style:s,className:this.props.className},i,{ref:function(o){o&&(e.resizable=o)}}),this.state.isResizing&&Y.createElement("div",{style:this.state.backgroundStyle}),this.props.children,this.renderResizer())},t.defaultProps={as:"div",onResizeStart:function(){},onResize:function(){},onResizeStop:function(){},enable:{top:!0,right:!0,bottom:!0,left:!0,topRight:!0,bottomRight:!0,bottomLeft:!0,topLeft:!0},style:{},grid:[1,1],lockAspectRatio:!1,lockAspectRatioExtraWidth:0,lockAspectRatioExtraHeight:0,scale:1,resizeRatio:1,snapGap:0},t}(Y.PureComponent);/*! ***************************************************************************** +`,n.getElementsByTagName("head")[0].appendChild(t)),n.body&&N1(n.body,"react-draggable-transparent-selection")}function AT(n){if(n)try{if(n.body&&D1(n.body,"react-draggable-transparent-selection"),n.selection)n.selection.empty();else{const t=(n.defaultView||window).getSelection();t&&t.type!=="Caret"&&t.removeAllRanges()}}catch{}}function N1(n,t){n.classList?n.classList.add(t):n.className.match(new RegExp("(?:^|\\s)".concat(t,"(?!\\S)")))||(n.className+=" ".concat(t))}function D1(n,t){n.classList?n.classList.remove(t):n.className=n.className.replace(new RegExp("(?:^|\\s)".concat(t,"(?!\\S)"),"g"),"")}var Ti={};Object.defineProperty(Ti,"__esModule",{value:!0});Ti.canDragX=xT;Ti.canDragY=CT;Ti.createCoreData=kT;Ti.createDraggableData=PT;Ti.getBoundPosition=bT;Ti.getControlPosition=TT;Ti.snapToGrid=ET;var Ye=Ci,ca=Nt;function bT(n,t,e){if(!n.props.bounds)return[t,e];let{bounds:i}=n.props;i=typeof i=="string"?i:RT(i);const s=iy(n);if(typeof i=="string"){const{ownerDocument:r}=s,o=r.defaultView;let a;if(i==="parent"?a=s.parentNode:a=r.querySelector(i),!(a instanceof o.HTMLElement))throw new Error('Bounds selector "'+i+'" could not find an element.');const c=a,u=o.getComputedStyle(s),h=o.getComputedStyle(c);i={left:-s.offsetLeft+(0,Ye.int)(h.paddingLeft)+(0,Ye.int)(u.marginLeft),top:-s.offsetTop+(0,Ye.int)(h.paddingTop)+(0,Ye.int)(u.marginTop),right:(0,ca.innerWidth)(c)-(0,ca.outerWidth)(s)-s.offsetLeft+(0,Ye.int)(h.paddingRight)-(0,Ye.int)(u.marginRight),bottom:(0,ca.innerHeight)(c)-(0,ca.outerHeight)(s)-s.offsetTop+(0,Ye.int)(h.paddingBottom)-(0,Ye.int)(u.marginBottom)}}return(0,Ye.isNum)(i.right)&&(t=Math.min(t,i.right)),(0,Ye.isNum)(i.bottom)&&(e=Math.min(e,i.bottom)),(0,Ye.isNum)(i.left)&&(t=Math.max(t,i.left)),(0,Ye.isNum)(i.top)&&(e=Math.max(e,i.top)),[t,e]}function ET(n,t,e){const i=Math.round(t/n[0])*n[0],s=Math.round(e/n[1])*n[1];return[i,s]}function xT(n){return n.props.axis==="both"||n.props.axis==="x"}function CT(n){return n.props.axis==="both"||n.props.axis==="y"}function TT(n,t,e){const i=typeof t=="number"?(0,ca.getTouch)(n,t):null;if(typeof t=="number"&&!i)return null;const s=iy(e),r=e.props.offsetParent||s.offsetParent||s.ownerDocument.body;return(0,ca.offsetXYFromParent)(i||n,r,e.props.scale)}function kT(n,t,e){const i=!(0,Ye.isNum)(n.lastX),s=iy(n);return i?{node:s,deltaX:0,deltaY:0,lastX:t,lastY:e,x:t,y:e}:{node:s,deltaX:t-n.lastX,deltaY:e-n.lastY,lastX:n.lastX,lastY:n.lastY,x:t,y:e}}function PT(n,t){const e=n.props.scale;return{node:t.node,x:n.state.x+t.deltaX/e,y:n.state.y+t.deltaY/e,deltaX:t.deltaX/e,deltaY:t.deltaY/e,lastX:n.state.x,lastY:n.state.y}}function RT(n){return{left:n.left,top:n.top,right:n.right,bottom:n.bottom}}function iy(n){const t=n.findDOMNode();if(!t)throw new Error(": Unmounted during event!");return t}var Qf={},Jf={};Object.defineProperty(Jf,"__esModule",{value:!0});Jf.default=_T;function _T(){}Object.defineProperty(Qf,"__esModule",{value:!0});Qf.default=void 0;var Vp=MT(Y),De=sy(k1),LT=sy(wh),pe=Nt,bs=Ti,qp=Ci,Il=sy(Jf);function sy(n){return n&&n.__esModule?n:{default:n}}function I1(n){if(typeof WeakMap!="function")return null;var t=new WeakMap,e=new WeakMap;return(I1=function(i){return i?e:t})(n)}function MT(n,t){if(n&&n.__esModule)return n;if(n===null||typeof n!="object"&&typeof n!="function")return{default:n};var e=I1(t);if(e&&e.has(n))return e.get(n);var i={},s=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var r in n)if(r!=="default"&&Object.prototype.hasOwnProperty.call(n,r)){var o=s?Object.getOwnPropertyDescriptor(n,r):null;o&&(o.get||o.set)?Object.defineProperty(i,r,o):i[r]=n[r]}return i.default=n,e&&e.set(n,i),i}function xe(n,t,e){return t=NT(t),t in n?Object.defineProperty(n,t,{value:e,enumerable:!0,configurable:!0,writable:!0}):n[t]=e,n}function NT(n){var t=DT(n,"string");return typeof t=="symbol"?t:String(t)}function DT(n,t){if(typeof n!="object"||n===null)return n;var e=n[Symbol.toPrimitive];if(e!==void 0){var i=e.call(n,t||"default");if(typeof i!="object")return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(n)}const Ln={touch:{start:"touchstart",move:"touchmove",stop:"touchend"},mouse:{start:"mousedown",move:"mousemove",stop:"mouseup"}};let Es=Ln.mouse,Zf=class extends Vp.Component{constructor(){super(...arguments),xe(this,"dragging",!1),xe(this,"lastX",NaN),xe(this,"lastY",NaN),xe(this,"touchIdentifier",null),xe(this,"mounted",!1),xe(this,"handleDragStart",t=>{if(this.props.onMouseDown(t),!this.props.allowAnyClick&&typeof t.button=="number"&&t.button!==0)return!1;const e=this.findDOMNode();if(!e||!e.ownerDocument||!e.ownerDocument.body)throw new Error(" not mounted on DragStart!");const{ownerDocument:i}=e;if(this.props.disabled||!(t.target instanceof i.defaultView.Node)||this.props.handle&&!(0,pe.matchesSelectorAndParentsTo)(t.target,this.props.handle,e)||this.props.cancel&&(0,pe.matchesSelectorAndParentsTo)(t.target,this.props.cancel,e))return;t.type==="touchstart"&&t.preventDefault();const s=(0,pe.getTouchIdentifier)(t);this.touchIdentifier=s;const r=(0,bs.getControlPosition)(t,s,this);if(r==null)return;const{x:o,y:a}=r,c=(0,bs.createCoreData)(this,o,a);(0,Il.default)("DraggableCore: handleDragStart: %j",c),(0,Il.default)("calling",this.props.onStart),!(this.props.onStart(t,c)===!1||this.mounted===!1)&&(this.props.enableUserSelectHack&&(0,pe.addUserSelectStyles)(i),this.dragging=!0,this.lastX=o,this.lastY=a,(0,pe.addEvent)(i,Es.move,this.handleDrag),(0,pe.addEvent)(i,Es.stop,this.handleDragStop))}),xe(this,"handleDrag",t=>{const e=(0,bs.getControlPosition)(t,this.touchIdentifier,this);if(e==null)return;let{x:i,y:s}=e;if(Array.isArray(this.props.grid)){let a=i-this.lastX,c=s-this.lastY;if([a,c]=(0,bs.snapToGrid)(this.props.grid,a,c),!a&&!c)return;i=this.lastX+a,s=this.lastY+c}const r=(0,bs.createCoreData)(this,i,s);if((0,Il.default)("DraggableCore: handleDrag: %j",r),this.props.onDrag(t,r)===!1||this.mounted===!1){try{this.handleDragStop(new MouseEvent("mouseup"))}catch{const c=document.createEvent("MouseEvents");c.initMouseEvent("mouseup",!0,!0,window,0,0,0,0,0,!1,!1,!1,!1,0,null),this.handleDragStop(c)}return}this.lastX=i,this.lastY=s}),xe(this,"handleDragStop",t=>{if(!this.dragging)return;const e=(0,bs.getControlPosition)(t,this.touchIdentifier,this);if(e==null)return;let{x:i,y:s}=e;if(Array.isArray(this.props.grid)){let c=i-this.lastX||0,u=s-this.lastY||0;[c,u]=(0,bs.snapToGrid)(this.props.grid,c,u),i=this.lastX+c,s=this.lastY+u}const r=(0,bs.createCoreData)(this,i,s);if(this.props.onStop(t,r)===!1||this.mounted===!1)return!1;const a=this.findDOMNode();a&&this.props.enableUserSelectHack&&(0,pe.removeUserSelectStyles)(a.ownerDocument),(0,Il.default)("DraggableCore: handleDragStop: %j",r),this.dragging=!1,this.lastX=NaN,this.lastY=NaN,a&&((0,Il.default)("DraggableCore: Removing handlers"),(0,pe.removeEvent)(a.ownerDocument,Es.move,this.handleDrag),(0,pe.removeEvent)(a.ownerDocument,Es.stop,this.handleDragStop))}),xe(this,"onMouseDown",t=>(Es=Ln.mouse,this.handleDragStart(t))),xe(this,"onMouseUp",t=>(Es=Ln.mouse,this.handleDragStop(t))),xe(this,"onTouchStart",t=>(Es=Ln.touch,this.handleDragStart(t))),xe(this,"onTouchEnd",t=>(Es=Ln.touch,this.handleDragStop(t)))}componentDidMount(){this.mounted=!0;const t=this.findDOMNode();t&&(0,pe.addEvent)(t,Ln.touch.start,this.onTouchStart,{passive:!1})}componentWillUnmount(){this.mounted=!1;const t=this.findDOMNode();if(t){const{ownerDocument:e}=t;(0,pe.removeEvent)(e,Ln.mouse.move,this.handleDrag),(0,pe.removeEvent)(e,Ln.touch.move,this.handleDrag),(0,pe.removeEvent)(e,Ln.mouse.stop,this.handleDragStop),(0,pe.removeEvent)(e,Ln.touch.stop,this.handleDragStop),(0,pe.removeEvent)(t,Ln.touch.start,this.onTouchStart,{passive:!1}),this.props.enableUserSelectHack&&(0,pe.removeUserSelectStyles)(e)}}findDOMNode(){var t,e;return(t=this.props)!==null&&t!==void 0&&t.nodeRef?(e=this.props)===null||e===void 0||(e=e.nodeRef)===null||e===void 0?void 0:e.current:LT.default.findDOMNode(this)}render(){return Vp.cloneElement(Vp.Children.only(this.props.children),{onMouseDown:this.onMouseDown,onMouseUp:this.onMouseUp,onTouchEnd:this.onTouchEnd})}};Qf.default=Zf;xe(Zf,"displayName","DraggableCore");xe(Zf,"propTypes",{allowAnyClick:De.default.bool,children:De.default.node.isRequired,disabled:De.default.bool,enableUserSelectHack:De.default.bool,offsetParent:function(n,t){if(n[t]&&n[t].nodeType!==1)throw new Error("Draggable's offsetParent must be a DOM Node.")},grid:De.default.arrayOf(De.default.number),handle:De.default.string,cancel:De.default.string,nodeRef:De.default.object,onStart:De.default.func,onDrag:De.default.func,onStop:De.default.func,onMouseDown:De.default.func,scale:De.default.number,className:qp.dontSetMe,style:qp.dontSetMe,transform:qp.dontSetMe});xe(Zf,"defaultProps",{allowAnyClick:!1,disabled:!1,enableUserSelectHack:!0,onStart:function(){},onDrag:function(){},onStop:function(){},onMouseDown:function(){},scale:1});(function(n){Object.defineProperty(n,"__esModule",{value:!0}),Object.defineProperty(n,"DraggableCore",{enumerable:!0,get:function(){return c.default}}),n.default=void 0;var t=f(Y),e=h(k1),i=h(wh),s=h($C),r=Nt,o=Ti,a=Ci,c=h(Qf),u=h(Jf);function h(v){return v&&v.__esModule?v:{default:v}}function d(v){if(typeof WeakMap!="function")return null;var y=new WeakMap,x=new WeakMap;return(d=function(C){return C?x:y})(v)}function f(v,y){if(v&&v.__esModule)return v;if(v===null||typeof v!="object"&&typeof v!="function")return{default:v};var x=d(y);if(x&&x.has(v))return x.get(v);var C={},T=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var k in v)if(k!=="default"&&Object.prototype.hasOwnProperty.call(v,k)){var P=T?Object.getOwnPropertyDescriptor(v,k):null;P&&(P.get||P.set)?Object.defineProperty(C,k,P):C[k]=v[k]}return C.default=v,x&&x.set(v,C),C}function p(){return p=Object.assign?Object.assign.bind():function(v){for(var y=1;y{if((0,u.default)("Draggable: onDragStart: %j",C),this.props.onStart(x,(0,o.createDraggableData)(this,C))===!1)return!1;this.setState({dragging:!0,dragged:!0})}),g(this,"onDrag",(x,C)=>{if(!this.state.dragging)return!1;(0,u.default)("Draggable: onDrag: %j",C);const T=(0,o.createDraggableData)(this,C),k={x:T.x,y:T.y,slackX:0,slackY:0};if(this.props.bounds){const{x:M,y:L}=k;k.x+=this.state.slackX,k.y+=this.state.slackY;const[D,W]=(0,o.getBoundPosition)(this,k.x,k.y);k.x=D,k.y=W,k.slackX=this.state.slackX+(M-k.x),k.slackY=this.state.slackY+(L-k.y),T.x=k.x,T.y=k.y,T.deltaX=k.x-this.state.x,T.deltaY=k.y-this.state.y}if(this.props.onDrag(x,T)===!1)return!1;this.setState(k)}),g(this,"onDragStop",(x,C)=>{if(!this.state.dragging||this.props.onStop(x,(0,o.createDraggableData)(this,C))===!1)return!1;(0,u.default)("Draggable: onDragStop: %j",C);const k={dragging:!1,slackX:0,slackY:0};if(!!this.props.position){const{x:M,y:L}=this.props.position;k.x=M,k.y=L}this.setState(k)}),this.state={dragging:!1,dragged:!1,x:y.position?y.position.x:y.defaultPosition.x,y:y.position?y.position.y:y.defaultPosition.y,prevPropsPosition:{...y.position},slackX:0,slackY:0,isElementSVG:!1},y.position&&!(y.onDrag||y.onStop)&&console.warn("A `position` was applied to this , without drag handlers. This will make this component effectively undraggable. Please attach `onDrag` or `onStop` handlers so you can adjust the `position` of this element.")}componentDidMount(){typeof window.SVGElement<"u"&&this.findDOMNode()instanceof window.SVGElement&&this.setState({isElementSVG:!0})}componentWillUnmount(){this.setState({dragging:!1})}findDOMNode(){var y,x;return(y=(x=this.props)===null||x===void 0||(x=x.nodeRef)===null||x===void 0?void 0:x.current)!==null&&y!==void 0?y:i.default.findDOMNode(this)}render(){const{axis:y,bounds:x,children:C,defaultPosition:T,defaultClassName:k,defaultClassNameDragging:P,defaultClassNameDragged:M,position:L,positionOffset:D,scale:W,...X}=this.props;let tt={},nt=null;const U=!!!L||this.state.dragging,R=L||T,H={x:(0,o.canDragX)(this)&&U?this.state.x:R.x,y:(0,o.canDragY)(this)&&U?this.state.y:R.y};this.state.isElementSVG?nt=(0,r.createSVGTransform)(H,D):tt=(0,r.createCSSTransform)(H,D);const B=(0,s.default)(C.props.className||"",k,{[P]:this.state.dragging,[M]:this.state.dragged});return t.createElement(c.default,p({},X,{onStart:this.onDragStart,onDrag:this.onDrag,onStop:this.onDragStop}),t.cloneElement(t.Children.only(C),{className:B,style:{...C.props.style,...tt},transform:nt}))}}n.default=m,g(m,"displayName","Draggable"),g(m,"propTypes",{...c.default.propTypes,axis:e.default.oneOf(["both","x","y","none"]),bounds:e.default.oneOfType([e.default.shape({left:e.default.number,right:e.default.number,top:e.default.number,bottom:e.default.number}),e.default.string,e.default.oneOf([!1])]),defaultClassName:e.default.string,defaultClassNameDragging:e.default.string,defaultClassNameDragged:e.default.string,defaultPosition:e.default.shape({x:e.default.number,y:e.default.number}),positionOffset:e.default.shape({x:e.default.oneOfType([e.default.number,e.default.string]),y:e.default.oneOfType([e.default.number,e.default.string])}),position:e.default.shape({x:e.default.number,y:e.default.number}),className:a.dontSetMe,style:a.dontSetMe,transform:a.dontSetMe}),g(m,"defaultProps",{...c.default.defaultProps,axis:"both",bounds:!1,defaultClassName:"react-draggable",defaultClassNameDragging:"react-draggable-dragging",defaultClassNameDragged:"react-draggable-dragged",defaultPosition:{x:0,y:0},scale:1})})(E1);const{default:F1,DraggableCore:IT}=E1;Yf.exports=F1;Yf.exports.default=F1;Yf.exports.DraggableCore=IT;var FT=Yf.exports;const OT=lw(FT);var zT=function(){var n=function(t,e){return n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(i,s){i.__proto__=s}||function(i,s){for(var r in s)Object.prototype.hasOwnProperty.call(s,r)&&(i[r]=s[r])},n(t,e)};return function(t,e){n(t,e);function i(){this.constructor=t}t.prototype=e===null?Object.create(e):(i.prototype=e.prototype,new i)}}(),zt=function(){return zt=Object.assign||function(n){for(var t,e=1,i=arguments.length;e"u"?void 0:Number(i),maxHeight:typeof s>"u"?void 0:Number(s),minWidth:typeof r>"u"?void 0:Number(r),minHeight:typeof o>"u"?void 0:Number(o)}},BT=function(n){return Array.isArray(n)?n:[n,n]},KT=["as","ref","style","className","grid","snap","bounds","boundsByDirection","size","defaultSize","minWidth","minHeight","maxWidth","maxHeight","lockAspectRatio","lockAspectRatioExtraWidth","lockAspectRatioExtraHeight","enable","handleStyles","handleClasses","handleWrapperStyle","handleWrapperClass","children","onResizeStart","onResize","onResizeStop","handleComponent","scale","resizeRatio","snapGap"],U0="__resizable_base__",XT=function(n){HT(t,n);function t(e){var i,s,r,o,a=n.call(this,e)||this;return a.ratio=1,a.resizable=null,a.parentLeft=0,a.parentTop=0,a.resizableLeft=0,a.resizableRight=0,a.resizableTop=0,a.resizableBottom=0,a.targetLeft=0,a.targetTop=0,a.appendBase=function(){if(!a.resizable||!a.window)return null;var c=a.parentNode;if(!c)return null;var u=a.window.document.createElement("div");return u.style.width="100%",u.style.height="100%",u.style.position="absolute",u.style.transform="scale(0, 0)",u.style.left="0",u.style.flex="0 0 100%",u.classList?u.classList.add(U0):u.className+=U0,c.appendChild(u),u},a.removeBase=function(c){var u=a.parentNode;u&&u.removeChild(c)},a.state={isResizing:!1,width:(s=(i=a.propsSize)===null||i===void 0?void 0:i.width)!==null&&s!==void 0?s:"auto",height:(o=(r=a.propsSize)===null||r===void 0?void 0:r.height)!==null&&o!==void 0?o:"auto",direction:"right",original:{x:0,y:0,width:0,height:0},backgroundStyle:{height:"100%",width:"100%",backgroundColor:"rgba(0,0,0,0)",cursor:"auto",opacity:0,position:"fixed",zIndex:9999,top:"0",left:"0",bottom:"0",right:"0"},flexBasis:void 0},a.onResizeStart=a.onResizeStart.bind(a),a.onMouseMove=a.onMouseMove.bind(a),a.onMouseUp=a.onMouseUp.bind(a),a}return Object.defineProperty(t.prototype,"parentNode",{get:function(){return this.resizable?this.resizable.parentNode:null},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"window",{get:function(){return!this.resizable||!this.resizable.ownerDocument?null:this.resizable.ownerDocument.defaultView},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"propsSize",{get:function(){return this.props.size||this.props.defaultSize||UT},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"size",{get:function(){var e=0,i=0;if(this.resizable&&this.window){var s=this.resizable.offsetWidth,r=this.resizable.offsetHeight,o=this.resizable.style.position;o!=="relative"&&(this.resizable.style.position="relative"),e=this.resizable.style.width!=="auto"?this.resizable.offsetWidth:s,i=this.resizable.style.height!=="auto"?this.resizable.offsetHeight:r,this.resizable.style.position=o}return{width:e,height:i}},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"sizeStyle",{get:function(){var e=this,i=this.props.size,s=function(a){var c;if(typeof e.state[a]>"u"||e.state[a]==="auto")return"auto";if(e.propsSize&&e.propsSize[a]&&(!((c=e.propsSize[a])===null||c===void 0)&&c.toString().endsWith("%"))){if(e.state[a].toString().endsWith("%"))return e.state[a].toString();var u=e.getParentSize(),h=Number(e.state[a].toString().replace("px","")),d=h/u[a]*100;return d+"%"}return Hp(e.state[a])},r=i&&typeof i.width<"u"&&!this.state.isResizing?Hp(i.width):s("width"),o=i&&typeof i.height<"u"&&!this.state.isResizing?Hp(i.height):s("height");return{width:r,height:o}},enumerable:!1,configurable:!0}),t.prototype.getParentSize=function(){if(!this.parentNode)return this.window?{width:this.window.innerWidth,height:this.window.innerHeight}:{width:0,height:0};var e=this.appendBase();if(!e)return{width:0,height:0};var i=!1,s=this.parentNode.style.flexWrap;s!=="wrap"&&(i=!0,this.parentNode.style.flexWrap="wrap"),e.style.position="relative",e.style.minWidth="100%",e.style.minHeight="100%";var r={width:e.offsetWidth,height:e.offsetHeight};return i&&(this.parentNode.style.flexWrap=s),this.removeBase(e),r},t.prototype.bindEvents=function(){this.window&&(this.window.addEventListener("mouseup",this.onMouseUp),this.window.addEventListener("mousemove",this.onMouseMove),this.window.addEventListener("mouseleave",this.onMouseUp),this.window.addEventListener("touchmove",this.onMouseMove,{capture:!0,passive:!1}),this.window.addEventListener("touchend",this.onMouseUp))},t.prototype.unbindEvents=function(){this.window&&(this.window.removeEventListener("mouseup",this.onMouseUp),this.window.removeEventListener("mousemove",this.onMouseMove),this.window.removeEventListener("mouseleave",this.onMouseUp),this.window.removeEventListener("touchmove",this.onMouseMove,!0),this.window.removeEventListener("touchend",this.onMouseUp))},t.prototype.componentDidMount=function(){if(!(!this.resizable||!this.window)){var e=this.window.getComputedStyle(this.resizable);this.setState({width:this.state.width||this.size.width,height:this.state.height||this.size.height,flexBasis:e.flexBasis!=="auto"?e.flexBasis:void 0})}},t.prototype.componentWillUnmount=function(){this.window&&this.unbindEvents()},t.prototype.createSizeForCssProperty=function(e,i){var s=this.propsSize&&this.propsSize[i];return this.state[i]==="auto"&&this.state.original[i]===e&&(typeof s>"u"||s==="auto")?"auto":e},t.prototype.calculateNewMaxFromBoundary=function(e,i){var s=this.props.boundsByDirection,r=this.state.direction,o=s&&Wo("left",r),a=s&&Wo("top",r),c,u;if(this.props.bounds==="parent"){var h=this.parentNode;h&&(c=o?this.resizableRight-this.parentLeft:h.offsetWidth+(this.parentLeft-this.resizableLeft),u=a?this.resizableBottom-this.parentTop:h.offsetHeight+(this.parentTop-this.resizableTop))}else this.props.bounds==="window"?this.window&&(c=o?this.resizableRight:this.window.innerWidth-this.resizableLeft,u=a?this.resizableBottom:this.window.innerHeight-this.resizableTop):this.props.bounds&&(c=o?this.resizableRight-this.targetLeft:this.props.bounds.offsetWidth+(this.targetLeft-this.resizableLeft),u=a?this.resizableBottom-this.targetTop:this.props.bounds.offsetHeight+(this.targetTop-this.resizableTop));return c&&Number.isFinite(c)&&(e=e&&e"u"?10:r.width,d=typeof s.width>"u"||s.width<0?e:s.width,f=typeof r.height>"u"?10:r.height,p=typeof s.height>"u"||s.height<0?i:s.height,g=c||0,w=u||0;if(a){var E=(f-g)*this.ratio+w,m=(p-g)*this.ratio+w,v=(h-w)/this.ratio+g,y=(d-w)/this.ratio+g,x=Math.max(h,E),C=Math.min(d,m),T=Math.max(f,v),k=Math.min(p,y);e=jh(e,x,C),i=jh(i,T,k)}else e=jh(e,h,d),i=jh(i,f,p);return{newWidth:e,newHeight:i}},t.prototype.setBoundingClientRect=function(){if(this.props.bounds==="parent"){var e=this.parentNode;if(e){var i=e.getBoundingClientRect();this.parentLeft=i.left,this.parentTop=i.top}}if(this.props.bounds&&typeof this.props.bounds!="string"){var s=this.props.bounds.getBoundingClientRect();this.targetLeft=s.left,this.targetTop=s.top}if(this.resizable){var r=this.resizable.getBoundingClientRect(),o=r.left,a=r.top,c=r.right,u=r.bottom;this.resizableLeft=o,this.resizableRight=c,this.resizableTop=a,this.resizableBottom=u}},t.prototype.onResizeStart=function(e,i){if(!(!this.resizable||!this.window)){var s=0,r=0;if(e.nativeEvent&&jT(e.nativeEvent)?(s=e.nativeEvent.clientX,r=e.nativeEvent.clientY):e.nativeEvent&&Wh(e.nativeEvent)&&(s=e.nativeEvent.touches[0].clientX,r=e.nativeEvent.touches[0].clientY),this.props.onResizeStart&&this.resizable){var o=this.props.onResizeStart(e,i,this.resizable);if(o===!1)return}this.props.size&&(typeof this.props.size.height<"u"&&this.props.size.height!==this.state.height&&this.setState({height:this.props.size.height}),typeof this.props.size.width<"u"&&this.props.size.width!==this.state.width&&this.setState({width:this.props.size.width})),this.ratio=typeof this.props.lockAspectRatio=="number"?this.props.lockAspectRatio:this.size.width/this.size.height;var a,c=this.window.getComputedStyle(this.resizable);if(c.flexBasis!=="auto"){var u=this.parentNode;if(u){var h=this.window.getComputedStyle(u).flexDirection;this.flexDir=h.startsWith("row")?"row":"column",a=c.flexBasis}}this.setBoundingClientRect(),this.bindEvents();var d={original:{x:s,y:r,width:this.size.width,height:this.size.height},isResizing:!0,backgroundStyle:ni(ni({},this.state.backgroundStyle),{cursor:this.window.getComputedStyle(e.target).cursor||"auto"}),direction:i,flexBasis:a};this.setState(d)}},t.prototype.onMouseMove=function(e){var i=this;if(!(!this.state.isResizing||!this.resizable||!this.window)){if(this.window.TouchEvent&&Wh(e))try{e.preventDefault(),e.stopPropagation()}catch{}var s=this.props,r=s.maxWidth,o=s.maxHeight,a=s.minWidth,c=s.minHeight,u=Wh(e)?e.touches[0].clientX:e.clientX,h=Wh(e)?e.touches[0].clientY:e.clientY,d=this.state,f=d.direction,p=d.original,g=d.width,w=d.height,E=this.getParentSize(),m=WT(E,this.window.innerWidth,this.window.innerHeight,r,o,a,c);r=m.maxWidth,o=m.maxHeight,a=m.minWidth,c=m.minHeight;var v=this.calculateNewSizeFromDirection(u,h),y=v.newHeight,x=v.newWidth,C=this.calculateNewMaxFromBoundary(r,o);this.props.snap&&this.props.snap.x&&(x=H0(x,this.props.snap.x,this.props.snapGap)),this.props.snap&&this.props.snap.y&&(y=H0(y,this.props.snap.y,this.props.snapGap));var T=this.calculateNewSizeFromAspectRatio(x,y,{width:C.maxWidth,height:C.maxHeight},{width:a,height:c});if(x=T.newWidth,y=T.newHeight,this.props.grid){var k=q0(x,this.props.grid[0]),P=q0(y,this.props.grid[1]),M=this.props.snapGap||0,L=M===0||Math.abs(k-x)<=M?k:x,D=M===0||Math.abs(P-y)<=M?P:y;x=L,y=D}var W={width:x-p.width,height:y-p.height};if(g&&typeof g=="string"){if(g.endsWith("%")){var X=x/E.width*100;x=X+"%"}else if(g.endsWith("vw")){var tt=x/this.window.innerWidth*100;x=tt+"vw"}else if(g.endsWith("vh")){var nt=x/this.window.innerHeight*100;x=nt+"vh"}}if(w&&typeof w=="string"){if(w.endsWith("%")){var X=y/E.height*100;y=X+"%"}else if(w.endsWith("vw")){var tt=y/this.window.innerWidth*100;y=tt+"vw"}else if(w.endsWith("vh")){var nt=y/this.window.innerHeight*100;y=nt+"vh"}}var rt={width:this.createSizeForCssProperty(x,"width"),height:this.createSizeForCssProperty(y,"height")};this.flexDir==="row"?rt.flexBasis=rt.width:this.flexDir==="column"&&(rt.flexBasis=rt.height);var U=this.state.width!==rt.width,R=this.state.height!==rt.height,H=this.state.flexBasis!==rt.flexBasis,B=U||R||H;B&&wh.flushSync(function(){i.setState(rt)}),this.props.onResize&&B&&this.props.onResize(e,f,this.resizable,W)}},t.prototype.onMouseUp=function(e){var i,s,r=this.state,o=r.isResizing,a=r.direction,c=r.original;if(!(!o||!this.resizable)){var u={width:this.size.width-c.width,height:this.size.height-c.height};this.props.onResizeStop&&this.props.onResizeStop(e,a,this.resizable,u),this.props.size&&this.setState({width:(i=this.props.size.width)!==null&&i!==void 0?i:"auto",height:(s=this.props.size.height)!==null&&s!==void 0?s:"auto"}),this.unbindEvents(),this.setState({isResizing:!1,backgroundStyle:ni(ni({},this.state.backgroundStyle),{cursor:"auto"})})}},t.prototype.updateSize=function(e){var i,s;this.setState({width:(i=e.width)!==null&&i!==void 0?i:"auto",height:(s=e.height)!==null&&s!==void 0?s:"auto"})},t.prototype.renderResizer=function(){var e=this,i=this.props,s=i.enable,r=i.handleStyles,o=i.handleClasses,a=i.handleWrapperStyle,c=i.handleWrapperClass,u=i.handleComponent;if(!s)return null;var h=Object.keys(s).map(function(d){return s[d]!==!1?Y.createElement(qT,{key:d,direction:d,onResizeStart:e.onResizeStart,replaceStyles:r&&r[d],className:o&&o[d]},u&&u[d]?u[d]:null):null});return Y.createElement("div",{className:c,style:a},h)},t.prototype.render=function(){var e=this,i=Object.keys(this.props).reduce(function(o,a){return KT.indexOf(a)!==-1||(o[a]=e.props[a]),o},{}),s=ni(ni(ni({position:"relative",userSelect:this.state.isResizing?"none":"auto"},this.props.style),this.sizeStyle),{maxWidth:this.props.maxWidth,maxHeight:this.props.maxHeight,minWidth:this.props.minWidth,minHeight:this.props.minHeight,boxSizing:"border-box",flexShrink:0});this.state.flexBasis&&(s.flexBasis=this.state.flexBasis);var r=this.props.as||"div";return Y.createElement(r,ni({style:s,className:this.props.className},i,{ref:function(o){o&&(e.resizable=o)}}),this.state.isResizing&&Y.createElement("div",{style:this.state.backgroundStyle}),this.props.children,this.renderResizer())},t.defaultProps={as:"div",onResizeStart:function(){},onResize:function(){},onResizeStop:function(){},enable:{top:!0,right:!0,bottom:!0,left:!0,topRight:!0,bottomRight:!0,bottomLeft:!0,topLeft:!0},style:{},grid:[1,1],lockAspectRatio:!1,lockAspectRatioExtraWidth:0,lockAspectRatioExtraHeight:0,scale:1,resizeRatio:1,snapGap:0},t}(Y.PureComponent);/*! ***************************************************************************** Copyright (c) Microsoft Corporation. All rights reserved. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the @@ -52,15 +52,15 @@ MERCHANTABLITY OR NON-INFRINGEMENT. See the Apache Version 2.0 License for specific language governing permissions and limitations under the License. -***************************************************************************** */var jg=function(n,t){return jg=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,i){e.__proto__=i}||function(e,i){for(var s in i)i.hasOwnProperty(s)&&(e[s]=i[s])},jg(n,t)};function YT(n,t){jg(n,t);function e(){this.constructor=n}n.prototype=t===null?Object.create(t):(e.prototype=t.prototype,new e)}var Ut=function(){return Ut=Object.assign||function(t){for(var e,i=1,s=arguments.length;i"u"?Number.MAX_SAFE_INTEGER:this.props.maxWidth,i=typeof this.props.maxHeight>"u"?Number.MAX_SAFE_INTEGER:this.props.maxHeight;return{maxWidth:e,maxHeight:i}},t.prototype.getSelfElement=function(){return this.resizable&&this.resizable.resizable},t.prototype.getOffsetHeight=function(e){var i=this.props.scale;switch(this.props.bounds){case"window":return window.innerHeight/i;case"body":return document.body.offsetHeight/i;default:return e.offsetHeight}},t.prototype.getOffsetWidth=function(e){var i=this.props.scale;switch(this.props.bounds){case"window":return window.innerWidth/i;case"body":return document.body.offsetWidth/i;default:return e.offsetWidth}},t.prototype.onDragStart=function(e,i){this.props.onDragStart&&this.props.onDragStart(e,i);var s=this.getDraggablePosition();if(this.originalPosition=s,!!this.props.bounds){var r=this.getParent(),o=this.props.scale,a;if(this.props.bounds==="parent")a=r;else if(this.props.bounds==="body"){var c=r.getBoundingClientRect(),u=c.left,h=c.top,d=document.body.getBoundingClientRect(),f=-(u-r.offsetLeft*o-d.left)/o,p=-(h-r.offsetTop*o-d.top)/o,g=(document.body.offsetWidth-this.resizable.size.width*o)/o+f,w=(document.body.offsetHeight-this.resizable.size.height*o)/o+p;return this.setState({bounds:{top:p,right:g,bottom:w,left:f}})}else if(this.props.bounds==="window"){if(!this.resizable)return;var E=r.getBoundingClientRect(),m=E.left,v=E.top,y=-(m-r.offsetLeft*o)/o,x=-(v-r.offsetTop*o)/o,g=(window.innerWidth-this.resizable.size.width*o)/o+y,w=(window.innerHeight-this.resizable.size.height*o)/o+x;return this.setState({bounds:{top:x,right:g,bottom:w,left:y}})}else typeof this.props.bounds=="string"?a=document.querySelector(this.props.bounds):this.props.bounds instanceof HTMLElement&&(a=this.props.bounds);if(!(!(a instanceof HTMLElement)||!(r instanceof HTMLElement))){var C=a.getBoundingClientRect(),T=C.left,k=C.top,P=r.getBoundingClientRect(),M=P.left,L=P.top,D=(T-M)/o,W=k-L;if(this.resizable){this.updateOffsetFromParent();var X=this.offsetFromParent;this.setState({bounds:{top:W-X.top,right:D+(a.offsetWidth-this.resizable.size.width)-X.left/o,bottom:W+(a.offsetHeight-this.resizable.size.height)-X.top,left:D-X.left/o}})}}}},t.prototype.onDrag=function(e,i){if(this.props.onDrag){var s=this.offsetFromParent,r=s.left,o=s.top;if(!this.props.dragAxis||this.props.dragAxis==="both")return this.props.onDrag(e,Ut(Ut({},i),{x:i.x+r,y:i.y+o}));if(this.props.dragAxis==="x")return this.props.onDrag(e,Ut(Ut({},i),{x:i.x+r,y:this.originalPosition.y+o,deltaY:0}));if(this.props.dragAxis==="y")return this.props.onDrag(e,Ut(Ut({},i),{x:this.originalPosition.x+r,y:i.y+o,deltaX:0}))}},t.prototype.onDragStop=function(e,i){if(this.props.onDragStop){var s=this.offsetFromParent,r=s.left,o=s.top;if(!this.props.dragAxis||this.props.dragAxis==="both")return this.props.onDragStop(e,Ut(Ut({},i),{x:i.x+r,y:i.y+o}));if(this.props.dragAxis==="x")return this.props.onDragStop(e,Ut(Ut({},i),{x:i.x+r,y:this.originalPosition.y+o,deltaY:0}));if(this.props.dragAxis==="y")return this.props.onDragStop(e,Ut(Ut({},i),{x:this.originalPosition.x+r,y:i.y+o,deltaX:0}))}},t.prototype.onResizeStart=function(e,i,s){e.stopPropagation(),this.setState({resizing:!0});var r=this.props.scale,o=this.offsetFromParent,a=this.getDraggablePosition();if(this.resizingPosition={x:a.x+o.left,y:a.y+o.top},this.originalPosition=a,this.props.bounds){var c=this.getParent(),u=void 0;this.props.bounds==="parent"?u=c:this.props.bounds==="body"?u=document.body:this.props.bounds==="window"?u=window:typeof this.props.bounds=="string"?u=document.querySelector(this.props.bounds):this.props.bounds instanceof HTMLElement&&(u=this.props.bounds);var h=this.getSelfElement();if(h instanceof Element&&(u instanceof HTMLElement||u===window)&&c instanceof HTMLElement){var d=this.getMaxSizesFromProps(),f=d.maxWidth,p=d.maxHeight,g=this.getParentSize();if(f&&typeof f=="string")if(f.endsWith("%")){var w=Number(f.replace("%",""))/100;f=g.width*w}else f.endsWith("px")&&(f=Number(f.replace("px","")));if(p&&typeof p=="string")if(p.endsWith("%")){var w=Number(p.replace("%",""))/100;p=g.height*w}else p.endsWith("px")&&(p=Number(p.replace("px","")));var E=h.getBoundingClientRect(),m=E.left,v=E.top,y=this.props.bounds==="window"?{left:0,top:0}:u.getBoundingClientRect(),x=y.left,C=y.top,T=this.getOffsetWidth(u),k=this.getOffsetHeight(u),P=i.toLowerCase().endsWith("left"),M=i.toLowerCase().endsWith("right"),L=i.startsWith("top"),D=i.startsWith("bottom");if((P||L)&&this.resizable){var W=(m-x)/r+this.resizable.size.width;this.setState({maxWidth:W>Number(f)?f:W})}if(M||this.props.lockAspectRatio&&!P&&!L){var W=T+(x-m)/r;this.setState({maxWidth:W>Number(f)?f:W})}if((L||P)&&this.resizable){var W=(v-C)/r+this.resizable.size.height;this.setState({maxHeight:W>Number(p)?p:W})}if(D||this.props.lockAspectRatio&&!L&&!P){var W=k+(C-v)/r;this.setState({maxHeight:W>Number(p)?p:W})}}}else this.setState({maxWidth:this.props.maxWidth,maxHeight:this.props.maxHeight});this.props.onResizeStart&&this.props.onResizeStart(e,i,s)},t.prototype.onResize=function(e,i,s,r){var o=this,a={x:this.originalPosition.x,y:this.originalPosition.y},c=-r.width,u=-r.height,h=["top","left","topLeft","bottomLeft","topRight"];h.includes(i)&&(i==="bottomLeft"?a.x+=c:(i==="topRight"||(a.x+=c),a.y+=u));var d=this.draggable.state;(a.x!==d.x||a.y!==d.y)&&wh.flushSync(function(){o.draggable.setState(a)}),this.updateOffsetFromParent();var f=this.offsetFromParent,p=this.getDraggablePosition().x+f.left,g=this.getDraggablePosition().y+f.top;this.resizingPosition={x:p,y:g},this.props.onResize&&this.props.onResize(e,i,s,r,{x:p,y:g})},t.prototype.onResizeStop=function(e,i,s,r){this.setState({resizing:!1});var o=this.getMaxSizesFromProps(),a=o.maxWidth,c=o.maxHeight;this.setState({maxWidth:a,maxHeight:c}),this.props.onResizeStop&&this.props.onResizeStop(e,i,s,r,this.resizingPosition)},t.prototype.updateSize=function(e){this.resizable&&this.resizable.updateSize({width:e.width,height:e.height})},t.prototype.updatePosition=function(e){this.draggable.setState(e)},t.prototype.updateOffsetFromParent=function(){var e=this.props.scale,i=this.getParent(),s=this.getSelfElement();if(!i||s===null)return{top:0,left:0};var r=i.getBoundingClientRect(),o=r.left,a=r.top,c=s.getBoundingClientRect(),u=this.getDraggablePosition(),h=i.scrollLeft,d=i.scrollTop;this.offsetFromParent={left:c.left-o+h-u.x*e,top:c.top-a+d-u.y*e}},t.prototype.render=function(){var e=this,i=this.props,s=i.disableDragging,r=i.style,o=i.dragHandleClassName,a=i.position,c=i.onMouseDown,u=i.onMouseUp,h=i.dragAxis,d=i.dragGrid,f=i.bounds,p=i.enableUserSelectHack,g=i.cancel,w=i.children;i.onResizeStart,i.onResize,i.onResizeStop,i.onDragStart,i.onDrag,i.onDragStop;var E=i.resizeHandleStyles,m=i.resizeHandleClasses,v=i.resizeHandleComponent,y=i.enableResizing,x=i.resizeGrid,C=i.resizeHandleWrapperClass,T=i.resizeHandleWrapperStyle,k=i.scale,P=i.allowAnyClick,M=QT(i,["disableDragging","style","dragHandleClassName","position","onMouseDown","onMouseUp","dragAxis","dragGrid","bounds","enableUserSelectHack","cancel","children","onResizeStart","onResize","onResizeStop","onDragStart","onDrag","onDragStop","resizeHandleStyles","resizeHandleClasses","resizeHandleComponent","enableResizing","resizeGrid","resizeHandleWrapperClass","resizeHandleWrapperStyle","scale","allowAnyClick"]),L=this.props.default?Ut({},this.props.default):void 0;delete M.default;var D=s||o?{cursor:"auto"}:{cursor:"move"},W=Ut(Ut(Ut({},JT),D),r),X=this.offsetFromParent,tt=X.left,nt=X.top,rt;a&&(rt={x:a.x-tt,y:a.y-nt});var U=this.state.resizing?void 0:rt,R=this.state.resizing?"both":h;return Y.createElement(zT,{ref:function(H){H&&(e.draggable=H)},handle:o?".".concat(o):void 0,defaultPosition:L,onMouseDown:c,onMouseUp:u,onStart:this.onDragStart,onDrag:this.onDrag,onStop:this.onDragStop,axis:R,disabled:s,grid:d,bounds:f?this.state.bounds:void 0,position:U,enableUserSelectHack:p,cancel:g,scale:k,allowAnyClick:P,nodeRef:this.resizableElement},Y.createElement(GT,Ut({},M,{ref:function(H){H&&(e.resizable=H,e.resizableElement.current=H.resizable)},defaultSize:L,size:this.props.size,enable:typeof y=="boolean"?ZT(y):y,onResizeStart:this.onResizeStart,onResize:this.onResize,onResizeStop:this.onResizeStop,style:W,minWidth:this.props.minWidth,minHeight:this.props.minHeight,maxWidth:this.state.resizing?this.state.maxWidth:this.props.maxWidth,maxHeight:this.state.resizing?this.state.maxHeight:this.props.maxHeight,grid:x,handleWrapperClass:C,handleWrapperStyle:T,lockAspectRatio:this.props.lockAspectRatio,lockAspectRatioExtraWidth:this.props.lockAspectRatioExtraWidth,lockAspectRatioExtraHeight:this.props.lockAspectRatioExtraHeight,handleStyles:E,handleClasses:m,handleComponent:v,scale:this.props.scale}),w))},t.defaultProps={maxWidth:Number.MAX_SAFE_INTEGER,maxHeight:Number.MAX_SAFE_INTEGER,scale:1,onResizeStart:function(){},onResize:function(){},onResizeStop:function(){},onDragStart:function(){},onDrag:function(){},onDragStop:function(){}},t}(Y.PureComponent);const tk="_areaHighlight_1ppoh_1",ek="_part_1ppoh_8",nk="_scrolledTo_1ppoh_15",Up={areaHighlight:tk,part:ek,scrolledTo:nk};function ik({highlight:n,onChange:t,isScrolledTo:e,...i}){return N.jsx("div",{className:`${Up.areaHighlight} ${e?Up.scrolledTo:""}`,children:N.jsx($T,{className:Up.part,onDragStop:(s,r)=>{const o={...n.position.boundingRect,top:r.y,left:r.x};t(o)},onResizeStop:(s,r,o,a,c)=>{var h;const u={top:c.y,left:c.x,width:o.offsetWidth,height:o.offsetHeight,pageNumber:((h=pc(o))==null?void 0:h.number)||-1};t(u)},position:{x:n.position.boundingRect.left,y:n.position.boundingRect.top},size:{width:n.position.boundingRect.width,height:n.position.boundingRect.height},onClick:s=>{s.stopPropagation(),s.preventDefault()},...i})})}var gc={};gc.d=(n,t)=>{for(var e in t)gc.o(t,e)&&!gc.o(n,e)&&Object.defineProperty(n,e,{enumerable:!0,get:t[e]})};gc.o=(n,t)=>Object.prototype.hasOwnProperty.call(n,t);var K=globalThis.pdfjsLib={};gc.d(K,{AbortException:()=>Ho,AnnotationEditorLayer:()=>$m,AnnotationEditorParamsType:()=>G,AnnotationEditorType:()=>st,AnnotationEditorUIManager:()=>No,AnnotationLayer:()=>eR,AnnotationMode:()=>Ls,CMapCompressionType:()=>Bg,ColorPicker:()=>df,DOMSVGFactory:()=>ly,DrawLayer:()=>iv,FeatureTest:()=>He,GlobalWorkerOptions:()=>us,ImageKind:()=>ud,InvalidPDFException:()=>V1,MissingPDFException:()=>qo,OPS:()=>Dn,Outliner:()=>Dm,PDFDataRangeTransport:()=>DA,PDFDateString:()=>K1,PDFWorker:()=>ya,PasswordResponses:()=>ak,PermissionFlag:()=>ok,PixelsPerInch:()=>dr,RenderingCancelledException:()=>cy,TextLayer:()=>bl,UnexpectedResponseException:()=>np,Util:()=>q,VerbosityLevel:()=>$f,XfaLayer:()=>FA,build:()=>IP,createValidAbsoluteUrl:()=>hk,fetchData:()=>ap,getDocument:()=>TP,getFilenameFromUrl:()=>Ak,getPdfFilenameFromUrl:()=>bk,getXfaPageViewport:()=>Ek,isDataScheme:()=>uy,isPdfFile:()=>hy,noContextMenu:()=>Ke,normalizeUnicode:()=>vk,renderTextLayer:()=>vP,setLayerDimensions:()=>Mo,shadow:()=>ot,updateTextLayer:()=>yP,version:()=>DP});const Ae=typeof process=="object"&&process+""=="[object process]"&&!process.versions.nw&&!(process.versions.electron&&process.type&&process.type!=="browser"),z1=[1,0,0,1,0,0],Wg=[.001,0,0,.001,0,0],sk=1e7,jp=1.35,Sn={ANY:1,DISPLAY:2,PRINT:4,SAVE:8,ANNOTATIONS_FORMS:16,ANNOTATIONS_STORAGE:32,ANNOTATIONS_DISABLE:64,OPLIST:256},Ls={DISABLE:0,ENABLE:1,ENABLE_FORMS:2,ENABLE_STORAGE:3},rk="pdfjs_internal_editor_",st={DISABLE:-1,NONE:0,FREETEXT:3,HIGHLIGHT:9,STAMP:13,INK:15},G={RESIZE:1,CREATE:2,FREETEXT_SIZE:11,FREETEXT_COLOR:12,FREETEXT_OPACITY:13,INK_COLOR:21,INK_THICKNESS:22,INK_OPACITY:23,HIGHLIGHT_COLOR:31,HIGHLIGHT_DEFAULT_COLOR:32,HIGHLIGHT_THICKNESS:33,HIGHLIGHT_FREE:34,HIGHLIGHT_SHOW_ALL:35},ok={PRINT:4,MODIFY_CONTENTS:8,COPY:16,MODIFY_ANNOTATIONS:32,FILL_INTERACTIVE_FORMS:256,COPY_FOR_ACCESSIBILITY:512,ASSEMBLE:1024,PRINT_HIGH_QUALITY:2048},ge={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},ud={GRAYSCALE_1BPP:1,RGB_24BPP:2,RGBA_32BPP:3},Ht={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},Fl={SOLID:1,DASHED:2,BEVELED:3,INSET:4,UNDERLINE:5},$f={ERRORS:0,WARNINGS:1,INFOS:5},Bg={NONE:0,BINARY:1},Dn={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},ak={NEED_PASSWORD:1,INCORRECT_PASSWORD:2};let tp=$f.WARNINGS;function lk(n){Number.isInteger(n)&&(tp=n)}function ck(){return tp}function ep(n){tp>=$f.INFOS&&console.log(`Info: ${n}`)}function Q(n){tp>=$f.WARNINGS&&console.log(`Warning: ${n}`)}function pt(n){throw new Error(n)}function Gt(n,t){n||pt(t)}function uk(n){switch(n==null?void 0:n.protocol){case"http:":case"https:":case"ftp:":case"mailto:":case"tel:":return!0;default:return!1}}function hk(n,t=null,e=null){if(!n)return null;try{if(e&&typeof n=="string"){if(e.addDefaultProtocol&&n.startsWith("www.")){const s=n.match(/\./g);(s==null?void 0:s.length)>=2&&(n=`http://${n}`)}if(e.tryConvertEncoding)try{n=mk(n)}catch{}}const i=t?new URL(n,t):new URL(n);if(uk(i))return i}catch{}return null}function ot(n,t,e,i=!1){return Object.defineProperty(n,t,{value:e,enumerable:!i,configurable:!0,writable:!1}),e}const yr=function(){function t(e,i){this.constructor===t&&pt("Cannot initialize BaseException."),this.message=e,this.name=i}return t.prototype=new Error,t.constructor=t,t}();class Kg extends yr{constructor(t,e){super(t,"PasswordException"),this.code=e}}class Xg extends yr{constructor(t,e){super(t,"UnknownErrorException"),this.details=e}}class V1 extends yr{constructor(t){super(t,"InvalidPDFException")}}class qo extends yr{constructor(t){super(t,"MissingPDFException")}}class np extends yr{constructor(t,e){super(t,"UnexpectedResponseException"),this.status=e}}class dk extends yr{constructor(t){super(t,"FormatError")}}class Ho extends yr{constructor(t){super(t,"AbortException")}}function q1(n){(typeof n!="object"||(n==null?void 0:n.length)===void 0)&&pt("Invalid argument for bytesToString");const t=n.length,e=8192;if(t>24&255,n>>16&255,n>>8&255,n&255)}function oy(n){const t=Object.create(null);for(const[e,i]of n)t[e]=i;return t}function pk(){const n=new Uint8Array(4);return n[0]=1,new Uint32Array(n.buffer,0,1)[0]===1}function gk(){try{return new Function(""),!0}catch{return!1}}class He{static get isLittleEndian(){return ot(this,"isLittleEndian",pk())}static get isEvalSupported(){return ot(this,"isEvalSupported",gk())}static get isOffscreenCanvasSupported(){return ot(this,"isOffscreenCanvasSupported",typeof OffscreenCanvas<"u")}static get platform(){return typeof navigator<"u"&&typeof(navigator==null?void 0:navigator.platform)=="string"?ot(this,"platform",{isMac:navigator.platform.includes("Mac")}):ot(this,"platform",{isMac:!1})}static get isCSSRoundSupported(){var t,e;return ot(this,"isCSSRoundSupported",(e=(t=globalThis.CSS)==null?void 0:t.supports)==null?void 0:e.call(t,"width: round(1.5px, 1px)"))}}const Wp=Array.from(Array(256).keys(),n=>n.toString(16).padStart(2,"0"));var ds,hd,Gg;class q{static makeHexColor(t,e,i){return`#${Wp[t]}${Wp[e]}${Wp[i]}`}static scaleMinMax(t,e){let i;t[0]?(t[0]<0&&(i=e[0],e[0]=e[2],e[2]=i),e[0]*=t[0],e[2]*=t[0],t[3]<0&&(i=e[1],e[1]=e[3],e[3]=i),e[1]*=t[3],e[3]*=t[3]):(i=e[0],e[0]=e[1],e[1]=i,i=e[2],e[2]=e[3],e[3]=i,t[1]<0&&(i=e[1],e[1]=e[3],e[3]=i),e[1]*=t[1],e[3]*=t[1],t[2]<0&&(i=e[0],e[0]=e[2],e[2]=i),e[0]*=t[2],e[2]*=t[2]),e[0]+=t[4],e[1]+=t[5],e[2]+=t[4],e[3]+=t[5]}static transform(t,e){return[t[0]*e[0]+t[2]*e[1],t[1]*e[0]+t[3]*e[1],t[0]*e[2]+t[2]*e[3],t[1]*e[2]+t[3]*e[3],t[0]*e[4]+t[2]*e[5]+t[4],t[1]*e[4]+t[3]*e[5]+t[5]]}static applyTransform(t,e){const i=t[0]*e[0]+t[1]*e[2]+e[4],s=t[0]*e[1]+t[1]*e[3]+e[5];return[i,s]}static applyInverseTransform(t,e){const i=e[0]*e[3]-e[1]*e[2],s=(t[0]*e[3]-t[1]*e[2]+e[2]*e[5]-e[4]*e[3])/i,r=(-t[0]*e[1]+t[1]*e[0]+e[4]*e[1]-e[5]*e[0])/i;return[s,r]}static getAxialAlignedBoundingBox(t,e){const i=this.applyTransform(t,e),s=this.applyTransform(t.slice(2,4),e),r=this.applyTransform([t[0],t[3]],e),o=this.applyTransform([t[2],t[1]],e);return[Math.min(i[0],s[0],r[0],o[0]),Math.min(i[1],s[1],r[1],o[1]),Math.max(i[0],s[0],r[0],o[0]),Math.max(i[1],s[1],r[1],o[1])]}static inverseTransform(t){const e=t[0]*t[3]-t[1]*t[2];return[t[3]/e,-t[1]/e,-t[2]/e,t[0]/e,(t[2]*t[5]-t[4]*t[3])/e,(t[4]*t[1]-t[5]*t[0])/e]}static singularValueDecompose2dScale(t){const e=[t[0],t[2],t[1],t[3]],i=t[0]*e[0]+t[1]*e[2],s=t[0]*e[1]+t[1]*e[3],r=t[2]*e[0]+t[3]*e[2],o=t[2]*e[1]+t[3]*e[3],a=(i+o)/2,c=Math.sqrt((i+o)**2-4*(i*o-r*s))/2,u=a+c||1,h=a-c||1;return[Math.sqrt(u),Math.sqrt(h)]}static normalizeRect(t){const e=t.slice(0);return t[0]>t[2]&&(e[0]=t[2],e[2]=t[0]),t[1]>t[3]&&(e[1]=t[3],e[3]=t[1]),e}static intersect(t,e){const i=Math.max(Math.min(t[0],t[2]),Math.min(e[0],e[2])),s=Math.min(Math.max(t[0],t[2]),Math.max(e[0],e[2]));if(i>s)return null;const r=Math.max(Math.min(t[1],t[3]),Math.min(e[1],e[3])),o=Math.min(Math.max(t[1],t[3]),Math.max(e[1],e[3]));return r>o?null:[i,r,s,o]}static bezierBoundingBox(t,e,i,s,r,o,a,c,u){return u?(u[0]=Math.min(u[0],t,a),u[1]=Math.min(u[1],e,c),u[2]=Math.max(u[2],t,a),u[3]=Math.max(u[3],e,c)):u=[Math.min(t,a),Math.min(e,c),Math.max(t,a),Math.max(e,c)],A(this,ds,Gg).call(this,t,i,r,a,e,s,o,c,3*(-t+3*(i-r)+a),6*(t-2*i+r),3*(i-t),u),A(this,ds,Gg).call(this,t,i,r,a,e,s,o,c,3*(-e+3*(s-o)+c),6*(e-2*s+o),3*(s-e),u),u}}ds=new WeakSet,hd=function(t,e,i,s,r,o,a,c,u,h){if(u<=0||u>=1)return;const d=1-u,f=u*u,p=f*u,g=d*(d*(d*t+3*u*e)+3*f*i)+p*s,w=d*(d*(d*r+3*u*o)+3*f*a)+p*c;h[0]=Math.min(h[0],g),h[1]=Math.min(h[1],w),h[2]=Math.max(h[2],g),h[3]=Math.max(h[3],w)},Gg=function(t,e,i,s,r,o,a,c,u,h,d,f){if(Math.abs(u)<1e-12){Math.abs(h)>=1e-12&&A(this,ds,hd).call(this,t,e,i,s,r,o,a,c,-d/h,f);return}const p=h**2-4*d*u;if(p<0)return;const g=Math.sqrt(p),w=2*u;A(this,ds,hd).call(this,t,e,i,s,r,o,a,c,(-h+g)/w,f),A(this,ds,hd).call(this,t,e,i,s,r,o,a,c,(-h-g)/w,f)},b(q,ds);function mk(n){return decodeURIComponent(escape(n))}let Bp=null,W0=null;function vk(n){return Bp||(Bp=/([\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,W0=new Map([["ſt","ſt"]])),n.replaceAll(Bp,(t,e,i)=>e?e.normalize("NFKC"):W0.get(i))}function yk(){if(typeof crypto<"u"&&typeof(crypto==null?void 0:crypto.randomUUID)=="function")return crypto.randomUUID();const n=new Uint8Array(32);if(typeof crypto<"u"&&typeof(crypto==null?void 0:crypto.getRandomValues)=="function")crypto.getRandomValues(n);else for(let t=0;t<32;t++)n[t]=Math.floor(Math.random()*255);return q1(n)}const H1="pdfjs_internal_id_",Pi={BEZIER_CURVE_TO:0,MOVE_TO:1,LINE_TO:2,QUADRATIC_CURVE_TO:3,RESTORE:4,SAVE:5,SCALE:6,TRANSFORM:7,TRANSLATE:8};class sp{constructor(){this.constructor===sp&&pt("Cannot initialize BaseFilterFactory.")}addFilter(t){return"none"}addHCMFilter(t,e){return"none"}addAlphaFilter(t){return"none"}addLuminosityFilter(t){return"none"}addHighlightHCMFilter(t,e,i,s,r){return"none"}destroy(t=!1){}}var Fc;const my=class my{constructor({enableHWA:t=!1}={}){b(this,Fc,!1);this.constructor===my&&pt("Cannot initialize BaseCanvasFactory."),S(this,Fc,t)}create(t,e){if(t<=0||e<=0)throw new Error("Invalid canvas size");const i=this._createCanvas(t,e);return{canvas:i,context:i.getContext("2d",{willReadFrequently:!l(this,Fc)})}}reset(t,e,i){if(!t.canvas)throw new Error("Canvas is not specified");if(e<=0||i<=0)throw new Error("Invalid canvas size");t.canvas.width=e,t.canvas.height=i}destroy(t){if(!t.canvas)throw new Error("Canvas is not specified");t.canvas.width=0,t.canvas.height=0,t.canvas=null,t.context=null}_createCanvas(t,e){pt("Abstract method `_createCanvas` called.")}};Fc=new WeakMap;let af=my;class rp{constructor({baseUrl:t=null,isCompressed:e=!0}){this.constructor===rp&&pt("Cannot initialize BaseCMapReaderFactory."),this.baseUrl=t,this.isCompressed=e}async fetch({name:t}){if(!this.baseUrl)throw new Error('The CMap "baseUrl" parameter must be specified, ensure that the "cMapUrl" and "cMapPacked" API parameters are provided.');if(!t)throw new Error("CMap name must be specified.");const e=this.baseUrl+t+(this.isCompressed?".bcmap":""),i=this.isCompressed?Bg.BINARY:Bg.NONE;return this._fetchData(e,i).catch(s=>{throw new Error(`Unable to load ${this.isCompressed?"binary ":""}CMap at: ${e}`)})}_fetchData(t,e){pt("Abstract method `_fetchData` called.")}}class op{constructor({baseUrl:t=null}){this.constructor===op&&pt("Cannot initialize BaseStandardFontDataFactory."),this.baseUrl=t}async fetch({filename:t}){if(!this.baseUrl)throw new Error('The standard font "baseUrl" parameter must be specified, ensure that the "standardFontDataUrl" API parameter is provided.');if(!t)throw new Error("Font filename must be specified.");const e=`${this.baseUrl}${t}`;return this._fetchData(e).catch(i=>{throw new Error(`Unable to load font data at: ${e}`)})}_fetchData(t){pt("Abstract method `_fetchData` called.")}}class ay{constructor(){this.constructor===ay&&pt("Cannot initialize BaseSVGFactory.")}create(t,e,i=!1){if(t<=0||e<=0)throw new Error("Invalid SVG dimensions");const s=this._createSVG("svg:svg");return s.setAttribute("version","1.1"),i||(s.setAttribute("width",`${t}px`),s.setAttribute("height",`${e}px`)),s.setAttribute("preserveAspectRatio","none"),s.setAttribute("viewBox",`0 0 ${t} ${e}`),s}createElement(t){if(typeof t!="string")throw new Error("Invalid SVG element type");return this._createSVG(t)}_createSVG(t){pt("Abstract method `_createSVG` called.")}}const _i="http://www.w3.org/2000/svg",xr=class xr{};I(xr,"CSS",96),I(xr,"PDF",72),I(xr,"PDF_TO_CSS_UNITS",xr.CSS/xr.PDF);let dr=xr;var Rr,ii,Oi,Fe,pf,_r,V,me,Bo,Ko,dd,U1,Yg,Xo,Wl,Bl,Qg,Kl;class wk extends sp{constructor({docId:e,ownerDocument:i=globalThis.document}={}){super();b(this,V);b(this,Rr);b(this,ii);b(this,Oi);b(this,Fe);b(this,pf);b(this,_r,0);S(this,Oi,e),S(this,Fe,i)}addFilter(e){if(!e)return"none";let i=l(this,V,me).get(e);if(i)return i;const[s,r,o]=A(this,V,dd).call(this,e),a=e.length===1?s:`${s}${r}${o}`;if(i=l(this,V,me).get(a),i)return l(this,V,me).set(e,i),i;const c=`g_${l(this,Oi)}_transfer_map_${Xe(this,_r)._++}`,u=`url(#${c})`;l(this,V,me).set(e,u),l(this,V,me).set(a,u);const h=A(this,V,Xo).call(this,c);return A(this,V,Bl).call(this,s,r,o,h),u}addHCMFilter(e,i){var g;const s=`${e}-${i}`,r="base";let o=l(this,V,Bo).get(r);if((o==null?void 0:o.key)===s||(o?((g=o.filter)==null||g.remove(),o.key=s,o.url="none",o.filter=null):(o={key:s,url:"none",filter:null},l(this,V,Bo).set(r,o)),!e||!i))return o.url;const a=A(this,V,Kl).call(this,e);e=q.makeHexColor(...a);const c=A(this,V,Kl).call(this,i);if(i=q.makeHexColor(...c),l(this,V,Ko).style.color="",e==="#000000"&&i==="#ffffff"||e===i)return o.url;const u=new Array(256);for(let w=0;w<=255;w++){const E=w/255;u[w]=E<=.03928?E/12.92:((E+.055)/1.055)**2.4}const h=u.join(","),d=`g_${l(this,Oi)}_hcm_filter`,f=o.filter=A(this,V,Xo).call(this,d);A(this,V,Bl).call(this,h,h,h,f),A(this,V,Yg).call(this,f);const p=(w,E)=>{const m=a[w]/255,v=c[w]/255,y=new Array(E+1);for(let x=0;x<=E;x++)y[x]=m+x/E*(v-m);return y.join(",")};return A(this,V,Bl).call(this,p(0,5),p(1,5),p(2,5),f),o.url=`url(#${d})`,o.url}addAlphaFilter(e){let i=l(this,V,me).get(e);if(i)return i;const[s]=A(this,V,dd).call(this,[e]),r=`alpha_${s}`;if(i=l(this,V,me).get(r),i)return l(this,V,me).set(e,i),i;const o=`g_${l(this,Oi)}_alpha_map_${Xe(this,_r)._++}`,a=`url(#${o})`;l(this,V,me).set(e,a),l(this,V,me).set(r,a);const c=A(this,V,Xo).call(this,o);return A(this,V,Qg).call(this,s,c),a}addLuminosityFilter(e){let i=l(this,V,me).get(e||"luminosity");if(i)return i;let s,r;if(e?([s]=A(this,V,dd).call(this,[e]),r=`luminosity_${s}`):r="luminosity",i=l(this,V,me).get(r),i)return l(this,V,me).set(e,i),i;const o=`g_${l(this,Oi)}_luminosity_map_${Xe(this,_r)._++}`,a=`url(#${o})`;l(this,V,me).set(e,a),l(this,V,me).set(r,a);const c=A(this,V,Xo).call(this,o);return A(this,V,U1).call(this,c),e&&A(this,V,Qg).call(this,s,c),a}addHighlightHCMFilter(e,i,s,r,o){var v;const a=`${i}-${s}-${r}-${o}`;let c=l(this,V,Bo).get(e);if((c==null?void 0:c.key)===a||(c?((v=c.filter)==null||v.remove(),c.key=a,c.url="none",c.filter=null):(c={key:a,url:"none",filter:null},l(this,V,Bo).set(e,c)),!i||!s))return c.url;const[u,h]=[i,s].map(A(this,V,Kl).bind(this));let d=Math.round(.2126*u[0]+.7152*u[1]+.0722*u[2]),f=Math.round(.2126*h[0]+.7152*h[1]+.0722*h[2]),[p,g]=[r,o].map(A(this,V,Kl).bind(this));f{const T=new Array(256),k=(f-d)/C,P=y/255,M=(x-y)/(255*C);let L=0;for(let D=0;D<=C;D++){const W=Math.round(d+D*k),X=P+D*M;for(let tt=L;tt<=W;tt++)T[tt]=X;L=W+1}for(let D=L;D<256;D++)T[D]=T[L-1];return T.join(",")},E=`g_${l(this,Oi)}_hcm_${e}_filter`,m=c.filter=A(this,V,Xo).call(this,E);return A(this,V,Yg).call(this,m),A(this,V,Bl).call(this,w(p[0],g[0],5),w(p[1],g[1],5),w(p[2],g[2],5),m),c.url=`url(#${E})`,c.url}destroy(e=!1){e&&l(this,V,Bo).size!==0||(l(this,ii)&&(l(this,ii).parentNode.parentNode.remove(),S(this,ii,null)),l(this,Rr)&&(l(this,Rr).clear(),S(this,Rr,null)),S(this,_r,0))}}Rr=new WeakMap,ii=new WeakMap,Oi=new WeakMap,Fe=new WeakMap,pf=new WeakMap,_r=new WeakMap,V=new WeakSet,me=function(){return l(this,Rr)||S(this,Rr,new Map)},Bo=function(){return l(this,pf)||S(this,pf,new Map)},Ko=function(){if(!l(this,ii)){const e=l(this,Fe).createElement("div"),{style:i}=e;i.visibility="hidden",i.contain="strict",i.width=i.height=0,i.position="absolute",i.top=i.left=0,i.zIndex=-1;const s=l(this,Fe).createElementNS(_i,"svg");s.setAttribute("width",0),s.setAttribute("height",0),S(this,ii,l(this,Fe).createElementNS(_i,"defs")),e.append(s),s.append(l(this,ii)),l(this,Fe).body.append(e)}return l(this,ii)},dd=function(e){if(e.length===1){const u=e[0],h=new Array(256);for(let f=0;f<256;f++)h[f]=u[f]/255;const d=h.join(",");return[d,d,d]}const[i,s,r]=e,o=new Array(256),a=new Array(256),c=new Array(256);for(let u=0;u<256;u++)o[u]=i[u]/255,a[u]=s[u]/255,c[u]=r[u]/255;return[o.join(","),a.join(","),c.join(",")]},U1=function(e){const i=l(this,Fe).createElementNS(_i,"feColorMatrix");i.setAttribute("type","matrix"),i.setAttribute("values","0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.3 0.59 0.11 0 0"),e.append(i)},Yg=function(e){const i=l(this,Fe).createElementNS(_i,"feColorMatrix");i.setAttribute("type","matrix"),i.setAttribute("values","0.2126 0.7152 0.0722 0 0 0.2126 0.7152 0.0722 0 0 0.2126 0.7152 0.0722 0 0 0 0 0 1 0"),e.append(i)},Xo=function(e){const i=l(this,Fe).createElementNS(_i,"filter");return i.setAttribute("color-interpolation-filters","sRGB"),i.setAttribute("id",e),l(this,V,Ko).append(i),i},Wl=function(e,i,s){const r=l(this,Fe).createElementNS(_i,i);r.setAttribute("type","discrete"),r.setAttribute("tableValues",s),e.append(r)},Bl=function(e,i,s,r){const o=l(this,Fe).createElementNS(_i,"feComponentTransfer");r.append(o),A(this,V,Wl).call(this,o,"feFuncR",e),A(this,V,Wl).call(this,o,"feFuncG",i),A(this,V,Wl).call(this,o,"feFuncB",s)},Qg=function(e,i){const s=l(this,Fe).createElementNS(_i,"feComponentTransfer");i.append(s),A(this,V,Wl).call(this,s,"feFuncA",e)},Kl=function(e){return l(this,V,Ko).style.color=e,dy(getComputedStyle(l(this,V,Ko)).getPropertyValue("color"))};class Sk extends af{constructor({ownerDocument:t=globalThis.document,enableHWA:e=!1}={}){super({enableHWA:e}),this._document=t}_createCanvas(t,e){const i=this._document.createElement("canvas");return i.width=t,i.height=e,i}}async function ap(n,t="text"){if(Xl(n,document.baseURI)){const e=await fetch(n);if(!e.ok)throw new Error(e.statusText);switch(t){case"arraybuffer":return e.arrayBuffer();case"blob":return e.blob();case"json":return e.json()}return e.text()}return new Promise((e,i)=>{const s=new XMLHttpRequest;s.open("GET",n,!0),s.responseType=t,s.onreadystatechange=()=>{if(s.readyState===XMLHttpRequest.DONE){if(s.status===200||s.status===0){switch(t){case"arraybuffer":case"blob":case"json":e(s.response);return}e(s.responseText);return}i(new Error(s.statusText))}},s.send(null)})}class j1 extends rp{_fetchData(t,e){return ap(t,this.isCompressed?"arraybuffer":"text").then(i=>({cMapData:i instanceof ArrayBuffer?new Uint8Array(i):ip(i),compressionType:e}))}}class W1 extends op{_fetchData(t){return ap(t,"arraybuffer").then(e=>new Uint8Array(e))}}class ly extends ay{_createSVG(t){return document.createElementNS(_i,t)}}class Sh{constructor({viewBox:t,scale:e,rotation:i,offsetX:s=0,offsetY:r=0,dontFlip:o=!1}){this.viewBox=t,this.scale=e,this.rotation=i,this.offsetX=s,this.offsetY=r;const a=(t[2]+t[0])/2,c=(t[3]+t[1])/2;let u,h,d,f;switch(i%=360,i<0&&(i+=360),i){case 180:u=-1,h=0,d=0,f=1;break;case 90:u=0,h=1,d=1,f=0;break;case 270:u=0,h=-1,d=-1,f=0;break;case 0:u=1,h=0,d=0,f=-1;break;default:throw new Error("PageViewport: Invalid rotation, must be a multiple of 90 degrees.")}o&&(d=-d,f=-f);let p,g,w,E;u===0?(p=Math.abs(c-t[1])*e+s,g=Math.abs(a-t[0])*e+r,w=(t[3]-t[1])*e,E=(t[2]-t[0])*e):(p=Math.abs(a-t[0])*e+s,g=Math.abs(c-t[1])*e+r,w=(t[2]-t[0])*e,E=(t[3]-t[1])*e),this.transform=[u*e,h*e,d*e,f*e,p-u*e*a-d*e*c,g-h*e*a-f*e*c],this.width=w,this.height=E}get rawDims(){const{viewBox:t}=this;return ot(this,"rawDims",{pageWidth:t[2]-t[0],pageHeight:t[3]-t[1],pageX:t[0],pageY:t[1]})}clone({scale:t=this.scale,rotation:e=this.rotation,offsetX:i=this.offsetX,offsetY:s=this.offsetY,dontFlip:r=!1}={}){return new Sh({viewBox:this.viewBox.slice(),scale:t,rotation:e,offsetX:i,offsetY:s,dontFlip:r})}convertToViewportPoint(t,e){return q.applyTransform([t,e],this.transform)}convertToViewportRectangle(t){const e=q.applyTransform([t[0],t[1]],this.transform),i=q.applyTransform([t[2],t[3]],this.transform);return[e[0],e[1],i[0],i[1]]}convertToPdfPoint(t,e){return q.applyInverseTransform([t,e],this.transform)}}class cy extends yr{constructor(t,e=0){super(t,"RenderingCancelledException"),this.extraDelay=e}}function uy(n){const t=n.length;let e=0;for(;e=1&&s<=12?s-1:0;let r=parseInt(e[3],10);r=r>=1&&r<=31?r:1;let o=parseInt(e[4],10);o=o>=0&&o<=23?o:0;let a=parseInt(e[5],10);a=a>=0&&a<=59?a:0;let c=parseInt(e[6],10);c=c>=0&&c<=59?c:0;const u=e[7]||"Z";let h=parseInt(e[8],10);h=h>=0&&h<=23?h:0;let d=parseInt(e[9],10)||0;return d=d>=0&&d<=59?d:0,u==="-"?(o+=h,a+=d):u==="+"&&(o-=h,a-=d),new Date(Date.UTC(i,s,r,o,a,c))}}function Ek(n,{scale:t=1,rotation:e=0}){const{width:i,height:s}=n.attributes.style,r=[0,0,parseInt(i),parseInt(s)];return new Sh({viewBox:r,scale:t,rotation:e})}function dy(n){if(n.startsWith("#")){const t=parseInt(n.slice(1),16);return[(t&16711680)>>16,(t&65280)>>8,t&255]}return n.startsWith("rgb(")?n.slice(4,-1).split(",").map(t=>parseInt(t)):n.startsWith("rgba(")?n.slice(5,-1).split(",").map(t=>parseInt(t)).slice(0,3):(Q(`Not a valid color format: "${n}"`),[0,0,0])}function xk(n){const t=document.createElement("span");t.style.visibility="hidden",document.body.append(t);for(const e of n.keys()){t.style.color=e;const i=window.getComputedStyle(t).color;n.set(e,dy(i))}t.remove()}function Tt(n){const{a:t,b:e,c:i,d:s,e:r,f:o}=n.getTransform();return[t,e,i,s,r,o]}function Ri(n){const{a:t,b:e,c:i,d:s,e:r,f:o}=n.getTransform().invertSelf();return[t,e,i,s,r,o]}function Mo(n,t,e=!1,i=!0){if(t instanceof Sh){const{pageWidth:s,pageHeight:r}=t.rawDims,{style:o}=n,a=He.isCSSRoundSupported,c=`var(--scale-factor) * ${s}px`,u=`var(--scale-factor) * ${r}px`,h=a?`round(${c}, 1px)`:`calc(${c})`,d=a?`round(${u}, 1px)`:`calc(${u})`;!e||t.rotation%180===0?(o.width=h,o.height=d):(o.width=d,o.height=h)}i&&n.setAttribute("data-main-rotation",t.rotation)}var Lr,Mr,Je,Nr,gf,X1,_e,G1,Y1,fd,Q1,Zg;const mf=class mf{constructor(t){b(this,_e);b(this,Lr,null);b(this,Mr,null);b(this,Je);b(this,Nr,null);S(this,Je,t)}render(){const t=S(this,Lr,document.createElement("div"));t.className="editToolbar",t.setAttribute("role","toolbar");const e=l(this,Je)._uiManager._signal;t.addEventListener("contextmenu",Ke,{signal:e}),t.addEventListener("pointerdown",A(mf,gf,X1),{signal:e});const i=S(this,Nr,document.createElement("div"));i.className="buttons",t.append(i);const s=l(this,Je).toolbarPosition;if(s){const{style:r}=t,o=l(this,Je)._uiManager.direction==="ltr"?1-s[0]:s[0];r.insetInlineEnd=`${100*o}%`,r.top=`calc(${100*s[1]}% + var(--editor-toolbar-vert-offset))`}return A(this,_e,Q1).call(this),t}hide(){var t;l(this,Lr).classList.add("hidden"),(t=l(this,Mr))==null||t.hideDropdown()}show(){l(this,Lr).classList.remove("hidden")}addAltTextButton(t){A(this,_e,fd).call(this,t),l(this,Nr).prepend(t,l(this,_e,Zg))}addColorPicker(t){S(this,Mr,t);const e=t.renderButton();A(this,_e,fd).call(this,e),l(this,Nr).prepend(e,l(this,_e,Zg))}remove(){var t;l(this,Lr).remove(),(t=l(this,Mr))==null||t.destroy(),S(this,Mr,null)}};Lr=new WeakMap,Mr=new WeakMap,Je=new WeakMap,Nr=new WeakMap,gf=new WeakSet,X1=function(t){t.stopPropagation()},_e=new WeakSet,G1=function(t){l(this,Je)._focusEventsAllowed=!1,t.preventDefault(),t.stopPropagation()},Y1=function(t){l(this,Je)._focusEventsAllowed=!0,t.preventDefault(),t.stopPropagation()},fd=function(t){const e=l(this,Je)._uiManager._signal;t.addEventListener("focusin",A(this,_e,G1).bind(this),{capture:!0,signal:e}),t.addEventListener("focusout",A(this,_e,Y1).bind(this),{capture:!0,signal:e}),t.addEventListener("contextmenu",Ke,{signal:e})},Q1=function(){const t=document.createElement("button");t.className="delete",t.tabIndex=0,t.setAttribute("data-l10n-id",`pdfjs-editor-remove-${l(this,Je).editorType}-button`),A(this,_e,fd).call(this,t),t.addEventListener("click",e=>{l(this,Je)._uiManager.delete()},{signal:l(this,Je)._uiManager._signal}),l(this,Nr).append(t)},Zg=function(){const t=document.createElement("div");return t.className="divider",t},b(mf,gf);let Jg=mf;var Oc,Dr,Ir,fr,J1,Z1,$1;class Ck{constructor(t){b(this,fr);b(this,Oc,null);b(this,Dr,null);b(this,Ir);S(this,Ir,t)}show(t,e,i){const[s,r]=A(this,fr,Z1).call(this,e,i),{style:o}=l(this,Dr)||S(this,Dr,A(this,fr,J1).call(this));t.append(l(this,Dr)),o.insetInlineEnd=`${100*s}%`,o.top=`calc(${100*r}% + var(--editor-toolbar-vert-offset))`}hide(){l(this,Dr).remove()}}Oc=new WeakMap,Dr=new WeakMap,Ir=new WeakMap,fr=new WeakSet,J1=function(){const t=S(this,Dr,document.createElement("div"));t.className="editToolbar",t.setAttribute("role","toolbar"),t.addEventListener("contextmenu",Ke,{signal:l(this,Ir)._signal});const e=S(this,Oc,document.createElement("div"));return e.className="buttons",t.append(e),A(this,fr,$1).call(this),t},Z1=function(t,e){let i=0,s=0;for(const r of t){const o=r.y+r.height;if(oi){s=a,i=o;continue}e?a>s&&(s=a):a{l(this,Ir).highlightSelection("floating_button")},{signal:i}),l(this,Oc).append(t)};function lf(n,t,e){for(const i of e)t.addEventListener(i,n[i].bind(n))}function Tk(n){return Math.round(Math.min(255,Math.max(1,255*n))).toString(16).padStart(2,"0")}var vf;class kk{constructor(){b(this,vf,0)}get id(){return`${rk}${Xe(this,vf)._++}`}}vf=new WeakMap;var zc,yf,mn,Vc,tm;const vy=class vy{constructor(){b(this,Vc);b(this,zc,yk());b(this,yf,0);b(this,mn,null)}static get _isSVGFittingCanvas(){const t='data:image/svg+xml;charset=UTF-8,',i=new OffscreenCanvas(1,3).getContext("2d",{willReadFrequently:!0}),s=new Image;s.src=t;const r=s.decode().then(()=>(i.drawImage(s,0,0,1,1,0,0,1,3),new Uint32Array(i.getImageData(0,0,1,1).data.buffer)[0]===0));return ot(this,"_isSVGFittingCanvas",r)}async getFromFile(t){const{lastModified:e,name:i,size:s,type:r}=t;return A(this,Vc,tm).call(this,`${e}_${i}_${s}_${r}`,t)}async getFromUrl(t){return A(this,Vc,tm).call(this,t,t)}async getFromId(t){l(this,mn)||S(this,mn,new Map);const e=l(this,mn).get(t);return e?e.bitmap?(e.refCounter+=1,e):e.file?this.getFromFile(e.file):this.getFromUrl(e.url):null}getSvgUrl(t){const e=l(this,mn).get(t);return e!=null&&e.isSvg?e.svgUrl:null}deleteId(t){l(this,mn)||S(this,mn,new Map);const e=l(this,mn).get(t);e&&(e.refCounter-=1,e.refCounter===0&&(e.bitmap=null))}isValidId(t){return t.startsWith(`image_${l(this,zc)}_`)}};zc=new WeakMap,yf=new WeakMap,mn=new WeakMap,Vc=new WeakSet,tm=async function(t,e){l(this,mn)||S(this,mn,new Map);let i=l(this,mn).get(t);if(i===null)return null;if(i!=null&&i.bitmap)return i.refCounter+=1,i;try{i||(i={bitmap:null,id:`image_${l(this,zc)}_${Xe(this,yf)._++}`,refCounter:0,isSvg:!1});let s;if(typeof e=="string"?(i.url=e,s=await ap(e,"blob")):s=i.file=e,s.type==="image/svg+xml"){const r=vy._isSVGFittingCanvas,o=new FileReader,a=new Image,c=new Promise((u,h)=>{a.onload=()=>{i.bitmap=a,i.isSvg=!0,u()},o.onload=async()=>{const d=i.svgUrl=o.result;a.src=await r?`${d}#svgView(preserveAspectRatio(none))`:d},a.onerror=o.onerror=h});o.readAsDataURL(s),await c}else i.bitmap=await createImageBitmap(s);i.refCounter=1}catch(s){console.error(s),i=null}return l(this,mn).set(t,i),i&&l(this,mn).set(i.id,i),i};let $g=vy;var Qt,Ms,qc,Jt;class Pk{constructor(t=128){b(this,Qt,[]);b(this,Ms,!1);b(this,qc);b(this,Jt,-1);S(this,qc,t)}add({cmd:t,undo:e,post:i,mustExec:s,type:r=NaN,overwriteIfSameType:o=!1,keepUndo:a=!1}){if(s&&t(),l(this,Ms))return;const c={cmd:t,undo:e,post:i,type:r};if(l(this,Jt)===-1){l(this,Qt).length>0&&(l(this,Qt).length=0),S(this,Jt,0),l(this,Qt).push(c);return}if(o&&l(this,Qt)[l(this,Jt)].type===r){a&&(c.undo=l(this,Qt)[l(this,Jt)].undo),l(this,Qt)[l(this,Jt)]=c;return}const u=l(this,Jt)+1;u===l(this,qc)?l(this,Qt).splice(0,1):(S(this,Jt,u),ur===e[o]))return Sf._colorsMapping.get(i);return e}getHexCode(t){const e=this._colors.get(t);return e?q.makeHexColor(...e):t}};I(Sf,"_colorsMapping",new Map([["CanvasText",[0,0,0]],["Canvas",[255,255,255]]]));let em=Sf;var wa,Ze,jt,ee,Sa,zi,Aa,In,ba,Fr,si,Fn,Or,Hc,Uc,ri,Ea,Ns,oi,Af,Ds,jc,zr,Wc,xa,ne,ut,Vi,Vr,Bc,Kc,Xc,Gc,Yc,Qc,Jc,Zc,$c,tu,eu,nu,iu,Is,ai,qi,su,F,pd,eA,nA,gd,iA,sA,rA,nm,oA,im,sm,aA,Ee,xs,lA,cA,rm,uA,Gl,om;const ua=class ua{constructor(t,e,i,s,r,o,a,c,u){b(this,F);b(this,wa,new AbortController);b(this,Ze,null);b(this,jt,new Map);b(this,ee,new Map);b(this,Sa,null);b(this,zi,null);b(this,Aa,null);b(this,In,new Pk);b(this,ba,0);b(this,Fr,new Set);b(this,si,null);b(this,Fn,null);b(this,Or,new Set);b(this,Hc,!1);b(this,Uc,null);b(this,ri,null);b(this,Ea,null);b(this,Ns,!1);b(this,oi,null);b(this,Af,new kk);b(this,Ds,!1);b(this,jc,!1);b(this,zr,null);b(this,Wc,null);b(this,xa,null);b(this,ne,st.NONE);b(this,ut,new Set);b(this,Vi,null);b(this,Vr,null);b(this,Bc,null);b(this,Kc,this.blur.bind(this));b(this,Xc,this.focus.bind(this));b(this,Gc,this.copy.bind(this));b(this,Yc,this.cut.bind(this));b(this,Qc,this.paste.bind(this));b(this,Jc,this.keydown.bind(this));b(this,Zc,this.keyup.bind(this));b(this,$c,this.onEditingAction.bind(this));b(this,tu,this.onPageChanging.bind(this));b(this,eu,this.onScaleChanging.bind(this));b(this,nu,this.onRotationChanging.bind(this));b(this,iu,{isEditing:!1,isEmpty:!0,hasSomethingToUndo:!1,hasSomethingToRedo:!1,hasSelectedEditor:!1,hasSelectedText:!1});b(this,Is,[0,0]);b(this,ai,null);b(this,qi,null);b(this,su,null);this._signal=l(this,wa).signal,S(this,qi,t),S(this,su,e),S(this,Sa,i),this._eventBus=s,this._eventBus._on("editingaction",l(this,$c)),this._eventBus._on("pagechanging",l(this,tu)),this._eventBus._on("scalechanging",l(this,eu)),this._eventBus._on("rotationchanging",l(this,nu)),A(this,F,iA).call(this),A(this,F,aA).call(this),A(this,F,nm).call(this),S(this,zi,r.annotationStorage),S(this,Uc,r.filterFactory),S(this,Vr,o),S(this,Ea,a||null),S(this,Hc,c),S(this,xa,u||null),this.viewParameters={realScale:dr.PDF_TO_CSS_UNITS,rotation:0},this.isShiftKeyDown=!1}static get _keyboardManager(){const t=ua.prototype,e=o=>l(o,qi).contains(document.activeElement)&&document.activeElement.tagName!=="BUTTON"&&o.hasSomethingToControl(),i=(o,{target:a})=>{if(a instanceof HTMLInputElement){const{type:c}=a;return c!=="text"&&c!=="number"}return!0},s=this.TRANSLATE_SMALL,r=this.TRANSLATE_BIG;return ot(this,"_keyboardManager",new Ah([[["ctrl+a","mac+meta+a"],t.selectAll,{checker:i}],[["ctrl+z","mac+meta+z"],t.undo,{checker:i}],[["ctrl+y","ctrl+shift+z","mac+meta+shift+z","ctrl+shift+Z","mac+meta+shift+Z"],t.redo,{checker:i}],[["Backspace","alt+Backspace","ctrl+Backspace","shift+Backspace","mac+Backspace","mac+alt+Backspace","mac+ctrl+Backspace","Delete","ctrl+Delete","shift+Delete","mac+Delete"],t.delete,{checker:i}],[["Enter","mac+Enter"],t.addNewEditorFromKeyboard,{checker:(o,{target:a})=>!(a instanceof HTMLButtonElement)&&l(o,qi).contains(a)&&!o.isEnterHandled}],[[" ","mac+ "],t.addNewEditorFromKeyboard,{checker:(o,{target:a})=>!(a instanceof HTMLButtonElement)&&l(o,qi).contains(document.activeElement)}],[["Escape","mac+Escape"],t.unselectAll],[["ArrowLeft","mac+ArrowLeft"],t.translateSelectedEditors,{args:[-s,0],checker:e}],[["ctrl+ArrowLeft","mac+shift+ArrowLeft"],t.translateSelectedEditors,{args:[-r,0],checker:e}],[["ArrowRight","mac+ArrowRight"],t.translateSelectedEditors,{args:[s,0],checker:e}],[["ctrl+ArrowRight","mac+shift+ArrowRight"],t.translateSelectedEditors,{args:[r,0],checker:e}],[["ArrowUp","mac+ArrowUp"],t.translateSelectedEditors,{args:[0,-s],checker:e}],[["ctrl+ArrowUp","mac+shift+ArrowUp"],t.translateSelectedEditors,{args:[0,-r],checker:e}],[["ArrowDown","mac+ArrowDown"],t.translateSelectedEditors,{args:[0,s],checker:e}],[["ctrl+ArrowDown","mac+shift+ArrowDown"],t.translateSelectedEditors,{args:[0,r],checker:e}]]))}destroy(){var t,e,i;(t=l(this,wa))==null||t.abort(),S(this,wa,null),this._signal=null,this._eventBus._off("editingaction",l(this,$c)),this._eventBus._off("pagechanging",l(this,tu)),this._eventBus._off("scalechanging",l(this,eu)),this._eventBus._off("rotationchanging",l(this,nu));for(const s of l(this,ee).values())s.destroy();l(this,ee).clear(),l(this,jt).clear(),l(this,Or).clear(),S(this,Ze,null),l(this,ut).clear(),l(this,In).destroy(),(e=l(this,Sa))==null||e.destroy(),(i=l(this,oi))==null||i.hide(),S(this,oi,null),l(this,ri)&&(clearTimeout(l(this,ri)),S(this,ri,null)),l(this,ai)&&(clearTimeout(l(this,ai)),S(this,ai,null))}async mlGuess(t){var e;return((e=l(this,xa))==null?void 0:e.guess(t))||null}get hasMLManager(){return!!l(this,xa)}get hcmFilter(){return ot(this,"hcmFilter",l(this,Vr)?l(this,Uc).addHCMFilter(l(this,Vr).foreground,l(this,Vr).background):"none")}get direction(){return ot(this,"direction",getComputedStyle(l(this,qi)).direction)}get highlightColors(){return ot(this,"highlightColors",l(this,Ea)?new Map(l(this,Ea).split(",").map(t=>t.split("=").map(e=>e.trim()))):null)}get highlightColorNames(){return ot(this,"highlightColorNames",this.highlightColors?new Map(Array.from(this.highlightColors,t=>t.reverse())):null)}setMainHighlightColorPicker(t){S(this,Wc,t)}editAltText(t){var e;(e=l(this,Sa))==null||e.editAltText(this,t)}onPageChanging({pageNumber:t}){S(this,ba,t-1)}focusMainContainer(){l(this,qi).focus()}findParent(t,e){for(const i of l(this,ee).values()){const{x:s,y:r,width:o,height:a}=i.div.getBoundingClientRect();if(t>=s&&t<=s+o&&e>=r&&e<=r+a)return i}return null}disableUserSelect(t=!1){l(this,su).classList.toggle("noUserSelect",t)}addShouldRescale(t){l(this,Or).add(t)}removeShouldRescale(t){l(this,Or).delete(t)}onScaleChanging({scale:t}){this.commitOrRemove(),this.viewParameters.realScale=t*dr.PDF_TO_CSS_UNITS;for(const e of l(this,Or))e.onScaleChanging()}onRotationChanging({pagesRotation:t}){this.commitOrRemove(),this.viewParameters.rotation=t}highlightSelection(t=""){const e=document.getSelection();if(!e||e.isCollapsed)return;const{anchorNode:i,anchorOffset:s,focusNode:r,focusOffset:o}=e,a=e.toString(),u=A(this,F,pd).call(this,e).closest(".textLayer"),h=this.getSelectionBoxes(u);if(h){e.empty(),l(this,ne)===st.NONE&&(this._eventBus.dispatch("showannotationeditorui",{source:this,mode:st.HIGHLIGHT}),this.showAllEditors("highlight",!0,!0));for(const d of l(this,ee).values())if(d.hasTextLayer(u)){d.createAndAddNewEditor({x:0,y:0},!1,{methodOfCreation:t,boxes:h,anchorNode:i,anchorOffset:s,focusNode:r,focusOffset:o,text:a});break}}}addToAnnotationStorage(t){!t.isEmpty()&&l(this,zi)&&!l(this,zi).has(t.id)&&l(this,zi).setValue(t.id,t)}blur(){if(this.isShiftKeyDown=!1,l(this,Ns)&&(S(this,Ns,!1),A(this,F,gd).call(this,"main_toolbar")),!this.hasSelection)return;const{activeElement:t}=document;for(const e of l(this,ut))if(e.div.contains(t)){S(this,zr,[e,t]),e._focusEventsAllowed=!1;break}}focus(){if(!l(this,zr))return;const[t,e]=l(this,zr);S(this,zr,null),e.addEventListener("focusin",()=>{t._focusEventsAllowed=!0},{once:!0,signal:this._signal}),e.focus()}addEditListeners(){A(this,F,nm).call(this),A(this,F,im).call(this)}removeEditListeners(){A(this,F,oA).call(this),A(this,F,sm).call(this)}dragOver(t){for(const{type:e}of t.dataTransfer.items)for(const i of l(this,Fn))if(i.isHandlingMimeForPasting(e)){t.dataTransfer.dropEffect="copy",t.preventDefault();return}}drop(t){for(const e of t.dataTransfer.items)for(const i of l(this,Fn))if(i.isHandlingMimeForPasting(e.type)){i.paste(e,this.currentLayer),t.preventDefault();return}}copy(t){var i;if(t.preventDefault(),(i=l(this,Ze))==null||i.commitOrRemove(),!this.hasSelection)return;const e=[];for(const s of l(this,ut)){const r=s.serialize(!0);r&&e.push(r)}e.length!==0&&t.clipboardData.setData("application/pdfjs",JSON.stringify(e))}cut(t){this.copy(t),this.delete()}paste(t){t.preventDefault();const{clipboardData:e}=t;for(const r of e.items)for(const o of l(this,Fn))if(o.isHandlingMimeForPasting(r.type)){o.paste(r,this.currentLayer);return}let i=e.getData("application/pdfjs");if(!i)return;try{i=JSON.parse(i)}catch(r){Q(`paste: "${r.message}".`);return}if(!Array.isArray(i))return;this.unselectAll();const s=this.currentLayer;try{const r=[];for(const c of i){const u=s.deserialize(c);if(!u)return;r.push(u)}const o=()=>{for(const c of r)A(this,F,rm).call(this,c);A(this,F,om).call(this,r)},a=()=>{for(const c of r)c.remove()};this.addCommands({cmd:o,undo:a,mustExec:!0})}catch(r){Q(`paste: "${r.message}".`)}}keydown(t){!this.isShiftKeyDown&&t.key==="Shift"&&(this.isShiftKeyDown=!0),l(this,ne)!==st.NONE&&!this.isEditorHandlingKeyboard&&ua._keyboardManager.exec(this,t)}keyup(t){this.isShiftKeyDown&&t.key==="Shift"&&(this.isShiftKeyDown=!1,l(this,Ns)&&(S(this,Ns,!1),A(this,F,gd).call(this,"main_toolbar")))}onEditingAction({name:t}){switch(t){case"undo":case"redo":case"delete":case"selectAll":this[t]();break;case"highlightSelection":this.highlightSelection("context_menu");break}}setEditingState(t){t?(A(this,F,sA).call(this),A(this,F,im).call(this),A(this,F,Ee).call(this,{isEditing:l(this,ne)!==st.NONE,isEmpty:A(this,F,Gl).call(this),hasSomethingToUndo:l(this,In).hasSomethingToUndo(),hasSomethingToRedo:l(this,In).hasSomethingToRedo(),hasSelectedEditor:!1})):(A(this,F,rA).call(this),A(this,F,sm).call(this),A(this,F,Ee).call(this,{isEditing:!1}),this.disableUserSelect(!1))}registerEditorTypes(t){if(!l(this,Fn)){S(this,Fn,t);for(const e of l(this,Fn))A(this,F,xs).call(this,e.defaultPropertiesToUpdate)}}getId(){return l(this,Af).id}get currentLayer(){return l(this,ee).get(l(this,ba))}getLayer(t){return l(this,ee).get(t)}get currentPageIndex(){return l(this,ba)}addLayer(t){l(this,ee).set(t.pageIndex,t),l(this,Ds)?t.enable():t.disable()}removeLayer(t){l(this,ee).delete(t.pageIndex)}updateMode(t,e=null,i=!1){if(l(this,ne)!==t){if(S(this,ne,t),t===st.NONE){this.setEditingState(!1),A(this,F,cA).call(this);return}this.setEditingState(!0),A(this,F,lA).call(this),this.unselectAll();for(const s of l(this,ee).values())s.updateMode(t);if(!e&&i){this.addNewEditorFromKeyboard();return}if(e){for(const s of l(this,jt).values())if(s.annotationElementId===e){this.setSelected(s),s.enterInEditMode();break}}}}addNewEditorFromKeyboard(){this.currentLayer.canCreateNewEmptyEditor()&&this.currentLayer.addNewEditor()}updateToolbar(t){t!==l(this,ne)&&this._eventBus.dispatch("switchannotationeditormode",{source:this,mode:t})}updateParams(t,e){var i;if(l(this,Fn)){switch(t){case G.CREATE:this.currentLayer.addNewEditor();return;case G.HIGHLIGHT_DEFAULT_COLOR:(i=l(this,Wc))==null||i.updateColor(e);break;case G.HIGHLIGHT_SHOW_ALL:this._eventBus.dispatch("reporttelemetry",{source:this,details:{type:"editing",data:{type:"highlight",action:"toggle_visibility"}}}),(l(this,Bc)||S(this,Bc,new Map)).set(t,e),this.showAllEditors("highlight",e);break}for(const s of l(this,ut))s.updateParams(t,e);for(const s of l(this,Fn))s.updateDefaultParams(t,e)}}showAllEditors(t,e,i=!1){var r;for(const o of l(this,jt).values())o.editorType===t&&o.show(e);(((r=l(this,Bc))==null?void 0:r.get(G.HIGHLIGHT_SHOW_ALL))??!0)!==e&&A(this,F,xs).call(this,[[G.HIGHLIGHT_SHOW_ALL,e]])}enableWaiting(t=!1){if(l(this,jc)!==t){S(this,jc,t);for(const e of l(this,ee).values())t?e.disableClick():e.enableClick(),e.div.classList.toggle("waiting",t)}}getEditors(t){const e=[];for(const i of l(this,jt).values())i.pageIndex===t&&e.push(i);return e}getEditor(t){return l(this,jt).get(t)}addEditor(t){l(this,jt).set(t.id,t)}removeEditor(t){var e;t.div.contains(document.activeElement)&&(l(this,ri)&&clearTimeout(l(this,ri)),S(this,ri,setTimeout(()=>{this.focusMainContainer(),S(this,ri,null)},0))),l(this,jt).delete(t.id),this.unselect(t),(!t.annotationElementId||!l(this,Fr).has(t.annotationElementId))&&((e=l(this,zi))==null||e.remove(t.id))}addDeletedAnnotationElement(t){l(this,Fr).add(t.annotationElementId),this.addChangedExistingAnnotation(t),t.deleted=!0}isDeletedAnnotationElement(t){return l(this,Fr).has(t)}removeDeletedAnnotationElement(t){l(this,Fr).delete(t.annotationElementId),this.removeChangedExistingAnnotation(t),t.deleted=!1}setActiveEditor(t){l(this,Ze)!==t&&(S(this,Ze,t),t&&A(this,F,xs).call(this,t.propertiesToUpdate))}updateUI(t){l(this,F,uA)===t&&A(this,F,xs).call(this,t.propertiesToUpdate)}toggleSelected(t){if(l(this,ut).has(t)){l(this,ut).delete(t),t.unselect(),A(this,F,Ee).call(this,{hasSelectedEditor:this.hasSelection});return}l(this,ut).add(t),t.select(),A(this,F,xs).call(this,t.propertiesToUpdate),A(this,F,Ee).call(this,{hasSelectedEditor:!0})}setSelected(t){for(const e of l(this,ut))e!==t&&e.unselect();l(this,ut).clear(),l(this,ut).add(t),t.select(),A(this,F,xs).call(this,t.propertiesToUpdate),A(this,F,Ee).call(this,{hasSelectedEditor:!0})}isSelected(t){return l(this,ut).has(t)}get firstSelectedEditor(){return l(this,ut).values().next().value}unselect(t){t.unselect(),l(this,ut).delete(t),A(this,F,Ee).call(this,{hasSelectedEditor:this.hasSelection})}get hasSelection(){return l(this,ut).size!==0}get isEnterHandled(){return l(this,ut).size===1&&this.firstSelectedEditor.isEnterHandled}undo(){l(this,In).undo(),A(this,F,Ee).call(this,{hasSomethingToUndo:l(this,In).hasSomethingToUndo(),hasSomethingToRedo:!0,isEmpty:A(this,F,Gl).call(this)})}redo(){l(this,In).redo(),A(this,F,Ee).call(this,{hasSomethingToUndo:!0,hasSomethingToRedo:l(this,In).hasSomethingToRedo(),isEmpty:A(this,F,Gl).call(this)})}addCommands(t){l(this,In).add(t),A(this,F,Ee).call(this,{hasSomethingToUndo:!0,hasSomethingToRedo:!1,isEmpty:A(this,F,Gl).call(this)})}delete(){if(this.commitOrRemove(),!this.hasSelection)return;const t=[...l(this,ut)],e=()=>{for(const s of t)s.remove()},i=()=>{for(const s of t)A(this,F,rm).call(this,s)};this.addCommands({cmd:e,undo:i,mustExec:!0})}commitOrRemove(){var t;(t=l(this,Ze))==null||t.commitOrRemove()}hasSomethingToControl(){return l(this,Ze)||this.hasSelection}selectAll(){for(const t of l(this,ut))t.commit();A(this,F,om).call(this,l(this,jt).values())}unselectAll(){if(!(l(this,Ze)&&(l(this,Ze).commitOrRemove(),l(this,ne)!==st.NONE))&&this.hasSelection){for(const t of l(this,ut))t.unselect();l(this,ut).clear(),A(this,F,Ee).call(this,{hasSelectedEditor:!1})}}translateSelectedEditors(t,e,i=!1){if(i||this.commitOrRemove(),!this.hasSelection)return;l(this,Is)[0]+=t,l(this,Is)[1]+=e;const[s,r]=l(this,Is),o=[...l(this,ut)],a=1e3;l(this,ai)&&clearTimeout(l(this,ai)),S(this,ai,setTimeout(()=>{S(this,ai,null),l(this,Is)[0]=l(this,Is)[1]=0,this.addCommands({cmd:()=>{for(const c of o)l(this,jt).has(c.id)&&c.translateInPage(s,r)},undo:()=>{for(const c of o)l(this,jt).has(c.id)&&c.translateInPage(-s,-r)},mustExec:!1})},a));for(const c of o)c.translateInPage(t,e)}setUpDragSession(){if(this.hasSelection){this.disableUserSelect(!0),S(this,si,new Map);for(const t of l(this,ut))l(this,si).set(t,{savedX:t.x,savedY:t.y,savedPageIndex:t.pageIndex,newX:0,newY:0,newPageIndex:-1})}}endDragSession(){if(!l(this,si))return!1;this.disableUserSelect(!1);const t=l(this,si);S(this,si,null);let e=!1;for(const[{x:s,y:r,pageIndex:o},a]of t)a.newX=s,a.newY=r,a.newPageIndex=o,e||(e=s!==a.savedX||r!==a.savedY||o!==a.savedPageIndex);if(!e)return!1;const i=(s,r,o,a)=>{if(l(this,jt).has(s.id)){const c=l(this,ee).get(a);c?s._setParentAndPosition(c,r,o):(s.pageIndex=a,s.x=r,s.y=o)}};return this.addCommands({cmd:()=>{for(const[s,{newX:r,newY:o,newPageIndex:a}]of t)i(s,r,o,a)},undo:()=>{for(const[s,{savedX:r,savedY:o,savedPageIndex:a}]of t)i(s,r,o,a)},mustExec:!0}),!0}dragSelectedEditors(t,e){if(l(this,si))for(const i of l(this,si).keys())i.drag(t,e)}rebuild(t){if(t.parent===null){const e=this.getLayer(t.pageIndex);e?(e.changeParent(t),e.addOrRebuild(t)):(this.addEditor(t),this.addToAnnotationStorage(t),t.rebuild())}else t.parent.addOrRebuild(t)}get isEditorHandlingKeyboard(){var t;return((t=this.getActive())==null?void 0:t.shouldGetKeyboardEvents())||l(this,ut).size===1&&this.firstSelectedEditor.shouldGetKeyboardEvents()}isActive(t){return l(this,Ze)===t}getActive(){return l(this,Ze)}getMode(){return l(this,ne)}get imageManager(){return ot(this,"imageManager",new $g)}getSelectionBoxes(t){if(!t)return null;const e=document.getSelection();for(let u=0,h=e.rangeCount;u({x:(h-s)/o,y:1-(u+d-i)/r,width:f/o,height:d/r});break;case"180":a=(u,h,d,f)=>({x:1-(u+d-i)/r,y:1-(h+f-s)/o,width:d/r,height:f/o});break;case"270":a=(u,h,d,f)=>({x:1-(h+f-s)/o,y:(u-i)/r,width:f/o,height:d/r});break;default:a=(u,h,d,f)=>({x:(u-i)/r,y:(h-s)/o,width:d/r,height:f/o});break}const c=[];for(let u=0,h=e.rangeCount;u{h.type==="pointerup"&&h.button!==0||(window.removeEventListener("pointerup",u),window.removeEventListener("blur",u),h.type==="pointerup"&&A(this,F,gd).call(this,"main_toolbar"))};window.addEventListener("pointerup",u,{signal:c}),window.addEventListener("blur",u,{signal:c})}},gd=function(t=""){l(this,ne)===st.HIGHLIGHT?this.highlightSelection(t):l(this,Hc)&&A(this,F,eA).call(this)},iA=function(){document.addEventListener("selectionchange",A(this,F,nA).bind(this),{signal:this._signal})},sA=function(){const t=this._signal;window.addEventListener("focus",l(this,Xc),{signal:t}),window.addEventListener("blur",l(this,Kc),{signal:t})},rA=function(){window.removeEventListener("focus",l(this,Xc)),window.removeEventListener("blur",l(this,Kc))},nm=function(){const t=this._signal;window.addEventListener("keydown",l(this,Jc),{signal:t}),window.addEventListener("keyup",l(this,Zc),{signal:t})},oA=function(){window.removeEventListener("keydown",l(this,Jc)),window.removeEventListener("keyup",l(this,Zc))},im=function(){const t=this._signal;document.addEventListener("copy",l(this,Gc),{signal:t}),document.addEventListener("cut",l(this,Yc),{signal:t}),document.addEventListener("paste",l(this,Qc),{signal:t})},sm=function(){document.removeEventListener("copy",l(this,Gc)),document.removeEventListener("cut",l(this,Yc)),document.removeEventListener("paste",l(this,Qc))},aA=function(){const t=this._signal;document.addEventListener("dragover",this.dragOver.bind(this),{signal:t}),document.addEventListener("drop",this.drop.bind(this),{signal:t})},Ee=function(t){Object.entries(t).some(([i,s])=>l(this,iu)[i]!==s)&&(this._eventBus.dispatch("annotationeditorstateschanged",{source:this,details:Object.assign(l(this,iu),t)}),l(this,ne)===st.HIGHLIGHT&&t.hasSelectedEditor===!1&&A(this,F,xs).call(this,[[G.HIGHLIGHT_FREE,!0]]))},xs=function(t){this._eventBus.dispatch("annotationeditorparamschanged",{source:this,details:t})},lA=function(){if(!l(this,Ds)){S(this,Ds,!0);for(const t of l(this,ee).values())t.enable();for(const t of l(this,jt).values())t.enable()}},cA=function(){if(this.unselectAll(),l(this,Ds)){S(this,Ds,!1);for(const t of l(this,ee).values())t.disable();for(const t of l(this,jt).values())t.disable()}},rm=function(t){const e=l(this,ee).get(t.pageIndex);e?e.addOrRebuild(t):(this.addEditor(t),this.addToAnnotationStorage(t))},uA=function(){let t=null;for(t of l(this,ut));return t},Gl=function(){if(l(this,jt).size===0)return!0;if(l(this,jt).size===1)for(const t of l(this,jt).values())return t.isEmpty();return!1},om=function(t){for(const e of l(this,ut))e.unselect();l(this,ut).clear();for(const e of t)e.isEmpty()||(l(this,ut).add(e),e.select());A(this,F,Ee).call(this,{hasSelectedEditor:this.hasSelection})},I(ua,"TRANSLATE_SMALL",1),I(ua,"TRANSLATE_BIG",10);let No=ua;var Hi,Ui,On,ji,$e,Ca,zn,ru,am;const Mi=class Mi{constructor(t){b(this,ru);b(this,Hi,"");b(this,Ui,!1);b(this,On,null);b(this,ji,null);b(this,$e,null);b(this,Ca,!1);b(this,zn,null);S(this,zn,t)}static initialize(t){Mi._l10nPromise||(Mi._l10nPromise=t)}async render(){const t=S(this,On,document.createElement("button"));t.className="altText";const e=await Mi._l10nPromise.get("pdfjs-editor-alt-text-button-label");t.textContent=e,t.setAttribute("aria-label",e),t.tabIndex="0";const i=l(this,zn)._uiManager._signal;t.addEventListener("contextmenu",Ke,{signal:i}),t.addEventListener("pointerdown",r=>r.stopPropagation(),{signal:i});const s=r=>{r.preventDefault(),l(this,zn)._uiManager.editAltText(l(this,zn))};return t.addEventListener("click",s,{capture:!0,signal:i}),t.addEventListener("keydown",r=>{r.target===t&&r.key==="Enter"&&(S(this,Ca,!0),s(r))},{signal:i}),await A(this,ru,am).call(this),t}finish(){l(this,On)&&(l(this,On).focus({focusVisible:l(this,Ca)}),S(this,Ca,!1))}isEmpty(){return!l(this,Hi)&&!l(this,Ui)}get data(){return{altText:l(this,Hi),decorative:l(this,Ui)}}set data({altText:t,decorative:e}){l(this,Hi)===t&&l(this,Ui)===e||(S(this,Hi,t),S(this,Ui,e),A(this,ru,am).call(this))}toggle(t=!1){l(this,On)&&(!t&&l(this,$e)&&(clearTimeout(l(this,$e)),S(this,$e,null)),l(this,On).disabled=!t)}destroy(){var t;(t=l(this,On))==null||t.remove(),S(this,On,null),S(this,ji,null)}};Hi=new WeakMap,Ui=new WeakMap,On=new WeakMap,ji=new WeakMap,$e=new WeakMap,Ca=new WeakMap,zn=new WeakMap,ru=new WeakSet,am=async function(){var s;const t=l(this,On);if(!t)return;if(!l(this,Hi)&&!l(this,Ui)){t.classList.remove("done"),(s=l(this,ji))==null||s.remove();return}t.classList.add("done"),Mi._l10nPromise.get("pdfjs-editor-alt-text-edit-button-label").then(r=>{t.setAttribute("aria-label",r)});let e=l(this,ji);if(!e){S(this,ji,e=document.createElement("span")),e.className="tooltip",e.setAttribute("role","tooltip");const r=e.id=`alt-text-tooltip-${l(this,zn).id}`;t.setAttribute("aria-describedby",r);const o=100,a=l(this,zn)._uiManager._signal;a.addEventListener("abort",()=>{clearTimeout(l(this,$e)),S(this,$e,null)},{once:!0}),t.addEventListener("mouseenter",()=>{S(this,$e,setTimeout(()=>{S(this,$e,null),l(this,ji).classList.add("show"),l(this,zn)._reportTelemetry({action:"alt_text_tooltip"})},o))},{signal:a}),t.addEventListener("mouseleave",()=>{var c;l(this,$e)&&(clearTimeout(l(this,$e)),S(this,$e,null)),(c=l(this,ji))==null||c.classList.remove("show")},{signal:a})}e.innerText=l(this,Ui)?await Mi._l10nPromise.get("pdfjs-editor-alt-text-decorative-tooltip"):l(this,Hi),e.parentNode||t.append(e);const i=l(this,zn).getImageForAltText();i==null||i.setAttribute("aria-describedby",e.id)},I(Mi,"_l10nPromise",null);let cf=Mi;var qr,Vn,ye,Ta,Hr,ie,Ur,ka,Pa,we,ou,jr,Fs,au,Wr,Wi,li,Ra,_a,vn,lu,bf,J,lm,cu,cm,um,hA,dA,hm,dm,fm,fA,pA,gA,mA,pm,Yl;const vt=class vt{constructor(t){b(this,J);b(this,qr,null);b(this,Vn,null);b(this,ye,null);b(this,Ta,!1);b(this,Hr,!1);b(this,ie,null);b(this,Ur,null);b(this,ka,this.focusin.bind(this));b(this,Pa,this.focusout.bind(this));b(this,we,null);b(this,ou,"");b(this,jr,!1);b(this,Fs,null);b(this,au,!1);b(this,Wr,!1);b(this,Wi,!1);b(this,li,null);b(this,Ra,0);b(this,_a,0);b(this,vn,null);I(this,"_initialOptions",Object.create(null));I(this,"_isVisible",!0);I(this,"_uiManager",null);I(this,"_focusEventsAllowed",!0);I(this,"_l10nPromise",null);b(this,lu,!1);b(this,bf,vt._zIndex++);this.constructor===vt&&pt("Cannot initialize AnnotationEditor."),this.parent=t.parent,this.id=t.id,this.width=this.height=null,this.pageIndex=t.parent.pageIndex,this.name=t.name,this.div=null,this._uiManager=t.uiManager,this.annotationElementId=null,this._willKeepAspectRatio=!1,this._initialOptions.isCentered=t.isCentered,this._structTreeParentId=null;const{rotation:e,rawDims:{pageWidth:i,pageHeight:s,pageX:r,pageY:o}}=this.parent.viewport;this.rotation=e,this.pageRotation=(360+e-this._uiManager.viewParameters.rotation)%360,this.pageDimensions=[i,s],this.pageTranslation=[r,o];const[a,c]=this.parentDimensions;this.x=t.x/a,this.y=t.y/c,this.isAttachedToDOM=!1,this.deleted=!1}static get _resizerKeyboardManager(){const t=vt.prototype._resizeWithKeyboard,e=No.TRANSLATE_SMALL,i=No.TRANSLATE_BIG;return ot(this,"_resizerKeyboardManager",new Ah([[["ArrowLeft","mac+ArrowLeft"],t,{args:[-e,0]}],[["ctrl+ArrowLeft","mac+shift+ArrowLeft"],t,{args:[-i,0]}],[["ArrowRight","mac+ArrowRight"],t,{args:[e,0]}],[["ctrl+ArrowRight","mac+shift+ArrowRight"],t,{args:[i,0]}],[["ArrowUp","mac+ArrowUp"],t,{args:[0,-e]}],[["ctrl+ArrowUp","mac+shift+ArrowUp"],t,{args:[0,-i]}],[["ArrowDown","mac+ArrowDown"],t,{args:[0,e]}],[["ctrl+ArrowDown","mac+shift+ArrowDown"],t,{args:[0,i]}],[["Escape","mac+Escape"],vt.prototype._stopResizingWithKeyboard]]))}get editorType(){return Object.getPrototypeOf(this).constructor._type}static get _defaultLineColor(){return ot(this,"_defaultLineColor",this._colorManager.getHexCode("CanvasText"))}static deleteAnnotationElement(t){const e=new Rk({id:t.parent.getNextId(),parent:t.parent,uiManager:t._uiManager});e.annotationElementId=t.annotationElementId,e.deleted=!0,e._uiManager.addToAnnotationStorage(e)}static initialize(t,e,i){if(vt._l10nPromise||(vt._l10nPromise=new Map(["pdfjs-editor-alt-text-button-label","pdfjs-editor-alt-text-edit-button-label","pdfjs-editor-alt-text-decorative-tooltip","pdfjs-editor-resizer-label-topLeft","pdfjs-editor-resizer-label-topMiddle","pdfjs-editor-resizer-label-topRight","pdfjs-editor-resizer-label-middleRight","pdfjs-editor-resizer-label-bottomRight","pdfjs-editor-resizer-label-bottomMiddle","pdfjs-editor-resizer-label-bottomLeft","pdfjs-editor-resizer-label-middleLeft"].map(r=>[r,t.get(r.replaceAll(/([A-Z])/g,o=>`-${o.toLowerCase()}`))]))),i!=null&&i.strings)for(const r of i.strings)vt._l10nPromise.set(r,t.get(r));if(vt._borderLineWidth!==-1)return;const s=getComputedStyle(document.documentElement);vt._borderLineWidth=parseFloat(s.getPropertyValue("--outline-width"))||0}static updateDefaultParams(t,e){}static get defaultPropertiesToUpdate(){return[]}static isHandlingMimeForPasting(t){return!1}static paste(t,e){pt("Not implemented")}get propertiesToUpdate(){return[]}get _isDraggable(){return l(this,lu)}set _isDraggable(t){var e;S(this,lu,t),(e=this.div)==null||e.classList.toggle("draggable",t)}get isEnterHandled(){return!0}center(){const[t,e]=this.pageDimensions;switch(this.parentRotation){case 90:this.x-=this.height*e/(t*2),this.y+=this.width*t/(e*2);break;case 180:this.x+=this.width/2,this.y+=this.height/2;break;case 270:this.x+=this.height*e/(t*2),this.y-=this.width*t/(e*2);break;default:this.x-=this.width/2,this.y-=this.height/2;break}this.fixAndSetPosition()}addCommands(t){this._uiManager.addCommands(t)}get currentLayer(){return this._uiManager.currentLayer}setInBackground(){this.div.style.zIndex=0}setInForeground(){this.div.style.zIndex=l(this,bf)}setParent(t){t!==null?(this.pageIndex=t.pageIndex,this.pageDimensions=t.pageDimensions):A(this,J,Yl).call(this),this.parent=t}focusin(t){this._focusEventsAllowed&&(l(this,jr)?S(this,jr,!1):this.parent.setSelected(this))}focusout(t){var i;if(!this._focusEventsAllowed||!this.isAttachedToDOM)return;const e=t.relatedTarget;e!=null&&e.closest(`#${this.id}`)||(t.preventDefault(),(i=this.parent)!=null&&i.isMultipleSelection||this.commitOrRemove())}commitOrRemove(){this.isEmpty()?this.remove():this.commit()}commit(){this.addToAnnotationStorage()}addToAnnotationStorage(){this._uiManager.addToAnnotationStorage(this)}setAt(t,e,i,s){const[r,o]=this.parentDimensions;[i,s]=this.screenToPageTranslation(i,s),this.x=(t+i)/r,this.y=(e+s)/o,this.fixAndSetPosition()}translate(t,e){A(this,J,lm).call(this,this.parentDimensions,t,e)}translateInPage(t,e){l(this,Fs)||S(this,Fs,[this.x,this.y]),A(this,J,lm).call(this,this.pageDimensions,t,e),this.div.scrollIntoView({block:"nearest"})}drag(t,e){l(this,Fs)||S(this,Fs,[this.x,this.y]);const[i,s]=this.parentDimensions;if(this.x+=t/i,this.y+=e/s,this.parent&&(this.x<0||this.x>1||this.y<0||this.y>1)){const{x:u,y:h}=this.div.getBoundingClientRect();this.parent.findNewParent(this,u,h)&&(this.x-=Math.floor(this.x),this.y-=Math.floor(this.y))}let{x:r,y:o}=this;const[a,c]=this.getBaseTranslation();r+=a,o+=c,this.div.style.left=`${(100*r).toFixed(2)}%`,this.div.style.top=`${(100*o).toFixed(2)}%`,this.div.scrollIntoView({block:"nearest"})}get _hasBeenMoved(){return!!l(this,Fs)&&(l(this,Fs)[0]!==this.x||l(this,Fs)[1]!==this.y)}getBaseTranslation(){const[t,e]=this.parentDimensions,{_borderLineWidth:i}=vt,s=i/t,r=i/e;switch(this.rotation){case 90:return[-s,r];case 180:return[s,r];case 270:return[s,-r];default:return[-s,-r]}}get _mustFixPosition(){return!0}fixAndSetPosition(t=this.rotation){const[e,i]=this.pageDimensions;let{x:s,y:r,width:o,height:a}=this;if(o*=e,a*=i,s*=e,r*=i,this._mustFixPosition)switch(t){case 0:s=Math.max(0,Math.min(e-o,s)),r=Math.max(0,Math.min(i-a,r));break;case 90:s=Math.max(0,Math.min(e-a,s)),r=Math.min(i,Math.max(o,r));break;case 180:s=Math.min(e,Math.max(o,s)),r=Math.min(i,Math.max(a,r));break;case 270:s=Math.min(e,Math.max(a,s)),r=Math.max(0,Math.min(i-o,r));break}this.x=s/=e,this.y=r/=i;const[c,u]=this.getBaseTranslation();s+=c,r+=u;const{style:h}=this.div;h.left=`${(100*s).toFixed(2)}%`,h.top=`${(100*r).toFixed(2)}%`,this.moveInDOM()}screenToPageTranslation(t,e){var i;return A(i=vt,cu,cm).call(i,t,e,this.parentRotation)}pageTranslationToScreen(t,e){var i;return A(i=vt,cu,cm).call(i,t,e,360-this.parentRotation)}get parentScale(){return this._uiManager.viewParameters.realScale}get parentRotation(){return(this._uiManager.viewParameters.rotation+this.pageRotation)%360}get parentDimensions(){const{parentScale:t,pageDimensions:[e,i]}=this,s=e*t,r=i*t;return He.isCSSRoundSupported?[Math.round(s),Math.round(r)]:[s,r]}setDims(t,e){const[i,s]=this.parentDimensions;this.div.style.width=`${(100*t/i).toFixed(2)}%`,l(this,Hr)||(this.div.style.height=`${(100*e/s).toFixed(2)}%`)}fixDims(){const{style:t}=this.div,{height:e,width:i}=t,s=i.endsWith("%"),r=!l(this,Hr)&&e.endsWith("%");if(s&&r)return;const[o,a]=this.parentDimensions;s||(t.width=`${(100*parseFloat(i)/o).toFixed(2)}%`),!l(this,Hr)&&!r&&(t.height=`${(100*parseFloat(e)/a).toFixed(2)}%`)}getInitialTranslation(){return[0,0]}altTextFinish(){var t;(t=l(this,ye))==null||t.finish()}async addEditToolbar(){return l(this,we)||l(this,Wr)?l(this,we):(S(this,we,new Jg(this)),this.div.append(l(this,we).render()),l(this,ye)&&l(this,we).addAltTextButton(await l(this,ye).render()),l(this,we))}removeEditToolbar(){var t;l(this,we)&&(l(this,we).remove(),S(this,we,null),(t=l(this,ye))==null||t.destroy())}getClientDimensions(){return this.div.getBoundingClientRect()}async addAltTextButton(){l(this,ye)||(cf.initialize(vt._l10nPromise),S(this,ye,new cf(this)),l(this,qr)&&(l(this,ye).data=l(this,qr),S(this,qr,null)),await this.addEditToolbar())}get altTextData(){var t;return(t=l(this,ye))==null?void 0:t.data}set altTextData(t){l(this,ye)&&(l(this,ye).data=t)}hasAltText(){var t;return!((t=l(this,ye))!=null&&t.isEmpty())}render(){this.div=document.createElement("div"),this.div.setAttribute("data-editor-rotation",(360-this.rotation)%360),this.div.className=this.name,this.div.setAttribute("id",this.id),this.div.tabIndex=l(this,Ta)?-1:0,this._isVisible||this.div.classList.add("hidden"),this.setInForeground();const t=this._uiManager._signal;this.div.addEventListener("focusin",l(this,ka),{signal:t}),this.div.addEventListener("focusout",l(this,Pa),{signal:t});const[e,i]=this.parentDimensions;this.parentRotation%180!==0&&(this.div.style.maxWidth=`${(100*i/e).toFixed(2)}%`,this.div.style.maxHeight=`${(100*e/i).toFixed(2)}%`);const[s,r]=this.getInitialTranslation();return this.translate(s,r),lf(this,this.div,["pointerdown"]),this.div}pointerdown(t){const{isMac:e}=He.platform;if(t.button!==0||t.ctrlKey&&e){t.preventDefault();return}if(S(this,jr,!0),this._isDraggable){A(this,J,fA).call(this,t);return}A(this,J,fm).call(this,t)}moveInDOM(){l(this,li)&&clearTimeout(l(this,li)),S(this,li,setTimeout(()=>{var t;S(this,li,null),(t=this.parent)==null||t.moveEditorInDOM(this)},0))}_setParentAndPosition(t,e,i){t.changeParent(this),this.x=e,this.y=i,this.fixAndSetPosition()}getRect(t,e,i=this.rotation){const s=this.parentScale,[r,o]=this.pageDimensions,[a,c]=this.pageTranslation,u=t/s,h=e/s,d=this.x*r,f=this.y*o,p=this.width*r,g=this.height*o;switch(i){case 0:return[d+u+a,o-f-h-g+c,d+u+p+a,o-f-h+c];case 90:return[d+h+a,o-f+u+c,d+h+g+a,o-f+u+p+c];case 180:return[d-u-p+a,o-f+h+c,d-u+a,o-f+h+g+c];case 270:return[d-h-g+a,o-f-u-p+c,d-h+a,o-f-u+c];default:throw new Error("Invalid rotation")}}getRectInCurrentCoords(t,e){const[i,s,r,o]=t,a=r-i,c=o-s;switch(this.rotation){case 0:return[i,e-o,a,c];case 90:return[i,e-s,c,a];case 180:return[r,e-s,a,c];case 270:return[r,e-o,c,a];default:throw new Error("Invalid rotation")}}onceAdded(){}isEmpty(){return!1}enableEditMode(){S(this,Wr,!0)}disableEditMode(){S(this,Wr,!1)}isInEditMode(){return l(this,Wr)}shouldGetKeyboardEvents(){return l(this,Wi)}needsToBeRebuilt(){return this.div&&!this.isAttachedToDOM}rebuild(){var e,i;const t=this._uiManager._signal;(e=this.div)==null||e.addEventListener("focusin",l(this,ka),{signal:t}),(i=this.div)==null||i.addEventListener("focusout",l(this,Pa),{signal:t})}rotate(t){}serialize(t=!1,e=null){pt("An editor must be serializable")}static deserialize(t,e,i){const s=new this.prototype.constructor({parent:e,id:e.getNextId(),uiManager:i});s.rotation=t.rotation,S(s,qr,t.accessibilityData);const[r,o]=s.pageDimensions,[a,c,u,h]=s.getRectInCurrentCoords(t.rect,o);return s.x=a/r,s.y=c/o,s.width=u/r,s.height=h/o,s}get hasBeenModified(){return!!this.annotationElementId&&(this.deleted||this.serialize()!==null)}remove(){if(this.div.removeEventListener("focusin",l(this,ka)),this.div.removeEventListener("focusout",l(this,Pa)),this.isEmpty()||this.commit(),this.parent?this.parent.remove(this):this._uiManager.removeEditor(this),l(this,li)&&(clearTimeout(l(this,li)),S(this,li,null)),A(this,J,Yl).call(this),this.removeEditToolbar(),l(this,vn)){for(const t of l(this,vn).values())clearTimeout(t);S(this,vn,null)}this.parent=null}get isResizable(){return!1}makeResizable(){this.isResizable&&(A(this,J,hA).call(this),l(this,ie).classList.remove("hidden"),lf(this,this.div,["keydown"]))}get toolbarPosition(){return null}keydown(t){if(!this.isResizable||t.target!==this.div||t.key!=="Enter")return;this._uiManager.setSelected(this),S(this,Ur,{savedX:this.x,savedY:this.y,savedWidth:this.width,savedHeight:this.height});const e=l(this,ie).children;if(!l(this,Vn)){S(this,Vn,Array.from(e));const o=A(this,J,pA).bind(this),a=A(this,J,gA).bind(this),c=this._uiManager._signal;for(const u of l(this,Vn)){const h=u.getAttribute("data-resizer-name");u.setAttribute("role","spinbutton"),u.addEventListener("keydown",o,{signal:c}),u.addEventListener("blur",a,{signal:c}),u.addEventListener("focus",A(this,J,mA).bind(this,h),{signal:c}),vt._l10nPromise.get(`pdfjs-editor-resizer-label-${h}`).then(d=>u.setAttribute("aria-label",d))}}const i=l(this,Vn)[0];let s=0;for(const o of e){if(o===i)break;s++}const r=(360-this.rotation+this.parentRotation)%360/90*(l(this,Vn).length/4);if(r!==s){if(rs)for(let a=0;aa.setAttribute("aria-label",h))}}A(this,J,pm).call(this,0),S(this,Wi,!0),l(this,ie).firstChild.focus({focusVisible:!0}),t.preventDefault(),t.stopImmediatePropagation()}_resizeWithKeyboard(t,e){l(this,Wi)&&A(this,J,dm).call(this,l(this,ou),{movementX:t,movementY:e})}_stopResizingWithKeyboard(){A(this,J,Yl).call(this),this.div.focus()}select(){var t,e;if(this.makeResizable(),(t=this.div)==null||t.classList.add("selectedEditor"),!l(this,we)){this.addEditToolbar().then(()=>{var i,s;(i=this.div)!=null&&i.classList.contains("selectedEditor")&&((s=l(this,we))==null||s.show())});return}(e=l(this,we))==null||e.show()}unselect(){var t,e,i,s;(t=l(this,ie))==null||t.classList.add("hidden"),(e=this.div)==null||e.classList.remove("selectedEditor"),(i=this.div)!=null&&i.contains(document.activeElement)&&this._uiManager.currentLayer.div.focus({preventScroll:!0}),(s=l(this,we))==null||s.hide()}updateParams(t,e){}disableEditing(){}enableEditing(){}enterInEditMode(){}getImageForAltText(){return null}get contentDiv(){return this.div}get isEditing(){return l(this,au)}set isEditing(t){S(this,au,t),this.parent&&(t?(this.parent.setSelected(this),this.parent.setActiveEditor(this)):this.parent.setActiveEditor(null))}setAspectRatio(t,e){S(this,Hr,!0);const i=t/e,{style:s}=this.div;s.aspectRatio=i,s.height="auto"}static get MIN_SIZE(){return 16}static canCreateNewEmptyEditor(){return!0}get telemetryInitialData(){return{action:"added"}}get telemetryFinalData(){return null}_reportTelemetry(t,e=!1){if(e){l(this,vn)||S(this,vn,new Map);const{action:i}=t;let s=l(this,vn).get(i);s&&clearTimeout(s),s=setTimeout(()=>{this._reportTelemetry(t),l(this,vn).delete(i),l(this,vn).size===0&&S(this,vn,null)},vt._telemetryTimeout),l(this,vn).set(i,s);return}t.type||(t.type=this.editorType),this._uiManager._eventBus.dispatch("reporttelemetry",{source:this,details:{type:"editing",data:t}})}show(t=this._isVisible){this.div.classList.toggle("hidden",!t),this._isVisible=t}enable(){this.div&&(this.div.tabIndex=0),S(this,Ta,!1)}disable(){this.div&&(this.div.tabIndex=-1),S(this,Ta,!0)}renderAnnotationElement(t){let e=t.container.querySelector(".annotationContent");if(!e)e=document.createElement("div"),e.classList.add("annotationContent",this.editorType),t.container.prepend(e);else if(e.nodeName==="CANVAS"){const i=e;e=document.createElement("div"),e.classList.add("annotationContent",this.editorType),i.before(e)}return e}resetAnnotationElement(t){const{firstChild:e}=t.container;e.nodeName==="DIV"&&e.classList.contains("annotationContent")&&e.remove()}};qr=new WeakMap,Vn=new WeakMap,ye=new WeakMap,Ta=new WeakMap,Hr=new WeakMap,ie=new WeakMap,Ur=new WeakMap,ka=new WeakMap,Pa=new WeakMap,we=new WeakMap,ou=new WeakMap,jr=new WeakMap,Fs=new WeakMap,au=new WeakMap,Wr=new WeakMap,Wi=new WeakMap,li=new WeakMap,Ra=new WeakMap,_a=new WeakMap,vn=new WeakMap,lu=new WeakMap,bf=new WeakMap,J=new WeakSet,lm=function([t,e],i,s){[i,s]=this.screenToPageTranslation(i,s),this.x+=i/t,this.y+=s/e,this.fixAndSetPosition()},cu=new WeakSet,cm=function(t,e,i){switch(i){case 90:return[e,-t];case 180:return[-t,-e];case 270:return[-e,t];default:return[t,e]}},um=function(t){switch(t){case 90:{const[e,i]=this.pageDimensions;return[0,-e/i,i/e,0]}case 180:return[-1,0,0,-1];case 270:{const[e,i]=this.pageDimensions;return[0,e/i,-i/e,0]}default:return[1,0,0,1]}},hA=function(){if(l(this,ie))return;S(this,ie,document.createElement("div")),l(this,ie).classList.add("resizers");const t=this._willKeepAspectRatio?["topLeft","topRight","bottomRight","bottomLeft"]:["topLeft","topMiddle","topRight","middleRight","bottomRight","bottomMiddle","bottomLeft","middleLeft"],e=this._uiManager._signal;for(const i of t){const s=document.createElement("div");l(this,ie).append(s),s.classList.add("resizer",i),s.setAttribute("data-resizer-name",i),s.addEventListener("pointerdown",A(this,J,dA).bind(this,i),{signal:e}),s.addEventListener("contextmenu",Ke,{signal:e}),s.tabIndex=-1}this.div.prepend(l(this,ie))},dA=function(t,e){var w;e.preventDefault();const{isMac:i}=He.platform;if(e.button!==0||e.ctrlKey&&i)return;(w=l(this,ye))==null||w.toggle(!1);const s=A(this,J,dm).bind(this,t),r=this._isDraggable;this._isDraggable=!1;const o=this._uiManager._signal,a={passive:!0,capture:!0,signal:o};this.parent.togglePointerEvents(!1),window.addEventListener("pointermove",s,a),window.addEventListener("contextmenu",Ke,{signal:o});const c=this.x,u=this.y,h=this.width,d=this.height,f=this.parent.div.style.cursor,p=this.div.style.cursor;this.div.style.cursor=this.parent.div.style.cursor=window.getComputedStyle(e.target).cursor;const g=()=>{var E;this.parent.togglePointerEvents(!0),(E=l(this,ye))==null||E.toggle(!0),this._isDraggable=r,window.removeEventListener("pointerup",g),window.removeEventListener("blur",g),window.removeEventListener("pointermove",s,a),window.removeEventListener("contextmenu",Ke),this.parent.div.style.cursor=f,this.div.style.cursor=p,A(this,J,hm).call(this,c,u,h,d)};window.addEventListener("pointerup",g,{signal:o}),window.addEventListener("blur",g,{signal:o})},hm=function(t,e,i,s){const r=this.x,o=this.y,a=this.width,c=this.height;r===t&&o===e&&a===i&&c===s||this.addCommands({cmd:()=>{this.width=a,this.height=c,this.x=r,this.y=o;const[u,h]=this.parentDimensions;this.setDims(u*a,h*c),this.fixAndSetPosition()},undo:()=>{this.width=i,this.height=s,this.x=t,this.y=e;const[u,h]=this.parentDimensions;this.setDims(u*i,h*s),this.fixAndSetPosition()},mustExec:!0})},dm=function(t,e){const[i,s]=this.parentDimensions,r=this.x,o=this.y,a=this.width,c=this.height,u=vt.MIN_SIZE/i,h=vt.MIN_SIZE/s,d=U=>Math.round(U*1e4)/1e4,f=A(this,J,um).call(this,this.rotation),p=(U,R)=>[f[0]*U+f[2]*R,f[1]*U+f[3]*R],g=A(this,J,um).call(this,360-this.rotation),w=(U,R)=>[g[0]*U+g[2]*R,g[1]*U+g[3]*R];let E,m,v=!1,y=!1;switch(t){case"topLeft":v=!0,E=(U,R)=>[0,0],m=(U,R)=>[U,R];break;case"topMiddle":E=(U,R)=>[U/2,0],m=(U,R)=>[U/2,R];break;case"topRight":v=!0,E=(U,R)=>[U,0],m=(U,R)=>[0,R];break;case"middleRight":y=!0,E=(U,R)=>[U,R/2],m=(U,R)=>[0,R/2];break;case"bottomRight":v=!0,E=(U,R)=>[U,R],m=(U,R)=>[0,0];break;case"bottomMiddle":E=(U,R)=>[U/2,R],m=(U,R)=>[U/2,0];break;case"bottomLeft":v=!0,E=(U,R)=>[0,R],m=(U,R)=>[U,0];break;case"middleLeft":y=!0,E=(U,R)=>[0,R/2],m=(U,R)=>[U,R/2];break}const x=E(a,c),C=m(a,c);let T=p(...C);const k=d(r+T[0]),P=d(o+T[1]);let M=1,L=1,[D,W]=this.screenToPageTranslation(e.movementX,e.movementY);if([D,W]=w(D/i,W/s),v){const U=Math.hypot(a,c);M=L=Math.max(Math.min(Math.hypot(C[0]-x[0]-D,C[1]-x[1]-W)/U,1/a,1/c),u/a,h/c)}else y?M=Math.max(u,Math.min(1,Math.abs(C[0]-x[0]-D)))/a:L=Math.max(h,Math.min(1,Math.abs(C[1]-x[1]-W)))/c;const X=d(a*M),tt=d(c*L);T=p(...m(X,tt));const nt=k-T[0],rt=P-T[1];this.width=X,this.height=tt,this.x=nt,this.y=rt,this.setDims(i*X,s*tt),this.fixAndSetPosition()},fm=function(t){const{isMac:e}=He.platform;t.ctrlKey&&!e||t.shiftKey||t.metaKey&&e?this.parent.toggleSelected(this):this.parent.setSelected(this)},fA=function(t){const e=this._uiManager.isSelected(this);this._uiManager.setUpDragSession();let i,s;const r=this._uiManager._signal;e&&(this.div.classList.add("moving"),i={passive:!0,capture:!0,signal:r},S(this,Ra,t.clientX),S(this,_a,t.clientY),s=a=>{const{clientX:c,clientY:u}=a,[h,d]=this.screenToPageTranslation(c-l(this,Ra),u-l(this,_a));S(this,Ra,c),S(this,_a,u),this._uiManager.dragSelectedEditors(h,d)},window.addEventListener("pointermove",s,i));const o=()=>{window.removeEventListener("pointerup",o),window.removeEventListener("blur",o),e&&(this.div.classList.remove("moving"),window.removeEventListener("pointermove",s,i)),S(this,jr,!1),this._uiManager.endDragSession()||A(this,J,fm).call(this,t)};window.addEventListener("pointerup",o,{signal:r}),window.addEventListener("blur",o,{signal:r})},pA=function(t){vt._resizerKeyboardManager.exec(this,t)},gA=function(t){var e;l(this,Wi)&&((e=t.relatedTarget)==null?void 0:e.parentNode)!==l(this,ie)&&A(this,J,Yl).call(this)},mA=function(t){S(this,ou,l(this,Wi)?t:"")},pm=function(t){if(l(this,Vn))for(const e of l(this,Vn))e.tabIndex=t},Yl=function(){if(S(this,Wi,!1),A(this,J,pm).call(this,-1),l(this,Ur)){const{savedX:t,savedY:e,savedWidth:i,savedHeight:s}=l(this,Ur);A(this,J,hm).call(this,t,e,i,s),S(this,Ur,null)}},b(vt,cu),I(vt,"_borderLineWidth",-1),I(vt,"_colorManager",new em),I(vt,"_zIndex",1),I(vt,"_telemetryTimeout",1e3);let ht=vt;class Rk extends ht{constructor(t){super(t),this.annotationElementId=t.annotationElementId,this.deleted=!0}serialize(){return{id:this.annotationElementId,deleted:!0,pageIndex:this.pageIndex}}}const X0=3285377520,gn=4294901760,ti=65535;class vA{constructor(t){this.h1=t?t&4294967295:X0,this.h2=t?t&4294967295:X0}update(t){let e,i;if(typeof t=="string"){e=new Uint8Array(t.length*2),i=0;for(let w=0,E=t.length;w>>8,e[i++]=m&255)}}else if(ArrayBuffer.isView(t))e=t.slice(),i=e.byteLength;else throw new Error("Invalid data format, must be a string or TypedArray.");const s=i>>2,r=i-s*4,o=new Uint32Array(e.buffer,0,s);let a=0,c=0,u=this.h1,h=this.h2;const d=3432918353,f=461845907,p=d&ti,g=f&ti;for(let w=0;w>>17,a=a*f&gn|a*g&ti,u^=a,u=u<<13|u>>>19,u=u*5+3864292196):(c=o[w],c=c*d&gn|c*p&ti,c=c<<15|c>>>17,c=c*f&gn|c*g&ti,h^=c,h=h<<13|h>>>19,h=h*5+3864292196);switch(a=0,r){case 3:a^=e[s*4+2]<<16;case 2:a^=e[s*4+1]<<8;case 1:a^=e[s*4],a=a*d&gn|a*p&ti,a=a<<15|a>>>17,a=a*f&gn|a*g&ti,s&1?u^=a:h^=a}this.h1=u,this.h2=h}hexdigest(){let t=this.h1,e=this.h2;return t^=e>>>1,t=t*3981806797&gn|t*36045&ti,e=e*4283543511&gn|((e<<16|t>>>16)*2950163797&gn)>>>16,t^=e>>>1,t=t*444984403&gn|t*60499&ti,e=e*3301882366&gn|((e<<16|t>>>16)*3120437893&gn)>>>16,t^=e>>>1,(t>>>0).toString(16).padStart(8,"0")+(e>>>0).toString(16).padStart(8,"0")}}const gm=Object.freeze({map:null,hash:"",transfer:void 0});var Br,se,Ef,yA;class fy{constructor(){b(this,Ef);b(this,Br,!1);b(this,se,new Map);this.onSetModified=null,this.onResetModified=null,this.onAnnotationEditor=null}getValue(t,e){const i=l(this,se).get(t);return i===void 0?e:Object.assign(e,i)}getRawValue(t){return l(this,se).get(t)}remove(t){if(l(this,se).delete(t),l(this,se).size===0&&this.resetModified(),typeof this.onAnnotationEditor=="function"){for(const e of l(this,se).values())if(e instanceof ht)return;this.onAnnotationEditor(null)}}setValue(t,e){const i=l(this,se).get(t);let s=!1;if(i!==void 0)for(const[r,o]of Object.entries(e))i[r]!==o&&(s=!0,i[r]=o);else s=!0,l(this,se).set(t,e);s&&A(this,Ef,yA).call(this),e instanceof ht&&typeof this.onAnnotationEditor=="function"&&this.onAnnotationEditor(e.constructor._type)}has(t){return l(this,se).has(t)}getAll(){return l(this,se).size>0?oy(l(this,se)):null}setAll(t){for(const[e,i]of Object.entries(t))this.setValue(e,i)}get size(){return l(this,se).size}resetModified(){l(this,Br)&&(S(this,Br,!1),typeof this.onResetModified=="function"&&this.onResetModified())}get print(){return new wA(this)}get serializable(){if(l(this,se).size===0)return gm;const t=new Map,e=new vA,i=[],s=Object.create(null);let r=!1;for(const[o,a]of l(this,se)){const c=a instanceof ht?a.serialize(!1,s):a;c&&(t.set(o,c),e.update(`${o}:${JSON.stringify(c)}`),r||(r=!!c.bitmap))}if(r)for(const o of t.values())o.bitmap&&i.push(o.bitmap);return t.size>0?{map:t,hash:e.hexdigest(),transfer:i}:gm}get editorStats(){let t=null;const e=new Map;for(const i of l(this,se).values()){if(!(i instanceof ht))continue;const s=i.telemetryFinalData;if(!s)continue;const{type:r}=s;e.has(r)||e.set(r,Object.getPrototypeOf(i).constructor),t||(t=Object.create(null));const o=t[r]||(t[r]=new Map);for(const[a,c]of Object.entries(s)){if(a==="type")continue;let u=o.get(a);u||(u=new Map,o.set(a,u));const h=u.get(c)??0;u.set(c,h+1)}}for(const[i,s]of e)t[i]=s.computeTelemetryFinalData(t[i]);return t}}Br=new WeakMap,se=new WeakMap,Ef=new WeakSet,yA=function(){l(this,Br)||(S(this,Br,!0),typeof this.onSetModified=="function"&&this.onSetModified())};var uu;class wA extends fy{constructor(e){super();b(this,uu);const{map:i,hash:s,transfer:r}=e.serializable,o=structuredClone(i,r?{transfer:r}:null);S(this,uu,{map:o,hash:s,transfer:r})}get print(){pt("Should not call PrintAnnotationStorage.print")}get serializable(){return l(this,uu)}}uu=new WeakMap;var La;class _k{constructor({ownerDocument:t=globalThis.document,styleElement:e=null}){b(this,La,new Set);this._document=t,this.nativeFontFaces=new Set,this.styleElement=null,this.loadingRequests=[],this.loadTestFontId=0}addNativeFontFace(t){this.nativeFontFaces.add(t),this._document.fonts.add(t)}removeNativeFontFace(t){this.nativeFontFaces.delete(t),this._document.fonts.delete(t)}insertRule(t){this.styleElement||(this.styleElement=this._document.createElement("style"),this._document.documentElement.getElementsByTagName("head")[0].append(this.styleElement));const e=this.styleElement.sheet;e.insertRule(t,e.cssRules.length)}clear(){for(const t of this.nativeFontFaces)this._document.fonts.delete(t);this.nativeFontFaces.clear(),l(this,La).clear(),this.styleElement&&(this.styleElement.remove(),this.styleElement=null)}async loadSystemFont({systemFontInfo:t,_inspectFont:e}){if(!(!t||l(this,La).has(t.loadedName))){if(Gt(!this.disableFontFace,"loadSystemFont shouldn't be called when `disableFontFace` is set."),this.isFontLoadingAPISupported){const{loadedName:i,src:s,style:r}=t,o=new FontFace(i,s,r);this.addNativeFontFace(o);try{await o.load(),l(this,La).add(i),e==null||e(t)}catch{Q(`Cannot load system font: ${t.baseFontName}, installing it could help to improve PDF rendering.`),this.removeNativeFontFace(o)}return}pt("Not implemented: loadSystemFont without the Font Loading API.")}}async bind(t){if(t.attached||t.missingFile&&!t.systemFontInfo)return;if(t.attached=!0,t.systemFontInfo){await this.loadSystemFont(t);return}if(this.isFontLoadingAPISupported){const i=t.createNativeFontFace();if(i){this.addNativeFontFace(i);try{await i.loaded}catch(s){throw Q(`Failed to load font '${i.family}': '${s}'.`),t.disableFontFace=!0,s}}return}const e=t.createFontFaceRule();if(e){if(this.insertRule(e),this.isSyncFontLoadingSupported)return;await new Promise(i=>{const s=this._queueLoadingCallback(i);this._prepareFontLoadEvent(t,s)})}}get isFontLoadingAPISupported(){var e;const t=!!((e=this._document)!=null&&e.fonts);return ot(this,"isFontLoadingAPISupported",t)}get isSyncFontLoadingSupported(){let t=!1;return(Ae||typeof navigator<"u"&&typeof(navigator==null?void 0:navigator.userAgent)=="string"&&/Mozilla\/5.0.*?rv:\d+.*? Gecko/.test(navigator.userAgent))&&(t=!0),ot(this,"isSyncFontLoadingSupported",t)}_queueLoadingCallback(t){function e(){for(Gt(!s.done,"completeRequest() cannot be called twice."),s.done=!0;i.length>0&&i[0].done;){const r=i.shift();setTimeout(r.callback,0)}}const{loadingRequests:i}=this,s={done:!1,complete:e,callback:t};return i.push(s),s}get _loadTestFont(){const t=atob("T1RUTwALAIAAAwAwQ0ZGIDHtZg4AAAOYAAAAgUZGVE1lkzZwAAAEHAAAABxHREVGABQAFQAABDgAAAAeT1MvMlYNYwkAAAEgAAAAYGNtYXABDQLUAAACNAAAAUJoZWFk/xVFDQAAALwAAAA2aGhlYQdkA+oAAAD0AAAAJGhtdHgD6AAAAAAEWAAAAAZtYXhwAAJQAAAAARgAAAAGbmFtZVjmdH4AAAGAAAAAsXBvc3T/hgAzAAADeAAAACAAAQAAAAEAALZRFsRfDzz1AAsD6AAAAADOBOTLAAAAAM4KHDwAAAAAA+gDIQAAAAgAAgAAAAAAAAABAAADIQAAAFoD6AAAAAAD6AABAAAAAAAAAAAAAAAAAAAAAQAAUAAAAgAAAAQD6AH0AAUAAAKKArwAAACMAooCvAAAAeAAMQECAAACAAYJAAAAAAAAAAAAAQAAAAAAAAAAAAAAAFBmRWQAwAAuAC4DIP84AFoDIQAAAAAAAQAAAAAAAAAAACAAIAABAAAADgCuAAEAAAAAAAAAAQAAAAEAAAAAAAEAAQAAAAEAAAAAAAIAAQAAAAEAAAAAAAMAAQAAAAEAAAAAAAQAAQAAAAEAAAAAAAUAAQAAAAEAAAAAAAYAAQAAAAMAAQQJAAAAAgABAAMAAQQJAAEAAgABAAMAAQQJAAIAAgABAAMAAQQJAAMAAgABAAMAAQQJAAQAAgABAAMAAQQJAAUAAgABAAMAAQQJAAYAAgABWABYAAAAAAAAAwAAAAMAAAAcAAEAAAAAADwAAwABAAAAHAAEACAAAAAEAAQAAQAAAC7//wAAAC7////TAAEAAAAAAAABBgAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAD/gwAyAAAAAQAAAAAAAAAAAAAAAAAAAAABAAQEAAEBAQJYAAEBASH4DwD4GwHEAvgcA/gXBIwMAYuL+nz5tQXkD5j3CBLnEQACAQEBIVhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYAAABAQAADwACAQEEE/t3Dov6fAH6fAT+fPp8+nwHDosMCvm1Cvm1DAz6fBQAAAAAAAABAAAAAMmJbzEAAAAAzgTjFQAAAADOBOQpAAEAAAAAAAAADAAUAAQAAAABAAAAAgABAAAAAAAAAAAD6AAAAAAAAA==");return ot(this,"_loadTestFont",t)}_prepareFontLoadEvent(t,e){function i(x,C){return x.charCodeAt(C)<<24|x.charCodeAt(C+1)<<16|x.charCodeAt(C+2)<<8|x.charCodeAt(C+3)&255}function s(x,C,T,k){const P=x.substring(0,C),M=x.substring(C+T);return P+k+M}let r,o;const a=this._document.createElement("canvas");a.width=1,a.height=1;const c=a.getContext("2d");let u=0;function h(x,C){if(++u>30){Q("Load test font never loaded."),C();return}if(c.font="30px "+x,c.fillText(".",0,20),c.getImageData(0,0,1,1).data[3]>0){C();return}setTimeout(h.bind(null,x,C))}const d=`lt${Date.now()}${this.loadTestFontId++}`;let f=this._loadTestFont;f=s(f,976,d.length,d);const g=16,w=1482184792;let E=i(f,g);for(r=0,o=d.length-3;r{y.remove(),e.complete()})}}La=new WeakMap;class Lk{constructor(t,{disableFontFace:e=!1,inspectFont:i=null}){this.compiledGlyphs=Object.create(null);for(const s in t)this[s]=t[s];this.disableFontFace=e===!0,this._inspectFont=i}createNativeFontFace(){var e;if(!this.data||this.disableFontFace)return null;let t;if(!this.cssFontInfo)t=new FontFace(this.loadedName,this.data,{});else{const i={weight:this.cssFontInfo.fontWeight};this.cssFontInfo.italicAngle&&(i.style=`oblique ${this.cssFontInfo.italicAngle}deg`),t=new FontFace(this.cssFontInfo.fontFamily,this.data,i)}return(e=this._inspectFont)==null||e.call(this,this),t}createFontFaceRule(){var s;if(!this.data||this.disableFontFace)return null;const t=q1(this.data),e=`url(data:${this.mimetype};base64,${btoa(t)});`;let i;if(!this.cssFontInfo)i=`@font-face {font-family:"${this.loadedName}";src:${e}}`;else{let r=`font-weight: ${this.cssFontInfo.fontWeight};`;this.cssFontInfo.italicAngle&&(r+=`font-style: oblique ${this.cssFontInfo.italicAngle}deg;`),i=`@font-face {font-family:"${this.cssFontInfo.fontFamily}";${r}src:${e}}`}return(s=this._inspectFont)==null||s.call(this,this,e),i}getPathGenerator(t,e){if(this.compiledGlyphs[e]!==void 0)return this.compiledGlyphs[e];let i;try{i=t.get(this.loadedName+"_path_"+e)}catch(r){Q(`getPathGenerator - ignoring character: "${r}".`)}if(!Array.isArray(i)||i.length===0)return this.compiledGlyphs[e]=function(r,o){};const s=[];for(let r=0,o=i.length;rp.bezierCurveTo(a,c,u,h,d,f)),r+=6}break;case Pi.MOVE_TO:{const[a,c]=i.slice(r,r+2);s.push(u=>u.moveTo(a,c)),r+=2}break;case Pi.LINE_TO:{const[a,c]=i.slice(r,r+2);s.push(u=>u.lineTo(a,c)),r+=2}break;case Pi.QUADRATIC_CURVE_TO:{const[a,c,u,h]=i.slice(r,r+4);s.push(d=>d.quadraticCurveTo(a,c,u,h)),r+=4}break;case Pi.RESTORE:s.push(a=>a.restore());break;case Pi.SAVE:s.push(a=>a.save());break;case Pi.SCALE:Gt(s.length===2,"Scale command is only valid at the third position.");break;case Pi.TRANSFORM:{const[a,c,u,h,d,f]=i.slice(r,r+6);s.push(p=>p.transform(a,c,u,h,d,f)),r+=6}break;case Pi.TRANSLATE:{const[a,c]=i.slice(r,r+2);s.push(u=>u.translate(a,c)),r+=2}break}return this.compiledGlyphs[e]=function(o,a){s[0](o),s[1](o),o.scale(a,-a);for(let c=2,u=s.length;c{const t=await jl(()=>import("./__vite-browser-external-BIHI7g3E.js"),[]),e=await jl(()=>import("./__vite-browser-external-BIHI7g3E.js"),[]),i=await jl(()=>import("./__vite-browser-external-BIHI7g3E.js"),[]),s=await jl(()=>import("./__vite-browser-external-BIHI7g3E.js"),[]);let r,o;return new Map(Object.entries({fs:t,http:e,https:i,url:s,canvas:r,path2d:o}))})().then(t=>{mc=t,mm.resolve()},t=>{Q(`loadPackages: ${t}`),mc=new Map,mm.resolve()})}class xi{static get promise(){return mm.promise}static get(t){return mc==null?void 0:mc.get(t)}}const SA=function(n){return xi.get("fs").promises.readFile(n).then(e=>new Uint8Array(e))};class Mk extends sp{}class Nk extends af{_createCanvas(t,e){return xi.get("canvas").createCanvas(t,e)}}class Dk extends rp{_fetchData(t,e){return SA(t).then(i=>({cMapData:i,compressionType:e}))}}class Ik extends op{_fetchData(t){return SA(t)}}const Pe={FILL:"Fill",STROKE:"Stroke",SHADING:"Shading"};function vm(n,t){if(!t)return;const e=t[2]-t[0],i=t[3]-t[1],s=new Path2D;s.rect(t[0],t[1],e,i),n.clip(s)}class bh{constructor(){this.constructor===bh&&pt("Cannot initialize BaseShadingPattern.")}getPattern(){pt("Abstract method `getPattern` called.")}}class Fk extends bh{constructor(t){super(),this._type=t[1],this._bbox=t[2],this._colorStops=t[3],this._p0=t[4],this._p1=t[5],this._r0=t[6],this._r1=t[7],this.matrix=null}_createGradient(t){let e;this._type==="axial"?e=t.createLinearGradient(this._p0[0],this._p0[1],this._p1[0],this._p1[1]):this._type==="radial"&&(e=t.createRadialGradient(this._p0[0],this._p0[1],this._r0,this._p1[0],this._p1[1],this._r1));for(const i of this._colorStops)e.addColorStop(i[0],i[1]);return e}getPattern(t,e,i,s){let r;if(s===Pe.STROKE||s===Pe.FILL){const o=e.current.getClippedPathBoundingBox(s,Tt(t))||[0,0,0,0],a=Math.ceil(o[2]-o[0])||1,c=Math.ceil(o[3]-o[1])||1,u=e.cachedCanvases.getCanvas("pattern",a,c,!0),h=u.context;h.clearRect(0,0,h.canvas.width,h.canvas.height),h.beginPath(),h.rect(0,0,h.canvas.width,h.canvas.height),h.translate(-o[0],-o[1]),i=q.transform(i,[1,0,0,1,o[0],o[1]]),h.transform(...e.baseTransform),this.matrix&&h.transform(...this.matrix),vm(h,this._bbox),h.fillStyle=this._createGradient(h),h.fill(),r=t.createPattern(u.canvas,"no-repeat");const d=new DOMMatrix(i);r.setTransform(d)}else vm(t,this._bbox),r=this._createGradient(t);return r}}function Kp(n,t,e,i,s,r,o,a){const c=t.coords,u=t.colors,h=n.data,d=n.width*4;let f;c[e+1]>c[i+1]&&(f=e,e=i,i=f,f=r,r=o,o=f),c[i+1]>c[s+1]&&(f=i,i=s,s=f,f=o,o=a,a=f),c[e+1]>c[i+1]&&(f=e,e=i,i=f,f=r,r=o,o=f);const p=(c[e]+t.offsetX)*t.scaleX,g=(c[e+1]+t.offsetY)*t.scaleY,w=(c[i]+t.offsetX)*t.scaleX,E=(c[i+1]+t.offsetY)*t.scaleY,m=(c[s]+t.offsetX)*t.scaleX,v=(c[s+1]+t.offsetY)*t.scaleY;if(g>=v)return;const y=u[r],x=u[r+1],C=u[r+2],T=u[o],k=u[o+1],P=u[o+2],M=u[a],L=u[a+1],D=u[a+2],W=Math.round(g),X=Math.round(v);let tt,nt,rt,U,R,H,B,mt;for(let it=W;it<=X;it++){if(itv?Et=1:E===v?Et=0:Et=(E-it)/(E-v),tt=w-(w-m)*Et,nt=T-(T-M)*Et,rt=k-(k-L)*Et,U=P-(P-D)*Et}let _t;itv?_t=1:_t=(g-it)/(g-v),R=p-(p-m)*_t,H=y-(y-M)*_t,B=x-(x-L)*_t,mt=C-(C-D)*_t;const pn=Math.round(Math.min(tt,R)),Rn=Math.round(Math.max(tt,R));let he=d*it+pn*4;for(let Et=pn;Et<=Rn;Et++)_t=(tt-Et)/(tt-R),_t<0?_t=0:_t>1&&(_t=1),h[he++]=nt-(nt-H)*_t|0,h[he++]=rt-(rt-B)*_t|0,h[he++]=U-(U-mt)*_t|0,h[he++]=255}}function Ok(n,t,e){const i=t.coords,s=t.colors;let r,o;switch(t.type){case"lattice":const a=t.verticesPerRow,c=Math.floor(i.length/a)-1,u=a-1;for(r=0;r=s?r=s:i=r/t,{scale:i,size:r}}clipBbox(t,e,i,s,r){const o=s-e,a=r-i;t.ctx.rect(e,i,o,a),t.current.updateRectMinMax(Tt(t.ctx),[e,i,s,r]),t.clip(),t.endPath()}setFillAndStrokeStyleToContext(t,e,i){const s=t.ctx,r=t.current;switch(e){case G0.COLORED:const o=this.ctx;s.fillStyle=o.fillStyle,s.strokeStyle=o.strokeStyle,r.fillColor=o.fillStyle,r.strokeColor=o.strokeStyle;break;case G0.UNCOLORED:const a=q.makeHexColor(i[0],i[1],i[2]);s.fillStyle=a,s.strokeStyle=a,r.fillColor=a,r.strokeColor=a;break;default:throw new dk(`Unsupported paint type: ${e}`)}}getPattern(t,e,i,s){let r=i;s!==Pe.SHADING&&(r=q.transform(r,e.baseTransform),this.matrix&&(r=q.transform(r,this.matrix)));const o=this.createPatternCanvas(e);let a=new DOMMatrix(r);a=a.translate(o.offsetX,o.offsetY),a=a.scale(1/o.scaleX,1/o.scaleY);const c=t.createPattern(o.canvas,"repeat");return c.setTransform(a),c}};I(xf,"MAX_PATTERN_SIZE",3e3);let ym=xf;function Hk({src:n,srcPos:t=0,dest:e,width:i,height:s,nonBlackColor:r=4294967295,inverseDecode:o=!1}){const a=He.isLittleEndian?4278190080:255,[c,u]=o?[r,a]:[a,r],h=i>>3,d=i&7,f=n.length;e=new Uint32Array(e.buffer);let p=0;for(let g=0;g{n.save=n.__originalSave,n.restore=n.__originalRestore,n.rotate=n.__originalRotate,n.scale=n.__originalScale,n.translate=n.__originalTranslate,n.transform=n.__originalTransform,n.setTransform=n.__originalSetTransform,n.resetTransform=n.__originalResetTransform,n.clip=n.__originalClip,n.moveTo=n.__originalMoveTo,n.lineTo=n.__originalLineTo,n.bezierCurveTo=n.__originalBezierCurveTo,n.rect=n.__originalRect,n.closePath=n.__originalClosePath,n.beginPath=n.__originalBeginPath,delete n._removeMirroring},n.save=function(){t.save(),this.__originalSave()},n.restore=function(){t.restore(),this.__originalRestore()},n.translate=function(i,s){t.translate(i,s),this.__originalTranslate(i,s)},n.scale=function(i,s){t.scale(i,s),this.__originalScale(i,s)},n.transform=function(i,s,r,o,a,c){t.transform(i,s,r,o,a,c),this.__originalTransform(i,s,r,o,a,c)},n.setTransform=function(i,s,r,o,a,c){t.setTransform(i,s,r,o,a,c),this.__originalSetTransform(i,s,r,o,a,c)},n.resetTransform=function(){t.resetTransform(),this.__originalResetTransform()},n.rotate=function(i){t.rotate(i),this.__originalRotate(i)},n.clip=function(i){t.clip(i),this.__originalClip(i)},n.moveTo=function(e,i){t.moveTo(e,i),this.__originalMoveTo(e,i)},n.lineTo=function(e,i){t.lineTo(e,i),this.__originalLineTo(e,i)},n.bezierCurveTo=function(e,i,s,r,o,a){t.bezierCurveTo(e,i,s,r,o,a),this.__originalBezierCurveTo(e,i,s,r,o,a)},n.rect=function(e,i,s,r){t.rect(e,i,s,r),this.__originalRect(e,i,s,r)},n.closePath=function(){t.closePath(),this.__originalClosePath()},n.beginPath=function(){t.beginPath(),this.__originalBeginPath()}}class Wk{constructor(t){this.canvasFactory=t,this.cache=Object.create(null)}getCanvas(t,e,i){let s;return this.cache[t]!==void 0?(s=this.cache[t],this.canvasFactory.reset(s,e,i)):(s=this.canvasFactory.create(e,i),this.cache[t]=s),s}delete(t){delete this.cache[t]}clear(){for(const t in this.cache){const e=this.cache[t];this.canvasFactory.destroy(e),delete this.cache[t]}}}function Kh(n,t,e,i,s,r,o,a,c,u){const[h,d,f,p,g,w]=Tt(n);if(d===0&&f===0){const v=o*h+g,y=Math.round(v),x=a*p+w,C=Math.round(x),T=(o+c)*h+g,k=Math.abs(Math.round(T)-y)||1,P=(a+u)*p+w,M=Math.abs(Math.round(P)-C)||1;return n.setTransform(Math.sign(h),0,0,Math.sign(p),y,C),n.drawImage(t,e,i,s,r,0,0,k,M),n.setTransform(h,d,f,p,g,w),[k,M]}if(h===0&&p===0){const v=a*f+g,y=Math.round(v),x=o*d+w,C=Math.round(x),T=(a+u)*f+g,k=Math.abs(Math.round(T)-y)||1,P=(o+c)*d+w,M=Math.abs(Math.round(P)-C)||1;return n.setTransform(0,Math.sign(d),Math.sign(f),0,y,C),n.drawImage(t,e,i,s,r,0,0,M,k),n.setTransform(h,d,f,p,g,w),[M,k]}n.drawImage(t,e,i,s,r,o,a,c,u);const E=Math.hypot(h,d),m=Math.hypot(f,p);return[E*c,m*u]}function Bk(n){const{width:t,height:e}=n;if(t>Z0||e>Z0)return null;const i=1e3,s=new Uint8Array([0,2,4,0,1,0,5,4,8,10,0,8,0,2,1,0]),r=t+1;let o=new Uint8Array(r*(e+1)),a,c,u;const h=t+7&-8;let d=new Uint8Array(h*e),f=0;for(const m of n.data){let v=128;for(;v>0;)d[f++]=m&v?0:255,v>>=1}let p=0;for(f=0,d[f]!==0&&(o[0]=1,++p),c=1;c>2)+(d[f+1]?4:0)+(d[f-h+1]?8:0),s[m]&&(o[u+c]=s[m],++p),f++;if(d[f-h]!==d[f]&&(o[u+c]=d[f]?2:4,++p),p>i)return null}for(f=h*(e-1),u=a*r,d[f]!==0&&(o[u]=8,++p),c=1;ci)return null;const g=new Int32Array([0,r,-1,0,-r,0,0,0,1]),w=new Path2D;for(a=0;p&&a<=e;a++){let m=a*r;const v=m+t;for(;m>4,o[m]&=x>>2|x<<2),w.lineTo(m%r,m/r|0),o[m]||--p}while(y!==m);--a}return d=null,o=null,function(m){m.save(),m.scale(1/t,-1/e),m.translate(0,-e),m.fill(w),m.beginPath(),m.restore()}}class $0{constructor(t,e){this.alphaIsShape=!1,this.fontSize=0,this.fontSizeScale=1,this.textMatrix=z1,this.textMatrixScale=1,this.fontMatrix=Wg,this.leading=0,this.x=0,this.y=0,this.lineX=0,this.lineY=0,this.charSpacing=0,this.wordSpacing=0,this.textHScale=1,this.textRenderingMode=ge.FILL,this.textRise=0,this.fillColor="#000000",this.strokeColor="#000000",this.patternFill=!1,this.fillAlpha=1,this.strokeAlpha=1,this.lineWidth=1,this.activeSMask=null,this.transferMaps="none",this.startNewPathAndClipBox([0,0,t,e])}clone(){const t=Object.create(this);return t.clipBox=this.clipBox.slice(),t}setCurrentPoint(t,e){this.x=t,this.y=e}updatePathMinMax(t,e,i){[e,i]=q.applyTransform([e,i],t),this.minX=Math.min(this.minX,e),this.minY=Math.min(this.minY,i),this.maxX=Math.max(this.maxX,e),this.maxY=Math.max(this.maxY,i)}updateRectMinMax(t,e){const i=q.applyTransform(e,t),s=q.applyTransform(e.slice(2),t),r=q.applyTransform([e[0],e[3]],t),o=q.applyTransform([e[2],e[1]],t);this.minX=Math.min(this.minX,i[0],s[0],r[0],o[0]),this.minY=Math.min(this.minY,i[1],s[1],r[1],o[1]),this.maxX=Math.max(this.maxX,i[0],s[0],r[0],o[0]),this.maxY=Math.max(this.maxY,i[1],s[1],r[1],o[1])}updateScalingPathMinMax(t,e){q.scaleMinMax(t,e),this.minX=Math.min(this.minX,e[0]),this.minY=Math.min(this.minY,e[1]),this.maxX=Math.max(this.maxX,e[2]),this.maxY=Math.max(this.maxY,e[3])}updateCurvePathMinMax(t,e,i,s,r,o,a,c,u,h){const d=q.bezierBoundingBox(e,i,s,r,o,a,c,u,h);h||this.updateRectMinMax(t,d)}getPathBoundingBox(t=Pe.FILL,e=null){const i=[this.minX,this.minY,this.maxX,this.maxY];if(t===Pe.STROKE){e||pt("Stroke bounding box must include transform.");const s=q.singularValueDecompose2dScale(e),r=s[0]*this.lineWidth/2,o=s[1]*this.lineWidth/2;i[0]-=r,i[1]-=o,i[2]+=r,i[3]+=o}return i}updateClipFromPath(){const t=q.intersect(this.clipBox,this.getPathBoundingBox());this.startNewPathAndClipBox(t||[0,0,0,0])}isEmptyClip(){return this.minX===1/0}startNewPathAndClipBox(t){this.clipBox=t,this.minX=1/0,this.minY=1/0,this.maxX=0,this.maxY=0}getClippedPathBoundingBox(t=Pe.FILL,e=null){return q.intersect(this.clipBox,this.getPathBoundingBox(t,e))}}function tw(n,t){if(typeof ImageData<"u"&&t instanceof ImageData){n.putImageData(t,0,0);return}const e=t.height,i=t.width,s=e%ze,r=(e-s)/ze,o=s===0?r:r+1,a=n.createImageData(i,ze);let c=0,u;const h=t.data,d=a.data;let f,p,g,w;if(t.kind===ud.GRAYSCALE_1BPP){const E=h.byteLength,m=new Uint32Array(d.buffer,0,d.byteLength>>2),v=m.length,y=i+7>>3,x=4294967295,C=He.isLittleEndian?4278190080:255;for(f=0;fy?i:T*8-7,M=P&-8;let L=0,D=0;for(;k>=1}for(;u=r&&(g=s,w=i*g),u=0,p=w;p--;)d[u++]=h[c++],d[u++]=h[c++],d[u++]=h[c++],d[u++]=255;n.putImageData(a,0,f*ze)}else throw new Error(`bad image kind: ${t.kind}`)}function ew(n,t){if(t.bitmap){n.drawImage(t.bitmap,0,0);return}const e=t.height,i=t.width,s=e%ze,r=(e-s)/ze,o=s===0?r:r+1,a=n.createImageData(i,ze);let c=0;const u=t.data,h=a.data;for(let d=0;dJ0&&typeof i=="function",h=u?Date.now()+Uk:0;let d=0;const f=this.commonObjs,p=this.objs;let g;for(;;){if(s!==void 0&&a===s.nextBreakPoint)return s.breakIt(a,i),a;if(g=o[a],g!==Dn.dependency)this[g].apply(this,r[a]);else for(const w of r[a]){const E=w.startsWith("g_")?f:p;if(!E.has(w))return E.get(w,i),a}if(a++,a===c)return a;if(u&&++d>J0){if(Date.now()>h)return i(),a;d=0}}}endDrawing(){A(this,pr,wm).call(this),this.cachedCanvases.clear(),this.cachedPatterns.clear();for(const t of this._cachedBitmapsMap.values()){for(const e of t.values())typeof HTMLCanvasElement<"u"&&e instanceof HTMLCanvasElement&&(e.width=e.height=0);t.clear()}this._cachedBitmapsMap.clear(),A(this,pr,Sm).call(this)}_scaleImage(t,e){const i=t.width,s=t.height;let r=Math.max(Math.hypot(e[0],e[1]),1),o=Math.max(Math.hypot(e[2],e[3]),1),a=i,c=s,u="prescale1",h,d;for(;r>2&&a>1||o>2&&c>1;){let f=a,p=c;r>2&&a>1&&(f=a>=16384?Math.floor(a/2)-1||1:Math.ceil(a/2),r/=a/f),o>2&&c>1&&(p=c>=16384?Math.floor(c/2)-1||1:Math.ceil(c)/2,o/=c/p),h=this.cachedCanvases.getCanvas(u,f,p),d=h.context,d.clearRect(0,0,f,p),d.drawImage(t,0,0,a,c,0,0,f,p),t=h.canvas,a=f,c=p,u=u==="prescale1"?"prescale2":"prescale1"}return{img:t,paintWidth:a,paintHeight:c}}_createMaskCanvas(t){const e=this.ctx,{width:i,height:s}=t,r=this.current.fillColor,o=this.current.patternFill,a=Tt(e);let c,u,h,d;if((t.bitmap||t.data)&&t.count>1){const P=t.bitmap||t.data.buffer;u=JSON.stringify(o?a:[a.slice(0,4),r]),c=this._cachedBitmapsMap.get(P),c||(c=new Map,this._cachedBitmapsMap.set(P,c));const M=c.get(u);if(M&&!o){const L=Math.round(Math.min(a[0],a[2])+a[4]),D=Math.round(Math.min(a[1],a[3])+a[5]);return{canvas:M,offsetX:L,offsetY:D}}h=M}h||(d=this.cachedCanvases.getCanvas("maskCanvas",i,s),ew(d.context,t));let f=q.transform(a,[1/i,0,0,-1/s,0,0]);f=q.transform(f,[1,0,0,1,0,-s]);const[p,g,w,E]=q.getAxialAlignedBoundingBox([0,0,i,s],f),m=Math.round(w-p)||1,v=Math.round(E-g)||1,y=this.cachedCanvases.getCanvas("fillCanvas",m,v),x=y.context,C=p,T=g;x.translate(-C,-T),x.transform(...f),h||(h=this._scaleImage(d.canvas,Ri(x)),h=h.img,c&&o&&c.set(u,h)),x.imageSmoothingEnabled=nw(Tt(x),t.interpolate),Kh(x,h,0,0,h.width,h.height,0,0,i,s),x.globalCompositeOperation="source-in";const k=q.transform(Ri(x),[1,0,0,1,-C,-T]);return x.fillStyle=o?r.getPattern(e,this,k,Pe.FILL):r,x.fillRect(0,0,i,s),c&&!o&&(this.cachedCanvases.delete("fillCanvas"),c.set(u,y.canvas)),{canvas:y.canvas,offsetX:Math.round(C),offsetY:Math.round(T)}}setLineWidth(t){t!==this.current.lineWidth&&(this._cachedScaleForStroking[0]=-1),this.current.lineWidth=t,this.ctx.lineWidth=t}setLineCap(t){this.ctx.lineCap=Kk[t]}setLineJoin(t){this.ctx.lineJoin=Xk[t]}setMiterLimit(t){this.ctx.miterLimit=t}setDash(t,e){const i=this.ctx;i.setLineDash!==void 0&&(i.setLineDash(t),i.lineDashOffset=e)}setRenderingIntent(t){}setFlatness(t){}setGState(t){for(const[e,i]of t)switch(e){case"LW":this.setLineWidth(i);break;case"LC":this.setLineCap(i);break;case"LJ":this.setLineJoin(i);break;case"ML":this.setMiterLimit(i);break;case"D":this.setDash(i[0],i[1]);break;case"RI":this.setRenderingIntent(i);break;case"FL":this.setFlatness(i);break;case"Font":this.setFont(i[0],i[1]);break;case"CA":this.current.strokeAlpha=i;break;case"ca":this.current.fillAlpha=i,this.ctx.globalAlpha=i;break;case"BM":this.ctx.globalCompositeOperation=i;break;case"SMask":this.current.activeSMask=i?this.tempSMask:null,this.tempSMask=null,this.checkSMaskState();break;case"TR":this.ctx.filter=this.current.transferMaps=this.filterFactory.addFilter(i);break}}get inSMaskMode(){return!!this.suspendedCtx}checkSMaskState(){const t=this.inSMaskMode;this.current.activeSMask&&!t?this.beginSMaskMode():!this.current.activeSMask&&t&&this.endSMaskMode()}beginSMaskMode(){if(this.inSMaskMode)throw new Error("beginSMaskMode called while already in smask mode");const t=this.ctx.canvas.width,e=this.ctx.canvas.height,i="smaskGroupAt"+this.groupLevel,s=this.cachedCanvases.getCanvas(i,t,e);this.suspendedCtx=this.ctx,this.ctx=s.context;const r=this.ctx;r.setTransform(...Tt(this.suspendedCtx)),Ol(this.suspendedCtx,r),jk(r,this.suspendedCtx),this.setGState([["BM","source-over"],["ca",1],["CA",1]])}endSMaskMode(){if(!this.inSMaskMode)throw new Error("endSMaskMode called while not in smask mode");this.ctx._removeMirroring(),Ol(this.ctx,this.suspendedCtx),this.ctx=this.suspendedCtx,this.suspendedCtx=null}compose(t){if(!this.current.activeSMask)return;t?(t[0]=Math.floor(t[0]),t[1]=Math.floor(t[1]),t[2]=Math.ceil(t[2]),t[3]=Math.ceil(t[3])):t=[0,0,this.ctx.canvas.width,this.ctx.canvas.height];const e=this.current.activeSMask,i=this.suspendedCtx;this.composeSMask(i,e,this.ctx,t),this.ctx.save(),this.ctx.setTransform(1,0,0,1,0,0),this.ctx.clearRect(0,0,this.ctx.canvas.width,this.ctx.canvas.height),this.ctx.restore()}composeSMask(t,e,i,s){const r=s[0],o=s[1],a=s[2]-r,c=s[3]-o;a===0||c===0||(this.genericComposeSMask(e.context,i,a,c,e.subtype,e.backdrop,e.transferMap,r,o,e.offsetX,e.offsetY),t.save(),t.globalAlpha=1,t.globalCompositeOperation="source-over",t.setTransform(1,0,0,1,0,0),t.drawImage(i.canvas,0,0),t.restore())}genericComposeSMask(t,e,i,s,r,o,a,c,u,h,d){let f=t.canvas,p=c-h,g=u-d;if(o){if(p<0||g<0||p+i>f.width||g+s>f.height){const E=this.cachedCanvases.getCanvas("maskExtension",i,s),m=E.context;m.drawImage(f,-p,-g),o.some(v=>v!==0)&&(m.globalCompositeOperation="destination-atop",m.fillStyle=q.makeHexColor(...o),m.fillRect(0,0,i,s),m.globalCompositeOperation="source-over"),f=E.canvas,p=g=0}else if(o.some(E=>E!==0)){t.save(),t.globalAlpha=1,t.setTransform(1,0,0,1,0,0);const E=new Path2D;E.rect(p,g,i,s),t.clip(E),t.globalCompositeOperation="destination-atop",t.fillStyle=q.makeHexColor(...o),t.fillRect(p,g,i,s),t.restore()}}e.save(),e.globalAlpha=1,e.setTransform(1,0,0,1,0,0),r==="Alpha"&&a?e.filter=this.filterFactory.addAlphaFilter(a):r==="Luminosity"&&(e.filter=this.filterFactory.addLuminosityFilter(a));const w=new Path2D;w.rect(c,u,i,s),e.clip(w),e.globalCompositeOperation="destination-in",e.drawImage(f,p,g,i,s,c,u,i,s),e.restore()}save(){this.inSMaskMode?(Ol(this.ctx,this.suspendedCtx),this.suspendedCtx.save()):this.ctx.save();const t=this.current;this.stateStack.push(t),this.current=t.clone()}restore(){this.stateStack.length===0&&this.inSMaskMode&&this.endSMaskMode(),this.stateStack.length!==0&&(this.current=this.stateStack.pop(),this.inSMaskMode?(this.suspendedCtx.restore(),Ol(this.suspendedCtx,this.ctx)):this.ctx.restore(),this.checkSMaskState(),this.pendingClip=null,this._cachedScaleForStroking[0]=-1,this._cachedGetSinglePixelWidth=null)}transform(t,e,i,s,r,o){this.ctx.transform(t,e,i,s,r,o),this._cachedScaleForStroking[0]=-1,this._cachedGetSinglePixelWidth=null}constructPath(t,e,i){const s=this.ctx,r=this.current;let o=r.x,a=r.y,c,u;const h=Tt(s),d=h[0]===0&&h[3]===0||h[1]===0&&h[2]===0,f=d?i.slice(0):null;for(let p=0,g=0,w=t.length;pQ0&&(u=Q0),this.current.fontSizeScale=e/u,this.ctx.font=`${c} ${a} ${u}px ${o}`}setTextRenderingMode(t){this.current.textRenderingMode=t}setTextRise(t){this.current.textRise=t}moveText(t,e){this.current.x=this.current.lineX+=t,this.current.y=this.current.lineY+=e}setLeadingMoveText(t,e){this.setLeading(-e),this.moveText(t,e)}setTextMatrix(t,e,i,s,r,o){this.current.textMatrix=[t,e,i,s,r,o],this.current.textMatrixScale=Math.hypot(t,e),this.current.x=this.current.lineX=0,this.current.y=this.current.lineY=0}nextLine(){this.moveText(0,this.current.leading)}paintChar(t,e,i,s){const r=this.ctx,o=this.current,a=o.font,c=o.textRenderingMode,u=o.fontSize/o.fontSizeScale,h=c&ge.FILL_STROKE_MASK,d=!!(c&ge.ADD_TO_PATH_FLAG),f=o.patternFill&&!a.missingFile;let p;(a.disableFontFace||d||f)&&(p=a.getPathGenerator(this.commonObjs,t)),a.disableFontFace||f?(r.save(),r.translate(e,i),r.beginPath(),p(r,u),s&&r.setTransform(...s),(h===ge.FILL||h===ge.FILL_STROKE)&&r.fill(),(h===ge.STROKE||h===ge.FILL_STROKE)&&r.stroke(),r.restore()):((h===ge.FILL||h===ge.FILL_STROKE)&&r.fillText(t,e,i),(h===ge.STROKE||h===ge.FILL_STROKE)&&r.strokeText(t,e,i)),d&&(this.pendingTextPaths||(this.pendingTextPaths=[])).push({transform:Tt(r),x:e,y:i,fontSize:u,addToPath:p})}get isFontSubpixelAAEnabled(){const{context:t}=this.cachedCanvases.getCanvas("isFontSubpixelAAEnabled",10,10);t.scale(1.5,1),t.fillText("I",0,10);const e=t.getImageData(0,0,10,10).data;let i=!1;for(let s=3;s0&&e[s]<255){i=!0;break}return ot(this,"isFontSubpixelAAEnabled",i)}showText(t){const e=this.current,i=e.font;if(i.isType3Font)return this.showType3Text(t);const s=e.fontSize;if(s===0)return;const r=this.ctx,o=e.fontSizeScale,a=e.charSpacing,c=e.wordSpacing,u=e.fontDirection,h=e.textHScale*u,d=t.length,f=i.vertical,p=f?1:-1,g=i.defaultVMetrics,w=s*e.fontMatrix[0],E=e.textRenderingMode===ge.FILL&&!i.disableFontFace&&!e.patternFill;r.save(),r.transform(...e.textMatrix),r.translate(e.x,e.y+e.textRise),u>0?r.scale(h,-1):r.scale(h,1);let m;if(e.patternFill){r.save();const T=e.fillColor.getPattern(r,this,Ri(r),Pe.FILL);m=Tt(r),r.restore(),r.fillStyle=T}let v=e.lineWidth;const y=e.textMatrixScale;if(y===0||v===0){const T=e.textRenderingMode&ge.FILL_STROKE_MASK;(T===ge.STROKE||T===ge.FILL_STROKE)&&(v=this.getSinglePixelWidth())}else v/=y;if(o!==1&&(r.scale(o,o),v/=o),r.lineWidth=v,i.isInvalidPDFjsFont){const T=[];let k=0;for(const P of t)T.push(P.unicode),k+=P.width;r.fillText(T.join(""),0,0),e.x+=k*w*h,r.restore(),this.compose();return}let x=0,C;for(C=0;C0){const nt=r.measureText(M).width*1e3/s*o;if(Xnew yy(o,this.commonObjs,this.objs,this.canvasFactory,this.filterFactory,{optionalContentConfig:this.optionalContentConfig,markedContentStack:this.markedContentStack})};e=new ym(t,i,this.ctx,r,s)}else e=this._getPattern(t[1],t[2]);return e}setStrokeColorN(){this.current.strokeColor=this.getColorN_Pattern(arguments)}setFillColorN(){this.current.fillColor=this.getColorN_Pattern(arguments),this.current.patternFill=!0}setStrokeRGBColor(t,e,i){const s=q.makeHexColor(t,e,i);this.ctx.strokeStyle=s,this.current.strokeColor=s}setFillRGBColor(t,e,i){const s=q.makeHexColor(t,e,i);this.ctx.fillStyle=s,this.current.fillColor=s,this.current.patternFill=!1}_getPattern(t,e=null){let i;return this.cachedPatterns.has(t)?i=this.cachedPatterns.get(t):(i=qk(this.getObject(t)),this.cachedPatterns.set(t,i)),e&&(i.matrix=e),i}shadingFill(t){if(!this.contentVisible)return;const e=this.ctx;this.save();const i=this._getPattern(t);e.fillStyle=i.getPattern(e,this,Ri(e),Pe.SHADING);const s=Ri(e);if(s){const{width:r,height:o}=e.canvas,[a,c,u,h]=q.getAxialAlignedBoundingBox([0,0,r,o],s);this.ctx.fillRect(a,c,u-a,h-c)}else this.ctx.fillRect(-1e10,-1e10,2e10,2e10);this.compose(this.current.getClippedPathBoundingBox()),this.restore()}beginInlineImage(){pt("Should not call beginInlineImage")}beginImageData(){pt("Should not call beginImageData")}paintFormXObjectBegin(t,e){if(this.contentVisible&&(this.save(),this.baseTransformStack.push(this.baseTransform),t&&this.transform(...t),this.baseTransform=Tt(this.ctx),e)){const i=e[2]-e[0],s=e[3]-e[1];this.ctx.rect(e[0],e[1],i,s),this.current.updateRectMinMax(Tt(this.ctx),e),this.clip(),this.endPath()}}paintFormXObjectEnd(){this.contentVisible&&(this.restore(),this.baseTransform=this.baseTransformStack.pop())}beginGroup(t){if(!this.contentVisible)return;this.save(),this.inSMaskMode&&(this.endSMaskMode(),this.current.activeSMask=null);const e=this.ctx;t.isolated||ep("TODO: Support non-isolated groups."),t.knockout&&Q("Knockout groups not supported.");const i=Tt(e);if(t.matrix&&e.transform(...t.matrix),!t.bbox)throw new Error("Bounding box is required.");let s=q.getAxialAlignedBoundingBox(t.bbox,Tt(e));const r=[0,0,e.canvas.width,e.canvas.height];s=q.intersect(s,r)||[0,0,0,0];const o=Math.floor(s[0]),a=Math.floor(s[1]),c=Math.max(Math.ceil(s[2])-o,1),u=Math.max(Math.ceil(s[3])-a,1);this.current.startNewPathAndClipBox([0,0,c,u]);let h="groupAt"+this.groupLevel;t.smask&&(h+="_smask_"+this.smaskCounter++%2);const d=this.cachedCanvases.getCanvas(h,c,u),f=d.context;f.translate(-o,-a),f.transform(...i),t.smask?this.smaskStack.push({canvas:d.canvas,context:f,offsetX:o,offsetY:a,subtype:t.smask.subtype,backdrop:t.smask.backdrop,transferMap:t.smask.transferMap||null,startTransformInverse:null}):(e.setTransform(1,0,0,1,0,0),e.translate(o,a),e.save()),Ol(e,f),this.ctx=f,this.setGState([["BM","source-over"],["ca",1],["CA",1]]),this.groupStack.push(e),this.groupLevel++}endGroup(t){if(!this.contentVisible)return;this.groupLevel--;const e=this.ctx,i=this.groupStack.pop();if(this.ctx=i,this.ctx.imageSmoothingEnabled=!1,t.smask)this.tempSMask=this.smaskStack.pop(),this.restore();else{this.ctx.restore();const s=Tt(this.ctx);this.restore(),this.ctx.save(),this.ctx.setTransform(...s);const r=q.getAxialAlignedBoundingBox([0,0,e.canvas.width,e.canvas.height],s);this.ctx.drawImage(e.canvas,0,0),this.ctx.restore(),this.compose(r)}}beginAnnotation(t,e,i,s,r){if(A(this,pr,wm).call(this),Xh(this.ctx),this.ctx.save(),this.save(),this.baseTransform&&this.ctx.setTransform(...this.baseTransform),e){const o=e[2]-e[0],a=e[3]-e[1];if(r&&this.annotationCanvasMap){i=i.slice(),i[4]-=e[0],i[5]-=e[1],e=e.slice(),e[0]=e[1]=0,e[2]=o,e[3]=a;const[c,u]=q.singularValueDecompose2dScale(Tt(this.ctx)),{viewportScale:h}=this,d=Math.ceil(o*this.outputScaleX*h),f=Math.ceil(a*this.outputScaleY*h);this.annotationCanvas=this.canvasFactory.create(d,f);const{canvas:p,context:g}=this.annotationCanvas;this.annotationCanvasMap.set(t,p),this.annotationCanvas.savedCtx=this.ctx,this.ctx=g,this.ctx.save(),this.ctx.setTransform(c,0,0,-u,0,a*u),Xh(this.ctx)}else Xh(this.ctx),this.ctx.rect(e[0],e[1],o,a),this.ctx.clip(),this.endPath()}this.current=new $0(this.ctx.canvas.width,this.ctx.canvas.height),this.transform(...i),this.transform(...s)}endAnnotation(){this.annotationCanvas&&(this.ctx.restore(),A(this,pr,Sm).call(this),this.ctx=this.annotationCanvas.savedCtx,delete this.annotationCanvas.savedCtx,delete this.annotationCanvas)}paintImageMaskXObject(t){if(!this.contentVisible)return;const e=t.count;t=this.getObject(t.data,t),t.count=e;const i=this.ctx,s=this.processingType3;if(s&&(s.compiled===void 0&&(s.compiled=Bk(t)),s.compiled)){s.compiled(i);return}const r=this._createMaskCanvas(t),o=r.canvas;i.save(),i.setTransform(1,0,0,1,0,0),i.drawImage(o,r.offsetX,r.offsetY),i.restore(),this.compose()}paintImageMaskXObjectRepeat(t,e,i=0,s=0,r,o){if(!this.contentVisible)return;t=this.getObject(t.data,t);const a=this.ctx;a.save();const c=Tt(a);a.transform(e,i,s,r,0,0);const u=this._createMaskCanvas(t);a.setTransform(1,0,0,1,u.offsetX-c[4],u.offsetY-c[5]);for(let h=0,d=o.length;hd?h/d:1,a=u>d?u/d:1}}this._cachedScaleForStroking[0]=o,this._cachedScaleForStroking[1]=a}return this._cachedScaleForStroking}rescaleAndStroke(t){const{ctx:e}=this,{lineWidth:i}=this.current,[s,r]=this.getScaleForStroking();if(e.lineWidth=i||1,s===1&&r===1){e.stroke();return}const o=e.getLineDash();if(t&&e.save(),e.scale(s,r),o.length>0){const a=Math.max(s,r);e.setLineDash(o.map(c=>c/a)),e.lineDashOffset/=a}e.stroke(),t&&e.restore()}isContentVisible(){for(let t=this.markedContentStack.length-1;t>=0;t--)if(!this.markedContentStack[t].visible)return!1;return!0}};pr=new WeakSet,wm=function(){for(;this.stateStack.length||this.inSMaskMode;)this.restore();this.ctx.restore(),this.transparentCanvas&&(this.ctx=this.compositeCtx,this.ctx.save(),this.ctx.setTransform(1,0,0,1,0,0),this.ctx.drawImage(this.transparentCanvas,0,0),this.ctx.restore(),this.transparentCanvas=null)},Sm=function(){if(this.pageColors){const t=this.filterFactory.addHCMFilter(this.pageColors.foreground,this.pageColors.background);if(t!=="none"){const e=this.ctx.filter;this.ctx.filter=t,this.ctx.drawImage(this.ctx.canvas,0,0),this.ctx.filter=e}}};let va=yy;for(const n in Dn)va.prototype[n]!==void 0&&(va.prototype[Dn[n]]=va.prototype[n]);var hu,du;class us{static get workerPort(){return l(this,hu)}static set workerPort(t){if(!(typeof Worker<"u"&&t instanceof Worker)&&t!==null)throw new Error("Invalid `workerPort` type.");S(this,hu,t)}static get workerSrc(){return l(this,du)}static set workerSrc(t){if(typeof t!="string")throw new Error("Invalid `workerSrc` type.");S(this,du,t)}}hu=new WeakMap,du=new WeakMap,b(us,hu,null),b(us,du,"");const Gh={UNKNOWN:0,DATA:1,ERROR:2},Ot={UNKNOWN:0,CANCEL:1,CANCEL_COMPLETE:2,CLOSE:3,ENQUEUE:4,ERROR:5,PULL:6,PULL_COMPLETE:7,START_COMPLETE:8};function Ge(n){switch(n instanceof Error||typeof n=="object"&&n!==null||pt('wrapReason: Expected "reason" to be a (possibly cloned) Error.'),n.name){case"AbortException":return new Ho(n.message);case"MissingPDFException":return new qo(n.message);case"PasswordException":return new Kg(n.message,n.code);case"UnexpectedResponseException":return new np(n.message,n.status);case"UnknownErrorException":return new Xg(n.message,n.details);default:return new Xg(n.message,n.toString())}}var bi,AA,bA,md;class Ql{constructor(t,e,i){b(this,bi);this.sourceName=t,this.targetName=e,this.comObj=i,this.callbackId=1,this.streamId=1,this.streamSinks=Object.create(null),this.streamControllers=Object.create(null),this.callbackCapabilities=Object.create(null),this.actionHandler=Object.create(null),this._onComObjOnMessage=s=>{const r=s.data;if(r.targetName!==this.sourceName)return;if(r.stream){A(this,bi,bA).call(this,r);return}if(r.callback){const a=r.callbackId,c=this.callbackCapabilities[a];if(!c)throw new Error(`Cannot resolve callback ${a}`);if(delete this.callbackCapabilities[a],r.callback===Gh.DATA)c.resolve(r.data);else if(r.callback===Gh.ERROR)c.reject(Ge(r.reason));else throw new Error("Unexpected callback case");return}const o=this.actionHandler[r.action];if(!o)throw new Error(`Unknown action from worker: ${r.action}`);if(r.callbackId){const a=this.sourceName,c=r.sourceName;new Promise(function(u){u(o(r.data))}).then(function(u){i.postMessage({sourceName:a,targetName:c,callback:Gh.DATA,callbackId:r.callbackId,data:u})},function(u){i.postMessage({sourceName:a,targetName:c,callback:Gh.ERROR,callbackId:r.callbackId,reason:Ge(u)})});return}if(r.streamId){A(this,bi,AA).call(this,r);return}o(r.data)},i.addEventListener("message",this._onComObjOnMessage)}on(t,e){const i=this.actionHandler;if(i[t])throw new Error(`There is already an actionName called "${t}"`);i[t]=e}send(t,e,i){this.comObj.postMessage({sourceName:this.sourceName,targetName:this.targetName,action:t,data:e},i)}sendWithPromise(t,e,i){const s=this.callbackId++,r=Promise.withResolvers();this.callbackCapabilities[s]=r;try{this.comObj.postMessage({sourceName:this.sourceName,targetName:this.targetName,action:t,callbackId:s,data:e},i)}catch(o){r.reject(o)}return r.promise}sendWithStream(t,e,i,s){const r=this.streamId++,o=this.sourceName,a=this.targetName,c=this.comObj;return new ReadableStream({start:u=>{const h=Promise.withResolvers();return this.streamControllers[r]={controller:u,startCall:h,pullCall:null,cancelCall:null,isClosed:!1},c.postMessage({sourceName:o,targetName:a,action:t,streamId:r,data:e,desiredSize:u.desiredSize},s),h.promise},pull:u=>{const h=Promise.withResolvers();return this.streamControllers[r].pullCall=h,c.postMessage({sourceName:o,targetName:a,stream:Ot.PULL,streamId:r,desiredSize:u.desiredSize}),h.promise},cancel:u=>{Gt(u instanceof Error,"cancel must have a valid reason");const h=Promise.withResolvers();return this.streamControllers[r].cancelCall=h,this.streamControllers[r].isClosed=!0,c.postMessage({sourceName:o,targetName:a,stream:Ot.CANCEL,streamId:r,reason:Ge(u)}),h.promise}},i)}destroy(){this.comObj.removeEventListener("message",this._onComObjOnMessage)}}bi=new WeakSet,AA=function(t){const e=t.streamId,i=this.sourceName,s=t.sourceName,r=this.comObj,o=this,a=this.actionHandler[t.action],c={enqueue(u,h=1,d){if(this.isCancelled)return;const f=this.desiredSize;this.desiredSize-=h,f>0&&this.desiredSize<=0&&(this.sinkCapability=Promise.withResolvers(),this.ready=this.sinkCapability.promise),r.postMessage({sourceName:i,targetName:s,stream:Ot.ENQUEUE,streamId:e,chunk:u},d)},close(){this.isCancelled||(this.isCancelled=!0,r.postMessage({sourceName:i,targetName:s,stream:Ot.CLOSE,streamId:e}),delete o.streamSinks[e])},error(u){Gt(u instanceof Error,"error must have a valid reason"),!this.isCancelled&&(this.isCancelled=!0,r.postMessage({sourceName:i,targetName:s,stream:Ot.ERROR,streamId:e,reason:Ge(u)}))},sinkCapability:Promise.withResolvers(),onPull:null,onCancel:null,isCancelled:!1,desiredSize:t.desiredSize,ready:null};c.sinkCapability.resolve(),c.ready=c.sinkCapability.promise,this.streamSinks[e]=c,new Promise(function(u){u(a(t.data,c))}).then(function(){r.postMessage({sourceName:i,targetName:s,stream:Ot.START_COMPLETE,streamId:e,success:!0})},function(u){r.postMessage({sourceName:i,targetName:s,stream:Ot.START_COMPLETE,streamId:e,reason:Ge(u)})})},bA=function(t){const e=t.streamId,i=this.sourceName,s=t.sourceName,r=this.comObj,o=this.streamControllers[e],a=this.streamSinks[e];switch(t.stream){case Ot.START_COMPLETE:t.success?o.startCall.resolve():o.startCall.reject(Ge(t.reason));break;case Ot.PULL_COMPLETE:t.success?o.pullCall.resolve():o.pullCall.reject(Ge(t.reason));break;case Ot.PULL:if(!a){r.postMessage({sourceName:i,targetName:s,stream:Ot.PULL_COMPLETE,streamId:e,success:!0});break}a.desiredSize<=0&&t.desiredSize>0&&a.sinkCapability.resolve(),a.desiredSize=t.desiredSize,new Promise(function(c){var u;c((u=a.onPull)==null?void 0:u.call(a))}).then(function(){r.postMessage({sourceName:i,targetName:s,stream:Ot.PULL_COMPLETE,streamId:e,success:!0})},function(c){r.postMessage({sourceName:i,targetName:s,stream:Ot.PULL_COMPLETE,streamId:e,reason:Ge(c)})});break;case Ot.ENQUEUE:if(Gt(o,"enqueue should have stream controller"),o.isClosed)break;o.controller.enqueue(t.chunk);break;case Ot.CLOSE:if(Gt(o,"close should have stream controller"),o.isClosed)break;o.isClosed=!0,o.controller.close(),A(this,bi,md).call(this,o,e);break;case Ot.ERROR:Gt(o,"error should have stream controller"),o.controller.error(Ge(t.reason)),A(this,bi,md).call(this,o,e);break;case Ot.CANCEL_COMPLETE:t.success?o.cancelCall.resolve():o.cancelCall.reject(Ge(t.reason)),A(this,bi,md).call(this,o,e);break;case Ot.CANCEL:if(!a)break;new Promise(function(c){var u;c((u=a.onCancel)==null?void 0:u.call(a,Ge(t.reason)))}).then(function(){r.postMessage({sourceName:i,targetName:s,stream:Ot.CANCEL_COMPLETE,streamId:e,success:!0})},function(c){r.postMessage({sourceName:i,targetName:s,stream:Ot.CANCEL_COMPLETE,streamId:e,reason:Ge(c)})}),a.sinkCapability.reject(Ge(t.reason)),a.isCancelled=!0,delete this.streamSinks[e];break;default:throw new Error("Unexpected stream case")}},md=async function(t,e){var i,s,r;await Promise.allSettled([(i=t.startCall)==null?void 0:i.promise,(s=t.pullCall)==null?void 0:s.promise,(r=t.cancelCall)==null?void 0:r.promise]),delete this.streamControllers[e]};var Kr,fu;class Yk{constructor({parsedData:t,rawData:e}){b(this,Kr);b(this,fu);S(this,Kr,t),S(this,fu,e)}getRaw(){return l(this,fu)}get(t){return l(this,Kr).get(t)??null}getAll(){return oy(l(this,Kr))}has(t){return l(this,Kr).has(t)}}Kr=new WeakMap,fu=new WeakMap;const Cs=Symbol("INTERNAL");var pu,gu,mu,Ma;class Qk{constructor(t,{name:e,intent:i,usage:s}){b(this,pu,!1);b(this,gu,!1);b(this,mu,!1);b(this,Ma,!0);S(this,pu,!!(t&Sn.DISPLAY)),S(this,gu,!!(t&Sn.PRINT)),this.name=e,this.intent=i,this.usage=s}get visible(){if(l(this,mu))return l(this,Ma);if(!l(this,Ma))return!1;const{print:t,view:e}=this.usage;return l(this,pu)?(e==null?void 0:e.viewState)!=="OFF":l(this,gu)?(t==null?void 0:t.printState)!=="OFF":!0}_setVisible(t,e,i=!1){t!==Cs&&pt("Internal method `_setVisible` called."),S(this,mu,i),S(this,Ma,e)}}pu=new WeakMap,gu=new WeakMap,mu=new WeakMap,Ma=new WeakMap;var Os,ft,Na,Da,vu,Am;class Jk{constructor(t,e=Sn.DISPLAY){b(this,vu);b(this,Os,null);b(this,ft,new Map);b(this,Na,null);b(this,Da,null);if(this.renderingIntent=e,this.name=null,this.creator=null,t!==null){this.name=t.name,this.creator=t.creator,S(this,Da,t.order);for(const i of t.groups)l(this,ft).set(i.id,new Qk(e,i));if(t.baseState==="OFF")for(const i of l(this,ft).values())i._setVisible(Cs,!1);for(const i of t.on)l(this,ft).get(i)._setVisible(Cs,!0);for(const i of t.off)l(this,ft).get(i)._setVisible(Cs,!1);S(this,Na,this.getHash())}}isVisible(t){if(l(this,ft).size===0)return!0;if(!t)return ep("Optional content group not defined."),!0;if(t.type==="OCG")return l(this,ft).has(t.id)?l(this,ft).get(t.id).visible:(Q(`Optional content group not found: ${t.id}`),!0);if(t.type==="OCMD"){if(t.expression)return A(this,vu,Am).call(this,t.expression);if(!t.policy||t.policy==="AnyOn"){for(const e of t.ids){if(!l(this,ft).has(e))return Q(`Optional content group not found: ${e}`),!0;if(l(this,ft).get(e).visible)return!0}return!1}else if(t.policy==="AllOn"){for(const e of t.ids){if(!l(this,ft).has(e))return Q(`Optional content group not found: ${e}`),!0;if(!l(this,ft).get(e).visible)return!1}return!0}else if(t.policy==="AnyOff"){for(const e of t.ids){if(!l(this,ft).has(e))return Q(`Optional content group not found: ${e}`),!0;if(!l(this,ft).get(e).visible)return!0}return!1}else if(t.policy==="AllOff"){for(const e of t.ids){if(!l(this,ft).has(e))return Q(`Optional content group not found: ${e}`),!0;if(l(this,ft).get(e).visible)return!1}return!0}return Q(`Unknown optional content policy ${t.policy}.`),!0}return Q(`Unknown group type ${t.type}.`),!0}setVisibility(t,e=!0){const i=l(this,ft).get(t);if(!i){Q(`Optional content group not found: ${t}`);return}i._setVisible(Cs,!!e,!0),S(this,Os,null)}setOCGState({state:t,preserveRB:e}){let i;for(const s of t){switch(s){case"ON":case"OFF":case"Toggle":i=s;continue}const r=l(this,ft).get(s);if(r)switch(i){case"ON":r._setVisible(Cs,!0);break;case"OFF":r._setVisible(Cs,!1);break;case"Toggle":r._setVisible(Cs,!r.visible);break}}S(this,Os,null)}get hasInitialVisibility(){return l(this,Na)===null||this.getHash()===l(this,Na)}getOrder(){return l(this,ft).size?l(this,Da)?l(this,Da).slice():[...l(this,ft).keys()]:null}getGroups(){return l(this,ft).size>0?oy(l(this,ft)):null}getGroup(t){return l(this,ft).get(t)||null}getHash(){if(l(this,Os)!==null)return l(this,Os);const t=new vA;for(const[e,i]of l(this,ft))t.update(`${e}:${i.visible}`);return S(this,Os,t.hexdigest())}}Os=new WeakMap,ft=new WeakMap,Na=new WeakMap,Da=new WeakMap,vu=new WeakSet,Am=function(t){const e=t.length;if(e<2)return!0;const i=t[0];for(let s=1;s0){const c=r instanceof Uint8Array&&r.byteLength===r.buffer.byteLength?r.buffer:new Uint8Array(r).buffer;this._queuedChunks.push(c)}this._pdfDataRangeTransport=t,this._isStreamingSupported=!i,this._isRangeSupported=!e,this._contentLength=s,this._fullRequestReader=null,this._rangeReaders=[],t.addRangeListener((c,u)=>{this._onReceiveData({begin:c,chunk:u})}),t.addProgressListener((c,u)=>{this._onProgress({loaded:c,total:u})}),t.addProgressiveReadListener(c=>{this._onReceiveData({chunk:c})}),t.addProgressiveDoneListener(()=>{this._onProgressiveDone()}),t.transportReady()}_onReceiveData({begin:t,chunk:e}){const i=e instanceof Uint8Array&&e.byteLength===e.buffer.byteLength?e.buffer:new Uint8Array(e).buffer;if(t===void 0)this._fullRequestReader?this._fullRequestReader._enqueue(i):this._queuedChunks.push(i);else{const s=this._rangeReaders.some(function(r){return r._begin!==t?!1:(r._enqueue(i),!0)});Gt(s,"_onReceiveData - no `PDFDataTransportStreamRangeReader` instance found.")}}get _progressiveDataLength(){var t;return((t=this._fullRequestReader)==null?void 0:t._loaded)??0}_onProgress(t){var e,i,s,r;t.total===void 0?(i=(e=this._rangeReaders[0])==null?void 0:e.onProgress)==null||i.call(e,{loaded:t.loaded}):(r=(s=this._fullRequestReader)==null?void 0:s.onProgress)==null||r.call(s,{loaded:t.loaded,total:t.total})}_onProgressiveDone(){var t;(t=this._fullRequestReader)==null||t.progressiveDone(),this._progressiveDone=!0}_removeRangeReader(t){const e=this._rangeReaders.indexOf(t);e>=0&&this._rangeReaders.splice(e,1)}getFullReader(){Gt(!this._fullRequestReader,"PDFDataTransportStream.getFullReader can only be called once.");const t=this._queuedChunks;return this._queuedChunks=null,new $k(this,t,this._progressiveDone,this._contentDispositionFilename)}getRangeReader(t,e){if(e<=this._progressiveDataLength)return null;const i=new tP(this,t,e);return this._pdfDataRangeTransport.requestDataRange(t,e),this._rangeReaders.push(i),i}cancelAllRequests(t){var e;(e=this._fullRequestReader)==null||e.cancel(t);for(const i of this._rangeReaders.slice(0))i.cancel(t);this._pdfDataRangeTransport.abort()}}class $k{constructor(t,e,i=!1,s=null){this._stream=t,this._done=i||!1,this._filename=hy(s)?s:null,this._queuedChunks=e||[],this._loaded=0;for(const r of this._queuedChunks)this._loaded+=r.byteLength;this._requests=[],this._headersReady=Promise.resolve(),t._fullRequestReader=this,this.onProgress=null}_enqueue(t){this._done||(this._requests.length>0?this._requests.shift().resolve({value:t,done:!1}):this._queuedChunks.push(t),this._loaded+=t.byteLength)}get headersReady(){return this._headersReady}get filename(){return this._filename}get isRangeSupported(){return this._stream._isRangeSupported}get isStreamingSupported(){return this._stream._isStreamingSupported}get contentLength(){return this._stream._contentLength}async read(){if(this._queuedChunks.length>0)return{value:this._queuedChunks.shift(),done:!1};if(this._done)return{value:void 0,done:!0};const t=Promise.withResolvers();return this._requests.push(t),t.promise}cancel(t){this._done=!0;for(const e of this._requests)e.resolve({value:void 0,done:!0});this._requests.length=0}progressiveDone(){this._done||(this._done=!0)}}class tP{constructor(t,e,i){this._stream=t,this._begin=e,this._end=i,this._queuedChunk=null,this._requests=[],this._done=!1,this.onProgress=null}_enqueue(t){if(!this._done){if(this._requests.length===0)this._queuedChunk=t;else{this._requests.shift().resolve({value:t,done:!1});for(const i of this._requests)i.resolve({value:void 0,done:!0});this._requests.length=0}this._done=!0,this._stream._removeRangeReader(this)}}get isStreamingSupported(){return!1}async read(){if(this._queuedChunk){const e=this._queuedChunk;return this._queuedChunk=null,{value:e,done:!1}}if(this._done)return{value:void 0,done:!0};const t=Promise.withResolvers();return this._requests.push(t),t.promise}cancel(t){this._done=!0;for(const e of this._requests)e.resolve({value:void 0,done:!0});this._requests.length=0,this._stream._removeRangeReader(this)}}function eP(n){let t=!0,e=i("filename\\*","i").exec(n);if(e){e=e[1];let h=a(e);return h=unescape(h),h=c(h),h=u(h),r(h)}if(e=o(n),e){const h=u(e);return r(h)}if(e=i("filename","i").exec(n),e){e=e[1];let h=a(e);return h=u(h),r(h)}function i(h,d){return new RegExp("(?:^|;)\\s*"+h+'\\s*=\\s*([^";\\s][^;\\s]*|"(?:[^"\\\\]|\\\\"?)+"?)',d)}function s(h,d){if(h){if(!/^[\x00-\xFF]+$/.test(d))return d;try{const f=new TextDecoder(h,{fatal:!0}),p=ip(d);d=f.decode(p),t=!1}catch{}}return d}function r(h){return t&&/[\x80-\xff]/.test(h)&&(h=s("utf-8",h),t&&(h=s("iso-8859-1",h))),h}function o(h){const d=[];let f;const p=i("filename\\*((?!0\\d)\\d+)(\\*?)","ig");for(;(f=p.exec(h))!==null;){let[,w,E,m]=f;if(w=parseInt(w,10),w in d){if(w===0)break;continue}d[w]=[E,m]}const g=[];for(let w=0;w{if(!EA(s.status))throw lp(s.status,i);this._reader=s.body.getReader(),this._headersCapability.resolve();const r=c=>s.headers.get(c),{allowRangeRequests:o,suggestedLength:a}=py({getResponseHeader:r,isHttp:this._stream.isHttp,rangeChunkSize:this._rangeChunkSize,disableRange:this._disableRange});this._isRangeSupported=o,this._contentLength=a||this._contentLength,this._filename=gy(r),!this._isStreamingSupported&&this._isRangeSupported&&this.cancel(new Ho("Streaming is disabled."))}).catch(this._headersCapability.reject),this.onProgress=null}get headersReady(){return this._headersCapability.promise}get filename(){return this._filename}get contentLength(){return this._contentLength}get isRangeSupported(){return this._isRangeSupported}get isStreamingSupported(){return this._isStreamingSupported}async read(){var i;await this._headersCapability.promise;const{value:t,done:e}=await this._reader.read();return e?{value:t,done:e}:(this._loaded+=t.byteLength,(i=this.onProgress)==null||i.call(this,{loaded:this._loaded,total:this._contentLength}),{value:TA(t),done:!1})}cancel(t){var e;(e=this._reader)==null||e.cancel(t),this._abortController.abort()}}class iP{constructor(t,e,i){this._stream=t,this._reader=null,this._loaded=0;const s=t.source;this._withCredentials=s.withCredentials||!1,this._readCapability=Promise.withResolvers(),this._isStreamingSupported=!s.disableStream,this._abortController=new AbortController,this._headers=CA(this._stream.httpHeaders),this._headers.append("Range",`bytes=${e}-${i-1}`);const r=s.url;fetch(r,xA(this._headers,this._withCredentials,this._abortController)).then(o=>{if(!EA(o.status))throw lp(o.status,r);this._readCapability.resolve(),this._reader=o.body.getReader()}).catch(this._readCapability.reject),this.onProgress=null}get isStreamingSupported(){return this._isStreamingSupported}async read(){var i;await this._readCapability.promise;const{value:t,done:e}=await this._reader.read();return e?{value:t,done:e}:(this._loaded+=t.byteLength,(i=this.onProgress)==null||i.call(this,{loaded:this._loaded}),{value:TA(t),done:!1})}cancel(t){var e;(e=this._reader)==null||e.cancel(t),this._abortController.abort()}}const Xp=200,Gp=206;function sP(n){const t=n.response;return typeof t!="string"?t:ip(t).buffer}class rP{constructor(t,e={}){this.url=t,this.isHttp=/^https?:/i.test(t),this.httpHeaders=this.isHttp&&e.httpHeaders||Object.create(null),this.withCredentials=e.withCredentials||!1,this.currXhrId=0,this.pendingRequests=Object.create(null)}requestRange(t,e,i){const s={begin:t,end:e};for(const r in i)s[r]=i[r];return this.request(s)}requestFull(t){return this.request(t)}request(t){const e=new XMLHttpRequest,i=this.currXhrId++,s=this.pendingRequests[i]={xhr:e};e.open("GET",this.url),e.withCredentials=this.withCredentials;for(const r in this.httpHeaders){const o=this.httpHeaders[r];o!==void 0&&e.setRequestHeader(r,o)}return this.isHttp&&"begin"in t&&"end"in t?(e.setRequestHeader("Range",`bytes=${t.begin}-${t.end-1}`),s.expectedStatus=Gp):s.expectedStatus=Xp,e.responseType="arraybuffer",t.onError&&(e.onerror=function(r){t.onError(e.status)}),e.onreadystatechange=this.onStateChange.bind(this,i),e.onprogress=this.onProgress.bind(this,i),s.onHeadersReceived=t.onHeadersReceived,s.onDone=t.onDone,s.onError=t.onError,s.onProgress=t.onProgress,e.send(null),i}onProgress(t,e){var s;const i=this.pendingRequests[t];i&&((s=i.onProgress)==null||s.call(i,e))}onStateChange(t,e){var c,u,h;const i=this.pendingRequests[t];if(!i)return;const s=i.xhr;if(s.readyState>=2&&i.onHeadersReceived&&(i.onHeadersReceived(),delete i.onHeadersReceived),s.readyState!==4||!(t in this.pendingRequests))return;if(delete this.pendingRequests[t],s.status===0&&this.isHttp){(c=i.onError)==null||c.call(i,s.status);return}const r=s.status||Xp;if(!(r===Xp&&i.expectedStatus===Gp)&&r!==i.expectedStatus){(u=i.onError)==null||u.call(i,s.status);return}const a=sP(s);if(r===Gp){const d=s.getResponseHeader("Content-Range"),f=/bytes (\d+)-(\d+)\/(\d+)/.exec(d);i.onDone({begin:parseInt(f[1],10),chunk:a})}else a?i.onDone({begin:0,chunk:a}):(h=i.onError)==null||h.call(i,s.status)}getRequestXhr(t){return this.pendingRequests[t].xhr}isPendingRequest(t){return t in this.pendingRequests}abortRequest(t){const e=this.pendingRequests[t].xhr;delete this.pendingRequests[t],e.abort()}}class oP{constructor(t){this._source=t,this._manager=new rP(t.url,{httpHeaders:t.httpHeaders,withCredentials:t.withCredentials}),this._rangeChunkSize=t.rangeChunkSize,this._fullRequestReader=null,this._rangeRequestReaders=[]}_onRangeRequestReaderClosed(t){const e=this._rangeRequestReaders.indexOf(t);e>=0&&this._rangeRequestReaders.splice(e,1)}getFullReader(){return Gt(!this._fullRequestReader,"PDFNetworkStream.getFullReader can only be called once."),this._fullRequestReader=new aP(this._manager,this._source),this._fullRequestReader}getRangeReader(t,e){const i=new lP(this._manager,t,e);return i.onClosed=this._onRangeRequestReaderClosed.bind(this),this._rangeRequestReaders.push(i),i}cancelAllRequests(t){var e;(e=this._fullRequestReader)==null||e.cancel(t);for(const i of this._rangeRequestReaders.slice(0))i.cancel(t)}}class aP{constructor(t,e){this._manager=t;const i={onHeadersReceived:this._onHeadersReceived.bind(this),onDone:this._onDone.bind(this),onError:this._onError.bind(this),onProgress:this._onProgress.bind(this)};this._url=e.url,this._fullRequestId=t.requestFull(i),this._headersReceivedCapability=Promise.withResolvers(),this._disableRange=e.disableRange||!1,this._contentLength=e.length,this._rangeChunkSize=e.rangeChunkSize,!this._rangeChunkSize&&!this._disableRange&&(this._disableRange=!0),this._isStreamingSupported=!1,this._isRangeSupported=!1,this._cachedChunks=[],this._requests=[],this._done=!1,this._storedError=void 0,this._filename=null,this.onProgress=null}_onHeadersReceived(){const t=this._fullRequestId,e=this._manager.getRequestXhr(t),i=o=>e.getResponseHeader(o),{allowRangeRequests:s,suggestedLength:r}=py({getResponseHeader:i,isHttp:this._manager.isHttp,rangeChunkSize:this._rangeChunkSize,disableRange:this._disableRange});s&&(this._isRangeSupported=!0),this._contentLength=r||this._contentLength,this._filename=gy(i),this._isRangeSupported&&this._manager.abortRequest(t),this._headersReceivedCapability.resolve()}_onDone(t){if(t&&(this._requests.length>0?this._requests.shift().resolve({value:t.chunk,done:!1}):this._cachedChunks.push(t.chunk)),this._done=!0,!(this._cachedChunks.length>0)){for(const e of this._requests)e.resolve({value:void 0,done:!0});this._requests.length=0}}_onError(t){this._storedError=lp(t,this._url),this._headersReceivedCapability.reject(this._storedError);for(const e of this._requests)e.reject(this._storedError);this._requests.length=0,this._cachedChunks.length=0}_onProgress(t){var e;(e=this.onProgress)==null||e.call(this,{loaded:t.loaded,total:t.lengthComputable?t.total:this._contentLength})}get filename(){return this._filename}get isRangeSupported(){return this._isRangeSupported}get isStreamingSupported(){return this._isStreamingSupported}get contentLength(){return this._contentLength}get headersReady(){return this._headersReceivedCapability.promise}async read(){if(this._storedError)throw this._storedError;if(this._cachedChunks.length>0)return{value:this._cachedChunks.shift(),done:!1};if(this._done)return{value:void 0,done:!0};const t=Promise.withResolvers();return this._requests.push(t),t.promise}cancel(t){this._done=!0,this._headersReceivedCapability.reject(t);for(const e of this._requests)e.resolve({value:void 0,done:!0});this._requests.length=0,this._manager.isPendingRequest(this._fullRequestId)&&this._manager.abortRequest(this._fullRequestId),this._fullRequestReader=null}}class lP{constructor(t,e,i){this._manager=t;const s={onDone:this._onDone.bind(this),onError:this._onError.bind(this),onProgress:this._onProgress.bind(this)};this._url=t.url,this._requestId=t.requestRange(e,i,s),this._requests=[],this._queuedChunk=null,this._done=!1,this._storedError=void 0,this.onProgress=null,this.onClosed=null}_close(){var t;(t=this.onClosed)==null||t.call(this,this)}_onDone(t){const e=t.chunk;this._requests.length>0?this._requests.shift().resolve({value:e,done:!1}):this._queuedChunk=e,this._done=!0;for(const i of this._requests)i.resolve({value:void 0,done:!0});this._requests.length=0,this._close()}_onError(t){this._storedError=lp(t,this._url);for(const e of this._requests)e.reject(this._storedError);this._requests.length=0,this._queuedChunk=null}_onProgress(t){var e;this.isStreamingSupported||(e=this.onProgress)==null||e.call(this,{loaded:t.loaded})}get isStreamingSupported(){return!1}async read(){if(this._storedError)throw this._storedError;if(this._queuedChunk!==null){const e=this._queuedChunk;return this._queuedChunk=null,{value:e,done:!1}}if(this._done)return{value:void 0,done:!0};const t=Promise.withResolvers();return this._requests.push(t),t.promise}cancel(t){this._done=!0;for(const e of this._requests)e.resolve({value:void 0,done:!0});this._requests.length=0,this._manager.isPendingRequest(this._requestId)&&this._manager.abortRequest(this._requestId),this._close()}}const kA=/^file:\/\/\/[a-zA-Z]:\//;function cP(n){const t=xi.get("url"),e=t.parse(n);return e.protocol==="file:"||e.host?e:/^[a-z]:[/\\]/i.test(n)?t.parse(`file:///${n}`):(e.host||(e.protocol="file:"),e)}class uP{constructor(t){this.source=t,this.url=cP(t.url),this.isHttp=this.url.protocol==="http:"||this.url.protocol==="https:",this.isFsUrl=this.url.protocol==="file:",this.httpHeaders=this.isHttp&&t.httpHeaders||{},this._fullRequestReader=null,this._rangeRequestReaders=[]}get _progressiveDataLength(){var t;return((t=this._fullRequestReader)==null?void 0:t._loaded)??0}getFullReader(){return Gt(!this._fullRequestReader,"PDFNodeStream.getFullReader can only be called once."),this._fullRequestReader=this.isFsUrl?new fP(this):new hP(this),this._fullRequestReader}getRangeReader(t,e){if(e<=this._progressiveDataLength)return null;const i=this.isFsUrl?new pP(this,t,e):new dP(this,t,e);return this._rangeRequestReaders.push(i),i}cancelAllRequests(t){var e;(e=this._fullRequestReader)==null||e.cancel(t);for(const i of this._rangeRequestReaders.slice(0))i.cancel(t)}}class PA{constructor(t){this._url=t.url,this._done=!1,this._storedError=null,this.onProgress=null;const e=t.source;this._contentLength=e.length,this._loaded=0,this._filename=null,this._disableRange=e.disableRange||!1,this._rangeChunkSize=e.rangeChunkSize,!this._rangeChunkSize&&!this._disableRange&&(this._disableRange=!0),this._isStreamingSupported=!e.disableStream,this._isRangeSupported=!e.disableRange,this._readableStream=null,this._readCapability=Promise.withResolvers(),this._headersCapability=Promise.withResolvers()}get headersReady(){return this._headersCapability.promise}get filename(){return this._filename}get contentLength(){return this._contentLength}get isRangeSupported(){return this._isRangeSupported}get isStreamingSupported(){return this._isStreamingSupported}async read(){var i;if(await this._readCapability.promise,this._done)return{value:void 0,done:!0};if(this._storedError)throw this._storedError;const t=this._readableStream.read();return t===null?(this._readCapability=Promise.withResolvers(),this.read()):(this._loaded+=t.length,(i=this.onProgress)==null||i.call(this,{loaded:this._loaded,total:this._contentLength}),{value:new Uint8Array(t).buffer,done:!1})}cancel(t){if(!this._readableStream){this._error(t);return}this._readableStream.destroy(t)}_error(t){this._storedError=t,this._readCapability.resolve()}_setReadableStream(t){this._readableStream=t,t.on("readable",()=>{this._readCapability.resolve()}),t.on("end",()=>{t.destroy(),this._done=!0,this._readCapability.resolve()}),t.on("error",e=>{this._error(e)}),!this._isStreamingSupported&&this._isRangeSupported&&this._error(new Ho("streaming is disabled")),this._storedError&&this._readableStream.destroy(this._storedError)}}class RA{constructor(t){this._url=t.url,this._done=!1,this._storedError=null,this.onProgress=null,this._loaded=0,this._readableStream=null,this._readCapability=Promise.withResolvers();const e=t.source;this._isStreamingSupported=!e.disableStream}get isStreamingSupported(){return this._isStreamingSupported}async read(){var i;if(await this._readCapability.promise,this._done)return{value:void 0,done:!0};if(this._storedError)throw this._storedError;const t=this._readableStream.read();return t===null?(this._readCapability=Promise.withResolvers(),this.read()):(this._loaded+=t.length,(i=this.onProgress)==null||i.call(this,{loaded:this._loaded}),{value:new Uint8Array(t).buffer,done:!1})}cancel(t){if(!this._readableStream){this._error(t);return}this._readableStream.destroy(t)}_error(t){this._storedError=t,this._readCapability.resolve()}_setReadableStream(t){this._readableStream=t,t.on("readable",()=>{this._readCapability.resolve()}),t.on("end",()=>{t.destroy(),this._done=!0,this._readCapability.resolve()}),t.on("error",e=>{this._error(e)}),this._storedError&&this._readableStream.destroy(this._storedError)}}function uf(n,t){return{protocol:n.protocol,auth:n.auth,host:n.hostname,port:n.port,path:n.path,method:"GET",headers:t}}class hP extends PA{constructor(t){super(t);const e=i=>{if(i.statusCode===404){const a=new qo(`Missing PDF "${this._url}".`);this._storedError=a,this._headersCapability.reject(a);return}this._headersCapability.resolve(),this._setReadableStream(i);const s=a=>this._readableStream.headers[a.toLowerCase()],{allowRangeRequests:r,suggestedLength:o}=py({getResponseHeader:s,isHttp:t.isHttp,rangeChunkSize:this._rangeChunkSize,disableRange:this._disableRange});this._isRangeSupported=r,this._contentLength=o||this._contentLength,this._filename=gy(s)};if(this._request=null,this._url.protocol==="http:"){const i=xi.get("http");this._request=i.request(uf(this._url,t.httpHeaders),e)}else{const i=xi.get("https");this._request=i.request(uf(this._url,t.httpHeaders),e)}this._request.on("error",i=>{this._storedError=i,this._headersCapability.reject(i)}),this._request.end()}}class dP extends RA{constructor(t,e,i){super(t),this._httpHeaders={};for(const r in t.httpHeaders){const o=t.httpHeaders[r];o!==void 0&&(this._httpHeaders[r]=o)}this._httpHeaders.Range=`bytes=${e}-${i-1}`;const s=r=>{if(r.statusCode===404){const o=new qo(`Missing PDF "${this._url}".`);this._storedError=o;return}this._setReadableStream(r)};if(this._request=null,this._url.protocol==="http:"){const r=xi.get("http");this._request=r.request(uf(this._url,this._httpHeaders),s)}else{const r=xi.get("https");this._request=r.request(uf(this._url,this._httpHeaders),s)}this._request.on("error",r=>{this._storedError=r}),this._request.end()}}class fP extends PA{constructor(t){super(t);let e=decodeURIComponent(this._url.path);kA.test(this._url.href)&&(e=e.replace(/^\//,""));const i=xi.get("fs");i.promises.lstat(e).then(s=>{this._contentLength=s.size,this._setReadableStream(i.createReadStream(e)),this._headersCapability.resolve()},s=>{s.code==="ENOENT"&&(s=new qo(`Missing PDF "${e}".`)),this._storedError=s,this._headersCapability.reject(s)})}}class pP extends RA{constructor(t,e,i){super(t);let s=decodeURIComponent(this._url.path);kA.test(this._url.href)&&(s=s.replace(/^\//,""));const r=xi.get("fs");this._setReadableStream(r.createReadStream(s,{start:e,end:i-1}))}}const gP=1e5,Ie=30,mP=.8;var lw,zs,Oe,yu,wu,Xr,Bi,Su,Au,Gr,Ia,Fa,Vs,Oa,bu,za,Yr,Eu,xu,Qr,Jr,qs,Va,ys,_A,LA,bm,Ei,vd,MA,NA;const ve=class ve{constructor({textContentSource:t,container:e,viewport:i}){b(this,ys);b(this,zs,Promise.withResolvers());b(this,Oe,null);b(this,yu,!1);b(this,wu,!!((lw=globalThis.FontInspector)!=null&&lw.enabled));b(this,Xr,null);b(this,Bi,null);b(this,Su,0);b(this,Au,0);b(this,Gr,null);b(this,Ia,null);b(this,Fa,0);b(this,Vs,0);b(this,Oa,Object.create(null));b(this,bu,[]);b(this,za,null);b(this,Yr,[]);b(this,Eu,new WeakMap);b(this,xu,null);var c;if(t instanceof ReadableStream)S(this,za,t);else if(typeof t=="object")S(this,za,new ReadableStream({start(u){u.enqueue(t),u.close()}}));else throw new Error('No "textContentSource" parameter specified.');S(this,Oe,S(this,Ia,e)),S(this,Vs,i.scale*(globalThis.devicePixelRatio||1)),S(this,Fa,i.rotation),S(this,Bi,{prevFontSize:null,prevFontFamily:null,div:null,properties:null,ctx:null});const{pageWidth:s,pageHeight:r,pageX:o,pageY:a}=i.rawDims;S(this,xu,[1,0,0,-1,-o,a+r]),S(this,Au,s),S(this,Su,r),A(c=ve,Ei,MA).call(c),Mo(e,i),l(this,zs).promise.catch(()=>{}).then(()=>{l(ve,Va).delete(this),S(this,Bi,null),S(this,Oa,null)})}render(){const t=()=>{l(this,Gr).read().then(({value:e,done:i})=>{if(i){l(this,zs).resolve();return}l(this,Xr)??S(this,Xr,e.lang),Object.assign(l(this,Oa),e.styles),A(this,ys,_A).call(this,e.items),t()},l(this,zs).reject)};return S(this,Gr,l(this,za).getReader()),l(ve,Va).add(this),t(),l(this,zs).promise}update({viewport:t,onBefore:e=null}){var r;const i=t.scale*(globalThis.devicePixelRatio||1),s=t.rotation;if(s!==l(this,Fa)&&(e==null||e(),S(this,Fa,s),Mo(l(this,Ia),{rotation:s})),i!==l(this,Vs)){e==null||e(),S(this,Vs,i);const o={prevFontSize:null,prevFontFamily:null,div:null,properties:null,ctx:A(r=ve,Ei,vd).call(r,l(this,Xr))};for(const a of l(this,Yr))o.properties=l(this,Eu).get(a),o.div=a,A(this,ys,bm).call(this,o)}}cancel(){var e;const t=new Ho("TextLayer task cancelled.");(e=l(this,Gr))==null||e.cancel(t).catch(()=>{}),S(this,Gr,null),l(this,zs).reject(t)}get textDivs(){return l(this,Yr)}get textContentItemsStr(){return l(this,bu)}static cleanup(){if(!(l(this,Va).size>0)){l(this,Qr).clear();for(const{canvas:t}of l(this,Jr).values())t.remove();l(this,Jr).clear()}}};zs=new WeakMap,Oe=new WeakMap,yu=new WeakMap,wu=new WeakMap,Xr=new WeakMap,Bi=new WeakMap,Su=new WeakMap,Au=new WeakMap,Gr=new WeakMap,Ia=new WeakMap,Fa=new WeakMap,Vs=new WeakMap,Oa=new WeakMap,bu=new WeakMap,za=new WeakMap,Yr=new WeakMap,Eu=new WeakMap,xu=new WeakMap,Qr=new WeakMap,Jr=new WeakMap,qs=new WeakMap,Va=new WeakMap,ys=new WeakSet,_A=function(t){var s,r;if(l(this,yu))return;(r=l(this,Bi)).ctx??(r.ctx=A(s=ve,Ei,vd).call(s,l(this,Xr)));const e=l(this,Yr),i=l(this,bu);for(const o of t){if(e.length>gP){Q("Ignoring additional textDivs for performance reasons."),S(this,yu,!0);return}if(o.str===void 0){if(o.type==="beginMarkedContentProps"||o.type==="beginMarkedContent"){const a=l(this,Oe);S(this,Oe,document.createElement("span")),l(this,Oe).classList.add("markedContent"),o.id!==null&&l(this,Oe).setAttribute("id",`${o.id}`),a.append(l(this,Oe))}else o.type==="endMarkedContent"&&S(this,Oe,l(this,Oe).parentNode);continue}i.push(o.str),A(this,ys,LA).call(this,o)}},LA=function(t){var w;const e=document.createElement("span"),i={angle:0,canvasWidth:0,hasText:t.str!=="",hasEOL:t.hasEOL,fontSize:0};l(this,Yr).push(e);const s=q.transform(l(this,xu),t.transform);let r=Math.atan2(s[1],s[0]);const o=l(this,Oa)[t.fontName];o.vertical&&(r+=Math.PI/2);const a=l(this,wu)&&o.fontSubstitution||o.fontFamily,c=Math.hypot(s[2],s[3]),u=c*A(w=ve,Ei,NA).call(w,a,l(this,Xr));let h,d;r===0?(h=s[4],d=s[5]-u):(h=s[4]+u*Math.sin(r),d=s[5]-u*Math.cos(r));const f="calc(var(--scale-factor)*",p=e.style;l(this,Oe)===l(this,Ia)?(p.left=`${(100*h/l(this,Au)).toFixed(2)}%`,p.top=`${(100*d/l(this,Su)).toFixed(2)}%`):(p.left=`${f}${h.toFixed(2)}px)`,p.top=`${f}${d.toFixed(2)}px)`),p.fontSize=`${f}${(l(ve,qs)*c).toFixed(2)}px)`,p.fontFamily=a,i.fontSize=c,e.setAttribute("role","presentation"),e.textContent=t.str,e.dir=t.dir,l(this,wu)&&(e.dataset.fontName=o.fontSubstitutionLoadedName||t.fontName),r!==0&&(i.angle=r*(180/Math.PI));let g=!1;if(t.str.length>1)g=!0;else if(t.str!==" "&&t.transform[0]!==t.transform[3]){const E=Math.abs(t.transform[0]),m=Math.abs(t.transform[3]);E!==m&&Math.max(E,m)/Math.min(E,m)>1.5&&(g=!0)}if(g&&(i.canvasWidth=o.vertical?t.height:t.width),l(this,Eu).set(e,i),l(this,Bi).div=e,l(this,Bi).properties=i,A(this,ys,bm).call(this,l(this,Bi)),i.hasText&&l(this,Oe).append(e),i.hasEOL){const E=document.createElement("br");E.setAttribute("role","presentation"),l(this,Oe).append(E)}},bm=function(t){const{div:e,properties:i,ctx:s,prevFontSize:r,prevFontFamily:o}=t,{style:a}=e;let c="";if(l(ve,qs)>1&&(c=`scale(${1/l(ve,qs)})`),i.canvasWidth!==0&&i.hasText){const{fontFamily:u}=a,{canvasWidth:h,fontSize:d}=i;(r!==d||o!==u)&&(s.font=`${d*l(this,Vs)}px ${u}`,t.prevFontSize=d,t.prevFontFamily=u);const{width:f}=s.measureText(e.textContent);f>0&&(c=`scaleX(${h*l(this,Vs)/f}) ${c}`)}i.angle!==0&&(c=`rotate(${i.angle}deg) ${c}`),c.length>0&&(a.transform=c)},Ei=new WeakSet,vd=function(t=null){let e=l(this,Jr).get(t||(t=""));if(!e){const i=document.createElement("canvas");i.className="hiddenCanvasElement",i.lang=t,document.body.append(i),e=i.getContext("2d",{alpha:!1,willReadFrequently:!0}),l(this,Jr).set(t,e)}return e},MA=function(){if(l(this,qs)!==null)return;const t=document.createElement("div");t.style.opacity=0,t.style.lineHeight=1,t.style.fontSize="1px",t.textContent="X",document.body.append(t),S(this,qs,t.getBoundingClientRect().height),t.remove()},NA=function(t,e){const i=l(this,Qr).get(t);if(i)return i;const s=A(this,Ei,vd).call(this,e),r=s.font;s.canvas.width=s.canvas.height=Ie,s.font=`${Ie}px ${t}`;const o=s.measureText("");let a=o.fontBoundingBoxAscent,c=Math.abs(o.fontBoundingBoxDescent);if(a){const d=a/(a+c);return l(this,Qr).set(t,d),s.canvas.width=s.canvas.height=0,s.font=r,d}s.strokeStyle="red",s.clearRect(0,0,Ie,Ie),s.strokeText("g",0,0);let u=s.getImageData(0,0,Ie,Ie).data;c=0;for(let d=u.length-1-3;d>=0;d-=4)if(u[d]>0){c=Math.ceil(d/4/Ie);break}s.clearRect(0,0,Ie,Ie),s.strokeText("A",0,Ie),u=s.getImageData(0,0,Ie,Ie).data,a=0;for(let d=0,f=u.length;d0){a=Ie-Math.floor(d/4/Ie);break}s.canvas.width=s.canvas.height=0,s.font=r;const h=a?a/(a+c):mP;return l(this,Qr).set(t,h),h},b(ve,Ei),b(ve,Qr,new Map),b(ve,Jr,new Map),b(ve,qs,null),b(ve,Va,new Set);let bl=ve;function vP(){B1("`renderTextLayer`, please use `TextLayer` instead.");const{textContentSource:n,container:t,viewport:e,...i}=arguments[0],s=Object.keys(i);s.length>0&&Q("Ignoring `renderTextLayer` parameters: "+s.join(", "));const r=new bl({textContentSource:n,container:t,viewport:e}),{textDivs:o,textContentItemsStr:a}=r;return{promise:r.render(),textDivs:o,textContentItemsStr:a}}function yP(){B1("`updateTextLayer`, please use `TextLayer` instead.")}class Ic{static textContent(t){const e=[],i={items:e,styles:Object.create(null)};function s(r){var c;if(!r)return;let o=null;const a=r.name;if(a==="#text")o=r.value;else if(Ic.shouldBuildText(a))(c=r==null?void 0:r.attributes)!=null&&c.textContent?o=r.attributes.textContent:r.value&&(o=r.value);else return;if(o!==null&&e.push({str:o}),!!r.children)for(const u of r.children)s(u)}return s(t),i}static shouldBuildText(t){return!(t==="textarea"||t==="input"||t==="option"||t==="select")}}const wP=65536,SP=100,AP=5e3,bP=Ae?Nk:Sk,EP=Ae?Dk:j1,xP=Ae?Mk:wk,CP=Ae?Ik:W1;function TP(n={}){typeof n=="string"||n instanceof URL?n={url:n}:(n instanceof ArrayBuffer||ArrayBuffer.isView(n))&&(n={data:n});const t=new Em,{docId:e}=t,i=n.url?kP(n.url):null,s=n.data?PP(n.data):null,r=n.httpHeaders||null,o=n.withCredentials===!0,a=n.password??null,c=n.range instanceof DA?n.range:null,u=Number.isInteger(n.rangeChunkSize)&&n.rangeChunkSize>0?n.rangeChunkSize:wP;let h=n.worker instanceof ya?n.worker:null;const d=n.verbosity,f=typeof n.docBaseUrl=="string"&&!uy(n.docBaseUrl)?n.docBaseUrl:null,p=typeof n.cMapUrl=="string"?n.cMapUrl:null,g=n.cMapPacked!==!1,w=n.CMapReaderFactory||EP,E=typeof n.standardFontDataUrl=="string"?n.standardFontDataUrl:null,m=n.StandardFontDataFactory||CP,v=n.stopAtErrors!==!0,y=Number.isInteger(n.maxImageSize)&&n.maxImageSize>-1?n.maxImageSize:-1,x=n.isEvalSupported!==!1,C=typeof n.isOffscreenCanvasSupported=="boolean"?n.isOffscreenCanvasSupported:!Ae,T=Number.isInteger(n.canvasMaxAreaInBytes)?n.canvasMaxAreaInBytes:-1,k=typeof n.disableFontFace=="boolean"?n.disableFontFace:Ae,P=n.fontExtraProperties===!0,M=n.enableXfa===!0,L=n.ownerDocument||globalThis.document,D=n.disableRange===!0,W=n.disableStream===!0,X=n.disableAutoFetch===!0,tt=n.pdfBug===!0,nt=n.enableHWA===!0,rt=c?c.length:n.length??NaN,U=typeof n.useSystemFonts=="boolean"?n.useSystemFonts:!Ae&&!k,R=typeof n.useWorkerFetch=="boolean"?n.useWorkerFetch:w===j1&&m===W1&&p&&E&&Xl(p,document.baseURI)&&Xl(E,document.baseURI),H=n.canvasFactory||new bP({ownerDocument:L,enableHWA:nt}),B=n.filterFactory||new xP({docId:e,ownerDocument:L}),mt=null;lk(d);const it={canvasFactory:H,filterFactory:B};if(R||(it.cMapReaderFactory=new w({baseUrl:p,isCompressed:g}),it.standardFontDataFactory=new m({baseUrl:E})),!h){const Rn={verbosity:d,port:us.workerPort};h=Rn.port?ya.fromPort(Rn):new ya(Rn),t._worker=h}const _t={docId:e,apiVersion:"4.4.168",data:s,password:a,disableAutoFetch:X,rangeChunkSize:u,length:rt,docBaseUrl:f,enableXfa:M,evaluatorOptions:{maxImageSize:y,disableFontFace:k,ignoreErrors:v,isEvalSupported:x,isOffscreenCanvasSupported:C,canvasMaxAreaInBytes:T,fontExtraProperties:P,useSystemFonts:U,cMapUrl:R?p:null,standardFontDataUrl:R?E:null}},pn={disableFontFace:k,fontExtraProperties:P,ownerDocument:L,pdfBug:tt,styleElement:mt,loadingParams:{disableAutoFetch:X,enableXfa:M}};return h.promise.then(function(){if(t.destroyed)throw new Error("Loading aborted");if(h.destroyed)throw new Error("Worker was destroyed");const Rn=h.messageHandler.sendWithPromise("GetDocRequest",_t,s?[s.buffer]:null);let he;if(c)he=new Zk(c,{disableRange:D,disableStream:W});else if(!s){if(!i)throw new Error("getDocument - no `url` parameter provided.");he=(ki=>Ae?function(){return typeof fetch<"u"&&typeof Response<"u"&&"body"in Response.prototype}()&&Xl(ki.url)?new sw(ki):new uP(ki):Xl(ki.url)?new sw(ki):new oP(ki))({url:i,length:rt,httpHeaders:r,withCredentials:o,rangeChunkSize:u,disableRange:D,disableStream:W})}return Rn.then(Et=>{if(t.destroyed)throw new Error("Loading aborted");if(h.destroyed)throw new Error("Worker was destroyed");const ki=new Ql(e,Et,h.port),Sy=new MP(ki,t,he,pn,it);t._transport=Sy,ki.send("Ready",null)})}).catch(t._capability.reject),t}function kP(n){if(n instanceof URL)return n.href;try{return new URL(n,window.location).href}catch{if(Ae&&typeof n=="string")return n}throw new Error("Invalid PDF url data: either string or URL-object is expected in the url property.")}function PP(n){if(Ae&&typeof Buffer<"u"&&n instanceof Buffer)throw new Error("Please provide binary data as `Uint8Array`, rather than `Buffer`.");if(n instanceof Uint8Array&&n.byteLength===n.buffer.byteLength)return n;if(typeof n=="string")return ip(n);if(n instanceof ArrayBuffer||ArrayBuffer.isView(n)||typeof n=="object"&&!isNaN(n==null?void 0:n.length))return new Uint8Array(n);throw new Error("Invalid PDF binary data: either TypedArray, string, or array-like object is expected in the data property.")}function rw(n){return typeof n=="object"&&Number.isInteger(n==null?void 0:n.num)&&n.num>=0&&Number.isInteger(n==null?void 0:n.gen)&&n.gen>=0}var Cf;const Tf=class Tf{constructor(){this._capability=Promise.withResolvers(),this._transport=null,this._worker=null,this.docId=`d${Xe(Tf,Cf)._++}`,this.destroyed=!1,this.onPassword=null,this.onProgress=null}get promise(){return this._capability.promise}async destroy(){var t,e,i;this.destroyed=!0;try{(t=this._worker)!=null&&t.port&&(this._worker._pendingDestroy=!0),await((e=this._transport)==null?void 0:e.destroy())}catch(s){throw(i=this._worker)!=null&&i.port&&delete this._worker._pendingDestroy,s}this._transport=null,this._worker&&(this._worker.destroy(),this._worker=null)}};Cf=new WeakMap,b(Tf,Cf,0);let Em=Tf;class DA{constructor(t,e,i=!1,s=null){this.length=t,this.initialData=e,this.progressiveDone=i,this.contentDispositionFilename=s,this._rangeListeners=[],this._progressListeners=[],this._progressiveReadListeners=[],this._progressiveDoneListeners=[],this._readyCapability=Promise.withResolvers()}addRangeListener(t){this._rangeListeners.push(t)}addProgressListener(t){this._progressListeners.push(t)}addProgressiveReadListener(t){this._progressiveReadListeners.push(t)}addProgressiveDoneListener(t){this._progressiveDoneListeners.push(t)}onDataRange(t,e){for(const i of this._rangeListeners)i(t,e)}onDataProgress(t,e){this._readyCapability.promise.then(()=>{for(const i of this._progressListeners)i(t,e)})}onDataProgressiveRead(t){this._readyCapability.promise.then(()=>{for(const e of this._progressiveReadListeners)e(t)})}onDataProgressiveDone(){this._readyCapability.promise.then(()=>{for(const t of this._progressiveDoneListeners)t()})}transportReady(){this._readyCapability.resolve()}requestDataRange(t,e){pt("Abstract method PDFDataRangeTransport.requestDataRange")}abort(){}}class RP{constructor(t,e){this._pdfInfo=t,this._transport=e}get annotationStorage(){return this._transport.annotationStorage}get filterFactory(){return this._transport.filterFactory}get numPages(){return this._pdfInfo.numPages}get fingerprints(){return this._pdfInfo.fingerprints}get isPureXfa(){return ot(this,"isPureXfa",!!this._transport._htmlForXfa)}get allXfaHtml(){return this._transport._htmlForXfa}getPage(t){return this._transport.getPage(t)}getPageIndex(t){return this._transport.getPageIndex(t)}getDestinations(){return this._transport.getDestinations()}getDestination(t){return this._transport.getDestination(t)}getPageLabels(){return this._transport.getPageLabels()}getPageLayout(){return this._transport.getPageLayout()}getPageMode(){return this._transport.getPageMode()}getViewerPreferences(){return this._transport.getViewerPreferences()}getOpenAction(){return this._transport.getOpenAction()}getAttachments(){return this._transport.getAttachments()}getJSActions(){return this._transport.getDocJSActions()}getOutline(){return this._transport.getOutline()}getOptionalContentConfig({intent:t="display"}={}){const{renderingIntent:e}=this._transport.getRenderingIntent(t);return this._transport.getOptionalContentConfig(e)}getPermissions(){return this._transport.getPermissions()}getMetadata(){return this._transport.getMetadata()}getMarkInfo(){return this._transport.getMarkInfo()}getData(){return this._transport.getData()}saveDocument(){return this._transport.saveDocument()}getDownloadInfo(){return this._transport.downloadInfoCapability.promise}cleanup(t=!1){return this._transport.startCleanup(t||this.isPureXfa)}destroy(){return this.loadingTask.destroy()}cachedPageNumber(t){return this._transport.cachedPageNumber(t)}get loadingParams(){return this._transport.loadingParams}get loadingTask(){return this._transport.loadingTask}getFieldObjects(){return this._transport.getFieldObjects()}hasJSActions(){return this._transport.hasJSActions()}getCalculationOrderIds(){return this._transport.getCalculationOrderIds()}}var Hs,Ki,En,Go,yd;class _P{constructor(t,e,i,s=!1){b(this,En);b(this,Hs,null);b(this,Ki,!1);this._pageIndex=t,this._pageInfo=e,this._transport=i,this._stats=s?new B0:null,this._pdfBug=s,this.commonObjs=i.commonObjs,this.objs=new IA,this._maybeCleanupAfterRender=!1,this._intentStates=new Map,this.destroyed=!1}get pageNumber(){return this._pageIndex+1}get rotate(){return this._pageInfo.rotate}get ref(){return this._pageInfo.ref}get userUnit(){return this._pageInfo.userUnit}get view(){return this._pageInfo.view}getViewport({scale:t,rotation:e=this.rotate,offsetX:i=0,offsetY:s=0,dontFlip:r=!1}={}){return new Sh({viewBox:this.view,scale:t,rotation:e,offsetX:i,offsetY:s,dontFlip:r})}getAnnotations({intent:t="display"}={}){const{renderingIntent:e}=this._transport.getRenderingIntent(t);return this._transport.getAnnotations(this._pageIndex,e)}getJSActions(){return this._transport.getPageJSActions(this._pageIndex)}get filterFactory(){return this._transport.filterFactory}get isPureXfa(){return ot(this,"isPureXfa",!!this._transport._htmlForXfa)}async getXfa(){var t;return((t=this._transport._htmlForXfa)==null?void 0:t.children[this._pageIndex])||null}render({canvasContext:t,viewport:e,intent:i="display",annotationMode:s=Ls.ENABLE,transform:r=null,background:o=null,optionalContentConfigPromise:a=null,annotationCanvasMap:c=null,pageColors:u=null,printAnnotationStorage:h=null}){var y,x;(y=this._stats)==null||y.time("Overall");const d=this._transport.getRenderingIntent(i,s,h),{renderingIntent:f,cacheKey:p}=d;S(this,Ki,!1),A(this,En,yd).call(this),a||(a=this._transport.getOptionalContentConfig(f));let g=this._intentStates.get(p);g||(g=Object.create(null),this._intentStates.set(p,g)),g.streamReaderCancelTimeout&&(clearTimeout(g.streamReaderCancelTimeout),g.streamReaderCancelTimeout=null);const w=!!(f&Sn.PRINT);g.displayReadyCapability||(g.displayReadyCapability=Promise.withResolvers(),g.operatorList={fnArray:[],argsArray:[],lastChunk:!1,separateAnnots:null},(x=this._stats)==null||x.time("Page Request"),this._pumpOperatorList(d));const E=C=>{var T;g.renderTasks.delete(m),(this._maybeCleanupAfterRender||w)&&S(this,Ki,!0),A(this,En,Go).call(this,!w),C?(m.capability.reject(C),this._abortOperatorList({intentState:g,reason:C instanceof Error?C:new Error(C)})):m.capability.resolve(),this._stats&&(this._stats.timeEnd("Rendering"),this._stats.timeEnd("Overall"),(T=globalThis.Stats)!=null&&T.enabled&&globalThis.Stats.add(this.pageNumber,this._stats))},m=new Cm({callback:E,params:{canvasContext:t,viewport:e,transform:r,background:o},objs:this.objs,commonObjs:this.commonObjs,annotationCanvasMap:c,operatorList:g.operatorList,pageIndex:this._pageIndex,canvasFactory:this._transport.canvasFactory,filterFactory:this._transport.filterFactory,useRequestAnimationFrame:!w,pdfBug:this._pdfBug,pageColors:u});(g.renderTasks||(g.renderTasks=new Set)).add(m);const v=m.task;return Promise.all([g.displayReadyCapability.promise,a]).then(([C,T])=>{var k;if(this.destroyed){E();return}if((k=this._stats)==null||k.time("Rendering"),!(T.renderingIntent&f))throw new Error("Must use the same `intent`-argument when calling the `PDFPageProxy.render` and `PDFDocumentProxy.getOptionalContentConfig` methods.");m.initializeGraphics({transparency:C,optionalContentConfig:T}),m.operatorListChanged()}).catch(E),v}getOperatorList({intent:t="display",annotationMode:e=Ls.ENABLE,printAnnotationStorage:i=null}={}){var c;function s(){o.operatorList.lastChunk&&(o.opListReadCapability.resolve(o.operatorList),o.renderTasks.delete(a))}const r=this._transport.getRenderingIntent(t,e,i,!0);let o=this._intentStates.get(r.cacheKey);o||(o=Object.create(null),this._intentStates.set(r.cacheKey,o));let a;return o.opListReadCapability||(a=Object.create(null),a.operatorListChanged=s,o.opListReadCapability=Promise.withResolvers(),(o.renderTasks||(o.renderTasks=new Set)).add(a),o.operatorList={fnArray:[],argsArray:[],lastChunk:!1,separateAnnots:null},(c=this._stats)==null||c.time("Page Request"),this._pumpOperatorList(r)),o.opListReadCapability.promise}streamTextContent({includeMarkedContent:t=!1,disableNormalization:e=!1}={}){return this._transport.messageHandler.sendWithStream("GetTextContent",{pageIndex:this._pageIndex,includeMarkedContent:t===!0,disableNormalization:e===!0},{highWaterMark:100,size(s){return s.items.length}})}getTextContent(t={}){if(this._transport._htmlForXfa)return this.getXfa().then(i=>Ic.textContent(i));const e=this.streamTextContent(t);return new Promise(function(i,s){function r(){o.read().then(function({value:c,done:u}){if(u){i(a);return}a.lang??(a.lang=c.lang),Object.assign(a.styles,c.styles),a.items.push(...c.items),r()},s)}const o=e.getReader(),a={items:[],styles:Object.create(null),lang:null};r()})}getStructTree(){return this._transport.getStructTree(this._pageIndex)}_destroy(){this.destroyed=!0;const t=[];for(const e of this._intentStates.values())if(this._abortOperatorList({intentState:e,reason:new Error("Page was destroyed."),force:!0}),!e.opListReadCapability)for(const i of e.renderTasks)t.push(i.completed),i.cancel();return this.objs.clear(),S(this,Ki,!1),A(this,En,yd).call(this),Promise.all(t)}cleanup(t=!1){S(this,Ki,!0);const e=A(this,En,Go).call(this,!1);return t&&e&&this._stats&&(this._stats=new B0),e}_startRenderPage(t,e){var s,r;const i=this._intentStates.get(e);i&&((s=this._stats)==null||s.timeEnd("Page Request"),(r=i.displayReadyCapability)==null||r.resolve(t))}_renderPageChunk(t,e){for(let i=0,s=t.length;i{a.read().then(({value:h,done:d})=>{if(d){c.streamReader=null;return}this._transport.destroyed||(this._renderPageChunk(h,c),u())},h=>{if(c.streamReader=null,!this._transport.destroyed){if(c.operatorList){c.operatorList.lastChunk=!0;for(const d of c.renderTasks)d.operatorListChanged();A(this,En,Go).call(this,!0)}if(c.displayReadyCapability)c.displayReadyCapability.reject(h);else if(c.opListReadCapability)c.opListReadCapability.reject(h);else throw h}})};u()}_abortOperatorList({intentState:t,reason:e,force:i=!1}){if(t.streamReader){if(t.streamReaderCancelTimeout&&(clearTimeout(t.streamReaderCancelTimeout),t.streamReaderCancelTimeout=null),!i){if(t.renderTasks.size>0)return;if(e instanceof cy){let s=SP;e.extraDelay>0&&e.extraDelay<1e3&&(s+=e.extraDelay),t.streamReaderCancelTimeout=setTimeout(()=>{t.streamReaderCancelTimeout=null,this._abortOperatorList({intentState:t,reason:e,force:!0})},s);return}}if(t.streamReader.cancel(new Ho(e.message)).catch(()=>{}),t.streamReader=null,!this._transport.destroyed){for(const[s,r]of this._intentStates)if(r===t){this._intentStates.delete(s);break}this.cleanup()}}}get stats(){return this._stats}}Hs=new WeakMap,Ki=new WeakMap,En=new WeakSet,Go=function(t=!1){if(A(this,En,yd).call(this),!l(this,Ki)||this.destroyed)return!1;if(t)return S(this,Hs,setTimeout(()=>{S(this,Hs,null),A(this,En,Go).call(this,!1)},AP)),!1;for(const{renderTasks:e,operatorList:i}of this._intentStates.values())if(e.size>0||!i.lastChunk)return!1;return this._intentStates.clear(),this.objs.clear(),S(this,Ki,!1),!0},yd=function(){l(this,Hs)&&(clearTimeout(l(this,Hs)),S(this,Hs,null))};var Zr,kf;class LP{constructor(){b(this,Zr,new Set);b(this,kf,Promise.resolve())}postMessage(t,e){const i={data:structuredClone(t,e?{transfer:e}:null)};l(this,kf).then(()=>{for(const s of l(this,Zr))s.call(this,i)})}addEventListener(t,e){l(this,Zr).add(e)}removeEventListener(t,e){l(this,Zr).delete(e)}terminate(){l(this,Zr).clear()}}Zr=new WeakMap,kf=new WeakMap;const Fi={isWorkerDisabled:!1,fakeWorkerId:0};Ae&&(Fi.isWorkerDisabled=!0,us.workerSrc||(us.workerSrc="./pdf.worker.mjs")),Fi.isSameOrigin=function(n,t){let e;try{if(e=new URL(n),!e.origin||e.origin==="null")return!1}catch{return!1}const i=new URL(t,e);return e.origin===i.origin},Fi.createCDNWrapper=function(n){const t=`await import("${n}");`;return URL.createObjectURL(new Blob([t],{type:"text/javascript"}))};var $r,qa,wd,Ha,Sd;const Qe=class Qe{constructor({name:t=null,port:e=null,verbosity:i=ck()}={}){b(this,qa);var s;if(this.name=t,this.destroyed=!1,this.verbosity=i,this._readyCapability=Promise.withResolvers(),this._port=null,this._webWorker=null,this._messageHandler=null,e){if((s=l(Qe,$r))!=null&&s.has(e))throw new Error("Cannot use more than one PDFWorker per port.");(l(Qe,$r)||S(Qe,$r,new WeakMap)).set(e,this),this._initializeFromPort(e);return}this._initialize()}get promise(){return Ae?Promise.all([xi.promise,this._readyCapability.promise]):this._readyCapability.promise}get port(){return this._port}get messageHandler(){return this._messageHandler}_initializeFromPort(t){this._port=t,this._messageHandler=new Ql("main","worker",t),this._messageHandler.on("ready",function(){}),A(this,qa,wd).call(this)}_initialize(){if(Fi.isWorkerDisabled||l(Qe,Ha,Sd)){this._setupFakeWorker();return}let{workerSrc:t}=Qe;try{Fi.isSameOrigin(window.location.href,t)||(t=Fi.createCDNWrapper(new URL(t,window.location).href));const e=new Worker(t,{type:"module"}),i=new Ql("main","worker",e),s=()=>{r.abort(),i.destroy(),e.terminate(),this.destroyed?this._readyCapability.reject(new Error("Worker was destroyed")):this._setupFakeWorker()},r=new AbortController;e.addEventListener("error",()=>{this._webWorker||s()},{signal:r.signal}),i.on("test",a=>{if(r.abort(),this.destroyed||!a){s();return}this._messageHandler=i,this._port=e,this._webWorker=e,A(this,qa,wd).call(this)}),i.on("ready",a=>{if(r.abort(),this.destroyed){s();return}try{o()}catch{this._setupFakeWorker()}});const o=()=>{const a=new Uint8Array;i.send("test",a,[a.buffer])};o();return}catch{ep("The worker has been disabled.")}this._setupFakeWorker()}_setupFakeWorker(){Fi.isWorkerDisabled||(Q("Setting up fake worker."),Fi.isWorkerDisabled=!0),Qe._setupFakeWorkerGlobal.then(t=>{if(this.destroyed){this._readyCapability.reject(new Error("Worker was destroyed"));return}const e=new LP;this._port=e;const i=`fake${Fi.fakeWorkerId++}`,s=new Ql(i+"_worker",i,e);t.setup(s,e),this._messageHandler=new Ql(i,i+"_worker",e),A(this,qa,wd).call(this)}).catch(t=>{this._readyCapability.reject(new Error(`Setting up fake worker failed: "${t.message}".`))})}destroy(){var t;this.destroyed=!0,this._webWorker&&(this._webWorker.terminate(),this._webWorker=null),(t=l(Qe,$r))==null||t.delete(this._port),this._port=null,this._messageHandler&&(this._messageHandler.destroy(),this._messageHandler=null)}static fromPort(t){var i;if(!(t!=null&&t.port))throw new Error("PDFWorker.fromPort - invalid method signature.");const e=(i=l(this,$r))==null?void 0:i.get(t.port);if(e){if(e._pendingDestroy)throw new Error("PDFWorker.fromPort - the worker is being destroyed.\nPlease remember to await `PDFDocumentLoadingTask.destroy()`-calls.");return e}return new Qe(t)}static get workerSrc(){if(us.workerSrc)return us.workerSrc;throw new Error('No "GlobalWorkerOptions.workerSrc" specified.')}static get _setupFakeWorkerGlobal(){return ot(this,"_setupFakeWorkerGlobal",(async()=>l(this,Ha,Sd)?l(this,Ha,Sd):(await import(this.workerSrc)).WorkerMessageHandler)())}};$r=new WeakMap,qa=new WeakSet,wd=function(){this._readyCapability.resolve(),this._messageHandler.send("configure",{verbosity:this.verbosity})},Ha=new WeakSet,Sd=function(){var t;try{return((t=globalThis.pdfjsWorker)==null?void 0:t.WorkerMessageHandler)||null}catch{return null}},b(Qe,Ha),b(Qe,$r);let ya=Qe;var Xi,ci,Ua,ja,ui,to,Jl;class MP{constructor(t,e,i,s,r){b(this,to);b(this,Xi,new Map);b(this,ci,new Map);b(this,Ua,new Map);b(this,ja,new Map);b(this,ui,null);this.messageHandler=t,this.loadingTask=e,this.commonObjs=new IA,this.fontLoader=new _k({ownerDocument:s.ownerDocument,styleElement:s.styleElement}),this.loadingParams=s.loadingParams,this._params=s,this.canvasFactory=r.canvasFactory,this.filterFactory=r.filterFactory,this.cMapReaderFactory=r.cMapReaderFactory,this.standardFontDataFactory=r.standardFontDataFactory,this.destroyed=!1,this.destroyCapability=null,this._networkStream=i,this._fullReader=null,this._lastProgress=null,this.downloadInfoCapability=Promise.withResolvers(),this.setupMessageHandler()}get annotationStorage(){return ot(this,"annotationStorage",new fy)}getRenderingIntent(t,e=Ls.ENABLE,i=null,s=!1){let r=Sn.DISPLAY,o=gm;switch(t){case"any":r=Sn.ANY;break;case"display":break;case"print":r=Sn.PRINT;break;default:Q(`getRenderingIntent - invalid intent: ${t}`)}switch(e){case Ls.DISABLE:r+=Sn.ANNOTATIONS_DISABLE;break;case Ls.ENABLE:break;case Ls.ENABLE_FORMS:r+=Sn.ANNOTATIONS_FORMS;break;case Ls.ENABLE_STORAGE:r+=Sn.ANNOTATIONS_STORAGE,o=(r&Sn.PRINT&&i instanceof wA?i:this.annotationStorage).serializable;break;default:Q(`getRenderingIntent - invalid annotationMode: ${e}`)}return s&&(r+=Sn.OPLIST),{renderingIntent:r,cacheKey:`${r}_${o.hash}`,annotationStorageSerializable:o}}destroy(){var i;if(this.destroyCapability)return this.destroyCapability.promise;this.destroyed=!0,this.destroyCapability=Promise.withResolvers(),(i=l(this,ui))==null||i.reject(new Error("Worker was destroyed during onPassword callback"));const t=[];for(const s of l(this,ci).values())t.push(s._destroy());l(this,ci).clear(),l(this,Ua).clear(),l(this,ja).clear(),this.hasOwnProperty("annotationStorage")&&this.annotationStorage.resetModified();const e=this.messageHandler.sendWithPromise("Terminate",null);return t.push(e),Promise.all(t).then(()=>{var s;this.commonObjs.clear(),this.fontLoader.clear(),l(this,Xi).clear(),this.filterFactory.destroy(),bl.cleanup(),(s=this._networkStream)==null||s.cancelAllRequests(new Ho("Worker was terminated.")),this.messageHandler&&(this.messageHandler.destroy(),this.messageHandler=null),this.destroyCapability.resolve()},this.destroyCapability.reject),this.destroyCapability.promise}setupMessageHandler(){const{messageHandler:t,loadingTask:e}=this;t.on("GetReader",(i,s)=>{Gt(this._networkStream,"GetReader - no `IPDFStream` instance available."),this._fullReader=this._networkStream.getFullReader(),this._fullReader.onProgress=r=>{this._lastProgress={loaded:r.loaded,total:r.total}},s.onPull=()=>{this._fullReader.read().then(function({value:r,done:o}){if(o){s.close();return}Gt(r instanceof ArrayBuffer,"GetReader - expected an ArrayBuffer."),s.enqueue(new Uint8Array(r),1,[r])}).catch(r=>{s.error(r)})},s.onCancel=r=>{this._fullReader.cancel(r),s.ready.catch(o=>{if(!this.destroyed)throw o})}}),t.on("ReaderHeadersReady",i=>{const s=Promise.withResolvers(),r=this._fullReader;return r.headersReady.then(()=>{var o;(!r.isStreamingSupported||!r.isRangeSupported)&&(this._lastProgress&&((o=e.onProgress)==null||o.call(e,this._lastProgress)),r.onProgress=a=>{var c;(c=e.onProgress)==null||c.call(e,{loaded:a.loaded,total:a.total})}),s.resolve({isStreamingSupported:r.isStreamingSupported,isRangeSupported:r.isRangeSupported,contentLength:r.contentLength})},s.reject),s.promise}),t.on("GetRangeReader",(i,s)=>{Gt(this._networkStream,"GetRangeReader - no `IPDFStream` instance available.");const r=this._networkStream.getRangeReader(i.begin,i.end);if(!r){s.close();return}s.onPull=()=>{r.read().then(function({value:o,done:a}){if(a){s.close();return}Gt(o instanceof ArrayBuffer,"GetRangeReader - expected an ArrayBuffer."),s.enqueue(new Uint8Array(o),1,[o])}).catch(o=>{s.error(o)})},s.onCancel=o=>{r.cancel(o),s.ready.catch(a=>{if(!this.destroyed)throw a})}}),t.on("GetDoc",({pdfInfo:i})=>{this._numPages=i.numPages,this._htmlForXfa=i.htmlForXfa,delete i.htmlForXfa,e._capability.resolve(new RP(i,this))}),t.on("DocException",function(i){let s;switch(i.name){case"PasswordException":s=new Kg(i.message,i.code);break;case"InvalidPDFException":s=new V1(i.message);break;case"MissingPDFException":s=new qo(i.message);break;case"UnexpectedResponseException":s=new np(i.message,i.status);break;case"UnknownErrorException":s=new Xg(i.message,i.details);break;default:pt("DocException - expected a valid Error.")}e._capability.reject(s)}),t.on("PasswordRequest",i=>{if(S(this,ui,Promise.withResolvers()),e.onPassword){const s=r=>{r instanceof Error?l(this,ui).reject(r):l(this,ui).resolve({password:r})};try{e.onPassword(s,i.code)}catch(r){l(this,ui).reject(r)}}else l(this,ui).reject(new Kg(i.message,i.code));return l(this,ui).promise}),t.on("DataLoaded",i=>{var s;(s=e.onProgress)==null||s.call(e,{loaded:i.length,total:i.length}),this.downloadInfoCapability.resolve(i)}),t.on("StartRenderPage",i=>{if(this.destroyed)return;l(this,ci).get(i.pageIndex)._startRenderPage(i.transparency,i.cacheKey)}),t.on("commonobj",([i,s,r])=>{var o;if(this.destroyed||this.commonObjs.has(i))return null;switch(s){case"Font":const{disableFontFace:a,fontExtraProperties:c,pdfBug:u}=this._params;if("error"in r){const p=r.error;Q(`Error during font loading: ${p}`),this.commonObjs.resolve(i,p);break}const h=u&&((o=globalThis.FontInspector)!=null&&o.enabled)?(p,g)=>globalThis.FontInspector.fontAdded(p,g):null,d=new Lk(r,{disableFontFace:a,inspectFont:h});this.fontLoader.bind(d).catch(()=>t.sendWithPromise("FontFallback",{id:i})).finally(()=>{!c&&d.data&&(d.data=null),this.commonObjs.resolve(i,d)});break;case"CopyLocalImage":const{imageRef:f}=r;Gt(f,"The imageRef must be defined.");for(const p of l(this,ci).values())for(const[,g]of p.objs)if((g==null?void 0:g.ref)===f)return g.dataLen?(this.commonObjs.resolve(i,structuredClone(g)),g.dataLen):null;break;case"FontPath":case"Image":case"Pattern":this.commonObjs.resolve(i,r);break;default:throw new Error(`Got unknown common object type ${s}`)}return null}),t.on("obj",([i,s,r,o])=>{var c;if(this.destroyed)return;const a=l(this,ci).get(s);if(!a.objs.has(i)){if(a._intentStates.size===0){(c=o==null?void 0:o.bitmap)==null||c.close();return}switch(r){case"Image":a.objs.resolve(i,o),(o==null?void 0:o.dataLen)>sk&&(a._maybeCleanupAfterRender=!0);break;case"Pattern":a.objs.resolve(i,o);break;default:throw new Error(`Got unknown object type ${r}`)}}}),t.on("DocProgress",i=>{var s;this.destroyed||(s=e.onProgress)==null||s.call(e,{loaded:i.loaded,total:i.total})}),t.on("FetchBuiltInCMap",i=>this.destroyed?Promise.reject(new Error("Worker was destroyed.")):this.cMapReaderFactory?this.cMapReaderFactory.fetch(i):Promise.reject(new Error("CMapReaderFactory not initialized, see the `useWorkerFetch` parameter."))),t.on("FetchStandardFontData",i=>this.destroyed?Promise.reject(new Error("Worker was destroyed.")):this.standardFontDataFactory?this.standardFontDataFactory.fetch(i):Promise.reject(new Error("StandardFontDataFactory not initialized, see the `useWorkerFetch` parameter.")))}getData(){return this.messageHandler.sendWithPromise("GetData",null)}saveDocument(){var i;this.annotationStorage.size<=0&&Q("saveDocument called while `annotationStorage` is empty, please use the getData-method instead.");const{map:t,transfer:e}=this.annotationStorage.serializable;return this.messageHandler.sendWithPromise("SaveDocument",{isPureXfa:!!this._htmlForXfa,numPages:this._numPages,annotationStorage:t,filename:((i=this._fullReader)==null?void 0:i.filename)??null},e).finally(()=>{this.annotationStorage.resetModified()})}getPage(t){if(!Number.isInteger(t)||t<=0||t>this._numPages)return Promise.reject(new Error("Invalid page request."));const e=t-1,i=l(this,Ua).get(e);if(i)return i;const s=this.messageHandler.sendWithPromise("GetPage",{pageIndex:e}).then(r=>{if(this.destroyed)throw new Error("Transport destroyed");r.refStr&&l(this,ja).set(r.refStr,t);const o=new _P(e,r,this,this._params.pdfBug);return l(this,ci).set(e,o),o});return l(this,Ua).set(e,s),s}getPageIndex(t){return rw(t)?this.messageHandler.sendWithPromise("GetPageIndex",{num:t.num,gen:t.gen}):Promise.reject(new Error("Invalid pageIndex request."))}getAnnotations(t,e){return this.messageHandler.sendWithPromise("GetAnnotations",{pageIndex:t,intent:e})}getFieldObjects(){return A(this,to,Jl).call(this,"GetFieldObjects")}hasJSActions(){return A(this,to,Jl).call(this,"HasJSActions")}getCalculationOrderIds(){return this.messageHandler.sendWithPromise("GetCalculationOrderIds",null)}getDestinations(){return this.messageHandler.sendWithPromise("GetDestinations",null)}getDestination(t){return typeof t!="string"?Promise.reject(new Error("Invalid destination request.")):this.messageHandler.sendWithPromise("GetDestination",{id:t})}getPageLabels(){return this.messageHandler.sendWithPromise("GetPageLabels",null)}getPageLayout(){return this.messageHandler.sendWithPromise("GetPageLayout",null)}getPageMode(){return this.messageHandler.sendWithPromise("GetPageMode",null)}getViewerPreferences(){return this.messageHandler.sendWithPromise("GetViewerPreferences",null)}getOpenAction(){return this.messageHandler.sendWithPromise("GetOpenAction",null)}getAttachments(){return this.messageHandler.sendWithPromise("GetAttachments",null)}getDocJSActions(){return A(this,to,Jl).call(this,"GetDocJSActions")}getPageJSActions(t){return this.messageHandler.sendWithPromise("GetPageJSActions",{pageIndex:t})}getStructTree(t){return this.messageHandler.sendWithPromise("GetStructTree",{pageIndex:t})}getOutline(){return this.messageHandler.sendWithPromise("GetOutline",null)}getOptionalContentConfig(t){return A(this,to,Jl).call(this,"GetOptionalContentConfig").then(e=>new Jk(e,t))}getPermissions(){return this.messageHandler.sendWithPromise("GetPermissions",null)}getMetadata(){const t="GetMetadata",e=l(this,Xi).get(t);if(e)return e;const i=this.messageHandler.sendWithPromise(t,null).then(s=>{var r,o;return{info:s[0],metadata:s[1]?new Yk(s[1]):null,contentDispositionFilename:((r=this._fullReader)==null?void 0:r.filename)??null,contentLength:((o=this._fullReader)==null?void 0:o.contentLength)??null}});return l(this,Xi).set(t,i),i}getMarkInfo(){return this.messageHandler.sendWithPromise("GetMarkInfo",null)}async startCleanup(t=!1){if(!this.destroyed){await this.messageHandler.sendWithPromise("Cleanup",null);for(const e of l(this,ci).values())if(!e.cleanup())throw new Error(`startCleanup: Page ${e.pageNumber} is currently rendering.`);this.commonObjs.clear(),t||this.fontLoader.clear(),l(this,Xi).clear(),this.filterFactory.destroy(!0),bl.cleanup()}}cachedPageNumber(t){if(!rw(t))return null;const e=t.gen===0?`${t.num}R`:`${t.num}R${t.gen}`;return l(this,ja).get(e)??null}}Xi=new WeakMap,ci=new WeakMap,Ua=new WeakMap,ja=new WeakMap,ui=new WeakMap,to=new WeakSet,Jl=function(t,e=null){const i=l(this,Xi).get(t);if(i)return i;const s=this.messageHandler.sendWithPromise(t,e);return l(this,Xi).set(t,s),s};const Yh=Symbol("INITIAL_DATA");var qn,Cu,xm;class IA{constructor(){b(this,Cu);b(this,qn,Object.create(null))}get(t,e=null){if(e){const s=A(this,Cu,xm).call(this,t);return s.promise.then(()=>e(s.data)),null}const i=l(this,qn)[t];if(!i||i.data===Yh)throw new Error(`Requesting object that isn't resolved yet ${t}.`);return i.data}has(t){const e=l(this,qn)[t];return!!e&&e.data!==Yh}resolve(t,e=null){const i=A(this,Cu,xm).call(this,t);i.data=e,i.resolve()}clear(){var t;for(const e in l(this,qn)){const{data:i}=l(this,qn)[e];(t=i==null?void 0:i.bitmap)==null||t.close()}S(this,qn,Object.create(null))}*[Symbol.iterator](){for(const t in l(this,qn)){const{data:e}=l(this,qn)[t];e!==Yh&&(yield[t,e])}}}qn=new WeakMap,Cu=new WeakSet,xm=function(t){var e;return(e=l(this,qn))[t]||(e[t]={...Promise.withResolvers(),data:Yh})};var Us;class NP{constructor(t){b(this,Us,null);S(this,Us,t),this.onContinue=null}get promise(){return l(this,Us).capability.promise}cancel(t=0){l(this,Us).cancel(null,t)}get separateAnnots(){const{separateAnnots:t}=l(this,Us).operatorList;if(!t)return!1;const{annotationCanvasMap:e}=l(this,Us);return t.form||t.canvas&&(e==null?void 0:e.size)>0}}Us=new WeakMap;var js,eo;const Cr=class Cr{constructor({callback:t,params:e,objs:i,commonObjs:s,annotationCanvasMap:r,operatorList:o,pageIndex:a,canvasFactory:c,filterFactory:u,useRequestAnimationFrame:h=!1,pdfBug:d=!1,pageColors:f=null}){b(this,js,null);this.callback=t,this.params=e,this.objs=i,this.commonObjs=s,this.annotationCanvasMap=r,this.operatorListIdx=null,this.operatorList=o,this._pageIndex=a,this.canvasFactory=c,this.filterFactory=u,this._pdfBug=d,this.pageColors=f,this.running=!1,this.graphicsReadyCallback=null,this.graphicsReady=!1,this._useRequestAnimationFrame=h===!0&&typeof window<"u",this.cancelled=!1,this.capability=Promise.withResolvers(),this.task=new NP(this),this._cancelBound=this.cancel.bind(this),this._continueBound=this._continue.bind(this),this._scheduleNextBound=this._scheduleNext.bind(this),this._nextBound=this._next.bind(this),this._canvas=e.canvasContext.canvas}get completed(){return this.capability.promise.catch(function(){})}initializeGraphics({transparency:t=!1,optionalContentConfig:e}){var a,c;if(this.cancelled)return;if(this._canvas){if(l(Cr,eo).has(this._canvas))throw new Error("Cannot use the same canvas during multiple render() operations. Use different canvas or ensure previous operations were cancelled or completed.");l(Cr,eo).add(this._canvas)}this._pdfBug&&((a=globalThis.StepperManager)!=null&&a.enabled)&&(this.stepper=globalThis.StepperManager.create(this._pageIndex),this.stepper.init(this.operatorList),this.stepper.nextBreakPoint=this.stepper.getNextBreakPoint());const{canvasContext:i,viewport:s,transform:r,background:o}=this.params;this.gfx=new va(i,this.commonObjs,this.objs,this.canvasFactory,this.filterFactory,{optionalContentConfig:e},this.annotationCanvasMap,this.pageColors),this.gfx.beginDrawing({transform:r,viewport:s,transparency:t,background:o}),this.operatorListIdx=0,this.graphicsReady=!0,(c=this.graphicsReadyCallback)==null||c.call(this)}cancel(t=null,e=0){var i;this.running=!1,this.cancelled=!0,(i=this.gfx)==null||i.endDrawing(),l(this,js)&&(window.cancelAnimationFrame(l(this,js)),S(this,js,null)),l(Cr,eo).delete(this._canvas),this.callback(t||new cy(`Rendering cancelled, page ${this._pageIndex+1}`,e))}operatorListChanged(){var t;if(!this.graphicsReady){this.graphicsReadyCallback||(this.graphicsReadyCallback=this._continueBound);return}(t=this.stepper)==null||t.updateOperatorList(this.operatorList),!this.running&&this._continue()}_continue(){this.running=!0,!this.cancelled&&(this.task.onContinue?this.task.onContinue(this._scheduleNextBound):this._scheduleNext())}_scheduleNext(){this._useRequestAnimationFrame?S(this,js,window.requestAnimationFrame(()=>{S(this,js,null),this._nextBound().catch(this._cancelBound)})):Promise.resolve().then(this._nextBound).catch(this._cancelBound)}async _next(){this.cancelled||(this.operatorListIdx=this.gfx.executeOperatorList(this.operatorList,this.operatorListIdx,this._continueBound,this.stepper),this.operatorListIdx===this.operatorList.argsArray.length&&(this.running=!1,this.operatorList.lastChunk&&(this.gfx.endDrawing(),l(Cr,eo).delete(this._canvas),this.callback())))}};js=new WeakMap,eo=new WeakMap,b(Cr,eo,new WeakSet);let Cm=Cr;const DP="4.4.168",IP="19fbc8998";function ow(n){return Math.floor(Math.max(0,Math.min(1,n))*255).toString(16).padStart(2,"0")}function zl(n){return Math.max(0,Math.min(255,255*n))}class aw{static CMYK_G([t,e,i,s]){return["G",1-Math.min(1,.3*t+.59*i+.11*e+s)]}static G_CMYK([t]){return["CMYK",0,0,0,1-t]}static G_RGB([t]){return["RGB",t,t,t]}static G_rgb([t]){return t=zl(t),[t,t,t]}static G_HTML([t]){const e=ow(t);return`#${e}${e}${e}`}static RGB_G([t,e,i]){return["G",.3*t+.59*e+.11*i]}static RGB_rgb(t){return t.map(zl)}static RGB_HTML(t){return`#${t.map(ow).join("")}`}static T_HTML(){return"#00000000"}static T_rgb(){return[null]}static CMYK_RGB([t,e,i,s]){return["RGB",1-Math.min(1,t+s),1-Math.min(1,i+s),1-Math.min(1,e+s)]}static CMYK_rgb([t,e,i,s]){return[zl(1-Math.min(1,t+s)),zl(1-Math.min(1,i+s)),zl(1-Math.min(1,e+s))]}static CMYK_HTML(t){const e=this.CMYK_RGB(t).slice(1);return this.RGB_HTML(e)}static RGB_CMYK([t,e,i]){const s=1-t,r=1-e,o=1-i,a=Math.min(s,r,o);return["CMYK",s,r,o,a]}}class FA{static setupStorage(t,e,i,s,r){const o=s.getValue(e,{value:null});switch(i.name){case"textarea":if(o.value!==null&&(t.textContent=o.value),r==="print")break;t.addEventListener("input",a=>{s.setValue(e,{value:a.target.value})});break;case"input":if(i.attributes.type==="radio"||i.attributes.type==="checkbox"){if(o.value===i.attributes.xfaOn?t.setAttribute("checked",!0):o.value===i.attributes.xfaOff&&t.removeAttribute("checked"),r==="print")break;t.addEventListener("change",a=>{s.setValue(e,{value:a.target.checked?a.target.getAttribute("xfaOn"):a.target.getAttribute("xfaOff")})})}else{if(o.value!==null&&t.setAttribute("value",o.value),r==="print")break;t.addEventListener("input",a=>{s.setValue(e,{value:a.target.value})})}break;case"select":if(o.value!==null){t.setAttribute("value",o.value);for(const a of i.children)a.attributes.value===o.value?a.attributes.selected=!0:a.attributes.hasOwnProperty("selected")&&delete a.attributes.selected}t.addEventListener("input",a=>{const c=a.target.options,u=c.selectedIndex===-1?"":c[c.selectedIndex].value;s.setValue(e,{value:u})});break}}static setAttributes({html:t,element:e,storage:i=null,intent:s,linkService:r}){const{attributes:o}=e,a=t instanceof HTMLAnchorElement;o.type==="radio"&&(o.name=`${o.name}-${s}`);for(const[c,u]of Object.entries(o))if(u!=null)switch(c){case"class":u.length&&t.setAttribute(c,u.join(" "));break;case"dataId":break;case"id":t.setAttribute("data-element-id",u);break;case"style":Object.assign(t.style,u);break;case"textContent":t.textContent=u;break;default:(!a||c!=="href"&&c!=="newWindow")&&t.setAttribute(c,u)}a&&r.addLinkAttributes(t,o.href,o.newWindow),i&&o.dataId&&this.setupStorage(t,o.dataId,e,i)}static render(t){var d,f;const e=t.annotationStorage,i=t.linkService,s=t.xfaHtml,r=t.intent||"display",o=document.createElement(s.name);s.attributes&&this.setAttributes({html:o,element:s,intent:r,linkService:i});const a=r!=="richText",c=t.div;if(c.append(o),t.viewport){const p=`matrix(${t.viewport.transform.join(",")})`;c.style.transform=p}a&&c.setAttribute("class","xfaLayer xfaFont");const u=[];if(s.children.length===0){if(s.value){const p=document.createTextNode(s.value);o.append(p),a&&Ic.shouldBuildText(s.name)&&u.push(p)}return{textDivs:u}}const h=[[s,-1,o]];for(;h.length>0;){const[p,g,w]=h.at(-1);if(g+1===p.children.length){h.pop();continue}const E=p.children[++h.at(-1)[1]];if(E===null)continue;const{name:m}=E;if(m==="#text"){const y=document.createTextNode(E.value);u.push(y),w.append(y);continue}const v=(d=E==null?void 0:E.attributes)!=null&&d.xmlns?document.createElementNS(E.attributes.xmlns,m):document.createElement(m);if(w.append(v),E.attributes&&this.setAttributes({html:v,element:E,storage:e,intent:r,linkService:i}),((f=E.children)==null?void 0:f.length)>0)h.push([E,-1,v]);else if(E.value){const y=document.createTextNode(E.value);a&&Ic.shouldBuildText(m)&&u.push(y),v.append(y)}}for(const p of c.querySelectorAll(".xfaNonInteractive input, .xfaNonInteractive textarea"))p.setAttribute("readOnly",!0);return{textDivs:u}}static update(t){const e=`matrix(${t.viewport.transform.join(",")})`;t.div.style.transform=e,t.div.hidden=!1}}const Eh=1e3,FP=9,Do=new WeakSet;function hs(n){return{width:n[2]-n[0],height:n[3]-n[1]}}class OP{static create(t){switch(t.data.annotationType){case Ht.LINK:return new OA(t);case Ht.TEXT:return new zP(t);case Ht.WIDGET:switch(t.data.fieldType){case"Tx":return new VP(t);case"Btn":return t.data.radioButton?new qA(t):t.data.checkBox?new HP(t):new UP(t);case"Ch":return new jP(t);case"Sig":return new qP(t)}return new Uo(t);case Ht.POPUP:return new km(t);case Ht.FREETEXT:return new BA(t);case Ht.LINE:return new BP(t);case Ht.SQUARE:return new KP(t);case Ht.CIRCLE:return new XP(t);case Ht.POLYLINE:return new KA(t);case Ht.CARET:return new YP(t);case Ht.INK:return new XA(t);case Ht.POLYGON:return new GP(t);case Ht.HIGHLIGHT:return new QP(t);case Ht.UNDERLINE:return new JP(t);case Ht.SQUIGGLY:return new ZP(t);case Ht.STRIKEOUT:return new $P(t);case Ht.STAMP:return new GA(t);case Ht.FILEATTACHMENT:return new tR(t);default:return new Ft(t)}}}var no,Wa,Ba,Tu,Tm;const wy=class wy{constructor(t,{isRenderable:e=!1,ignoreBorder:i=!1,createQuadrilaterals:s=!1}={}){b(this,Tu);b(this,no,null);b(this,Wa,!1);b(this,Ba,null);this.isRenderable=e,this.data=t.data,this.layer=t.layer,this.linkService=t.linkService,this.downloadManager=t.downloadManager,this.imageResourcesPath=t.imageResourcesPath,this.renderForms=t.renderForms,this.svgFactory=t.svgFactory,this.annotationStorage=t.annotationStorage,this.enableScripting=t.enableScripting,this.hasJSActions=t.hasJSActions,this._fieldObjects=t.fieldObjects,this.parent=t.parent,e&&(this.container=this._createContainer(i)),s&&this._createQuadrilaterals()}static _hasPopupData({titleObj:t,contentsObj:e,richText:i}){return!!(t!=null&&t.str||e!=null&&e.str||i!=null&&i.str)}get hasPopupData(){return wy._hasPopupData(this.data)}updateEdited(t){var i;if(!this.container)return;l(this,no)||S(this,no,{rect:this.data.rect.slice(0)});const{rect:e}=t;e&&A(this,Tu,Tm).call(this,e),(i=l(this,Ba))==null||i.popup.updateEdited(t)}resetEdited(){var t;l(this,no)&&(A(this,Tu,Tm).call(this,l(this,no).rect),(t=l(this,Ba))==null||t.popup.resetEdited(),S(this,no,null))}_createContainer(t){const{data:e,parent:{page:i,viewport:s}}=this,r=document.createElement("section");r.setAttribute("data-annotation-id",e.id),this instanceof Uo||(r.tabIndex=Eh);const{style:o}=r;if(o.zIndex=this.parent.zIndex++,e.popupRef&&r.setAttribute("aria-haspopup","dialog"),e.alternativeText&&(r.title=e.alternativeText),e.noRotate&&r.classList.add("norotate"),!e.rect||this instanceof km){const{rotation:w}=e;return!e.hasOwnCanvas&&w!==0&&this.setRotation(w,r),r}const{width:a,height:c}=hs(e.rect);if(!t&&e.borderStyle.width>0){o.borderWidth=`${e.borderStyle.width}px`;const w=e.borderStyle.horizontalCornerRadius,E=e.borderStyle.verticalCornerRadius;if(w>0||E>0){const v=`calc(${w}px * var(--scale-factor)) / calc(${E}px * var(--scale-factor))`;o.borderRadius=v}else if(this instanceof qA){const v=`calc(${a}px * var(--scale-factor)) / calc(${c}px * var(--scale-factor))`;o.borderRadius=v}switch(e.borderStyle.style){case Fl.SOLID:o.borderStyle="solid";break;case Fl.DASHED:o.borderStyle="dashed";break;case Fl.BEVELED:Q("Unimplemented border style: beveled");break;case Fl.INSET:Q("Unimplemented border style: inset");break;case Fl.UNDERLINE:o.borderBottomStyle="solid";break}const m=e.borderColor||null;m?(S(this,Wa,!0),o.borderColor=q.makeHexColor(m[0]|0,m[1]|0,m[2]|0)):o.borderWidth=0}const u=q.normalizeRect([e.rect[0],i.view[3]-e.rect[1]+i.view[1],e.rect[2],i.view[3]-e.rect[3]+i.view[1]]),{pageWidth:h,pageHeight:d,pageX:f,pageY:p}=s.rawDims;o.left=`${100*(u[0]-f)/h}%`,o.top=`${100*(u[1]-p)/d}%`;const{rotation:g}=e;return e.hasOwnCanvas||g===0?(o.width=`${100*a/h}%`,o.height=`${100*c/d}%`):this.setRotation(g,r),r}setRotation(t,e=this.container){if(!this.data.rect)return;const{pageWidth:i,pageHeight:s}=this.parent.viewport.rawDims,{width:r,height:o}=hs(this.data.rect);let a,c;t%180===0?(a=100*r/i,c=100*o/s):(a=100*o/i,c=100*r/s),e.style.width=`${a}%`,e.style.height=`${c}%`,e.setAttribute("data-main-rotation",(360-t)%360)}get _commonActions(){const t=(e,i,s)=>{const r=s.detail[e],o=r[0],a=r.slice(1);s.target.style[i]=aw[`${o}_HTML`](a),this.annotationStorage.setValue(this.data.id,{[i]:aw[`${o}_rgb`](a)})};return ot(this,"_commonActions",{display:e=>{const{display:i}=e.detail,s=i%2===1;this.container.style.visibility=s?"hidden":"visible",this.annotationStorage.setValue(this.data.id,{noView:s,noPrint:i===1||i===2})},print:e=>{this.annotationStorage.setValue(this.data.id,{noPrint:!e.detail.print})},hidden:e=>{const{hidden:i}=e.detail;this.container.style.visibility=i?"hidden":"visible",this.annotationStorage.setValue(this.data.id,{noPrint:i,noView:i})},focus:e=>{setTimeout(()=>e.target.focus({preventScroll:!1}),0)},userName:e=>{e.target.title=e.detail.userName},readonly:e=>{e.target.disabled=e.detail.readonly},required:e=>{this._setRequired(e.target,e.detail.required)},bgColor:e=>{t("bgColor","backgroundColor",e)},fillColor:e=>{t("fillColor","backgroundColor",e)},fgColor:e=>{t("fgColor","color",e)},textColor:e=>{t("textColor","color",e)},borderColor:e=>{t("borderColor","borderColor",e)},strokeColor:e=>{t("strokeColor","borderColor",e)},rotation:e=>{const i=e.detail.rotation;this.setRotation(i),this.annotationStorage.setValue(this.data.id,{rotation:i})}})}_dispatchEventFromSandbox(t,e){const i=this._commonActions;for(const s of Object.keys(e.detail)){const r=t[s]||i[s];r==null||r(e)}}_setDefaultPropertiesFromJS(t){if(!this.enableScripting)return;const e=this.annotationStorage.getRawValue(this.data.id);if(!e)return;const i=this._commonActions;for(const[s,r]of Object.entries(e)){const o=i[s];if(o){const a={detail:{[s]:r},target:t};o(a),delete e[s]}}}_createQuadrilaterals(){if(!this.container)return;const{quadPoints:t}=this.data;if(!t)return;const[e,i,s,r]=this.data.rect.map(w=>Math.fround(w));if(t.length===8){const[w,E,m,v]=t.subarray(2,6);if(s===w&&r===E&&e===m&&i===v)return}const{style:o}=this.container;let a;if(l(this,Wa)){const{borderColor:w,borderWidth:E}=o;o.borderWidth=0,a=["url('data:image/svg+xml;utf8,",'',``],this.container.classList.add("hasBorder")}const c=s-e,u=r-i,{svgFactory:h}=this,d=h.createElement("svg");d.classList.add("quadrilateralsContainer"),d.setAttribute("width",0),d.setAttribute("height",0);const f=h.createElement("defs");d.append(f);const p=h.createElement("clipPath"),g=`clippath_${this.data.id}`;p.setAttribute("id",g),p.setAttribute("clipPathUnits","objectBoundingBox"),f.append(p);for(let w=2,E=t.length;w`)}l(this,Wa)&&(a.push("')"),o.backgroundImage=a.join("")),this.container.append(d),this.container.style.clipPath=`url(#${g})`}_createPopup(){const{container:t,data:e}=this;t.setAttribute("aria-haspopup","dialog");const i=S(this,Ba,new km({data:{color:e.color,titleObj:e.titleObj,modificationDate:e.modificationDate,contentsObj:e.contentsObj,richText:e.richText,parentRect:e.rect,borderStyle:0,id:`popup_${e.id}`,rotation:e.rotation},parent:this.parent,elements:[this]}));this.parent.div.append(i.render())}render(){pt("Abstract method `AnnotationElement.render` called")}_getElementsByName(t,e=null){const i=[];if(this._fieldObjects){const s=this._fieldObjects[t];if(s)for(const{page:r,id:o,exportValues:a}of s){if(r===-1||o===e)continue;const c=typeof a=="string"?a:null,u=document.querySelector(`[data-element-id="${o}"]`);if(u&&!Do.has(u)){Q(`_getElementsByName - element not allowed: ${o}`);continue}i.push({id:o,exportValue:c,domElement:u})}return i}for(const s of document.getElementsByName(t)){const{exportValue:r}=s,o=s.getAttribute("data-element-id");o!==e&&Do.has(s)&&i.push({id:o,exportValue:r,domElement:s})}return i}show(){var t;this.container&&(this.container.hidden=!1),(t=this.popup)==null||t.maybeShow()}hide(){var t;this.container&&(this.container.hidden=!0),(t=this.popup)==null||t.forceHide()}getElementsToTriggerPopup(){return this.container}addHighlightArea(){const t=this.getElementsToTriggerPopup();if(Array.isArray(t))for(const e of t)e.classList.add("highlightArea");else t.classList.add("highlightArea")}get _isEditable(){return!1}_editOnDoubleClick(){if(!this._isEditable)return;const{annotationEditorType:t,data:{id:e}}=this;this.container.addEventListener("dblclick",()=>{var i;(i=this.linkService.eventBus)==null||i.dispatch("switchannotationeditormode",{source:this,mode:t,editId:e})})}};no=new WeakMap,Wa=new WeakMap,Ba=new WeakMap,Tu=new WeakSet,Tm=function(t){const{container:{style:e},data:{rect:i,rotation:s},parent:{viewport:{rawDims:{pageWidth:r,pageHeight:o,pageX:a,pageY:c}}}}=this;i==null||i.splice(0,4,...t);const{width:u,height:h}=hs(t);e.left=`${100*(t[0]-a)/r}%`,e.top=`${100*(o-t[3]+c)/o}%`,s===0?(e.width=`${100*u/r}%`,e.height=`${100*h/o}%`):this.setRotation(s)};let Ft=wy;var an,Ar,zA,VA;class OA extends Ft{constructor(e,i=null){super(e,{isRenderable:!0,ignoreBorder:!!(i!=null&&i.ignoreBorder),createQuadrilaterals:!0});b(this,an);this.isTooltipOnly=e.data.isTooltipOnly}render(){const{data:e,linkService:i}=this,s=document.createElement("a");s.setAttribute("data-element-id",e.id);let r=!1;return e.url?(i.addLinkAttributes(s,e.url,e.newWindow),r=!0):e.action?(this._bindNamedAction(s,e.action),r=!0):e.attachment?(A(this,an,zA).call(this,s,e.attachment,e.attachmentDest),r=!0):e.setOCGState?(A(this,an,VA).call(this,s,e.setOCGState),r=!0):e.dest?(this._bindLink(s,e.dest),r=!0):(e.actions&&(e.actions.Action||e.actions["Mouse Up"]||e.actions["Mouse Down"])&&this.enableScripting&&this.hasJSActions&&(this._bindJSAction(s,e),r=!0),e.resetForm?(this._bindResetFormAction(s,e.resetForm),r=!0):this.isTooltipOnly&&!r&&(this._bindLink(s,""),r=!0)),this.container.classList.add("linkAnnotation"),r&&this.container.append(s),this.container}_bindLink(e,i){e.href=this.linkService.getDestinationHash(i),e.onclick=()=>(i&&this.linkService.goToDestination(i),!1),(i||i==="")&&A(this,an,Ar).call(this)}_bindNamedAction(e,i){e.href=this.linkService.getAnchorUrl(""),e.onclick=()=>(this.linkService.executeNamedAction(i),!1),A(this,an,Ar).call(this)}_bindJSAction(e,i){e.href=this.linkService.getAnchorUrl("");const s=new Map([["Action","onclick"],["Mouse Up","onmouseup"],["Mouse Down","onmousedown"]]);for(const r of Object.keys(i.actions)){const o=s.get(r);o&&(e[o]=()=>{var a;return(a=this.linkService.eventBus)==null||a.dispatch("dispatcheventinsandbox",{source:this,detail:{id:i.id,name:r}}),!1})}e.onclick||(e.onclick=()=>!1),A(this,an,Ar).call(this)}_bindResetFormAction(e,i){const s=e.onclick;if(s||(e.href=this.linkService.getAnchorUrl("")),A(this,an,Ar).call(this),!this._fieldObjects){Q('_bindResetFormAction - "resetForm" action not supported, ensure that the `fieldObjects` parameter is provided.'),s||(e.onclick=()=>!1);return}e.onclick=()=>{var d;s==null||s();const{fields:r,refs:o,include:a}=i,c=[];if(r.length!==0||o.length!==0){const f=new Set(o);for(const p of r){const g=this._fieldObjects[p]||[];for(const{id:w}of g)f.add(w)}for(const p of Object.values(this._fieldObjects))for(const g of p)f.has(g.id)===a&&c.push(g)}else for(const f of Object.values(this._fieldObjects))c.push(...f);const u=this.annotationStorage,h=[];for(const f of c){const{id:p}=f;switch(h.push(p),f.type){case"text":{const w=f.defaultValue||"";u.setValue(p,{value:w});break}case"checkbox":case"radiobutton":{const w=f.defaultValue===f.exportValues;u.setValue(p,{value:w});break}case"combobox":case"listbox":{const w=f.defaultValue||"";u.setValue(p,{value:w});break}default:continue}const g=document.querySelector(`[data-element-id="${p}"]`);if(g){if(!Do.has(g)){Q(`_bindResetFormAction - element not allowed: ${p}`);continue}}else continue;g.dispatchEvent(new Event("resetform"))}return this.enableScripting&&((d=this.linkService.eventBus)==null||d.dispatch("dispatcheventinsandbox",{source:this,detail:{id:"app",ids:h,name:"ResetForm"}})),!1}}}an=new WeakSet,Ar=function(){this.container.setAttribute("data-internal-link","")},zA=function(e,i,s=null){e.href=this.linkService.getAnchorUrl(""),i.description&&(e.title=i.description),e.onclick=()=>{var r;return(r=this.downloadManager)==null||r.openOrDownloadData(i.content,i.filename,s),!1},A(this,an,Ar).call(this)},VA=function(e,i){e.href=this.linkService.getAnchorUrl(""),e.onclick=()=>(this.linkService.executeSetOCGState(i),!1),A(this,an,Ar).call(this)};class zP extends Ft{constructor(t){super(t,{isRenderable:!0})}render(){this.container.classList.add("textAnnotation");const t=document.createElement("img");return t.src=this.imageResourcesPath+"annotation-"+this.data.name.toLowerCase()+".svg",t.setAttribute("data-l10n-id","pdfjs-text-annotation-type"),t.setAttribute("data-l10n-args",JSON.stringify({type:this.data.name})),!this.data.popupRef&&this.hasPopupData&&this._createPopup(),this.container.append(t),this.container}}class Uo extends Ft{render(){return this.container}showElementAndHideCanvas(t){var e;this.data.hasOwnCanvas&&(((e=t.previousSibling)==null?void 0:e.nodeName)==="CANVAS"&&(t.previousSibling.hidden=!0),t.hidden=!1)}_getKeyModifier(t){return He.platform.isMac?t.metaKey:t.ctrlKey}_setEventListener(t,e,i,s,r){i.includes("mouse")?t.addEventListener(i,o=>{var a;(a=this.linkService.eventBus)==null||a.dispatch("dispatcheventinsandbox",{source:this,detail:{id:this.data.id,name:s,value:r(o),shift:o.shiftKey,modifier:this._getKeyModifier(o)}})}):t.addEventListener(i,o=>{var a;if(i==="blur"){if(!e.focused||!o.relatedTarget)return;e.focused=!1}else if(i==="focus"){if(e.focused)return;e.focused=!0}r&&((a=this.linkService.eventBus)==null||a.dispatch("dispatcheventinsandbox",{source:this,detail:{id:this.data.id,name:s,value:r(o)}}))})}_setEventListeners(t,e,i,s){var r,o,a;for(const[c,u]of i)(u==="Action"||(r=this.data.actions)!=null&&r[u])&&((u==="Focus"||u==="Blur")&&(e||(e={focused:!1})),this._setEventListener(t,e,c,u,s),u==="Focus"&&!((o=this.data.actions)!=null&&o.Blur)?this._setEventListener(t,e,"blur","Blur",null):u==="Blur"&&!((a=this.data.actions)!=null&&a.Focus)&&this._setEventListener(t,e,"focus","Focus",null))}_setBackgroundColor(t){const e=this.data.backgroundColor||null;t.style.backgroundColor=e===null?"transparent":q.makeHexColor(e[0],e[1],e[2])}_setTextStyle(t){const e=["left","center","right"],{fontColor:i}=this.data.defaultAppearanceData,s=this.data.defaultAppearanceData.fontSize||FP,r=t.style;let o;const a=2,c=u=>Math.round(10*u)/10;if(this.data.multiLine){const u=Math.abs(this.data.rect[3]-this.data.rect[1]-a),h=Math.round(u/(jp*s))||1,d=u/h;o=Math.min(s,c(d/jp))}else{const u=Math.abs(this.data.rect[3]-this.data.rect[1]-a);o=Math.min(s,c(u/jp))}r.fontSize=`calc(${o}px * var(--scale-factor))`,r.color=q.makeHexColor(i[0],i[1],i[2]),this.data.textAlignment!==null&&(r.textAlign=e[this.data.textAlignment])}_setRequired(t,e){e?t.setAttribute("required",!0):t.removeAttribute("required"),t.setAttribute("aria-required",e)}}class VP extends Uo{constructor(t){const e=t.renderForms||t.data.hasOwnCanvas||!t.data.hasAppearance&&!!t.data.fieldValue;super(t,{isRenderable:e})}setPropertyOnSiblings(t,e,i,s){const r=this.annotationStorage;for(const o of this._getElementsByName(t.name,t.id))o.domElement&&(o.domElement[e]=i),r.setValue(o.id,{[s]:i})}render(){var s,r;const t=this.annotationStorage,e=this.data.id;this.container.classList.add("textWidgetAnnotation");let i=null;if(this.renderForms){const o=t.getValue(e,{value:this.data.fieldValue});let a=o.value||"";const c=t.getValue(e,{charLimit:this.data.maxLen}).charLimit;c&&a.length>c&&(a=a.slice(0,c));let u=o.formattedValue||((s=this.data.textContent)==null?void 0:s.join(` -`))||null;u&&this.data.comb&&(u=u.replaceAll(/\s+/g,""));const h={userValue:a,formattedValue:u,lastCommittedValue:null,commitKey:1,focused:!1};this.data.multiLine?(i=document.createElement("textarea"),i.textContent=u??a,this.data.doNotScroll&&(i.style.overflowY="hidden")):(i=document.createElement("input"),i.type="text",i.setAttribute("value",u??a),this.data.doNotScroll&&(i.style.overflowX="hidden")),this.data.hasOwnCanvas&&(i.hidden=!0),Do.add(i),i.setAttribute("data-element-id",e),i.disabled=this.data.readOnly,i.name=this.data.fieldName,i.tabIndex=Eh,this._setRequired(i,this.data.required),c&&(i.maxLength=c),i.addEventListener("input",f=>{t.setValue(e,{value:f.target.value}),this.setPropertyOnSiblings(i,"value",f.target.value,"value"),h.formattedValue=null}),i.addEventListener("resetform",f=>{const p=this.data.defaultFieldValue??"";i.value=h.userValue=p,h.formattedValue=null});let d=f=>{const{formattedValue:p}=h;p!=null&&(f.target.value=p),f.target.scrollLeft=0};if(this.enableScripting&&this.hasJSActions){i.addEventListener("focus",p=>{var w;if(h.focused)return;const{target:g}=p;h.userValue&&(g.value=h.userValue),h.lastCommittedValue=g.value,h.commitKey=1,(w=this.data.actions)!=null&&w.Focus||(h.focused=!0)}),i.addEventListener("updatefromsandbox",p=>{this.showElementAndHideCanvas(p.target);const g={value(w){h.userValue=w.detail.value??"",t.setValue(e,{value:h.userValue.toString()}),w.target.value=h.userValue},formattedValue(w){const{formattedValue:E}=w.detail;h.formattedValue=E,E!=null&&w.target!==document.activeElement&&(w.target.value=E),t.setValue(e,{formattedValue:E})},selRange(w){w.target.setSelectionRange(...w.detail.selRange)},charLimit:w=>{var y;const{charLimit:E}=w.detail,{target:m}=w;if(E===0){m.removeAttribute("maxLength");return}m.setAttribute("maxLength",E);let v=h.userValue;!v||v.length<=E||(v=v.slice(0,E),m.value=h.userValue=v,t.setValue(e,{value:v}),(y=this.linkService.eventBus)==null||y.dispatch("dispatcheventinsandbox",{source:this,detail:{id:e,name:"Keystroke",value:v,willCommit:!0,commitKey:1,selStart:m.selectionStart,selEnd:m.selectionEnd}}))}};this._dispatchEventFromSandbox(g,p)}),i.addEventListener("keydown",p=>{var E;h.commitKey=1;let g=-1;if(p.key==="Escape"?g=0:p.key==="Enter"&&!this.data.multiLine?g=2:p.key==="Tab"&&(h.commitKey=3),g===-1)return;const{value:w}=p.target;h.lastCommittedValue!==w&&(h.lastCommittedValue=w,h.userValue=w,(E=this.linkService.eventBus)==null||E.dispatch("dispatcheventinsandbox",{source:this,detail:{id:e,name:"Keystroke",value:w,willCommit:!0,commitKey:g,selStart:p.target.selectionStart,selEnd:p.target.selectionEnd}}))});const f=d;d=null,i.addEventListener("blur",p=>{var w,E;if(!h.focused||!p.relatedTarget)return;(w=this.data.actions)!=null&&w.Blur||(h.focused=!1);const{value:g}=p.target;h.userValue=g,h.lastCommittedValue!==g&&((E=this.linkService.eventBus)==null||E.dispatch("dispatcheventinsandbox",{source:this,detail:{id:e,name:"Keystroke",value:g,willCommit:!0,commitKey:h.commitKey,selStart:p.target.selectionStart,selEnd:p.target.selectionEnd}})),f(p)}),(r=this.data.actions)!=null&&r.Keystroke&&i.addEventListener("beforeinput",p=>{var C;h.lastCommittedValue=null;const{data:g,target:w}=p,{value:E,selectionStart:m,selectionEnd:v}=w;let y=m,x=v;switch(p.inputType){case"deleteWordBackward":{const T=E.substring(0,m).match(/\w*[^\w]*$/);T&&(y-=T[0].length);break}case"deleteWordForward":{const T=E.substring(m).match(/^[^\w]*\w*/);T&&(x+=T[0].length);break}case"deleteContentBackward":m===v&&(y-=1);break;case"deleteContentForward":m===v&&(x+=1);break}p.preventDefault(),(C=this.linkService.eventBus)==null||C.dispatch("dispatcheventinsandbox",{source:this,detail:{id:e,name:"Keystroke",value:E,change:g||"",willCommit:!1,selStart:y,selEnd:x}})}),this._setEventListeners(i,h,[["focus","Focus"],["blur","Blur"],["mousedown","Mouse Down"],["mouseenter","Mouse Enter"],["mouseleave","Mouse Exit"],["mouseup","Mouse Up"]],p=>p.target.value)}if(d&&i.addEventListener("blur",d),this.data.comb){const p=(this.data.rect[2]-this.data.rect[0])/c;i.classList.add("comb"),i.style.letterSpacing=`calc(${p}px * var(--scale-factor) - 1ch)`}}else i=document.createElement("div"),i.textContent=this.data.fieldValue,i.style.verticalAlign="middle",i.style.display="table-cell",this.data.hasOwnCanvas&&(i.hidden=!0);return this._setTextStyle(i),this._setBackgroundColor(i),this._setDefaultPropertiesFromJS(i),this.container.append(i),this.container}}class qP extends Uo{constructor(t){super(t,{isRenderable:!!t.data.hasOwnCanvas})}}class HP extends Uo{constructor(t){super(t,{isRenderable:t.renderForms})}render(){const t=this.annotationStorage,e=this.data,i=e.id;let s=t.getValue(i,{value:e.exportValue===e.fieldValue}).value;typeof s=="string"&&(s=s!=="Off",t.setValue(i,{value:s})),this.container.classList.add("buttonWidgetAnnotation","checkBox");const r=document.createElement("input");return Do.add(r),r.setAttribute("data-element-id",i),r.disabled=e.readOnly,this._setRequired(r,this.data.required),r.type="checkbox",r.name=e.fieldName,s&&r.setAttribute("checked",!0),r.setAttribute("exportValue",e.exportValue),r.tabIndex=Eh,r.addEventListener("change",o=>{const{name:a,checked:c}=o.target;for(const u of this._getElementsByName(a,i)){const h=c&&u.exportValue===e.exportValue;u.domElement&&(u.domElement.checked=h),t.setValue(u.id,{value:h})}t.setValue(i,{value:c})}),r.addEventListener("resetform",o=>{const a=e.defaultFieldValue||"Off";o.target.checked=a===e.exportValue}),this.enableScripting&&this.hasJSActions&&(r.addEventListener("updatefromsandbox",o=>{const a={value(c){c.target.checked=c.detail.value!=="Off",t.setValue(i,{value:c.target.checked})}};this._dispatchEventFromSandbox(a,o)}),this._setEventListeners(r,null,[["change","Validate"],["change","Action"],["focus","Focus"],["blur","Blur"],["mousedown","Mouse Down"],["mouseenter","Mouse Enter"],["mouseleave","Mouse Exit"],["mouseup","Mouse Up"]],o=>o.target.checked)),this._setBackgroundColor(r),this._setDefaultPropertiesFromJS(r),this.container.append(r),this.container}}class qA extends Uo{constructor(t){super(t,{isRenderable:t.renderForms})}render(){this.container.classList.add("buttonWidgetAnnotation","radioButton");const t=this.annotationStorage,e=this.data,i=e.id;let s=t.getValue(i,{value:e.fieldValue===e.buttonValue}).value;if(typeof s=="string"&&(s=s!==e.buttonValue,t.setValue(i,{value:s})),s)for(const o of this._getElementsByName(e.fieldName,i))t.setValue(o.id,{value:!1});const r=document.createElement("input");if(Do.add(r),r.setAttribute("data-element-id",i),r.disabled=e.readOnly,this._setRequired(r,this.data.required),r.type="radio",r.name=e.fieldName,s&&r.setAttribute("checked",!0),r.tabIndex=Eh,r.addEventListener("change",o=>{const{name:a,checked:c}=o.target;for(const u of this._getElementsByName(a,i))t.setValue(u.id,{value:!1});t.setValue(i,{value:c})}),r.addEventListener("resetform",o=>{const a=e.defaultFieldValue;o.target.checked=a!=null&&a===e.buttonValue}),this.enableScripting&&this.hasJSActions){const o=e.buttonValue;r.addEventListener("updatefromsandbox",a=>{const c={value:u=>{const h=o===u.detail.value;for(const d of this._getElementsByName(u.target.name)){const f=h&&d.id===i;d.domElement&&(d.domElement.checked=f),t.setValue(d.id,{value:f})}}};this._dispatchEventFromSandbox(c,a)}),this._setEventListeners(r,null,[["change","Validate"],["change","Action"],["focus","Focus"],["blur","Blur"],["mousedown","Mouse Down"],["mouseenter","Mouse Enter"],["mouseleave","Mouse Exit"],["mouseup","Mouse Up"]],a=>a.target.checked)}return this._setBackgroundColor(r),this._setDefaultPropertiesFromJS(r),this.container.append(r),this.container}}class UP extends OA{constructor(t){super(t,{ignoreBorder:t.data.hasAppearance})}render(){const t=super.render();t.classList.add("buttonWidgetAnnotation","pushButton");const e=t.lastChild;return this.enableScripting&&this.hasJSActions&&e&&(this._setDefaultPropertiesFromJS(e),e.addEventListener("updatefromsandbox",i=>{this._dispatchEventFromSandbox({},i)})),t}}class jP extends Uo{constructor(t){super(t,{isRenderable:t.renderForms})}render(){this.container.classList.add("choiceWidgetAnnotation");const t=this.annotationStorage,e=this.data.id,i=t.getValue(e,{value:this.data.fieldValue}),s=document.createElement("select");Do.add(s),s.setAttribute("data-element-id",e),s.disabled=this.data.readOnly,this._setRequired(s,this.data.required),s.name=this.data.fieldName,s.tabIndex=Eh;let r=this.data.combo&&this.data.options.length>0;this.data.combo||(s.size=this.data.options.length,this.data.multiSelect&&(s.multiple=!0)),s.addEventListener("resetform",h=>{const d=this.data.defaultFieldValue;for(const f of s.options)f.selected=f.value===d});for(const h of this.data.options){const d=document.createElement("option");d.textContent=h.displayValue,d.value=h.exportValue,i.value.includes(h.exportValue)&&(d.setAttribute("selected",!0),r=!1),s.append(d)}let o=null;if(r){const h=document.createElement("option");h.value=" ",h.setAttribute("hidden",!0),h.setAttribute("selected",!0),s.prepend(h),o=()=>{h.remove(),s.removeEventListener("input",o),o=null},s.addEventListener("input",o)}const a=h=>{const d=h?"value":"textContent",{options:f,multiple:p}=s;return p?Array.prototype.filter.call(f,g=>g.selected).map(g=>g[d]):f.selectedIndex===-1?null:f[f.selectedIndex][d]};let c=a(!1);const u=h=>{const d=h.target.options;return Array.prototype.map.call(d,f=>({displayValue:f.textContent,exportValue:f.value}))};return this.enableScripting&&this.hasJSActions?(s.addEventListener("updatefromsandbox",h=>{const d={value(f){o==null||o();const p=f.detail.value,g=new Set(Array.isArray(p)?p:[p]);for(const w of s.options)w.selected=g.has(w.value);t.setValue(e,{value:a(!0)}),c=a(!1)},multipleSelection(f){s.multiple=!0},remove(f){const p=s.options,g=f.detail.remove;p[g].selected=!1,s.remove(g),p.length>0&&Array.prototype.findIndex.call(p,E=>E.selected)===-1&&(p[0].selected=!0),t.setValue(e,{value:a(!0),items:u(f)}),c=a(!1)},clear(f){for(;s.length!==0;)s.remove(0);t.setValue(e,{value:null,items:[]}),c=a(!1)},insert(f){const{index:p,displayValue:g,exportValue:w}=f.detail.insert,E=s.children[p],m=document.createElement("option");m.textContent=g,m.value=w,E?E.before(m):s.append(m),t.setValue(e,{value:a(!0),items:u(f)}),c=a(!1)},items(f){const{items:p}=f.detail;for(;s.length!==0;)s.remove(0);for(const g of p){const{displayValue:w,exportValue:E}=g,m=document.createElement("option");m.textContent=w,m.value=E,s.append(m)}s.options.length>0&&(s.options[0].selected=!0),t.setValue(e,{value:a(!0),items:u(f)}),c=a(!1)},indices(f){const p=new Set(f.detail.indices);for(const g of f.target.options)g.selected=p.has(g.index);t.setValue(e,{value:a(!0)}),c=a(!1)},editable(f){f.target.disabled=!f.detail.editable}};this._dispatchEventFromSandbox(d,h)}),s.addEventListener("input",h=>{var p;const d=a(!0),f=a(!1);t.setValue(e,{value:d}),h.preventDefault(),(p=this.linkService.eventBus)==null||p.dispatch("dispatcheventinsandbox",{source:this,detail:{id:e,name:"Keystroke",value:c,change:f,changeEx:d,willCommit:!1,commitKey:1,keyDown:!1}})}),this._setEventListeners(s,null,[["focus","Focus"],["blur","Blur"],["mousedown","Mouse Down"],["mouseenter","Mouse Enter"],["mouseleave","Mouse Exit"],["mouseup","Mouse Up"],["input","Action"],["input","Validate"]],h=>h.target.value)):s.addEventListener("input",function(h){t.setValue(e,{value:a(!0)})}),this.data.combo&&this._setTextStyle(s),this._setBackgroundColor(s),this._setDefaultPropertiesFromJS(s),this.container.append(s),this.container}}class km extends Ft{constructor(t){const{data:e,elements:i}=t;super(t,{isRenderable:Ft._hasPopupData(e)}),this.elements=i,this.popup=null}render(){this.container.classList.add("popupAnnotation");const t=this.popup=new WP({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}),e=[];for(const i of this.elements)i.popup=t,e.push(i.data.id),i.addHighlightArea();return this.container.setAttribute("aria-controls",e.map(i=>`${H1}${i}`).join(",")),this.container}}var Ka,Pf,Rf,Xa,io,Lt,Gi,so,ku,Pu,Ga,Yi,Hn,Qi,Ru,Ji,_u,ro,oo,gt,Ad,Pm,HA,UA,jA,WA,bd,Ed,Rm;class WP{constructor({container:t,color:e,elements:i,titleObj:s,modificationDate:r,contentsObj:o,richText:a,parent:c,rect:u,parentRect:h,open:d}){b(this,gt);b(this,Ka,A(this,gt,jA).bind(this));b(this,Pf,A(this,gt,Rm).bind(this));b(this,Rf,A(this,gt,Ed).bind(this));b(this,Xa,A(this,gt,bd).bind(this));b(this,io,null);b(this,Lt,null);b(this,Gi,null);b(this,so,null);b(this,ku,null);b(this,Pu,null);b(this,Ga,null);b(this,Yi,!1);b(this,Hn,null);b(this,Qi,null);b(this,Ru,null);b(this,Ji,null);b(this,_u,null);b(this,ro,null);b(this,oo,!1);var f;S(this,Lt,t),S(this,_u,s),S(this,Gi,o),S(this,Ji,a),S(this,Pu,c),S(this,io,e),S(this,Ru,u),S(this,Ga,h),S(this,ku,i),S(this,so,K1.toDateObject(r)),this.trigger=i.flatMap(p=>p.getElementsToTriggerPopup());for(const p of this.trigger)p.addEventListener("click",l(this,Xa)),p.addEventListener("mouseenter",l(this,Rf)),p.addEventListener("mouseleave",l(this,Pf)),p.classList.add("popupTriggerArea");for(const p of i)(f=p.container)==null||f.addEventListener("keydown",l(this,Ka));l(this,Lt).hidden=!0,d&&A(this,gt,bd).call(this)}render(){if(l(this,Hn))return;const t=S(this,Hn,document.createElement("div"));if(t.className="popup",l(this,io)){const r=t.style.outlineColor=q.makeHexColor(...l(this,io));CSS.supports("background-color","color-mix(in srgb, red 30%, white)")?t.style.backgroundColor=`color-mix(in srgb, ${r} 30%, white)`:t.style.backgroundColor=q.makeHexColor(...l(this,io).map(a=>Math.floor(.7*(255-a)+a)))}const e=document.createElement("span");e.className="header";const i=document.createElement("h1");if(e.append(i),{dir:i.dir,str:i.textContent}=l(this,_u),t.append(e),l(this,so)){const r=document.createElement("span");r.classList.add("popupDate"),r.setAttribute("data-l10n-id","pdfjs-annotation-date-string"),r.setAttribute("data-l10n-args",JSON.stringify({date:l(this,so).toLocaleDateString(),time:l(this,so).toLocaleTimeString()})),e.append(r)}const s=l(this,gt,Ad);if(s)FA.render({xfaHtml:s,intent:"richText",div:t}),t.lastChild.classList.add("richText","popupContent");else{const r=this._formatContents(l(this,Gi));t.append(r)}l(this,Lt).append(t)}_formatContents({str:t,dir:e}){const i=document.createElement("p");i.classList.add("popupContent"),i.dir=e;const s=t.split(/(?:\r\n?|\n)/);for(let r=0,o=s.length;r{o.key==="Enter"&&(r?o.metaKey:o.ctrlKey)&&A(this,Ou,_m).call(this)}),!i.popupRef&&this.hasPopupData?this._createPopup():s.classList.add("popupTriggerArea"),e.append(s),e}getElementsToTriggerPopup(){return l(this,Fu)}addHighlightArea(){this.container.classList.add("highlightArea")}}Fu=new WeakMap,Ou=new WeakSet,_m=function(){var e;(e=this.downloadManager)==null||e.openOrDownloadData(this.content,this.filename)};var zu,ao,Ya,Io,YA,Lm;class eR{constructor({div:t,accessibilityManager:e,annotationCanvasMap:i,annotationEditorUIManager:s,page:r,viewport:o}){b(this,Io);b(this,zu,null);b(this,ao,null);b(this,Ya,new Map);this.div=t,S(this,zu,e),S(this,ao,i),this.page=r,this.viewport=o,this.zIndex=0,this._annotationEditorUIManager=s}async render(t){var o;const{annotations:e}=t,i=this.div;Mo(i,this.viewport);const s=new Map,r={data:null,layer:i,linkService:t.linkService,downloadManager:t.downloadManager,imageResourcesPath:t.imageResourcesPath||"",renderForms:t.renderForms!==!1,svgFactory:new ly,annotationStorage:t.annotationStorage||new fy,enableScripting:t.enableScripting===!0,hasJSActions:t.hasJSActions,fieldObjects:t.fieldObjects,parent:this,elements:null};for(const a of e){if(a.noHTML)continue;const c=a.annotationType===Ht.POPUP;if(c){const d=s.get(a.id);if(!d)continue;r.elements=d}else{const{width:d,height:f}=hs(a.rect);if(d<=0||f<=0)continue}r.data=a;const u=OP.create(r);if(!u.isRenderable)continue;if(!c&&a.popupRef){const d=s.get(a.popupRef);d?d.push(u):s.set(a.popupRef,[u])}const h=u.render();a.hidden&&(h.style.visibility="hidden"),A(this,Io,YA).call(this,h,a.id),u.annotationEditorType>0&&(l(this,Ya).set(u.data.id,u),(o=this._annotationEditorUIManager)==null||o.renderAnnotationElement(u))}A(this,Io,Lm).call(this)}update({viewport:t}){const e=this.div;this.viewport=t,Mo(e,{rotation:t.rotation}),A(this,Io,Lm).call(this),e.hidden=!1}getEditableAnnotations(){return Array.from(l(this,Ya).values())}getEditableAnnotation(t){return l(this,Ya).get(t)}}zu=new WeakMap,ao=new WeakMap,Ya=new WeakMap,Io=new WeakSet,YA=function(t,e){var s;const i=t.firstChild||t;i.id=`${H1}${e}`,this.div.append(t),(s=l(this,zu))==null||s.moveElementInDOM(this.div,t,i,!1)},Lm=function(){if(!l(this,ao))return;const t=this.div;for(const[e,i]of l(this,ao)){const s=t.querySelector(`[data-annotation-id="${e}"]`);if(!s)continue;i.className="annotationContent";const{firstChild:r}=s;r?r.nodeName==="CANVAS"?r.replaceWith(i):r.classList.contains("annotationContent")?r.after(i):r.before(i):s.append(i)}l(this,ao).clear()};const Qh=/\r\n?|\n/g;var Vu,qu,Hu,Uu,ju,Un,tn,Wu,en,Qa,qt,QA,JA,ZA,xd,fs,Cd,Td,$A,Nm,tb;const wt=class wt extends ht{constructor(e){super({...e,name:"freeTextEditor"});b(this,qt);b(this,Vu,this.editorDivBlur.bind(this));b(this,qu,this.editorDivFocus.bind(this));b(this,Hu,this.editorDivInput.bind(this));b(this,Uu,this.editorDivKeydown.bind(this));b(this,ju,this.editorDivPaste.bind(this));b(this,Un);b(this,tn,"");b(this,Wu,`${this.id}-editor`);b(this,en);b(this,Qa,null);S(this,Un,e.color||wt._defaultColor||ht._defaultLineColor),S(this,en,e.fontSize||wt._defaultFontSize)}static get _keyboardManager(){const e=wt.prototype,i=o=>o.isEmpty(),s=No.TRANSLATE_SMALL,r=No.TRANSLATE_BIG;return ot(this,"_keyboardManager",new Ah([[["ctrl+s","mac+meta+s","ctrl+p","mac+meta+p"],e.commitOrRemove,{bubbles:!0}],[["ctrl+Enter","mac+meta+Enter","Escape","mac+Escape"],e.commitOrRemove],[["ArrowLeft","mac+ArrowLeft"],e._translateEmpty,{args:[-s,0],checker:i}],[["ctrl+ArrowLeft","mac+shift+ArrowLeft"],e._translateEmpty,{args:[-r,0],checker:i}],[["ArrowRight","mac+ArrowRight"],e._translateEmpty,{args:[s,0],checker:i}],[["ctrl+ArrowRight","mac+shift+ArrowRight"],e._translateEmpty,{args:[r,0],checker:i}],[["ArrowUp","mac+ArrowUp"],e._translateEmpty,{args:[0,-s],checker:i}],[["ctrl+ArrowUp","mac+shift+ArrowUp"],e._translateEmpty,{args:[0,-r],checker:i}],[["ArrowDown","mac+ArrowDown"],e._translateEmpty,{args:[0,s],checker:i}],[["ctrl+ArrowDown","mac+shift+ArrowDown"],e._translateEmpty,{args:[0,r],checker:i}]]))}static initialize(e,i){ht.initialize(e,i,{strings:["pdfjs-free-text-default-content"]});const s=getComputedStyle(document.documentElement);this._internalPadding=parseFloat(s.getPropertyValue("--freetext-padding"))}static updateDefaultParams(e,i){switch(e){case G.FREETEXT_SIZE:wt._defaultFontSize=i;break;case G.FREETEXT_COLOR:wt._defaultColor=i;break}}updateParams(e,i){switch(e){case G.FREETEXT_SIZE:A(this,qt,QA).call(this,i);break;case G.FREETEXT_COLOR:A(this,qt,JA).call(this,i);break}}static get defaultPropertiesToUpdate(){return[[G.FREETEXT_SIZE,wt._defaultFontSize],[G.FREETEXT_COLOR,wt._defaultColor||ht._defaultLineColor]]}get propertiesToUpdate(){return[[G.FREETEXT_SIZE,l(this,en)],[G.FREETEXT_COLOR,l(this,Un)]]}_translateEmpty(e,i){this._uiManager.translateSelectedEditors(e,i,!0)}getInitialTranslation(){const e=this.parentScale;return[-wt._internalPadding*e,-(wt._internalPadding+l(this,en))*e]}rebuild(){this.parent&&(super.rebuild(),this.div!==null&&(this.isAttachedToDOM||this.parent.add(this)))}enableEditMode(){if(this.isInEditMode())return;this.parent.setEditingState(!1),this.parent.updateToolbar(st.FREETEXT),super.enableEditMode(),this.overlayDiv.classList.remove("enabled"),this.editorDiv.contentEditable=!0,this._isDraggable=!1,this.div.removeAttribute("aria-activedescendant");const e=this._uiManager._signal;this.editorDiv.addEventListener("keydown",l(this,Uu),{signal:e}),this.editorDiv.addEventListener("focus",l(this,qu),{signal:e}),this.editorDiv.addEventListener("blur",l(this,Vu),{signal:e}),this.editorDiv.addEventListener("input",l(this,Hu),{signal:e}),this.editorDiv.addEventListener("paste",l(this,ju),{signal:e})}disableEditMode(){this.isInEditMode()&&(this.parent.setEditingState(!0),super.disableEditMode(),this.overlayDiv.classList.add("enabled"),this.editorDiv.contentEditable=!1,this.div.setAttribute("aria-activedescendant",l(this,Wu)),this._isDraggable=!0,this.editorDiv.removeEventListener("keydown",l(this,Uu)),this.editorDiv.removeEventListener("focus",l(this,qu)),this.editorDiv.removeEventListener("blur",l(this,Vu)),this.editorDiv.removeEventListener("input",l(this,Hu)),this.editorDiv.removeEventListener("paste",l(this,ju)),this.div.focus({preventScroll:!0}),this.isEditing=!1,this.parent.div.classList.add("freetextEditing"))}focusin(e){this._focusEventsAllowed&&(super.focusin(e),e.target!==this.editorDiv&&this.editorDiv.focus())}onceAdded(){var e;this.width||(this.enableEditMode(),this.editorDiv.focus(),(e=this._initialOptions)!=null&&e.isCentered&&this.center(),this._initialOptions=null)}isEmpty(){return!this.editorDiv||this.editorDiv.innerText.trim()===""}remove(){this.isEditing=!1,this.parent&&(this.parent.setEditingState(!0),this.parent.div.classList.add("freetextEditing")),super.remove()}commit(){if(!this.isInEditMode())return;super.commit(),this.disableEditMode();const e=l(this,tn),i=S(this,tn,A(this,qt,ZA).call(this).trimEnd());if(e===i)return;const s=r=>{if(S(this,tn,r),!r){this.remove();return}A(this,qt,Td).call(this),this._uiManager.rebuild(this),A(this,qt,xd).call(this)};this.addCommands({cmd:()=>{s(i)},undo:()=>{s(e)},mustExec:!1}),A(this,qt,xd).call(this)}shouldGetKeyboardEvents(){return this.isInEditMode()}enterInEditMode(){this.enableEditMode(),this.editorDiv.focus()}dblclick(e){this.enterInEditMode()}keydown(e){e.target===this.div&&e.key==="Enter"&&(this.enterInEditMode(),e.preventDefault())}editorDivKeydown(e){wt._keyboardManager.exec(this,e)}editorDivFocus(e){this.isEditing=!0}editorDivBlur(e){this.isEditing=!1}editorDivInput(e){this.parent.div.classList.toggle("freetextEditing",this.isEmpty())}disableEditing(){this.editorDiv.setAttribute("role","comment"),this.editorDiv.removeAttribute("aria-multiline")}enableEditing(){this.editorDiv.setAttribute("role","textbox"),this.editorDiv.setAttribute("aria-multiline",!0)}render(){if(this.div)return this.div;let e,i;this.width&&(e=this.x,i=this.y),super.render(),this.editorDiv=document.createElement("div"),this.editorDiv.className="internal",this.editorDiv.setAttribute("id",l(this,Wu)),this.editorDiv.setAttribute("data-l10n-id","pdfjs-free-text"),this.enableEditing(),ht._l10nPromise.get("pdfjs-free-text-default-content").then(r=>{var o;return(o=this.editorDiv)==null?void 0:o.setAttribute("default-content",r)}),this.editorDiv.contentEditable=!0;const{style:s}=this.editorDiv;if(s.fontSize=`calc(${l(this,en)}px * var(--scale-factor))`,s.color=l(this,Un),this.div.append(this.editorDiv),this.overlayDiv=document.createElement("div"),this.overlayDiv.classList.add("overlay","enabled"),this.div.append(this.overlayDiv),lf(this,this.div,["dblclick","keydown"]),this.width){const[r,o]=this.parentDimensions;if(this.annotationElementId){const{position:a}=l(this,Qa);let[c,u]=this.getInitialTranslation();[c,u]=this.pageTranslationToScreen(c,u);const[h,d]=this.pageDimensions,[f,p]=this.pageTranslation;let g,w;switch(this.rotation){case 0:g=e+(a[0]-f)/h,w=i+this.height-(a[1]-p)/d;break;case 90:g=e+(a[0]-f)/h,w=i-(a[1]-p)/d,[c,u]=[u,-c];break;case 180:g=e-this.width+(a[0]-f)/h,w=i-(a[1]-p)/d,[c,u]=[-c,-u];break;case 270:g=e+(a[0]-f-this.height*d)/h,w=i+(a[1]-p-this.width*h)/d,[c,u]=[-u,c];break}this.setAt(g*r,w*o,c,u)}else this.setAt(e*r,i*o,this.width*r,this.height*o);A(this,qt,Td).call(this),this._isDraggable=!0,this.editorDiv.contentEditable=!1}else this._isDraggable=!1,this.editorDiv.contentEditable=!0;return this.div}editorDivPaste(e){var g,w,E;const i=e.clipboardData||window.clipboardData,{types:s}=i;if(s.length===1&&s[0]==="text/plain")return;e.preventDefault();const r=A(g=wt,fs,Nm).call(g,i.getData("text")||"").replaceAll(Qh,` +***************************************************************************** */var jg=function(n,t){return jg=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,i){e.__proto__=i}||function(e,i){for(var s in i)i.hasOwnProperty(s)&&(e[s]=i[s])},jg(n,t)};function GT(n,t){jg(n,t);function e(){this.constructor=n}n.prototype=t===null?Object.create(t):(e.prototype=t.prototype,new e)}var Ut=function(){return Ut=Object.assign||function(t){for(var e,i=1,s=arguments.length;i"u"?Number.MAX_SAFE_INTEGER:this.props.maxWidth,i=typeof this.props.maxHeight>"u"?Number.MAX_SAFE_INTEGER:this.props.maxHeight;return{maxWidth:e,maxHeight:i}},t.prototype.getSelfElement=function(){return this.resizable&&this.resizable.resizable},t.prototype.getOffsetHeight=function(e){var i=this.props.scale;switch(this.props.bounds){case"window":return window.innerHeight/i;case"body":return document.body.offsetHeight/i;default:return e.offsetHeight}},t.prototype.getOffsetWidth=function(e){var i=this.props.scale;switch(this.props.bounds){case"window":return window.innerWidth/i;case"body":return document.body.offsetWidth/i;default:return e.offsetWidth}},t.prototype.onDragStart=function(e,i){this.props.onDragStart&&this.props.onDragStart(e,i);var s=this.getDraggablePosition();if(this.originalPosition=s,!!this.props.bounds){var r=this.getParent(),o=this.props.scale,a;if(this.props.bounds==="parent")a=r;else if(this.props.bounds==="body"){var c=r.getBoundingClientRect(),u=c.left,h=c.top,d=document.body.getBoundingClientRect(),f=-(u-r.offsetLeft*o-d.left)/o,p=-(h-r.offsetTop*o-d.top)/o,g=(document.body.offsetWidth-this.resizable.size.width*o)/o+f,w=(document.body.offsetHeight-this.resizable.size.height*o)/o+p;return this.setState({bounds:{top:p,right:g,bottom:w,left:f}})}else if(this.props.bounds==="window"){if(!this.resizable)return;var E=r.getBoundingClientRect(),m=E.left,v=E.top,y=-(m-r.offsetLeft*o)/o,x=-(v-r.offsetTop*o)/o,g=(window.innerWidth-this.resizable.size.width*o)/o+y,w=(window.innerHeight-this.resizable.size.height*o)/o+x;return this.setState({bounds:{top:x,right:g,bottom:w,left:y}})}else typeof this.props.bounds=="string"?a=document.querySelector(this.props.bounds):this.props.bounds instanceof HTMLElement&&(a=this.props.bounds);if(!(!(a instanceof HTMLElement)||!(r instanceof HTMLElement))){var C=a.getBoundingClientRect(),T=C.left,k=C.top,P=r.getBoundingClientRect(),M=P.left,L=P.top,D=(T-M)/o,W=k-L;if(this.resizable){this.updateOffsetFromParent();var X=this.offsetFromParent;this.setState({bounds:{top:W-X.top,right:D+(a.offsetWidth-this.resizable.size.width)-X.left/o,bottom:W+(a.offsetHeight-this.resizable.size.height)-X.top,left:D-X.left/o}})}}}},t.prototype.onDrag=function(e,i){if(this.props.onDrag){var s=this.offsetFromParent,r=s.left,o=s.top;if(!this.props.dragAxis||this.props.dragAxis==="both")return this.props.onDrag(e,Ut(Ut({},i),{x:i.x+r,y:i.y+o}));if(this.props.dragAxis==="x")return this.props.onDrag(e,Ut(Ut({},i),{x:i.x+r,y:this.originalPosition.y+o,deltaY:0}));if(this.props.dragAxis==="y")return this.props.onDrag(e,Ut(Ut({},i),{x:this.originalPosition.x+r,y:i.y+o,deltaX:0}))}},t.prototype.onDragStop=function(e,i){if(this.props.onDragStop){var s=this.offsetFromParent,r=s.left,o=s.top;if(!this.props.dragAxis||this.props.dragAxis==="both")return this.props.onDragStop(e,Ut(Ut({},i),{x:i.x+r,y:i.y+o}));if(this.props.dragAxis==="x")return this.props.onDragStop(e,Ut(Ut({},i),{x:i.x+r,y:this.originalPosition.y+o,deltaY:0}));if(this.props.dragAxis==="y")return this.props.onDragStop(e,Ut(Ut({},i),{x:this.originalPosition.x+r,y:i.y+o,deltaX:0}))}},t.prototype.onResizeStart=function(e,i,s){e.stopPropagation(),this.setState({resizing:!0});var r=this.props.scale,o=this.offsetFromParent,a=this.getDraggablePosition();if(this.resizingPosition={x:a.x+o.left,y:a.y+o.top},this.originalPosition=a,this.props.bounds){var c=this.getParent(),u=void 0;this.props.bounds==="parent"?u=c:this.props.bounds==="body"?u=document.body:this.props.bounds==="window"?u=window:typeof this.props.bounds=="string"?u=document.querySelector(this.props.bounds):this.props.bounds instanceof HTMLElement&&(u=this.props.bounds);var h=this.getSelfElement();if(h instanceof Element&&(u instanceof HTMLElement||u===window)&&c instanceof HTMLElement){var d=this.getMaxSizesFromProps(),f=d.maxWidth,p=d.maxHeight,g=this.getParentSize();if(f&&typeof f=="string")if(f.endsWith("%")){var w=Number(f.replace("%",""))/100;f=g.width*w}else f.endsWith("px")&&(f=Number(f.replace("px","")));if(p&&typeof p=="string")if(p.endsWith("%")){var w=Number(p.replace("%",""))/100;p=g.height*w}else p.endsWith("px")&&(p=Number(p.replace("px","")));var E=h.getBoundingClientRect(),m=E.left,v=E.top,y=this.props.bounds==="window"?{left:0,top:0}:u.getBoundingClientRect(),x=y.left,C=y.top,T=this.getOffsetWidth(u),k=this.getOffsetHeight(u),P=i.toLowerCase().endsWith("left"),M=i.toLowerCase().endsWith("right"),L=i.startsWith("top"),D=i.startsWith("bottom");if((P||L)&&this.resizable){var W=(m-x)/r+this.resizable.size.width;this.setState({maxWidth:W>Number(f)?f:W})}if(M||this.props.lockAspectRatio&&!P&&!L){var W=T+(x-m)/r;this.setState({maxWidth:W>Number(f)?f:W})}if((L||P)&&this.resizable){var W=(v-C)/r+this.resizable.size.height;this.setState({maxHeight:W>Number(p)?p:W})}if(D||this.props.lockAspectRatio&&!L&&!P){var W=k+(C-v)/r;this.setState({maxHeight:W>Number(p)?p:W})}}}else this.setState({maxWidth:this.props.maxWidth,maxHeight:this.props.maxHeight});this.props.onResizeStart&&this.props.onResizeStart(e,i,s)},t.prototype.onResize=function(e,i,s,r){var o=this,a={x:this.originalPosition.x,y:this.originalPosition.y},c=-r.width,u=-r.height,h=["top","left","topLeft","bottomLeft","topRight"];h.includes(i)&&(i==="bottomLeft"?a.x+=c:(i==="topRight"||(a.x+=c),a.y+=u));var d=this.draggable.state;(a.x!==d.x||a.y!==d.y)&&wh.flushSync(function(){o.draggable.setState(a)}),this.updateOffsetFromParent();var f=this.offsetFromParent,p=this.getDraggablePosition().x+f.left,g=this.getDraggablePosition().y+f.top;this.resizingPosition={x:p,y:g},this.props.onResize&&this.props.onResize(e,i,s,r,{x:p,y:g})},t.prototype.onResizeStop=function(e,i,s,r){this.setState({resizing:!1});var o=this.getMaxSizesFromProps(),a=o.maxWidth,c=o.maxHeight;this.setState({maxWidth:a,maxHeight:c}),this.props.onResizeStop&&this.props.onResizeStop(e,i,s,r,this.resizingPosition)},t.prototype.updateSize=function(e){this.resizable&&this.resizable.updateSize({width:e.width,height:e.height})},t.prototype.updatePosition=function(e){this.draggable.setState(e)},t.prototype.updateOffsetFromParent=function(){var e=this.props.scale,i=this.getParent(),s=this.getSelfElement();if(!i||s===null)return{top:0,left:0};var r=i.getBoundingClientRect(),o=r.left,a=r.top,c=s.getBoundingClientRect(),u=this.getDraggablePosition(),h=i.scrollLeft,d=i.scrollTop;this.offsetFromParent={left:c.left-o+h-u.x*e,top:c.top-a+d-u.y*e}},t.prototype.render=function(){var e=this,i=this.props,s=i.disableDragging,r=i.style,o=i.dragHandleClassName,a=i.position,c=i.onMouseDown,u=i.onMouseUp,h=i.dragAxis,d=i.dragGrid,f=i.bounds,p=i.enableUserSelectHack,g=i.cancel,w=i.children;i.onResizeStart,i.onResize,i.onResizeStop,i.onDragStart,i.onDrag,i.onDragStop;var E=i.resizeHandleStyles,m=i.resizeHandleClasses,v=i.resizeHandleComponent,y=i.enableResizing,x=i.resizeGrid,C=i.resizeHandleWrapperClass,T=i.resizeHandleWrapperStyle,k=i.scale,P=i.allowAnyClick,M=YT(i,["disableDragging","style","dragHandleClassName","position","onMouseDown","onMouseUp","dragAxis","dragGrid","bounds","enableUserSelectHack","cancel","children","onResizeStart","onResize","onResizeStop","onDragStart","onDrag","onDragStop","resizeHandleStyles","resizeHandleClasses","resizeHandleComponent","enableResizing","resizeGrid","resizeHandleWrapperClass","resizeHandleWrapperStyle","scale","allowAnyClick"]),L=this.props.default?Ut({},this.props.default):void 0;delete M.default;var D=s||o?{cursor:"auto"}:{cursor:"move"},W=Ut(Ut(Ut({},QT),D),r),X=this.offsetFromParent,tt=X.left,nt=X.top,rt;a&&(rt={x:a.x-tt,y:a.y-nt});var U=this.state.resizing?void 0:rt,R=this.state.resizing?"both":h;return Y.createElement(OT,{ref:function(H){H&&(e.draggable=H)},handle:o?".".concat(o):void 0,defaultPosition:L,onMouseDown:c,onMouseUp:u,onStart:this.onDragStart,onDrag:this.onDrag,onStop:this.onDragStop,axis:R,disabled:s,grid:d,bounds:f?this.state.bounds:void 0,position:U,enableUserSelectHack:p,cancel:g,scale:k,allowAnyClick:P,nodeRef:this.resizableElement},Y.createElement(XT,Ut({},M,{ref:function(H){H&&(e.resizable=H,e.resizableElement.current=H.resizable)},defaultSize:L,size:this.props.size,enable:typeof y=="boolean"?JT(y):y,onResizeStart:this.onResizeStart,onResize:this.onResize,onResizeStop:this.onResizeStop,style:W,minWidth:this.props.minWidth,minHeight:this.props.minHeight,maxWidth:this.state.resizing?this.state.maxWidth:this.props.maxWidth,maxHeight:this.state.resizing?this.state.maxHeight:this.props.maxHeight,grid:x,handleWrapperClass:C,handleWrapperStyle:T,lockAspectRatio:this.props.lockAspectRatio,lockAspectRatioExtraWidth:this.props.lockAspectRatioExtraWidth,lockAspectRatioExtraHeight:this.props.lockAspectRatioExtraHeight,handleStyles:E,handleClasses:m,handleComponent:v,scale:this.props.scale}),w))},t.defaultProps={maxWidth:Number.MAX_SAFE_INTEGER,maxHeight:Number.MAX_SAFE_INTEGER,scale:1,onResizeStart:function(){},onResize:function(){},onResizeStop:function(){},onDragStart:function(){},onDrag:function(){},onDragStop:function(){}},t}(Y.PureComponent);const $T="_areaHighlight_1ppoh_1",tk="_part_1ppoh_8",ek="_scrolledTo_1ppoh_15",Up={areaHighlight:$T,part:tk,scrolledTo:ek};function nk({highlight:n,onChange:t,isScrolledTo:e,...i}){return N.jsx("div",{className:`${Up.areaHighlight} ${e?Up.scrolledTo:""}`,children:N.jsx(ZT,{className:Up.part,onDragStop:(s,r)=>{const o={...n.position.boundingRect,top:r.y,left:r.x};t(o)},onResizeStop:(s,r,o,a,c)=>{var h;const u={top:c.y,left:c.x,width:o.offsetWidth,height:o.offsetHeight,pageNumber:((h=pc(o))==null?void 0:h.number)||-1};t(u)},position:{x:n.position.boundingRect.left,y:n.position.boundingRect.top},size:{width:n.position.boundingRect.width,height:n.position.boundingRect.height},onClick:s=>{s.stopPropagation(),s.preventDefault()},...i})})}var gc={};gc.d=(n,t)=>{for(var e in t)gc.o(t,e)&&!gc.o(n,e)&&Object.defineProperty(n,e,{enumerable:!0,get:t[e]})};gc.o=(n,t)=>Object.prototype.hasOwnProperty.call(n,t);var K=globalThis.pdfjsLib={};gc.d(K,{AbortException:()=>Ho,AnnotationEditorLayer:()=>$m,AnnotationEditorParamsType:()=>G,AnnotationEditorType:()=>st,AnnotationEditorUIManager:()=>No,AnnotationLayer:()=>tR,AnnotationMode:()=>Ls,CMapCompressionType:()=>Bg,ColorPicker:()=>df,DOMSVGFactory:()=>ay,DrawLayer:()=>iv,FeatureTest:()=>He,GlobalWorkerOptions:()=>us,ImageKind:()=>ud,InvalidPDFException:()=>z1,MissingPDFException:()=>qo,OPS:()=>Dn,Outliner:()=>Dm,PDFDataRangeTransport:()=>NA,PDFDateString:()=>B1,PDFWorker:()=>ya,PasswordResponses:()=>ok,PermissionFlag:()=>rk,PixelsPerInch:()=>dr,RenderingCancelledException:()=>ly,TextLayer:()=>bl,UnexpectedResponseException:()=>np,Util:()=>q,VerbosityLevel:()=>$f,XfaLayer:()=>IA,build:()=>DP,createValidAbsoluteUrl:()=>uk,fetchData:()=>ap,getDocument:()=>CP,getFilenameFromUrl:()=>Sk,getPdfFilenameFromUrl:()=>Ak,getXfaPageViewport:()=>bk,isDataScheme:()=>cy,isPdfFile:()=>uy,noContextMenu:()=>Ke,normalizeUnicode:()=>mk,renderTextLayer:()=>mP,setLayerDimensions:()=>Mo,shadow:()=>ot,updateTextLayer:()=>vP,version:()=>NP});const Ae=typeof process=="object"&&process+""=="[object process]"&&!process.versions.nw&&!(process.versions.electron&&process.type&&process.type!=="browser"),O1=[1,0,0,1,0,0],Wg=[.001,0,0,.001,0,0],ik=1e7,jp=1.35,Sn={ANY:1,DISPLAY:2,PRINT:4,SAVE:8,ANNOTATIONS_FORMS:16,ANNOTATIONS_STORAGE:32,ANNOTATIONS_DISABLE:64,OPLIST:256},Ls={DISABLE:0,ENABLE:1,ENABLE_FORMS:2,ENABLE_STORAGE:3},sk="pdfjs_internal_editor_",st={DISABLE:-1,NONE:0,FREETEXT:3,HIGHLIGHT:9,STAMP:13,INK:15},G={RESIZE:1,CREATE:2,FREETEXT_SIZE:11,FREETEXT_COLOR:12,FREETEXT_OPACITY:13,INK_COLOR:21,INK_THICKNESS:22,INK_OPACITY:23,HIGHLIGHT_COLOR:31,HIGHLIGHT_DEFAULT_COLOR:32,HIGHLIGHT_THICKNESS:33,HIGHLIGHT_FREE:34,HIGHLIGHT_SHOW_ALL:35},rk={PRINT:4,MODIFY_CONTENTS:8,COPY:16,MODIFY_ANNOTATIONS:32,FILL_INTERACTIVE_FORMS:256,COPY_FOR_ACCESSIBILITY:512,ASSEMBLE:1024,PRINT_HIGH_QUALITY:2048},ge={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},ud={GRAYSCALE_1BPP:1,RGB_24BPP:2,RGBA_32BPP:3},Ht={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},Fl={SOLID:1,DASHED:2,BEVELED:3,INSET:4,UNDERLINE:5},$f={ERRORS:0,WARNINGS:1,INFOS:5},Bg={NONE:0,BINARY:1},Dn={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},ok={NEED_PASSWORD:1,INCORRECT_PASSWORD:2};let tp=$f.WARNINGS;function ak(n){Number.isInteger(n)&&(tp=n)}function lk(){return tp}function ep(n){tp>=$f.INFOS&&console.log(`Info: ${n}`)}function Q(n){tp>=$f.WARNINGS&&console.log(`Warning: ${n}`)}function pt(n){throw new Error(n)}function Gt(n,t){n||pt(t)}function ck(n){switch(n==null?void 0:n.protocol){case"http:":case"https:":case"ftp:":case"mailto:":case"tel:":return!0;default:return!1}}function uk(n,t=null,e=null){if(!n)return null;try{if(e&&typeof n=="string"){if(e.addDefaultProtocol&&n.startsWith("www.")){const s=n.match(/\./g);(s==null?void 0:s.length)>=2&&(n=`http://${n}`)}if(e.tryConvertEncoding)try{n=gk(n)}catch{}}const i=t?new URL(n,t):new URL(n);if(ck(i))return i}catch{}return null}function ot(n,t,e,i=!1){return Object.defineProperty(n,t,{value:e,enumerable:!i,configurable:!0,writable:!1}),e}const yr=function(){function t(e,i){this.constructor===t&&pt("Cannot initialize BaseException."),this.message=e,this.name=i}return t.prototype=new Error,t.constructor=t,t}();class Kg extends yr{constructor(t,e){super(t,"PasswordException"),this.code=e}}class Xg extends yr{constructor(t,e){super(t,"UnknownErrorException"),this.details=e}}class z1 extends yr{constructor(t){super(t,"InvalidPDFException")}}class qo extends yr{constructor(t){super(t,"MissingPDFException")}}class np extends yr{constructor(t,e){super(t,"UnexpectedResponseException"),this.status=e}}class hk extends yr{constructor(t){super(t,"FormatError")}}class Ho extends yr{constructor(t){super(t,"AbortException")}}function V1(n){(typeof n!="object"||(n==null?void 0:n.length)===void 0)&&pt("Invalid argument for bytesToString");const t=n.length,e=8192;if(t>24&255,n>>16&255,n>>8&255,n&255)}function ry(n){const t=Object.create(null);for(const[e,i]of n)t[e]=i;return t}function fk(){const n=new Uint8Array(4);return n[0]=1,new Uint32Array(n.buffer,0,1)[0]===1}function pk(){try{return new Function(""),!0}catch{return!1}}class He{static get isLittleEndian(){return ot(this,"isLittleEndian",fk())}static get isEvalSupported(){return ot(this,"isEvalSupported",pk())}static get isOffscreenCanvasSupported(){return ot(this,"isOffscreenCanvasSupported",typeof OffscreenCanvas<"u")}static get platform(){return typeof navigator<"u"&&typeof(navigator==null?void 0:navigator.platform)=="string"?ot(this,"platform",{isMac:navigator.platform.includes("Mac")}):ot(this,"platform",{isMac:!1})}static get isCSSRoundSupported(){var t,e;return ot(this,"isCSSRoundSupported",(e=(t=globalThis.CSS)==null?void 0:t.supports)==null?void 0:e.call(t,"width: round(1.5px, 1px)"))}}const Wp=Array.from(Array(256).keys(),n=>n.toString(16).padStart(2,"0"));var ds,hd,Gg;class q{static makeHexColor(t,e,i){return`#${Wp[t]}${Wp[e]}${Wp[i]}`}static scaleMinMax(t,e){let i;t[0]?(t[0]<0&&(i=e[0],e[0]=e[2],e[2]=i),e[0]*=t[0],e[2]*=t[0],t[3]<0&&(i=e[1],e[1]=e[3],e[3]=i),e[1]*=t[3],e[3]*=t[3]):(i=e[0],e[0]=e[1],e[1]=i,i=e[2],e[2]=e[3],e[3]=i,t[1]<0&&(i=e[1],e[1]=e[3],e[3]=i),e[1]*=t[1],e[3]*=t[1],t[2]<0&&(i=e[0],e[0]=e[2],e[2]=i),e[0]*=t[2],e[2]*=t[2]),e[0]+=t[4],e[1]+=t[5],e[2]+=t[4],e[3]+=t[5]}static transform(t,e){return[t[0]*e[0]+t[2]*e[1],t[1]*e[0]+t[3]*e[1],t[0]*e[2]+t[2]*e[3],t[1]*e[2]+t[3]*e[3],t[0]*e[4]+t[2]*e[5]+t[4],t[1]*e[4]+t[3]*e[5]+t[5]]}static applyTransform(t,e){const i=t[0]*e[0]+t[1]*e[2]+e[4],s=t[0]*e[1]+t[1]*e[3]+e[5];return[i,s]}static applyInverseTransform(t,e){const i=e[0]*e[3]-e[1]*e[2],s=(t[0]*e[3]-t[1]*e[2]+e[2]*e[5]-e[4]*e[3])/i,r=(-t[0]*e[1]+t[1]*e[0]+e[4]*e[1]-e[5]*e[0])/i;return[s,r]}static getAxialAlignedBoundingBox(t,e){const i=this.applyTransform(t,e),s=this.applyTransform(t.slice(2,4),e),r=this.applyTransform([t[0],t[3]],e),o=this.applyTransform([t[2],t[1]],e);return[Math.min(i[0],s[0],r[0],o[0]),Math.min(i[1],s[1],r[1],o[1]),Math.max(i[0],s[0],r[0],o[0]),Math.max(i[1],s[1],r[1],o[1])]}static inverseTransform(t){const e=t[0]*t[3]-t[1]*t[2];return[t[3]/e,-t[1]/e,-t[2]/e,t[0]/e,(t[2]*t[5]-t[4]*t[3])/e,(t[4]*t[1]-t[5]*t[0])/e]}static singularValueDecompose2dScale(t){const e=[t[0],t[2],t[1],t[3]],i=t[0]*e[0]+t[1]*e[2],s=t[0]*e[1]+t[1]*e[3],r=t[2]*e[0]+t[3]*e[2],o=t[2]*e[1]+t[3]*e[3],a=(i+o)/2,c=Math.sqrt((i+o)**2-4*(i*o-r*s))/2,u=a+c||1,h=a-c||1;return[Math.sqrt(u),Math.sqrt(h)]}static normalizeRect(t){const e=t.slice(0);return t[0]>t[2]&&(e[0]=t[2],e[2]=t[0]),t[1]>t[3]&&(e[1]=t[3],e[3]=t[1]),e}static intersect(t,e){const i=Math.max(Math.min(t[0],t[2]),Math.min(e[0],e[2])),s=Math.min(Math.max(t[0],t[2]),Math.max(e[0],e[2]));if(i>s)return null;const r=Math.max(Math.min(t[1],t[3]),Math.min(e[1],e[3])),o=Math.min(Math.max(t[1],t[3]),Math.max(e[1],e[3]));return r>o?null:[i,r,s,o]}static bezierBoundingBox(t,e,i,s,r,o,a,c,u){return u?(u[0]=Math.min(u[0],t,a),u[1]=Math.min(u[1],e,c),u[2]=Math.max(u[2],t,a),u[3]=Math.max(u[3],e,c)):u=[Math.min(t,a),Math.min(e,c),Math.max(t,a),Math.max(e,c)],A(this,ds,Gg).call(this,t,i,r,a,e,s,o,c,3*(-t+3*(i-r)+a),6*(t-2*i+r),3*(i-t),u),A(this,ds,Gg).call(this,t,i,r,a,e,s,o,c,3*(-e+3*(s-o)+c),6*(e-2*s+o),3*(s-e),u),u}}ds=new WeakSet,hd=function(t,e,i,s,r,o,a,c,u,h){if(u<=0||u>=1)return;const d=1-u,f=u*u,p=f*u,g=d*(d*(d*t+3*u*e)+3*f*i)+p*s,w=d*(d*(d*r+3*u*o)+3*f*a)+p*c;h[0]=Math.min(h[0],g),h[1]=Math.min(h[1],w),h[2]=Math.max(h[2],g),h[3]=Math.max(h[3],w)},Gg=function(t,e,i,s,r,o,a,c,u,h,d,f){if(Math.abs(u)<1e-12){Math.abs(h)>=1e-12&&A(this,ds,hd).call(this,t,e,i,s,r,o,a,c,-d/h,f);return}const p=h**2-4*d*u;if(p<0)return;const g=Math.sqrt(p),w=2*u;A(this,ds,hd).call(this,t,e,i,s,r,o,a,c,(-h+g)/w,f),A(this,ds,hd).call(this,t,e,i,s,r,o,a,c,(-h-g)/w,f)},b(q,ds);function gk(n){return decodeURIComponent(escape(n))}let Bp=null,j0=null;function mk(n){return Bp||(Bp=/([\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,j0=new Map([["ſt","ſt"]])),n.replaceAll(Bp,(t,e,i)=>e?e.normalize("NFKC"):j0.get(i))}function vk(){if(typeof crypto<"u"&&typeof(crypto==null?void 0:crypto.randomUUID)=="function")return crypto.randomUUID();const n=new Uint8Array(32);if(typeof crypto<"u"&&typeof(crypto==null?void 0:crypto.getRandomValues)=="function")crypto.getRandomValues(n);else for(let t=0;t<32;t++)n[t]=Math.floor(Math.random()*255);return V1(n)}const q1="pdfjs_internal_id_",Pi={BEZIER_CURVE_TO:0,MOVE_TO:1,LINE_TO:2,QUADRATIC_CURVE_TO:3,RESTORE:4,SAVE:5,SCALE:6,TRANSFORM:7,TRANSLATE:8};class sp{constructor(){this.constructor===sp&&pt("Cannot initialize BaseFilterFactory.")}addFilter(t){return"none"}addHCMFilter(t,e){return"none"}addAlphaFilter(t){return"none"}addLuminosityFilter(t){return"none"}addHighlightHCMFilter(t,e,i,s,r){return"none"}destroy(t=!1){}}var Fc;const gy=class gy{constructor({enableHWA:t=!1}={}){b(this,Fc,!1);this.constructor===gy&&pt("Cannot initialize BaseCanvasFactory."),S(this,Fc,t)}create(t,e){if(t<=0||e<=0)throw new Error("Invalid canvas size");const i=this._createCanvas(t,e);return{canvas:i,context:i.getContext("2d",{willReadFrequently:!l(this,Fc)})}}reset(t,e,i){if(!t.canvas)throw new Error("Canvas is not specified");if(e<=0||i<=0)throw new Error("Invalid canvas size");t.canvas.width=e,t.canvas.height=i}destroy(t){if(!t.canvas)throw new Error("Canvas is not specified");t.canvas.width=0,t.canvas.height=0,t.canvas=null,t.context=null}_createCanvas(t,e){pt("Abstract method `_createCanvas` called.")}};Fc=new WeakMap;let af=gy;class rp{constructor({baseUrl:t=null,isCompressed:e=!0}){this.constructor===rp&&pt("Cannot initialize BaseCMapReaderFactory."),this.baseUrl=t,this.isCompressed=e}async fetch({name:t}){if(!this.baseUrl)throw new Error('The CMap "baseUrl" parameter must be specified, ensure that the "cMapUrl" and "cMapPacked" API parameters are provided.');if(!t)throw new Error("CMap name must be specified.");const e=this.baseUrl+t+(this.isCompressed?".bcmap":""),i=this.isCompressed?Bg.BINARY:Bg.NONE;return this._fetchData(e,i).catch(s=>{throw new Error(`Unable to load ${this.isCompressed?"binary ":""}CMap at: ${e}`)})}_fetchData(t,e){pt("Abstract method `_fetchData` called.")}}class op{constructor({baseUrl:t=null}){this.constructor===op&&pt("Cannot initialize BaseStandardFontDataFactory."),this.baseUrl=t}async fetch({filename:t}){if(!this.baseUrl)throw new Error('The standard font "baseUrl" parameter must be specified, ensure that the "standardFontDataUrl" API parameter is provided.');if(!t)throw new Error("Font filename must be specified.");const e=`${this.baseUrl}${t}`;return this._fetchData(e).catch(i=>{throw new Error(`Unable to load font data at: ${e}`)})}_fetchData(t){pt("Abstract method `_fetchData` called.")}}class oy{constructor(){this.constructor===oy&&pt("Cannot initialize BaseSVGFactory.")}create(t,e,i=!1){if(t<=0||e<=0)throw new Error("Invalid SVG dimensions");const s=this._createSVG("svg:svg");return s.setAttribute("version","1.1"),i||(s.setAttribute("width",`${t}px`),s.setAttribute("height",`${e}px`)),s.setAttribute("preserveAspectRatio","none"),s.setAttribute("viewBox",`0 0 ${t} ${e}`),s}createElement(t){if(typeof t!="string")throw new Error("Invalid SVG element type");return this._createSVG(t)}_createSVG(t){pt("Abstract method `_createSVG` called.")}}const _i="http://www.w3.org/2000/svg",xr=class xr{};I(xr,"CSS",96),I(xr,"PDF",72),I(xr,"PDF_TO_CSS_UNITS",xr.CSS/xr.PDF);let dr=xr;var Rr,ii,Oi,Fe,pf,_r,V,me,Bo,Ko,dd,H1,Yg,Xo,Wl,Bl,Qg,Kl;class yk extends sp{constructor({docId:e,ownerDocument:i=globalThis.document}={}){super();b(this,V);b(this,Rr);b(this,ii);b(this,Oi);b(this,Fe);b(this,pf);b(this,_r,0);S(this,Oi,e),S(this,Fe,i)}addFilter(e){if(!e)return"none";let i=l(this,V,me).get(e);if(i)return i;const[s,r,o]=A(this,V,dd).call(this,e),a=e.length===1?s:`${s}${r}${o}`;if(i=l(this,V,me).get(a),i)return l(this,V,me).set(e,i),i;const c=`g_${l(this,Oi)}_transfer_map_${Xe(this,_r)._++}`,u=`url(#${c})`;l(this,V,me).set(e,u),l(this,V,me).set(a,u);const h=A(this,V,Xo).call(this,c);return A(this,V,Bl).call(this,s,r,o,h),u}addHCMFilter(e,i){var g;const s=`${e}-${i}`,r="base";let o=l(this,V,Bo).get(r);if((o==null?void 0:o.key)===s||(o?((g=o.filter)==null||g.remove(),o.key=s,o.url="none",o.filter=null):(o={key:s,url:"none",filter:null},l(this,V,Bo).set(r,o)),!e||!i))return o.url;const a=A(this,V,Kl).call(this,e);e=q.makeHexColor(...a);const c=A(this,V,Kl).call(this,i);if(i=q.makeHexColor(...c),l(this,V,Ko).style.color="",e==="#000000"&&i==="#ffffff"||e===i)return o.url;const u=new Array(256);for(let w=0;w<=255;w++){const E=w/255;u[w]=E<=.03928?E/12.92:((E+.055)/1.055)**2.4}const h=u.join(","),d=`g_${l(this,Oi)}_hcm_filter`,f=o.filter=A(this,V,Xo).call(this,d);A(this,V,Bl).call(this,h,h,h,f),A(this,V,Yg).call(this,f);const p=(w,E)=>{const m=a[w]/255,v=c[w]/255,y=new Array(E+1);for(let x=0;x<=E;x++)y[x]=m+x/E*(v-m);return y.join(",")};return A(this,V,Bl).call(this,p(0,5),p(1,5),p(2,5),f),o.url=`url(#${d})`,o.url}addAlphaFilter(e){let i=l(this,V,me).get(e);if(i)return i;const[s]=A(this,V,dd).call(this,[e]),r=`alpha_${s}`;if(i=l(this,V,me).get(r),i)return l(this,V,me).set(e,i),i;const o=`g_${l(this,Oi)}_alpha_map_${Xe(this,_r)._++}`,a=`url(#${o})`;l(this,V,me).set(e,a),l(this,V,me).set(r,a);const c=A(this,V,Xo).call(this,o);return A(this,V,Qg).call(this,s,c),a}addLuminosityFilter(e){let i=l(this,V,me).get(e||"luminosity");if(i)return i;let s,r;if(e?([s]=A(this,V,dd).call(this,[e]),r=`luminosity_${s}`):r="luminosity",i=l(this,V,me).get(r),i)return l(this,V,me).set(e,i),i;const o=`g_${l(this,Oi)}_luminosity_map_${Xe(this,_r)._++}`,a=`url(#${o})`;l(this,V,me).set(e,a),l(this,V,me).set(r,a);const c=A(this,V,Xo).call(this,o);return A(this,V,H1).call(this,c),e&&A(this,V,Qg).call(this,s,c),a}addHighlightHCMFilter(e,i,s,r,o){var v;const a=`${i}-${s}-${r}-${o}`;let c=l(this,V,Bo).get(e);if((c==null?void 0:c.key)===a||(c?((v=c.filter)==null||v.remove(),c.key=a,c.url="none",c.filter=null):(c={key:a,url:"none",filter:null},l(this,V,Bo).set(e,c)),!i||!s))return c.url;const[u,h]=[i,s].map(A(this,V,Kl).bind(this));let d=Math.round(.2126*u[0]+.7152*u[1]+.0722*u[2]),f=Math.round(.2126*h[0]+.7152*h[1]+.0722*h[2]),[p,g]=[r,o].map(A(this,V,Kl).bind(this));f{const T=new Array(256),k=(f-d)/C,P=y/255,M=(x-y)/(255*C);let L=0;for(let D=0;D<=C;D++){const W=Math.round(d+D*k),X=P+D*M;for(let tt=L;tt<=W;tt++)T[tt]=X;L=W+1}for(let D=L;D<256;D++)T[D]=T[L-1];return T.join(",")},E=`g_${l(this,Oi)}_hcm_${e}_filter`,m=c.filter=A(this,V,Xo).call(this,E);return A(this,V,Yg).call(this,m),A(this,V,Bl).call(this,w(p[0],g[0],5),w(p[1],g[1],5),w(p[2],g[2],5),m),c.url=`url(#${E})`,c.url}destroy(e=!1){e&&l(this,V,Bo).size!==0||(l(this,ii)&&(l(this,ii).parentNode.parentNode.remove(),S(this,ii,null)),l(this,Rr)&&(l(this,Rr).clear(),S(this,Rr,null)),S(this,_r,0))}}Rr=new WeakMap,ii=new WeakMap,Oi=new WeakMap,Fe=new WeakMap,pf=new WeakMap,_r=new WeakMap,V=new WeakSet,me=function(){return l(this,Rr)||S(this,Rr,new Map)},Bo=function(){return l(this,pf)||S(this,pf,new Map)},Ko=function(){if(!l(this,ii)){const e=l(this,Fe).createElement("div"),{style:i}=e;i.visibility="hidden",i.contain="strict",i.width=i.height=0,i.position="absolute",i.top=i.left=0,i.zIndex=-1;const s=l(this,Fe).createElementNS(_i,"svg");s.setAttribute("width",0),s.setAttribute("height",0),S(this,ii,l(this,Fe).createElementNS(_i,"defs")),e.append(s),s.append(l(this,ii)),l(this,Fe).body.append(e)}return l(this,ii)},dd=function(e){if(e.length===1){const u=e[0],h=new Array(256);for(let f=0;f<256;f++)h[f]=u[f]/255;const d=h.join(",");return[d,d,d]}const[i,s,r]=e,o=new Array(256),a=new Array(256),c=new Array(256);for(let u=0;u<256;u++)o[u]=i[u]/255,a[u]=s[u]/255,c[u]=r[u]/255;return[o.join(","),a.join(","),c.join(",")]},H1=function(e){const i=l(this,Fe).createElementNS(_i,"feColorMatrix");i.setAttribute("type","matrix"),i.setAttribute("values","0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.3 0.59 0.11 0 0"),e.append(i)},Yg=function(e){const i=l(this,Fe).createElementNS(_i,"feColorMatrix");i.setAttribute("type","matrix"),i.setAttribute("values","0.2126 0.7152 0.0722 0 0 0.2126 0.7152 0.0722 0 0 0.2126 0.7152 0.0722 0 0 0 0 0 1 0"),e.append(i)},Xo=function(e){const i=l(this,Fe).createElementNS(_i,"filter");return i.setAttribute("color-interpolation-filters","sRGB"),i.setAttribute("id",e),l(this,V,Ko).append(i),i},Wl=function(e,i,s){const r=l(this,Fe).createElementNS(_i,i);r.setAttribute("type","discrete"),r.setAttribute("tableValues",s),e.append(r)},Bl=function(e,i,s,r){const o=l(this,Fe).createElementNS(_i,"feComponentTransfer");r.append(o),A(this,V,Wl).call(this,o,"feFuncR",e),A(this,V,Wl).call(this,o,"feFuncG",i),A(this,V,Wl).call(this,o,"feFuncB",s)},Qg=function(e,i){const s=l(this,Fe).createElementNS(_i,"feComponentTransfer");i.append(s),A(this,V,Wl).call(this,s,"feFuncA",e)},Kl=function(e){return l(this,V,Ko).style.color=e,hy(getComputedStyle(l(this,V,Ko)).getPropertyValue("color"))};class wk extends af{constructor({ownerDocument:t=globalThis.document,enableHWA:e=!1}={}){super({enableHWA:e}),this._document=t}_createCanvas(t,e){const i=this._document.createElement("canvas");return i.width=t,i.height=e,i}}async function ap(n,t="text"){if(Xl(n,document.baseURI)){const e=await fetch(n);if(!e.ok)throw new Error(e.statusText);switch(t){case"arraybuffer":return e.arrayBuffer();case"blob":return e.blob();case"json":return e.json()}return e.text()}return new Promise((e,i)=>{const s=new XMLHttpRequest;s.open("GET",n,!0),s.responseType=t,s.onreadystatechange=()=>{if(s.readyState===XMLHttpRequest.DONE){if(s.status===200||s.status===0){switch(t){case"arraybuffer":case"blob":case"json":e(s.response);return}e(s.responseText);return}i(new Error(s.statusText))}},s.send(null)})}class U1 extends rp{_fetchData(t,e){return ap(t,this.isCompressed?"arraybuffer":"text").then(i=>({cMapData:i instanceof ArrayBuffer?new Uint8Array(i):ip(i),compressionType:e}))}}class j1 extends op{_fetchData(t){return ap(t,"arraybuffer").then(e=>new Uint8Array(e))}}class ay extends oy{_createSVG(t){return document.createElementNS(_i,t)}}class Sh{constructor({viewBox:t,scale:e,rotation:i,offsetX:s=0,offsetY:r=0,dontFlip:o=!1}){this.viewBox=t,this.scale=e,this.rotation=i,this.offsetX=s,this.offsetY=r;const a=(t[2]+t[0])/2,c=(t[3]+t[1])/2;let u,h,d,f;switch(i%=360,i<0&&(i+=360),i){case 180:u=-1,h=0,d=0,f=1;break;case 90:u=0,h=1,d=1,f=0;break;case 270:u=0,h=-1,d=-1,f=0;break;case 0:u=1,h=0,d=0,f=-1;break;default:throw new Error("PageViewport: Invalid rotation, must be a multiple of 90 degrees.")}o&&(d=-d,f=-f);let p,g,w,E;u===0?(p=Math.abs(c-t[1])*e+s,g=Math.abs(a-t[0])*e+r,w=(t[3]-t[1])*e,E=(t[2]-t[0])*e):(p=Math.abs(a-t[0])*e+s,g=Math.abs(c-t[1])*e+r,w=(t[2]-t[0])*e,E=(t[3]-t[1])*e),this.transform=[u*e,h*e,d*e,f*e,p-u*e*a-d*e*c,g-h*e*a-f*e*c],this.width=w,this.height=E}get rawDims(){const{viewBox:t}=this;return ot(this,"rawDims",{pageWidth:t[2]-t[0],pageHeight:t[3]-t[1],pageX:t[0],pageY:t[1]})}clone({scale:t=this.scale,rotation:e=this.rotation,offsetX:i=this.offsetX,offsetY:s=this.offsetY,dontFlip:r=!1}={}){return new Sh({viewBox:this.viewBox.slice(),scale:t,rotation:e,offsetX:i,offsetY:s,dontFlip:r})}convertToViewportPoint(t,e){return q.applyTransform([t,e],this.transform)}convertToViewportRectangle(t){const e=q.applyTransform([t[0],t[1]],this.transform),i=q.applyTransform([t[2],t[3]],this.transform);return[e[0],e[1],i[0],i[1]]}convertToPdfPoint(t,e){return q.applyInverseTransform([t,e],this.transform)}}class ly extends yr{constructor(t,e=0){super(t,"RenderingCancelledException"),this.extraDelay=e}}function cy(n){const t=n.length;let e=0;for(;e=1&&s<=12?s-1:0;let r=parseInt(e[3],10);r=r>=1&&r<=31?r:1;let o=parseInt(e[4],10);o=o>=0&&o<=23?o:0;let a=parseInt(e[5],10);a=a>=0&&a<=59?a:0;let c=parseInt(e[6],10);c=c>=0&&c<=59?c:0;const u=e[7]||"Z";let h=parseInt(e[8],10);h=h>=0&&h<=23?h:0;let d=parseInt(e[9],10)||0;return d=d>=0&&d<=59?d:0,u==="-"?(o+=h,a+=d):u==="+"&&(o-=h,a-=d),new Date(Date.UTC(i,s,r,o,a,c))}}function bk(n,{scale:t=1,rotation:e=0}){const{width:i,height:s}=n.attributes.style,r=[0,0,parseInt(i),parseInt(s)];return new Sh({viewBox:r,scale:t,rotation:e})}function hy(n){if(n.startsWith("#")){const t=parseInt(n.slice(1),16);return[(t&16711680)>>16,(t&65280)>>8,t&255]}return n.startsWith("rgb(")?n.slice(4,-1).split(",").map(t=>parseInt(t)):n.startsWith("rgba(")?n.slice(5,-1).split(",").map(t=>parseInt(t)).slice(0,3):(Q(`Not a valid color format: "${n}"`),[0,0,0])}function Ek(n){const t=document.createElement("span");t.style.visibility="hidden",document.body.append(t);for(const e of n.keys()){t.style.color=e;const i=window.getComputedStyle(t).color;n.set(e,hy(i))}t.remove()}function Tt(n){const{a:t,b:e,c:i,d:s,e:r,f:o}=n.getTransform();return[t,e,i,s,r,o]}function Ri(n){const{a:t,b:e,c:i,d:s,e:r,f:o}=n.getTransform().invertSelf();return[t,e,i,s,r,o]}function Mo(n,t,e=!1,i=!0){if(t instanceof Sh){const{pageWidth:s,pageHeight:r}=t.rawDims,{style:o}=n,a=He.isCSSRoundSupported,c=`var(--scale-factor) * ${s}px`,u=`var(--scale-factor) * ${r}px`,h=a?`round(${c}, 1px)`:`calc(${c})`,d=a?`round(${u}, 1px)`:`calc(${u})`;!e||t.rotation%180===0?(o.width=h,o.height=d):(o.width=d,o.height=h)}i&&n.setAttribute("data-main-rotation",t.rotation)}var Lr,Mr,Je,Nr,gf,K1,_e,X1,G1,fd,Y1,Zg;const mf=class mf{constructor(t){b(this,_e);b(this,Lr,null);b(this,Mr,null);b(this,Je);b(this,Nr,null);S(this,Je,t)}render(){const t=S(this,Lr,document.createElement("div"));t.className="editToolbar",t.setAttribute("role","toolbar");const e=l(this,Je)._uiManager._signal;t.addEventListener("contextmenu",Ke,{signal:e}),t.addEventListener("pointerdown",A(mf,gf,K1),{signal:e});const i=S(this,Nr,document.createElement("div"));i.className="buttons",t.append(i);const s=l(this,Je).toolbarPosition;if(s){const{style:r}=t,o=l(this,Je)._uiManager.direction==="ltr"?1-s[0]:s[0];r.insetInlineEnd=`${100*o}%`,r.top=`calc(${100*s[1]}% + var(--editor-toolbar-vert-offset))`}return A(this,_e,Y1).call(this),t}hide(){var t;l(this,Lr).classList.add("hidden"),(t=l(this,Mr))==null||t.hideDropdown()}show(){l(this,Lr).classList.remove("hidden")}addAltTextButton(t){A(this,_e,fd).call(this,t),l(this,Nr).prepend(t,l(this,_e,Zg))}addColorPicker(t){S(this,Mr,t);const e=t.renderButton();A(this,_e,fd).call(this,e),l(this,Nr).prepend(e,l(this,_e,Zg))}remove(){var t;l(this,Lr).remove(),(t=l(this,Mr))==null||t.destroy(),S(this,Mr,null)}};Lr=new WeakMap,Mr=new WeakMap,Je=new WeakMap,Nr=new WeakMap,gf=new WeakSet,K1=function(t){t.stopPropagation()},_e=new WeakSet,X1=function(t){l(this,Je)._focusEventsAllowed=!1,t.preventDefault(),t.stopPropagation()},G1=function(t){l(this,Je)._focusEventsAllowed=!0,t.preventDefault(),t.stopPropagation()},fd=function(t){const e=l(this,Je)._uiManager._signal;t.addEventListener("focusin",A(this,_e,X1).bind(this),{capture:!0,signal:e}),t.addEventListener("focusout",A(this,_e,G1).bind(this),{capture:!0,signal:e}),t.addEventListener("contextmenu",Ke,{signal:e})},Y1=function(){const t=document.createElement("button");t.className="delete",t.tabIndex=0,t.setAttribute("data-l10n-id",`pdfjs-editor-remove-${l(this,Je).editorType}-button`),A(this,_e,fd).call(this,t),t.addEventListener("click",e=>{l(this,Je)._uiManager.delete()},{signal:l(this,Je)._uiManager._signal}),l(this,Nr).append(t)},Zg=function(){const t=document.createElement("div");return t.className="divider",t},b(mf,gf);let Jg=mf;var Oc,Dr,Ir,fr,Q1,J1,Z1;class xk{constructor(t){b(this,fr);b(this,Oc,null);b(this,Dr,null);b(this,Ir);S(this,Ir,t)}show(t,e,i){const[s,r]=A(this,fr,J1).call(this,e,i),{style:o}=l(this,Dr)||S(this,Dr,A(this,fr,Q1).call(this));t.append(l(this,Dr)),o.insetInlineEnd=`${100*s}%`,o.top=`calc(${100*r}% + var(--editor-toolbar-vert-offset))`}hide(){l(this,Dr).remove()}}Oc=new WeakMap,Dr=new WeakMap,Ir=new WeakMap,fr=new WeakSet,Q1=function(){const t=S(this,Dr,document.createElement("div"));t.className="editToolbar",t.setAttribute("role","toolbar"),t.addEventListener("contextmenu",Ke,{signal:l(this,Ir)._signal});const e=S(this,Oc,document.createElement("div"));return e.className="buttons",t.append(e),A(this,fr,Z1).call(this),t},J1=function(t,e){let i=0,s=0;for(const r of t){const o=r.y+r.height;if(oi){s=a,i=o;continue}e?a>s&&(s=a):a{l(this,Ir).highlightSelection("floating_button")},{signal:i}),l(this,Oc).append(t)};function lf(n,t,e){for(const i of e)t.addEventListener(i,n[i].bind(n))}function Ck(n){return Math.round(Math.min(255,Math.max(1,255*n))).toString(16).padStart(2,"0")}var vf;class Tk{constructor(){b(this,vf,0)}get id(){return`${sk}${Xe(this,vf)._++}`}}vf=new WeakMap;var zc,yf,mn,Vc,tm;const my=class my{constructor(){b(this,Vc);b(this,zc,vk());b(this,yf,0);b(this,mn,null)}static get _isSVGFittingCanvas(){const t='data:image/svg+xml;charset=UTF-8,',i=new OffscreenCanvas(1,3).getContext("2d",{willReadFrequently:!0}),s=new Image;s.src=t;const r=s.decode().then(()=>(i.drawImage(s,0,0,1,1,0,0,1,3),new Uint32Array(i.getImageData(0,0,1,1).data.buffer)[0]===0));return ot(this,"_isSVGFittingCanvas",r)}async getFromFile(t){const{lastModified:e,name:i,size:s,type:r}=t;return A(this,Vc,tm).call(this,`${e}_${i}_${s}_${r}`,t)}async getFromUrl(t){return A(this,Vc,tm).call(this,t,t)}async getFromId(t){l(this,mn)||S(this,mn,new Map);const e=l(this,mn).get(t);return e?e.bitmap?(e.refCounter+=1,e):e.file?this.getFromFile(e.file):this.getFromUrl(e.url):null}getSvgUrl(t){const e=l(this,mn).get(t);return e!=null&&e.isSvg?e.svgUrl:null}deleteId(t){l(this,mn)||S(this,mn,new Map);const e=l(this,mn).get(t);e&&(e.refCounter-=1,e.refCounter===0&&(e.bitmap=null))}isValidId(t){return t.startsWith(`image_${l(this,zc)}_`)}};zc=new WeakMap,yf=new WeakMap,mn=new WeakMap,Vc=new WeakSet,tm=async function(t,e){l(this,mn)||S(this,mn,new Map);let i=l(this,mn).get(t);if(i===null)return null;if(i!=null&&i.bitmap)return i.refCounter+=1,i;try{i||(i={bitmap:null,id:`image_${l(this,zc)}_${Xe(this,yf)._++}`,refCounter:0,isSvg:!1});let s;if(typeof e=="string"?(i.url=e,s=await ap(e,"blob")):s=i.file=e,s.type==="image/svg+xml"){const r=my._isSVGFittingCanvas,o=new FileReader,a=new Image,c=new Promise((u,h)=>{a.onload=()=>{i.bitmap=a,i.isSvg=!0,u()},o.onload=async()=>{const d=i.svgUrl=o.result;a.src=await r?`${d}#svgView(preserveAspectRatio(none))`:d},a.onerror=o.onerror=h});o.readAsDataURL(s),await c}else i.bitmap=await createImageBitmap(s);i.refCounter=1}catch(s){console.error(s),i=null}return l(this,mn).set(t,i),i&&l(this,mn).set(i.id,i),i};let $g=my;var Qt,Ms,qc,Jt;class kk{constructor(t=128){b(this,Qt,[]);b(this,Ms,!1);b(this,qc);b(this,Jt,-1);S(this,qc,t)}add({cmd:t,undo:e,post:i,mustExec:s,type:r=NaN,overwriteIfSameType:o=!1,keepUndo:a=!1}){if(s&&t(),l(this,Ms))return;const c={cmd:t,undo:e,post:i,type:r};if(l(this,Jt)===-1){l(this,Qt).length>0&&(l(this,Qt).length=0),S(this,Jt,0),l(this,Qt).push(c);return}if(o&&l(this,Qt)[l(this,Jt)].type===r){a&&(c.undo=l(this,Qt)[l(this,Jt)].undo),l(this,Qt)[l(this,Jt)]=c;return}const u=l(this,Jt)+1;u===l(this,qc)?l(this,Qt).splice(0,1):(S(this,Jt,u),ur===e[o]))return Sf._colorsMapping.get(i);return e}getHexCode(t){const e=this._colors.get(t);return e?q.makeHexColor(...e):t}};I(Sf,"_colorsMapping",new Map([["CanvasText",[0,0,0]],["Canvas",[255,255,255]]]));let em=Sf;var wa,Ze,jt,ee,Sa,zi,Aa,In,ba,Fr,si,Fn,Or,Hc,Uc,ri,Ea,Ns,oi,Af,Ds,jc,zr,Wc,xa,ne,ut,Vi,Vr,Bc,Kc,Xc,Gc,Yc,Qc,Jc,Zc,$c,tu,eu,nu,iu,Is,ai,qi,su,F,pd,tA,eA,gd,nA,iA,sA,nm,rA,im,sm,oA,Ee,xs,aA,lA,rm,cA,Gl,om;const ua=class ua{constructor(t,e,i,s,r,o,a,c,u){b(this,F);b(this,wa,new AbortController);b(this,Ze,null);b(this,jt,new Map);b(this,ee,new Map);b(this,Sa,null);b(this,zi,null);b(this,Aa,null);b(this,In,new kk);b(this,ba,0);b(this,Fr,new Set);b(this,si,null);b(this,Fn,null);b(this,Or,new Set);b(this,Hc,!1);b(this,Uc,null);b(this,ri,null);b(this,Ea,null);b(this,Ns,!1);b(this,oi,null);b(this,Af,new Tk);b(this,Ds,!1);b(this,jc,!1);b(this,zr,null);b(this,Wc,null);b(this,xa,null);b(this,ne,st.NONE);b(this,ut,new Set);b(this,Vi,null);b(this,Vr,null);b(this,Bc,null);b(this,Kc,this.blur.bind(this));b(this,Xc,this.focus.bind(this));b(this,Gc,this.copy.bind(this));b(this,Yc,this.cut.bind(this));b(this,Qc,this.paste.bind(this));b(this,Jc,this.keydown.bind(this));b(this,Zc,this.keyup.bind(this));b(this,$c,this.onEditingAction.bind(this));b(this,tu,this.onPageChanging.bind(this));b(this,eu,this.onScaleChanging.bind(this));b(this,nu,this.onRotationChanging.bind(this));b(this,iu,{isEditing:!1,isEmpty:!0,hasSomethingToUndo:!1,hasSomethingToRedo:!1,hasSelectedEditor:!1,hasSelectedText:!1});b(this,Is,[0,0]);b(this,ai,null);b(this,qi,null);b(this,su,null);this._signal=l(this,wa).signal,S(this,qi,t),S(this,su,e),S(this,Sa,i),this._eventBus=s,this._eventBus._on("editingaction",l(this,$c)),this._eventBus._on("pagechanging",l(this,tu)),this._eventBus._on("scalechanging",l(this,eu)),this._eventBus._on("rotationchanging",l(this,nu)),A(this,F,nA).call(this),A(this,F,oA).call(this),A(this,F,nm).call(this),S(this,zi,r.annotationStorage),S(this,Uc,r.filterFactory),S(this,Vr,o),S(this,Ea,a||null),S(this,Hc,c),S(this,xa,u||null),this.viewParameters={realScale:dr.PDF_TO_CSS_UNITS,rotation:0},this.isShiftKeyDown=!1}static get _keyboardManager(){const t=ua.prototype,e=o=>l(o,qi).contains(document.activeElement)&&document.activeElement.tagName!=="BUTTON"&&o.hasSomethingToControl(),i=(o,{target:a})=>{if(a instanceof HTMLInputElement){const{type:c}=a;return c!=="text"&&c!=="number"}return!0},s=this.TRANSLATE_SMALL,r=this.TRANSLATE_BIG;return ot(this,"_keyboardManager",new Ah([[["ctrl+a","mac+meta+a"],t.selectAll,{checker:i}],[["ctrl+z","mac+meta+z"],t.undo,{checker:i}],[["ctrl+y","ctrl+shift+z","mac+meta+shift+z","ctrl+shift+Z","mac+meta+shift+Z"],t.redo,{checker:i}],[["Backspace","alt+Backspace","ctrl+Backspace","shift+Backspace","mac+Backspace","mac+alt+Backspace","mac+ctrl+Backspace","Delete","ctrl+Delete","shift+Delete","mac+Delete"],t.delete,{checker:i}],[["Enter","mac+Enter"],t.addNewEditorFromKeyboard,{checker:(o,{target:a})=>!(a instanceof HTMLButtonElement)&&l(o,qi).contains(a)&&!o.isEnterHandled}],[[" ","mac+ "],t.addNewEditorFromKeyboard,{checker:(o,{target:a})=>!(a instanceof HTMLButtonElement)&&l(o,qi).contains(document.activeElement)}],[["Escape","mac+Escape"],t.unselectAll],[["ArrowLeft","mac+ArrowLeft"],t.translateSelectedEditors,{args:[-s,0],checker:e}],[["ctrl+ArrowLeft","mac+shift+ArrowLeft"],t.translateSelectedEditors,{args:[-r,0],checker:e}],[["ArrowRight","mac+ArrowRight"],t.translateSelectedEditors,{args:[s,0],checker:e}],[["ctrl+ArrowRight","mac+shift+ArrowRight"],t.translateSelectedEditors,{args:[r,0],checker:e}],[["ArrowUp","mac+ArrowUp"],t.translateSelectedEditors,{args:[0,-s],checker:e}],[["ctrl+ArrowUp","mac+shift+ArrowUp"],t.translateSelectedEditors,{args:[0,-r],checker:e}],[["ArrowDown","mac+ArrowDown"],t.translateSelectedEditors,{args:[0,s],checker:e}],[["ctrl+ArrowDown","mac+shift+ArrowDown"],t.translateSelectedEditors,{args:[0,r],checker:e}]]))}destroy(){var t,e,i;(t=l(this,wa))==null||t.abort(),S(this,wa,null),this._signal=null,this._eventBus._off("editingaction",l(this,$c)),this._eventBus._off("pagechanging",l(this,tu)),this._eventBus._off("scalechanging",l(this,eu)),this._eventBus._off("rotationchanging",l(this,nu));for(const s of l(this,ee).values())s.destroy();l(this,ee).clear(),l(this,jt).clear(),l(this,Or).clear(),S(this,Ze,null),l(this,ut).clear(),l(this,In).destroy(),(e=l(this,Sa))==null||e.destroy(),(i=l(this,oi))==null||i.hide(),S(this,oi,null),l(this,ri)&&(clearTimeout(l(this,ri)),S(this,ri,null)),l(this,ai)&&(clearTimeout(l(this,ai)),S(this,ai,null))}async mlGuess(t){var e;return((e=l(this,xa))==null?void 0:e.guess(t))||null}get hasMLManager(){return!!l(this,xa)}get hcmFilter(){return ot(this,"hcmFilter",l(this,Vr)?l(this,Uc).addHCMFilter(l(this,Vr).foreground,l(this,Vr).background):"none")}get direction(){return ot(this,"direction",getComputedStyle(l(this,qi)).direction)}get highlightColors(){return ot(this,"highlightColors",l(this,Ea)?new Map(l(this,Ea).split(",").map(t=>t.split("=").map(e=>e.trim()))):null)}get highlightColorNames(){return ot(this,"highlightColorNames",this.highlightColors?new Map(Array.from(this.highlightColors,t=>t.reverse())):null)}setMainHighlightColorPicker(t){S(this,Wc,t)}editAltText(t){var e;(e=l(this,Sa))==null||e.editAltText(this,t)}onPageChanging({pageNumber:t}){S(this,ba,t-1)}focusMainContainer(){l(this,qi).focus()}findParent(t,e){for(const i of l(this,ee).values()){const{x:s,y:r,width:o,height:a}=i.div.getBoundingClientRect();if(t>=s&&t<=s+o&&e>=r&&e<=r+a)return i}return null}disableUserSelect(t=!1){l(this,su).classList.toggle("noUserSelect",t)}addShouldRescale(t){l(this,Or).add(t)}removeShouldRescale(t){l(this,Or).delete(t)}onScaleChanging({scale:t}){this.commitOrRemove(),this.viewParameters.realScale=t*dr.PDF_TO_CSS_UNITS;for(const e of l(this,Or))e.onScaleChanging()}onRotationChanging({pagesRotation:t}){this.commitOrRemove(),this.viewParameters.rotation=t}highlightSelection(t=""){const e=document.getSelection();if(!e||e.isCollapsed)return;const{anchorNode:i,anchorOffset:s,focusNode:r,focusOffset:o}=e,a=e.toString(),u=A(this,F,pd).call(this,e).closest(".textLayer"),h=this.getSelectionBoxes(u);if(h){e.empty(),l(this,ne)===st.NONE&&(this._eventBus.dispatch("showannotationeditorui",{source:this,mode:st.HIGHLIGHT}),this.showAllEditors("highlight",!0,!0));for(const d of l(this,ee).values())if(d.hasTextLayer(u)){d.createAndAddNewEditor({x:0,y:0},!1,{methodOfCreation:t,boxes:h,anchorNode:i,anchorOffset:s,focusNode:r,focusOffset:o,text:a});break}}}addToAnnotationStorage(t){!t.isEmpty()&&l(this,zi)&&!l(this,zi).has(t.id)&&l(this,zi).setValue(t.id,t)}blur(){if(this.isShiftKeyDown=!1,l(this,Ns)&&(S(this,Ns,!1),A(this,F,gd).call(this,"main_toolbar")),!this.hasSelection)return;const{activeElement:t}=document;for(const e of l(this,ut))if(e.div.contains(t)){S(this,zr,[e,t]),e._focusEventsAllowed=!1;break}}focus(){if(!l(this,zr))return;const[t,e]=l(this,zr);S(this,zr,null),e.addEventListener("focusin",()=>{t._focusEventsAllowed=!0},{once:!0,signal:this._signal}),e.focus()}addEditListeners(){A(this,F,nm).call(this),A(this,F,im).call(this)}removeEditListeners(){A(this,F,rA).call(this),A(this,F,sm).call(this)}dragOver(t){for(const{type:e}of t.dataTransfer.items)for(const i of l(this,Fn))if(i.isHandlingMimeForPasting(e)){t.dataTransfer.dropEffect="copy",t.preventDefault();return}}drop(t){for(const e of t.dataTransfer.items)for(const i of l(this,Fn))if(i.isHandlingMimeForPasting(e.type)){i.paste(e,this.currentLayer),t.preventDefault();return}}copy(t){var i;if(t.preventDefault(),(i=l(this,Ze))==null||i.commitOrRemove(),!this.hasSelection)return;const e=[];for(const s of l(this,ut)){const r=s.serialize(!0);r&&e.push(r)}e.length!==0&&t.clipboardData.setData("application/pdfjs",JSON.stringify(e))}cut(t){this.copy(t),this.delete()}paste(t){t.preventDefault();const{clipboardData:e}=t;for(const r of e.items)for(const o of l(this,Fn))if(o.isHandlingMimeForPasting(r.type)){o.paste(r,this.currentLayer);return}let i=e.getData("application/pdfjs");if(!i)return;try{i=JSON.parse(i)}catch(r){Q(`paste: "${r.message}".`);return}if(!Array.isArray(i))return;this.unselectAll();const s=this.currentLayer;try{const r=[];for(const c of i){const u=s.deserialize(c);if(!u)return;r.push(u)}const o=()=>{for(const c of r)A(this,F,rm).call(this,c);A(this,F,om).call(this,r)},a=()=>{for(const c of r)c.remove()};this.addCommands({cmd:o,undo:a,mustExec:!0})}catch(r){Q(`paste: "${r.message}".`)}}keydown(t){!this.isShiftKeyDown&&t.key==="Shift"&&(this.isShiftKeyDown=!0),l(this,ne)!==st.NONE&&!this.isEditorHandlingKeyboard&&ua._keyboardManager.exec(this,t)}keyup(t){this.isShiftKeyDown&&t.key==="Shift"&&(this.isShiftKeyDown=!1,l(this,Ns)&&(S(this,Ns,!1),A(this,F,gd).call(this,"main_toolbar")))}onEditingAction({name:t}){switch(t){case"undo":case"redo":case"delete":case"selectAll":this[t]();break;case"highlightSelection":this.highlightSelection("context_menu");break}}setEditingState(t){t?(A(this,F,iA).call(this),A(this,F,im).call(this),A(this,F,Ee).call(this,{isEditing:l(this,ne)!==st.NONE,isEmpty:A(this,F,Gl).call(this),hasSomethingToUndo:l(this,In).hasSomethingToUndo(),hasSomethingToRedo:l(this,In).hasSomethingToRedo(),hasSelectedEditor:!1})):(A(this,F,sA).call(this),A(this,F,sm).call(this),A(this,F,Ee).call(this,{isEditing:!1}),this.disableUserSelect(!1))}registerEditorTypes(t){if(!l(this,Fn)){S(this,Fn,t);for(const e of l(this,Fn))A(this,F,xs).call(this,e.defaultPropertiesToUpdate)}}getId(){return l(this,Af).id}get currentLayer(){return l(this,ee).get(l(this,ba))}getLayer(t){return l(this,ee).get(t)}get currentPageIndex(){return l(this,ba)}addLayer(t){l(this,ee).set(t.pageIndex,t),l(this,Ds)?t.enable():t.disable()}removeLayer(t){l(this,ee).delete(t.pageIndex)}updateMode(t,e=null,i=!1){if(l(this,ne)!==t){if(S(this,ne,t),t===st.NONE){this.setEditingState(!1),A(this,F,lA).call(this);return}this.setEditingState(!0),A(this,F,aA).call(this),this.unselectAll();for(const s of l(this,ee).values())s.updateMode(t);if(!e&&i){this.addNewEditorFromKeyboard();return}if(e){for(const s of l(this,jt).values())if(s.annotationElementId===e){this.setSelected(s),s.enterInEditMode();break}}}}addNewEditorFromKeyboard(){this.currentLayer.canCreateNewEmptyEditor()&&this.currentLayer.addNewEditor()}updateToolbar(t){t!==l(this,ne)&&this._eventBus.dispatch("switchannotationeditormode",{source:this,mode:t})}updateParams(t,e){var i;if(l(this,Fn)){switch(t){case G.CREATE:this.currentLayer.addNewEditor();return;case G.HIGHLIGHT_DEFAULT_COLOR:(i=l(this,Wc))==null||i.updateColor(e);break;case G.HIGHLIGHT_SHOW_ALL:this._eventBus.dispatch("reporttelemetry",{source:this,details:{type:"editing",data:{type:"highlight",action:"toggle_visibility"}}}),(l(this,Bc)||S(this,Bc,new Map)).set(t,e),this.showAllEditors("highlight",e);break}for(const s of l(this,ut))s.updateParams(t,e);for(const s of l(this,Fn))s.updateDefaultParams(t,e)}}showAllEditors(t,e,i=!1){var r;for(const o of l(this,jt).values())o.editorType===t&&o.show(e);(((r=l(this,Bc))==null?void 0:r.get(G.HIGHLIGHT_SHOW_ALL))??!0)!==e&&A(this,F,xs).call(this,[[G.HIGHLIGHT_SHOW_ALL,e]])}enableWaiting(t=!1){if(l(this,jc)!==t){S(this,jc,t);for(const e of l(this,ee).values())t?e.disableClick():e.enableClick(),e.div.classList.toggle("waiting",t)}}getEditors(t){const e=[];for(const i of l(this,jt).values())i.pageIndex===t&&e.push(i);return e}getEditor(t){return l(this,jt).get(t)}addEditor(t){l(this,jt).set(t.id,t)}removeEditor(t){var e;t.div.contains(document.activeElement)&&(l(this,ri)&&clearTimeout(l(this,ri)),S(this,ri,setTimeout(()=>{this.focusMainContainer(),S(this,ri,null)},0))),l(this,jt).delete(t.id),this.unselect(t),(!t.annotationElementId||!l(this,Fr).has(t.annotationElementId))&&((e=l(this,zi))==null||e.remove(t.id))}addDeletedAnnotationElement(t){l(this,Fr).add(t.annotationElementId),this.addChangedExistingAnnotation(t),t.deleted=!0}isDeletedAnnotationElement(t){return l(this,Fr).has(t)}removeDeletedAnnotationElement(t){l(this,Fr).delete(t.annotationElementId),this.removeChangedExistingAnnotation(t),t.deleted=!1}setActiveEditor(t){l(this,Ze)!==t&&(S(this,Ze,t),t&&A(this,F,xs).call(this,t.propertiesToUpdate))}updateUI(t){l(this,F,cA)===t&&A(this,F,xs).call(this,t.propertiesToUpdate)}toggleSelected(t){if(l(this,ut).has(t)){l(this,ut).delete(t),t.unselect(),A(this,F,Ee).call(this,{hasSelectedEditor:this.hasSelection});return}l(this,ut).add(t),t.select(),A(this,F,xs).call(this,t.propertiesToUpdate),A(this,F,Ee).call(this,{hasSelectedEditor:!0})}setSelected(t){for(const e of l(this,ut))e!==t&&e.unselect();l(this,ut).clear(),l(this,ut).add(t),t.select(),A(this,F,xs).call(this,t.propertiesToUpdate),A(this,F,Ee).call(this,{hasSelectedEditor:!0})}isSelected(t){return l(this,ut).has(t)}get firstSelectedEditor(){return l(this,ut).values().next().value}unselect(t){t.unselect(),l(this,ut).delete(t),A(this,F,Ee).call(this,{hasSelectedEditor:this.hasSelection})}get hasSelection(){return l(this,ut).size!==0}get isEnterHandled(){return l(this,ut).size===1&&this.firstSelectedEditor.isEnterHandled}undo(){l(this,In).undo(),A(this,F,Ee).call(this,{hasSomethingToUndo:l(this,In).hasSomethingToUndo(),hasSomethingToRedo:!0,isEmpty:A(this,F,Gl).call(this)})}redo(){l(this,In).redo(),A(this,F,Ee).call(this,{hasSomethingToUndo:!0,hasSomethingToRedo:l(this,In).hasSomethingToRedo(),isEmpty:A(this,F,Gl).call(this)})}addCommands(t){l(this,In).add(t),A(this,F,Ee).call(this,{hasSomethingToUndo:!0,hasSomethingToRedo:!1,isEmpty:A(this,F,Gl).call(this)})}delete(){if(this.commitOrRemove(),!this.hasSelection)return;const t=[...l(this,ut)],e=()=>{for(const s of t)s.remove()},i=()=>{for(const s of t)A(this,F,rm).call(this,s)};this.addCommands({cmd:e,undo:i,mustExec:!0})}commitOrRemove(){var t;(t=l(this,Ze))==null||t.commitOrRemove()}hasSomethingToControl(){return l(this,Ze)||this.hasSelection}selectAll(){for(const t of l(this,ut))t.commit();A(this,F,om).call(this,l(this,jt).values())}unselectAll(){if(!(l(this,Ze)&&(l(this,Ze).commitOrRemove(),l(this,ne)!==st.NONE))&&this.hasSelection){for(const t of l(this,ut))t.unselect();l(this,ut).clear(),A(this,F,Ee).call(this,{hasSelectedEditor:!1})}}translateSelectedEditors(t,e,i=!1){if(i||this.commitOrRemove(),!this.hasSelection)return;l(this,Is)[0]+=t,l(this,Is)[1]+=e;const[s,r]=l(this,Is),o=[...l(this,ut)],a=1e3;l(this,ai)&&clearTimeout(l(this,ai)),S(this,ai,setTimeout(()=>{S(this,ai,null),l(this,Is)[0]=l(this,Is)[1]=0,this.addCommands({cmd:()=>{for(const c of o)l(this,jt).has(c.id)&&c.translateInPage(s,r)},undo:()=>{for(const c of o)l(this,jt).has(c.id)&&c.translateInPage(-s,-r)},mustExec:!1})},a));for(const c of o)c.translateInPage(t,e)}setUpDragSession(){if(this.hasSelection){this.disableUserSelect(!0),S(this,si,new Map);for(const t of l(this,ut))l(this,si).set(t,{savedX:t.x,savedY:t.y,savedPageIndex:t.pageIndex,newX:0,newY:0,newPageIndex:-1})}}endDragSession(){if(!l(this,si))return!1;this.disableUserSelect(!1);const t=l(this,si);S(this,si,null);let e=!1;for(const[{x:s,y:r,pageIndex:o},a]of t)a.newX=s,a.newY=r,a.newPageIndex=o,e||(e=s!==a.savedX||r!==a.savedY||o!==a.savedPageIndex);if(!e)return!1;const i=(s,r,o,a)=>{if(l(this,jt).has(s.id)){const c=l(this,ee).get(a);c?s._setParentAndPosition(c,r,o):(s.pageIndex=a,s.x=r,s.y=o)}};return this.addCommands({cmd:()=>{for(const[s,{newX:r,newY:o,newPageIndex:a}]of t)i(s,r,o,a)},undo:()=>{for(const[s,{savedX:r,savedY:o,savedPageIndex:a}]of t)i(s,r,o,a)},mustExec:!0}),!0}dragSelectedEditors(t,e){if(l(this,si))for(const i of l(this,si).keys())i.drag(t,e)}rebuild(t){if(t.parent===null){const e=this.getLayer(t.pageIndex);e?(e.changeParent(t),e.addOrRebuild(t)):(this.addEditor(t),this.addToAnnotationStorage(t),t.rebuild())}else t.parent.addOrRebuild(t)}get isEditorHandlingKeyboard(){var t;return((t=this.getActive())==null?void 0:t.shouldGetKeyboardEvents())||l(this,ut).size===1&&this.firstSelectedEditor.shouldGetKeyboardEvents()}isActive(t){return l(this,Ze)===t}getActive(){return l(this,Ze)}getMode(){return l(this,ne)}get imageManager(){return ot(this,"imageManager",new $g)}getSelectionBoxes(t){if(!t)return null;const e=document.getSelection();for(let u=0,h=e.rangeCount;u({x:(h-s)/o,y:1-(u+d-i)/r,width:f/o,height:d/r});break;case"180":a=(u,h,d,f)=>({x:1-(u+d-i)/r,y:1-(h+f-s)/o,width:d/r,height:f/o});break;case"270":a=(u,h,d,f)=>({x:1-(h+f-s)/o,y:(u-i)/r,width:f/o,height:d/r});break;default:a=(u,h,d,f)=>({x:(u-i)/r,y:(h-s)/o,width:d/r,height:f/o});break}const c=[];for(let u=0,h=e.rangeCount;u{h.type==="pointerup"&&h.button!==0||(window.removeEventListener("pointerup",u),window.removeEventListener("blur",u),h.type==="pointerup"&&A(this,F,gd).call(this,"main_toolbar"))};window.addEventListener("pointerup",u,{signal:c}),window.addEventListener("blur",u,{signal:c})}},gd=function(t=""){l(this,ne)===st.HIGHLIGHT?this.highlightSelection(t):l(this,Hc)&&A(this,F,tA).call(this)},nA=function(){document.addEventListener("selectionchange",A(this,F,eA).bind(this),{signal:this._signal})},iA=function(){const t=this._signal;window.addEventListener("focus",l(this,Xc),{signal:t}),window.addEventListener("blur",l(this,Kc),{signal:t})},sA=function(){window.removeEventListener("focus",l(this,Xc)),window.removeEventListener("blur",l(this,Kc))},nm=function(){const t=this._signal;window.addEventListener("keydown",l(this,Jc),{signal:t}),window.addEventListener("keyup",l(this,Zc),{signal:t})},rA=function(){window.removeEventListener("keydown",l(this,Jc)),window.removeEventListener("keyup",l(this,Zc))},im=function(){const t=this._signal;document.addEventListener("copy",l(this,Gc),{signal:t}),document.addEventListener("cut",l(this,Yc),{signal:t}),document.addEventListener("paste",l(this,Qc),{signal:t})},sm=function(){document.removeEventListener("copy",l(this,Gc)),document.removeEventListener("cut",l(this,Yc)),document.removeEventListener("paste",l(this,Qc))},oA=function(){const t=this._signal;document.addEventListener("dragover",this.dragOver.bind(this),{signal:t}),document.addEventListener("drop",this.drop.bind(this),{signal:t})},Ee=function(t){Object.entries(t).some(([i,s])=>l(this,iu)[i]!==s)&&(this._eventBus.dispatch("annotationeditorstateschanged",{source:this,details:Object.assign(l(this,iu),t)}),l(this,ne)===st.HIGHLIGHT&&t.hasSelectedEditor===!1&&A(this,F,xs).call(this,[[G.HIGHLIGHT_FREE,!0]]))},xs=function(t){this._eventBus.dispatch("annotationeditorparamschanged",{source:this,details:t})},aA=function(){if(!l(this,Ds)){S(this,Ds,!0);for(const t of l(this,ee).values())t.enable();for(const t of l(this,jt).values())t.enable()}},lA=function(){if(this.unselectAll(),l(this,Ds)){S(this,Ds,!1);for(const t of l(this,ee).values())t.disable();for(const t of l(this,jt).values())t.disable()}},rm=function(t){const e=l(this,ee).get(t.pageIndex);e?e.addOrRebuild(t):(this.addEditor(t),this.addToAnnotationStorage(t))},cA=function(){let t=null;for(t of l(this,ut));return t},Gl=function(){if(l(this,jt).size===0)return!0;if(l(this,jt).size===1)for(const t of l(this,jt).values())return t.isEmpty();return!1},om=function(t){for(const e of l(this,ut))e.unselect();l(this,ut).clear();for(const e of t)e.isEmpty()||(l(this,ut).add(e),e.select());A(this,F,Ee).call(this,{hasSelectedEditor:this.hasSelection})},I(ua,"TRANSLATE_SMALL",1),I(ua,"TRANSLATE_BIG",10);let No=ua;var Hi,Ui,On,ji,$e,Ca,zn,ru,am;const Mi=class Mi{constructor(t){b(this,ru);b(this,Hi,"");b(this,Ui,!1);b(this,On,null);b(this,ji,null);b(this,$e,null);b(this,Ca,!1);b(this,zn,null);S(this,zn,t)}static initialize(t){Mi._l10nPromise||(Mi._l10nPromise=t)}async render(){const t=S(this,On,document.createElement("button"));t.className="altText";const e=await Mi._l10nPromise.get("pdfjs-editor-alt-text-button-label");t.textContent=e,t.setAttribute("aria-label",e),t.tabIndex="0";const i=l(this,zn)._uiManager._signal;t.addEventListener("contextmenu",Ke,{signal:i}),t.addEventListener("pointerdown",r=>r.stopPropagation(),{signal:i});const s=r=>{r.preventDefault(),l(this,zn)._uiManager.editAltText(l(this,zn))};return t.addEventListener("click",s,{capture:!0,signal:i}),t.addEventListener("keydown",r=>{r.target===t&&r.key==="Enter"&&(S(this,Ca,!0),s(r))},{signal:i}),await A(this,ru,am).call(this),t}finish(){l(this,On)&&(l(this,On).focus({focusVisible:l(this,Ca)}),S(this,Ca,!1))}isEmpty(){return!l(this,Hi)&&!l(this,Ui)}get data(){return{altText:l(this,Hi),decorative:l(this,Ui)}}set data({altText:t,decorative:e}){l(this,Hi)===t&&l(this,Ui)===e||(S(this,Hi,t),S(this,Ui,e),A(this,ru,am).call(this))}toggle(t=!1){l(this,On)&&(!t&&l(this,$e)&&(clearTimeout(l(this,$e)),S(this,$e,null)),l(this,On).disabled=!t)}destroy(){var t;(t=l(this,On))==null||t.remove(),S(this,On,null),S(this,ji,null)}};Hi=new WeakMap,Ui=new WeakMap,On=new WeakMap,ji=new WeakMap,$e=new WeakMap,Ca=new WeakMap,zn=new WeakMap,ru=new WeakSet,am=async function(){var s;const t=l(this,On);if(!t)return;if(!l(this,Hi)&&!l(this,Ui)){t.classList.remove("done"),(s=l(this,ji))==null||s.remove();return}t.classList.add("done"),Mi._l10nPromise.get("pdfjs-editor-alt-text-edit-button-label").then(r=>{t.setAttribute("aria-label",r)});let e=l(this,ji);if(!e){S(this,ji,e=document.createElement("span")),e.className="tooltip",e.setAttribute("role","tooltip");const r=e.id=`alt-text-tooltip-${l(this,zn).id}`;t.setAttribute("aria-describedby",r);const o=100,a=l(this,zn)._uiManager._signal;a.addEventListener("abort",()=>{clearTimeout(l(this,$e)),S(this,$e,null)},{once:!0}),t.addEventListener("mouseenter",()=>{S(this,$e,setTimeout(()=>{S(this,$e,null),l(this,ji).classList.add("show"),l(this,zn)._reportTelemetry({action:"alt_text_tooltip"})},o))},{signal:a}),t.addEventListener("mouseleave",()=>{var c;l(this,$e)&&(clearTimeout(l(this,$e)),S(this,$e,null)),(c=l(this,ji))==null||c.classList.remove("show")},{signal:a})}e.innerText=l(this,Ui)?await Mi._l10nPromise.get("pdfjs-editor-alt-text-decorative-tooltip"):l(this,Hi),e.parentNode||t.append(e);const i=l(this,zn).getImageForAltText();i==null||i.setAttribute("aria-describedby",e.id)},I(Mi,"_l10nPromise",null);let cf=Mi;var qr,Vn,ye,Ta,Hr,ie,Ur,ka,Pa,we,ou,jr,Fs,au,Wr,Wi,li,Ra,_a,vn,lu,bf,J,lm,cu,cm,um,uA,hA,hm,dm,fm,dA,fA,pA,gA,pm,Yl;const vt=class vt{constructor(t){b(this,J);b(this,qr,null);b(this,Vn,null);b(this,ye,null);b(this,Ta,!1);b(this,Hr,!1);b(this,ie,null);b(this,Ur,null);b(this,ka,this.focusin.bind(this));b(this,Pa,this.focusout.bind(this));b(this,we,null);b(this,ou,"");b(this,jr,!1);b(this,Fs,null);b(this,au,!1);b(this,Wr,!1);b(this,Wi,!1);b(this,li,null);b(this,Ra,0);b(this,_a,0);b(this,vn,null);I(this,"_initialOptions",Object.create(null));I(this,"_isVisible",!0);I(this,"_uiManager",null);I(this,"_focusEventsAllowed",!0);I(this,"_l10nPromise",null);b(this,lu,!1);b(this,bf,vt._zIndex++);this.constructor===vt&&pt("Cannot initialize AnnotationEditor."),this.parent=t.parent,this.id=t.id,this.width=this.height=null,this.pageIndex=t.parent.pageIndex,this.name=t.name,this.div=null,this._uiManager=t.uiManager,this.annotationElementId=null,this._willKeepAspectRatio=!1,this._initialOptions.isCentered=t.isCentered,this._structTreeParentId=null;const{rotation:e,rawDims:{pageWidth:i,pageHeight:s,pageX:r,pageY:o}}=this.parent.viewport;this.rotation=e,this.pageRotation=(360+e-this._uiManager.viewParameters.rotation)%360,this.pageDimensions=[i,s],this.pageTranslation=[r,o];const[a,c]=this.parentDimensions;this.x=t.x/a,this.y=t.y/c,this.isAttachedToDOM=!1,this.deleted=!1}static get _resizerKeyboardManager(){const t=vt.prototype._resizeWithKeyboard,e=No.TRANSLATE_SMALL,i=No.TRANSLATE_BIG;return ot(this,"_resizerKeyboardManager",new Ah([[["ArrowLeft","mac+ArrowLeft"],t,{args:[-e,0]}],[["ctrl+ArrowLeft","mac+shift+ArrowLeft"],t,{args:[-i,0]}],[["ArrowRight","mac+ArrowRight"],t,{args:[e,0]}],[["ctrl+ArrowRight","mac+shift+ArrowRight"],t,{args:[i,0]}],[["ArrowUp","mac+ArrowUp"],t,{args:[0,-e]}],[["ctrl+ArrowUp","mac+shift+ArrowUp"],t,{args:[0,-i]}],[["ArrowDown","mac+ArrowDown"],t,{args:[0,e]}],[["ctrl+ArrowDown","mac+shift+ArrowDown"],t,{args:[0,i]}],[["Escape","mac+Escape"],vt.prototype._stopResizingWithKeyboard]]))}get editorType(){return Object.getPrototypeOf(this).constructor._type}static get _defaultLineColor(){return ot(this,"_defaultLineColor",this._colorManager.getHexCode("CanvasText"))}static deleteAnnotationElement(t){const e=new Pk({id:t.parent.getNextId(),parent:t.parent,uiManager:t._uiManager});e.annotationElementId=t.annotationElementId,e.deleted=!0,e._uiManager.addToAnnotationStorage(e)}static initialize(t,e,i){if(vt._l10nPromise||(vt._l10nPromise=new Map(["pdfjs-editor-alt-text-button-label","pdfjs-editor-alt-text-edit-button-label","pdfjs-editor-alt-text-decorative-tooltip","pdfjs-editor-resizer-label-topLeft","pdfjs-editor-resizer-label-topMiddle","pdfjs-editor-resizer-label-topRight","pdfjs-editor-resizer-label-middleRight","pdfjs-editor-resizer-label-bottomRight","pdfjs-editor-resizer-label-bottomMiddle","pdfjs-editor-resizer-label-bottomLeft","pdfjs-editor-resizer-label-middleLeft"].map(r=>[r,t.get(r.replaceAll(/([A-Z])/g,o=>`-${o.toLowerCase()}`))]))),i!=null&&i.strings)for(const r of i.strings)vt._l10nPromise.set(r,t.get(r));if(vt._borderLineWidth!==-1)return;const s=getComputedStyle(document.documentElement);vt._borderLineWidth=parseFloat(s.getPropertyValue("--outline-width"))||0}static updateDefaultParams(t,e){}static get defaultPropertiesToUpdate(){return[]}static isHandlingMimeForPasting(t){return!1}static paste(t,e){pt("Not implemented")}get propertiesToUpdate(){return[]}get _isDraggable(){return l(this,lu)}set _isDraggable(t){var e;S(this,lu,t),(e=this.div)==null||e.classList.toggle("draggable",t)}get isEnterHandled(){return!0}center(){const[t,e]=this.pageDimensions;switch(this.parentRotation){case 90:this.x-=this.height*e/(t*2),this.y+=this.width*t/(e*2);break;case 180:this.x+=this.width/2,this.y+=this.height/2;break;case 270:this.x+=this.height*e/(t*2),this.y-=this.width*t/(e*2);break;default:this.x-=this.width/2,this.y-=this.height/2;break}this.fixAndSetPosition()}addCommands(t){this._uiManager.addCommands(t)}get currentLayer(){return this._uiManager.currentLayer}setInBackground(){this.div.style.zIndex=0}setInForeground(){this.div.style.zIndex=l(this,bf)}setParent(t){t!==null?(this.pageIndex=t.pageIndex,this.pageDimensions=t.pageDimensions):A(this,J,Yl).call(this),this.parent=t}focusin(t){this._focusEventsAllowed&&(l(this,jr)?S(this,jr,!1):this.parent.setSelected(this))}focusout(t){var i;if(!this._focusEventsAllowed||!this.isAttachedToDOM)return;const e=t.relatedTarget;e!=null&&e.closest(`#${this.id}`)||(t.preventDefault(),(i=this.parent)!=null&&i.isMultipleSelection||this.commitOrRemove())}commitOrRemove(){this.isEmpty()?this.remove():this.commit()}commit(){this.addToAnnotationStorage()}addToAnnotationStorage(){this._uiManager.addToAnnotationStorage(this)}setAt(t,e,i,s){const[r,o]=this.parentDimensions;[i,s]=this.screenToPageTranslation(i,s),this.x=(t+i)/r,this.y=(e+s)/o,this.fixAndSetPosition()}translate(t,e){A(this,J,lm).call(this,this.parentDimensions,t,e)}translateInPage(t,e){l(this,Fs)||S(this,Fs,[this.x,this.y]),A(this,J,lm).call(this,this.pageDimensions,t,e),this.div.scrollIntoView({block:"nearest"})}drag(t,e){l(this,Fs)||S(this,Fs,[this.x,this.y]);const[i,s]=this.parentDimensions;if(this.x+=t/i,this.y+=e/s,this.parent&&(this.x<0||this.x>1||this.y<0||this.y>1)){const{x:u,y:h}=this.div.getBoundingClientRect();this.parent.findNewParent(this,u,h)&&(this.x-=Math.floor(this.x),this.y-=Math.floor(this.y))}let{x:r,y:o}=this;const[a,c]=this.getBaseTranslation();r+=a,o+=c,this.div.style.left=`${(100*r).toFixed(2)}%`,this.div.style.top=`${(100*o).toFixed(2)}%`,this.div.scrollIntoView({block:"nearest"})}get _hasBeenMoved(){return!!l(this,Fs)&&(l(this,Fs)[0]!==this.x||l(this,Fs)[1]!==this.y)}getBaseTranslation(){const[t,e]=this.parentDimensions,{_borderLineWidth:i}=vt,s=i/t,r=i/e;switch(this.rotation){case 90:return[-s,r];case 180:return[s,r];case 270:return[s,-r];default:return[-s,-r]}}get _mustFixPosition(){return!0}fixAndSetPosition(t=this.rotation){const[e,i]=this.pageDimensions;let{x:s,y:r,width:o,height:a}=this;if(o*=e,a*=i,s*=e,r*=i,this._mustFixPosition)switch(t){case 0:s=Math.max(0,Math.min(e-o,s)),r=Math.max(0,Math.min(i-a,r));break;case 90:s=Math.max(0,Math.min(e-a,s)),r=Math.min(i,Math.max(o,r));break;case 180:s=Math.min(e,Math.max(o,s)),r=Math.min(i,Math.max(a,r));break;case 270:s=Math.min(e,Math.max(a,s)),r=Math.max(0,Math.min(i-o,r));break}this.x=s/=e,this.y=r/=i;const[c,u]=this.getBaseTranslation();s+=c,r+=u;const{style:h}=this.div;h.left=`${(100*s).toFixed(2)}%`,h.top=`${(100*r).toFixed(2)}%`,this.moveInDOM()}screenToPageTranslation(t,e){var i;return A(i=vt,cu,cm).call(i,t,e,this.parentRotation)}pageTranslationToScreen(t,e){var i;return A(i=vt,cu,cm).call(i,t,e,360-this.parentRotation)}get parentScale(){return this._uiManager.viewParameters.realScale}get parentRotation(){return(this._uiManager.viewParameters.rotation+this.pageRotation)%360}get parentDimensions(){const{parentScale:t,pageDimensions:[e,i]}=this,s=e*t,r=i*t;return He.isCSSRoundSupported?[Math.round(s),Math.round(r)]:[s,r]}setDims(t,e){const[i,s]=this.parentDimensions;this.div.style.width=`${(100*t/i).toFixed(2)}%`,l(this,Hr)||(this.div.style.height=`${(100*e/s).toFixed(2)}%`)}fixDims(){const{style:t}=this.div,{height:e,width:i}=t,s=i.endsWith("%"),r=!l(this,Hr)&&e.endsWith("%");if(s&&r)return;const[o,a]=this.parentDimensions;s||(t.width=`${(100*parseFloat(i)/o).toFixed(2)}%`),!l(this,Hr)&&!r&&(t.height=`${(100*parseFloat(e)/a).toFixed(2)}%`)}getInitialTranslation(){return[0,0]}altTextFinish(){var t;(t=l(this,ye))==null||t.finish()}async addEditToolbar(){return l(this,we)||l(this,Wr)?l(this,we):(S(this,we,new Jg(this)),this.div.append(l(this,we).render()),l(this,ye)&&l(this,we).addAltTextButton(await l(this,ye).render()),l(this,we))}removeEditToolbar(){var t;l(this,we)&&(l(this,we).remove(),S(this,we,null),(t=l(this,ye))==null||t.destroy())}getClientDimensions(){return this.div.getBoundingClientRect()}async addAltTextButton(){l(this,ye)||(cf.initialize(vt._l10nPromise),S(this,ye,new cf(this)),l(this,qr)&&(l(this,ye).data=l(this,qr),S(this,qr,null)),await this.addEditToolbar())}get altTextData(){var t;return(t=l(this,ye))==null?void 0:t.data}set altTextData(t){l(this,ye)&&(l(this,ye).data=t)}hasAltText(){var t;return!((t=l(this,ye))!=null&&t.isEmpty())}render(){this.div=document.createElement("div"),this.div.setAttribute("data-editor-rotation",(360-this.rotation)%360),this.div.className=this.name,this.div.setAttribute("id",this.id),this.div.tabIndex=l(this,Ta)?-1:0,this._isVisible||this.div.classList.add("hidden"),this.setInForeground();const t=this._uiManager._signal;this.div.addEventListener("focusin",l(this,ka),{signal:t}),this.div.addEventListener("focusout",l(this,Pa),{signal:t});const[e,i]=this.parentDimensions;this.parentRotation%180!==0&&(this.div.style.maxWidth=`${(100*i/e).toFixed(2)}%`,this.div.style.maxHeight=`${(100*e/i).toFixed(2)}%`);const[s,r]=this.getInitialTranslation();return this.translate(s,r),lf(this,this.div,["pointerdown"]),this.div}pointerdown(t){const{isMac:e}=He.platform;if(t.button!==0||t.ctrlKey&&e){t.preventDefault();return}if(S(this,jr,!0),this._isDraggable){A(this,J,dA).call(this,t);return}A(this,J,fm).call(this,t)}moveInDOM(){l(this,li)&&clearTimeout(l(this,li)),S(this,li,setTimeout(()=>{var t;S(this,li,null),(t=this.parent)==null||t.moveEditorInDOM(this)},0))}_setParentAndPosition(t,e,i){t.changeParent(this),this.x=e,this.y=i,this.fixAndSetPosition()}getRect(t,e,i=this.rotation){const s=this.parentScale,[r,o]=this.pageDimensions,[a,c]=this.pageTranslation,u=t/s,h=e/s,d=this.x*r,f=this.y*o,p=this.width*r,g=this.height*o;switch(i){case 0:return[d+u+a,o-f-h-g+c,d+u+p+a,o-f-h+c];case 90:return[d+h+a,o-f+u+c,d+h+g+a,o-f+u+p+c];case 180:return[d-u-p+a,o-f+h+c,d-u+a,o-f+h+g+c];case 270:return[d-h-g+a,o-f-u-p+c,d-h+a,o-f-u+c];default:throw new Error("Invalid rotation")}}getRectInCurrentCoords(t,e){const[i,s,r,o]=t,a=r-i,c=o-s;switch(this.rotation){case 0:return[i,e-o,a,c];case 90:return[i,e-s,c,a];case 180:return[r,e-s,a,c];case 270:return[r,e-o,c,a];default:throw new Error("Invalid rotation")}}onceAdded(){}isEmpty(){return!1}enableEditMode(){S(this,Wr,!0)}disableEditMode(){S(this,Wr,!1)}isInEditMode(){return l(this,Wr)}shouldGetKeyboardEvents(){return l(this,Wi)}needsToBeRebuilt(){return this.div&&!this.isAttachedToDOM}rebuild(){var e,i;const t=this._uiManager._signal;(e=this.div)==null||e.addEventListener("focusin",l(this,ka),{signal:t}),(i=this.div)==null||i.addEventListener("focusout",l(this,Pa),{signal:t})}rotate(t){}serialize(t=!1,e=null){pt("An editor must be serializable")}static deserialize(t,e,i){const s=new this.prototype.constructor({parent:e,id:e.getNextId(),uiManager:i});s.rotation=t.rotation,S(s,qr,t.accessibilityData);const[r,o]=s.pageDimensions,[a,c,u,h]=s.getRectInCurrentCoords(t.rect,o);return s.x=a/r,s.y=c/o,s.width=u/r,s.height=h/o,s}get hasBeenModified(){return!!this.annotationElementId&&(this.deleted||this.serialize()!==null)}remove(){if(this.div.removeEventListener("focusin",l(this,ka)),this.div.removeEventListener("focusout",l(this,Pa)),this.isEmpty()||this.commit(),this.parent?this.parent.remove(this):this._uiManager.removeEditor(this),l(this,li)&&(clearTimeout(l(this,li)),S(this,li,null)),A(this,J,Yl).call(this),this.removeEditToolbar(),l(this,vn)){for(const t of l(this,vn).values())clearTimeout(t);S(this,vn,null)}this.parent=null}get isResizable(){return!1}makeResizable(){this.isResizable&&(A(this,J,uA).call(this),l(this,ie).classList.remove("hidden"),lf(this,this.div,["keydown"]))}get toolbarPosition(){return null}keydown(t){if(!this.isResizable||t.target!==this.div||t.key!=="Enter")return;this._uiManager.setSelected(this),S(this,Ur,{savedX:this.x,savedY:this.y,savedWidth:this.width,savedHeight:this.height});const e=l(this,ie).children;if(!l(this,Vn)){S(this,Vn,Array.from(e));const o=A(this,J,fA).bind(this),a=A(this,J,pA).bind(this),c=this._uiManager._signal;for(const u of l(this,Vn)){const h=u.getAttribute("data-resizer-name");u.setAttribute("role","spinbutton"),u.addEventListener("keydown",o,{signal:c}),u.addEventListener("blur",a,{signal:c}),u.addEventListener("focus",A(this,J,gA).bind(this,h),{signal:c}),vt._l10nPromise.get(`pdfjs-editor-resizer-label-${h}`).then(d=>u.setAttribute("aria-label",d))}}const i=l(this,Vn)[0];let s=0;for(const o of e){if(o===i)break;s++}const r=(360-this.rotation+this.parentRotation)%360/90*(l(this,Vn).length/4);if(r!==s){if(rs)for(let a=0;aa.setAttribute("aria-label",h))}}A(this,J,pm).call(this,0),S(this,Wi,!0),l(this,ie).firstChild.focus({focusVisible:!0}),t.preventDefault(),t.stopImmediatePropagation()}_resizeWithKeyboard(t,e){l(this,Wi)&&A(this,J,dm).call(this,l(this,ou),{movementX:t,movementY:e})}_stopResizingWithKeyboard(){A(this,J,Yl).call(this),this.div.focus()}select(){var t,e;if(this.makeResizable(),(t=this.div)==null||t.classList.add("selectedEditor"),!l(this,we)){this.addEditToolbar().then(()=>{var i,s;(i=this.div)!=null&&i.classList.contains("selectedEditor")&&((s=l(this,we))==null||s.show())});return}(e=l(this,we))==null||e.show()}unselect(){var t,e,i,s;(t=l(this,ie))==null||t.classList.add("hidden"),(e=this.div)==null||e.classList.remove("selectedEditor"),(i=this.div)!=null&&i.contains(document.activeElement)&&this._uiManager.currentLayer.div.focus({preventScroll:!0}),(s=l(this,we))==null||s.hide()}updateParams(t,e){}disableEditing(){}enableEditing(){}enterInEditMode(){}getImageForAltText(){return null}get contentDiv(){return this.div}get isEditing(){return l(this,au)}set isEditing(t){S(this,au,t),this.parent&&(t?(this.parent.setSelected(this),this.parent.setActiveEditor(this)):this.parent.setActiveEditor(null))}setAspectRatio(t,e){S(this,Hr,!0);const i=t/e,{style:s}=this.div;s.aspectRatio=i,s.height="auto"}static get MIN_SIZE(){return 16}static canCreateNewEmptyEditor(){return!0}get telemetryInitialData(){return{action:"added"}}get telemetryFinalData(){return null}_reportTelemetry(t,e=!1){if(e){l(this,vn)||S(this,vn,new Map);const{action:i}=t;let s=l(this,vn).get(i);s&&clearTimeout(s),s=setTimeout(()=>{this._reportTelemetry(t),l(this,vn).delete(i),l(this,vn).size===0&&S(this,vn,null)},vt._telemetryTimeout),l(this,vn).set(i,s);return}t.type||(t.type=this.editorType),this._uiManager._eventBus.dispatch("reporttelemetry",{source:this,details:{type:"editing",data:t}})}show(t=this._isVisible){this.div.classList.toggle("hidden",!t),this._isVisible=t}enable(){this.div&&(this.div.tabIndex=0),S(this,Ta,!1)}disable(){this.div&&(this.div.tabIndex=-1),S(this,Ta,!0)}renderAnnotationElement(t){let e=t.container.querySelector(".annotationContent");if(!e)e=document.createElement("div"),e.classList.add("annotationContent",this.editorType),t.container.prepend(e);else if(e.nodeName==="CANVAS"){const i=e;e=document.createElement("div"),e.classList.add("annotationContent",this.editorType),i.before(e)}return e}resetAnnotationElement(t){const{firstChild:e}=t.container;e.nodeName==="DIV"&&e.classList.contains("annotationContent")&&e.remove()}};qr=new WeakMap,Vn=new WeakMap,ye=new WeakMap,Ta=new WeakMap,Hr=new WeakMap,ie=new WeakMap,Ur=new WeakMap,ka=new WeakMap,Pa=new WeakMap,we=new WeakMap,ou=new WeakMap,jr=new WeakMap,Fs=new WeakMap,au=new WeakMap,Wr=new WeakMap,Wi=new WeakMap,li=new WeakMap,Ra=new WeakMap,_a=new WeakMap,vn=new WeakMap,lu=new WeakMap,bf=new WeakMap,J=new WeakSet,lm=function([t,e],i,s){[i,s]=this.screenToPageTranslation(i,s),this.x+=i/t,this.y+=s/e,this.fixAndSetPosition()},cu=new WeakSet,cm=function(t,e,i){switch(i){case 90:return[e,-t];case 180:return[-t,-e];case 270:return[-e,t];default:return[t,e]}},um=function(t){switch(t){case 90:{const[e,i]=this.pageDimensions;return[0,-e/i,i/e,0]}case 180:return[-1,0,0,-1];case 270:{const[e,i]=this.pageDimensions;return[0,e/i,-i/e,0]}default:return[1,0,0,1]}},uA=function(){if(l(this,ie))return;S(this,ie,document.createElement("div")),l(this,ie).classList.add("resizers");const t=this._willKeepAspectRatio?["topLeft","topRight","bottomRight","bottomLeft"]:["topLeft","topMiddle","topRight","middleRight","bottomRight","bottomMiddle","bottomLeft","middleLeft"],e=this._uiManager._signal;for(const i of t){const s=document.createElement("div");l(this,ie).append(s),s.classList.add("resizer",i),s.setAttribute("data-resizer-name",i),s.addEventListener("pointerdown",A(this,J,hA).bind(this,i),{signal:e}),s.addEventListener("contextmenu",Ke,{signal:e}),s.tabIndex=-1}this.div.prepend(l(this,ie))},hA=function(t,e){var w;e.preventDefault();const{isMac:i}=He.platform;if(e.button!==0||e.ctrlKey&&i)return;(w=l(this,ye))==null||w.toggle(!1);const s=A(this,J,dm).bind(this,t),r=this._isDraggable;this._isDraggable=!1;const o=this._uiManager._signal,a={passive:!0,capture:!0,signal:o};this.parent.togglePointerEvents(!1),window.addEventListener("pointermove",s,a),window.addEventListener("contextmenu",Ke,{signal:o});const c=this.x,u=this.y,h=this.width,d=this.height,f=this.parent.div.style.cursor,p=this.div.style.cursor;this.div.style.cursor=this.parent.div.style.cursor=window.getComputedStyle(e.target).cursor;const g=()=>{var E;this.parent.togglePointerEvents(!0),(E=l(this,ye))==null||E.toggle(!0),this._isDraggable=r,window.removeEventListener("pointerup",g),window.removeEventListener("blur",g),window.removeEventListener("pointermove",s,a),window.removeEventListener("contextmenu",Ke),this.parent.div.style.cursor=f,this.div.style.cursor=p,A(this,J,hm).call(this,c,u,h,d)};window.addEventListener("pointerup",g,{signal:o}),window.addEventListener("blur",g,{signal:o})},hm=function(t,e,i,s){const r=this.x,o=this.y,a=this.width,c=this.height;r===t&&o===e&&a===i&&c===s||this.addCommands({cmd:()=>{this.width=a,this.height=c,this.x=r,this.y=o;const[u,h]=this.parentDimensions;this.setDims(u*a,h*c),this.fixAndSetPosition()},undo:()=>{this.width=i,this.height=s,this.x=t,this.y=e;const[u,h]=this.parentDimensions;this.setDims(u*i,h*s),this.fixAndSetPosition()},mustExec:!0})},dm=function(t,e){const[i,s]=this.parentDimensions,r=this.x,o=this.y,a=this.width,c=this.height,u=vt.MIN_SIZE/i,h=vt.MIN_SIZE/s,d=U=>Math.round(U*1e4)/1e4,f=A(this,J,um).call(this,this.rotation),p=(U,R)=>[f[0]*U+f[2]*R,f[1]*U+f[3]*R],g=A(this,J,um).call(this,360-this.rotation),w=(U,R)=>[g[0]*U+g[2]*R,g[1]*U+g[3]*R];let E,m,v=!1,y=!1;switch(t){case"topLeft":v=!0,E=(U,R)=>[0,0],m=(U,R)=>[U,R];break;case"topMiddle":E=(U,R)=>[U/2,0],m=(U,R)=>[U/2,R];break;case"topRight":v=!0,E=(U,R)=>[U,0],m=(U,R)=>[0,R];break;case"middleRight":y=!0,E=(U,R)=>[U,R/2],m=(U,R)=>[0,R/2];break;case"bottomRight":v=!0,E=(U,R)=>[U,R],m=(U,R)=>[0,0];break;case"bottomMiddle":E=(U,R)=>[U/2,R],m=(U,R)=>[U/2,0];break;case"bottomLeft":v=!0,E=(U,R)=>[0,R],m=(U,R)=>[U,0];break;case"middleLeft":y=!0,E=(U,R)=>[0,R/2],m=(U,R)=>[U,R/2];break}const x=E(a,c),C=m(a,c);let T=p(...C);const k=d(r+T[0]),P=d(o+T[1]);let M=1,L=1,[D,W]=this.screenToPageTranslation(e.movementX,e.movementY);if([D,W]=w(D/i,W/s),v){const U=Math.hypot(a,c);M=L=Math.max(Math.min(Math.hypot(C[0]-x[0]-D,C[1]-x[1]-W)/U,1/a,1/c),u/a,h/c)}else y?M=Math.max(u,Math.min(1,Math.abs(C[0]-x[0]-D)))/a:L=Math.max(h,Math.min(1,Math.abs(C[1]-x[1]-W)))/c;const X=d(a*M),tt=d(c*L);T=p(...m(X,tt));const nt=k-T[0],rt=P-T[1];this.width=X,this.height=tt,this.x=nt,this.y=rt,this.setDims(i*X,s*tt),this.fixAndSetPosition()},fm=function(t){const{isMac:e}=He.platform;t.ctrlKey&&!e||t.shiftKey||t.metaKey&&e?this.parent.toggleSelected(this):this.parent.setSelected(this)},dA=function(t){const e=this._uiManager.isSelected(this);this._uiManager.setUpDragSession();let i,s;const r=this._uiManager._signal;e&&(this.div.classList.add("moving"),i={passive:!0,capture:!0,signal:r},S(this,Ra,t.clientX),S(this,_a,t.clientY),s=a=>{const{clientX:c,clientY:u}=a,[h,d]=this.screenToPageTranslation(c-l(this,Ra),u-l(this,_a));S(this,Ra,c),S(this,_a,u),this._uiManager.dragSelectedEditors(h,d)},window.addEventListener("pointermove",s,i));const o=()=>{window.removeEventListener("pointerup",o),window.removeEventListener("blur",o),e&&(this.div.classList.remove("moving"),window.removeEventListener("pointermove",s,i)),S(this,jr,!1),this._uiManager.endDragSession()||A(this,J,fm).call(this,t)};window.addEventListener("pointerup",o,{signal:r}),window.addEventListener("blur",o,{signal:r})},fA=function(t){vt._resizerKeyboardManager.exec(this,t)},pA=function(t){var e;l(this,Wi)&&((e=t.relatedTarget)==null?void 0:e.parentNode)!==l(this,ie)&&A(this,J,Yl).call(this)},gA=function(t){S(this,ou,l(this,Wi)?t:"")},pm=function(t){if(l(this,Vn))for(const e of l(this,Vn))e.tabIndex=t},Yl=function(){if(S(this,Wi,!1),A(this,J,pm).call(this,-1),l(this,Ur)){const{savedX:t,savedY:e,savedWidth:i,savedHeight:s}=l(this,Ur);A(this,J,hm).call(this,t,e,i,s),S(this,Ur,null)}},b(vt,cu),I(vt,"_borderLineWidth",-1),I(vt,"_colorManager",new em),I(vt,"_zIndex",1),I(vt,"_telemetryTimeout",1e3);let ht=vt;class Pk extends ht{constructor(t){super(t),this.annotationElementId=t.annotationElementId,this.deleted=!0}serialize(){return{id:this.annotationElementId,deleted:!0,pageIndex:this.pageIndex}}}const K0=3285377520,gn=4294901760,ti=65535;class mA{constructor(t){this.h1=t?t&4294967295:K0,this.h2=t?t&4294967295:K0}update(t){let e,i;if(typeof t=="string"){e=new Uint8Array(t.length*2),i=0;for(let w=0,E=t.length;w>>8,e[i++]=m&255)}}else if(ArrayBuffer.isView(t))e=t.slice(),i=e.byteLength;else throw new Error("Invalid data format, must be a string or TypedArray.");const s=i>>2,r=i-s*4,o=new Uint32Array(e.buffer,0,s);let a=0,c=0,u=this.h1,h=this.h2;const d=3432918353,f=461845907,p=d&ti,g=f&ti;for(let w=0;w>>17,a=a*f&gn|a*g&ti,u^=a,u=u<<13|u>>>19,u=u*5+3864292196):(c=o[w],c=c*d&gn|c*p&ti,c=c<<15|c>>>17,c=c*f&gn|c*g&ti,h^=c,h=h<<13|h>>>19,h=h*5+3864292196);switch(a=0,r){case 3:a^=e[s*4+2]<<16;case 2:a^=e[s*4+1]<<8;case 1:a^=e[s*4],a=a*d&gn|a*p&ti,a=a<<15|a>>>17,a=a*f&gn|a*g&ti,s&1?u^=a:h^=a}this.h1=u,this.h2=h}hexdigest(){let t=this.h1,e=this.h2;return t^=e>>>1,t=t*3981806797&gn|t*36045&ti,e=e*4283543511&gn|((e<<16|t>>>16)*2950163797&gn)>>>16,t^=e>>>1,t=t*444984403&gn|t*60499&ti,e=e*3301882366&gn|((e<<16|t>>>16)*3120437893&gn)>>>16,t^=e>>>1,(t>>>0).toString(16).padStart(8,"0")+(e>>>0).toString(16).padStart(8,"0")}}const gm=Object.freeze({map:null,hash:"",transfer:void 0});var Br,se,Ef,vA;class dy{constructor(){b(this,Ef);b(this,Br,!1);b(this,se,new Map);this.onSetModified=null,this.onResetModified=null,this.onAnnotationEditor=null}getValue(t,e){const i=l(this,se).get(t);return i===void 0?e:Object.assign(e,i)}getRawValue(t){return l(this,se).get(t)}remove(t){if(l(this,se).delete(t),l(this,se).size===0&&this.resetModified(),typeof this.onAnnotationEditor=="function"){for(const e of l(this,se).values())if(e instanceof ht)return;this.onAnnotationEditor(null)}}setValue(t,e){const i=l(this,se).get(t);let s=!1;if(i!==void 0)for(const[r,o]of Object.entries(e))i[r]!==o&&(s=!0,i[r]=o);else s=!0,l(this,se).set(t,e);s&&A(this,Ef,vA).call(this),e instanceof ht&&typeof this.onAnnotationEditor=="function"&&this.onAnnotationEditor(e.constructor._type)}has(t){return l(this,se).has(t)}getAll(){return l(this,se).size>0?ry(l(this,se)):null}setAll(t){for(const[e,i]of Object.entries(t))this.setValue(e,i)}get size(){return l(this,se).size}resetModified(){l(this,Br)&&(S(this,Br,!1),typeof this.onResetModified=="function"&&this.onResetModified())}get print(){return new yA(this)}get serializable(){if(l(this,se).size===0)return gm;const t=new Map,e=new mA,i=[],s=Object.create(null);let r=!1;for(const[o,a]of l(this,se)){const c=a instanceof ht?a.serialize(!1,s):a;c&&(t.set(o,c),e.update(`${o}:${JSON.stringify(c)}`),r||(r=!!c.bitmap))}if(r)for(const o of t.values())o.bitmap&&i.push(o.bitmap);return t.size>0?{map:t,hash:e.hexdigest(),transfer:i}:gm}get editorStats(){let t=null;const e=new Map;for(const i of l(this,se).values()){if(!(i instanceof ht))continue;const s=i.telemetryFinalData;if(!s)continue;const{type:r}=s;e.has(r)||e.set(r,Object.getPrototypeOf(i).constructor),t||(t=Object.create(null));const o=t[r]||(t[r]=new Map);for(const[a,c]of Object.entries(s)){if(a==="type")continue;let u=o.get(a);u||(u=new Map,o.set(a,u));const h=u.get(c)??0;u.set(c,h+1)}}for(const[i,s]of e)t[i]=s.computeTelemetryFinalData(t[i]);return t}}Br=new WeakMap,se=new WeakMap,Ef=new WeakSet,vA=function(){l(this,Br)||(S(this,Br,!0),typeof this.onSetModified=="function"&&this.onSetModified())};var uu;class yA extends dy{constructor(e){super();b(this,uu);const{map:i,hash:s,transfer:r}=e.serializable,o=structuredClone(i,r?{transfer:r}:null);S(this,uu,{map:o,hash:s,transfer:r})}get print(){pt("Should not call PrintAnnotationStorage.print")}get serializable(){return l(this,uu)}}uu=new WeakMap;var La;class Rk{constructor({ownerDocument:t=globalThis.document,styleElement:e=null}){b(this,La,new Set);this._document=t,this.nativeFontFaces=new Set,this.styleElement=null,this.loadingRequests=[],this.loadTestFontId=0}addNativeFontFace(t){this.nativeFontFaces.add(t),this._document.fonts.add(t)}removeNativeFontFace(t){this.nativeFontFaces.delete(t),this._document.fonts.delete(t)}insertRule(t){this.styleElement||(this.styleElement=this._document.createElement("style"),this._document.documentElement.getElementsByTagName("head")[0].append(this.styleElement));const e=this.styleElement.sheet;e.insertRule(t,e.cssRules.length)}clear(){for(const t of this.nativeFontFaces)this._document.fonts.delete(t);this.nativeFontFaces.clear(),l(this,La).clear(),this.styleElement&&(this.styleElement.remove(),this.styleElement=null)}async loadSystemFont({systemFontInfo:t,_inspectFont:e}){if(!(!t||l(this,La).has(t.loadedName))){if(Gt(!this.disableFontFace,"loadSystemFont shouldn't be called when `disableFontFace` is set."),this.isFontLoadingAPISupported){const{loadedName:i,src:s,style:r}=t,o=new FontFace(i,s,r);this.addNativeFontFace(o);try{await o.load(),l(this,La).add(i),e==null||e(t)}catch{Q(`Cannot load system font: ${t.baseFontName}, installing it could help to improve PDF rendering.`),this.removeNativeFontFace(o)}return}pt("Not implemented: loadSystemFont without the Font Loading API.")}}async bind(t){if(t.attached||t.missingFile&&!t.systemFontInfo)return;if(t.attached=!0,t.systemFontInfo){await this.loadSystemFont(t);return}if(this.isFontLoadingAPISupported){const i=t.createNativeFontFace();if(i){this.addNativeFontFace(i);try{await i.loaded}catch(s){throw Q(`Failed to load font '${i.family}': '${s}'.`),t.disableFontFace=!0,s}}return}const e=t.createFontFaceRule();if(e){if(this.insertRule(e),this.isSyncFontLoadingSupported)return;await new Promise(i=>{const s=this._queueLoadingCallback(i);this._prepareFontLoadEvent(t,s)})}}get isFontLoadingAPISupported(){var e;const t=!!((e=this._document)!=null&&e.fonts);return ot(this,"isFontLoadingAPISupported",t)}get isSyncFontLoadingSupported(){let t=!1;return(Ae||typeof navigator<"u"&&typeof(navigator==null?void 0:navigator.userAgent)=="string"&&/Mozilla\/5.0.*?rv:\d+.*? Gecko/.test(navigator.userAgent))&&(t=!0),ot(this,"isSyncFontLoadingSupported",t)}_queueLoadingCallback(t){function e(){for(Gt(!s.done,"completeRequest() cannot be called twice."),s.done=!0;i.length>0&&i[0].done;){const r=i.shift();setTimeout(r.callback,0)}}const{loadingRequests:i}=this,s={done:!1,complete:e,callback:t};return i.push(s),s}get _loadTestFont(){const t=atob("T1RUTwALAIAAAwAwQ0ZGIDHtZg4AAAOYAAAAgUZGVE1lkzZwAAAEHAAAABxHREVGABQAFQAABDgAAAAeT1MvMlYNYwkAAAEgAAAAYGNtYXABDQLUAAACNAAAAUJoZWFk/xVFDQAAALwAAAA2aGhlYQdkA+oAAAD0AAAAJGhtdHgD6AAAAAAEWAAAAAZtYXhwAAJQAAAAARgAAAAGbmFtZVjmdH4AAAGAAAAAsXBvc3T/hgAzAAADeAAAACAAAQAAAAEAALZRFsRfDzz1AAsD6AAAAADOBOTLAAAAAM4KHDwAAAAAA+gDIQAAAAgAAgAAAAAAAAABAAADIQAAAFoD6AAAAAAD6AABAAAAAAAAAAAAAAAAAAAAAQAAUAAAAgAAAAQD6AH0AAUAAAKKArwAAACMAooCvAAAAeAAMQECAAACAAYJAAAAAAAAAAAAAQAAAAAAAAAAAAAAAFBmRWQAwAAuAC4DIP84AFoDIQAAAAAAAQAAAAAAAAAAACAAIAABAAAADgCuAAEAAAAAAAAAAQAAAAEAAAAAAAEAAQAAAAEAAAAAAAIAAQAAAAEAAAAAAAMAAQAAAAEAAAAAAAQAAQAAAAEAAAAAAAUAAQAAAAEAAAAAAAYAAQAAAAMAAQQJAAAAAgABAAMAAQQJAAEAAgABAAMAAQQJAAIAAgABAAMAAQQJAAMAAgABAAMAAQQJAAQAAgABAAMAAQQJAAUAAgABAAMAAQQJAAYAAgABWABYAAAAAAAAAwAAAAMAAAAcAAEAAAAAADwAAwABAAAAHAAEACAAAAAEAAQAAQAAAC7//wAAAC7////TAAEAAAAAAAABBgAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAD/gwAyAAAAAQAAAAAAAAAAAAAAAAAAAAABAAQEAAEBAQJYAAEBASH4DwD4GwHEAvgcA/gXBIwMAYuL+nz5tQXkD5j3CBLnEQACAQEBIVhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYAAABAQAADwACAQEEE/t3Dov6fAH6fAT+fPp8+nwHDosMCvm1Cvm1DAz6fBQAAAAAAAABAAAAAMmJbzEAAAAAzgTjFQAAAADOBOQpAAEAAAAAAAAADAAUAAQAAAABAAAAAgABAAAAAAAAAAAD6AAAAAAAAA==");return ot(this,"_loadTestFont",t)}_prepareFontLoadEvent(t,e){function i(x,C){return x.charCodeAt(C)<<24|x.charCodeAt(C+1)<<16|x.charCodeAt(C+2)<<8|x.charCodeAt(C+3)&255}function s(x,C,T,k){const P=x.substring(0,C),M=x.substring(C+T);return P+k+M}let r,o;const a=this._document.createElement("canvas");a.width=1,a.height=1;const c=a.getContext("2d");let u=0;function h(x,C){if(++u>30){Q("Load test font never loaded."),C();return}if(c.font="30px "+x,c.fillText(".",0,20),c.getImageData(0,0,1,1).data[3]>0){C();return}setTimeout(h.bind(null,x,C))}const d=`lt${Date.now()}${this.loadTestFontId++}`;let f=this._loadTestFont;f=s(f,976,d.length,d);const g=16,w=1482184792;let E=i(f,g);for(r=0,o=d.length-3;r{y.remove(),e.complete()})}}La=new WeakMap;class _k{constructor(t,{disableFontFace:e=!1,inspectFont:i=null}){this.compiledGlyphs=Object.create(null);for(const s in t)this[s]=t[s];this.disableFontFace=e===!0,this._inspectFont=i}createNativeFontFace(){var e;if(!this.data||this.disableFontFace)return null;let t;if(!this.cssFontInfo)t=new FontFace(this.loadedName,this.data,{});else{const i={weight:this.cssFontInfo.fontWeight};this.cssFontInfo.italicAngle&&(i.style=`oblique ${this.cssFontInfo.italicAngle}deg`),t=new FontFace(this.cssFontInfo.fontFamily,this.data,i)}return(e=this._inspectFont)==null||e.call(this,this),t}createFontFaceRule(){var s;if(!this.data||this.disableFontFace)return null;const t=V1(this.data),e=`url(data:${this.mimetype};base64,${btoa(t)});`;let i;if(!this.cssFontInfo)i=`@font-face {font-family:"${this.loadedName}";src:${e}}`;else{let r=`font-weight: ${this.cssFontInfo.fontWeight};`;this.cssFontInfo.italicAngle&&(r+=`font-style: oblique ${this.cssFontInfo.italicAngle}deg;`),i=`@font-face {font-family:"${this.cssFontInfo.fontFamily}";${r}src:${e}}`}return(s=this._inspectFont)==null||s.call(this,this,e),i}getPathGenerator(t,e){if(this.compiledGlyphs[e]!==void 0)return this.compiledGlyphs[e];let i;try{i=t.get(this.loadedName+"_path_"+e)}catch(r){Q(`getPathGenerator - ignoring character: "${r}".`)}if(!Array.isArray(i)||i.length===0)return this.compiledGlyphs[e]=function(r,o){};const s=[];for(let r=0,o=i.length;rp.bezierCurveTo(a,c,u,h,d,f)),r+=6}break;case Pi.MOVE_TO:{const[a,c]=i.slice(r,r+2);s.push(u=>u.moveTo(a,c)),r+=2}break;case Pi.LINE_TO:{const[a,c]=i.slice(r,r+2);s.push(u=>u.lineTo(a,c)),r+=2}break;case Pi.QUADRATIC_CURVE_TO:{const[a,c,u,h]=i.slice(r,r+4);s.push(d=>d.quadraticCurveTo(a,c,u,h)),r+=4}break;case Pi.RESTORE:s.push(a=>a.restore());break;case Pi.SAVE:s.push(a=>a.save());break;case Pi.SCALE:Gt(s.length===2,"Scale command is only valid at the third position.");break;case Pi.TRANSFORM:{const[a,c,u,h,d,f]=i.slice(r,r+6);s.push(p=>p.transform(a,c,u,h,d,f)),r+=6}break;case Pi.TRANSLATE:{const[a,c]=i.slice(r,r+2);s.push(u=>u.translate(a,c)),r+=2}break}return this.compiledGlyphs[e]=function(o,a){s[0](o),s[1](o),o.scale(a,-a);for(let c=2,u=s.length;c{const t=await jl(()=>import("./__vite-browser-external-BIHI7g3E.js"),[]),e=await jl(()=>import("./__vite-browser-external-BIHI7g3E.js"),[]),i=await jl(()=>import("./__vite-browser-external-BIHI7g3E.js"),[]),s=await jl(()=>import("./__vite-browser-external-BIHI7g3E.js"),[]);let r,o;return new Map(Object.entries({fs:t,http:e,https:i,url:s,canvas:r,path2d:o}))})().then(t=>{mc=t,mm.resolve()},t=>{Q(`loadPackages: ${t}`),mc=new Map,mm.resolve()})}class xi{static get promise(){return mm.promise}static get(t){return mc==null?void 0:mc.get(t)}}const wA=function(n){return xi.get("fs").promises.readFile(n).then(e=>new Uint8Array(e))};class Lk extends sp{}class Mk extends af{_createCanvas(t,e){return xi.get("canvas").createCanvas(t,e)}}class Nk extends rp{_fetchData(t,e){return wA(t).then(i=>({cMapData:i,compressionType:e}))}}class Dk extends op{_fetchData(t){return wA(t)}}const Pe={FILL:"Fill",STROKE:"Stroke",SHADING:"Shading"};function vm(n,t){if(!t)return;const e=t[2]-t[0],i=t[3]-t[1],s=new Path2D;s.rect(t[0],t[1],e,i),n.clip(s)}class bh{constructor(){this.constructor===bh&&pt("Cannot initialize BaseShadingPattern.")}getPattern(){pt("Abstract method `getPattern` called.")}}class Ik extends bh{constructor(t){super(),this._type=t[1],this._bbox=t[2],this._colorStops=t[3],this._p0=t[4],this._p1=t[5],this._r0=t[6],this._r1=t[7],this.matrix=null}_createGradient(t){let e;this._type==="axial"?e=t.createLinearGradient(this._p0[0],this._p0[1],this._p1[0],this._p1[1]):this._type==="radial"&&(e=t.createRadialGradient(this._p0[0],this._p0[1],this._r0,this._p1[0],this._p1[1],this._r1));for(const i of this._colorStops)e.addColorStop(i[0],i[1]);return e}getPattern(t,e,i,s){let r;if(s===Pe.STROKE||s===Pe.FILL){const o=e.current.getClippedPathBoundingBox(s,Tt(t))||[0,0,0,0],a=Math.ceil(o[2]-o[0])||1,c=Math.ceil(o[3]-o[1])||1,u=e.cachedCanvases.getCanvas("pattern",a,c,!0),h=u.context;h.clearRect(0,0,h.canvas.width,h.canvas.height),h.beginPath(),h.rect(0,0,h.canvas.width,h.canvas.height),h.translate(-o[0],-o[1]),i=q.transform(i,[1,0,0,1,o[0],o[1]]),h.transform(...e.baseTransform),this.matrix&&h.transform(...this.matrix),vm(h,this._bbox),h.fillStyle=this._createGradient(h),h.fill(),r=t.createPattern(u.canvas,"no-repeat");const d=new DOMMatrix(i);r.setTransform(d)}else vm(t,this._bbox),r=this._createGradient(t);return r}}function Kp(n,t,e,i,s,r,o,a){const c=t.coords,u=t.colors,h=n.data,d=n.width*4;let f;c[e+1]>c[i+1]&&(f=e,e=i,i=f,f=r,r=o,o=f),c[i+1]>c[s+1]&&(f=i,i=s,s=f,f=o,o=a,a=f),c[e+1]>c[i+1]&&(f=e,e=i,i=f,f=r,r=o,o=f);const p=(c[e]+t.offsetX)*t.scaleX,g=(c[e+1]+t.offsetY)*t.scaleY,w=(c[i]+t.offsetX)*t.scaleX,E=(c[i+1]+t.offsetY)*t.scaleY,m=(c[s]+t.offsetX)*t.scaleX,v=(c[s+1]+t.offsetY)*t.scaleY;if(g>=v)return;const y=u[r],x=u[r+1],C=u[r+2],T=u[o],k=u[o+1],P=u[o+2],M=u[a],L=u[a+1],D=u[a+2],W=Math.round(g),X=Math.round(v);let tt,nt,rt,U,R,H,B,mt;for(let it=W;it<=X;it++){if(itv?Et=1:E===v?Et=0:Et=(E-it)/(E-v),tt=w-(w-m)*Et,nt=T-(T-M)*Et,rt=k-(k-L)*Et,U=P-(P-D)*Et}let _t;itv?_t=1:_t=(g-it)/(g-v),R=p-(p-m)*_t,H=y-(y-M)*_t,B=x-(x-L)*_t,mt=C-(C-D)*_t;const pn=Math.round(Math.min(tt,R)),Rn=Math.round(Math.max(tt,R));let he=d*it+pn*4;for(let Et=pn;Et<=Rn;Et++)_t=(tt-Et)/(tt-R),_t<0?_t=0:_t>1&&(_t=1),h[he++]=nt-(nt-H)*_t|0,h[he++]=rt-(rt-B)*_t|0,h[he++]=U-(U-mt)*_t|0,h[he++]=255}}function Fk(n,t,e){const i=t.coords,s=t.colors;let r,o;switch(t.type){case"lattice":const a=t.verticesPerRow,c=Math.floor(i.length/a)-1,u=a-1;for(r=0;r=s?r=s:i=r/t,{scale:i,size:r}}clipBbox(t,e,i,s,r){const o=s-e,a=r-i;t.ctx.rect(e,i,o,a),t.current.updateRectMinMax(Tt(t.ctx),[e,i,s,r]),t.clip(),t.endPath()}setFillAndStrokeStyleToContext(t,e,i){const s=t.ctx,r=t.current;switch(e){case X0.COLORED:const o=this.ctx;s.fillStyle=o.fillStyle,s.strokeStyle=o.strokeStyle,r.fillColor=o.fillStyle,r.strokeColor=o.strokeStyle;break;case X0.UNCOLORED:const a=q.makeHexColor(i[0],i[1],i[2]);s.fillStyle=a,s.strokeStyle=a,r.fillColor=a,r.strokeColor=a;break;default:throw new hk(`Unsupported paint type: ${e}`)}}getPattern(t,e,i,s){let r=i;s!==Pe.SHADING&&(r=q.transform(r,e.baseTransform),this.matrix&&(r=q.transform(r,this.matrix)));const o=this.createPatternCanvas(e);let a=new DOMMatrix(r);a=a.translate(o.offsetX,o.offsetY),a=a.scale(1/o.scaleX,1/o.scaleY);const c=t.createPattern(o.canvas,"repeat");return c.setTransform(a),c}};I(xf,"MAX_PATTERN_SIZE",3e3);let ym=xf;function qk({src:n,srcPos:t=0,dest:e,width:i,height:s,nonBlackColor:r=4294967295,inverseDecode:o=!1}){const a=He.isLittleEndian?4278190080:255,[c,u]=o?[r,a]:[a,r],h=i>>3,d=i&7,f=n.length;e=new Uint32Array(e.buffer);let p=0;for(let g=0;g{n.save=n.__originalSave,n.restore=n.__originalRestore,n.rotate=n.__originalRotate,n.scale=n.__originalScale,n.translate=n.__originalTranslate,n.transform=n.__originalTransform,n.setTransform=n.__originalSetTransform,n.resetTransform=n.__originalResetTransform,n.clip=n.__originalClip,n.moveTo=n.__originalMoveTo,n.lineTo=n.__originalLineTo,n.bezierCurveTo=n.__originalBezierCurveTo,n.rect=n.__originalRect,n.closePath=n.__originalClosePath,n.beginPath=n.__originalBeginPath,delete n._removeMirroring},n.save=function(){t.save(),this.__originalSave()},n.restore=function(){t.restore(),this.__originalRestore()},n.translate=function(i,s){t.translate(i,s),this.__originalTranslate(i,s)},n.scale=function(i,s){t.scale(i,s),this.__originalScale(i,s)},n.transform=function(i,s,r,o,a,c){t.transform(i,s,r,o,a,c),this.__originalTransform(i,s,r,o,a,c)},n.setTransform=function(i,s,r,o,a,c){t.setTransform(i,s,r,o,a,c),this.__originalSetTransform(i,s,r,o,a,c)},n.resetTransform=function(){t.resetTransform(),this.__originalResetTransform()},n.rotate=function(i){t.rotate(i),this.__originalRotate(i)},n.clip=function(i){t.clip(i),this.__originalClip(i)},n.moveTo=function(e,i){t.moveTo(e,i),this.__originalMoveTo(e,i)},n.lineTo=function(e,i){t.lineTo(e,i),this.__originalLineTo(e,i)},n.bezierCurveTo=function(e,i,s,r,o,a){t.bezierCurveTo(e,i,s,r,o,a),this.__originalBezierCurveTo(e,i,s,r,o,a)},n.rect=function(e,i,s,r){t.rect(e,i,s,r),this.__originalRect(e,i,s,r)},n.closePath=function(){t.closePath(),this.__originalClosePath()},n.beginPath=function(){t.beginPath(),this.__originalBeginPath()}}class jk{constructor(t){this.canvasFactory=t,this.cache=Object.create(null)}getCanvas(t,e,i){let s;return this.cache[t]!==void 0?(s=this.cache[t],this.canvasFactory.reset(s,e,i)):(s=this.canvasFactory.create(e,i),this.cache[t]=s),s}delete(t){delete this.cache[t]}clear(){for(const t in this.cache){const e=this.cache[t];this.canvasFactory.destroy(e),delete this.cache[t]}}}function Kh(n,t,e,i,s,r,o,a,c,u){const[h,d,f,p,g,w]=Tt(n);if(d===0&&f===0){const v=o*h+g,y=Math.round(v),x=a*p+w,C=Math.round(x),T=(o+c)*h+g,k=Math.abs(Math.round(T)-y)||1,P=(a+u)*p+w,M=Math.abs(Math.round(P)-C)||1;return n.setTransform(Math.sign(h),0,0,Math.sign(p),y,C),n.drawImage(t,e,i,s,r,0,0,k,M),n.setTransform(h,d,f,p,g,w),[k,M]}if(h===0&&p===0){const v=a*f+g,y=Math.round(v),x=o*d+w,C=Math.round(x),T=(a+u)*f+g,k=Math.abs(Math.round(T)-y)||1,P=(o+c)*d+w,M=Math.abs(Math.round(P)-C)||1;return n.setTransform(0,Math.sign(d),Math.sign(f),0,y,C),n.drawImage(t,e,i,s,r,0,0,M,k),n.setTransform(h,d,f,p,g,w),[M,k]}n.drawImage(t,e,i,s,r,o,a,c,u);const E=Math.hypot(h,d),m=Math.hypot(f,p);return[E*c,m*u]}function Wk(n){const{width:t,height:e}=n;if(t>J0||e>J0)return null;const i=1e3,s=new Uint8Array([0,2,4,0,1,0,5,4,8,10,0,8,0,2,1,0]),r=t+1;let o=new Uint8Array(r*(e+1)),a,c,u;const h=t+7&-8;let d=new Uint8Array(h*e),f=0;for(const m of n.data){let v=128;for(;v>0;)d[f++]=m&v?0:255,v>>=1}let p=0;for(f=0,d[f]!==0&&(o[0]=1,++p),c=1;c>2)+(d[f+1]?4:0)+(d[f-h+1]?8:0),s[m]&&(o[u+c]=s[m],++p),f++;if(d[f-h]!==d[f]&&(o[u+c]=d[f]?2:4,++p),p>i)return null}for(f=h*(e-1),u=a*r,d[f]!==0&&(o[u]=8,++p),c=1;ci)return null;const g=new Int32Array([0,r,-1,0,-r,0,0,0,1]),w=new Path2D;for(a=0;p&&a<=e;a++){let m=a*r;const v=m+t;for(;m>4,o[m]&=x>>2|x<<2),w.lineTo(m%r,m/r|0),o[m]||--p}while(y!==m);--a}return d=null,o=null,function(m){m.save(),m.scale(1/t,-1/e),m.translate(0,-e),m.fill(w),m.beginPath(),m.restore()}}class Z0{constructor(t,e){this.alphaIsShape=!1,this.fontSize=0,this.fontSizeScale=1,this.textMatrix=O1,this.textMatrixScale=1,this.fontMatrix=Wg,this.leading=0,this.x=0,this.y=0,this.lineX=0,this.lineY=0,this.charSpacing=0,this.wordSpacing=0,this.textHScale=1,this.textRenderingMode=ge.FILL,this.textRise=0,this.fillColor="#000000",this.strokeColor="#000000",this.patternFill=!1,this.fillAlpha=1,this.strokeAlpha=1,this.lineWidth=1,this.activeSMask=null,this.transferMaps="none",this.startNewPathAndClipBox([0,0,t,e])}clone(){const t=Object.create(this);return t.clipBox=this.clipBox.slice(),t}setCurrentPoint(t,e){this.x=t,this.y=e}updatePathMinMax(t,e,i){[e,i]=q.applyTransform([e,i],t),this.minX=Math.min(this.minX,e),this.minY=Math.min(this.minY,i),this.maxX=Math.max(this.maxX,e),this.maxY=Math.max(this.maxY,i)}updateRectMinMax(t,e){const i=q.applyTransform(e,t),s=q.applyTransform(e.slice(2),t),r=q.applyTransform([e[0],e[3]],t),o=q.applyTransform([e[2],e[1]],t);this.minX=Math.min(this.minX,i[0],s[0],r[0],o[0]),this.minY=Math.min(this.minY,i[1],s[1],r[1],o[1]),this.maxX=Math.max(this.maxX,i[0],s[0],r[0],o[0]),this.maxY=Math.max(this.maxY,i[1],s[1],r[1],o[1])}updateScalingPathMinMax(t,e){q.scaleMinMax(t,e),this.minX=Math.min(this.minX,e[0]),this.minY=Math.min(this.minY,e[1]),this.maxX=Math.max(this.maxX,e[2]),this.maxY=Math.max(this.maxY,e[3])}updateCurvePathMinMax(t,e,i,s,r,o,a,c,u,h){const d=q.bezierBoundingBox(e,i,s,r,o,a,c,u,h);h||this.updateRectMinMax(t,d)}getPathBoundingBox(t=Pe.FILL,e=null){const i=[this.minX,this.minY,this.maxX,this.maxY];if(t===Pe.STROKE){e||pt("Stroke bounding box must include transform.");const s=q.singularValueDecompose2dScale(e),r=s[0]*this.lineWidth/2,o=s[1]*this.lineWidth/2;i[0]-=r,i[1]-=o,i[2]+=r,i[3]+=o}return i}updateClipFromPath(){const t=q.intersect(this.clipBox,this.getPathBoundingBox());this.startNewPathAndClipBox(t||[0,0,0,0])}isEmptyClip(){return this.minX===1/0}startNewPathAndClipBox(t){this.clipBox=t,this.minX=1/0,this.minY=1/0,this.maxX=0,this.maxY=0}getClippedPathBoundingBox(t=Pe.FILL,e=null){return q.intersect(this.clipBox,this.getPathBoundingBox(t,e))}}function $0(n,t){if(typeof ImageData<"u"&&t instanceof ImageData){n.putImageData(t,0,0);return}const e=t.height,i=t.width,s=e%ze,r=(e-s)/ze,o=s===0?r:r+1,a=n.createImageData(i,ze);let c=0,u;const h=t.data,d=a.data;let f,p,g,w;if(t.kind===ud.GRAYSCALE_1BPP){const E=h.byteLength,m=new Uint32Array(d.buffer,0,d.byteLength>>2),v=m.length,y=i+7>>3,x=4294967295,C=He.isLittleEndian?4278190080:255;for(f=0;fy?i:T*8-7,M=P&-8;let L=0,D=0;for(;k>=1}for(;u=r&&(g=s,w=i*g),u=0,p=w;p--;)d[u++]=h[c++],d[u++]=h[c++],d[u++]=h[c++],d[u++]=255;n.putImageData(a,0,f*ze)}else throw new Error(`bad image kind: ${t.kind}`)}function tw(n,t){if(t.bitmap){n.drawImage(t.bitmap,0,0);return}const e=t.height,i=t.width,s=e%ze,r=(e-s)/ze,o=s===0?r:r+1,a=n.createImageData(i,ze);let c=0;const u=t.data,h=a.data;for(let d=0;dQ0&&typeof i=="function",h=u?Date.now()+Hk:0;let d=0;const f=this.commonObjs,p=this.objs;let g;for(;;){if(s!==void 0&&a===s.nextBreakPoint)return s.breakIt(a,i),a;if(g=o[a],g!==Dn.dependency)this[g].apply(this,r[a]);else for(const w of r[a]){const E=w.startsWith("g_")?f:p;if(!E.has(w))return E.get(w,i),a}if(a++,a===c)return a;if(u&&++d>Q0){if(Date.now()>h)return i(),a;d=0}}}endDrawing(){A(this,pr,wm).call(this),this.cachedCanvases.clear(),this.cachedPatterns.clear();for(const t of this._cachedBitmapsMap.values()){for(const e of t.values())typeof HTMLCanvasElement<"u"&&e instanceof HTMLCanvasElement&&(e.width=e.height=0);t.clear()}this._cachedBitmapsMap.clear(),A(this,pr,Sm).call(this)}_scaleImage(t,e){const i=t.width,s=t.height;let r=Math.max(Math.hypot(e[0],e[1]),1),o=Math.max(Math.hypot(e[2],e[3]),1),a=i,c=s,u="prescale1",h,d;for(;r>2&&a>1||o>2&&c>1;){let f=a,p=c;r>2&&a>1&&(f=a>=16384?Math.floor(a/2)-1||1:Math.ceil(a/2),r/=a/f),o>2&&c>1&&(p=c>=16384?Math.floor(c/2)-1||1:Math.ceil(c)/2,o/=c/p),h=this.cachedCanvases.getCanvas(u,f,p),d=h.context,d.clearRect(0,0,f,p),d.drawImage(t,0,0,a,c,0,0,f,p),t=h.canvas,a=f,c=p,u=u==="prescale1"?"prescale2":"prescale1"}return{img:t,paintWidth:a,paintHeight:c}}_createMaskCanvas(t){const e=this.ctx,{width:i,height:s}=t,r=this.current.fillColor,o=this.current.patternFill,a=Tt(e);let c,u,h,d;if((t.bitmap||t.data)&&t.count>1){const P=t.bitmap||t.data.buffer;u=JSON.stringify(o?a:[a.slice(0,4),r]),c=this._cachedBitmapsMap.get(P),c||(c=new Map,this._cachedBitmapsMap.set(P,c));const M=c.get(u);if(M&&!o){const L=Math.round(Math.min(a[0],a[2])+a[4]),D=Math.round(Math.min(a[1],a[3])+a[5]);return{canvas:M,offsetX:L,offsetY:D}}h=M}h||(d=this.cachedCanvases.getCanvas("maskCanvas",i,s),tw(d.context,t));let f=q.transform(a,[1/i,0,0,-1/s,0,0]);f=q.transform(f,[1,0,0,1,0,-s]);const[p,g,w,E]=q.getAxialAlignedBoundingBox([0,0,i,s],f),m=Math.round(w-p)||1,v=Math.round(E-g)||1,y=this.cachedCanvases.getCanvas("fillCanvas",m,v),x=y.context,C=p,T=g;x.translate(-C,-T),x.transform(...f),h||(h=this._scaleImage(d.canvas,Ri(x)),h=h.img,c&&o&&c.set(u,h)),x.imageSmoothingEnabled=ew(Tt(x),t.interpolate),Kh(x,h,0,0,h.width,h.height,0,0,i,s),x.globalCompositeOperation="source-in";const k=q.transform(Ri(x),[1,0,0,1,-C,-T]);return x.fillStyle=o?r.getPattern(e,this,k,Pe.FILL):r,x.fillRect(0,0,i,s),c&&!o&&(this.cachedCanvases.delete("fillCanvas"),c.set(u,y.canvas)),{canvas:y.canvas,offsetX:Math.round(C),offsetY:Math.round(T)}}setLineWidth(t){t!==this.current.lineWidth&&(this._cachedScaleForStroking[0]=-1),this.current.lineWidth=t,this.ctx.lineWidth=t}setLineCap(t){this.ctx.lineCap=Bk[t]}setLineJoin(t){this.ctx.lineJoin=Kk[t]}setMiterLimit(t){this.ctx.miterLimit=t}setDash(t,e){const i=this.ctx;i.setLineDash!==void 0&&(i.setLineDash(t),i.lineDashOffset=e)}setRenderingIntent(t){}setFlatness(t){}setGState(t){for(const[e,i]of t)switch(e){case"LW":this.setLineWidth(i);break;case"LC":this.setLineCap(i);break;case"LJ":this.setLineJoin(i);break;case"ML":this.setMiterLimit(i);break;case"D":this.setDash(i[0],i[1]);break;case"RI":this.setRenderingIntent(i);break;case"FL":this.setFlatness(i);break;case"Font":this.setFont(i[0],i[1]);break;case"CA":this.current.strokeAlpha=i;break;case"ca":this.current.fillAlpha=i,this.ctx.globalAlpha=i;break;case"BM":this.ctx.globalCompositeOperation=i;break;case"SMask":this.current.activeSMask=i?this.tempSMask:null,this.tempSMask=null,this.checkSMaskState();break;case"TR":this.ctx.filter=this.current.transferMaps=this.filterFactory.addFilter(i);break}}get inSMaskMode(){return!!this.suspendedCtx}checkSMaskState(){const t=this.inSMaskMode;this.current.activeSMask&&!t?this.beginSMaskMode():!this.current.activeSMask&&t&&this.endSMaskMode()}beginSMaskMode(){if(this.inSMaskMode)throw new Error("beginSMaskMode called while already in smask mode");const t=this.ctx.canvas.width,e=this.ctx.canvas.height,i="smaskGroupAt"+this.groupLevel,s=this.cachedCanvases.getCanvas(i,t,e);this.suspendedCtx=this.ctx,this.ctx=s.context;const r=this.ctx;r.setTransform(...Tt(this.suspendedCtx)),Ol(this.suspendedCtx,r),Uk(r,this.suspendedCtx),this.setGState([["BM","source-over"],["ca",1],["CA",1]])}endSMaskMode(){if(!this.inSMaskMode)throw new Error("endSMaskMode called while not in smask mode");this.ctx._removeMirroring(),Ol(this.ctx,this.suspendedCtx),this.ctx=this.suspendedCtx,this.suspendedCtx=null}compose(t){if(!this.current.activeSMask)return;t?(t[0]=Math.floor(t[0]),t[1]=Math.floor(t[1]),t[2]=Math.ceil(t[2]),t[3]=Math.ceil(t[3])):t=[0,0,this.ctx.canvas.width,this.ctx.canvas.height];const e=this.current.activeSMask,i=this.suspendedCtx;this.composeSMask(i,e,this.ctx,t),this.ctx.save(),this.ctx.setTransform(1,0,0,1,0,0),this.ctx.clearRect(0,0,this.ctx.canvas.width,this.ctx.canvas.height),this.ctx.restore()}composeSMask(t,e,i,s){const r=s[0],o=s[1],a=s[2]-r,c=s[3]-o;a===0||c===0||(this.genericComposeSMask(e.context,i,a,c,e.subtype,e.backdrop,e.transferMap,r,o,e.offsetX,e.offsetY),t.save(),t.globalAlpha=1,t.globalCompositeOperation="source-over",t.setTransform(1,0,0,1,0,0),t.drawImage(i.canvas,0,0),t.restore())}genericComposeSMask(t,e,i,s,r,o,a,c,u,h,d){let f=t.canvas,p=c-h,g=u-d;if(o){if(p<0||g<0||p+i>f.width||g+s>f.height){const E=this.cachedCanvases.getCanvas("maskExtension",i,s),m=E.context;m.drawImage(f,-p,-g),o.some(v=>v!==0)&&(m.globalCompositeOperation="destination-atop",m.fillStyle=q.makeHexColor(...o),m.fillRect(0,0,i,s),m.globalCompositeOperation="source-over"),f=E.canvas,p=g=0}else if(o.some(E=>E!==0)){t.save(),t.globalAlpha=1,t.setTransform(1,0,0,1,0,0);const E=new Path2D;E.rect(p,g,i,s),t.clip(E),t.globalCompositeOperation="destination-atop",t.fillStyle=q.makeHexColor(...o),t.fillRect(p,g,i,s),t.restore()}}e.save(),e.globalAlpha=1,e.setTransform(1,0,0,1,0,0),r==="Alpha"&&a?e.filter=this.filterFactory.addAlphaFilter(a):r==="Luminosity"&&(e.filter=this.filterFactory.addLuminosityFilter(a));const w=new Path2D;w.rect(c,u,i,s),e.clip(w),e.globalCompositeOperation="destination-in",e.drawImage(f,p,g,i,s,c,u,i,s),e.restore()}save(){this.inSMaskMode?(Ol(this.ctx,this.suspendedCtx),this.suspendedCtx.save()):this.ctx.save();const t=this.current;this.stateStack.push(t),this.current=t.clone()}restore(){this.stateStack.length===0&&this.inSMaskMode&&this.endSMaskMode(),this.stateStack.length!==0&&(this.current=this.stateStack.pop(),this.inSMaskMode?(this.suspendedCtx.restore(),Ol(this.suspendedCtx,this.ctx)):this.ctx.restore(),this.checkSMaskState(),this.pendingClip=null,this._cachedScaleForStroking[0]=-1,this._cachedGetSinglePixelWidth=null)}transform(t,e,i,s,r,o){this.ctx.transform(t,e,i,s,r,o),this._cachedScaleForStroking[0]=-1,this._cachedGetSinglePixelWidth=null}constructPath(t,e,i){const s=this.ctx,r=this.current;let o=r.x,a=r.y,c,u;const h=Tt(s),d=h[0]===0&&h[3]===0||h[1]===0&&h[2]===0,f=d?i.slice(0):null;for(let p=0,g=0,w=t.length;pY0&&(u=Y0),this.current.fontSizeScale=e/u,this.ctx.font=`${c} ${a} ${u}px ${o}`}setTextRenderingMode(t){this.current.textRenderingMode=t}setTextRise(t){this.current.textRise=t}moveText(t,e){this.current.x=this.current.lineX+=t,this.current.y=this.current.lineY+=e}setLeadingMoveText(t,e){this.setLeading(-e),this.moveText(t,e)}setTextMatrix(t,e,i,s,r,o){this.current.textMatrix=[t,e,i,s,r,o],this.current.textMatrixScale=Math.hypot(t,e),this.current.x=this.current.lineX=0,this.current.y=this.current.lineY=0}nextLine(){this.moveText(0,this.current.leading)}paintChar(t,e,i,s){const r=this.ctx,o=this.current,a=o.font,c=o.textRenderingMode,u=o.fontSize/o.fontSizeScale,h=c&ge.FILL_STROKE_MASK,d=!!(c&ge.ADD_TO_PATH_FLAG),f=o.patternFill&&!a.missingFile;let p;(a.disableFontFace||d||f)&&(p=a.getPathGenerator(this.commonObjs,t)),a.disableFontFace||f?(r.save(),r.translate(e,i),r.beginPath(),p(r,u),s&&r.setTransform(...s),(h===ge.FILL||h===ge.FILL_STROKE)&&r.fill(),(h===ge.STROKE||h===ge.FILL_STROKE)&&r.stroke(),r.restore()):((h===ge.FILL||h===ge.FILL_STROKE)&&r.fillText(t,e,i),(h===ge.STROKE||h===ge.FILL_STROKE)&&r.strokeText(t,e,i)),d&&(this.pendingTextPaths||(this.pendingTextPaths=[])).push({transform:Tt(r),x:e,y:i,fontSize:u,addToPath:p})}get isFontSubpixelAAEnabled(){const{context:t}=this.cachedCanvases.getCanvas("isFontSubpixelAAEnabled",10,10);t.scale(1.5,1),t.fillText("I",0,10);const e=t.getImageData(0,0,10,10).data;let i=!1;for(let s=3;s0&&e[s]<255){i=!0;break}return ot(this,"isFontSubpixelAAEnabled",i)}showText(t){const e=this.current,i=e.font;if(i.isType3Font)return this.showType3Text(t);const s=e.fontSize;if(s===0)return;const r=this.ctx,o=e.fontSizeScale,a=e.charSpacing,c=e.wordSpacing,u=e.fontDirection,h=e.textHScale*u,d=t.length,f=i.vertical,p=f?1:-1,g=i.defaultVMetrics,w=s*e.fontMatrix[0],E=e.textRenderingMode===ge.FILL&&!i.disableFontFace&&!e.patternFill;r.save(),r.transform(...e.textMatrix),r.translate(e.x,e.y+e.textRise),u>0?r.scale(h,-1):r.scale(h,1);let m;if(e.patternFill){r.save();const T=e.fillColor.getPattern(r,this,Ri(r),Pe.FILL);m=Tt(r),r.restore(),r.fillStyle=T}let v=e.lineWidth;const y=e.textMatrixScale;if(y===0||v===0){const T=e.textRenderingMode&ge.FILL_STROKE_MASK;(T===ge.STROKE||T===ge.FILL_STROKE)&&(v=this.getSinglePixelWidth())}else v/=y;if(o!==1&&(r.scale(o,o),v/=o),r.lineWidth=v,i.isInvalidPDFjsFont){const T=[];let k=0;for(const P of t)T.push(P.unicode),k+=P.width;r.fillText(T.join(""),0,0),e.x+=k*w*h,r.restore(),this.compose();return}let x=0,C;for(C=0;C0){const nt=r.measureText(M).width*1e3/s*o;if(Xnew vy(o,this.commonObjs,this.objs,this.canvasFactory,this.filterFactory,{optionalContentConfig:this.optionalContentConfig,markedContentStack:this.markedContentStack})};e=new ym(t,i,this.ctx,r,s)}else e=this._getPattern(t[1],t[2]);return e}setStrokeColorN(){this.current.strokeColor=this.getColorN_Pattern(arguments)}setFillColorN(){this.current.fillColor=this.getColorN_Pattern(arguments),this.current.patternFill=!0}setStrokeRGBColor(t,e,i){const s=q.makeHexColor(t,e,i);this.ctx.strokeStyle=s,this.current.strokeColor=s}setFillRGBColor(t,e,i){const s=q.makeHexColor(t,e,i);this.ctx.fillStyle=s,this.current.fillColor=s,this.current.patternFill=!1}_getPattern(t,e=null){let i;return this.cachedPatterns.has(t)?i=this.cachedPatterns.get(t):(i=Vk(this.getObject(t)),this.cachedPatterns.set(t,i)),e&&(i.matrix=e),i}shadingFill(t){if(!this.contentVisible)return;const e=this.ctx;this.save();const i=this._getPattern(t);e.fillStyle=i.getPattern(e,this,Ri(e),Pe.SHADING);const s=Ri(e);if(s){const{width:r,height:o}=e.canvas,[a,c,u,h]=q.getAxialAlignedBoundingBox([0,0,r,o],s);this.ctx.fillRect(a,c,u-a,h-c)}else this.ctx.fillRect(-1e10,-1e10,2e10,2e10);this.compose(this.current.getClippedPathBoundingBox()),this.restore()}beginInlineImage(){pt("Should not call beginInlineImage")}beginImageData(){pt("Should not call beginImageData")}paintFormXObjectBegin(t,e){if(this.contentVisible&&(this.save(),this.baseTransformStack.push(this.baseTransform),t&&this.transform(...t),this.baseTransform=Tt(this.ctx),e)){const i=e[2]-e[0],s=e[3]-e[1];this.ctx.rect(e[0],e[1],i,s),this.current.updateRectMinMax(Tt(this.ctx),e),this.clip(),this.endPath()}}paintFormXObjectEnd(){this.contentVisible&&(this.restore(),this.baseTransform=this.baseTransformStack.pop())}beginGroup(t){if(!this.contentVisible)return;this.save(),this.inSMaskMode&&(this.endSMaskMode(),this.current.activeSMask=null);const e=this.ctx;t.isolated||ep("TODO: Support non-isolated groups."),t.knockout&&Q("Knockout groups not supported.");const i=Tt(e);if(t.matrix&&e.transform(...t.matrix),!t.bbox)throw new Error("Bounding box is required.");let s=q.getAxialAlignedBoundingBox(t.bbox,Tt(e));const r=[0,0,e.canvas.width,e.canvas.height];s=q.intersect(s,r)||[0,0,0,0];const o=Math.floor(s[0]),a=Math.floor(s[1]),c=Math.max(Math.ceil(s[2])-o,1),u=Math.max(Math.ceil(s[3])-a,1);this.current.startNewPathAndClipBox([0,0,c,u]);let h="groupAt"+this.groupLevel;t.smask&&(h+="_smask_"+this.smaskCounter++%2);const d=this.cachedCanvases.getCanvas(h,c,u),f=d.context;f.translate(-o,-a),f.transform(...i),t.smask?this.smaskStack.push({canvas:d.canvas,context:f,offsetX:o,offsetY:a,subtype:t.smask.subtype,backdrop:t.smask.backdrop,transferMap:t.smask.transferMap||null,startTransformInverse:null}):(e.setTransform(1,0,0,1,0,0),e.translate(o,a),e.save()),Ol(e,f),this.ctx=f,this.setGState([["BM","source-over"],["ca",1],["CA",1]]),this.groupStack.push(e),this.groupLevel++}endGroup(t){if(!this.contentVisible)return;this.groupLevel--;const e=this.ctx,i=this.groupStack.pop();if(this.ctx=i,this.ctx.imageSmoothingEnabled=!1,t.smask)this.tempSMask=this.smaskStack.pop(),this.restore();else{this.ctx.restore();const s=Tt(this.ctx);this.restore(),this.ctx.save(),this.ctx.setTransform(...s);const r=q.getAxialAlignedBoundingBox([0,0,e.canvas.width,e.canvas.height],s);this.ctx.drawImage(e.canvas,0,0),this.ctx.restore(),this.compose(r)}}beginAnnotation(t,e,i,s,r){if(A(this,pr,wm).call(this),Xh(this.ctx),this.ctx.save(),this.save(),this.baseTransform&&this.ctx.setTransform(...this.baseTransform),e){const o=e[2]-e[0],a=e[3]-e[1];if(r&&this.annotationCanvasMap){i=i.slice(),i[4]-=e[0],i[5]-=e[1],e=e.slice(),e[0]=e[1]=0,e[2]=o,e[3]=a;const[c,u]=q.singularValueDecompose2dScale(Tt(this.ctx)),{viewportScale:h}=this,d=Math.ceil(o*this.outputScaleX*h),f=Math.ceil(a*this.outputScaleY*h);this.annotationCanvas=this.canvasFactory.create(d,f);const{canvas:p,context:g}=this.annotationCanvas;this.annotationCanvasMap.set(t,p),this.annotationCanvas.savedCtx=this.ctx,this.ctx=g,this.ctx.save(),this.ctx.setTransform(c,0,0,-u,0,a*u),Xh(this.ctx)}else Xh(this.ctx),this.ctx.rect(e[0],e[1],o,a),this.ctx.clip(),this.endPath()}this.current=new Z0(this.ctx.canvas.width,this.ctx.canvas.height),this.transform(...i),this.transform(...s)}endAnnotation(){this.annotationCanvas&&(this.ctx.restore(),A(this,pr,Sm).call(this),this.ctx=this.annotationCanvas.savedCtx,delete this.annotationCanvas.savedCtx,delete this.annotationCanvas)}paintImageMaskXObject(t){if(!this.contentVisible)return;const e=t.count;t=this.getObject(t.data,t),t.count=e;const i=this.ctx,s=this.processingType3;if(s&&(s.compiled===void 0&&(s.compiled=Wk(t)),s.compiled)){s.compiled(i);return}const r=this._createMaskCanvas(t),o=r.canvas;i.save(),i.setTransform(1,0,0,1,0,0),i.drawImage(o,r.offsetX,r.offsetY),i.restore(),this.compose()}paintImageMaskXObjectRepeat(t,e,i=0,s=0,r,o){if(!this.contentVisible)return;t=this.getObject(t.data,t);const a=this.ctx;a.save();const c=Tt(a);a.transform(e,i,s,r,0,0);const u=this._createMaskCanvas(t);a.setTransform(1,0,0,1,u.offsetX-c[4],u.offsetY-c[5]);for(let h=0,d=o.length;hd?h/d:1,a=u>d?u/d:1}}this._cachedScaleForStroking[0]=o,this._cachedScaleForStroking[1]=a}return this._cachedScaleForStroking}rescaleAndStroke(t){const{ctx:e}=this,{lineWidth:i}=this.current,[s,r]=this.getScaleForStroking();if(e.lineWidth=i||1,s===1&&r===1){e.stroke();return}const o=e.getLineDash();if(t&&e.save(),e.scale(s,r),o.length>0){const a=Math.max(s,r);e.setLineDash(o.map(c=>c/a)),e.lineDashOffset/=a}e.stroke(),t&&e.restore()}isContentVisible(){for(let t=this.markedContentStack.length-1;t>=0;t--)if(!this.markedContentStack[t].visible)return!1;return!0}};pr=new WeakSet,wm=function(){for(;this.stateStack.length||this.inSMaskMode;)this.restore();this.ctx.restore(),this.transparentCanvas&&(this.ctx=this.compositeCtx,this.ctx.save(),this.ctx.setTransform(1,0,0,1,0,0),this.ctx.drawImage(this.transparentCanvas,0,0),this.ctx.restore(),this.transparentCanvas=null)},Sm=function(){if(this.pageColors){const t=this.filterFactory.addHCMFilter(this.pageColors.foreground,this.pageColors.background);if(t!=="none"){const e=this.ctx.filter;this.ctx.filter=t,this.ctx.drawImage(this.ctx.canvas,0,0),this.ctx.filter=e}}};let va=vy;for(const n in Dn)va.prototype[n]!==void 0&&(va.prototype[Dn[n]]=va.prototype[n]);var hu,du;class us{static get workerPort(){return l(this,hu)}static set workerPort(t){if(!(typeof Worker<"u"&&t instanceof Worker)&&t!==null)throw new Error("Invalid `workerPort` type.");S(this,hu,t)}static get workerSrc(){return l(this,du)}static set workerSrc(t){if(typeof t!="string")throw new Error("Invalid `workerSrc` type.");S(this,du,t)}}hu=new WeakMap,du=new WeakMap,b(us,hu,null),b(us,du,"");const Gh={UNKNOWN:0,DATA:1,ERROR:2},Ot={UNKNOWN:0,CANCEL:1,CANCEL_COMPLETE:2,CLOSE:3,ENQUEUE:4,ERROR:5,PULL:6,PULL_COMPLETE:7,START_COMPLETE:8};function Ge(n){switch(n instanceof Error||typeof n=="object"&&n!==null||pt('wrapReason: Expected "reason" to be a (possibly cloned) Error.'),n.name){case"AbortException":return new Ho(n.message);case"MissingPDFException":return new qo(n.message);case"PasswordException":return new Kg(n.message,n.code);case"UnexpectedResponseException":return new np(n.message,n.status);case"UnknownErrorException":return new Xg(n.message,n.details);default:return new Xg(n.message,n.toString())}}var bi,SA,AA,md;class Ql{constructor(t,e,i){b(this,bi);this.sourceName=t,this.targetName=e,this.comObj=i,this.callbackId=1,this.streamId=1,this.streamSinks=Object.create(null),this.streamControllers=Object.create(null),this.callbackCapabilities=Object.create(null),this.actionHandler=Object.create(null),this._onComObjOnMessage=s=>{const r=s.data;if(r.targetName!==this.sourceName)return;if(r.stream){A(this,bi,AA).call(this,r);return}if(r.callback){const a=r.callbackId,c=this.callbackCapabilities[a];if(!c)throw new Error(`Cannot resolve callback ${a}`);if(delete this.callbackCapabilities[a],r.callback===Gh.DATA)c.resolve(r.data);else if(r.callback===Gh.ERROR)c.reject(Ge(r.reason));else throw new Error("Unexpected callback case");return}const o=this.actionHandler[r.action];if(!o)throw new Error(`Unknown action from worker: ${r.action}`);if(r.callbackId){const a=this.sourceName,c=r.sourceName;new Promise(function(u){u(o(r.data))}).then(function(u){i.postMessage({sourceName:a,targetName:c,callback:Gh.DATA,callbackId:r.callbackId,data:u})},function(u){i.postMessage({sourceName:a,targetName:c,callback:Gh.ERROR,callbackId:r.callbackId,reason:Ge(u)})});return}if(r.streamId){A(this,bi,SA).call(this,r);return}o(r.data)},i.addEventListener("message",this._onComObjOnMessage)}on(t,e){const i=this.actionHandler;if(i[t])throw new Error(`There is already an actionName called "${t}"`);i[t]=e}send(t,e,i){this.comObj.postMessage({sourceName:this.sourceName,targetName:this.targetName,action:t,data:e},i)}sendWithPromise(t,e,i){const s=this.callbackId++,r=Promise.withResolvers();this.callbackCapabilities[s]=r;try{this.comObj.postMessage({sourceName:this.sourceName,targetName:this.targetName,action:t,callbackId:s,data:e},i)}catch(o){r.reject(o)}return r.promise}sendWithStream(t,e,i,s){const r=this.streamId++,o=this.sourceName,a=this.targetName,c=this.comObj;return new ReadableStream({start:u=>{const h=Promise.withResolvers();return this.streamControllers[r]={controller:u,startCall:h,pullCall:null,cancelCall:null,isClosed:!1},c.postMessage({sourceName:o,targetName:a,action:t,streamId:r,data:e,desiredSize:u.desiredSize},s),h.promise},pull:u=>{const h=Promise.withResolvers();return this.streamControllers[r].pullCall=h,c.postMessage({sourceName:o,targetName:a,stream:Ot.PULL,streamId:r,desiredSize:u.desiredSize}),h.promise},cancel:u=>{Gt(u instanceof Error,"cancel must have a valid reason");const h=Promise.withResolvers();return this.streamControllers[r].cancelCall=h,this.streamControllers[r].isClosed=!0,c.postMessage({sourceName:o,targetName:a,stream:Ot.CANCEL,streamId:r,reason:Ge(u)}),h.promise}},i)}destroy(){this.comObj.removeEventListener("message",this._onComObjOnMessage)}}bi=new WeakSet,SA=function(t){const e=t.streamId,i=this.sourceName,s=t.sourceName,r=this.comObj,o=this,a=this.actionHandler[t.action],c={enqueue(u,h=1,d){if(this.isCancelled)return;const f=this.desiredSize;this.desiredSize-=h,f>0&&this.desiredSize<=0&&(this.sinkCapability=Promise.withResolvers(),this.ready=this.sinkCapability.promise),r.postMessage({sourceName:i,targetName:s,stream:Ot.ENQUEUE,streamId:e,chunk:u},d)},close(){this.isCancelled||(this.isCancelled=!0,r.postMessage({sourceName:i,targetName:s,stream:Ot.CLOSE,streamId:e}),delete o.streamSinks[e])},error(u){Gt(u instanceof Error,"error must have a valid reason"),!this.isCancelled&&(this.isCancelled=!0,r.postMessage({sourceName:i,targetName:s,stream:Ot.ERROR,streamId:e,reason:Ge(u)}))},sinkCapability:Promise.withResolvers(),onPull:null,onCancel:null,isCancelled:!1,desiredSize:t.desiredSize,ready:null};c.sinkCapability.resolve(),c.ready=c.sinkCapability.promise,this.streamSinks[e]=c,new Promise(function(u){u(a(t.data,c))}).then(function(){r.postMessage({sourceName:i,targetName:s,stream:Ot.START_COMPLETE,streamId:e,success:!0})},function(u){r.postMessage({sourceName:i,targetName:s,stream:Ot.START_COMPLETE,streamId:e,reason:Ge(u)})})},AA=function(t){const e=t.streamId,i=this.sourceName,s=t.sourceName,r=this.comObj,o=this.streamControllers[e],a=this.streamSinks[e];switch(t.stream){case Ot.START_COMPLETE:t.success?o.startCall.resolve():o.startCall.reject(Ge(t.reason));break;case Ot.PULL_COMPLETE:t.success?o.pullCall.resolve():o.pullCall.reject(Ge(t.reason));break;case Ot.PULL:if(!a){r.postMessage({sourceName:i,targetName:s,stream:Ot.PULL_COMPLETE,streamId:e,success:!0});break}a.desiredSize<=0&&t.desiredSize>0&&a.sinkCapability.resolve(),a.desiredSize=t.desiredSize,new Promise(function(c){var u;c((u=a.onPull)==null?void 0:u.call(a))}).then(function(){r.postMessage({sourceName:i,targetName:s,stream:Ot.PULL_COMPLETE,streamId:e,success:!0})},function(c){r.postMessage({sourceName:i,targetName:s,stream:Ot.PULL_COMPLETE,streamId:e,reason:Ge(c)})});break;case Ot.ENQUEUE:if(Gt(o,"enqueue should have stream controller"),o.isClosed)break;o.controller.enqueue(t.chunk);break;case Ot.CLOSE:if(Gt(o,"close should have stream controller"),o.isClosed)break;o.isClosed=!0,o.controller.close(),A(this,bi,md).call(this,o,e);break;case Ot.ERROR:Gt(o,"error should have stream controller"),o.controller.error(Ge(t.reason)),A(this,bi,md).call(this,o,e);break;case Ot.CANCEL_COMPLETE:t.success?o.cancelCall.resolve():o.cancelCall.reject(Ge(t.reason)),A(this,bi,md).call(this,o,e);break;case Ot.CANCEL:if(!a)break;new Promise(function(c){var u;c((u=a.onCancel)==null?void 0:u.call(a,Ge(t.reason)))}).then(function(){r.postMessage({sourceName:i,targetName:s,stream:Ot.CANCEL_COMPLETE,streamId:e,success:!0})},function(c){r.postMessage({sourceName:i,targetName:s,stream:Ot.CANCEL_COMPLETE,streamId:e,reason:Ge(c)})}),a.sinkCapability.reject(Ge(t.reason)),a.isCancelled=!0,delete this.streamSinks[e];break;default:throw new Error("Unexpected stream case")}},md=async function(t,e){var i,s,r;await Promise.allSettled([(i=t.startCall)==null?void 0:i.promise,(s=t.pullCall)==null?void 0:s.promise,(r=t.cancelCall)==null?void 0:r.promise]),delete this.streamControllers[e]};var Kr,fu;class Gk{constructor({parsedData:t,rawData:e}){b(this,Kr);b(this,fu);S(this,Kr,t),S(this,fu,e)}getRaw(){return l(this,fu)}get(t){return l(this,Kr).get(t)??null}getAll(){return ry(l(this,Kr))}has(t){return l(this,Kr).has(t)}}Kr=new WeakMap,fu=new WeakMap;const Cs=Symbol("INTERNAL");var pu,gu,mu,Ma;class Yk{constructor(t,{name:e,intent:i,usage:s}){b(this,pu,!1);b(this,gu,!1);b(this,mu,!1);b(this,Ma,!0);S(this,pu,!!(t&Sn.DISPLAY)),S(this,gu,!!(t&Sn.PRINT)),this.name=e,this.intent=i,this.usage=s}get visible(){if(l(this,mu))return l(this,Ma);if(!l(this,Ma))return!1;const{print:t,view:e}=this.usage;return l(this,pu)?(e==null?void 0:e.viewState)!=="OFF":l(this,gu)?(t==null?void 0:t.printState)!=="OFF":!0}_setVisible(t,e,i=!1){t!==Cs&&pt("Internal method `_setVisible` called."),S(this,mu,i),S(this,Ma,e)}}pu=new WeakMap,gu=new WeakMap,mu=new WeakMap,Ma=new WeakMap;var Os,ft,Na,Da,vu,Am;class Qk{constructor(t,e=Sn.DISPLAY){b(this,vu);b(this,Os,null);b(this,ft,new Map);b(this,Na,null);b(this,Da,null);if(this.renderingIntent=e,this.name=null,this.creator=null,t!==null){this.name=t.name,this.creator=t.creator,S(this,Da,t.order);for(const i of t.groups)l(this,ft).set(i.id,new Yk(e,i));if(t.baseState==="OFF")for(const i of l(this,ft).values())i._setVisible(Cs,!1);for(const i of t.on)l(this,ft).get(i)._setVisible(Cs,!0);for(const i of t.off)l(this,ft).get(i)._setVisible(Cs,!1);S(this,Na,this.getHash())}}isVisible(t){if(l(this,ft).size===0)return!0;if(!t)return ep("Optional content group not defined."),!0;if(t.type==="OCG")return l(this,ft).has(t.id)?l(this,ft).get(t.id).visible:(Q(`Optional content group not found: ${t.id}`),!0);if(t.type==="OCMD"){if(t.expression)return A(this,vu,Am).call(this,t.expression);if(!t.policy||t.policy==="AnyOn"){for(const e of t.ids){if(!l(this,ft).has(e))return Q(`Optional content group not found: ${e}`),!0;if(l(this,ft).get(e).visible)return!0}return!1}else if(t.policy==="AllOn"){for(const e of t.ids){if(!l(this,ft).has(e))return Q(`Optional content group not found: ${e}`),!0;if(!l(this,ft).get(e).visible)return!1}return!0}else if(t.policy==="AnyOff"){for(const e of t.ids){if(!l(this,ft).has(e))return Q(`Optional content group not found: ${e}`),!0;if(!l(this,ft).get(e).visible)return!0}return!1}else if(t.policy==="AllOff"){for(const e of t.ids){if(!l(this,ft).has(e))return Q(`Optional content group not found: ${e}`),!0;if(l(this,ft).get(e).visible)return!1}return!0}return Q(`Unknown optional content policy ${t.policy}.`),!0}return Q(`Unknown group type ${t.type}.`),!0}setVisibility(t,e=!0){const i=l(this,ft).get(t);if(!i){Q(`Optional content group not found: ${t}`);return}i._setVisible(Cs,!!e,!0),S(this,Os,null)}setOCGState({state:t,preserveRB:e}){let i;for(const s of t){switch(s){case"ON":case"OFF":case"Toggle":i=s;continue}const r=l(this,ft).get(s);if(r)switch(i){case"ON":r._setVisible(Cs,!0);break;case"OFF":r._setVisible(Cs,!1);break;case"Toggle":r._setVisible(Cs,!r.visible);break}}S(this,Os,null)}get hasInitialVisibility(){return l(this,Na)===null||this.getHash()===l(this,Na)}getOrder(){return l(this,ft).size?l(this,Da)?l(this,Da).slice():[...l(this,ft).keys()]:null}getGroups(){return l(this,ft).size>0?ry(l(this,ft)):null}getGroup(t){return l(this,ft).get(t)||null}getHash(){if(l(this,Os)!==null)return l(this,Os);const t=new mA;for(const[e,i]of l(this,ft))t.update(`${e}:${i.visible}`);return S(this,Os,t.hexdigest())}}Os=new WeakMap,ft=new WeakMap,Na=new WeakMap,Da=new WeakMap,vu=new WeakSet,Am=function(t){const e=t.length;if(e<2)return!0;const i=t[0];for(let s=1;s0){const c=r instanceof Uint8Array&&r.byteLength===r.buffer.byteLength?r.buffer:new Uint8Array(r).buffer;this._queuedChunks.push(c)}this._pdfDataRangeTransport=t,this._isStreamingSupported=!i,this._isRangeSupported=!e,this._contentLength=s,this._fullRequestReader=null,this._rangeReaders=[],t.addRangeListener((c,u)=>{this._onReceiveData({begin:c,chunk:u})}),t.addProgressListener((c,u)=>{this._onProgress({loaded:c,total:u})}),t.addProgressiveReadListener(c=>{this._onReceiveData({chunk:c})}),t.addProgressiveDoneListener(()=>{this._onProgressiveDone()}),t.transportReady()}_onReceiveData({begin:t,chunk:e}){const i=e instanceof Uint8Array&&e.byteLength===e.buffer.byteLength?e.buffer:new Uint8Array(e).buffer;if(t===void 0)this._fullRequestReader?this._fullRequestReader._enqueue(i):this._queuedChunks.push(i);else{const s=this._rangeReaders.some(function(r){return r._begin!==t?!1:(r._enqueue(i),!0)});Gt(s,"_onReceiveData - no `PDFDataTransportStreamRangeReader` instance found.")}}get _progressiveDataLength(){var t;return((t=this._fullRequestReader)==null?void 0:t._loaded)??0}_onProgress(t){var e,i,s,r;t.total===void 0?(i=(e=this._rangeReaders[0])==null?void 0:e.onProgress)==null||i.call(e,{loaded:t.loaded}):(r=(s=this._fullRequestReader)==null?void 0:s.onProgress)==null||r.call(s,{loaded:t.loaded,total:t.total})}_onProgressiveDone(){var t;(t=this._fullRequestReader)==null||t.progressiveDone(),this._progressiveDone=!0}_removeRangeReader(t){const e=this._rangeReaders.indexOf(t);e>=0&&this._rangeReaders.splice(e,1)}getFullReader(){Gt(!this._fullRequestReader,"PDFDataTransportStream.getFullReader can only be called once.");const t=this._queuedChunks;return this._queuedChunks=null,new Zk(this,t,this._progressiveDone,this._contentDispositionFilename)}getRangeReader(t,e){if(e<=this._progressiveDataLength)return null;const i=new $k(this,t,e);return this._pdfDataRangeTransport.requestDataRange(t,e),this._rangeReaders.push(i),i}cancelAllRequests(t){var e;(e=this._fullRequestReader)==null||e.cancel(t);for(const i of this._rangeReaders.slice(0))i.cancel(t);this._pdfDataRangeTransport.abort()}}class Zk{constructor(t,e,i=!1,s=null){this._stream=t,this._done=i||!1,this._filename=uy(s)?s:null,this._queuedChunks=e||[],this._loaded=0;for(const r of this._queuedChunks)this._loaded+=r.byteLength;this._requests=[],this._headersReady=Promise.resolve(),t._fullRequestReader=this,this.onProgress=null}_enqueue(t){this._done||(this._requests.length>0?this._requests.shift().resolve({value:t,done:!1}):this._queuedChunks.push(t),this._loaded+=t.byteLength)}get headersReady(){return this._headersReady}get filename(){return this._filename}get isRangeSupported(){return this._stream._isRangeSupported}get isStreamingSupported(){return this._stream._isStreamingSupported}get contentLength(){return this._stream._contentLength}async read(){if(this._queuedChunks.length>0)return{value:this._queuedChunks.shift(),done:!1};if(this._done)return{value:void 0,done:!0};const t=Promise.withResolvers();return this._requests.push(t),t.promise}cancel(t){this._done=!0;for(const e of this._requests)e.resolve({value:void 0,done:!0});this._requests.length=0}progressiveDone(){this._done||(this._done=!0)}}class $k{constructor(t,e,i){this._stream=t,this._begin=e,this._end=i,this._queuedChunk=null,this._requests=[],this._done=!1,this.onProgress=null}_enqueue(t){if(!this._done){if(this._requests.length===0)this._queuedChunk=t;else{this._requests.shift().resolve({value:t,done:!1});for(const i of this._requests)i.resolve({value:void 0,done:!0});this._requests.length=0}this._done=!0,this._stream._removeRangeReader(this)}}get isStreamingSupported(){return!1}async read(){if(this._queuedChunk){const e=this._queuedChunk;return this._queuedChunk=null,{value:e,done:!1}}if(this._done)return{value:void 0,done:!0};const t=Promise.withResolvers();return this._requests.push(t),t.promise}cancel(t){this._done=!0;for(const e of this._requests)e.resolve({value:void 0,done:!0});this._requests.length=0,this._stream._removeRangeReader(this)}}function tP(n){let t=!0,e=i("filename\\*","i").exec(n);if(e){e=e[1];let h=a(e);return h=unescape(h),h=c(h),h=u(h),r(h)}if(e=o(n),e){const h=u(e);return r(h)}if(e=i("filename","i").exec(n),e){e=e[1];let h=a(e);return h=u(h),r(h)}function i(h,d){return new RegExp("(?:^|;)\\s*"+h+'\\s*=\\s*([^";\\s][^;\\s]*|"(?:[^"\\\\]|\\\\"?)+"?)',d)}function s(h,d){if(h){if(!/^[\x00-\xFF]+$/.test(d))return d;try{const f=new TextDecoder(h,{fatal:!0}),p=ip(d);d=f.decode(p),t=!1}catch{}}return d}function r(h){return t&&/[\x80-\xff]/.test(h)&&(h=s("utf-8",h),t&&(h=s("iso-8859-1",h))),h}function o(h){const d=[];let f;const p=i("filename\\*((?!0\\d)\\d+)(\\*?)","ig");for(;(f=p.exec(h))!==null;){let[,w,E,m]=f;if(w=parseInt(w,10),w in d){if(w===0)break;continue}d[w]=[E,m]}const g=[];for(let w=0;w{if(!bA(s.status))throw lp(s.status,i);this._reader=s.body.getReader(),this._headersCapability.resolve();const r=c=>s.headers.get(c),{allowRangeRequests:o,suggestedLength:a}=fy({getResponseHeader:r,isHttp:this._stream.isHttp,rangeChunkSize:this._rangeChunkSize,disableRange:this._disableRange});this._isRangeSupported=o,this._contentLength=a||this._contentLength,this._filename=py(r),!this._isStreamingSupported&&this._isRangeSupported&&this.cancel(new Ho("Streaming is disabled."))}).catch(this._headersCapability.reject),this.onProgress=null}get headersReady(){return this._headersCapability.promise}get filename(){return this._filename}get contentLength(){return this._contentLength}get isRangeSupported(){return this._isRangeSupported}get isStreamingSupported(){return this._isStreamingSupported}async read(){var i;await this._headersCapability.promise;const{value:t,done:e}=await this._reader.read();return e?{value:t,done:e}:(this._loaded+=t.byteLength,(i=this.onProgress)==null||i.call(this,{loaded:this._loaded,total:this._contentLength}),{value:CA(t),done:!1})}cancel(t){var e;(e=this._reader)==null||e.cancel(t),this._abortController.abort()}}class nP{constructor(t,e,i){this._stream=t,this._reader=null,this._loaded=0;const s=t.source;this._withCredentials=s.withCredentials||!1,this._readCapability=Promise.withResolvers(),this._isStreamingSupported=!s.disableStream,this._abortController=new AbortController,this._headers=xA(this._stream.httpHeaders),this._headers.append("Range",`bytes=${e}-${i-1}`);const r=s.url;fetch(r,EA(this._headers,this._withCredentials,this._abortController)).then(o=>{if(!bA(o.status))throw lp(o.status,r);this._readCapability.resolve(),this._reader=o.body.getReader()}).catch(this._readCapability.reject),this.onProgress=null}get isStreamingSupported(){return this._isStreamingSupported}async read(){var i;await this._readCapability.promise;const{value:t,done:e}=await this._reader.read();return e?{value:t,done:e}:(this._loaded+=t.byteLength,(i=this.onProgress)==null||i.call(this,{loaded:this._loaded}),{value:CA(t),done:!1})}cancel(t){var e;(e=this._reader)==null||e.cancel(t),this._abortController.abort()}}const Xp=200,Gp=206;function iP(n){const t=n.response;return typeof t!="string"?t:ip(t).buffer}class sP{constructor(t,e={}){this.url=t,this.isHttp=/^https?:/i.test(t),this.httpHeaders=this.isHttp&&e.httpHeaders||Object.create(null),this.withCredentials=e.withCredentials||!1,this.currXhrId=0,this.pendingRequests=Object.create(null)}requestRange(t,e,i){const s={begin:t,end:e};for(const r in i)s[r]=i[r];return this.request(s)}requestFull(t){return this.request(t)}request(t){const e=new XMLHttpRequest,i=this.currXhrId++,s=this.pendingRequests[i]={xhr:e};e.open("GET",this.url),e.withCredentials=this.withCredentials;for(const r in this.httpHeaders){const o=this.httpHeaders[r];o!==void 0&&e.setRequestHeader(r,o)}return this.isHttp&&"begin"in t&&"end"in t?(e.setRequestHeader("Range",`bytes=${t.begin}-${t.end-1}`),s.expectedStatus=Gp):s.expectedStatus=Xp,e.responseType="arraybuffer",t.onError&&(e.onerror=function(r){t.onError(e.status)}),e.onreadystatechange=this.onStateChange.bind(this,i),e.onprogress=this.onProgress.bind(this,i),s.onHeadersReceived=t.onHeadersReceived,s.onDone=t.onDone,s.onError=t.onError,s.onProgress=t.onProgress,e.send(null),i}onProgress(t,e){var s;const i=this.pendingRequests[t];i&&((s=i.onProgress)==null||s.call(i,e))}onStateChange(t,e){var c,u,h;const i=this.pendingRequests[t];if(!i)return;const s=i.xhr;if(s.readyState>=2&&i.onHeadersReceived&&(i.onHeadersReceived(),delete i.onHeadersReceived),s.readyState!==4||!(t in this.pendingRequests))return;if(delete this.pendingRequests[t],s.status===0&&this.isHttp){(c=i.onError)==null||c.call(i,s.status);return}const r=s.status||Xp;if(!(r===Xp&&i.expectedStatus===Gp)&&r!==i.expectedStatus){(u=i.onError)==null||u.call(i,s.status);return}const a=iP(s);if(r===Gp){const d=s.getResponseHeader("Content-Range"),f=/bytes (\d+)-(\d+)\/(\d+)/.exec(d);i.onDone({begin:parseInt(f[1],10),chunk:a})}else a?i.onDone({begin:0,chunk:a}):(h=i.onError)==null||h.call(i,s.status)}getRequestXhr(t){return this.pendingRequests[t].xhr}isPendingRequest(t){return t in this.pendingRequests}abortRequest(t){const e=this.pendingRequests[t].xhr;delete this.pendingRequests[t],e.abort()}}class rP{constructor(t){this._source=t,this._manager=new sP(t.url,{httpHeaders:t.httpHeaders,withCredentials:t.withCredentials}),this._rangeChunkSize=t.rangeChunkSize,this._fullRequestReader=null,this._rangeRequestReaders=[]}_onRangeRequestReaderClosed(t){const e=this._rangeRequestReaders.indexOf(t);e>=0&&this._rangeRequestReaders.splice(e,1)}getFullReader(){return Gt(!this._fullRequestReader,"PDFNetworkStream.getFullReader can only be called once."),this._fullRequestReader=new oP(this._manager,this._source),this._fullRequestReader}getRangeReader(t,e){const i=new aP(this._manager,t,e);return i.onClosed=this._onRangeRequestReaderClosed.bind(this),this._rangeRequestReaders.push(i),i}cancelAllRequests(t){var e;(e=this._fullRequestReader)==null||e.cancel(t);for(const i of this._rangeRequestReaders.slice(0))i.cancel(t)}}class oP{constructor(t,e){this._manager=t;const i={onHeadersReceived:this._onHeadersReceived.bind(this),onDone:this._onDone.bind(this),onError:this._onError.bind(this),onProgress:this._onProgress.bind(this)};this._url=e.url,this._fullRequestId=t.requestFull(i),this._headersReceivedCapability=Promise.withResolvers(),this._disableRange=e.disableRange||!1,this._contentLength=e.length,this._rangeChunkSize=e.rangeChunkSize,!this._rangeChunkSize&&!this._disableRange&&(this._disableRange=!0),this._isStreamingSupported=!1,this._isRangeSupported=!1,this._cachedChunks=[],this._requests=[],this._done=!1,this._storedError=void 0,this._filename=null,this.onProgress=null}_onHeadersReceived(){const t=this._fullRequestId,e=this._manager.getRequestXhr(t),i=o=>e.getResponseHeader(o),{allowRangeRequests:s,suggestedLength:r}=fy({getResponseHeader:i,isHttp:this._manager.isHttp,rangeChunkSize:this._rangeChunkSize,disableRange:this._disableRange});s&&(this._isRangeSupported=!0),this._contentLength=r||this._contentLength,this._filename=py(i),this._isRangeSupported&&this._manager.abortRequest(t),this._headersReceivedCapability.resolve()}_onDone(t){if(t&&(this._requests.length>0?this._requests.shift().resolve({value:t.chunk,done:!1}):this._cachedChunks.push(t.chunk)),this._done=!0,!(this._cachedChunks.length>0)){for(const e of this._requests)e.resolve({value:void 0,done:!0});this._requests.length=0}}_onError(t){this._storedError=lp(t,this._url),this._headersReceivedCapability.reject(this._storedError);for(const e of this._requests)e.reject(this._storedError);this._requests.length=0,this._cachedChunks.length=0}_onProgress(t){var e;(e=this.onProgress)==null||e.call(this,{loaded:t.loaded,total:t.lengthComputable?t.total:this._contentLength})}get filename(){return this._filename}get isRangeSupported(){return this._isRangeSupported}get isStreamingSupported(){return this._isStreamingSupported}get contentLength(){return this._contentLength}get headersReady(){return this._headersReceivedCapability.promise}async read(){if(this._storedError)throw this._storedError;if(this._cachedChunks.length>0)return{value:this._cachedChunks.shift(),done:!1};if(this._done)return{value:void 0,done:!0};const t=Promise.withResolvers();return this._requests.push(t),t.promise}cancel(t){this._done=!0,this._headersReceivedCapability.reject(t);for(const e of this._requests)e.resolve({value:void 0,done:!0});this._requests.length=0,this._manager.isPendingRequest(this._fullRequestId)&&this._manager.abortRequest(this._fullRequestId),this._fullRequestReader=null}}class aP{constructor(t,e,i){this._manager=t;const s={onDone:this._onDone.bind(this),onError:this._onError.bind(this),onProgress:this._onProgress.bind(this)};this._url=t.url,this._requestId=t.requestRange(e,i,s),this._requests=[],this._queuedChunk=null,this._done=!1,this._storedError=void 0,this.onProgress=null,this.onClosed=null}_close(){var t;(t=this.onClosed)==null||t.call(this,this)}_onDone(t){const e=t.chunk;this._requests.length>0?this._requests.shift().resolve({value:e,done:!1}):this._queuedChunk=e,this._done=!0;for(const i of this._requests)i.resolve({value:void 0,done:!0});this._requests.length=0,this._close()}_onError(t){this._storedError=lp(t,this._url);for(const e of this._requests)e.reject(this._storedError);this._requests.length=0,this._queuedChunk=null}_onProgress(t){var e;this.isStreamingSupported||(e=this.onProgress)==null||e.call(this,{loaded:t.loaded})}get isStreamingSupported(){return!1}async read(){if(this._storedError)throw this._storedError;if(this._queuedChunk!==null){const e=this._queuedChunk;return this._queuedChunk=null,{value:e,done:!1}}if(this._done)return{value:void 0,done:!0};const t=Promise.withResolvers();return this._requests.push(t),t.promise}cancel(t){this._done=!0;for(const e of this._requests)e.resolve({value:void 0,done:!0});this._requests.length=0,this._manager.isPendingRequest(this._requestId)&&this._manager.abortRequest(this._requestId),this._close()}}const TA=/^file:\/\/\/[a-zA-Z]:\//;function lP(n){const t=xi.get("url"),e=t.parse(n);return e.protocol==="file:"||e.host?e:/^[a-z]:[/\\]/i.test(n)?t.parse(`file:///${n}`):(e.host||(e.protocol="file:"),e)}class cP{constructor(t){this.source=t,this.url=lP(t.url),this.isHttp=this.url.protocol==="http:"||this.url.protocol==="https:",this.isFsUrl=this.url.protocol==="file:",this.httpHeaders=this.isHttp&&t.httpHeaders||{},this._fullRequestReader=null,this._rangeRequestReaders=[]}get _progressiveDataLength(){var t;return((t=this._fullRequestReader)==null?void 0:t._loaded)??0}getFullReader(){return Gt(!this._fullRequestReader,"PDFNodeStream.getFullReader can only be called once."),this._fullRequestReader=this.isFsUrl?new dP(this):new uP(this),this._fullRequestReader}getRangeReader(t,e){if(e<=this._progressiveDataLength)return null;const i=this.isFsUrl?new fP(this,t,e):new hP(this,t,e);return this._rangeRequestReaders.push(i),i}cancelAllRequests(t){var e;(e=this._fullRequestReader)==null||e.cancel(t);for(const i of this._rangeRequestReaders.slice(0))i.cancel(t)}}class kA{constructor(t){this._url=t.url,this._done=!1,this._storedError=null,this.onProgress=null;const e=t.source;this._contentLength=e.length,this._loaded=0,this._filename=null,this._disableRange=e.disableRange||!1,this._rangeChunkSize=e.rangeChunkSize,!this._rangeChunkSize&&!this._disableRange&&(this._disableRange=!0),this._isStreamingSupported=!e.disableStream,this._isRangeSupported=!e.disableRange,this._readableStream=null,this._readCapability=Promise.withResolvers(),this._headersCapability=Promise.withResolvers()}get headersReady(){return this._headersCapability.promise}get filename(){return this._filename}get contentLength(){return this._contentLength}get isRangeSupported(){return this._isRangeSupported}get isStreamingSupported(){return this._isStreamingSupported}async read(){var i;if(await this._readCapability.promise,this._done)return{value:void 0,done:!0};if(this._storedError)throw this._storedError;const t=this._readableStream.read();return t===null?(this._readCapability=Promise.withResolvers(),this.read()):(this._loaded+=t.length,(i=this.onProgress)==null||i.call(this,{loaded:this._loaded,total:this._contentLength}),{value:new Uint8Array(t).buffer,done:!1})}cancel(t){if(!this._readableStream){this._error(t);return}this._readableStream.destroy(t)}_error(t){this._storedError=t,this._readCapability.resolve()}_setReadableStream(t){this._readableStream=t,t.on("readable",()=>{this._readCapability.resolve()}),t.on("end",()=>{t.destroy(),this._done=!0,this._readCapability.resolve()}),t.on("error",e=>{this._error(e)}),!this._isStreamingSupported&&this._isRangeSupported&&this._error(new Ho("streaming is disabled")),this._storedError&&this._readableStream.destroy(this._storedError)}}class PA{constructor(t){this._url=t.url,this._done=!1,this._storedError=null,this.onProgress=null,this._loaded=0,this._readableStream=null,this._readCapability=Promise.withResolvers();const e=t.source;this._isStreamingSupported=!e.disableStream}get isStreamingSupported(){return this._isStreamingSupported}async read(){var i;if(await this._readCapability.promise,this._done)return{value:void 0,done:!0};if(this._storedError)throw this._storedError;const t=this._readableStream.read();return t===null?(this._readCapability=Promise.withResolvers(),this.read()):(this._loaded+=t.length,(i=this.onProgress)==null||i.call(this,{loaded:this._loaded}),{value:new Uint8Array(t).buffer,done:!1})}cancel(t){if(!this._readableStream){this._error(t);return}this._readableStream.destroy(t)}_error(t){this._storedError=t,this._readCapability.resolve()}_setReadableStream(t){this._readableStream=t,t.on("readable",()=>{this._readCapability.resolve()}),t.on("end",()=>{t.destroy(),this._done=!0,this._readCapability.resolve()}),t.on("error",e=>{this._error(e)}),this._storedError&&this._readableStream.destroy(this._storedError)}}function uf(n,t){return{protocol:n.protocol,auth:n.auth,host:n.hostname,port:n.port,path:n.path,method:"GET",headers:t}}class uP extends kA{constructor(t){super(t);const e=i=>{if(i.statusCode===404){const a=new qo(`Missing PDF "${this._url}".`);this._storedError=a,this._headersCapability.reject(a);return}this._headersCapability.resolve(),this._setReadableStream(i);const s=a=>this._readableStream.headers[a.toLowerCase()],{allowRangeRequests:r,suggestedLength:o}=fy({getResponseHeader:s,isHttp:t.isHttp,rangeChunkSize:this._rangeChunkSize,disableRange:this._disableRange});this._isRangeSupported=r,this._contentLength=o||this._contentLength,this._filename=py(s)};if(this._request=null,this._url.protocol==="http:"){const i=xi.get("http");this._request=i.request(uf(this._url,t.httpHeaders),e)}else{const i=xi.get("https");this._request=i.request(uf(this._url,t.httpHeaders),e)}this._request.on("error",i=>{this._storedError=i,this._headersCapability.reject(i)}),this._request.end()}}class hP extends PA{constructor(t,e,i){super(t),this._httpHeaders={};for(const r in t.httpHeaders){const o=t.httpHeaders[r];o!==void 0&&(this._httpHeaders[r]=o)}this._httpHeaders.Range=`bytes=${e}-${i-1}`;const s=r=>{if(r.statusCode===404){const o=new qo(`Missing PDF "${this._url}".`);this._storedError=o;return}this._setReadableStream(r)};if(this._request=null,this._url.protocol==="http:"){const r=xi.get("http");this._request=r.request(uf(this._url,this._httpHeaders),s)}else{const r=xi.get("https");this._request=r.request(uf(this._url,this._httpHeaders),s)}this._request.on("error",r=>{this._storedError=r}),this._request.end()}}class dP extends kA{constructor(t){super(t);let e=decodeURIComponent(this._url.path);TA.test(this._url.href)&&(e=e.replace(/^\//,""));const i=xi.get("fs");i.promises.lstat(e).then(s=>{this._contentLength=s.size,this._setReadableStream(i.createReadStream(e)),this._headersCapability.resolve()},s=>{s.code==="ENOENT"&&(s=new qo(`Missing PDF "${e}".`)),this._storedError=s,this._headersCapability.reject(s)})}}class fP extends PA{constructor(t,e,i){super(t);let s=decodeURIComponent(this._url.path);TA.test(this._url.href)&&(s=s.replace(/^\//,""));const r=xi.get("fs");this._setReadableStream(r.createReadStream(s,{start:e,end:i-1}))}}const pP=1e5,Ie=30,gP=.8;var aw,zs,Oe,yu,wu,Xr,Bi,Su,Au,Gr,Ia,Fa,Vs,Oa,bu,za,Yr,Eu,xu,Qr,Jr,qs,Va,ys,RA,_A,bm,Ei,vd,LA,MA;const ve=class ve{constructor({textContentSource:t,container:e,viewport:i}){b(this,ys);b(this,zs,Promise.withResolvers());b(this,Oe,null);b(this,yu,!1);b(this,wu,!!((aw=globalThis.FontInspector)!=null&&aw.enabled));b(this,Xr,null);b(this,Bi,null);b(this,Su,0);b(this,Au,0);b(this,Gr,null);b(this,Ia,null);b(this,Fa,0);b(this,Vs,0);b(this,Oa,Object.create(null));b(this,bu,[]);b(this,za,null);b(this,Yr,[]);b(this,Eu,new WeakMap);b(this,xu,null);var c;if(t instanceof ReadableStream)S(this,za,t);else if(typeof t=="object")S(this,za,new ReadableStream({start(u){u.enqueue(t),u.close()}}));else throw new Error('No "textContentSource" parameter specified.');S(this,Oe,S(this,Ia,e)),S(this,Vs,i.scale*(globalThis.devicePixelRatio||1)),S(this,Fa,i.rotation),S(this,Bi,{prevFontSize:null,prevFontFamily:null,div:null,properties:null,ctx:null});const{pageWidth:s,pageHeight:r,pageX:o,pageY:a}=i.rawDims;S(this,xu,[1,0,0,-1,-o,a+r]),S(this,Au,s),S(this,Su,r),A(c=ve,Ei,LA).call(c),Mo(e,i),l(this,zs).promise.catch(()=>{}).then(()=>{l(ve,Va).delete(this),S(this,Bi,null),S(this,Oa,null)})}render(){const t=()=>{l(this,Gr).read().then(({value:e,done:i})=>{if(i){l(this,zs).resolve();return}l(this,Xr)??S(this,Xr,e.lang),Object.assign(l(this,Oa),e.styles),A(this,ys,RA).call(this,e.items),t()},l(this,zs).reject)};return S(this,Gr,l(this,za).getReader()),l(ve,Va).add(this),t(),l(this,zs).promise}update({viewport:t,onBefore:e=null}){var r;const i=t.scale*(globalThis.devicePixelRatio||1),s=t.rotation;if(s!==l(this,Fa)&&(e==null||e(),S(this,Fa,s),Mo(l(this,Ia),{rotation:s})),i!==l(this,Vs)){e==null||e(),S(this,Vs,i);const o={prevFontSize:null,prevFontFamily:null,div:null,properties:null,ctx:A(r=ve,Ei,vd).call(r,l(this,Xr))};for(const a of l(this,Yr))o.properties=l(this,Eu).get(a),o.div=a,A(this,ys,bm).call(this,o)}}cancel(){var e;const t=new Ho("TextLayer task cancelled.");(e=l(this,Gr))==null||e.cancel(t).catch(()=>{}),S(this,Gr,null),l(this,zs).reject(t)}get textDivs(){return l(this,Yr)}get textContentItemsStr(){return l(this,bu)}static cleanup(){if(!(l(this,Va).size>0)){l(this,Qr).clear();for(const{canvas:t}of l(this,Jr).values())t.remove();l(this,Jr).clear()}}};zs=new WeakMap,Oe=new WeakMap,yu=new WeakMap,wu=new WeakMap,Xr=new WeakMap,Bi=new WeakMap,Su=new WeakMap,Au=new WeakMap,Gr=new WeakMap,Ia=new WeakMap,Fa=new WeakMap,Vs=new WeakMap,Oa=new WeakMap,bu=new WeakMap,za=new WeakMap,Yr=new WeakMap,Eu=new WeakMap,xu=new WeakMap,Qr=new WeakMap,Jr=new WeakMap,qs=new WeakMap,Va=new WeakMap,ys=new WeakSet,RA=function(t){var s,r;if(l(this,yu))return;(r=l(this,Bi)).ctx??(r.ctx=A(s=ve,Ei,vd).call(s,l(this,Xr)));const e=l(this,Yr),i=l(this,bu);for(const o of t){if(e.length>pP){Q("Ignoring additional textDivs for performance reasons."),S(this,yu,!0);return}if(o.str===void 0){if(o.type==="beginMarkedContentProps"||o.type==="beginMarkedContent"){const a=l(this,Oe);S(this,Oe,document.createElement("span")),l(this,Oe).classList.add("markedContent"),o.id!==null&&l(this,Oe).setAttribute("id",`${o.id}`),a.append(l(this,Oe))}else o.type==="endMarkedContent"&&S(this,Oe,l(this,Oe).parentNode);continue}i.push(o.str),A(this,ys,_A).call(this,o)}},_A=function(t){var w;const e=document.createElement("span"),i={angle:0,canvasWidth:0,hasText:t.str!=="",hasEOL:t.hasEOL,fontSize:0};l(this,Yr).push(e);const s=q.transform(l(this,xu),t.transform);let r=Math.atan2(s[1],s[0]);const o=l(this,Oa)[t.fontName];o.vertical&&(r+=Math.PI/2);const a=l(this,wu)&&o.fontSubstitution||o.fontFamily,c=Math.hypot(s[2],s[3]),u=c*A(w=ve,Ei,MA).call(w,a,l(this,Xr));let h,d;r===0?(h=s[4],d=s[5]-u):(h=s[4]+u*Math.sin(r),d=s[5]-u*Math.cos(r));const f="calc(var(--scale-factor)*",p=e.style;l(this,Oe)===l(this,Ia)?(p.left=`${(100*h/l(this,Au)).toFixed(2)}%`,p.top=`${(100*d/l(this,Su)).toFixed(2)}%`):(p.left=`${f}${h.toFixed(2)}px)`,p.top=`${f}${d.toFixed(2)}px)`),p.fontSize=`${f}${(l(ve,qs)*c).toFixed(2)}px)`,p.fontFamily=a,i.fontSize=c,e.setAttribute("role","presentation"),e.textContent=t.str,e.dir=t.dir,l(this,wu)&&(e.dataset.fontName=o.fontSubstitutionLoadedName||t.fontName),r!==0&&(i.angle=r*(180/Math.PI));let g=!1;if(t.str.length>1)g=!0;else if(t.str!==" "&&t.transform[0]!==t.transform[3]){const E=Math.abs(t.transform[0]),m=Math.abs(t.transform[3]);E!==m&&Math.max(E,m)/Math.min(E,m)>1.5&&(g=!0)}if(g&&(i.canvasWidth=o.vertical?t.height:t.width),l(this,Eu).set(e,i),l(this,Bi).div=e,l(this,Bi).properties=i,A(this,ys,bm).call(this,l(this,Bi)),i.hasText&&l(this,Oe).append(e),i.hasEOL){const E=document.createElement("br");E.setAttribute("role","presentation"),l(this,Oe).append(E)}},bm=function(t){const{div:e,properties:i,ctx:s,prevFontSize:r,prevFontFamily:o}=t,{style:a}=e;let c="";if(l(ve,qs)>1&&(c=`scale(${1/l(ve,qs)})`),i.canvasWidth!==0&&i.hasText){const{fontFamily:u}=a,{canvasWidth:h,fontSize:d}=i;(r!==d||o!==u)&&(s.font=`${d*l(this,Vs)}px ${u}`,t.prevFontSize=d,t.prevFontFamily=u);const{width:f}=s.measureText(e.textContent);f>0&&(c=`scaleX(${h*l(this,Vs)/f}) ${c}`)}i.angle!==0&&(c=`rotate(${i.angle}deg) ${c}`),c.length>0&&(a.transform=c)},Ei=new WeakSet,vd=function(t=null){let e=l(this,Jr).get(t||(t=""));if(!e){const i=document.createElement("canvas");i.className="hiddenCanvasElement",i.lang=t,document.body.append(i),e=i.getContext("2d",{alpha:!1,willReadFrequently:!0}),l(this,Jr).set(t,e)}return e},LA=function(){if(l(this,qs)!==null)return;const t=document.createElement("div");t.style.opacity=0,t.style.lineHeight=1,t.style.fontSize="1px",t.textContent="X",document.body.append(t),S(this,qs,t.getBoundingClientRect().height),t.remove()},MA=function(t,e){const i=l(this,Qr).get(t);if(i)return i;const s=A(this,Ei,vd).call(this,e),r=s.font;s.canvas.width=s.canvas.height=Ie,s.font=`${Ie}px ${t}`;const o=s.measureText("");let a=o.fontBoundingBoxAscent,c=Math.abs(o.fontBoundingBoxDescent);if(a){const d=a/(a+c);return l(this,Qr).set(t,d),s.canvas.width=s.canvas.height=0,s.font=r,d}s.strokeStyle="red",s.clearRect(0,0,Ie,Ie),s.strokeText("g",0,0);let u=s.getImageData(0,0,Ie,Ie).data;c=0;for(let d=u.length-1-3;d>=0;d-=4)if(u[d]>0){c=Math.ceil(d/4/Ie);break}s.clearRect(0,0,Ie,Ie),s.strokeText("A",0,Ie),u=s.getImageData(0,0,Ie,Ie).data,a=0;for(let d=0,f=u.length;d0){a=Ie-Math.floor(d/4/Ie);break}s.canvas.width=s.canvas.height=0,s.font=r;const h=a?a/(a+c):gP;return l(this,Qr).set(t,h),h},b(ve,Ei),b(ve,Qr,new Map),b(ve,Jr,new Map),b(ve,qs,null),b(ve,Va,new Set);let bl=ve;function mP(){W1("`renderTextLayer`, please use `TextLayer` instead.");const{textContentSource:n,container:t,viewport:e,...i}=arguments[0],s=Object.keys(i);s.length>0&&Q("Ignoring `renderTextLayer` parameters: "+s.join(", "));const r=new bl({textContentSource:n,container:t,viewport:e}),{textDivs:o,textContentItemsStr:a}=r;return{promise:r.render(),textDivs:o,textContentItemsStr:a}}function vP(){W1("`updateTextLayer`, please use `TextLayer` instead.")}class Ic{static textContent(t){const e=[],i={items:e,styles:Object.create(null)};function s(r){var c;if(!r)return;let o=null;const a=r.name;if(a==="#text")o=r.value;else if(Ic.shouldBuildText(a))(c=r==null?void 0:r.attributes)!=null&&c.textContent?o=r.attributes.textContent:r.value&&(o=r.value);else return;if(o!==null&&e.push({str:o}),!!r.children)for(const u of r.children)s(u)}return s(t),i}static shouldBuildText(t){return!(t==="textarea"||t==="input"||t==="option"||t==="select")}}const yP=65536,wP=100,SP=5e3,AP=Ae?Mk:wk,bP=Ae?Nk:U1,EP=Ae?Lk:yk,xP=Ae?Dk:j1;function CP(n={}){typeof n=="string"||n instanceof URL?n={url:n}:(n instanceof ArrayBuffer||ArrayBuffer.isView(n))&&(n={data:n});const t=new Em,{docId:e}=t,i=n.url?TP(n.url):null,s=n.data?kP(n.data):null,r=n.httpHeaders||null,o=n.withCredentials===!0,a=n.password??null,c=n.range instanceof NA?n.range:null,u=Number.isInteger(n.rangeChunkSize)&&n.rangeChunkSize>0?n.rangeChunkSize:yP;let h=n.worker instanceof ya?n.worker:null;const d=n.verbosity,f=typeof n.docBaseUrl=="string"&&!cy(n.docBaseUrl)?n.docBaseUrl:null,p=typeof n.cMapUrl=="string"?n.cMapUrl:null,g=n.cMapPacked!==!1,w=n.CMapReaderFactory||bP,E=typeof n.standardFontDataUrl=="string"?n.standardFontDataUrl:null,m=n.StandardFontDataFactory||xP,v=n.stopAtErrors!==!0,y=Number.isInteger(n.maxImageSize)&&n.maxImageSize>-1?n.maxImageSize:-1,x=n.isEvalSupported!==!1,C=typeof n.isOffscreenCanvasSupported=="boolean"?n.isOffscreenCanvasSupported:!Ae,T=Number.isInteger(n.canvasMaxAreaInBytes)?n.canvasMaxAreaInBytes:-1,k=typeof n.disableFontFace=="boolean"?n.disableFontFace:Ae,P=n.fontExtraProperties===!0,M=n.enableXfa===!0,L=n.ownerDocument||globalThis.document,D=n.disableRange===!0,W=n.disableStream===!0,X=n.disableAutoFetch===!0,tt=n.pdfBug===!0,nt=n.enableHWA===!0,rt=c?c.length:n.length??NaN,U=typeof n.useSystemFonts=="boolean"?n.useSystemFonts:!Ae&&!k,R=typeof n.useWorkerFetch=="boolean"?n.useWorkerFetch:w===U1&&m===j1&&p&&E&&Xl(p,document.baseURI)&&Xl(E,document.baseURI),H=n.canvasFactory||new AP({ownerDocument:L,enableHWA:nt}),B=n.filterFactory||new EP({docId:e,ownerDocument:L}),mt=null;ak(d);const it={canvasFactory:H,filterFactory:B};if(R||(it.cMapReaderFactory=new w({baseUrl:p,isCompressed:g}),it.standardFontDataFactory=new m({baseUrl:E})),!h){const Rn={verbosity:d,port:us.workerPort};h=Rn.port?ya.fromPort(Rn):new ya(Rn),t._worker=h}const _t={docId:e,apiVersion:"4.4.168",data:s,password:a,disableAutoFetch:X,rangeChunkSize:u,length:rt,docBaseUrl:f,enableXfa:M,evaluatorOptions:{maxImageSize:y,disableFontFace:k,ignoreErrors:v,isEvalSupported:x,isOffscreenCanvasSupported:C,canvasMaxAreaInBytes:T,fontExtraProperties:P,useSystemFonts:U,cMapUrl:R?p:null,standardFontDataUrl:R?E:null}},pn={disableFontFace:k,fontExtraProperties:P,ownerDocument:L,pdfBug:tt,styleElement:mt,loadingParams:{disableAutoFetch:X,enableXfa:M}};return h.promise.then(function(){if(t.destroyed)throw new Error("Loading aborted");if(h.destroyed)throw new Error("Worker was destroyed");const Rn=h.messageHandler.sendWithPromise("GetDocRequest",_t,s?[s.buffer]:null);let he;if(c)he=new Jk(c,{disableRange:D,disableStream:W});else if(!s){if(!i)throw new Error("getDocument - no `url` parameter provided.");he=(ki=>Ae?function(){return typeof fetch<"u"&&typeof Response<"u"&&"body"in Response.prototype}()&&Xl(ki.url)?new iw(ki):new cP(ki):Xl(ki.url)?new iw(ki):new rP(ki))({url:i,length:rt,httpHeaders:r,withCredentials:o,rangeChunkSize:u,disableRange:D,disableStream:W})}return Rn.then(Et=>{if(t.destroyed)throw new Error("Loading aborted");if(h.destroyed)throw new Error("Worker was destroyed");const ki=new Ql(e,Et,h.port),wy=new LP(ki,t,he,pn,it);t._transport=wy,ki.send("Ready",null)})}).catch(t._capability.reject),t}function TP(n){if(n instanceof URL)return n.href;try{return new URL(n,window.location).href}catch{if(Ae&&typeof n=="string")return n}throw new Error("Invalid PDF url data: either string or URL-object is expected in the url property.")}function kP(n){if(Ae&&typeof Buffer<"u"&&n instanceof Buffer)throw new Error("Please provide binary data as `Uint8Array`, rather than `Buffer`.");if(n instanceof Uint8Array&&n.byteLength===n.buffer.byteLength)return n;if(typeof n=="string")return ip(n);if(n instanceof ArrayBuffer||ArrayBuffer.isView(n)||typeof n=="object"&&!isNaN(n==null?void 0:n.length))return new Uint8Array(n);throw new Error("Invalid PDF binary data: either TypedArray, string, or array-like object is expected in the data property.")}function sw(n){return typeof n=="object"&&Number.isInteger(n==null?void 0:n.num)&&n.num>=0&&Number.isInteger(n==null?void 0:n.gen)&&n.gen>=0}var Cf;const Tf=class Tf{constructor(){this._capability=Promise.withResolvers(),this._transport=null,this._worker=null,this.docId=`d${Xe(Tf,Cf)._++}`,this.destroyed=!1,this.onPassword=null,this.onProgress=null}get promise(){return this._capability.promise}async destroy(){var t,e,i;this.destroyed=!0;try{(t=this._worker)!=null&&t.port&&(this._worker._pendingDestroy=!0),await((e=this._transport)==null?void 0:e.destroy())}catch(s){throw(i=this._worker)!=null&&i.port&&delete this._worker._pendingDestroy,s}this._transport=null,this._worker&&(this._worker.destroy(),this._worker=null)}};Cf=new WeakMap,b(Tf,Cf,0);let Em=Tf;class NA{constructor(t,e,i=!1,s=null){this.length=t,this.initialData=e,this.progressiveDone=i,this.contentDispositionFilename=s,this._rangeListeners=[],this._progressListeners=[],this._progressiveReadListeners=[],this._progressiveDoneListeners=[],this._readyCapability=Promise.withResolvers()}addRangeListener(t){this._rangeListeners.push(t)}addProgressListener(t){this._progressListeners.push(t)}addProgressiveReadListener(t){this._progressiveReadListeners.push(t)}addProgressiveDoneListener(t){this._progressiveDoneListeners.push(t)}onDataRange(t,e){for(const i of this._rangeListeners)i(t,e)}onDataProgress(t,e){this._readyCapability.promise.then(()=>{for(const i of this._progressListeners)i(t,e)})}onDataProgressiveRead(t){this._readyCapability.promise.then(()=>{for(const e of this._progressiveReadListeners)e(t)})}onDataProgressiveDone(){this._readyCapability.promise.then(()=>{for(const t of this._progressiveDoneListeners)t()})}transportReady(){this._readyCapability.resolve()}requestDataRange(t,e){pt("Abstract method PDFDataRangeTransport.requestDataRange")}abort(){}}class PP{constructor(t,e){this._pdfInfo=t,this._transport=e}get annotationStorage(){return this._transport.annotationStorage}get filterFactory(){return this._transport.filterFactory}get numPages(){return this._pdfInfo.numPages}get fingerprints(){return this._pdfInfo.fingerprints}get isPureXfa(){return ot(this,"isPureXfa",!!this._transport._htmlForXfa)}get allXfaHtml(){return this._transport._htmlForXfa}getPage(t){return this._transport.getPage(t)}getPageIndex(t){return this._transport.getPageIndex(t)}getDestinations(){return this._transport.getDestinations()}getDestination(t){return this._transport.getDestination(t)}getPageLabels(){return this._transport.getPageLabels()}getPageLayout(){return this._transport.getPageLayout()}getPageMode(){return this._transport.getPageMode()}getViewerPreferences(){return this._transport.getViewerPreferences()}getOpenAction(){return this._transport.getOpenAction()}getAttachments(){return this._transport.getAttachments()}getJSActions(){return this._transport.getDocJSActions()}getOutline(){return this._transport.getOutline()}getOptionalContentConfig({intent:t="display"}={}){const{renderingIntent:e}=this._transport.getRenderingIntent(t);return this._transport.getOptionalContentConfig(e)}getPermissions(){return this._transport.getPermissions()}getMetadata(){return this._transport.getMetadata()}getMarkInfo(){return this._transport.getMarkInfo()}getData(){return this._transport.getData()}saveDocument(){return this._transport.saveDocument()}getDownloadInfo(){return this._transport.downloadInfoCapability.promise}cleanup(t=!1){return this._transport.startCleanup(t||this.isPureXfa)}destroy(){return this.loadingTask.destroy()}cachedPageNumber(t){return this._transport.cachedPageNumber(t)}get loadingParams(){return this._transport.loadingParams}get loadingTask(){return this._transport.loadingTask}getFieldObjects(){return this._transport.getFieldObjects()}hasJSActions(){return this._transport.hasJSActions()}getCalculationOrderIds(){return this._transport.getCalculationOrderIds()}}var Hs,Ki,En,Go,yd;class RP{constructor(t,e,i,s=!1){b(this,En);b(this,Hs,null);b(this,Ki,!1);this._pageIndex=t,this._pageInfo=e,this._transport=i,this._stats=s?new W0:null,this._pdfBug=s,this.commonObjs=i.commonObjs,this.objs=new DA,this._maybeCleanupAfterRender=!1,this._intentStates=new Map,this.destroyed=!1}get pageNumber(){return this._pageIndex+1}get rotate(){return this._pageInfo.rotate}get ref(){return this._pageInfo.ref}get userUnit(){return this._pageInfo.userUnit}get view(){return this._pageInfo.view}getViewport({scale:t,rotation:e=this.rotate,offsetX:i=0,offsetY:s=0,dontFlip:r=!1}={}){return new Sh({viewBox:this.view,scale:t,rotation:e,offsetX:i,offsetY:s,dontFlip:r})}getAnnotations({intent:t="display"}={}){const{renderingIntent:e}=this._transport.getRenderingIntent(t);return this._transport.getAnnotations(this._pageIndex,e)}getJSActions(){return this._transport.getPageJSActions(this._pageIndex)}get filterFactory(){return this._transport.filterFactory}get isPureXfa(){return ot(this,"isPureXfa",!!this._transport._htmlForXfa)}async getXfa(){var t;return((t=this._transport._htmlForXfa)==null?void 0:t.children[this._pageIndex])||null}render({canvasContext:t,viewport:e,intent:i="display",annotationMode:s=Ls.ENABLE,transform:r=null,background:o=null,optionalContentConfigPromise:a=null,annotationCanvasMap:c=null,pageColors:u=null,printAnnotationStorage:h=null}){var y,x;(y=this._stats)==null||y.time("Overall");const d=this._transport.getRenderingIntent(i,s,h),{renderingIntent:f,cacheKey:p}=d;S(this,Ki,!1),A(this,En,yd).call(this),a||(a=this._transport.getOptionalContentConfig(f));let g=this._intentStates.get(p);g||(g=Object.create(null),this._intentStates.set(p,g)),g.streamReaderCancelTimeout&&(clearTimeout(g.streamReaderCancelTimeout),g.streamReaderCancelTimeout=null);const w=!!(f&Sn.PRINT);g.displayReadyCapability||(g.displayReadyCapability=Promise.withResolvers(),g.operatorList={fnArray:[],argsArray:[],lastChunk:!1,separateAnnots:null},(x=this._stats)==null||x.time("Page Request"),this._pumpOperatorList(d));const E=C=>{var T;g.renderTasks.delete(m),(this._maybeCleanupAfterRender||w)&&S(this,Ki,!0),A(this,En,Go).call(this,!w),C?(m.capability.reject(C),this._abortOperatorList({intentState:g,reason:C instanceof Error?C:new Error(C)})):m.capability.resolve(),this._stats&&(this._stats.timeEnd("Rendering"),this._stats.timeEnd("Overall"),(T=globalThis.Stats)!=null&&T.enabled&&globalThis.Stats.add(this.pageNumber,this._stats))},m=new Cm({callback:E,params:{canvasContext:t,viewport:e,transform:r,background:o},objs:this.objs,commonObjs:this.commonObjs,annotationCanvasMap:c,operatorList:g.operatorList,pageIndex:this._pageIndex,canvasFactory:this._transport.canvasFactory,filterFactory:this._transport.filterFactory,useRequestAnimationFrame:!w,pdfBug:this._pdfBug,pageColors:u});(g.renderTasks||(g.renderTasks=new Set)).add(m);const v=m.task;return Promise.all([g.displayReadyCapability.promise,a]).then(([C,T])=>{var k;if(this.destroyed){E();return}if((k=this._stats)==null||k.time("Rendering"),!(T.renderingIntent&f))throw new Error("Must use the same `intent`-argument when calling the `PDFPageProxy.render` and `PDFDocumentProxy.getOptionalContentConfig` methods.");m.initializeGraphics({transparency:C,optionalContentConfig:T}),m.operatorListChanged()}).catch(E),v}getOperatorList({intent:t="display",annotationMode:e=Ls.ENABLE,printAnnotationStorage:i=null}={}){var c;function s(){o.operatorList.lastChunk&&(o.opListReadCapability.resolve(o.operatorList),o.renderTasks.delete(a))}const r=this._transport.getRenderingIntent(t,e,i,!0);let o=this._intentStates.get(r.cacheKey);o||(o=Object.create(null),this._intentStates.set(r.cacheKey,o));let a;return o.opListReadCapability||(a=Object.create(null),a.operatorListChanged=s,o.opListReadCapability=Promise.withResolvers(),(o.renderTasks||(o.renderTasks=new Set)).add(a),o.operatorList={fnArray:[],argsArray:[],lastChunk:!1,separateAnnots:null},(c=this._stats)==null||c.time("Page Request"),this._pumpOperatorList(r)),o.opListReadCapability.promise}streamTextContent({includeMarkedContent:t=!1,disableNormalization:e=!1}={}){return this._transport.messageHandler.sendWithStream("GetTextContent",{pageIndex:this._pageIndex,includeMarkedContent:t===!0,disableNormalization:e===!0},{highWaterMark:100,size(s){return s.items.length}})}getTextContent(t={}){if(this._transport._htmlForXfa)return this.getXfa().then(i=>Ic.textContent(i));const e=this.streamTextContent(t);return new Promise(function(i,s){function r(){o.read().then(function({value:c,done:u}){if(u){i(a);return}a.lang??(a.lang=c.lang),Object.assign(a.styles,c.styles),a.items.push(...c.items),r()},s)}const o=e.getReader(),a={items:[],styles:Object.create(null),lang:null};r()})}getStructTree(){return this._transport.getStructTree(this._pageIndex)}_destroy(){this.destroyed=!0;const t=[];for(const e of this._intentStates.values())if(this._abortOperatorList({intentState:e,reason:new Error("Page was destroyed."),force:!0}),!e.opListReadCapability)for(const i of e.renderTasks)t.push(i.completed),i.cancel();return this.objs.clear(),S(this,Ki,!1),A(this,En,yd).call(this),Promise.all(t)}cleanup(t=!1){S(this,Ki,!0);const e=A(this,En,Go).call(this,!1);return t&&e&&this._stats&&(this._stats=new W0),e}_startRenderPage(t,e){var s,r;const i=this._intentStates.get(e);i&&((s=this._stats)==null||s.timeEnd("Page Request"),(r=i.displayReadyCapability)==null||r.resolve(t))}_renderPageChunk(t,e){for(let i=0,s=t.length;i{a.read().then(({value:h,done:d})=>{if(d){c.streamReader=null;return}this._transport.destroyed||(this._renderPageChunk(h,c),u())},h=>{if(c.streamReader=null,!this._transport.destroyed){if(c.operatorList){c.operatorList.lastChunk=!0;for(const d of c.renderTasks)d.operatorListChanged();A(this,En,Go).call(this,!0)}if(c.displayReadyCapability)c.displayReadyCapability.reject(h);else if(c.opListReadCapability)c.opListReadCapability.reject(h);else throw h}})};u()}_abortOperatorList({intentState:t,reason:e,force:i=!1}){if(t.streamReader){if(t.streamReaderCancelTimeout&&(clearTimeout(t.streamReaderCancelTimeout),t.streamReaderCancelTimeout=null),!i){if(t.renderTasks.size>0)return;if(e instanceof ly){let s=wP;e.extraDelay>0&&e.extraDelay<1e3&&(s+=e.extraDelay),t.streamReaderCancelTimeout=setTimeout(()=>{t.streamReaderCancelTimeout=null,this._abortOperatorList({intentState:t,reason:e,force:!0})},s);return}}if(t.streamReader.cancel(new Ho(e.message)).catch(()=>{}),t.streamReader=null,!this._transport.destroyed){for(const[s,r]of this._intentStates)if(r===t){this._intentStates.delete(s);break}this.cleanup()}}}get stats(){return this._stats}}Hs=new WeakMap,Ki=new WeakMap,En=new WeakSet,Go=function(t=!1){if(A(this,En,yd).call(this),!l(this,Ki)||this.destroyed)return!1;if(t)return S(this,Hs,setTimeout(()=>{S(this,Hs,null),A(this,En,Go).call(this,!1)},SP)),!1;for(const{renderTasks:e,operatorList:i}of this._intentStates.values())if(e.size>0||!i.lastChunk)return!1;return this._intentStates.clear(),this.objs.clear(),S(this,Ki,!1),!0},yd=function(){l(this,Hs)&&(clearTimeout(l(this,Hs)),S(this,Hs,null))};var Zr,kf;class _P{constructor(){b(this,Zr,new Set);b(this,kf,Promise.resolve())}postMessage(t,e){const i={data:structuredClone(t,e?{transfer:e}:null)};l(this,kf).then(()=>{for(const s of l(this,Zr))s.call(this,i)})}addEventListener(t,e){l(this,Zr).add(e)}removeEventListener(t,e){l(this,Zr).delete(e)}terminate(){l(this,Zr).clear()}}Zr=new WeakMap,kf=new WeakMap;const Fi={isWorkerDisabled:!1,fakeWorkerId:0};Ae&&(Fi.isWorkerDisabled=!0,us.workerSrc||(us.workerSrc="./pdf.worker.mjs")),Fi.isSameOrigin=function(n,t){let e;try{if(e=new URL(n),!e.origin||e.origin==="null")return!1}catch{return!1}const i=new URL(t,e);return e.origin===i.origin},Fi.createCDNWrapper=function(n){const t=`await import("${n}");`;return URL.createObjectURL(new Blob([t],{type:"text/javascript"}))};var $r,qa,wd,Ha,Sd;const Qe=class Qe{constructor({name:t=null,port:e=null,verbosity:i=lk()}={}){b(this,qa);var s;if(this.name=t,this.destroyed=!1,this.verbosity=i,this._readyCapability=Promise.withResolvers(),this._port=null,this._webWorker=null,this._messageHandler=null,e){if((s=l(Qe,$r))!=null&&s.has(e))throw new Error("Cannot use more than one PDFWorker per port.");(l(Qe,$r)||S(Qe,$r,new WeakMap)).set(e,this),this._initializeFromPort(e);return}this._initialize()}get promise(){return Ae?Promise.all([xi.promise,this._readyCapability.promise]):this._readyCapability.promise}get port(){return this._port}get messageHandler(){return this._messageHandler}_initializeFromPort(t){this._port=t,this._messageHandler=new Ql("main","worker",t),this._messageHandler.on("ready",function(){}),A(this,qa,wd).call(this)}_initialize(){if(Fi.isWorkerDisabled||l(Qe,Ha,Sd)){this._setupFakeWorker();return}let{workerSrc:t}=Qe;try{Fi.isSameOrigin(window.location.href,t)||(t=Fi.createCDNWrapper(new URL(t,window.location).href));const e=new Worker(t,{type:"module"}),i=new Ql("main","worker",e),s=()=>{r.abort(),i.destroy(),e.terminate(),this.destroyed?this._readyCapability.reject(new Error("Worker was destroyed")):this._setupFakeWorker()},r=new AbortController;e.addEventListener("error",()=>{this._webWorker||s()},{signal:r.signal}),i.on("test",a=>{if(r.abort(),this.destroyed||!a){s();return}this._messageHandler=i,this._port=e,this._webWorker=e,A(this,qa,wd).call(this)}),i.on("ready",a=>{if(r.abort(),this.destroyed){s();return}try{o()}catch{this._setupFakeWorker()}});const o=()=>{const a=new Uint8Array;i.send("test",a,[a.buffer])};o();return}catch{ep("The worker has been disabled.")}this._setupFakeWorker()}_setupFakeWorker(){Fi.isWorkerDisabled||(Q("Setting up fake worker."),Fi.isWorkerDisabled=!0),Qe._setupFakeWorkerGlobal.then(t=>{if(this.destroyed){this._readyCapability.reject(new Error("Worker was destroyed"));return}const e=new _P;this._port=e;const i=`fake${Fi.fakeWorkerId++}`,s=new Ql(i+"_worker",i,e);t.setup(s,e),this._messageHandler=new Ql(i,i+"_worker",e),A(this,qa,wd).call(this)}).catch(t=>{this._readyCapability.reject(new Error(`Setting up fake worker failed: "${t.message}".`))})}destroy(){var t;this.destroyed=!0,this._webWorker&&(this._webWorker.terminate(),this._webWorker=null),(t=l(Qe,$r))==null||t.delete(this._port),this._port=null,this._messageHandler&&(this._messageHandler.destroy(),this._messageHandler=null)}static fromPort(t){var i;if(!(t!=null&&t.port))throw new Error("PDFWorker.fromPort - invalid method signature.");const e=(i=l(this,$r))==null?void 0:i.get(t.port);if(e){if(e._pendingDestroy)throw new Error("PDFWorker.fromPort - the worker is being destroyed.\nPlease remember to await `PDFDocumentLoadingTask.destroy()`-calls.");return e}return new Qe(t)}static get workerSrc(){if(us.workerSrc)return us.workerSrc;throw new Error('No "GlobalWorkerOptions.workerSrc" specified.')}static get _setupFakeWorkerGlobal(){return ot(this,"_setupFakeWorkerGlobal",(async()=>l(this,Ha,Sd)?l(this,Ha,Sd):(await import(this.workerSrc)).WorkerMessageHandler)())}};$r=new WeakMap,qa=new WeakSet,wd=function(){this._readyCapability.resolve(),this._messageHandler.send("configure",{verbosity:this.verbosity})},Ha=new WeakSet,Sd=function(){var t;try{return((t=globalThis.pdfjsWorker)==null?void 0:t.WorkerMessageHandler)||null}catch{return null}},b(Qe,Ha),b(Qe,$r);let ya=Qe;var Xi,ci,Ua,ja,ui,to,Jl;class LP{constructor(t,e,i,s,r){b(this,to);b(this,Xi,new Map);b(this,ci,new Map);b(this,Ua,new Map);b(this,ja,new Map);b(this,ui,null);this.messageHandler=t,this.loadingTask=e,this.commonObjs=new DA,this.fontLoader=new Rk({ownerDocument:s.ownerDocument,styleElement:s.styleElement}),this.loadingParams=s.loadingParams,this._params=s,this.canvasFactory=r.canvasFactory,this.filterFactory=r.filterFactory,this.cMapReaderFactory=r.cMapReaderFactory,this.standardFontDataFactory=r.standardFontDataFactory,this.destroyed=!1,this.destroyCapability=null,this._networkStream=i,this._fullReader=null,this._lastProgress=null,this.downloadInfoCapability=Promise.withResolvers(),this.setupMessageHandler()}get annotationStorage(){return ot(this,"annotationStorage",new dy)}getRenderingIntent(t,e=Ls.ENABLE,i=null,s=!1){let r=Sn.DISPLAY,o=gm;switch(t){case"any":r=Sn.ANY;break;case"display":break;case"print":r=Sn.PRINT;break;default:Q(`getRenderingIntent - invalid intent: ${t}`)}switch(e){case Ls.DISABLE:r+=Sn.ANNOTATIONS_DISABLE;break;case Ls.ENABLE:break;case Ls.ENABLE_FORMS:r+=Sn.ANNOTATIONS_FORMS;break;case Ls.ENABLE_STORAGE:r+=Sn.ANNOTATIONS_STORAGE,o=(r&Sn.PRINT&&i instanceof yA?i:this.annotationStorage).serializable;break;default:Q(`getRenderingIntent - invalid annotationMode: ${e}`)}return s&&(r+=Sn.OPLIST),{renderingIntent:r,cacheKey:`${r}_${o.hash}`,annotationStorageSerializable:o}}destroy(){var i;if(this.destroyCapability)return this.destroyCapability.promise;this.destroyed=!0,this.destroyCapability=Promise.withResolvers(),(i=l(this,ui))==null||i.reject(new Error("Worker was destroyed during onPassword callback"));const t=[];for(const s of l(this,ci).values())t.push(s._destroy());l(this,ci).clear(),l(this,Ua).clear(),l(this,ja).clear(),this.hasOwnProperty("annotationStorage")&&this.annotationStorage.resetModified();const e=this.messageHandler.sendWithPromise("Terminate",null);return t.push(e),Promise.all(t).then(()=>{var s;this.commonObjs.clear(),this.fontLoader.clear(),l(this,Xi).clear(),this.filterFactory.destroy(),bl.cleanup(),(s=this._networkStream)==null||s.cancelAllRequests(new Ho("Worker was terminated.")),this.messageHandler&&(this.messageHandler.destroy(),this.messageHandler=null),this.destroyCapability.resolve()},this.destroyCapability.reject),this.destroyCapability.promise}setupMessageHandler(){const{messageHandler:t,loadingTask:e}=this;t.on("GetReader",(i,s)=>{Gt(this._networkStream,"GetReader - no `IPDFStream` instance available."),this._fullReader=this._networkStream.getFullReader(),this._fullReader.onProgress=r=>{this._lastProgress={loaded:r.loaded,total:r.total}},s.onPull=()=>{this._fullReader.read().then(function({value:r,done:o}){if(o){s.close();return}Gt(r instanceof ArrayBuffer,"GetReader - expected an ArrayBuffer."),s.enqueue(new Uint8Array(r),1,[r])}).catch(r=>{s.error(r)})},s.onCancel=r=>{this._fullReader.cancel(r),s.ready.catch(o=>{if(!this.destroyed)throw o})}}),t.on("ReaderHeadersReady",i=>{const s=Promise.withResolvers(),r=this._fullReader;return r.headersReady.then(()=>{var o;(!r.isStreamingSupported||!r.isRangeSupported)&&(this._lastProgress&&((o=e.onProgress)==null||o.call(e,this._lastProgress)),r.onProgress=a=>{var c;(c=e.onProgress)==null||c.call(e,{loaded:a.loaded,total:a.total})}),s.resolve({isStreamingSupported:r.isStreamingSupported,isRangeSupported:r.isRangeSupported,contentLength:r.contentLength})},s.reject),s.promise}),t.on("GetRangeReader",(i,s)=>{Gt(this._networkStream,"GetRangeReader - no `IPDFStream` instance available.");const r=this._networkStream.getRangeReader(i.begin,i.end);if(!r){s.close();return}s.onPull=()=>{r.read().then(function({value:o,done:a}){if(a){s.close();return}Gt(o instanceof ArrayBuffer,"GetRangeReader - expected an ArrayBuffer."),s.enqueue(new Uint8Array(o),1,[o])}).catch(o=>{s.error(o)})},s.onCancel=o=>{r.cancel(o),s.ready.catch(a=>{if(!this.destroyed)throw a})}}),t.on("GetDoc",({pdfInfo:i})=>{this._numPages=i.numPages,this._htmlForXfa=i.htmlForXfa,delete i.htmlForXfa,e._capability.resolve(new PP(i,this))}),t.on("DocException",function(i){let s;switch(i.name){case"PasswordException":s=new Kg(i.message,i.code);break;case"InvalidPDFException":s=new z1(i.message);break;case"MissingPDFException":s=new qo(i.message);break;case"UnexpectedResponseException":s=new np(i.message,i.status);break;case"UnknownErrorException":s=new Xg(i.message,i.details);break;default:pt("DocException - expected a valid Error.")}e._capability.reject(s)}),t.on("PasswordRequest",i=>{if(S(this,ui,Promise.withResolvers()),e.onPassword){const s=r=>{r instanceof Error?l(this,ui).reject(r):l(this,ui).resolve({password:r})};try{e.onPassword(s,i.code)}catch(r){l(this,ui).reject(r)}}else l(this,ui).reject(new Kg(i.message,i.code));return l(this,ui).promise}),t.on("DataLoaded",i=>{var s;(s=e.onProgress)==null||s.call(e,{loaded:i.length,total:i.length}),this.downloadInfoCapability.resolve(i)}),t.on("StartRenderPage",i=>{if(this.destroyed)return;l(this,ci).get(i.pageIndex)._startRenderPage(i.transparency,i.cacheKey)}),t.on("commonobj",([i,s,r])=>{var o;if(this.destroyed||this.commonObjs.has(i))return null;switch(s){case"Font":const{disableFontFace:a,fontExtraProperties:c,pdfBug:u}=this._params;if("error"in r){const p=r.error;Q(`Error during font loading: ${p}`),this.commonObjs.resolve(i,p);break}const h=u&&((o=globalThis.FontInspector)!=null&&o.enabled)?(p,g)=>globalThis.FontInspector.fontAdded(p,g):null,d=new _k(r,{disableFontFace:a,inspectFont:h});this.fontLoader.bind(d).catch(()=>t.sendWithPromise("FontFallback",{id:i})).finally(()=>{!c&&d.data&&(d.data=null),this.commonObjs.resolve(i,d)});break;case"CopyLocalImage":const{imageRef:f}=r;Gt(f,"The imageRef must be defined.");for(const p of l(this,ci).values())for(const[,g]of p.objs)if((g==null?void 0:g.ref)===f)return g.dataLen?(this.commonObjs.resolve(i,structuredClone(g)),g.dataLen):null;break;case"FontPath":case"Image":case"Pattern":this.commonObjs.resolve(i,r);break;default:throw new Error(`Got unknown common object type ${s}`)}return null}),t.on("obj",([i,s,r,o])=>{var c;if(this.destroyed)return;const a=l(this,ci).get(s);if(!a.objs.has(i)){if(a._intentStates.size===0){(c=o==null?void 0:o.bitmap)==null||c.close();return}switch(r){case"Image":a.objs.resolve(i,o),(o==null?void 0:o.dataLen)>ik&&(a._maybeCleanupAfterRender=!0);break;case"Pattern":a.objs.resolve(i,o);break;default:throw new Error(`Got unknown object type ${r}`)}}}),t.on("DocProgress",i=>{var s;this.destroyed||(s=e.onProgress)==null||s.call(e,{loaded:i.loaded,total:i.total})}),t.on("FetchBuiltInCMap",i=>this.destroyed?Promise.reject(new Error("Worker was destroyed.")):this.cMapReaderFactory?this.cMapReaderFactory.fetch(i):Promise.reject(new Error("CMapReaderFactory not initialized, see the `useWorkerFetch` parameter."))),t.on("FetchStandardFontData",i=>this.destroyed?Promise.reject(new Error("Worker was destroyed.")):this.standardFontDataFactory?this.standardFontDataFactory.fetch(i):Promise.reject(new Error("StandardFontDataFactory not initialized, see the `useWorkerFetch` parameter.")))}getData(){return this.messageHandler.sendWithPromise("GetData",null)}saveDocument(){var i;this.annotationStorage.size<=0&&Q("saveDocument called while `annotationStorage` is empty, please use the getData-method instead.");const{map:t,transfer:e}=this.annotationStorage.serializable;return this.messageHandler.sendWithPromise("SaveDocument",{isPureXfa:!!this._htmlForXfa,numPages:this._numPages,annotationStorage:t,filename:((i=this._fullReader)==null?void 0:i.filename)??null},e).finally(()=>{this.annotationStorage.resetModified()})}getPage(t){if(!Number.isInteger(t)||t<=0||t>this._numPages)return Promise.reject(new Error("Invalid page request."));const e=t-1,i=l(this,Ua).get(e);if(i)return i;const s=this.messageHandler.sendWithPromise("GetPage",{pageIndex:e}).then(r=>{if(this.destroyed)throw new Error("Transport destroyed");r.refStr&&l(this,ja).set(r.refStr,t);const o=new RP(e,r,this,this._params.pdfBug);return l(this,ci).set(e,o),o});return l(this,Ua).set(e,s),s}getPageIndex(t){return sw(t)?this.messageHandler.sendWithPromise("GetPageIndex",{num:t.num,gen:t.gen}):Promise.reject(new Error("Invalid pageIndex request."))}getAnnotations(t,e){return this.messageHandler.sendWithPromise("GetAnnotations",{pageIndex:t,intent:e})}getFieldObjects(){return A(this,to,Jl).call(this,"GetFieldObjects")}hasJSActions(){return A(this,to,Jl).call(this,"HasJSActions")}getCalculationOrderIds(){return this.messageHandler.sendWithPromise("GetCalculationOrderIds",null)}getDestinations(){return this.messageHandler.sendWithPromise("GetDestinations",null)}getDestination(t){return typeof t!="string"?Promise.reject(new Error("Invalid destination request.")):this.messageHandler.sendWithPromise("GetDestination",{id:t})}getPageLabels(){return this.messageHandler.sendWithPromise("GetPageLabels",null)}getPageLayout(){return this.messageHandler.sendWithPromise("GetPageLayout",null)}getPageMode(){return this.messageHandler.sendWithPromise("GetPageMode",null)}getViewerPreferences(){return this.messageHandler.sendWithPromise("GetViewerPreferences",null)}getOpenAction(){return this.messageHandler.sendWithPromise("GetOpenAction",null)}getAttachments(){return this.messageHandler.sendWithPromise("GetAttachments",null)}getDocJSActions(){return A(this,to,Jl).call(this,"GetDocJSActions")}getPageJSActions(t){return this.messageHandler.sendWithPromise("GetPageJSActions",{pageIndex:t})}getStructTree(t){return this.messageHandler.sendWithPromise("GetStructTree",{pageIndex:t})}getOutline(){return this.messageHandler.sendWithPromise("GetOutline",null)}getOptionalContentConfig(t){return A(this,to,Jl).call(this,"GetOptionalContentConfig").then(e=>new Qk(e,t))}getPermissions(){return this.messageHandler.sendWithPromise("GetPermissions",null)}getMetadata(){const t="GetMetadata",e=l(this,Xi).get(t);if(e)return e;const i=this.messageHandler.sendWithPromise(t,null).then(s=>{var r,o;return{info:s[0],metadata:s[1]?new Gk(s[1]):null,contentDispositionFilename:((r=this._fullReader)==null?void 0:r.filename)??null,contentLength:((o=this._fullReader)==null?void 0:o.contentLength)??null}});return l(this,Xi).set(t,i),i}getMarkInfo(){return this.messageHandler.sendWithPromise("GetMarkInfo",null)}async startCleanup(t=!1){if(!this.destroyed){await this.messageHandler.sendWithPromise("Cleanup",null);for(const e of l(this,ci).values())if(!e.cleanup())throw new Error(`startCleanup: Page ${e.pageNumber} is currently rendering.`);this.commonObjs.clear(),t||this.fontLoader.clear(),l(this,Xi).clear(),this.filterFactory.destroy(!0),bl.cleanup()}}cachedPageNumber(t){if(!sw(t))return null;const e=t.gen===0?`${t.num}R`:`${t.num}R${t.gen}`;return l(this,ja).get(e)??null}}Xi=new WeakMap,ci=new WeakMap,Ua=new WeakMap,ja=new WeakMap,ui=new WeakMap,to=new WeakSet,Jl=function(t,e=null){const i=l(this,Xi).get(t);if(i)return i;const s=this.messageHandler.sendWithPromise(t,e);return l(this,Xi).set(t,s),s};const Yh=Symbol("INITIAL_DATA");var qn,Cu,xm;class DA{constructor(){b(this,Cu);b(this,qn,Object.create(null))}get(t,e=null){if(e){const s=A(this,Cu,xm).call(this,t);return s.promise.then(()=>e(s.data)),null}const i=l(this,qn)[t];if(!i||i.data===Yh)throw new Error(`Requesting object that isn't resolved yet ${t}.`);return i.data}has(t){const e=l(this,qn)[t];return!!e&&e.data!==Yh}resolve(t,e=null){const i=A(this,Cu,xm).call(this,t);i.data=e,i.resolve()}clear(){var t;for(const e in l(this,qn)){const{data:i}=l(this,qn)[e];(t=i==null?void 0:i.bitmap)==null||t.close()}S(this,qn,Object.create(null))}*[Symbol.iterator](){for(const t in l(this,qn)){const{data:e}=l(this,qn)[t];e!==Yh&&(yield[t,e])}}}qn=new WeakMap,Cu=new WeakSet,xm=function(t){var e;return(e=l(this,qn))[t]||(e[t]={...Promise.withResolvers(),data:Yh})};var Us;class MP{constructor(t){b(this,Us,null);S(this,Us,t),this.onContinue=null}get promise(){return l(this,Us).capability.promise}cancel(t=0){l(this,Us).cancel(null,t)}get separateAnnots(){const{separateAnnots:t}=l(this,Us).operatorList;if(!t)return!1;const{annotationCanvasMap:e}=l(this,Us);return t.form||t.canvas&&(e==null?void 0:e.size)>0}}Us=new WeakMap;var js,eo;const Cr=class Cr{constructor({callback:t,params:e,objs:i,commonObjs:s,annotationCanvasMap:r,operatorList:o,pageIndex:a,canvasFactory:c,filterFactory:u,useRequestAnimationFrame:h=!1,pdfBug:d=!1,pageColors:f=null}){b(this,js,null);this.callback=t,this.params=e,this.objs=i,this.commonObjs=s,this.annotationCanvasMap=r,this.operatorListIdx=null,this.operatorList=o,this._pageIndex=a,this.canvasFactory=c,this.filterFactory=u,this._pdfBug=d,this.pageColors=f,this.running=!1,this.graphicsReadyCallback=null,this.graphicsReady=!1,this._useRequestAnimationFrame=h===!0&&typeof window<"u",this.cancelled=!1,this.capability=Promise.withResolvers(),this.task=new MP(this),this._cancelBound=this.cancel.bind(this),this._continueBound=this._continue.bind(this),this._scheduleNextBound=this._scheduleNext.bind(this),this._nextBound=this._next.bind(this),this._canvas=e.canvasContext.canvas}get completed(){return this.capability.promise.catch(function(){})}initializeGraphics({transparency:t=!1,optionalContentConfig:e}){var a,c;if(this.cancelled)return;if(this._canvas){if(l(Cr,eo).has(this._canvas))throw new Error("Cannot use the same canvas during multiple render() operations. Use different canvas or ensure previous operations were cancelled or completed.");l(Cr,eo).add(this._canvas)}this._pdfBug&&((a=globalThis.StepperManager)!=null&&a.enabled)&&(this.stepper=globalThis.StepperManager.create(this._pageIndex),this.stepper.init(this.operatorList),this.stepper.nextBreakPoint=this.stepper.getNextBreakPoint());const{canvasContext:i,viewport:s,transform:r,background:o}=this.params;this.gfx=new va(i,this.commonObjs,this.objs,this.canvasFactory,this.filterFactory,{optionalContentConfig:e},this.annotationCanvasMap,this.pageColors),this.gfx.beginDrawing({transform:r,viewport:s,transparency:t,background:o}),this.operatorListIdx=0,this.graphicsReady=!0,(c=this.graphicsReadyCallback)==null||c.call(this)}cancel(t=null,e=0){var i;this.running=!1,this.cancelled=!0,(i=this.gfx)==null||i.endDrawing(),l(this,js)&&(window.cancelAnimationFrame(l(this,js)),S(this,js,null)),l(Cr,eo).delete(this._canvas),this.callback(t||new ly(`Rendering cancelled, page ${this._pageIndex+1}`,e))}operatorListChanged(){var t;if(!this.graphicsReady){this.graphicsReadyCallback||(this.graphicsReadyCallback=this._continueBound);return}(t=this.stepper)==null||t.updateOperatorList(this.operatorList),!this.running&&this._continue()}_continue(){this.running=!0,!this.cancelled&&(this.task.onContinue?this.task.onContinue(this._scheduleNextBound):this._scheduleNext())}_scheduleNext(){this._useRequestAnimationFrame?S(this,js,window.requestAnimationFrame(()=>{S(this,js,null),this._nextBound().catch(this._cancelBound)})):Promise.resolve().then(this._nextBound).catch(this._cancelBound)}async _next(){this.cancelled||(this.operatorListIdx=this.gfx.executeOperatorList(this.operatorList,this.operatorListIdx,this._continueBound,this.stepper),this.operatorListIdx===this.operatorList.argsArray.length&&(this.running=!1,this.operatorList.lastChunk&&(this.gfx.endDrawing(),l(Cr,eo).delete(this._canvas),this.callback())))}};js=new WeakMap,eo=new WeakMap,b(Cr,eo,new WeakSet);let Cm=Cr;const NP="4.4.168",DP="19fbc8998";function rw(n){return Math.floor(Math.max(0,Math.min(1,n))*255).toString(16).padStart(2,"0")}function zl(n){return Math.max(0,Math.min(255,255*n))}class ow{static CMYK_G([t,e,i,s]){return["G",1-Math.min(1,.3*t+.59*i+.11*e+s)]}static G_CMYK([t]){return["CMYK",0,0,0,1-t]}static G_RGB([t]){return["RGB",t,t,t]}static G_rgb([t]){return t=zl(t),[t,t,t]}static G_HTML([t]){const e=rw(t);return`#${e}${e}${e}`}static RGB_G([t,e,i]){return["G",.3*t+.59*e+.11*i]}static RGB_rgb(t){return t.map(zl)}static RGB_HTML(t){return`#${t.map(rw).join("")}`}static T_HTML(){return"#00000000"}static T_rgb(){return[null]}static CMYK_RGB([t,e,i,s]){return["RGB",1-Math.min(1,t+s),1-Math.min(1,i+s),1-Math.min(1,e+s)]}static CMYK_rgb([t,e,i,s]){return[zl(1-Math.min(1,t+s)),zl(1-Math.min(1,i+s)),zl(1-Math.min(1,e+s))]}static CMYK_HTML(t){const e=this.CMYK_RGB(t).slice(1);return this.RGB_HTML(e)}static RGB_CMYK([t,e,i]){const s=1-t,r=1-e,o=1-i,a=Math.min(s,r,o);return["CMYK",s,r,o,a]}}class IA{static setupStorage(t,e,i,s,r){const o=s.getValue(e,{value:null});switch(i.name){case"textarea":if(o.value!==null&&(t.textContent=o.value),r==="print")break;t.addEventListener("input",a=>{s.setValue(e,{value:a.target.value})});break;case"input":if(i.attributes.type==="radio"||i.attributes.type==="checkbox"){if(o.value===i.attributes.xfaOn?t.setAttribute("checked",!0):o.value===i.attributes.xfaOff&&t.removeAttribute("checked"),r==="print")break;t.addEventListener("change",a=>{s.setValue(e,{value:a.target.checked?a.target.getAttribute("xfaOn"):a.target.getAttribute("xfaOff")})})}else{if(o.value!==null&&t.setAttribute("value",o.value),r==="print")break;t.addEventListener("input",a=>{s.setValue(e,{value:a.target.value})})}break;case"select":if(o.value!==null){t.setAttribute("value",o.value);for(const a of i.children)a.attributes.value===o.value?a.attributes.selected=!0:a.attributes.hasOwnProperty("selected")&&delete a.attributes.selected}t.addEventListener("input",a=>{const c=a.target.options,u=c.selectedIndex===-1?"":c[c.selectedIndex].value;s.setValue(e,{value:u})});break}}static setAttributes({html:t,element:e,storage:i=null,intent:s,linkService:r}){const{attributes:o}=e,a=t instanceof HTMLAnchorElement;o.type==="radio"&&(o.name=`${o.name}-${s}`);for(const[c,u]of Object.entries(o))if(u!=null)switch(c){case"class":u.length&&t.setAttribute(c,u.join(" "));break;case"dataId":break;case"id":t.setAttribute("data-element-id",u);break;case"style":Object.assign(t.style,u);break;case"textContent":t.textContent=u;break;default:(!a||c!=="href"&&c!=="newWindow")&&t.setAttribute(c,u)}a&&r.addLinkAttributes(t,o.href,o.newWindow),i&&o.dataId&&this.setupStorage(t,o.dataId,e,i)}static render(t){var d,f;const e=t.annotationStorage,i=t.linkService,s=t.xfaHtml,r=t.intent||"display",o=document.createElement(s.name);s.attributes&&this.setAttributes({html:o,element:s,intent:r,linkService:i});const a=r!=="richText",c=t.div;if(c.append(o),t.viewport){const p=`matrix(${t.viewport.transform.join(",")})`;c.style.transform=p}a&&c.setAttribute("class","xfaLayer xfaFont");const u=[];if(s.children.length===0){if(s.value){const p=document.createTextNode(s.value);o.append(p),a&&Ic.shouldBuildText(s.name)&&u.push(p)}return{textDivs:u}}const h=[[s,-1,o]];for(;h.length>0;){const[p,g,w]=h.at(-1);if(g+1===p.children.length){h.pop();continue}const E=p.children[++h.at(-1)[1]];if(E===null)continue;const{name:m}=E;if(m==="#text"){const y=document.createTextNode(E.value);u.push(y),w.append(y);continue}const v=(d=E==null?void 0:E.attributes)!=null&&d.xmlns?document.createElementNS(E.attributes.xmlns,m):document.createElement(m);if(w.append(v),E.attributes&&this.setAttributes({html:v,element:E,storage:e,intent:r,linkService:i}),((f=E.children)==null?void 0:f.length)>0)h.push([E,-1,v]);else if(E.value){const y=document.createTextNode(E.value);a&&Ic.shouldBuildText(m)&&u.push(y),v.append(y)}}for(const p of c.querySelectorAll(".xfaNonInteractive input, .xfaNonInteractive textarea"))p.setAttribute("readOnly",!0);return{textDivs:u}}static update(t){const e=`matrix(${t.viewport.transform.join(",")})`;t.div.style.transform=e,t.div.hidden=!1}}const Eh=1e3,IP=9,Do=new WeakSet;function hs(n){return{width:n[2]-n[0],height:n[3]-n[1]}}class FP{static create(t){switch(t.data.annotationType){case Ht.LINK:return new FA(t);case Ht.TEXT:return new OP(t);case Ht.WIDGET:switch(t.data.fieldType){case"Tx":return new zP(t);case"Btn":return t.data.radioButton?new VA(t):t.data.checkBox?new qP(t):new HP(t);case"Ch":return new UP(t);case"Sig":return new VP(t)}return new Uo(t);case Ht.POPUP:return new km(t);case Ht.FREETEXT:return new WA(t);case Ht.LINE:return new WP(t);case Ht.SQUARE:return new BP(t);case Ht.CIRCLE:return new KP(t);case Ht.POLYLINE:return new BA(t);case Ht.CARET:return new GP(t);case Ht.INK:return new KA(t);case Ht.POLYGON:return new XP(t);case Ht.HIGHLIGHT:return new YP(t);case Ht.UNDERLINE:return new QP(t);case Ht.SQUIGGLY:return new JP(t);case Ht.STRIKEOUT:return new ZP(t);case Ht.STAMP:return new XA(t);case Ht.FILEATTACHMENT:return new $P(t);default:return new Ft(t)}}}var no,Wa,Ba,Tu,Tm;const yy=class yy{constructor(t,{isRenderable:e=!1,ignoreBorder:i=!1,createQuadrilaterals:s=!1}={}){b(this,Tu);b(this,no,null);b(this,Wa,!1);b(this,Ba,null);this.isRenderable=e,this.data=t.data,this.layer=t.layer,this.linkService=t.linkService,this.downloadManager=t.downloadManager,this.imageResourcesPath=t.imageResourcesPath,this.renderForms=t.renderForms,this.svgFactory=t.svgFactory,this.annotationStorage=t.annotationStorage,this.enableScripting=t.enableScripting,this.hasJSActions=t.hasJSActions,this._fieldObjects=t.fieldObjects,this.parent=t.parent,e&&(this.container=this._createContainer(i)),s&&this._createQuadrilaterals()}static _hasPopupData({titleObj:t,contentsObj:e,richText:i}){return!!(t!=null&&t.str||e!=null&&e.str||i!=null&&i.str)}get hasPopupData(){return yy._hasPopupData(this.data)}updateEdited(t){var i;if(!this.container)return;l(this,no)||S(this,no,{rect:this.data.rect.slice(0)});const{rect:e}=t;e&&A(this,Tu,Tm).call(this,e),(i=l(this,Ba))==null||i.popup.updateEdited(t)}resetEdited(){var t;l(this,no)&&(A(this,Tu,Tm).call(this,l(this,no).rect),(t=l(this,Ba))==null||t.popup.resetEdited(),S(this,no,null))}_createContainer(t){const{data:e,parent:{page:i,viewport:s}}=this,r=document.createElement("section");r.setAttribute("data-annotation-id",e.id),this instanceof Uo||(r.tabIndex=Eh);const{style:o}=r;if(o.zIndex=this.parent.zIndex++,e.popupRef&&r.setAttribute("aria-haspopup","dialog"),e.alternativeText&&(r.title=e.alternativeText),e.noRotate&&r.classList.add("norotate"),!e.rect||this instanceof km){const{rotation:w}=e;return!e.hasOwnCanvas&&w!==0&&this.setRotation(w,r),r}const{width:a,height:c}=hs(e.rect);if(!t&&e.borderStyle.width>0){o.borderWidth=`${e.borderStyle.width}px`;const w=e.borderStyle.horizontalCornerRadius,E=e.borderStyle.verticalCornerRadius;if(w>0||E>0){const v=`calc(${w}px * var(--scale-factor)) / calc(${E}px * var(--scale-factor))`;o.borderRadius=v}else if(this instanceof VA){const v=`calc(${a}px * var(--scale-factor)) / calc(${c}px * var(--scale-factor))`;o.borderRadius=v}switch(e.borderStyle.style){case Fl.SOLID:o.borderStyle="solid";break;case Fl.DASHED:o.borderStyle="dashed";break;case Fl.BEVELED:Q("Unimplemented border style: beveled");break;case Fl.INSET:Q("Unimplemented border style: inset");break;case Fl.UNDERLINE:o.borderBottomStyle="solid";break}const m=e.borderColor||null;m?(S(this,Wa,!0),o.borderColor=q.makeHexColor(m[0]|0,m[1]|0,m[2]|0)):o.borderWidth=0}const u=q.normalizeRect([e.rect[0],i.view[3]-e.rect[1]+i.view[1],e.rect[2],i.view[3]-e.rect[3]+i.view[1]]),{pageWidth:h,pageHeight:d,pageX:f,pageY:p}=s.rawDims;o.left=`${100*(u[0]-f)/h}%`,o.top=`${100*(u[1]-p)/d}%`;const{rotation:g}=e;return e.hasOwnCanvas||g===0?(o.width=`${100*a/h}%`,o.height=`${100*c/d}%`):this.setRotation(g,r),r}setRotation(t,e=this.container){if(!this.data.rect)return;const{pageWidth:i,pageHeight:s}=this.parent.viewport.rawDims,{width:r,height:o}=hs(this.data.rect);let a,c;t%180===0?(a=100*r/i,c=100*o/s):(a=100*o/i,c=100*r/s),e.style.width=`${a}%`,e.style.height=`${c}%`,e.setAttribute("data-main-rotation",(360-t)%360)}get _commonActions(){const t=(e,i,s)=>{const r=s.detail[e],o=r[0],a=r.slice(1);s.target.style[i]=ow[`${o}_HTML`](a),this.annotationStorage.setValue(this.data.id,{[i]:ow[`${o}_rgb`](a)})};return ot(this,"_commonActions",{display:e=>{const{display:i}=e.detail,s=i%2===1;this.container.style.visibility=s?"hidden":"visible",this.annotationStorage.setValue(this.data.id,{noView:s,noPrint:i===1||i===2})},print:e=>{this.annotationStorage.setValue(this.data.id,{noPrint:!e.detail.print})},hidden:e=>{const{hidden:i}=e.detail;this.container.style.visibility=i?"hidden":"visible",this.annotationStorage.setValue(this.data.id,{noPrint:i,noView:i})},focus:e=>{setTimeout(()=>e.target.focus({preventScroll:!1}),0)},userName:e=>{e.target.title=e.detail.userName},readonly:e=>{e.target.disabled=e.detail.readonly},required:e=>{this._setRequired(e.target,e.detail.required)},bgColor:e=>{t("bgColor","backgroundColor",e)},fillColor:e=>{t("fillColor","backgroundColor",e)},fgColor:e=>{t("fgColor","color",e)},textColor:e=>{t("textColor","color",e)},borderColor:e=>{t("borderColor","borderColor",e)},strokeColor:e=>{t("strokeColor","borderColor",e)},rotation:e=>{const i=e.detail.rotation;this.setRotation(i),this.annotationStorage.setValue(this.data.id,{rotation:i})}})}_dispatchEventFromSandbox(t,e){const i=this._commonActions;for(const s of Object.keys(e.detail)){const r=t[s]||i[s];r==null||r(e)}}_setDefaultPropertiesFromJS(t){if(!this.enableScripting)return;const e=this.annotationStorage.getRawValue(this.data.id);if(!e)return;const i=this._commonActions;for(const[s,r]of Object.entries(e)){const o=i[s];if(o){const a={detail:{[s]:r},target:t};o(a),delete e[s]}}}_createQuadrilaterals(){if(!this.container)return;const{quadPoints:t}=this.data;if(!t)return;const[e,i,s,r]=this.data.rect.map(w=>Math.fround(w));if(t.length===8){const[w,E,m,v]=t.subarray(2,6);if(s===w&&r===E&&e===m&&i===v)return}const{style:o}=this.container;let a;if(l(this,Wa)){const{borderColor:w,borderWidth:E}=o;o.borderWidth=0,a=["url('data:image/svg+xml;utf8,",'',``],this.container.classList.add("hasBorder")}const c=s-e,u=r-i,{svgFactory:h}=this,d=h.createElement("svg");d.classList.add("quadrilateralsContainer"),d.setAttribute("width",0),d.setAttribute("height",0);const f=h.createElement("defs");d.append(f);const p=h.createElement("clipPath"),g=`clippath_${this.data.id}`;p.setAttribute("id",g),p.setAttribute("clipPathUnits","objectBoundingBox"),f.append(p);for(let w=2,E=t.length;w`)}l(this,Wa)&&(a.push("')"),o.backgroundImage=a.join("")),this.container.append(d),this.container.style.clipPath=`url(#${g})`}_createPopup(){const{container:t,data:e}=this;t.setAttribute("aria-haspopup","dialog");const i=S(this,Ba,new km({data:{color:e.color,titleObj:e.titleObj,modificationDate:e.modificationDate,contentsObj:e.contentsObj,richText:e.richText,parentRect:e.rect,borderStyle:0,id:`popup_${e.id}`,rotation:e.rotation},parent:this.parent,elements:[this]}));this.parent.div.append(i.render())}render(){pt("Abstract method `AnnotationElement.render` called")}_getElementsByName(t,e=null){const i=[];if(this._fieldObjects){const s=this._fieldObjects[t];if(s)for(const{page:r,id:o,exportValues:a}of s){if(r===-1||o===e)continue;const c=typeof a=="string"?a:null,u=document.querySelector(`[data-element-id="${o}"]`);if(u&&!Do.has(u)){Q(`_getElementsByName - element not allowed: ${o}`);continue}i.push({id:o,exportValue:c,domElement:u})}return i}for(const s of document.getElementsByName(t)){const{exportValue:r}=s,o=s.getAttribute("data-element-id");o!==e&&Do.has(s)&&i.push({id:o,exportValue:r,domElement:s})}return i}show(){var t;this.container&&(this.container.hidden=!1),(t=this.popup)==null||t.maybeShow()}hide(){var t;this.container&&(this.container.hidden=!0),(t=this.popup)==null||t.forceHide()}getElementsToTriggerPopup(){return this.container}addHighlightArea(){const t=this.getElementsToTriggerPopup();if(Array.isArray(t))for(const e of t)e.classList.add("highlightArea");else t.classList.add("highlightArea")}get _isEditable(){return!1}_editOnDoubleClick(){if(!this._isEditable)return;const{annotationEditorType:t,data:{id:e}}=this;this.container.addEventListener("dblclick",()=>{var i;(i=this.linkService.eventBus)==null||i.dispatch("switchannotationeditormode",{source:this,mode:t,editId:e})})}};no=new WeakMap,Wa=new WeakMap,Ba=new WeakMap,Tu=new WeakSet,Tm=function(t){const{container:{style:e},data:{rect:i,rotation:s},parent:{viewport:{rawDims:{pageWidth:r,pageHeight:o,pageX:a,pageY:c}}}}=this;i==null||i.splice(0,4,...t);const{width:u,height:h}=hs(t);e.left=`${100*(t[0]-a)/r}%`,e.top=`${100*(o-t[3]+c)/o}%`,s===0?(e.width=`${100*u/r}%`,e.height=`${100*h/o}%`):this.setRotation(s)};let Ft=yy;var an,Ar,OA,zA;class FA extends Ft{constructor(e,i=null){super(e,{isRenderable:!0,ignoreBorder:!!(i!=null&&i.ignoreBorder),createQuadrilaterals:!0});b(this,an);this.isTooltipOnly=e.data.isTooltipOnly}render(){const{data:e,linkService:i}=this,s=document.createElement("a");s.setAttribute("data-element-id",e.id);let r=!1;return e.url?(i.addLinkAttributes(s,e.url,e.newWindow),r=!0):e.action?(this._bindNamedAction(s,e.action),r=!0):e.attachment?(A(this,an,OA).call(this,s,e.attachment,e.attachmentDest),r=!0):e.setOCGState?(A(this,an,zA).call(this,s,e.setOCGState),r=!0):e.dest?(this._bindLink(s,e.dest),r=!0):(e.actions&&(e.actions.Action||e.actions["Mouse Up"]||e.actions["Mouse Down"])&&this.enableScripting&&this.hasJSActions&&(this._bindJSAction(s,e),r=!0),e.resetForm?(this._bindResetFormAction(s,e.resetForm),r=!0):this.isTooltipOnly&&!r&&(this._bindLink(s,""),r=!0)),this.container.classList.add("linkAnnotation"),r&&this.container.append(s),this.container}_bindLink(e,i){e.href=this.linkService.getDestinationHash(i),e.onclick=()=>(i&&this.linkService.goToDestination(i),!1),(i||i==="")&&A(this,an,Ar).call(this)}_bindNamedAction(e,i){e.href=this.linkService.getAnchorUrl(""),e.onclick=()=>(this.linkService.executeNamedAction(i),!1),A(this,an,Ar).call(this)}_bindJSAction(e,i){e.href=this.linkService.getAnchorUrl("");const s=new Map([["Action","onclick"],["Mouse Up","onmouseup"],["Mouse Down","onmousedown"]]);for(const r of Object.keys(i.actions)){const o=s.get(r);o&&(e[o]=()=>{var a;return(a=this.linkService.eventBus)==null||a.dispatch("dispatcheventinsandbox",{source:this,detail:{id:i.id,name:r}}),!1})}e.onclick||(e.onclick=()=>!1),A(this,an,Ar).call(this)}_bindResetFormAction(e,i){const s=e.onclick;if(s||(e.href=this.linkService.getAnchorUrl("")),A(this,an,Ar).call(this),!this._fieldObjects){Q('_bindResetFormAction - "resetForm" action not supported, ensure that the `fieldObjects` parameter is provided.'),s||(e.onclick=()=>!1);return}e.onclick=()=>{var d;s==null||s();const{fields:r,refs:o,include:a}=i,c=[];if(r.length!==0||o.length!==0){const f=new Set(o);for(const p of r){const g=this._fieldObjects[p]||[];for(const{id:w}of g)f.add(w)}for(const p of Object.values(this._fieldObjects))for(const g of p)f.has(g.id)===a&&c.push(g)}else for(const f of Object.values(this._fieldObjects))c.push(...f);const u=this.annotationStorage,h=[];for(const f of c){const{id:p}=f;switch(h.push(p),f.type){case"text":{const w=f.defaultValue||"";u.setValue(p,{value:w});break}case"checkbox":case"radiobutton":{const w=f.defaultValue===f.exportValues;u.setValue(p,{value:w});break}case"combobox":case"listbox":{const w=f.defaultValue||"";u.setValue(p,{value:w});break}default:continue}const g=document.querySelector(`[data-element-id="${p}"]`);if(g){if(!Do.has(g)){Q(`_bindResetFormAction - element not allowed: ${p}`);continue}}else continue;g.dispatchEvent(new Event("resetform"))}return this.enableScripting&&((d=this.linkService.eventBus)==null||d.dispatch("dispatcheventinsandbox",{source:this,detail:{id:"app",ids:h,name:"ResetForm"}})),!1}}}an=new WeakSet,Ar=function(){this.container.setAttribute("data-internal-link","")},OA=function(e,i,s=null){e.href=this.linkService.getAnchorUrl(""),i.description&&(e.title=i.description),e.onclick=()=>{var r;return(r=this.downloadManager)==null||r.openOrDownloadData(i.content,i.filename,s),!1},A(this,an,Ar).call(this)},zA=function(e,i){e.href=this.linkService.getAnchorUrl(""),e.onclick=()=>(this.linkService.executeSetOCGState(i),!1),A(this,an,Ar).call(this)};class OP extends Ft{constructor(t){super(t,{isRenderable:!0})}render(){this.container.classList.add("textAnnotation");const t=document.createElement("img");return t.src=this.imageResourcesPath+"annotation-"+this.data.name.toLowerCase()+".svg",t.setAttribute("data-l10n-id","pdfjs-text-annotation-type"),t.setAttribute("data-l10n-args",JSON.stringify({type:this.data.name})),!this.data.popupRef&&this.hasPopupData&&this._createPopup(),this.container.append(t),this.container}}class Uo extends Ft{render(){return this.container}showElementAndHideCanvas(t){var e;this.data.hasOwnCanvas&&(((e=t.previousSibling)==null?void 0:e.nodeName)==="CANVAS"&&(t.previousSibling.hidden=!0),t.hidden=!1)}_getKeyModifier(t){return He.platform.isMac?t.metaKey:t.ctrlKey}_setEventListener(t,e,i,s,r){i.includes("mouse")?t.addEventListener(i,o=>{var a;(a=this.linkService.eventBus)==null||a.dispatch("dispatcheventinsandbox",{source:this,detail:{id:this.data.id,name:s,value:r(o),shift:o.shiftKey,modifier:this._getKeyModifier(o)}})}):t.addEventListener(i,o=>{var a;if(i==="blur"){if(!e.focused||!o.relatedTarget)return;e.focused=!1}else if(i==="focus"){if(e.focused)return;e.focused=!0}r&&((a=this.linkService.eventBus)==null||a.dispatch("dispatcheventinsandbox",{source:this,detail:{id:this.data.id,name:s,value:r(o)}}))})}_setEventListeners(t,e,i,s){var r,o,a;for(const[c,u]of i)(u==="Action"||(r=this.data.actions)!=null&&r[u])&&((u==="Focus"||u==="Blur")&&(e||(e={focused:!1})),this._setEventListener(t,e,c,u,s),u==="Focus"&&!((o=this.data.actions)!=null&&o.Blur)?this._setEventListener(t,e,"blur","Blur",null):u==="Blur"&&!((a=this.data.actions)!=null&&a.Focus)&&this._setEventListener(t,e,"focus","Focus",null))}_setBackgroundColor(t){const e=this.data.backgroundColor||null;t.style.backgroundColor=e===null?"transparent":q.makeHexColor(e[0],e[1],e[2])}_setTextStyle(t){const e=["left","center","right"],{fontColor:i}=this.data.defaultAppearanceData,s=this.data.defaultAppearanceData.fontSize||IP,r=t.style;let o;const a=2,c=u=>Math.round(10*u)/10;if(this.data.multiLine){const u=Math.abs(this.data.rect[3]-this.data.rect[1]-a),h=Math.round(u/(jp*s))||1,d=u/h;o=Math.min(s,c(d/jp))}else{const u=Math.abs(this.data.rect[3]-this.data.rect[1]-a);o=Math.min(s,c(u/jp))}r.fontSize=`calc(${o}px * var(--scale-factor))`,r.color=q.makeHexColor(i[0],i[1],i[2]),this.data.textAlignment!==null&&(r.textAlign=e[this.data.textAlignment])}_setRequired(t,e){e?t.setAttribute("required",!0):t.removeAttribute("required"),t.setAttribute("aria-required",e)}}class zP extends Uo{constructor(t){const e=t.renderForms||t.data.hasOwnCanvas||!t.data.hasAppearance&&!!t.data.fieldValue;super(t,{isRenderable:e})}setPropertyOnSiblings(t,e,i,s){const r=this.annotationStorage;for(const o of this._getElementsByName(t.name,t.id))o.domElement&&(o.domElement[e]=i),r.setValue(o.id,{[s]:i})}render(){var s,r;const t=this.annotationStorage,e=this.data.id;this.container.classList.add("textWidgetAnnotation");let i=null;if(this.renderForms){const o=t.getValue(e,{value:this.data.fieldValue});let a=o.value||"";const c=t.getValue(e,{charLimit:this.data.maxLen}).charLimit;c&&a.length>c&&(a=a.slice(0,c));let u=o.formattedValue||((s=this.data.textContent)==null?void 0:s.join(` +`))||null;u&&this.data.comb&&(u=u.replaceAll(/\s+/g,""));const h={userValue:a,formattedValue:u,lastCommittedValue:null,commitKey:1,focused:!1};this.data.multiLine?(i=document.createElement("textarea"),i.textContent=u??a,this.data.doNotScroll&&(i.style.overflowY="hidden")):(i=document.createElement("input"),i.type="text",i.setAttribute("value",u??a),this.data.doNotScroll&&(i.style.overflowX="hidden")),this.data.hasOwnCanvas&&(i.hidden=!0),Do.add(i),i.setAttribute("data-element-id",e),i.disabled=this.data.readOnly,i.name=this.data.fieldName,i.tabIndex=Eh,this._setRequired(i,this.data.required),c&&(i.maxLength=c),i.addEventListener("input",f=>{t.setValue(e,{value:f.target.value}),this.setPropertyOnSiblings(i,"value",f.target.value,"value"),h.formattedValue=null}),i.addEventListener("resetform",f=>{const p=this.data.defaultFieldValue??"";i.value=h.userValue=p,h.formattedValue=null});let d=f=>{const{formattedValue:p}=h;p!=null&&(f.target.value=p),f.target.scrollLeft=0};if(this.enableScripting&&this.hasJSActions){i.addEventListener("focus",p=>{var w;if(h.focused)return;const{target:g}=p;h.userValue&&(g.value=h.userValue),h.lastCommittedValue=g.value,h.commitKey=1,(w=this.data.actions)!=null&&w.Focus||(h.focused=!0)}),i.addEventListener("updatefromsandbox",p=>{this.showElementAndHideCanvas(p.target);const g={value(w){h.userValue=w.detail.value??"",t.setValue(e,{value:h.userValue.toString()}),w.target.value=h.userValue},formattedValue(w){const{formattedValue:E}=w.detail;h.formattedValue=E,E!=null&&w.target!==document.activeElement&&(w.target.value=E),t.setValue(e,{formattedValue:E})},selRange(w){w.target.setSelectionRange(...w.detail.selRange)},charLimit:w=>{var y;const{charLimit:E}=w.detail,{target:m}=w;if(E===0){m.removeAttribute("maxLength");return}m.setAttribute("maxLength",E);let v=h.userValue;!v||v.length<=E||(v=v.slice(0,E),m.value=h.userValue=v,t.setValue(e,{value:v}),(y=this.linkService.eventBus)==null||y.dispatch("dispatcheventinsandbox",{source:this,detail:{id:e,name:"Keystroke",value:v,willCommit:!0,commitKey:1,selStart:m.selectionStart,selEnd:m.selectionEnd}}))}};this._dispatchEventFromSandbox(g,p)}),i.addEventListener("keydown",p=>{var E;h.commitKey=1;let g=-1;if(p.key==="Escape"?g=0:p.key==="Enter"&&!this.data.multiLine?g=2:p.key==="Tab"&&(h.commitKey=3),g===-1)return;const{value:w}=p.target;h.lastCommittedValue!==w&&(h.lastCommittedValue=w,h.userValue=w,(E=this.linkService.eventBus)==null||E.dispatch("dispatcheventinsandbox",{source:this,detail:{id:e,name:"Keystroke",value:w,willCommit:!0,commitKey:g,selStart:p.target.selectionStart,selEnd:p.target.selectionEnd}}))});const f=d;d=null,i.addEventListener("blur",p=>{var w,E;if(!h.focused||!p.relatedTarget)return;(w=this.data.actions)!=null&&w.Blur||(h.focused=!1);const{value:g}=p.target;h.userValue=g,h.lastCommittedValue!==g&&((E=this.linkService.eventBus)==null||E.dispatch("dispatcheventinsandbox",{source:this,detail:{id:e,name:"Keystroke",value:g,willCommit:!0,commitKey:h.commitKey,selStart:p.target.selectionStart,selEnd:p.target.selectionEnd}})),f(p)}),(r=this.data.actions)!=null&&r.Keystroke&&i.addEventListener("beforeinput",p=>{var C;h.lastCommittedValue=null;const{data:g,target:w}=p,{value:E,selectionStart:m,selectionEnd:v}=w;let y=m,x=v;switch(p.inputType){case"deleteWordBackward":{const T=E.substring(0,m).match(/\w*[^\w]*$/);T&&(y-=T[0].length);break}case"deleteWordForward":{const T=E.substring(m).match(/^[^\w]*\w*/);T&&(x+=T[0].length);break}case"deleteContentBackward":m===v&&(y-=1);break;case"deleteContentForward":m===v&&(x+=1);break}p.preventDefault(),(C=this.linkService.eventBus)==null||C.dispatch("dispatcheventinsandbox",{source:this,detail:{id:e,name:"Keystroke",value:E,change:g||"",willCommit:!1,selStart:y,selEnd:x}})}),this._setEventListeners(i,h,[["focus","Focus"],["blur","Blur"],["mousedown","Mouse Down"],["mouseenter","Mouse Enter"],["mouseleave","Mouse Exit"],["mouseup","Mouse Up"]],p=>p.target.value)}if(d&&i.addEventListener("blur",d),this.data.comb){const p=(this.data.rect[2]-this.data.rect[0])/c;i.classList.add("comb"),i.style.letterSpacing=`calc(${p}px * var(--scale-factor) - 1ch)`}}else i=document.createElement("div"),i.textContent=this.data.fieldValue,i.style.verticalAlign="middle",i.style.display="table-cell",this.data.hasOwnCanvas&&(i.hidden=!0);return this._setTextStyle(i),this._setBackgroundColor(i),this._setDefaultPropertiesFromJS(i),this.container.append(i),this.container}}class VP extends Uo{constructor(t){super(t,{isRenderable:!!t.data.hasOwnCanvas})}}class qP extends Uo{constructor(t){super(t,{isRenderable:t.renderForms})}render(){const t=this.annotationStorage,e=this.data,i=e.id;let s=t.getValue(i,{value:e.exportValue===e.fieldValue}).value;typeof s=="string"&&(s=s!=="Off",t.setValue(i,{value:s})),this.container.classList.add("buttonWidgetAnnotation","checkBox");const r=document.createElement("input");return Do.add(r),r.setAttribute("data-element-id",i),r.disabled=e.readOnly,this._setRequired(r,this.data.required),r.type="checkbox",r.name=e.fieldName,s&&r.setAttribute("checked",!0),r.setAttribute("exportValue",e.exportValue),r.tabIndex=Eh,r.addEventListener("change",o=>{const{name:a,checked:c}=o.target;for(const u of this._getElementsByName(a,i)){const h=c&&u.exportValue===e.exportValue;u.domElement&&(u.domElement.checked=h),t.setValue(u.id,{value:h})}t.setValue(i,{value:c})}),r.addEventListener("resetform",o=>{const a=e.defaultFieldValue||"Off";o.target.checked=a===e.exportValue}),this.enableScripting&&this.hasJSActions&&(r.addEventListener("updatefromsandbox",o=>{const a={value(c){c.target.checked=c.detail.value!=="Off",t.setValue(i,{value:c.target.checked})}};this._dispatchEventFromSandbox(a,o)}),this._setEventListeners(r,null,[["change","Validate"],["change","Action"],["focus","Focus"],["blur","Blur"],["mousedown","Mouse Down"],["mouseenter","Mouse Enter"],["mouseleave","Mouse Exit"],["mouseup","Mouse Up"]],o=>o.target.checked)),this._setBackgroundColor(r),this._setDefaultPropertiesFromJS(r),this.container.append(r),this.container}}class VA extends Uo{constructor(t){super(t,{isRenderable:t.renderForms})}render(){this.container.classList.add("buttonWidgetAnnotation","radioButton");const t=this.annotationStorage,e=this.data,i=e.id;let s=t.getValue(i,{value:e.fieldValue===e.buttonValue}).value;if(typeof s=="string"&&(s=s!==e.buttonValue,t.setValue(i,{value:s})),s)for(const o of this._getElementsByName(e.fieldName,i))t.setValue(o.id,{value:!1});const r=document.createElement("input");if(Do.add(r),r.setAttribute("data-element-id",i),r.disabled=e.readOnly,this._setRequired(r,this.data.required),r.type="radio",r.name=e.fieldName,s&&r.setAttribute("checked",!0),r.tabIndex=Eh,r.addEventListener("change",o=>{const{name:a,checked:c}=o.target;for(const u of this._getElementsByName(a,i))t.setValue(u.id,{value:!1});t.setValue(i,{value:c})}),r.addEventListener("resetform",o=>{const a=e.defaultFieldValue;o.target.checked=a!=null&&a===e.buttonValue}),this.enableScripting&&this.hasJSActions){const o=e.buttonValue;r.addEventListener("updatefromsandbox",a=>{const c={value:u=>{const h=o===u.detail.value;for(const d of this._getElementsByName(u.target.name)){const f=h&&d.id===i;d.domElement&&(d.domElement.checked=f),t.setValue(d.id,{value:f})}}};this._dispatchEventFromSandbox(c,a)}),this._setEventListeners(r,null,[["change","Validate"],["change","Action"],["focus","Focus"],["blur","Blur"],["mousedown","Mouse Down"],["mouseenter","Mouse Enter"],["mouseleave","Mouse Exit"],["mouseup","Mouse Up"]],a=>a.target.checked)}return this._setBackgroundColor(r),this._setDefaultPropertiesFromJS(r),this.container.append(r),this.container}}class HP extends FA{constructor(t){super(t,{ignoreBorder:t.data.hasAppearance})}render(){const t=super.render();t.classList.add("buttonWidgetAnnotation","pushButton");const e=t.lastChild;return this.enableScripting&&this.hasJSActions&&e&&(this._setDefaultPropertiesFromJS(e),e.addEventListener("updatefromsandbox",i=>{this._dispatchEventFromSandbox({},i)})),t}}class UP extends Uo{constructor(t){super(t,{isRenderable:t.renderForms})}render(){this.container.classList.add("choiceWidgetAnnotation");const t=this.annotationStorage,e=this.data.id,i=t.getValue(e,{value:this.data.fieldValue}),s=document.createElement("select");Do.add(s),s.setAttribute("data-element-id",e),s.disabled=this.data.readOnly,this._setRequired(s,this.data.required),s.name=this.data.fieldName,s.tabIndex=Eh;let r=this.data.combo&&this.data.options.length>0;this.data.combo||(s.size=this.data.options.length,this.data.multiSelect&&(s.multiple=!0)),s.addEventListener("resetform",h=>{const d=this.data.defaultFieldValue;for(const f of s.options)f.selected=f.value===d});for(const h of this.data.options){const d=document.createElement("option");d.textContent=h.displayValue,d.value=h.exportValue,i.value.includes(h.exportValue)&&(d.setAttribute("selected",!0),r=!1),s.append(d)}let o=null;if(r){const h=document.createElement("option");h.value=" ",h.setAttribute("hidden",!0),h.setAttribute("selected",!0),s.prepend(h),o=()=>{h.remove(),s.removeEventListener("input",o),o=null},s.addEventListener("input",o)}const a=h=>{const d=h?"value":"textContent",{options:f,multiple:p}=s;return p?Array.prototype.filter.call(f,g=>g.selected).map(g=>g[d]):f.selectedIndex===-1?null:f[f.selectedIndex][d]};let c=a(!1);const u=h=>{const d=h.target.options;return Array.prototype.map.call(d,f=>({displayValue:f.textContent,exportValue:f.value}))};return this.enableScripting&&this.hasJSActions?(s.addEventListener("updatefromsandbox",h=>{const d={value(f){o==null||o();const p=f.detail.value,g=new Set(Array.isArray(p)?p:[p]);for(const w of s.options)w.selected=g.has(w.value);t.setValue(e,{value:a(!0)}),c=a(!1)},multipleSelection(f){s.multiple=!0},remove(f){const p=s.options,g=f.detail.remove;p[g].selected=!1,s.remove(g),p.length>0&&Array.prototype.findIndex.call(p,E=>E.selected)===-1&&(p[0].selected=!0),t.setValue(e,{value:a(!0),items:u(f)}),c=a(!1)},clear(f){for(;s.length!==0;)s.remove(0);t.setValue(e,{value:null,items:[]}),c=a(!1)},insert(f){const{index:p,displayValue:g,exportValue:w}=f.detail.insert,E=s.children[p],m=document.createElement("option");m.textContent=g,m.value=w,E?E.before(m):s.append(m),t.setValue(e,{value:a(!0),items:u(f)}),c=a(!1)},items(f){const{items:p}=f.detail;for(;s.length!==0;)s.remove(0);for(const g of p){const{displayValue:w,exportValue:E}=g,m=document.createElement("option");m.textContent=w,m.value=E,s.append(m)}s.options.length>0&&(s.options[0].selected=!0),t.setValue(e,{value:a(!0),items:u(f)}),c=a(!1)},indices(f){const p=new Set(f.detail.indices);for(const g of f.target.options)g.selected=p.has(g.index);t.setValue(e,{value:a(!0)}),c=a(!1)},editable(f){f.target.disabled=!f.detail.editable}};this._dispatchEventFromSandbox(d,h)}),s.addEventListener("input",h=>{var p;const d=a(!0),f=a(!1);t.setValue(e,{value:d}),h.preventDefault(),(p=this.linkService.eventBus)==null||p.dispatch("dispatcheventinsandbox",{source:this,detail:{id:e,name:"Keystroke",value:c,change:f,changeEx:d,willCommit:!1,commitKey:1,keyDown:!1}})}),this._setEventListeners(s,null,[["focus","Focus"],["blur","Blur"],["mousedown","Mouse Down"],["mouseenter","Mouse Enter"],["mouseleave","Mouse Exit"],["mouseup","Mouse Up"],["input","Action"],["input","Validate"]],h=>h.target.value)):s.addEventListener("input",function(h){t.setValue(e,{value:a(!0)})}),this.data.combo&&this._setTextStyle(s),this._setBackgroundColor(s),this._setDefaultPropertiesFromJS(s),this.container.append(s),this.container}}class km extends Ft{constructor(t){const{data:e,elements:i}=t;super(t,{isRenderable:Ft._hasPopupData(e)}),this.elements=i,this.popup=null}render(){this.container.classList.add("popupAnnotation");const t=this.popup=new jP({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}),e=[];for(const i of this.elements)i.popup=t,e.push(i.data.id),i.addHighlightArea();return this.container.setAttribute("aria-controls",e.map(i=>`${q1}${i}`).join(",")),this.container}}var Ka,Pf,Rf,Xa,io,Lt,Gi,so,ku,Pu,Ga,Yi,Hn,Qi,Ru,Ji,_u,ro,oo,gt,Ad,Pm,qA,HA,UA,jA,bd,Ed,Rm;class jP{constructor({container:t,color:e,elements:i,titleObj:s,modificationDate:r,contentsObj:o,richText:a,parent:c,rect:u,parentRect:h,open:d}){b(this,gt);b(this,Ka,A(this,gt,UA).bind(this));b(this,Pf,A(this,gt,Rm).bind(this));b(this,Rf,A(this,gt,Ed).bind(this));b(this,Xa,A(this,gt,bd).bind(this));b(this,io,null);b(this,Lt,null);b(this,Gi,null);b(this,so,null);b(this,ku,null);b(this,Pu,null);b(this,Ga,null);b(this,Yi,!1);b(this,Hn,null);b(this,Qi,null);b(this,Ru,null);b(this,Ji,null);b(this,_u,null);b(this,ro,null);b(this,oo,!1);var f;S(this,Lt,t),S(this,_u,s),S(this,Gi,o),S(this,Ji,a),S(this,Pu,c),S(this,io,e),S(this,Ru,u),S(this,Ga,h),S(this,ku,i),S(this,so,B1.toDateObject(r)),this.trigger=i.flatMap(p=>p.getElementsToTriggerPopup());for(const p of this.trigger)p.addEventListener("click",l(this,Xa)),p.addEventListener("mouseenter",l(this,Rf)),p.addEventListener("mouseleave",l(this,Pf)),p.classList.add("popupTriggerArea");for(const p of i)(f=p.container)==null||f.addEventListener("keydown",l(this,Ka));l(this,Lt).hidden=!0,d&&A(this,gt,bd).call(this)}render(){if(l(this,Hn))return;const t=S(this,Hn,document.createElement("div"));if(t.className="popup",l(this,io)){const r=t.style.outlineColor=q.makeHexColor(...l(this,io));CSS.supports("background-color","color-mix(in srgb, red 30%, white)")?t.style.backgroundColor=`color-mix(in srgb, ${r} 30%, white)`:t.style.backgroundColor=q.makeHexColor(...l(this,io).map(a=>Math.floor(.7*(255-a)+a)))}const e=document.createElement("span");e.className="header";const i=document.createElement("h1");if(e.append(i),{dir:i.dir,str:i.textContent}=l(this,_u),t.append(e),l(this,so)){const r=document.createElement("span");r.classList.add("popupDate"),r.setAttribute("data-l10n-id","pdfjs-annotation-date-string"),r.setAttribute("data-l10n-args",JSON.stringify({date:l(this,so).toLocaleDateString(),time:l(this,so).toLocaleTimeString()})),e.append(r)}const s=l(this,gt,Ad);if(s)IA.render({xfaHtml:s,intent:"richText",div:t}),t.lastChild.classList.add("richText","popupContent");else{const r=this._formatContents(l(this,Gi));t.append(r)}l(this,Lt).append(t)}_formatContents({str:t,dir:e}){const i=document.createElement("p");i.classList.add("popupContent"),i.dir=e;const s=t.split(/(?:\r\n?|\n)/);for(let r=0,o=s.length;r{o.key==="Enter"&&(r?o.metaKey:o.ctrlKey)&&A(this,Ou,_m).call(this)}),!i.popupRef&&this.hasPopupData?this._createPopup():s.classList.add("popupTriggerArea"),e.append(s),e}getElementsToTriggerPopup(){return l(this,Fu)}addHighlightArea(){this.container.classList.add("highlightArea")}}Fu=new WeakMap,Ou=new WeakSet,_m=function(){var e;(e=this.downloadManager)==null||e.openOrDownloadData(this.content,this.filename)};var zu,ao,Ya,Io,GA,Lm;class tR{constructor({div:t,accessibilityManager:e,annotationCanvasMap:i,annotationEditorUIManager:s,page:r,viewport:o}){b(this,Io);b(this,zu,null);b(this,ao,null);b(this,Ya,new Map);this.div=t,S(this,zu,e),S(this,ao,i),this.page=r,this.viewport=o,this.zIndex=0,this._annotationEditorUIManager=s}async render(t){var o;const{annotations:e}=t,i=this.div;Mo(i,this.viewport);const s=new Map,r={data:null,layer:i,linkService:t.linkService,downloadManager:t.downloadManager,imageResourcesPath:t.imageResourcesPath||"",renderForms:t.renderForms!==!1,svgFactory:new ay,annotationStorage:t.annotationStorage||new dy,enableScripting:t.enableScripting===!0,hasJSActions:t.hasJSActions,fieldObjects:t.fieldObjects,parent:this,elements:null};for(const a of e){if(a.noHTML)continue;const c=a.annotationType===Ht.POPUP;if(c){const d=s.get(a.id);if(!d)continue;r.elements=d}else{const{width:d,height:f}=hs(a.rect);if(d<=0||f<=0)continue}r.data=a;const u=FP.create(r);if(!u.isRenderable)continue;if(!c&&a.popupRef){const d=s.get(a.popupRef);d?d.push(u):s.set(a.popupRef,[u])}const h=u.render();a.hidden&&(h.style.visibility="hidden"),A(this,Io,GA).call(this,h,a.id),u.annotationEditorType>0&&(l(this,Ya).set(u.data.id,u),(o=this._annotationEditorUIManager)==null||o.renderAnnotationElement(u))}A(this,Io,Lm).call(this)}update({viewport:t}){const e=this.div;this.viewport=t,Mo(e,{rotation:t.rotation}),A(this,Io,Lm).call(this),e.hidden=!1}getEditableAnnotations(){return Array.from(l(this,Ya).values())}getEditableAnnotation(t){return l(this,Ya).get(t)}}zu=new WeakMap,ao=new WeakMap,Ya=new WeakMap,Io=new WeakSet,GA=function(t,e){var s;const i=t.firstChild||t;i.id=`${q1}${e}`,this.div.append(t),(s=l(this,zu))==null||s.moveElementInDOM(this.div,t,i,!1)},Lm=function(){if(!l(this,ao))return;const t=this.div;for(const[e,i]of l(this,ao)){const s=t.querySelector(`[data-annotation-id="${e}"]`);if(!s)continue;i.className="annotationContent";const{firstChild:r}=s;r?r.nodeName==="CANVAS"?r.replaceWith(i):r.classList.contains("annotationContent")?r.after(i):r.before(i):s.append(i)}l(this,ao).clear()};const Qh=/\r\n?|\n/g;var Vu,qu,Hu,Uu,ju,Un,tn,Wu,en,Qa,qt,YA,QA,JA,xd,fs,Cd,Td,ZA,Nm,$A;const wt=class wt extends ht{constructor(e){super({...e,name:"freeTextEditor"});b(this,qt);b(this,Vu,this.editorDivBlur.bind(this));b(this,qu,this.editorDivFocus.bind(this));b(this,Hu,this.editorDivInput.bind(this));b(this,Uu,this.editorDivKeydown.bind(this));b(this,ju,this.editorDivPaste.bind(this));b(this,Un);b(this,tn,"");b(this,Wu,`${this.id}-editor`);b(this,en);b(this,Qa,null);S(this,Un,e.color||wt._defaultColor||ht._defaultLineColor),S(this,en,e.fontSize||wt._defaultFontSize)}static get _keyboardManager(){const e=wt.prototype,i=o=>o.isEmpty(),s=No.TRANSLATE_SMALL,r=No.TRANSLATE_BIG;return ot(this,"_keyboardManager",new Ah([[["ctrl+s","mac+meta+s","ctrl+p","mac+meta+p"],e.commitOrRemove,{bubbles:!0}],[["ctrl+Enter","mac+meta+Enter","Escape","mac+Escape"],e.commitOrRemove],[["ArrowLeft","mac+ArrowLeft"],e._translateEmpty,{args:[-s,0],checker:i}],[["ctrl+ArrowLeft","mac+shift+ArrowLeft"],e._translateEmpty,{args:[-r,0],checker:i}],[["ArrowRight","mac+ArrowRight"],e._translateEmpty,{args:[s,0],checker:i}],[["ctrl+ArrowRight","mac+shift+ArrowRight"],e._translateEmpty,{args:[r,0],checker:i}],[["ArrowUp","mac+ArrowUp"],e._translateEmpty,{args:[0,-s],checker:i}],[["ctrl+ArrowUp","mac+shift+ArrowUp"],e._translateEmpty,{args:[0,-r],checker:i}],[["ArrowDown","mac+ArrowDown"],e._translateEmpty,{args:[0,s],checker:i}],[["ctrl+ArrowDown","mac+shift+ArrowDown"],e._translateEmpty,{args:[0,r],checker:i}]]))}static initialize(e,i){ht.initialize(e,i,{strings:["pdfjs-free-text-default-content"]});const s=getComputedStyle(document.documentElement);this._internalPadding=parseFloat(s.getPropertyValue("--freetext-padding"))}static updateDefaultParams(e,i){switch(e){case G.FREETEXT_SIZE:wt._defaultFontSize=i;break;case G.FREETEXT_COLOR:wt._defaultColor=i;break}}updateParams(e,i){switch(e){case G.FREETEXT_SIZE:A(this,qt,YA).call(this,i);break;case G.FREETEXT_COLOR:A(this,qt,QA).call(this,i);break}}static get defaultPropertiesToUpdate(){return[[G.FREETEXT_SIZE,wt._defaultFontSize],[G.FREETEXT_COLOR,wt._defaultColor||ht._defaultLineColor]]}get propertiesToUpdate(){return[[G.FREETEXT_SIZE,l(this,en)],[G.FREETEXT_COLOR,l(this,Un)]]}_translateEmpty(e,i){this._uiManager.translateSelectedEditors(e,i,!0)}getInitialTranslation(){const e=this.parentScale;return[-wt._internalPadding*e,-(wt._internalPadding+l(this,en))*e]}rebuild(){this.parent&&(super.rebuild(),this.div!==null&&(this.isAttachedToDOM||this.parent.add(this)))}enableEditMode(){if(this.isInEditMode())return;this.parent.setEditingState(!1),this.parent.updateToolbar(st.FREETEXT),super.enableEditMode(),this.overlayDiv.classList.remove("enabled"),this.editorDiv.contentEditable=!0,this._isDraggable=!1,this.div.removeAttribute("aria-activedescendant");const e=this._uiManager._signal;this.editorDiv.addEventListener("keydown",l(this,Uu),{signal:e}),this.editorDiv.addEventListener("focus",l(this,qu),{signal:e}),this.editorDiv.addEventListener("blur",l(this,Vu),{signal:e}),this.editorDiv.addEventListener("input",l(this,Hu),{signal:e}),this.editorDiv.addEventListener("paste",l(this,ju),{signal:e})}disableEditMode(){this.isInEditMode()&&(this.parent.setEditingState(!0),super.disableEditMode(),this.overlayDiv.classList.add("enabled"),this.editorDiv.contentEditable=!1,this.div.setAttribute("aria-activedescendant",l(this,Wu)),this._isDraggable=!0,this.editorDiv.removeEventListener("keydown",l(this,Uu)),this.editorDiv.removeEventListener("focus",l(this,qu)),this.editorDiv.removeEventListener("blur",l(this,Vu)),this.editorDiv.removeEventListener("input",l(this,Hu)),this.editorDiv.removeEventListener("paste",l(this,ju)),this.div.focus({preventScroll:!0}),this.isEditing=!1,this.parent.div.classList.add("freetextEditing"))}focusin(e){this._focusEventsAllowed&&(super.focusin(e),e.target!==this.editorDiv&&this.editorDiv.focus())}onceAdded(){var e;this.width||(this.enableEditMode(),this.editorDiv.focus(),(e=this._initialOptions)!=null&&e.isCentered&&this.center(),this._initialOptions=null)}isEmpty(){return!this.editorDiv||this.editorDiv.innerText.trim()===""}remove(){this.isEditing=!1,this.parent&&(this.parent.setEditingState(!0),this.parent.div.classList.add("freetextEditing")),super.remove()}commit(){if(!this.isInEditMode())return;super.commit(),this.disableEditMode();const e=l(this,tn),i=S(this,tn,A(this,qt,JA).call(this).trimEnd());if(e===i)return;const s=r=>{if(S(this,tn,r),!r){this.remove();return}A(this,qt,Td).call(this),this._uiManager.rebuild(this),A(this,qt,xd).call(this)};this.addCommands({cmd:()=>{s(i)},undo:()=>{s(e)},mustExec:!1}),A(this,qt,xd).call(this)}shouldGetKeyboardEvents(){return this.isInEditMode()}enterInEditMode(){this.enableEditMode(),this.editorDiv.focus()}dblclick(e){this.enterInEditMode()}keydown(e){e.target===this.div&&e.key==="Enter"&&(this.enterInEditMode(),e.preventDefault())}editorDivKeydown(e){wt._keyboardManager.exec(this,e)}editorDivFocus(e){this.isEditing=!0}editorDivBlur(e){this.isEditing=!1}editorDivInput(e){this.parent.div.classList.toggle("freetextEditing",this.isEmpty())}disableEditing(){this.editorDiv.setAttribute("role","comment"),this.editorDiv.removeAttribute("aria-multiline")}enableEditing(){this.editorDiv.setAttribute("role","textbox"),this.editorDiv.setAttribute("aria-multiline",!0)}render(){if(this.div)return this.div;let e,i;this.width&&(e=this.x,i=this.y),super.render(),this.editorDiv=document.createElement("div"),this.editorDiv.className="internal",this.editorDiv.setAttribute("id",l(this,Wu)),this.editorDiv.setAttribute("data-l10n-id","pdfjs-free-text"),this.enableEditing(),ht._l10nPromise.get("pdfjs-free-text-default-content").then(r=>{var o;return(o=this.editorDiv)==null?void 0:o.setAttribute("default-content",r)}),this.editorDiv.contentEditable=!0;const{style:s}=this.editorDiv;if(s.fontSize=`calc(${l(this,en)}px * var(--scale-factor))`,s.color=l(this,Un),this.div.append(this.editorDiv),this.overlayDiv=document.createElement("div"),this.overlayDiv.classList.add("overlay","enabled"),this.div.append(this.overlayDiv),lf(this,this.div,["dblclick","keydown"]),this.width){const[r,o]=this.parentDimensions;if(this.annotationElementId){const{position:a}=l(this,Qa);let[c,u]=this.getInitialTranslation();[c,u]=this.pageTranslationToScreen(c,u);const[h,d]=this.pageDimensions,[f,p]=this.pageTranslation;let g,w;switch(this.rotation){case 0:g=e+(a[0]-f)/h,w=i+this.height-(a[1]-p)/d;break;case 90:g=e+(a[0]-f)/h,w=i-(a[1]-p)/d,[c,u]=[u,-c];break;case 180:g=e-this.width+(a[0]-f)/h,w=i-(a[1]-p)/d,[c,u]=[-c,-u];break;case 270:g=e+(a[0]-f-this.height*d)/h,w=i+(a[1]-p-this.width*h)/d,[c,u]=[-u,c];break}this.setAt(g*r,w*o,c,u)}else this.setAt(e*r,i*o,this.width*r,this.height*o);A(this,qt,Td).call(this),this._isDraggable=!0,this.editorDiv.contentEditable=!1}else this._isDraggable=!1,this.editorDiv.contentEditable=!0;return this.div}editorDivPaste(e){var g,w,E;const i=e.clipboardData||window.clipboardData,{types:s}=i;if(s.length===1&&s[0]==="text/plain")return;e.preventDefault();const r=A(g=wt,fs,Nm).call(g,i.getData("text")||"").replaceAll(Qh,` `);if(!r)return;const o=window.getSelection();if(!o.rangeCount)return;this.editorDiv.normalize(),o.deleteFromDocument();const a=o.getRangeAt(0);if(!r.includes(` `)){a.insertNode(document.createTextNode(r)),this.editorDiv.normalize(),o.collapseToStart();return}const{startContainer:c,startOffset:u}=a,h=[],d=[];if(c.nodeType===Node.TEXT_NODE){const m=c.parentElement;if(d.push(c.nodeValue.slice(u).replaceAll(Qh,"")),m!==this.editorDiv){let v=h;for(const y of this.editorDiv.childNodes){if(y===m){v=d;continue}v.push(A(w=wt,fs,Cd).call(w,y))}}h.push(c.nodeValue.slice(0,u).replaceAll(Qh,""))}else if(c===this.editorDiv){let m=h,v=0;for(const y of this.editorDiv.childNodes)v++===u&&(m=d),m.push(A(E=wt,fs,Cd).call(E,y))}S(this,tn,`${h.join(` `)}${r}${d.join(` -`)}`),A(this,qt,Td).call(this);const f=new Range;let p=h.reduce((m,v)=>m+v.length,0);for(const{firstChild:m}of this.editorDiv.childNodes)if(m.nodeType===Node.TEXT_NODE){const v=m.nodeValue.length;if(p<=v){f.setStart(m,p),f.setEnd(m,p);break}p-=v}o.removeAllRanges(),o.addRange(f)}get contentDiv(){return this.editorDiv}static deserialize(e,i,s){var a;let r=null;if(e instanceof BA){const{data:{defaultAppearanceData:{fontSize:c,fontColor:u},rect:h,rotation:d,id:f},textContent:p,textPosition:g,parent:{page:{pageNumber:w}}}=e;if(!p||p.length===0)return null;r=e={annotationType:st.FREETEXT,color:Array.from(u),fontSize:c,value:p.join(` -`),position:g,pageIndex:w-1,rect:h.slice(0),rotation:d,id:f,deleted:!1}}const o=super.deserialize(e,i,s);return S(o,en,e.fontSize),S(o,Un,q.makeHexColor(...e.color)),S(o,tn,A(a=wt,fs,Nm).call(a,e.value)),o.annotationElementId=e.id||null,S(o,Qa,r),o}serialize(e=!1){if(this.isEmpty())return null;if(this.deleted)return{pageIndex:this.pageIndex,id:this.annotationElementId,deleted:!0};const i=wt._internalPadding*this.parentScale,s=this.getRect(i,i),r=ht._colorManager.convert(this.isAttachedToDOM?getComputedStyle(this.editorDiv).color:l(this,Un)),o={annotationType:st.FREETEXT,color:r,fontSize:l(this,en),value:A(this,qt,$A).call(this),pageIndex:this.pageIndex,rect:s,rotation:this.rotation,structTreeParentId:this._structTreeParentId};return e?o:this.annotationElementId&&!A(this,qt,tb).call(this,o)?null:(o.id=this.annotationElementId,o)}renderAnnotationElement(e){const i=super.renderAnnotationElement(e);if(this.deleted)return i;const{style:s}=i;s.fontSize=`calc(${l(this,en)}px * var(--scale-factor))`,s.color=l(this,Un),i.replaceChildren();for(const o of l(this,tn).split(` -`)){const a=document.createElement("div");a.append(o?document.createTextNode(o):document.createElement("br")),i.append(a)}const r=wt._internalPadding*this.parentScale;return e.updateEdited({rect:this.getRect(r,r),popupContent:l(this,tn)}),i}resetAnnotationElement(e){super.resetAnnotationElement(e),e.resetEdited()}};Vu=new WeakMap,qu=new WeakMap,Hu=new WeakMap,Uu=new WeakMap,ju=new WeakMap,Un=new WeakMap,tn=new WeakMap,Wu=new WeakMap,en=new WeakMap,Qa=new WeakMap,qt=new WeakSet,QA=function(e){const i=r=>{this.editorDiv.style.fontSize=`calc(${r}px * var(--scale-factor))`,this.translate(0,-(r-l(this,en))*this.parentScale),S(this,en,r),A(this,qt,xd).call(this)},s=l(this,en);this.addCommands({cmd:i.bind(this,e),undo:i.bind(this,s),post:this._uiManager.updateUI.bind(this._uiManager,this),mustExec:!0,type:G.FREETEXT_SIZE,overwriteIfSameType:!0,keepUndo:!0})},JA=function(e){const i=r=>{S(this,Un,this.editorDiv.style.color=r)},s=l(this,Un);this.addCommands({cmd:i.bind(this,e),undo:i.bind(this,s),post:this._uiManager.updateUI.bind(this._uiManager,this),mustExec:!0,type:G.FREETEXT_COLOR,overwriteIfSameType:!0,keepUndo:!0})},ZA=function(){var i;const e=[];this.editorDiv.normalize();for(const s of this.editorDiv.childNodes)e.push(A(i=wt,fs,Cd).call(i,s));return e.join(` +`)}`),A(this,qt,Td).call(this);const f=new Range;let p=h.reduce((m,v)=>m+v.length,0);for(const{firstChild:m}of this.editorDiv.childNodes)if(m.nodeType===Node.TEXT_NODE){const v=m.nodeValue.length;if(p<=v){f.setStart(m,p),f.setEnd(m,p);break}p-=v}o.removeAllRanges(),o.addRange(f)}get contentDiv(){return this.editorDiv}static deserialize(e,i,s){var a;let r=null;if(e instanceof WA){const{data:{defaultAppearanceData:{fontSize:c,fontColor:u},rect:h,rotation:d,id:f},textContent:p,textPosition:g,parent:{page:{pageNumber:w}}}=e;if(!p||p.length===0)return null;r=e={annotationType:st.FREETEXT,color:Array.from(u),fontSize:c,value:p.join(` +`),position:g,pageIndex:w-1,rect:h.slice(0),rotation:d,id:f,deleted:!1}}const o=super.deserialize(e,i,s);return S(o,en,e.fontSize),S(o,Un,q.makeHexColor(...e.color)),S(o,tn,A(a=wt,fs,Nm).call(a,e.value)),o.annotationElementId=e.id||null,S(o,Qa,r),o}serialize(e=!1){if(this.isEmpty())return null;if(this.deleted)return{pageIndex:this.pageIndex,id:this.annotationElementId,deleted:!0};const i=wt._internalPadding*this.parentScale,s=this.getRect(i,i),r=ht._colorManager.convert(this.isAttachedToDOM?getComputedStyle(this.editorDiv).color:l(this,Un)),o={annotationType:st.FREETEXT,color:r,fontSize:l(this,en),value:A(this,qt,ZA).call(this),pageIndex:this.pageIndex,rect:s,rotation:this.rotation,structTreeParentId:this._structTreeParentId};return e?o:this.annotationElementId&&!A(this,qt,$A).call(this,o)?null:(o.id=this.annotationElementId,o)}renderAnnotationElement(e){const i=super.renderAnnotationElement(e);if(this.deleted)return i;const{style:s}=i;s.fontSize=`calc(${l(this,en)}px * var(--scale-factor))`,s.color=l(this,Un),i.replaceChildren();for(const o of l(this,tn).split(` +`)){const a=document.createElement("div");a.append(o?document.createTextNode(o):document.createElement("br")),i.append(a)}const r=wt._internalPadding*this.parentScale;return e.updateEdited({rect:this.getRect(r,r),popupContent:l(this,tn)}),i}resetAnnotationElement(e){super.resetAnnotationElement(e),e.resetEdited()}};Vu=new WeakMap,qu=new WeakMap,Hu=new WeakMap,Uu=new WeakMap,ju=new WeakMap,Un=new WeakMap,tn=new WeakMap,Wu=new WeakMap,en=new WeakMap,Qa=new WeakMap,qt=new WeakSet,YA=function(e){const i=r=>{this.editorDiv.style.fontSize=`calc(${r}px * var(--scale-factor))`,this.translate(0,-(r-l(this,en))*this.parentScale),S(this,en,r),A(this,qt,xd).call(this)},s=l(this,en);this.addCommands({cmd:i.bind(this,e),undo:i.bind(this,s),post:this._uiManager.updateUI.bind(this._uiManager,this),mustExec:!0,type:G.FREETEXT_SIZE,overwriteIfSameType:!0,keepUndo:!0})},QA=function(e){const i=r=>{S(this,Un,this.editorDiv.style.color=r)},s=l(this,Un);this.addCommands({cmd:i.bind(this,e),undo:i.bind(this,s),post:this._uiManager.updateUI.bind(this._uiManager,this),mustExec:!0,type:G.FREETEXT_COLOR,overwriteIfSameType:!0,keepUndo:!0})},JA=function(){var i;const e=[];this.editorDiv.normalize();for(const s of this.editorDiv.childNodes)e.push(A(i=wt,fs,Cd).call(i,s));return e.join(` `)},xd=function(){const[e,i]=this.parentDimensions;let s;if(this.isAttachedToDOM)s=this.div.getBoundingClientRect();else{const{currentLayer:r,div:o}=this,a=o.style.display,c=o.classList.contains("hidden");o.classList.remove("hidden"),o.style.display="hidden",r.div.append(this.div),s=o.getBoundingClientRect(),o.remove(),o.style.display=a,o.classList.toggle("hidden",c)}this.rotation%180===this.parentRotation%180?(this.width=s.width/e,this.height=s.height/i):(this.width=s.height/e,this.height=s.width/i),this.fixAndSetPosition()},fs=new WeakSet,Cd=function(e){return(e.nodeType===Node.TEXT_NODE?e.nodeValue:e.innerText).replaceAll(Qh,"")},Td=function(){if(this.editorDiv.replaceChildren(),!!l(this,tn))for(const e of l(this,tn).split(` -`)){const i=document.createElement("div");i.append(e?document.createTextNode(e):document.createElement("br")),this.editorDiv.append(i)}},$A=function(){return l(this,tn).replaceAll(" "," ")},Nm=function(e){return e.replaceAll(" "," ")},tb=function(e){const{value:i,fontSize:s,color:r,pageIndex:o}=l(this,Qa);return this._hasBeenMoved||e.value!==i||e.fontSize!==s||e.color.some((a,c)=>a!==r[c])||e.pageIndex!==o},b(wt,fs),I(wt,"_freeTextDefaultContent",""),I(wt,"_internalPadding",0),I(wt,"_defaultColor",null),I(wt,"_defaultFontSize",10),I(wt,"_type","freetext"),I(wt,"_editorType",st.FREETEXT);let Mm=wt;var Bu,Ws,jn,Le,eb,kd,nb,ib,Im;class Dm{constructor(t,e=0,i=0,s=!0){b(this,Le);b(this,Bu);b(this,Ws,[]);b(this,jn,[]);let r=1/0,o=-1/0,a=1/0,c=-1/0;const h=10**-4;for(const{x:m,y:v,width:y,height:x}of t){const C=Math.floor((m-e)/h)*h,T=Math.ceil((m+y+e)/h)*h,k=Math.floor((v-e)/h)*h,P=Math.ceil((v+x+e)/h)*h,M=[C,k,P,!0],L=[T,k,P,!1];l(this,Ws).push(M,L),r=Math.min(r,C),o=Math.max(o,T),a=Math.min(a,k),c=Math.max(c,P)}const d=o-r+2*i,f=c-a+2*i,p=r-i,g=a-i,w=l(this,Ws).at(s?-1:-2),E=[w[0],w[2]];for(const m of l(this,Ws)){const[v,y,x]=m;m[0]=(v-p)/d,m[1]=(y-g)/f,m[2]=(x-g)/f}S(this,Bu,{x:p,y:g,width:d,height:f,lastPoint:E})}getOutlines(){l(this,Ws).sort((e,i)=>e[0]-i[0]||e[1]-i[1]||e[2]-i[2]);const t=[];for(const e of l(this,Ws))e[3]?(t.push(...A(this,Le,Im).call(this,e)),A(this,Le,nb).call(this,e)):(A(this,Le,ib).call(this,e),t.push(...A(this,Le,Im).call(this,e)));return A(this,Le,eb).call(this,t)}}Bu=new WeakMap,Ws=new WeakMap,jn=new WeakMap,Le=new WeakSet,eb=function(t){const e=[],i=new Set;for(const o of t){const[a,c,u]=o;e.push([a,c,o],[a,u,o])}e.sort((o,a)=>o[1]-a[1]||o[0]-a[0]);for(let o=0,a=e.length;o0;){const o=i.values().next().value;let[a,c,u,h,d]=o;i.delete(o);let f=a,p=c;for(r=[a,u],s.push(r);;){let g;if(i.has(h))g=h;else if(i.has(d))g=d;else break;i.delete(g),[a,c,u,h,d]=g,f!==a&&(r.push(f,p,a,p===c?c:u),f=a),p=p===c?u:c}r.push(f,p)}return new nR(s,l(this,Bu))},kd=function(t){const e=l(this,jn);let i=0,s=e.length-1;for(;i<=s;){const r=i+s>>1,o=e[r][0];if(o===t)return r;o=0;s--){const[r,o]=l(this,jn)[s];if(r!==t)break;if(r===t&&o===e){l(this,jn).splice(s,1);return}}},Im=function(t){const[e,i,s]=t,r=[[e,i,s]],o=A(this,Le,kd).call(this,s);for(let a=0;a=c){if(p>u)r[h][1]=u;else{if(d===1)return[];r.splice(h,1),h--,d--}continue}r[h][2]=c,p>u&&r.push([e,u,p])}}}return r};class sb{toSVGPath(){throw new Error("Abstract method `toSVGPath` must be implemented.")}get box(){throw new Error("Abstract getter `box` must be implemented.")}serialize(t,e){throw new Error("Abstract method `serialize` must be implemented.")}get free(){return this instanceof Om}}var Ku,Ja;class nR extends sb{constructor(e,i){super();b(this,Ku);b(this,Ja);S(this,Ja,e),S(this,Ku,i)}toSVGPath(){const e=[];for(const i of l(this,Ja)){let[s,r]=i;e.push(`M${s} ${r}`);for(let o=2;o=6;g-=6)isNaN(e[g])?p.push(`L${e[g+4]} ${e[g+5]}`):p.push(`C${e[g]} ${e[g+1]} ${e[g+2]} ${e[g+3]} ${e[g+4]} ${e[g+5]}`);return p.push(`L${e[4]} ${e[5]} Z`),p.join(" ")}getOutlines(){var m;const t=l(this,di),e=l(this,Zi),i=l(this,et),s=i.subarray(4,6),r=i.subarray(16,18),[o,a,c,u]=l(this,hi),h=new Float64Array((((m=l(this,Bs))==null?void 0:m.length)??0)+2);for(let v=0,y=h.length-2;v=6;v-=6)for(let y=0;y<6;y+=2){if(isNaN(e[v+y])){w[E]=w[E+1]=NaN,E+=2;continue}w[E]=e[v+y],w[E+1]=e[v+y+1],E+=2}return w.set([NaN,NaN,NaN,NaN,e[4],e[5]],E),new Om(w,h,l(this,hi),l(this,tl),l(this,Za),l(this,$a))}};hi=new WeakMap,Zi=new WeakMap,Za=new WeakMap,$a=new WeakMap,di=new WeakMap,et=new WeakMap,lo=new WeakMap,co=new WeakMap,Xu=new WeakMap,Gu=new WeakMap,tl=new WeakMap,el=new WeakMap,Bs=new WeakMap,Yu=new WeakMap,_f=new WeakMap,Lf=new WeakMap,Qu=new WeakSet,Fm=function(){const t=l(this,et).subarray(4,6),e=l(this,et).subarray(16,18),[i,s,r,o]=l(this,hi);return[(l(this,lo)+(t[0]-e[0])/2-i)/r,(l(this,co)+(t[1]-e[1])/2-s)/o,(l(this,lo)+(e[0]-t[0])/2-i)/r,(l(this,co)+(e[1]-t[1])/2-s)/o]},b(Ni,Yu,8),b(Ni,_f,2),b(Ni,Lf,l(Ni,Yu)+l(Ni,_f));let hf=Ni;var nl,uo,$i,Ju,nn,Zu,Dt,Ue,Zl,$l,rb;class Om extends sb{constructor(e,i,s,r,o,a){super();b(this,Ue);b(this,nl);b(this,uo,null);b(this,$i);b(this,Ju);b(this,nn);b(this,Zu);b(this,Dt);S(this,Dt,e),S(this,nn,i),S(this,nl,s),S(this,Zu,r),S(this,$i,o),S(this,Ju,a),A(this,Ue,rb).call(this,a);const{x:c,y:u,width:h,height:d}=l(this,uo);for(let f=0,p=e.length;f-1?(S(this,sn,!0),A(this,Z,Hm).call(this,e),A(this,Z,tc).call(this)):(S(this,ol,e.anchorNode),S(this,sh,e.anchorOffset),S(this,rh,e.focusNode),S(this,oh,e.focusOffset),A(this,Z,qm).call(this),A(this,Z,tc).call(this),this.rotate(this.rotation))}static get _keyboardManager(){const e=ct.prototype;return ot(this,"_keyboardManager",new Ah([[["ArrowLeft","mac+ArrowLeft"],e._moveCaret,{args:[0]}],[["ArrowRight","mac+ArrowRight"],e._moveCaret,{args:[1]}],[["ArrowUp","mac+ArrowUp"],e._moveCaret,{args:[2]}],[["ArrowDown","mac+ArrowDown"],e._moveCaret,{args:[3]}]]))}get telemetryInitialData(){return{action:"added",type:l(this,sn)?"free_highlight":"highlight",color:this._uiManager.highlightColorNames.get(this.color),thickness:l(this,fi),methodOfCreation:l(this,ah)}}get telemetryFinalData(){return{type:"highlight",color:this._uiManager.highlightColorNames.get(this.color)}}static computeTelemetryFinalData(e){return{numberOfColors:e.get("color").size}}static initialize(e,i){var s;ht.initialize(e,i),ct._defaultColor||(ct._defaultColor=((s=i.highlightColors)==null?void 0:s.values().next().value)||"#fff066")}static updateDefaultParams(e,i){switch(e){case G.HIGHLIGHT_DEFAULT_COLOR:ct._defaultColor=i;break;case G.HIGHLIGHT_THICKNESS:ct._defaultThickness=i;break}}translateInPage(e,i){}get toolbarPosition(){return l(this,ll)}updateParams(e,i){switch(e){case G.HIGHLIGHT_COLOR:A(this,Z,lb).call(this,i);break;case G.HIGHLIGHT_THICKNESS:A(this,Z,cb).call(this,i);break}}static get defaultPropertiesToUpdate(){return[[G.HIGHLIGHT_DEFAULT_COLOR,ct._defaultColor],[G.HIGHLIGHT_THICKNESS,ct._defaultThickness]]}get propertiesToUpdate(){return[[G.HIGHLIGHT_COLOR,this.color||ct._defaultColor],[G.HIGHLIGHT_THICKNESS,l(this,fi)||ct._defaultThickness],[G.HIGHLIGHT_FREE,l(this,sn)]]}async addEditToolbar(){const e=await super.addEditToolbar();return e?(this._uiManager.highlightColors&&(S(this,al,new df({editor:this})),e.addColorPicker(l(this,al))),e):null}disableEditing(){super.disableEditing(),this.div.classList.toggle("disabled",!0)}enableEditing(){super.enableEditing(),this.div.classList.toggle("disabled",!1)}fixAndSetPosition(){return super.fixAndSetPosition(A(this,Z,ec).call(this))}getBaseTranslation(){return[0,0]}getRect(e,i){return super.getRect(e,i,A(this,Z,ec).call(this))}onceAdded(){this.parent.addUndoableEditor(this),this.div.focus()}remove(){A(this,Z,Um).call(this),this._reportTelemetry({action:"deleted"}),super.remove()}rebuild(){this.parent&&(super.rebuild(),this.div!==null&&(A(this,Z,tc).call(this),this.isAttachedToDOM||this.parent.add(this)))}setParent(e){var s;let i=!1;this.parent&&!e?A(this,Z,Um).call(this):e&&(A(this,Z,tc).call(this,e),i=!this.parent&&((s=this.div)==null?void 0:s.classList.contains("selectedEditor"))),super.setParent(e),this.show(this._isVisible),i&&this.select()}rotate(e){var r,o,a;const{drawLayer:i}=this.parent;let s;l(this,sn)?(e=(e-this.rotation+360)%360,s=A(r=ct,xn,Yo).call(r,l(this,Kn).box,e)):s=A(o=ct,xn,Yo).call(o,this,e),i.rotate(l(this,Ce),e),i.rotate(l(this,Bt),e),i.updateBox(l(this,Ce),s),i.updateBox(l(this,Bt),A(a=ct,xn,Yo).call(a,l(this,yn).box,e))}render(){if(this.div)return this.div;const e=super.render();l(this,cl)&&(e.setAttribute("aria-label",l(this,cl)),e.setAttribute("role","mark")),l(this,sn)?e.classList.add("free"):this.div.addEventListener("keydown",l(this,Mf),{signal:this._uiManager._signal});const i=S(this,po,document.createElement("div"));e.append(i),i.setAttribute("aria-hidden","true"),i.className="internal",i.style.clipPath=l(this,fo);const[s,r]=this.parentDimensions;return this.setDims(this.width*s,this.height*r),lf(this,l(this,po),["pointerover","pointerleave"]),this.enableEditing(),e}pointerover(){this.parent.drawLayer.addClass(l(this,Bt),"hovered")}pointerleave(){this.parent.drawLayer.removeClass(l(this,Bt),"hovered")}_moveCaret(e){switch(this.parent.unselect(this),e){case 0:case 2:A(this,Z,Pd).call(this,!0);break;case 1:case 3:A(this,Z,Pd).call(this,!1);break}}select(){var e,i;super.select(),l(this,Bt)&&((e=this.parent)==null||e.drawLayer.removeClass(l(this,Bt),"hovered"),(i=this.parent)==null||i.drawLayer.addClass(l(this,Bt),"selected"))}unselect(){var e;super.unselect(),l(this,Bt)&&((e=this.parent)==null||e.drawLayer.removeClass(l(this,Bt),"selected"),l(this,sn)||A(this,Z,Pd).call(this,!1))}get _mustFixPosition(){return!l(this,sn)}show(e=this._isVisible){super.show(e),this.parent&&(this.parent.drawLayer.show(l(this,Ce),e),this.parent.drawLayer.show(l(this,Bt),e))}static startHighlighting(e,i,{target:s,x:r,y:o}){const{x:a,y:c,width:u,height:h}=s.getBoundingClientRect(),d=E=>{A(this,xn,pb).call(this,e,E)},f=e._signal,p={capture:!0,passive:!1,signal:f},g=E=>{E.preventDefault(),E.stopPropagation()},w=E=>{s.removeEventListener("pointermove",d),window.removeEventListener("blur",w),window.removeEventListener("pointerup",w),window.removeEventListener("pointerdown",g,p),window.removeEventListener("contextmenu",Ke),A(this,xn,gb).call(this,e,E)};window.addEventListener("blur",w,{signal:f}),window.addEventListener("pointerup",w,{signal:f}),window.addEventListener("pointerdown",g,p),window.addEventListener("contextmenu",Ke,{signal:f}),s.addEventListener("pointermove",d,{signal:f}),this._freeHighlight=new hf({x:r,y:o},[a,c,u,h],e.scale,this._defaultThickness/2,i,.001),{id:this._freeHighlightId,clipPathId:this._freeHighlightClipId}=e.drawLayer.highlight(this._freeHighlight,this._defaultColor,this._defaultOpacity,!0)}static deserialize(e,i,s){var w;const r=super.deserialize(e,i,s),{rect:[o,a,c,u],color:h,quadPoints:d}=e;r.color=q.makeHexColor(...h),S(r,go,e.opacity);const[f,p]=r.pageDimensions;r.width=(c-o)/f,r.height=(u-a)/p;const g=S(r,Ks,[]);for(let E=0;E=0)S(this,Ce,i),S(this,fo,s),this.parent.drawLayer.finalizeLine(i,e),S(this,Bt,this.parent.drawLayer.highlightOutline(l(this,yn)));else if(this.parent){const p=this.parent.viewport.rotation;this.parent.drawLayer.updateLine(l(this,Ce),e),this.parent.drawLayer.updateBox(l(this,Ce),A(d=ct,xn,Yo).call(d,l(this,Kn).box,(p-this.rotation+360)%360)),this.parent.drawLayer.updateLine(l(this,Bt),l(this,yn)),this.parent.drawLayer.updateBox(l(this,Bt),A(f=ct,xn,Yo).call(f,l(this,yn).box,p))}const{x:o,y:a,width:c,height:u}=e.box;switch(this.rotation){case 0:this.x=o,this.y=a,this.width=c,this.height=u;break;case 90:{const[p,g]=this.parentDimensions;this.x=a,this.y=1-o,this.width=c*g/p,this.height=u*p/g;break}case 180:this.x=1-o,this.y=1-a,this.width=c,this.height=u;break;case 270:{const[p,g]=this.parentDimensions;this.x=1-a,this.y=o,this.width=c*g/p,this.height=u*p/g;break}}const{lastPoint:h}=l(this,yn).box;S(this,ll,[(h[0]-o)/c,(h[1]-a)/u])},lb=function(e){const i=r=>{var o,a;this.color=r,(o=this.parent)==null||o.drawLayer.changeColor(l(this,Ce),r),(a=l(this,al))==null||a.updateColor(r)},s=this.color;this.addCommands({cmd:i.bind(this,e),undo:i.bind(this,s),post:this._uiManager.updateUI.bind(this._uiManager,this),mustExec:!0,type:G.HIGHLIGHT_COLOR,overwriteIfSameType:!0,keepUndo:!0}),this._reportTelemetry({action:"color_changed",color:this._uiManager.highlightColorNames.get(e)},!0)},cb=function(e){const i=l(this,fi),s=r=>{S(this,fi,r),A(this,Z,ub).call(this,r)};this.addCommands({cmd:s.bind(this,e),undo:s.bind(this,i),post:this._uiManager.updateUI.bind(this._uiManager,this),mustExec:!0,type:G.INK_THICKNESS,overwriteIfSameType:!0,keepUndo:!0}),this._reportTelemetry({action:"thickness_changed",thickness:e},!0)},ub=function(e){if(!l(this,sn))return;A(this,Z,Hm).call(this,{highlightOutlines:l(this,Kn).getNewOutline(e/2)}),this.fixAndSetPosition();const[i,s]=this.parentDimensions;this.setDims(this.width*i,this.height*s)},Um=function(){l(this,Ce)===null||!this.parent||(this.parent.drawLayer.remove(l(this,Ce)),S(this,Ce,null),this.parent.drawLayer.remove(l(this,Bt)),S(this,Bt,null))},tc=function(e=this.parent){l(this,Ce)===null&&({id:Xe(this,Ce)._,clipPathId:Xe(this,fo)._}=e.drawLayer.highlight(l(this,Kn),this.color,l(this,go)),S(this,Bt,e.drawLayer.highlightOutline(l(this,yn))),l(this,po)&&(l(this,po).style.clipPath=l(this,fo)))},xn=new WeakSet,Yo=function({x:e,y:i,width:s,height:r},o){switch(o){case 90:return{x:1-i-r,y:e,width:r,height:s};case 180:return{x:1-e-s,y:1-i-r,width:s,height:r};case 270:return{x:i,y:1-e-s,width:r,height:s}}return{x:e,y:i,width:s,height:r}},hb=function(e){ct._keyboardManager.exec(this,e)},Pd=function(e){if(!l(this,ol))return;const i=window.getSelection();e?i.setPosition(l(this,ol),l(this,sh)):i.setPosition(l(this,rh),l(this,oh))},ec=function(){return l(this,sn)?this.rotation:0},db=function(){if(l(this,sn))return null;const[e,i]=this.pageDimensions,s=l(this,Ks),r=new Float32Array(s.length*8);let o=0;for(const{x:a,y:c,width:u,height:h}of s){const d=a*e,f=(1-c-h)*i;r[o]=r[o+4]=d,r[o+1]=r[o+3]=f,r[o+2]=r[o+6]=d+u*e,r[o+5]=r[o+7]=f+h*i,o+=8}return r},fb=function(e){return l(this,Kn).serialize(e,A(this,Z,ec).call(this))},pb=function(e,i){this._freeHighlight.add(i)&&e.drawLayer.updatePath(this._freeHighlightId,this._freeHighlight)},gb=function(e,i){this._freeHighlight.isEmpty()?e.drawLayer.removeFreeHighlight(this._freeHighlightId):e.createAndAddNewEditor(i,!1,{highlightId:this._freeHighlightId,highlightOutlines:this._freeHighlight.getOutlines(),clipPathId:this._freeHighlightClipId,methodOfCreation:"main_toolbar"}),this._freeHighlightId=-1,this._freeHighlight=null,this._freeHighlightClipId=""},b(ct,xn),I(ct,"_defaultColor",null),I(ct,"_defaultOpacity",1),I(ct,"_defaultThickness",12),I(ct,"_l10nPromise"),I(ct,"_type","highlight"),I(ct,"_editorType",st.HIGHLIGHT),I(ct,"_freeHighlightId",-1),I(ct,"_freeHighlight",null),I(ct,"_freeHighlightClipId","");let ff=ct;var mo,vo,lh,ch,uh,yo,pi,ts,wn,wo,So,es,Ao,bo,Xs,O,mb,vb,yb,wb,Wm,Sb,Bm,Ab,bb,Eb,xb,Cb,Er,Km,Rd,_d,Qo,Xm,Ld,ws,Tb,Gm,kb,Pb,Ym,Md,nc;const Ct=class Ct extends ht{constructor(e){super({...e,name:"inkEditor"});b(this,O);b(this,mo,0);b(this,vo,0);b(this,lh,this.canvasPointermove.bind(this));b(this,ch,this.canvasPointerleave.bind(this));b(this,uh,this.canvasPointerup.bind(this));b(this,yo,this.canvasPointerdown.bind(this));b(this,pi,null);b(this,ts,new Path2D);b(this,wn,!1);b(this,wo,!1);b(this,So,!1);b(this,es,null);b(this,Ao,0);b(this,bo,0);b(this,Xs,null);this.color=e.color||null,this.thickness=e.thickness||null,this.opacity=e.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(e,i){ht.initialize(e,i)}static updateDefaultParams(e,i){switch(e){case G.INK_THICKNESS:Ct._defaultThickness=i;break;case G.INK_COLOR:Ct._defaultColor=i;break;case G.INK_OPACITY:Ct._defaultOpacity=i/100;break}}updateParams(e,i){switch(e){case G.INK_THICKNESS:A(this,O,mb).call(this,i);break;case G.INK_COLOR:A(this,O,vb).call(this,i);break;case G.INK_OPACITY:A(this,O,yb).call(this,i);break}}static get defaultPropertiesToUpdate(){return[[G.INK_THICKNESS,Ct._defaultThickness],[G.INK_COLOR,Ct._defaultColor||ht._defaultLineColor],[G.INK_OPACITY,Math.round(Ct._defaultOpacity*100)]]}get propertiesToUpdate(){return[[G.INK_THICKNESS,this.thickness||Ct._defaultThickness],[G.INK_COLOR,this.color||Ct._defaultColor||ht._defaultLineColor],[G.INK_OPACITY,Math.round(100*(this.opacity??Ct._defaultOpacity))]]}rebuild(){this.parent&&(super.rebuild(),this.div!==null&&(this.canvas||(A(this,O,Rd).call(this),A(this,O,_d).call(this)),this.isAttachedToDOM||(this.parent.add(this),A(this,O,Qo).call(this)),A(this,O,nc).call(this)))}remove(){var e;this.canvas!==null&&(this.isEmpty()||this.commit(),this.canvas.width=this.canvas.height=0,this.canvas.remove(),this.canvas=null,l(this,pi)&&(clearTimeout(l(this,pi)),S(this,pi,null)),(e=l(this,es))==null||e.disconnect(),S(this,es,null),super.remove())}setParent(e){!this.parent&&e?this._uiManager.removeShouldRescale(this):this.parent&&e===null&&this._uiManager.addShouldRescale(this),super.setParent(e)}onScaleChanging(){const[e,i]=this.parentDimensions,s=this.width*e,r=this.height*i;this.setDimensions(s,r)}enableEditMode(){l(this,wn)||this.canvas===null||(super.enableEditMode(),this._isDraggable=!1,this.canvas.addEventListener("pointerdown",l(this,yo),{signal:this._uiManager._signal}))}disableEditMode(){!this.isInEditMode()||this.canvas===null||(super.disableEditMode(),this._isDraggable=!this.isEmpty(),this.div.classList.remove("editing"),this.canvas.removeEventListener("pointerdown",l(this,yo)))}onceAdded(){this._isDraggable=!this.isEmpty()}isEmpty(){return this.paths.length===0||this.paths.length===1&&this.paths[0].length===0}commit(){l(this,wn)||(super.commit(),this.isEditing=!1,this.disableEditMode(),this.setInForeground(),S(this,wn,!0),this.div.classList.add("disabled"),A(this,O,nc).call(this,!0),this.select(),this.parent.addInkEditorIfNeeded(!0),this.moveInDOM(),this.div.focus({preventScroll:!0}))}focusin(e){this._focusEventsAllowed&&(super.focusin(e),this.enableEditMode())}canvasPointerdown(e){e.button!==0||!this.isInEditMode()||l(this,wn)||(this.setInForeground(),e.preventDefault(),this.div.contains(document.activeElement)||this.div.focus({preventScroll:!0}),A(this,O,Sb).call(this,e.offsetX,e.offsetY))}canvasPointermove(e){e.preventDefault(),A(this,O,Bm).call(this,e.offsetX,e.offsetY)}canvasPointerup(e){e.preventDefault(),A(this,O,Km).call(this,e)}canvasPointerleave(e){A(this,O,Km).call(this,e)}get isResizable(){return!this.isEmpty()&&l(this,wn)}render(){if(this.div)return this.div;let e,i;this.width&&(e=this.x,i=this.y),super.render(),this.div.setAttribute("data-l10n-id","pdfjs-ink");const[s,r,o,a]=A(this,O,wb).call(this);if(this.setAt(s,r,0,0),this.setDims(o,a),A(this,O,Rd).call(this),this.width){const[c,u]=this.parentDimensions;this.setAspectRatio(this.width*c,this.height*u),this.setAt(e*c,i*u,this.width*c,this.height*u),S(this,So,!0),A(this,O,Qo).call(this),this.setDims(this.width*c,this.height*u),A(this,O,Er).call(this),this.div.classList.add("disabled")}else this.div.classList.add("editing"),this.enableEditMode();return A(this,O,_d).call(this),this.div}setDimensions(e,i){const s=Math.round(e),r=Math.round(i);if(l(this,Ao)===s&&l(this,bo)===r)return;S(this,Ao,s),S(this,bo,r),this.canvas.style.visibility="hidden";const[o,a]=this.parentDimensions;this.width=e/o,this.height=i/a,this.fixAndSetPosition(),l(this,wn)&&A(this,O,Xm).call(this,e,i),A(this,O,Qo).call(this),A(this,O,Er).call(this),this.canvas.style.visibility="visible",this.fixDims()}static deserialize(e,i,s){var E,m,v;if(e instanceof XA)return null;const r=super.deserialize(e,i,s);r.thickness=e.thickness,r.color=q.makeHexColor(...e.color),r.opacity=e.opacity;const[o,a]=r.pageDimensions,c=r.width*o,u=r.height*a,h=r.parentScale,d=e.thickness/2;S(r,wn,!0),S(r,Ao,Math.round(c)),S(r,bo,Math.round(u));const{paths:f,rect:p,rotation:g}=e;for(let{bezier:y}of f){y=A(E=Ct,ws,kb).call(E,y,p,g);const x=[];r.paths.push(x);let C=h*(y[0]-d),T=h*(y[1]-d);for(let P=2,M=y.length;P{this.thickness=r,A(this,O,nc).call(this)},s=this.thickness;this.addCommands({cmd:i.bind(this,e),undo:i.bind(this,s),post:this._uiManager.updateUI.bind(this._uiManager,this),mustExec:!0,type:G.INK_THICKNESS,overwriteIfSameType:!0,keepUndo:!0})},vb=function(e){const i=r=>{this.color=r,A(this,O,Er).call(this)},s=this.color;this.addCommands({cmd:i.bind(this,e),undo:i.bind(this,s),post:this._uiManager.updateUI.bind(this._uiManager,this),mustExec:!0,type:G.INK_COLOR,overwriteIfSameType:!0,keepUndo:!0})},yb=function(e){const i=r=>{this.opacity=r,A(this,O,Er).call(this)};e/=100;const s=this.opacity;this.addCommands({cmd:i.bind(this,e),undo:i.bind(this,s),post:this._uiManager.updateUI.bind(this._uiManager,this),mustExec:!0,type:G.INK_OPACITY,overwriteIfSameType:!0,keepUndo:!0})},wb=function(){const{parentRotation:e,parentDimensions:[i,s]}=this;switch(e){case 90:return[0,s,s,i];case 180:return[i,s,i,s];case 270:return[i,0,s,i];default:return[0,0,i,s]}},Wm=function(){const{ctx:e,color:i,opacity:s,thickness:r,parentScale:o,scaleFactor:a}=this;e.lineWidth=r*o/a,e.lineCap="round",e.lineJoin="round",e.miterLimit=10,e.strokeStyle=`${i}${Tk(s)}`},Sb=function(e,i){const s=this._uiManager._signal;this.canvas.addEventListener("contextmenu",Ke,{signal:s}),this.canvas.addEventListener("pointerleave",l(this,ch),{signal:s}),this.canvas.addEventListener("pointermove",l(this,lh),{signal:s}),this.canvas.addEventListener("pointerup",l(this,uh),{signal:s}),this.canvas.removeEventListener("pointerdown",l(this,yo)),this.isEditing=!0,l(this,So)||(S(this,So,!0),A(this,O,Qo).call(this),this.thickness||(this.thickness=Ct._defaultThickness),this.color||(this.color=Ct._defaultColor||ht._defaultLineColor),this.opacity??(this.opacity=Ct._defaultOpacity)),this.currentPath.push([e,i]),S(this,wo,!1),A(this,O,Wm).call(this),S(this,Xs,()=>{A(this,O,Eb).call(this),l(this,Xs)&&window.requestAnimationFrame(l(this,Xs))}),window.requestAnimationFrame(l(this,Xs))},Bm=function(e,i){const[s,r]=this.currentPath.at(-1);if(this.currentPath.length>1&&e===s&&i===r)return;const o=this.currentPath;let a=l(this,ts);if(o.push([e,i]),S(this,wo,!0),o.length<=2){a.moveTo(...o[0]),a.lineTo(e,i);return}o.length===3&&(S(this,ts,a=new Path2D),a.moveTo(...o[0])),A(this,O,xb).call(this,a,...o.at(-3),...o.at(-2),e,i)},Ab=function(){if(this.currentPath.length===0)return;const e=this.currentPath.at(-1);l(this,ts).lineTo(...e)},bb=function(e,i){S(this,Xs,null),e=Math.min(Math.max(e,0),this.canvas.width),i=Math.min(Math.max(i,0),this.canvas.height),A(this,O,Bm).call(this,e,i),A(this,O,Ab).call(this);let s;if(this.currentPath.length!==1)s=A(this,O,Cb).call(this);else{const u=[e,i];s=[[u,u.slice(),u.slice(),u]]}const r=l(this,ts),o=this.currentPath;this.currentPath=[],S(this,ts,new Path2D);const a=()=>{this.allRawPaths.push(o),this.paths.push(s),this.bezierPath2D.push(r),this._uiManager.rebuild(this)},c=()=>{this.allRawPaths.pop(),this.paths.pop(),this.bezierPath2D.pop(),this.paths.length===0?this.remove():(this.canvas||(A(this,O,Rd).call(this),A(this,O,_d).call(this)),A(this,O,nc).call(this))};this.addCommands({cmd:a,undo:c,mustExec:!0})},Eb=function(){if(!l(this,wo))return;S(this,wo,!1);const e=Math.ceil(this.thickness*this.parentScale),i=this.currentPath.slice(-3),s=i.map(a=>a[0]),r=i.map(a=>a[1]);Math.min(...s)-e,Math.max(...s)+e,Math.min(...r)-e,Math.max(...r)+e;const{ctx:o}=this;o.save(),o.clearRect(0,0,this.canvas.width,this.canvas.height);for(const a of this.bezierPath2D)o.stroke(a);o.stroke(l(this,ts)),o.restore()},xb=function(e,i,s,r,o,a,c){const u=(i+r)/2,h=(s+o)/2,d=(r+a)/2,f=(o+c)/2;e.bezierCurveTo(u+2*(r-u)/3,h+2*(o-h)/3,d+2*(r-d)/3,f+2*(o-f)/3,d,f)},Cb=function(){const e=this.currentPath;if(e.length<=2)return[[e[0],e[0],e.at(-1),e.at(-1)]];const i=[];let s,[r,o]=e[0];for(s=1;s{S(this,pi,null),this.canvas.removeEventListener("contextmenu",Ke)},10)),A(this,O,bb).call(this,e.offsetX,e.offsetY),this.addToAnnotationStorage(),this.setInBackground()},Rd=function(){this.canvas=document.createElement("canvas"),this.canvas.width=this.canvas.height=0,this.canvas.className="inkEditorCanvas",this.canvas.setAttribute("data-l10n-id","pdfjs-ink-canvas"),this.div.append(this.canvas),this.ctx=this.canvas.getContext("2d")},_d=function(){S(this,es,new ResizeObserver(e=>{const i=e[0].contentRect;i.width&&i.height&&this.setDimensions(i.width,i.height)})),l(this,es).observe(this.div),this._uiManager._signal.addEventListener("abort",()=>{var e;(e=l(this,es))==null||e.disconnect(),S(this,es,null)},{once:!0})},Qo=function(){if(!l(this,So))return;const[e,i]=this.parentDimensions;this.canvas.width=Math.ceil(this.width*e),this.canvas.height=Math.ceil(this.height*i),A(this,O,Ld).call(this)},Xm=function(e,i){const s=A(this,O,Md).call(this),r=(e-s)/l(this,vo),o=(i-s)/l(this,mo);this.scaleFactor=Math.min(r,o)},Ld=function(){const e=A(this,O,Md).call(this)/2;this.ctx.setTransform(this.scaleFactor,0,0,this.scaleFactor,this.translationX*this.scaleFactor+e,this.translationY*this.scaleFactor+e)},ws=new WeakSet,Tb=function(e){const i=new Path2D;for(let s=0,r=e.length;s`image/${i}`))}static get supportedTypesStr(){return ot(this,"supportedTypesStr",this.supportedTypes.join(","))}static isHandlingMimeForPasting(e){return this.supportedTypes.includes(e)}static paste(e,i){i.pasteEditor(st.STAMP,{bitmapFile:e.getAsFile()})}remove(){var e,i;l(this,oe)&&(S(this,re,null),this._uiManager.imageManager.deleteId(l(this,oe)),(e=l(this,gi))==null||e.remove(),S(this,gi,null),(i=l(this,is))==null||i.disconnect(),S(this,is,null),l(this,mi)&&(clearTimeout(l(this,mi)),S(this,mi,null))),super.remove()}rebuild(){if(!this.parent){l(this,oe)&&A(this,lt,Nd).call(this);return}super.rebuild(),this.div!==null&&(l(this,oe)&&l(this,gi)===null&&A(this,lt,Nd).call(this),this.isAttachedToDOM||this.parent.add(this))}onceAdded(){this._isDraggable=!0,this.div.focus()}isEmpty(){return!(l(this,Gs)||l(this,re)||l(this,ns)||l(this,Ys)||l(this,oe))}get isResizable(){return!0}render(){if(this.div)return this.div;let e,i;if(this.width&&(e=this.x,i=this.y),super.render(),this.div.hidden=!0,this.addAltTextButton(),l(this,re)?A(this,lt,Jm).call(this):A(this,lt,Nd).call(this),this.width){const[s,r]=this.parentDimensions;this.setAt(e*s,i*r,this.width*s,this.height*r)}return this.div}getImageForAltText(){return l(this,gi)}static deserialize(e,i,s){if(e instanceof GA)return null;const r=super.deserialize(e,i,s),{rect:o,bitmapUrl:a,bitmapId:c,isSvg:u,accessibilityData:h}=e;c&&s.imageManager.isValidId(c)?S(r,oe,c):S(r,ns,a),S(r,Xn,u);const[d,f]=r.pageDimensions;return r.width=(o[2]-o[0])/d,r.height=(o[3]-o[1])/f,h&&(r.altTextData=h),r}serialize(e=!1,i=null){if(this.isEmpty())return null;const s={annotationType:st.STAMP,bitmapId:l(this,oe),pageIndex:this.pageIndex,rect:this.getRect(0,0),rotation:this.rotation,isSvg:l(this,Xn),structTreeParentId:this._structTreeParentId};if(e)return s.bitmapUrl=A(this,lt,Dd).call(this,!0),s.accessibilityData=this.altTextData,s;const{decorative:r,altText:o}=this.altTextData;if(!r&&o&&(s.accessibilityData={type:"Figure",alt:o}),i===null)return s;i.stamps||(i.stamps=new Map);const a=l(this,Xn)?(s.rect[2]-s.rect[0])*(s.rect[3]-s.rect[1]):null;if(!i.stamps.has(l(this,oe)))i.stamps.set(l(this,oe),{area:a,serialized:s}),s.bitmap=A(this,lt,Dd).call(this,!1);else if(l(this,Xn)){const c=i.stamps.get(l(this,oe));a>c.area&&(c.area=a,c.serialized.bitmap.close(),c.serialized.bitmap=A(this,lt,Dd).call(this,!1))}return s}};re=new WeakMap,oe=new WeakMap,Gs=new WeakMap,ns=new WeakMap,Ys=new WeakMap,ul=new WeakMap,gi=new WeakMap,is=new WeakMap,mi=new WeakMap,Xn=new WeakMap,hh=new WeakMap,lt=new WeakSet,ic=function(e,i=!1){if(!e){this.remove();return}S(this,re,e.bitmap),i||(S(this,oe,e.id),S(this,Xn,e.isSvg)),e.file&&S(this,ul,e.file.name),A(this,lt,Jm).call(this)},sc=function(){S(this,Gs,null),this._uiManager.enableWaiting(!1),l(this,gi)&&this.div.focus()},Nd=function(){if(l(this,oe)){this._uiManager.enableWaiting(!0),this._uiManager.imageManager.getFromId(l(this,oe)).then(s=>A(this,lt,ic).call(this,s,!0)).finally(()=>A(this,lt,sc).call(this));return}if(l(this,ns)){const s=l(this,ns);S(this,ns,null),this._uiManager.enableWaiting(!0),S(this,Gs,this._uiManager.imageManager.getFromUrl(s).then(r=>A(this,lt,ic).call(this,r)).finally(()=>A(this,lt,sc).call(this)));return}if(l(this,Ys)){const s=l(this,Ys);S(this,Ys,null),this._uiManager.enableWaiting(!0),S(this,Gs,this._uiManager.imageManager.getFromFile(s).then(r=>A(this,lt,ic).call(this,r)).finally(()=>A(this,lt,sc).call(this)));return}const e=document.createElement("input");e.type="file",e.accept=vc.supportedTypesStr;const i=this._uiManager._signal;S(this,Gs,new Promise(s=>{e.addEventListener("change",async()=>{if(!e.files||e.files.length===0)this.remove();else{this._uiManager.enableWaiting(!0);const r=await this._uiManager.imageManager.getFromFile(e.files[0]);A(this,lt,ic).call(this,r)}s()},{signal:i}),e.addEventListener("cancel",()=>{this.remove(),s()},{signal:i})}).finally(()=>A(this,lt,sc).call(this))),e.click()},Jm=function(){const{div:e}=this;let{width:i,height:s}=l(this,re);const[r,o]=this.pageDimensions,a=.75;if(this.width)i=this.width*r,s=this.height*o;else if(i>a*r||s>a*o){const d=Math.min(a*r/i,a*o/s);i*=d,s*=d}const[c,u]=this.parentDimensions;this.setDims(i*c/r,s*u/o),this._uiManager.enableWaiting(!1);const h=S(this,gi,document.createElement("canvas"));e.append(h),e.hidden=!1,A(this,lt,Zm).call(this,i,s),A(this,lt,Lb).call(this),l(this,hh)||(this.parent.addUndoableEditor(this),S(this,hh,!0)),this._reportTelemetry({action:"inserted_image"}),l(this,ul)&&h.setAttribute("aria-label",l(this,ul))},Rb=function(e,i){var a;const[s,r]=this.parentDimensions;this.width=e/s,this.height=i/r,this.setDims(e,i),(a=this._initialOptions)!=null&&a.isCentered?this.center():this.fixAndSetPosition(),this._initialOptions=null,l(this,mi)!==null&&clearTimeout(l(this,mi)),S(this,mi,setTimeout(()=>{S(this,mi,null),A(this,lt,Zm).call(this,e,i)},200))},_b=function(e,i){const{width:s,height:r}=l(this,re);let o=s,a=r,c=l(this,re);for(;o>2*e||a>2*i;){const u=o,h=a;o>2*e&&(o=o>=16384?Math.floor(o/2)-1:Math.ceil(o/2)),a>2*i&&(a=a>=16384?Math.floor(a/2)-1:Math.ceil(a/2));const d=new OffscreenCanvas(o,a);d.getContext("2d").drawImage(c,0,0,u,h,0,0,o,a),c=d.transferToImageBitmap()}return c},Zm=function(e,i){e=Math.ceil(e),i=Math.ceil(i);const s=l(this,gi);if(!s||s.width===e&&s.height===i)return;s.width=e,s.height=i;const r=l(this,Xn)?l(this,re):A(this,lt,_b).call(this,e,i);if(this._uiManager.hasMLManager&&!this.hasAltText()){const c=new OffscreenCanvas(e,i).getContext("2d");c.drawImage(r,0,0,r.width,r.height,0,0,e,i),this._uiManager.mlGuess({service:"image-to-text",request:{data:c.getImageData(0,0,e,i).data,width:e,height:i,channels:4}}).then(u=>{const h=(u==null?void 0:u.output)||"";this.parent&&h&&!this.hasAltText()&&(this.altTextData={altText:h,decorative:!1})})}const o=s.getContext("2d");o.filter=this._uiManager.hcmFilter,o.drawImage(r,0,0,r.width,r.height,0,0,e,i)},Dd=function(e){if(e){if(l(this,Xn)){const r=this._uiManager.imageManager.getSvgUrl(l(this,oe));if(r)return r}const i=document.createElement("canvas");return{width:i.width,height:i.height}=l(this,re),i.getContext("2d").drawImage(l(this,re),0,0),i.toDataURL()}if(l(this,Xn)){const[i,s]=this.pageDimensions,r=Math.round(this.width*i*dr.PDF_TO_CSS_UNITS),o=Math.round(this.height*s*dr.PDF_TO_CSS_UNITS),a=new OffscreenCanvas(r,o);return a.getContext("2d").drawImage(l(this,re),0,0,l(this,re).width,l(this,re).height,0,0,r,o),a.transferToImageBitmap()}return structuredClone(l(this,re))},Lb=function(){this._uiManager._signal&&(S(this,is,new ResizeObserver(e=>{const i=e[0].contentRect;i.width&&i.height&&A(this,lt,Rb).call(this,i.width,i.height)})),l(this,is).observe(this.div),this._uiManager._signal.addEventListener("abort",()=>{var e;(e=l(this,is))==null||e.disconnect(),S(this,is,null)},{once:!0}))},I(vc,"_type","stamp"),I(vc,"_editorType",st.STAMP);let Qm=vc;var Eo,hl,vi,xo,ss,rs,os,rn,Qs,dl,fl,Te,j,Js,ce,Mb,tv,ev,nv,Id;const Mn=class Mn{constructor({uiManager:t,pageIndex:e,div:i,accessibilityManager:s,annotationLayer:r,drawLayer:o,textLayer:a,viewport:c,l10n:u}){b(this,ce);b(this,Eo);b(this,hl,!1);b(this,vi,null);b(this,xo,null);b(this,ss,null);b(this,rs,null);b(this,os,null);b(this,rn,new Map);b(this,Qs,!1);b(this,dl,!1);b(this,fl,!1);b(this,Te,null);b(this,j);const h=[...l(Mn,Js).values()];if(!Mn._initialized){Mn._initialized=!0;for(const d of h)d.initialize(u,t)}t.registerEditorTypes(h),S(this,j,t),this.pageIndex=e,this.div=i,S(this,Eo,s),S(this,vi,r),this.viewport=c,S(this,Te,a),this.drawLayer=o,l(this,j).addLayer(this)}get isEmpty(){return l(this,rn).size===0}get isInvisible(){return this.isEmpty&&l(this,j).getMode()===st.NONE}updateToolbar(t){l(this,j).updateToolbar(t)}updateMode(t=l(this,j).getMode()){switch(A(this,ce,Id).call(this),t){case st.NONE:this.disableTextSelection(),this.togglePointerEvents(!1),this.toggleAnnotationLayerPointerEvents(!0),this.disableClick();return;case st.INK:this.addInkEditorIfNeeded(!1),this.disableTextSelection(),this.togglePointerEvents(!0),this.disableClick();break;case st.HIGHLIGHT:this.enableTextSelection(),this.togglePointerEvents(!1),this.disableClick();break;default:this.disableTextSelection(),this.togglePointerEvents(!0),this.enableClick()}this.toggleAnnotationLayerPointerEvents(!1);const{classList:e}=this.div;for(const i of l(Mn,Js).values())e.toggle(`${i._type}Editing`,t===i._editorType);this.div.hidden=!1}hasTextLayer(t){var e;return t===((e=l(this,Te))==null?void 0:e.div)}addInkEditorIfNeeded(t){if(l(this,j).getMode()!==st.INK)return;if(!t){for(const i of l(this,rn).values())if(i.isEmpty()){i.setInBackground();return}}this.createAndAddNewEditor({offsetX:0,offsetY:0},!1).setInBackground()}setEditingState(t){l(this,j).setEditingState(t)}addCommands(t){l(this,j).addCommands(t)}togglePointerEvents(t=!1){this.div.classList.toggle("disabled",!t)}toggleAnnotationLayerPointerEvents(t=!1){var e;(e=l(this,vi))==null||e.div.classList.toggle("disabled",!t)}enable(){this.div.tabIndex=0,this.togglePointerEvents(!0);const t=new Set;for(const i of l(this,rn).values())i.enableEditing(),i.show(!0),i.annotationElementId&&(l(this,j).removeChangedExistingAnnotation(i),t.add(i.annotationElementId));if(!l(this,vi))return;const e=l(this,vi).getEditableAnnotations();for(const i of e){if(i.hide(),l(this,j).isDeletedAnnotationElement(i.data.id)||t.has(i.data.id))continue;const s=this.deserialize(i);s&&(this.addOrRebuild(s),s.enableEditing())}}disable(){var s;S(this,fl,!0),this.div.tabIndex=-1,this.togglePointerEvents(!1);const t=new Map,e=new Map;for(const r of l(this,rn).values())if(r.disableEditing(),!!r.annotationElementId){if(r.serialize()!==null){t.set(r.annotationElementId,r);continue}else e.set(r.annotationElementId,r);(s=this.getEditableAnnotation(r.annotationElementId))==null||s.show(),r.remove()}if(l(this,vi)){const r=l(this,vi).getEditableAnnotations();for(const o of r){const{id:a}=o.data;if(l(this,j).isDeletedAnnotationElement(a))continue;let c=e.get(a);if(c){c.resetAnnotationElement(o),c.show(!1),o.show();continue}c=t.get(a),c&&(l(this,j).addChangedExistingAnnotation(c),c.renderAnnotationElement(o),c.show(!1)),o.show()}}A(this,ce,Id).call(this),this.isEmpty&&(this.div.hidden=!0);const{classList:i}=this.div;for(const r of l(Mn,Js).values())i.remove(`${r._type}Editing`);this.disableTextSelection(),this.toggleAnnotationLayerPointerEvents(!0),S(this,fl,!1)}getEditableAnnotation(t){var e;return((e=l(this,vi))==null?void 0:e.getEditableAnnotation(t))||null}setActiveEditor(t){l(this,j).getActive()!==t&&l(this,j).setActiveEditor(t)}enableTextSelection(){var t;this.div.tabIndex=-1,(t=l(this,Te))!=null&&t.div&&!l(this,rs)&&(S(this,rs,A(this,ce,Mb).bind(this)),l(this,Te).div.addEventListener("pointerdown",l(this,rs),{signal:l(this,j)._signal}),l(this,Te).div.classList.add("highlighting"))}disableTextSelection(){var t;this.div.tabIndex=0,(t=l(this,Te))!=null&&t.div&&l(this,rs)&&(l(this,Te).div.removeEventListener("pointerdown",l(this,rs)),S(this,rs,null),l(this,Te).div.classList.remove("highlighting"))}enableClick(){if(l(this,ss))return;const t=l(this,j)._signal;S(this,ss,this.pointerdown.bind(this)),S(this,xo,this.pointerup.bind(this)),this.div.addEventListener("pointerdown",l(this,ss),{signal:t}),this.div.addEventListener("pointerup",l(this,xo),{signal:t})}disableClick(){l(this,ss)&&(this.div.removeEventListener("pointerdown",l(this,ss)),this.div.removeEventListener("pointerup",l(this,xo)),S(this,ss,null),S(this,xo,null))}attach(t){l(this,rn).set(t.id,t);const{annotationElementId:e}=t;e&&l(this,j).isDeletedAnnotationElement(e)&&l(this,j).removeDeletedAnnotationElement(t)}detach(t){var e;l(this,rn).delete(t.id),(e=l(this,Eo))==null||e.removePointerInTextLayer(t.contentDiv),!l(this,fl)&&t.annotationElementId&&l(this,j).addDeletedAnnotationElement(t)}remove(t){this.detach(t),l(this,j).removeEditor(t),t.div.remove(),t.isAttachedToDOM=!1,l(this,dl)||this.addInkEditorIfNeeded(!1)}changeParent(t){var e;t.parent!==this&&(t.parent&&t.annotationElementId&&(l(this,j).addDeletedAnnotationElement(t.annotationElementId),ht.deleteAnnotationElement(t),t.annotationElementId=null),this.attach(t),(e=t.parent)==null||e.detach(t),t.setParent(this),t.div&&t.isAttachedToDOM&&(t.div.remove(),this.div.append(t.div)))}add(t){if(!(t.parent===this&&t.isAttachedToDOM)){if(this.changeParent(t),l(this,j).addEditor(t),this.attach(t),!t.isAttachedToDOM){const e=t.render();this.div.append(e),t.isAttachedToDOM=!0}t.fixAndSetPosition(),t.onceAdded(),l(this,j).addToAnnotationStorage(t),t._reportTelemetry(t.telemetryInitialData)}}moveEditorInDOM(t){var i;if(!t.isAttachedToDOM)return;const{activeElement:e}=document;t.div.contains(e)&&!l(this,os)&&(t._focusEventsAllowed=!1,S(this,os,setTimeout(()=>{S(this,os,null),t.div.contains(document.activeElement)?t._focusEventsAllowed=!0:(t.div.addEventListener("focusin",()=>{t._focusEventsAllowed=!0},{once:!0,signal:l(this,j)._signal}),e.focus())},0))),t._structTreeParentId=(i=l(this,Eo))==null?void 0:i.moveElementInDOM(this.div,t.div,t.contentDiv,!0)}addOrRebuild(t){t.needsToBeRebuilt()?(t.parent||(t.parent=this),t.rebuild(),t.show()):this.add(t)}addUndoableEditor(t){const e=()=>t._uiManager.rebuild(t),i=()=>{t.remove()};this.addCommands({cmd:e,undo:i,mustExec:!1})}getNextId(){return l(this,j).getId()}get _signal(){return l(this,j)._signal}canCreateNewEmptyEditor(){var t;return(t=l(this,ce,tv))==null?void 0:t.canCreateNewEmptyEditor()}pasteEditor(t,e){l(this,j).updateToolbar(t),l(this,j).updateMode(t);const{offsetX:i,offsetY:s}=A(this,ce,nv).call(this),r=this.getNextId(),o=A(this,ce,ev).call(this,{parent:this,id:r,x:i,y:s,uiManager:l(this,j),isCentered:!0,...e});o&&this.add(o)}deserialize(t){var e;return((e=l(Mn,Js).get(t.annotationType??t.annotationEditorType))==null?void 0:e.deserialize(t,this,l(this,j)))||null}createAndAddNewEditor(t,e,i={}){const s=this.getNextId(),r=A(this,ce,ev).call(this,{parent:this,id:s,x:t.offsetX,y:t.offsetY,uiManager:l(this,j),isCentered:e,...i});return r&&this.add(r),r}addNewEditor(){this.createAndAddNewEditor(A(this,ce,nv).call(this),!0)}setSelected(t){l(this,j).setSelected(t)}toggleSelected(t){l(this,j).toggleSelected(t)}isSelected(t){return l(this,j).isSelected(t)}unselect(t){l(this,j).unselect(t)}pointerup(t){const{isMac:e}=He.platform;if(!(t.button!==0||t.ctrlKey&&e)&&t.target===this.div&&l(this,Qs)){if(S(this,Qs,!1),!l(this,hl)){S(this,hl,!0);return}if(l(this,j).getMode()===st.STAMP){l(this,j).unselectAll();return}this.createAndAddNewEditor(t,!1)}}pointerdown(t){if(l(this,j).getMode()===st.HIGHLIGHT&&this.enableTextSelection(),l(this,Qs)){S(this,Qs,!1);return}const{isMac:e}=He.platform;if(t.button!==0||t.ctrlKey&&e||t.target!==this.div)return;S(this,Qs,!0);const i=l(this,j).getActive();S(this,hl,!i||i.isEmpty())}findNewParent(t,e,i){const s=l(this,j).findParent(e,i);return s===null||s===this?!1:(s.changeParent(t),!0)}destroy(){var t,e;((t=l(this,j).getActive())==null?void 0:t.parent)===this&&(l(this,j).commitOrRemove(),l(this,j).setActiveEditor(null)),l(this,os)&&(clearTimeout(l(this,os)),S(this,os,null));for(const i of l(this,rn).values())(e=l(this,Eo))==null||e.removePointerInTextLayer(i.contentDiv),i.setParent(null),i.isAttachedToDOM=!1,i.div.remove();this.div=null,l(this,rn).clear(),l(this,j).removeLayer(this)}render({viewport:t}){this.viewport=t,Mo(this.div,t);for(const e of l(this,j).getEditors(this.pageIndex))this.add(e),e.rebuild();this.updateMode()}update({viewport:t}){l(this,j).commitOrRemove(),A(this,ce,Id).call(this);const e=this.viewport.rotation,i=t.rotation;if(this.viewport=t,Mo(this.div,{rotation:i}),e!==i)for(const s of l(this,rn).values())s.rotate(i);this.addInkEditorIfNeeded(!1)}get pageDimensions(){const{pageWidth:t,pageHeight:e}=this.viewport.rawDims;return[t,e]}get scale(){return l(this,j).viewParameters.realScale}};Eo=new WeakMap,hl=new WeakMap,vi=new WeakMap,xo=new WeakMap,ss=new WeakMap,rs=new WeakMap,os=new WeakMap,rn=new WeakMap,Qs=new WeakMap,dl=new WeakMap,fl=new WeakMap,Te=new WeakMap,j=new WeakMap,Js=new WeakMap,ce=new WeakSet,Mb=function(t){if(l(this,j).unselectAll(),t.target===l(this,Te).div){const{isMac:e}=He.platform;if(t.button!==0||t.ctrlKey&&e)return;l(this,j).showAllEditors("highlight",!0,!0),l(this,Te).div.classList.add("free"),ff.startHighlighting(this,l(this,j).direction==="ltr",t),l(this,Te).div.addEventListener("pointerup",()=>{l(this,Te).div.classList.remove("free")},{once:!0,signal:l(this,j)._signal}),t.preventDefault()}},tv=function(){return l(Mn,Js).get(l(this,j).getMode())},ev=function(t){const e=l(this,ce,tv);return e?new e.prototype.constructor(t):null},nv=function(){const{x:t,y:e,width:i,height:s}=this.div.getBoundingClientRect(),r=Math.max(0,t),o=Math.max(0,e),a=Math.min(window.innerWidth,t+i),c=Math.min(window.innerHeight,e+s),u=(r+a)/2-t,h=(o+c)/2-e,[d,f]=this.viewport.rotation%180===0?[u,h]:[h,u];return{offsetX:d,offsetY:f}},Id=function(){S(this,dl,!0);for(const t of l(this,rn).values())t.isEmpty()&&t.remove();S(this,dl,!1)},I(Mn,"_initialized",!1),b(Mn,Js,new Map([Mm,jm,Qm,ff].map(t=>[t._editorType,t])));let $m=Mn;var yi,dh,Kt,Zs,fh,sv,Fo,rv,Nb;const te=class te{constructor({pageIndex:t}){b(this,Fo);b(this,yi,null);b(this,dh,0);b(this,Kt,new Map);b(this,Zs,new Map);this.pageIndex=t}setParent(t){if(!l(this,yi)){S(this,yi,t);return}if(l(this,yi)!==t){if(l(this,Kt).size>0)for(const e of l(this,Kt).values())e.remove(),t.append(e);S(this,yi,t)}}static get _svgFactory(){return ot(this,"_svgFactory",new ly)}highlight(t,e,i,s=!1){const r=Xe(this,dh)._++,o=A(this,Fo,rv).call(this,t.box);o.classList.add("highlight"),t.free&&o.classList.add("free");const a=te._svgFactory.createElement("defs");o.append(a);const c=te._svgFactory.createElement("path");a.append(c);const u=`path_p${this.pageIndex}_${r}`;c.setAttribute("id",u),c.setAttribute("d",t.toSVGPath()),s&&l(this,Zs).set(r,c);const h=A(this,Fo,Nb).call(this,a,u),d=te._svgFactory.createElement("use");return o.append(d),o.setAttribute("fill",e),o.setAttribute("fill-opacity",i),d.setAttribute("href",`#${u}`),l(this,Kt).set(r,o),{id:r,clipPathId:`url(#${h})`}}highlightOutline(t){const e=Xe(this,dh)._++,i=A(this,Fo,rv).call(this,t.box);i.classList.add("highlightOutline");const s=te._svgFactory.createElement("defs");i.append(s);const r=te._svgFactory.createElement("path");s.append(r);const o=`path_p${this.pageIndex}_${e}`;r.setAttribute("id",o),r.setAttribute("d",t.toSVGPath()),r.setAttribute("vector-effect","non-scaling-stroke");let a;if(t.free){i.classList.add("free");const h=te._svgFactory.createElement("mask");s.append(h),a=`mask_p${this.pageIndex}_${e}`,h.setAttribute("id",a),h.setAttribute("maskUnits","objectBoundingBox");const d=te._svgFactory.createElement("rect");h.append(d),d.setAttribute("width","1"),d.setAttribute("height","1"),d.setAttribute("fill","white");const f=te._svgFactory.createElement("use");h.append(f),f.setAttribute("href",`#${o}`),f.setAttribute("stroke","none"),f.setAttribute("fill","black"),f.setAttribute("fill-rule","nonzero"),f.classList.add("mask")}const c=te._svgFactory.createElement("use");i.append(c),c.setAttribute("href",`#${o}`),a&&c.setAttribute("mask",`url(#${a})`);const u=c.cloneNode();return i.append(u),c.classList.add("mainOutline"),u.classList.add("secondaryOutline"),l(this,Kt).set(e,i),e}finalizeLine(t,e){const i=l(this,Zs).get(t);l(this,Zs).delete(t),this.updateBox(t,e.box),i.setAttribute("d",e.toSVGPath())}updateLine(t,e){l(this,Kt).get(t).firstChild.firstChild.setAttribute("d",e.toSVGPath())}removeFreeHighlight(t){this.remove(t),l(this,Zs).delete(t)}updatePath(t,e){l(this,Zs).get(t).setAttribute("d",e.toSVGPath())}updateBox(t,e){var i;A(i=te,fh,sv).call(i,l(this,Kt).get(t),e)}show(t,e){l(this,Kt).get(t).classList.toggle("hidden",!e)}rotate(t,e){l(this,Kt).get(t).setAttribute("data-main-rotation",e)}changeColor(t,e){l(this,Kt).get(t).setAttribute("fill",e)}changeOpacity(t,e){l(this,Kt).get(t).setAttribute("fill-opacity",e)}addClass(t,e){l(this,Kt).get(t).classList.add(e)}removeClass(t,e){l(this,Kt).get(t).classList.remove(e)}remove(t){l(this,yi)!==null&&(l(this,Kt).get(t).remove(),l(this,Kt).delete(t))}destroy(){S(this,yi,null);for(const t of l(this,Kt).values())t.remove();l(this,Kt).clear()}};yi=new WeakMap,dh=new WeakMap,Kt=new WeakMap,Zs=new WeakMap,fh=new WeakSet,sv=function(t,{x:e=0,y:i=0,width:s=1,height:r=1}={}){const{style:o}=t;o.top=`${100*i}%`,o.left=`${100*e}%`,o.width=`${100*s}%`,o.height=`${100*r}%`},Fo=new WeakSet,rv=function(t){var i;const e=te._svgFactory.create(1,1,!0);return l(this,yi).append(e),e.setAttribute("aria-hidden",!0),A(i=te,fh,sv).call(i,e,t),e},Nb=function(t,e){const i=te._svgFactory.createElement("clipPath");t.append(i);const s=`clip_${e}`;i.setAttribute("id",s),i.setAttribute("clipPathUnits","objectBoundingBox");const r=te._svgFactory.createElement("use");return i.append(r),r.setAttribute("href",`#${e}`),r.classList.add("clip"),s},b(te,fh);let iv=te;K.AbortException;K.AnnotationEditorLayer;K.AnnotationEditorParamsType;K.AnnotationEditorType;K.AnnotationEditorUIManager;K.AnnotationLayer;K.AnnotationMode;K.CMapCompressionType;K.ColorPicker;K.DOMSVGFactory;K.DrawLayer;K.FeatureTest;var iR=K.GlobalWorkerOptions;K.ImageKind;K.InvalidPDFException;K.MissingPDFException;K.OPS;K.Outliner;K.PDFDataRangeTransport;K.PDFDateString;K.PDFWorker;K.PasswordResponses;K.PermissionFlag;K.PixelsPerInch;K.RenderingCancelledException;K.TextLayer;K.UnexpectedResponseException;K.Util;K.VerbosityLevel;K.XfaLayer;K.build;K.createValidAbsoluteUrl;K.fetchData;var sR=K.getDocument;K.getFilenameFromUrl;K.getPdfFilenameFromUrl;K.getXfaPageViewport;K.isDataScheme;K.isPdfFile;K.noContextMenu;K.normalizeUnicode;K.renderTextLayer;K.setLayerDimensions;K.shadow;K.updateTextLayer;K.version;class Db extends Y.Component{constructor(){super(...arguments);I(this,"state",{pdfDocument:null,error:null});I(this,"documentRef",pl.createRef())}componentDidMount(){this.load()}componentWillUnmount(){const{pdfDocument:e}=this.state;e&&e.destroy()}componentDidUpdate({url:e}){this.props.url!==e&&this.load()}componentDidCatch(e){const{onError:i}=this.props;i&&i(e),this.setState({pdfDocument:null,error:e})}load(){const{ownerDocument:e=document}=this.documentRef.current||{},{url:i,cMapUrl:s,cMapPacked:r,workerSrc:o}=this.props,{pdfDocument:a}=this.state;this.setState({pdfDocument:null,error:null}),typeof o=="string"&&(iR.workerSrc=o),Promise.resolve().then(()=>a==null?void 0:a.destroy()).then(()=>{if(!i)return;const c={...this.props,ownerDocument:e,cMapUrl:s,cMapPacked:r};return sR(c).promise.then(u=>{this.setState({pdfDocument:u})})}).catch(c=>this.componentDidCatch(c))}render(){const{children:e,beforeLoad:i}=this.props,{pdfDocument:s,error:r}=this.state;return N.jsxs(N.Fragment,{children:[N.jsx("span",{ref:this.documentRef}),r?this.renderError():!s||!e?i:e(s)]})}renderError(){const{errorMessage:e}=this.props;return e?pl.cloneElement(e,{error:this.state.error}):null}}I(Db,"defaultProps",{workerSrc:"https://unpkg.com/pdfjs-dist@4.4.168/build/pdf.worker.min.mjs"});const rR=n=>{document.location.hash=`highlight-${n.id}`};function oR({highlights:n,toggleDocument:t,resetHighlights:e}){return N.jsxs("div",{className:"sidebar",style:{width:"25vw"},children:[N.jsxs("div",{className:"description",style:{padding:"1rem"},children:[N.jsxs("h2",{style:{marginBottom:"1rem"},children:["react-pdf-highlighter ","8.0.0-rc.0"]}),N.jsx("p",{style:{fontSize:"0.7rem"},children:N.jsx("a",{href:"https://github.com/agentcooper/react-pdf-highlighter",children:"Open in GitHub"})}),N.jsx("p",{children:N.jsx("small",{children:"To create area highlight hold ⌥ Option key (Alt), then click and drag."})})]}),N.jsx("ul",{className:"sidebar__highlights",children:n.map((i,s)=>N.jsxs("li",{className:"sidebar__highlight",onClick:()=>{rR(i)},children:[N.jsxs("div",{children:[N.jsx("strong",{children:i.comment.text}),i.content.text?N.jsx("blockquote",{style:{marginTop:"0.5rem"},children:`${i.content.text.slice(0,90).trim()}…`}):null,i.content.image?N.jsx("div",{className:"highlight__image",style:{marginTop:"0.5rem"},children:N.jsx("img",{src:i.content.image,alt:"Screenshot"})}):null]}),N.jsxs("div",{className:"highlight__location",children:["Page ",i.position.pageNumber]})]},s))}),N.jsx("div",{style:{padding:"1rem"},children:N.jsx("button",{type:"button",onClick:t,children:"Toggle PDF document"})}),n.length>0?N.jsx("div",{style:{padding:"1rem"},children:N.jsx("button",{type:"button",onClick:e,children:"Reset highlights"})}):null]})}function aR(){return N.jsx("div",{style:{display:"flex",alignItems:"center",height:"100vh"},children:N.jsxs("div",{className:"sk-fading-circle",children:[N.jsx("div",{className:"sk-circle1 sk-circle"}),N.jsx("div",{className:"sk-circle2 sk-circle"}),N.jsx("div",{className:"sk-circle3 sk-circle"}),N.jsx("div",{className:"sk-circle4 sk-circle"}),N.jsx("div",{className:"sk-circle5 sk-circle"}),N.jsx("div",{className:"sk-circle6 sk-circle"}),N.jsx("div",{className:"sk-circle7 sk-circle"}),N.jsx("div",{className:"sk-circle8 sk-circle"}),N.jsx("div",{className:"sk-circle9 sk-circle"}),N.jsx("div",{className:"sk-circle10 sk-circle"}),N.jsx("div",{className:"sk-circle11 sk-circle"}),N.jsx("div",{className:"sk-circle12 sk-circle"})]})})}const lR={"https://arxiv.org/pdf/1708.08021":[{content:{text:" Type Checking for JavaScript"},position:{boundingRect:{x1:255.73419189453125,y1:139.140625,x2:574.372314453125,y2:165.140625,width:809.9999999999999,height:1200},rects:[{x1:255.73419189453125,y1:139.140625,x2:574.372314453125,y2:165.140625,width:809.9999999999999,height:1200}],pageNumber:1},comment:{text:"Flow or TypeScript?",emoji:"🔥"},id:"8245652131754351"},{content:{text:" millions of lines of code atFacebookevery day"},position:{boundingRect:{x1:353.080810546875,y1:346.390625,x2:658.6533203125,y2:363.390625,width:809.9999999999999,height:1200},rects:[{x1:353.080810546875,y1:346.390625,x2:658.6533203125,y2:363.390625,width:809.9999999999999,height:1200}],pageNumber:1},comment:{text:"impressive",emoji:""},id:"812807243318874"},{content:{text:"This fuels a fast edit-refresh cycle, whichpromises an immersive coding experience that is quite appealing to creative developers."},position:{boundingRect:{x1:76.375,y1:666.21875,x2:733.61328125,y2:706.140625,width:809.9999999999999,height:1200,pageNumber:1},rects:[{x1:459.168701171875,y1:666.21875,x2:733.61328125,y2:686.21875,width:809.9999999999999,height:1200,pageNumber:1},{x1:76.375,y1:686.140625,x2:671.4954833984375,y2:706.140625,width:809.9999999999999,height:1200,pageNumber:1}],pageNumber:1},comment:{text:"immersive coding experience!",emoji:""},id:"2599712881412761"},{content:{image:"data:image/png;base64,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"},position:{boundingRect:{x1:410.8125,y1:133,x2:744.8125,y2:261,width:809.9999999999999,height:1200,pageNumber:3},rects:[],pageNumber:3},comment:{text:"lisp!",emoji:"😱"},id:"9120567402727258"},{content:{text:"We consider a minimal subset of JavaScript that includes functions, mutable variables, primitivevalues and records"},position:{boundingRect:{x1:75.578125,y1:1039.3125,x2:733.607421875,y2:1079.234375,width:809.9999999999999,height:1200,pageNumber:4},rects:[{x1:75.578125,y1:1039.3125,x2:733.607421875,y2:1059.3125,width:809.9999999999999,height:1200,pageNumber:4},{x1:75.953125,y1:1059.234375,x2:206.6217041015625,y2:1079.234375,width:809.9999999999999,height:1200,pageNumber:4}],pageNumber:4},comment:{text:"",emoji:""},id:"32839601376722394"},{content:{image:"data:image/png;base64,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"},position:{boundingRect:{x1:65.8125,y1:133,x2:406.8125,y2:417,width:809.9999999999999,height:1200,pageNumber:24},rects:[],pageNumber:24},comment:{text:"",emoji:""},id:"46570518065661615"},{id:"46570518065661616",comment:{text:"Fast type checking?!?!",emoji:"😱"},content:{text:"Fast type checking.The key toFlow’s speed is modularity: the ability to break the analysis intofile-sized chunks that can be assembled later. Fortunately, JavaScript is already written using files4Avik Chaudhuri, Panagiotis Vekris, Sam Goldman, Marshall Roch, and Gabriel Levias modules, so we modularize our analysis simply by asking that modules have explicitly typedsignatures. (We still infer types for the vast majority of code “local” to modules.) Coincidentally,developers consider this good software engineering practice anyway."},position:{boundingRect:{x1:76.375,y1:1058.4271240234375,x2:733.626220703125,y2:1097.0208740234375,width:809.9999999999999,height:1200,pageNumber:3},rects:[{x1:75.989501953125,y1:96.9896240234375,x2:85.2291259765625,y2:115.65625,width:809.9999999999999,height:1200,pageNumber:4},{x1:167.583251953125,y1:96.9896240234375,x2:733.6123046875,y2:115.65625,width:809.9999999999999,height:1200,pageNumber:4},{x1:76.375,y1:142.82293701171875,x2:733.613525390625,y2:161.4896240234375,width:809.9999999999999,height:1200,pageNumber:4},{x1:76.375,y1:162.7396240234375,x2:735.43798828125,y2:181.40625,width:809.9999999999999,height:1200,pageNumber:4},{x1:76.375,y1:182.66668701171875,x2:544.7579345703125,y2:201.3333740234375,width:809.9999999999999,height:1200,pageNumber:4},{x1:92.9791259765625,y1:1058.4271240234375,x2:733.619140625,y2:1077.09375,width:809.9999999999999,height:1200,pageNumber:3},{x1:76.375,y1:1078.3541870117188,x2:733.626220703125,y2:1097.0208740234375,width:809.9999999999999,height:1200,pageNumber:3}],pageNumber:3}}],"https://arxiv.org/pdf/1604.02480":[{content:{text:"SSA"},position:{boundingRect:{x1:816.4599609375,y1:360.1875,x2:848.4677734375,y2:380.1875,width:1019.9999999999999,height:1319.9999999999998,pageNumber:1},rects:[{x1:816.4599609375,y1:360.1875,x2:848.4677734375,y2:380.1875,width:1019.9999999999999,height:1319.9999999999998,pageNumber:1}],pageNumber:1},comment:{text:"Static Single Assignment",emoji:"😎"},id:"29668244118038056"}]},Jh=lR,cR=()=>String(Math.random()).slice(2),uR=()=>document.location.hash.slice(11),hR=()=>{document.location.hash=""},dR=({comment:n})=>n.text?N.jsxs("div",{className:"Highlight__popup",children:[n.emoji," ",n.text]}):null,ov="https://arxiv.org/pdf/1708.08021",fR="https://arxiv.org/pdf/1604.02480",pR=new URLSearchParams(document.location.search),Yp=pR.get("url")||ov;function gR(){const[n,t]=Y.useState(Yp),[e,i]=Y.useState(Jh[Yp]?[...Jh[Yp]]:[]),s=()=>{i([])},r=()=>{const d=n===ov?fR:ov;t(d),i(Jh[d]?[...Jh[d]]:[])},o=Y.useRef(d=>{}),a=Y.useCallback(()=>{const d=c(uR());d&&o.current(d)},[]);Y.useEffect(()=>(window.addEventListener("hashchange",a,!1),()=>{window.removeEventListener("hashchange",a,!1)}),[a]);const c=d=>e.find(f=>f.id===d),u=d=>{console.log("Saving highlight",d),i(f=>[{...d,id:cR()},...f])},h=(d,f,p)=>{console.log("Updating highlight",d,f,p),i(g=>g.map(w=>{const{id:E,position:m,content:v,...y}=w;return E===d?{id:E,position:{...m,...f},content:{...v,...p},...y}:w}))};return N.jsxs("div",{className:"App",style:{display:"flex",height:"100vh"},children:[N.jsx(oR,{highlights:e,resetHighlights:s,toggleDocument:r}),N.jsx("div",{style:{height:"100vh",width:"75vw",position:"relative"},children:N.jsx(Db,{url:n,beforeLoad:N.jsx(aR,{}),children:d=>N.jsx(E1,{pdfDocument:d,enableAreaSelection:f=>f.altKey,onScrollChange:hR,scrollRef:f=>{o.current=f,a()},onSelectionFinished:(f,p,g,w)=>N.jsx(qC,{onOpen:w,onConfirm:E=>{u({content:p,position:f,comment:E}),g()}}),highlightTransform:(f,p,g,w,E,m,v)=>{var C;const x=!((C=f.content)!=null&&C.image)?N.jsx(KC,{isScrolledTo:v,position:f.position,comment:f.comment}):N.jsx(ik,{isScrolledTo:v,highlight:f,onChange:T=>{h(f.id,{boundingRect:E(T)},{image:m(T)})}});return N.jsx(GC,{popupContent:N.jsx(dR,{...f}),onMouseOver:T=>g(f,k=>T),onMouseOut:w,children:x},p)},highlights:e})})})]})}const mR=document.getElementById("root"),vR=ey(mR);vR.render(N.jsx(gR,{})); +`)){const i=document.createElement("div");i.append(e?document.createTextNode(e):document.createElement("br")),this.editorDiv.append(i)}},ZA=function(){return l(this,tn).replaceAll(" "," ")},Nm=function(e){return e.replaceAll(" "," ")},$A=function(e){const{value:i,fontSize:s,color:r,pageIndex:o}=l(this,Qa);return this._hasBeenMoved||e.value!==i||e.fontSize!==s||e.color.some((a,c)=>a!==r[c])||e.pageIndex!==o},b(wt,fs),I(wt,"_freeTextDefaultContent",""),I(wt,"_internalPadding",0),I(wt,"_defaultColor",null),I(wt,"_defaultFontSize",10),I(wt,"_type","freetext"),I(wt,"_editorType",st.FREETEXT);let Mm=wt;var Bu,Ws,jn,Le,tb,kd,eb,nb,Im;class Dm{constructor(t,e=0,i=0,s=!0){b(this,Le);b(this,Bu);b(this,Ws,[]);b(this,jn,[]);let r=1/0,o=-1/0,a=1/0,c=-1/0;const h=10**-4;for(const{x:m,y:v,width:y,height:x}of t){const C=Math.floor((m-e)/h)*h,T=Math.ceil((m+y+e)/h)*h,k=Math.floor((v-e)/h)*h,P=Math.ceil((v+x+e)/h)*h,M=[C,k,P,!0],L=[T,k,P,!1];l(this,Ws).push(M,L),r=Math.min(r,C),o=Math.max(o,T),a=Math.min(a,k),c=Math.max(c,P)}const d=o-r+2*i,f=c-a+2*i,p=r-i,g=a-i,w=l(this,Ws).at(s?-1:-2),E=[w[0],w[2]];for(const m of l(this,Ws)){const[v,y,x]=m;m[0]=(v-p)/d,m[1]=(y-g)/f,m[2]=(x-g)/f}S(this,Bu,{x:p,y:g,width:d,height:f,lastPoint:E})}getOutlines(){l(this,Ws).sort((e,i)=>e[0]-i[0]||e[1]-i[1]||e[2]-i[2]);const t=[];for(const e of l(this,Ws))e[3]?(t.push(...A(this,Le,Im).call(this,e)),A(this,Le,eb).call(this,e)):(A(this,Le,nb).call(this,e),t.push(...A(this,Le,Im).call(this,e)));return A(this,Le,tb).call(this,t)}}Bu=new WeakMap,Ws=new WeakMap,jn=new WeakMap,Le=new WeakSet,tb=function(t){const e=[],i=new Set;for(const o of t){const[a,c,u]=o;e.push([a,c,o],[a,u,o])}e.sort((o,a)=>o[1]-a[1]||o[0]-a[0]);for(let o=0,a=e.length;o0;){const o=i.values().next().value;let[a,c,u,h,d]=o;i.delete(o);let f=a,p=c;for(r=[a,u],s.push(r);;){let g;if(i.has(h))g=h;else if(i.has(d))g=d;else break;i.delete(g),[a,c,u,h,d]=g,f!==a&&(r.push(f,p,a,p===c?c:u),f=a),p=p===c?u:c}r.push(f,p)}return new eR(s,l(this,Bu))},kd=function(t){const e=l(this,jn);let i=0,s=e.length-1;for(;i<=s;){const r=i+s>>1,o=e[r][0];if(o===t)return r;o=0;s--){const[r,o]=l(this,jn)[s];if(r!==t)break;if(r===t&&o===e){l(this,jn).splice(s,1);return}}},Im=function(t){const[e,i,s]=t,r=[[e,i,s]],o=A(this,Le,kd).call(this,s);for(let a=0;a=c){if(p>u)r[h][1]=u;else{if(d===1)return[];r.splice(h,1),h--,d--}continue}r[h][2]=c,p>u&&r.push([e,u,p])}}}return r};class ib{toSVGPath(){throw new Error("Abstract method `toSVGPath` must be implemented.")}get box(){throw new Error("Abstract getter `box` must be implemented.")}serialize(t,e){throw new Error("Abstract method `serialize` must be implemented.")}get free(){return this instanceof Om}}var Ku,Ja;class eR extends ib{constructor(e,i){super();b(this,Ku);b(this,Ja);S(this,Ja,e),S(this,Ku,i)}toSVGPath(){const e=[];for(const i of l(this,Ja)){let[s,r]=i;e.push(`M${s} ${r}`);for(let o=2;o=6;g-=6)isNaN(e[g])?p.push(`L${e[g+4]} ${e[g+5]}`):p.push(`C${e[g]} ${e[g+1]} ${e[g+2]} ${e[g+3]} ${e[g+4]} ${e[g+5]}`);return p.push(`L${e[4]} ${e[5]} Z`),p.join(" ")}getOutlines(){var m;const t=l(this,di),e=l(this,Zi),i=l(this,et),s=i.subarray(4,6),r=i.subarray(16,18),[o,a,c,u]=l(this,hi),h=new Float64Array((((m=l(this,Bs))==null?void 0:m.length)??0)+2);for(let v=0,y=h.length-2;v=6;v-=6)for(let y=0;y<6;y+=2){if(isNaN(e[v+y])){w[E]=w[E+1]=NaN,E+=2;continue}w[E]=e[v+y],w[E+1]=e[v+y+1],E+=2}return w.set([NaN,NaN,NaN,NaN,e[4],e[5]],E),new Om(w,h,l(this,hi),l(this,tl),l(this,Za),l(this,$a))}};hi=new WeakMap,Zi=new WeakMap,Za=new WeakMap,$a=new WeakMap,di=new WeakMap,et=new WeakMap,lo=new WeakMap,co=new WeakMap,Xu=new WeakMap,Gu=new WeakMap,tl=new WeakMap,el=new WeakMap,Bs=new WeakMap,Yu=new WeakMap,_f=new WeakMap,Lf=new WeakMap,Qu=new WeakSet,Fm=function(){const t=l(this,et).subarray(4,6),e=l(this,et).subarray(16,18),[i,s,r,o]=l(this,hi);return[(l(this,lo)+(t[0]-e[0])/2-i)/r,(l(this,co)+(t[1]-e[1])/2-s)/o,(l(this,lo)+(e[0]-t[0])/2-i)/r,(l(this,co)+(e[1]-t[1])/2-s)/o]},b(Ni,Yu,8),b(Ni,_f,2),b(Ni,Lf,l(Ni,Yu)+l(Ni,_f));let hf=Ni;var nl,uo,$i,Ju,nn,Zu,Dt,Ue,Zl,$l,sb;class Om extends ib{constructor(e,i,s,r,o,a){super();b(this,Ue);b(this,nl);b(this,uo,null);b(this,$i);b(this,Ju);b(this,nn);b(this,Zu);b(this,Dt);S(this,Dt,e),S(this,nn,i),S(this,nl,s),S(this,Zu,r),S(this,$i,o),S(this,Ju,a),A(this,Ue,sb).call(this,a);const{x:c,y:u,width:h,height:d}=l(this,uo);for(let f=0,p=e.length;f-1?(S(this,sn,!0),A(this,Z,Hm).call(this,e),A(this,Z,tc).call(this)):(S(this,ol,e.anchorNode),S(this,sh,e.anchorOffset),S(this,rh,e.focusNode),S(this,oh,e.focusOffset),A(this,Z,qm).call(this),A(this,Z,tc).call(this),this.rotate(this.rotation))}static get _keyboardManager(){const e=ct.prototype;return ot(this,"_keyboardManager",new Ah([[["ArrowLeft","mac+ArrowLeft"],e._moveCaret,{args:[0]}],[["ArrowRight","mac+ArrowRight"],e._moveCaret,{args:[1]}],[["ArrowUp","mac+ArrowUp"],e._moveCaret,{args:[2]}],[["ArrowDown","mac+ArrowDown"],e._moveCaret,{args:[3]}]]))}get telemetryInitialData(){return{action:"added",type:l(this,sn)?"free_highlight":"highlight",color:this._uiManager.highlightColorNames.get(this.color),thickness:l(this,fi),methodOfCreation:l(this,ah)}}get telemetryFinalData(){return{type:"highlight",color:this._uiManager.highlightColorNames.get(this.color)}}static computeTelemetryFinalData(e){return{numberOfColors:e.get("color").size}}static initialize(e,i){var s;ht.initialize(e,i),ct._defaultColor||(ct._defaultColor=((s=i.highlightColors)==null?void 0:s.values().next().value)||"#fff066")}static updateDefaultParams(e,i){switch(e){case G.HIGHLIGHT_DEFAULT_COLOR:ct._defaultColor=i;break;case G.HIGHLIGHT_THICKNESS:ct._defaultThickness=i;break}}translateInPage(e,i){}get toolbarPosition(){return l(this,ll)}updateParams(e,i){switch(e){case G.HIGHLIGHT_COLOR:A(this,Z,ab).call(this,i);break;case G.HIGHLIGHT_THICKNESS:A(this,Z,lb).call(this,i);break}}static get defaultPropertiesToUpdate(){return[[G.HIGHLIGHT_DEFAULT_COLOR,ct._defaultColor],[G.HIGHLIGHT_THICKNESS,ct._defaultThickness]]}get propertiesToUpdate(){return[[G.HIGHLIGHT_COLOR,this.color||ct._defaultColor],[G.HIGHLIGHT_THICKNESS,l(this,fi)||ct._defaultThickness],[G.HIGHLIGHT_FREE,l(this,sn)]]}async addEditToolbar(){const e=await super.addEditToolbar();return e?(this._uiManager.highlightColors&&(S(this,al,new df({editor:this})),e.addColorPicker(l(this,al))),e):null}disableEditing(){super.disableEditing(),this.div.classList.toggle("disabled",!0)}enableEditing(){super.enableEditing(),this.div.classList.toggle("disabled",!1)}fixAndSetPosition(){return super.fixAndSetPosition(A(this,Z,ec).call(this))}getBaseTranslation(){return[0,0]}getRect(e,i){return super.getRect(e,i,A(this,Z,ec).call(this))}onceAdded(){this.parent.addUndoableEditor(this),this.div.focus()}remove(){A(this,Z,Um).call(this),this._reportTelemetry({action:"deleted"}),super.remove()}rebuild(){this.parent&&(super.rebuild(),this.div!==null&&(A(this,Z,tc).call(this),this.isAttachedToDOM||this.parent.add(this)))}setParent(e){var s;let i=!1;this.parent&&!e?A(this,Z,Um).call(this):e&&(A(this,Z,tc).call(this,e),i=!this.parent&&((s=this.div)==null?void 0:s.classList.contains("selectedEditor"))),super.setParent(e),this.show(this._isVisible),i&&this.select()}rotate(e){var r,o,a;const{drawLayer:i}=this.parent;let s;l(this,sn)?(e=(e-this.rotation+360)%360,s=A(r=ct,xn,Yo).call(r,l(this,Kn).box,e)):s=A(o=ct,xn,Yo).call(o,this,e),i.rotate(l(this,Ce),e),i.rotate(l(this,Bt),e),i.updateBox(l(this,Ce),s),i.updateBox(l(this,Bt),A(a=ct,xn,Yo).call(a,l(this,yn).box,e))}render(){if(this.div)return this.div;const e=super.render();l(this,cl)&&(e.setAttribute("aria-label",l(this,cl)),e.setAttribute("role","mark")),l(this,sn)?e.classList.add("free"):this.div.addEventListener("keydown",l(this,Mf),{signal:this._uiManager._signal});const i=S(this,po,document.createElement("div"));e.append(i),i.setAttribute("aria-hidden","true"),i.className="internal",i.style.clipPath=l(this,fo);const[s,r]=this.parentDimensions;return this.setDims(this.width*s,this.height*r),lf(this,l(this,po),["pointerover","pointerleave"]),this.enableEditing(),e}pointerover(){this.parent.drawLayer.addClass(l(this,Bt),"hovered")}pointerleave(){this.parent.drawLayer.removeClass(l(this,Bt),"hovered")}_moveCaret(e){switch(this.parent.unselect(this),e){case 0:case 2:A(this,Z,Pd).call(this,!0);break;case 1:case 3:A(this,Z,Pd).call(this,!1);break}}select(){var e,i;super.select(),l(this,Bt)&&((e=this.parent)==null||e.drawLayer.removeClass(l(this,Bt),"hovered"),(i=this.parent)==null||i.drawLayer.addClass(l(this,Bt),"selected"))}unselect(){var e;super.unselect(),l(this,Bt)&&((e=this.parent)==null||e.drawLayer.removeClass(l(this,Bt),"selected"),l(this,sn)||A(this,Z,Pd).call(this,!1))}get _mustFixPosition(){return!l(this,sn)}show(e=this._isVisible){super.show(e),this.parent&&(this.parent.drawLayer.show(l(this,Ce),e),this.parent.drawLayer.show(l(this,Bt),e))}static startHighlighting(e,i,{target:s,x:r,y:o}){const{x:a,y:c,width:u,height:h}=s.getBoundingClientRect(),d=E=>{A(this,xn,fb).call(this,e,E)},f=e._signal,p={capture:!0,passive:!1,signal:f},g=E=>{E.preventDefault(),E.stopPropagation()},w=E=>{s.removeEventListener("pointermove",d),window.removeEventListener("blur",w),window.removeEventListener("pointerup",w),window.removeEventListener("pointerdown",g,p),window.removeEventListener("contextmenu",Ke),A(this,xn,pb).call(this,e,E)};window.addEventListener("blur",w,{signal:f}),window.addEventListener("pointerup",w,{signal:f}),window.addEventListener("pointerdown",g,p),window.addEventListener("contextmenu",Ke,{signal:f}),s.addEventListener("pointermove",d,{signal:f}),this._freeHighlight=new hf({x:r,y:o},[a,c,u,h],e.scale,this._defaultThickness/2,i,.001),{id:this._freeHighlightId,clipPathId:this._freeHighlightClipId}=e.drawLayer.highlight(this._freeHighlight,this._defaultColor,this._defaultOpacity,!0)}static deserialize(e,i,s){var w;const r=super.deserialize(e,i,s),{rect:[o,a,c,u],color:h,quadPoints:d}=e;r.color=q.makeHexColor(...h),S(r,go,e.opacity);const[f,p]=r.pageDimensions;r.width=(c-o)/f,r.height=(u-a)/p;const g=S(r,Ks,[]);for(let E=0;E=0)S(this,Ce,i),S(this,fo,s),this.parent.drawLayer.finalizeLine(i,e),S(this,Bt,this.parent.drawLayer.highlightOutline(l(this,yn)));else if(this.parent){const p=this.parent.viewport.rotation;this.parent.drawLayer.updateLine(l(this,Ce),e),this.parent.drawLayer.updateBox(l(this,Ce),A(d=ct,xn,Yo).call(d,l(this,Kn).box,(p-this.rotation+360)%360)),this.parent.drawLayer.updateLine(l(this,Bt),l(this,yn)),this.parent.drawLayer.updateBox(l(this,Bt),A(f=ct,xn,Yo).call(f,l(this,yn).box,p))}const{x:o,y:a,width:c,height:u}=e.box;switch(this.rotation){case 0:this.x=o,this.y=a,this.width=c,this.height=u;break;case 90:{const[p,g]=this.parentDimensions;this.x=a,this.y=1-o,this.width=c*g/p,this.height=u*p/g;break}case 180:this.x=1-o,this.y=1-a,this.width=c,this.height=u;break;case 270:{const[p,g]=this.parentDimensions;this.x=1-a,this.y=o,this.width=c*g/p,this.height=u*p/g;break}}const{lastPoint:h}=l(this,yn).box;S(this,ll,[(h[0]-o)/c,(h[1]-a)/u])},ab=function(e){const i=r=>{var o,a;this.color=r,(o=this.parent)==null||o.drawLayer.changeColor(l(this,Ce),r),(a=l(this,al))==null||a.updateColor(r)},s=this.color;this.addCommands({cmd:i.bind(this,e),undo:i.bind(this,s),post:this._uiManager.updateUI.bind(this._uiManager,this),mustExec:!0,type:G.HIGHLIGHT_COLOR,overwriteIfSameType:!0,keepUndo:!0}),this._reportTelemetry({action:"color_changed",color:this._uiManager.highlightColorNames.get(e)},!0)},lb=function(e){const i=l(this,fi),s=r=>{S(this,fi,r),A(this,Z,cb).call(this,r)};this.addCommands({cmd:s.bind(this,e),undo:s.bind(this,i),post:this._uiManager.updateUI.bind(this._uiManager,this),mustExec:!0,type:G.INK_THICKNESS,overwriteIfSameType:!0,keepUndo:!0}),this._reportTelemetry({action:"thickness_changed",thickness:e},!0)},cb=function(e){if(!l(this,sn))return;A(this,Z,Hm).call(this,{highlightOutlines:l(this,Kn).getNewOutline(e/2)}),this.fixAndSetPosition();const[i,s]=this.parentDimensions;this.setDims(this.width*i,this.height*s)},Um=function(){l(this,Ce)===null||!this.parent||(this.parent.drawLayer.remove(l(this,Ce)),S(this,Ce,null),this.parent.drawLayer.remove(l(this,Bt)),S(this,Bt,null))},tc=function(e=this.parent){l(this,Ce)===null&&({id:Xe(this,Ce)._,clipPathId:Xe(this,fo)._}=e.drawLayer.highlight(l(this,Kn),this.color,l(this,go)),S(this,Bt,e.drawLayer.highlightOutline(l(this,yn))),l(this,po)&&(l(this,po).style.clipPath=l(this,fo)))},xn=new WeakSet,Yo=function({x:e,y:i,width:s,height:r},o){switch(o){case 90:return{x:1-i-r,y:e,width:r,height:s};case 180:return{x:1-e-s,y:1-i-r,width:s,height:r};case 270:return{x:i,y:1-e-s,width:r,height:s}}return{x:e,y:i,width:s,height:r}},ub=function(e){ct._keyboardManager.exec(this,e)},Pd=function(e){if(!l(this,ol))return;const i=window.getSelection();e?i.setPosition(l(this,ol),l(this,sh)):i.setPosition(l(this,rh),l(this,oh))},ec=function(){return l(this,sn)?this.rotation:0},hb=function(){if(l(this,sn))return null;const[e,i]=this.pageDimensions,s=l(this,Ks),r=new Float32Array(s.length*8);let o=0;for(const{x:a,y:c,width:u,height:h}of s){const d=a*e,f=(1-c-h)*i;r[o]=r[o+4]=d,r[o+1]=r[o+3]=f,r[o+2]=r[o+6]=d+u*e,r[o+5]=r[o+7]=f+h*i,o+=8}return r},db=function(e){return l(this,Kn).serialize(e,A(this,Z,ec).call(this))},fb=function(e,i){this._freeHighlight.add(i)&&e.drawLayer.updatePath(this._freeHighlightId,this._freeHighlight)},pb=function(e,i){this._freeHighlight.isEmpty()?e.drawLayer.removeFreeHighlight(this._freeHighlightId):e.createAndAddNewEditor(i,!1,{highlightId:this._freeHighlightId,highlightOutlines:this._freeHighlight.getOutlines(),clipPathId:this._freeHighlightClipId,methodOfCreation:"main_toolbar"}),this._freeHighlightId=-1,this._freeHighlight=null,this._freeHighlightClipId=""},b(ct,xn),I(ct,"_defaultColor",null),I(ct,"_defaultOpacity",1),I(ct,"_defaultThickness",12),I(ct,"_l10nPromise"),I(ct,"_type","highlight"),I(ct,"_editorType",st.HIGHLIGHT),I(ct,"_freeHighlightId",-1),I(ct,"_freeHighlight",null),I(ct,"_freeHighlightClipId","");let ff=ct;var mo,vo,lh,ch,uh,yo,pi,ts,wn,wo,So,es,Ao,bo,Xs,O,gb,mb,vb,yb,Wm,wb,Bm,Sb,Ab,bb,Eb,xb,Er,Km,Rd,_d,Qo,Xm,Ld,ws,Cb,Gm,Tb,kb,Ym,Md,nc;const Ct=class Ct extends ht{constructor(e){super({...e,name:"inkEditor"});b(this,O);b(this,mo,0);b(this,vo,0);b(this,lh,this.canvasPointermove.bind(this));b(this,ch,this.canvasPointerleave.bind(this));b(this,uh,this.canvasPointerup.bind(this));b(this,yo,this.canvasPointerdown.bind(this));b(this,pi,null);b(this,ts,new Path2D);b(this,wn,!1);b(this,wo,!1);b(this,So,!1);b(this,es,null);b(this,Ao,0);b(this,bo,0);b(this,Xs,null);this.color=e.color||null,this.thickness=e.thickness||null,this.opacity=e.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(e,i){ht.initialize(e,i)}static updateDefaultParams(e,i){switch(e){case G.INK_THICKNESS:Ct._defaultThickness=i;break;case G.INK_COLOR:Ct._defaultColor=i;break;case G.INK_OPACITY:Ct._defaultOpacity=i/100;break}}updateParams(e,i){switch(e){case G.INK_THICKNESS:A(this,O,gb).call(this,i);break;case G.INK_COLOR:A(this,O,mb).call(this,i);break;case G.INK_OPACITY:A(this,O,vb).call(this,i);break}}static get defaultPropertiesToUpdate(){return[[G.INK_THICKNESS,Ct._defaultThickness],[G.INK_COLOR,Ct._defaultColor||ht._defaultLineColor],[G.INK_OPACITY,Math.round(Ct._defaultOpacity*100)]]}get propertiesToUpdate(){return[[G.INK_THICKNESS,this.thickness||Ct._defaultThickness],[G.INK_COLOR,this.color||Ct._defaultColor||ht._defaultLineColor],[G.INK_OPACITY,Math.round(100*(this.opacity??Ct._defaultOpacity))]]}rebuild(){this.parent&&(super.rebuild(),this.div!==null&&(this.canvas||(A(this,O,Rd).call(this),A(this,O,_d).call(this)),this.isAttachedToDOM||(this.parent.add(this),A(this,O,Qo).call(this)),A(this,O,nc).call(this)))}remove(){var e;this.canvas!==null&&(this.isEmpty()||this.commit(),this.canvas.width=this.canvas.height=0,this.canvas.remove(),this.canvas=null,l(this,pi)&&(clearTimeout(l(this,pi)),S(this,pi,null)),(e=l(this,es))==null||e.disconnect(),S(this,es,null),super.remove())}setParent(e){!this.parent&&e?this._uiManager.removeShouldRescale(this):this.parent&&e===null&&this._uiManager.addShouldRescale(this),super.setParent(e)}onScaleChanging(){const[e,i]=this.parentDimensions,s=this.width*e,r=this.height*i;this.setDimensions(s,r)}enableEditMode(){l(this,wn)||this.canvas===null||(super.enableEditMode(),this._isDraggable=!1,this.canvas.addEventListener("pointerdown",l(this,yo),{signal:this._uiManager._signal}))}disableEditMode(){!this.isInEditMode()||this.canvas===null||(super.disableEditMode(),this._isDraggable=!this.isEmpty(),this.div.classList.remove("editing"),this.canvas.removeEventListener("pointerdown",l(this,yo)))}onceAdded(){this._isDraggable=!this.isEmpty()}isEmpty(){return this.paths.length===0||this.paths.length===1&&this.paths[0].length===0}commit(){l(this,wn)||(super.commit(),this.isEditing=!1,this.disableEditMode(),this.setInForeground(),S(this,wn,!0),this.div.classList.add("disabled"),A(this,O,nc).call(this,!0),this.select(),this.parent.addInkEditorIfNeeded(!0),this.moveInDOM(),this.div.focus({preventScroll:!0}))}focusin(e){this._focusEventsAllowed&&(super.focusin(e),this.enableEditMode())}canvasPointerdown(e){e.button!==0||!this.isInEditMode()||l(this,wn)||(this.setInForeground(),e.preventDefault(),this.div.contains(document.activeElement)||this.div.focus({preventScroll:!0}),A(this,O,wb).call(this,e.offsetX,e.offsetY))}canvasPointermove(e){e.preventDefault(),A(this,O,Bm).call(this,e.offsetX,e.offsetY)}canvasPointerup(e){e.preventDefault(),A(this,O,Km).call(this,e)}canvasPointerleave(e){A(this,O,Km).call(this,e)}get isResizable(){return!this.isEmpty()&&l(this,wn)}render(){if(this.div)return this.div;let e,i;this.width&&(e=this.x,i=this.y),super.render(),this.div.setAttribute("data-l10n-id","pdfjs-ink");const[s,r,o,a]=A(this,O,yb).call(this);if(this.setAt(s,r,0,0),this.setDims(o,a),A(this,O,Rd).call(this),this.width){const[c,u]=this.parentDimensions;this.setAspectRatio(this.width*c,this.height*u),this.setAt(e*c,i*u,this.width*c,this.height*u),S(this,So,!0),A(this,O,Qo).call(this),this.setDims(this.width*c,this.height*u),A(this,O,Er).call(this),this.div.classList.add("disabled")}else this.div.classList.add("editing"),this.enableEditMode();return A(this,O,_d).call(this),this.div}setDimensions(e,i){const s=Math.round(e),r=Math.round(i);if(l(this,Ao)===s&&l(this,bo)===r)return;S(this,Ao,s),S(this,bo,r),this.canvas.style.visibility="hidden";const[o,a]=this.parentDimensions;this.width=e/o,this.height=i/a,this.fixAndSetPosition(),l(this,wn)&&A(this,O,Xm).call(this,e,i),A(this,O,Qo).call(this),A(this,O,Er).call(this),this.canvas.style.visibility="visible",this.fixDims()}static deserialize(e,i,s){var E,m,v;if(e instanceof KA)return null;const r=super.deserialize(e,i,s);r.thickness=e.thickness,r.color=q.makeHexColor(...e.color),r.opacity=e.opacity;const[o,a]=r.pageDimensions,c=r.width*o,u=r.height*a,h=r.parentScale,d=e.thickness/2;S(r,wn,!0),S(r,Ao,Math.round(c)),S(r,bo,Math.round(u));const{paths:f,rect:p,rotation:g}=e;for(let{bezier:y}of f){y=A(E=Ct,ws,Tb).call(E,y,p,g);const x=[];r.paths.push(x);let C=h*(y[0]-d),T=h*(y[1]-d);for(let P=2,M=y.length;P{this.thickness=r,A(this,O,nc).call(this)},s=this.thickness;this.addCommands({cmd:i.bind(this,e),undo:i.bind(this,s),post:this._uiManager.updateUI.bind(this._uiManager,this),mustExec:!0,type:G.INK_THICKNESS,overwriteIfSameType:!0,keepUndo:!0})},mb=function(e){const i=r=>{this.color=r,A(this,O,Er).call(this)},s=this.color;this.addCommands({cmd:i.bind(this,e),undo:i.bind(this,s),post:this._uiManager.updateUI.bind(this._uiManager,this),mustExec:!0,type:G.INK_COLOR,overwriteIfSameType:!0,keepUndo:!0})},vb=function(e){const i=r=>{this.opacity=r,A(this,O,Er).call(this)};e/=100;const s=this.opacity;this.addCommands({cmd:i.bind(this,e),undo:i.bind(this,s),post:this._uiManager.updateUI.bind(this._uiManager,this),mustExec:!0,type:G.INK_OPACITY,overwriteIfSameType:!0,keepUndo:!0})},yb=function(){const{parentRotation:e,parentDimensions:[i,s]}=this;switch(e){case 90:return[0,s,s,i];case 180:return[i,s,i,s];case 270:return[i,0,s,i];default:return[0,0,i,s]}},Wm=function(){const{ctx:e,color:i,opacity:s,thickness:r,parentScale:o,scaleFactor:a}=this;e.lineWidth=r*o/a,e.lineCap="round",e.lineJoin="round",e.miterLimit=10,e.strokeStyle=`${i}${Ck(s)}`},wb=function(e,i){const s=this._uiManager._signal;this.canvas.addEventListener("contextmenu",Ke,{signal:s}),this.canvas.addEventListener("pointerleave",l(this,ch),{signal:s}),this.canvas.addEventListener("pointermove",l(this,lh),{signal:s}),this.canvas.addEventListener("pointerup",l(this,uh),{signal:s}),this.canvas.removeEventListener("pointerdown",l(this,yo)),this.isEditing=!0,l(this,So)||(S(this,So,!0),A(this,O,Qo).call(this),this.thickness||(this.thickness=Ct._defaultThickness),this.color||(this.color=Ct._defaultColor||ht._defaultLineColor),this.opacity??(this.opacity=Ct._defaultOpacity)),this.currentPath.push([e,i]),S(this,wo,!1),A(this,O,Wm).call(this),S(this,Xs,()=>{A(this,O,bb).call(this),l(this,Xs)&&window.requestAnimationFrame(l(this,Xs))}),window.requestAnimationFrame(l(this,Xs))},Bm=function(e,i){const[s,r]=this.currentPath.at(-1);if(this.currentPath.length>1&&e===s&&i===r)return;const o=this.currentPath;let a=l(this,ts);if(o.push([e,i]),S(this,wo,!0),o.length<=2){a.moveTo(...o[0]),a.lineTo(e,i);return}o.length===3&&(S(this,ts,a=new Path2D),a.moveTo(...o[0])),A(this,O,Eb).call(this,a,...o.at(-3),...o.at(-2),e,i)},Sb=function(){if(this.currentPath.length===0)return;const e=this.currentPath.at(-1);l(this,ts).lineTo(...e)},Ab=function(e,i){S(this,Xs,null),e=Math.min(Math.max(e,0),this.canvas.width),i=Math.min(Math.max(i,0),this.canvas.height),A(this,O,Bm).call(this,e,i),A(this,O,Sb).call(this);let s;if(this.currentPath.length!==1)s=A(this,O,xb).call(this);else{const u=[e,i];s=[[u,u.slice(),u.slice(),u]]}const r=l(this,ts),o=this.currentPath;this.currentPath=[],S(this,ts,new Path2D);const a=()=>{this.allRawPaths.push(o),this.paths.push(s),this.bezierPath2D.push(r),this._uiManager.rebuild(this)},c=()=>{this.allRawPaths.pop(),this.paths.pop(),this.bezierPath2D.pop(),this.paths.length===0?this.remove():(this.canvas||(A(this,O,Rd).call(this),A(this,O,_d).call(this)),A(this,O,nc).call(this))};this.addCommands({cmd:a,undo:c,mustExec:!0})},bb=function(){if(!l(this,wo))return;S(this,wo,!1);const e=Math.ceil(this.thickness*this.parentScale),i=this.currentPath.slice(-3),s=i.map(a=>a[0]),r=i.map(a=>a[1]);Math.min(...s)-e,Math.max(...s)+e,Math.min(...r)-e,Math.max(...r)+e;const{ctx:o}=this;o.save(),o.clearRect(0,0,this.canvas.width,this.canvas.height);for(const a of this.bezierPath2D)o.stroke(a);o.stroke(l(this,ts)),o.restore()},Eb=function(e,i,s,r,o,a,c){const u=(i+r)/2,h=(s+o)/2,d=(r+a)/2,f=(o+c)/2;e.bezierCurveTo(u+2*(r-u)/3,h+2*(o-h)/3,d+2*(r-d)/3,f+2*(o-f)/3,d,f)},xb=function(){const e=this.currentPath;if(e.length<=2)return[[e[0],e[0],e.at(-1),e.at(-1)]];const i=[];let s,[r,o]=e[0];for(s=1;s{S(this,pi,null),this.canvas.removeEventListener("contextmenu",Ke)},10)),A(this,O,Ab).call(this,e.offsetX,e.offsetY),this.addToAnnotationStorage(),this.setInBackground()},Rd=function(){this.canvas=document.createElement("canvas"),this.canvas.width=this.canvas.height=0,this.canvas.className="inkEditorCanvas",this.canvas.setAttribute("data-l10n-id","pdfjs-ink-canvas"),this.div.append(this.canvas),this.ctx=this.canvas.getContext("2d")},_d=function(){S(this,es,new ResizeObserver(e=>{const i=e[0].contentRect;i.width&&i.height&&this.setDimensions(i.width,i.height)})),l(this,es).observe(this.div),this._uiManager._signal.addEventListener("abort",()=>{var e;(e=l(this,es))==null||e.disconnect(),S(this,es,null)},{once:!0})},Qo=function(){if(!l(this,So))return;const[e,i]=this.parentDimensions;this.canvas.width=Math.ceil(this.width*e),this.canvas.height=Math.ceil(this.height*i),A(this,O,Ld).call(this)},Xm=function(e,i){const s=A(this,O,Md).call(this),r=(e-s)/l(this,vo),o=(i-s)/l(this,mo);this.scaleFactor=Math.min(r,o)},Ld=function(){const e=A(this,O,Md).call(this)/2;this.ctx.setTransform(this.scaleFactor,0,0,this.scaleFactor,this.translationX*this.scaleFactor+e,this.translationY*this.scaleFactor+e)},ws=new WeakSet,Cb=function(e){const i=new Path2D;for(let s=0,r=e.length;s`image/${i}`))}static get supportedTypesStr(){return ot(this,"supportedTypesStr",this.supportedTypes.join(","))}static isHandlingMimeForPasting(e){return this.supportedTypes.includes(e)}static paste(e,i){i.pasteEditor(st.STAMP,{bitmapFile:e.getAsFile()})}remove(){var e,i;l(this,oe)&&(S(this,re,null),this._uiManager.imageManager.deleteId(l(this,oe)),(e=l(this,gi))==null||e.remove(),S(this,gi,null),(i=l(this,is))==null||i.disconnect(),S(this,is,null),l(this,mi)&&(clearTimeout(l(this,mi)),S(this,mi,null))),super.remove()}rebuild(){if(!this.parent){l(this,oe)&&A(this,lt,Nd).call(this);return}super.rebuild(),this.div!==null&&(l(this,oe)&&l(this,gi)===null&&A(this,lt,Nd).call(this),this.isAttachedToDOM||this.parent.add(this))}onceAdded(){this._isDraggable=!0,this.div.focus()}isEmpty(){return!(l(this,Gs)||l(this,re)||l(this,ns)||l(this,Ys)||l(this,oe))}get isResizable(){return!0}render(){if(this.div)return this.div;let e,i;if(this.width&&(e=this.x,i=this.y),super.render(),this.div.hidden=!0,this.addAltTextButton(),l(this,re)?A(this,lt,Jm).call(this):A(this,lt,Nd).call(this),this.width){const[s,r]=this.parentDimensions;this.setAt(e*s,i*r,this.width*s,this.height*r)}return this.div}getImageForAltText(){return l(this,gi)}static deserialize(e,i,s){if(e instanceof XA)return null;const r=super.deserialize(e,i,s),{rect:o,bitmapUrl:a,bitmapId:c,isSvg:u,accessibilityData:h}=e;c&&s.imageManager.isValidId(c)?S(r,oe,c):S(r,ns,a),S(r,Xn,u);const[d,f]=r.pageDimensions;return r.width=(o[2]-o[0])/d,r.height=(o[3]-o[1])/f,h&&(r.altTextData=h),r}serialize(e=!1,i=null){if(this.isEmpty())return null;const s={annotationType:st.STAMP,bitmapId:l(this,oe),pageIndex:this.pageIndex,rect:this.getRect(0,0),rotation:this.rotation,isSvg:l(this,Xn),structTreeParentId:this._structTreeParentId};if(e)return s.bitmapUrl=A(this,lt,Dd).call(this,!0),s.accessibilityData=this.altTextData,s;const{decorative:r,altText:o}=this.altTextData;if(!r&&o&&(s.accessibilityData={type:"Figure",alt:o}),i===null)return s;i.stamps||(i.stamps=new Map);const a=l(this,Xn)?(s.rect[2]-s.rect[0])*(s.rect[3]-s.rect[1]):null;if(!i.stamps.has(l(this,oe)))i.stamps.set(l(this,oe),{area:a,serialized:s}),s.bitmap=A(this,lt,Dd).call(this,!1);else if(l(this,Xn)){const c=i.stamps.get(l(this,oe));a>c.area&&(c.area=a,c.serialized.bitmap.close(),c.serialized.bitmap=A(this,lt,Dd).call(this,!1))}return s}};re=new WeakMap,oe=new WeakMap,Gs=new WeakMap,ns=new WeakMap,Ys=new WeakMap,ul=new WeakMap,gi=new WeakMap,is=new WeakMap,mi=new WeakMap,Xn=new WeakMap,hh=new WeakMap,lt=new WeakSet,ic=function(e,i=!1){if(!e){this.remove();return}S(this,re,e.bitmap),i||(S(this,oe,e.id),S(this,Xn,e.isSvg)),e.file&&S(this,ul,e.file.name),A(this,lt,Jm).call(this)},sc=function(){S(this,Gs,null),this._uiManager.enableWaiting(!1),l(this,gi)&&this.div.focus()},Nd=function(){if(l(this,oe)){this._uiManager.enableWaiting(!0),this._uiManager.imageManager.getFromId(l(this,oe)).then(s=>A(this,lt,ic).call(this,s,!0)).finally(()=>A(this,lt,sc).call(this));return}if(l(this,ns)){const s=l(this,ns);S(this,ns,null),this._uiManager.enableWaiting(!0),S(this,Gs,this._uiManager.imageManager.getFromUrl(s).then(r=>A(this,lt,ic).call(this,r)).finally(()=>A(this,lt,sc).call(this)));return}if(l(this,Ys)){const s=l(this,Ys);S(this,Ys,null),this._uiManager.enableWaiting(!0),S(this,Gs,this._uiManager.imageManager.getFromFile(s).then(r=>A(this,lt,ic).call(this,r)).finally(()=>A(this,lt,sc).call(this)));return}const e=document.createElement("input");e.type="file",e.accept=vc.supportedTypesStr;const i=this._uiManager._signal;S(this,Gs,new Promise(s=>{e.addEventListener("change",async()=>{if(!e.files||e.files.length===0)this.remove();else{this._uiManager.enableWaiting(!0);const r=await this._uiManager.imageManager.getFromFile(e.files[0]);A(this,lt,ic).call(this,r)}s()},{signal:i}),e.addEventListener("cancel",()=>{this.remove(),s()},{signal:i})}).finally(()=>A(this,lt,sc).call(this))),e.click()},Jm=function(){const{div:e}=this;let{width:i,height:s}=l(this,re);const[r,o]=this.pageDimensions,a=.75;if(this.width)i=this.width*r,s=this.height*o;else if(i>a*r||s>a*o){const d=Math.min(a*r/i,a*o/s);i*=d,s*=d}const[c,u]=this.parentDimensions;this.setDims(i*c/r,s*u/o),this._uiManager.enableWaiting(!1);const h=S(this,gi,document.createElement("canvas"));e.append(h),e.hidden=!1,A(this,lt,Zm).call(this,i,s),A(this,lt,_b).call(this),l(this,hh)||(this.parent.addUndoableEditor(this),S(this,hh,!0)),this._reportTelemetry({action:"inserted_image"}),l(this,ul)&&h.setAttribute("aria-label",l(this,ul))},Pb=function(e,i){var a;const[s,r]=this.parentDimensions;this.width=e/s,this.height=i/r,this.setDims(e,i),(a=this._initialOptions)!=null&&a.isCentered?this.center():this.fixAndSetPosition(),this._initialOptions=null,l(this,mi)!==null&&clearTimeout(l(this,mi)),S(this,mi,setTimeout(()=>{S(this,mi,null),A(this,lt,Zm).call(this,e,i)},200))},Rb=function(e,i){const{width:s,height:r}=l(this,re);let o=s,a=r,c=l(this,re);for(;o>2*e||a>2*i;){const u=o,h=a;o>2*e&&(o=o>=16384?Math.floor(o/2)-1:Math.ceil(o/2)),a>2*i&&(a=a>=16384?Math.floor(a/2)-1:Math.ceil(a/2));const d=new OffscreenCanvas(o,a);d.getContext("2d").drawImage(c,0,0,u,h,0,0,o,a),c=d.transferToImageBitmap()}return c},Zm=function(e,i){e=Math.ceil(e),i=Math.ceil(i);const s=l(this,gi);if(!s||s.width===e&&s.height===i)return;s.width=e,s.height=i;const r=l(this,Xn)?l(this,re):A(this,lt,Rb).call(this,e,i);if(this._uiManager.hasMLManager&&!this.hasAltText()){const c=new OffscreenCanvas(e,i).getContext("2d");c.drawImage(r,0,0,r.width,r.height,0,0,e,i),this._uiManager.mlGuess({service:"image-to-text",request:{data:c.getImageData(0,0,e,i).data,width:e,height:i,channels:4}}).then(u=>{const h=(u==null?void 0:u.output)||"";this.parent&&h&&!this.hasAltText()&&(this.altTextData={altText:h,decorative:!1})})}const o=s.getContext("2d");o.filter=this._uiManager.hcmFilter,o.drawImage(r,0,0,r.width,r.height,0,0,e,i)},Dd=function(e){if(e){if(l(this,Xn)){const r=this._uiManager.imageManager.getSvgUrl(l(this,oe));if(r)return r}const i=document.createElement("canvas");return{width:i.width,height:i.height}=l(this,re),i.getContext("2d").drawImage(l(this,re),0,0),i.toDataURL()}if(l(this,Xn)){const[i,s]=this.pageDimensions,r=Math.round(this.width*i*dr.PDF_TO_CSS_UNITS),o=Math.round(this.height*s*dr.PDF_TO_CSS_UNITS),a=new OffscreenCanvas(r,o);return a.getContext("2d").drawImage(l(this,re),0,0,l(this,re).width,l(this,re).height,0,0,r,o),a.transferToImageBitmap()}return structuredClone(l(this,re))},_b=function(){this._uiManager._signal&&(S(this,is,new ResizeObserver(e=>{const i=e[0].contentRect;i.width&&i.height&&A(this,lt,Pb).call(this,i.width,i.height)})),l(this,is).observe(this.div),this._uiManager._signal.addEventListener("abort",()=>{var e;(e=l(this,is))==null||e.disconnect(),S(this,is,null)},{once:!0}))},I(vc,"_type","stamp"),I(vc,"_editorType",st.STAMP);let Qm=vc;var Eo,hl,vi,xo,ss,rs,os,rn,Qs,dl,fl,Te,j,Js,ce,Lb,tv,ev,nv,Id;const Mn=class Mn{constructor({uiManager:t,pageIndex:e,div:i,accessibilityManager:s,annotationLayer:r,drawLayer:o,textLayer:a,viewport:c,l10n:u}){b(this,ce);b(this,Eo);b(this,hl,!1);b(this,vi,null);b(this,xo,null);b(this,ss,null);b(this,rs,null);b(this,os,null);b(this,rn,new Map);b(this,Qs,!1);b(this,dl,!1);b(this,fl,!1);b(this,Te,null);b(this,j);const h=[...l(Mn,Js).values()];if(!Mn._initialized){Mn._initialized=!0;for(const d of h)d.initialize(u,t)}t.registerEditorTypes(h),S(this,j,t),this.pageIndex=e,this.div=i,S(this,Eo,s),S(this,vi,r),this.viewport=c,S(this,Te,a),this.drawLayer=o,l(this,j).addLayer(this)}get isEmpty(){return l(this,rn).size===0}get isInvisible(){return this.isEmpty&&l(this,j).getMode()===st.NONE}updateToolbar(t){l(this,j).updateToolbar(t)}updateMode(t=l(this,j).getMode()){switch(A(this,ce,Id).call(this),t){case st.NONE:this.disableTextSelection(),this.togglePointerEvents(!1),this.toggleAnnotationLayerPointerEvents(!0),this.disableClick();return;case st.INK:this.addInkEditorIfNeeded(!1),this.disableTextSelection(),this.togglePointerEvents(!0),this.disableClick();break;case st.HIGHLIGHT:this.enableTextSelection(),this.togglePointerEvents(!1),this.disableClick();break;default:this.disableTextSelection(),this.togglePointerEvents(!0),this.enableClick()}this.toggleAnnotationLayerPointerEvents(!1);const{classList:e}=this.div;for(const i of l(Mn,Js).values())e.toggle(`${i._type}Editing`,t===i._editorType);this.div.hidden=!1}hasTextLayer(t){var e;return t===((e=l(this,Te))==null?void 0:e.div)}addInkEditorIfNeeded(t){if(l(this,j).getMode()!==st.INK)return;if(!t){for(const i of l(this,rn).values())if(i.isEmpty()){i.setInBackground();return}}this.createAndAddNewEditor({offsetX:0,offsetY:0},!1).setInBackground()}setEditingState(t){l(this,j).setEditingState(t)}addCommands(t){l(this,j).addCommands(t)}togglePointerEvents(t=!1){this.div.classList.toggle("disabled",!t)}toggleAnnotationLayerPointerEvents(t=!1){var e;(e=l(this,vi))==null||e.div.classList.toggle("disabled",!t)}enable(){this.div.tabIndex=0,this.togglePointerEvents(!0);const t=new Set;for(const i of l(this,rn).values())i.enableEditing(),i.show(!0),i.annotationElementId&&(l(this,j).removeChangedExistingAnnotation(i),t.add(i.annotationElementId));if(!l(this,vi))return;const e=l(this,vi).getEditableAnnotations();for(const i of e){if(i.hide(),l(this,j).isDeletedAnnotationElement(i.data.id)||t.has(i.data.id))continue;const s=this.deserialize(i);s&&(this.addOrRebuild(s),s.enableEditing())}}disable(){var s;S(this,fl,!0),this.div.tabIndex=-1,this.togglePointerEvents(!1);const t=new Map,e=new Map;for(const r of l(this,rn).values())if(r.disableEditing(),!!r.annotationElementId){if(r.serialize()!==null){t.set(r.annotationElementId,r);continue}else e.set(r.annotationElementId,r);(s=this.getEditableAnnotation(r.annotationElementId))==null||s.show(),r.remove()}if(l(this,vi)){const r=l(this,vi).getEditableAnnotations();for(const o of r){const{id:a}=o.data;if(l(this,j).isDeletedAnnotationElement(a))continue;let c=e.get(a);if(c){c.resetAnnotationElement(o),c.show(!1),o.show();continue}c=t.get(a),c&&(l(this,j).addChangedExistingAnnotation(c),c.renderAnnotationElement(o),c.show(!1)),o.show()}}A(this,ce,Id).call(this),this.isEmpty&&(this.div.hidden=!0);const{classList:i}=this.div;for(const r of l(Mn,Js).values())i.remove(`${r._type}Editing`);this.disableTextSelection(),this.toggleAnnotationLayerPointerEvents(!0),S(this,fl,!1)}getEditableAnnotation(t){var e;return((e=l(this,vi))==null?void 0:e.getEditableAnnotation(t))||null}setActiveEditor(t){l(this,j).getActive()!==t&&l(this,j).setActiveEditor(t)}enableTextSelection(){var t;this.div.tabIndex=-1,(t=l(this,Te))!=null&&t.div&&!l(this,rs)&&(S(this,rs,A(this,ce,Lb).bind(this)),l(this,Te).div.addEventListener("pointerdown",l(this,rs),{signal:l(this,j)._signal}),l(this,Te).div.classList.add("highlighting"))}disableTextSelection(){var t;this.div.tabIndex=0,(t=l(this,Te))!=null&&t.div&&l(this,rs)&&(l(this,Te).div.removeEventListener("pointerdown",l(this,rs)),S(this,rs,null),l(this,Te).div.classList.remove("highlighting"))}enableClick(){if(l(this,ss))return;const t=l(this,j)._signal;S(this,ss,this.pointerdown.bind(this)),S(this,xo,this.pointerup.bind(this)),this.div.addEventListener("pointerdown",l(this,ss),{signal:t}),this.div.addEventListener("pointerup",l(this,xo),{signal:t})}disableClick(){l(this,ss)&&(this.div.removeEventListener("pointerdown",l(this,ss)),this.div.removeEventListener("pointerup",l(this,xo)),S(this,ss,null),S(this,xo,null))}attach(t){l(this,rn).set(t.id,t);const{annotationElementId:e}=t;e&&l(this,j).isDeletedAnnotationElement(e)&&l(this,j).removeDeletedAnnotationElement(t)}detach(t){var e;l(this,rn).delete(t.id),(e=l(this,Eo))==null||e.removePointerInTextLayer(t.contentDiv),!l(this,fl)&&t.annotationElementId&&l(this,j).addDeletedAnnotationElement(t)}remove(t){this.detach(t),l(this,j).removeEditor(t),t.div.remove(),t.isAttachedToDOM=!1,l(this,dl)||this.addInkEditorIfNeeded(!1)}changeParent(t){var e;t.parent!==this&&(t.parent&&t.annotationElementId&&(l(this,j).addDeletedAnnotationElement(t.annotationElementId),ht.deleteAnnotationElement(t),t.annotationElementId=null),this.attach(t),(e=t.parent)==null||e.detach(t),t.setParent(this),t.div&&t.isAttachedToDOM&&(t.div.remove(),this.div.append(t.div)))}add(t){if(!(t.parent===this&&t.isAttachedToDOM)){if(this.changeParent(t),l(this,j).addEditor(t),this.attach(t),!t.isAttachedToDOM){const e=t.render();this.div.append(e),t.isAttachedToDOM=!0}t.fixAndSetPosition(),t.onceAdded(),l(this,j).addToAnnotationStorage(t),t._reportTelemetry(t.telemetryInitialData)}}moveEditorInDOM(t){var i;if(!t.isAttachedToDOM)return;const{activeElement:e}=document;t.div.contains(e)&&!l(this,os)&&(t._focusEventsAllowed=!1,S(this,os,setTimeout(()=>{S(this,os,null),t.div.contains(document.activeElement)?t._focusEventsAllowed=!0:(t.div.addEventListener("focusin",()=>{t._focusEventsAllowed=!0},{once:!0,signal:l(this,j)._signal}),e.focus())},0))),t._structTreeParentId=(i=l(this,Eo))==null?void 0:i.moveElementInDOM(this.div,t.div,t.contentDiv,!0)}addOrRebuild(t){t.needsToBeRebuilt()?(t.parent||(t.parent=this),t.rebuild(),t.show()):this.add(t)}addUndoableEditor(t){const e=()=>t._uiManager.rebuild(t),i=()=>{t.remove()};this.addCommands({cmd:e,undo:i,mustExec:!1})}getNextId(){return l(this,j).getId()}get _signal(){return l(this,j)._signal}canCreateNewEmptyEditor(){var t;return(t=l(this,ce,tv))==null?void 0:t.canCreateNewEmptyEditor()}pasteEditor(t,e){l(this,j).updateToolbar(t),l(this,j).updateMode(t);const{offsetX:i,offsetY:s}=A(this,ce,nv).call(this),r=this.getNextId(),o=A(this,ce,ev).call(this,{parent:this,id:r,x:i,y:s,uiManager:l(this,j),isCentered:!0,...e});o&&this.add(o)}deserialize(t){var e;return((e=l(Mn,Js).get(t.annotationType??t.annotationEditorType))==null?void 0:e.deserialize(t,this,l(this,j)))||null}createAndAddNewEditor(t,e,i={}){const s=this.getNextId(),r=A(this,ce,ev).call(this,{parent:this,id:s,x:t.offsetX,y:t.offsetY,uiManager:l(this,j),isCentered:e,...i});return r&&this.add(r),r}addNewEditor(){this.createAndAddNewEditor(A(this,ce,nv).call(this),!0)}setSelected(t){l(this,j).setSelected(t)}toggleSelected(t){l(this,j).toggleSelected(t)}isSelected(t){return l(this,j).isSelected(t)}unselect(t){l(this,j).unselect(t)}pointerup(t){const{isMac:e}=He.platform;if(!(t.button!==0||t.ctrlKey&&e)&&t.target===this.div&&l(this,Qs)){if(S(this,Qs,!1),!l(this,hl)){S(this,hl,!0);return}if(l(this,j).getMode()===st.STAMP){l(this,j).unselectAll();return}this.createAndAddNewEditor(t,!1)}}pointerdown(t){if(l(this,j).getMode()===st.HIGHLIGHT&&this.enableTextSelection(),l(this,Qs)){S(this,Qs,!1);return}const{isMac:e}=He.platform;if(t.button!==0||t.ctrlKey&&e||t.target!==this.div)return;S(this,Qs,!0);const i=l(this,j).getActive();S(this,hl,!i||i.isEmpty())}findNewParent(t,e,i){const s=l(this,j).findParent(e,i);return s===null||s===this?!1:(s.changeParent(t),!0)}destroy(){var t,e;((t=l(this,j).getActive())==null?void 0:t.parent)===this&&(l(this,j).commitOrRemove(),l(this,j).setActiveEditor(null)),l(this,os)&&(clearTimeout(l(this,os)),S(this,os,null));for(const i of l(this,rn).values())(e=l(this,Eo))==null||e.removePointerInTextLayer(i.contentDiv),i.setParent(null),i.isAttachedToDOM=!1,i.div.remove();this.div=null,l(this,rn).clear(),l(this,j).removeLayer(this)}render({viewport:t}){this.viewport=t,Mo(this.div,t);for(const e of l(this,j).getEditors(this.pageIndex))this.add(e),e.rebuild();this.updateMode()}update({viewport:t}){l(this,j).commitOrRemove(),A(this,ce,Id).call(this);const e=this.viewport.rotation,i=t.rotation;if(this.viewport=t,Mo(this.div,{rotation:i}),e!==i)for(const s of l(this,rn).values())s.rotate(i);this.addInkEditorIfNeeded(!1)}get pageDimensions(){const{pageWidth:t,pageHeight:e}=this.viewport.rawDims;return[t,e]}get scale(){return l(this,j).viewParameters.realScale}};Eo=new WeakMap,hl=new WeakMap,vi=new WeakMap,xo=new WeakMap,ss=new WeakMap,rs=new WeakMap,os=new WeakMap,rn=new WeakMap,Qs=new WeakMap,dl=new WeakMap,fl=new WeakMap,Te=new WeakMap,j=new WeakMap,Js=new WeakMap,ce=new WeakSet,Lb=function(t){if(l(this,j).unselectAll(),t.target===l(this,Te).div){const{isMac:e}=He.platform;if(t.button!==0||t.ctrlKey&&e)return;l(this,j).showAllEditors("highlight",!0,!0),l(this,Te).div.classList.add("free"),ff.startHighlighting(this,l(this,j).direction==="ltr",t),l(this,Te).div.addEventListener("pointerup",()=>{l(this,Te).div.classList.remove("free")},{once:!0,signal:l(this,j)._signal}),t.preventDefault()}},tv=function(){return l(Mn,Js).get(l(this,j).getMode())},ev=function(t){const e=l(this,ce,tv);return e?new e.prototype.constructor(t):null},nv=function(){const{x:t,y:e,width:i,height:s}=this.div.getBoundingClientRect(),r=Math.max(0,t),o=Math.max(0,e),a=Math.min(window.innerWidth,t+i),c=Math.min(window.innerHeight,e+s),u=(r+a)/2-t,h=(o+c)/2-e,[d,f]=this.viewport.rotation%180===0?[u,h]:[h,u];return{offsetX:d,offsetY:f}},Id=function(){S(this,dl,!0);for(const t of l(this,rn).values())t.isEmpty()&&t.remove();S(this,dl,!1)},I(Mn,"_initialized",!1),b(Mn,Js,new Map([Mm,jm,Qm,ff].map(t=>[t._editorType,t])));let $m=Mn;var yi,dh,Kt,Zs,fh,sv,Fo,rv,Mb;const te=class te{constructor({pageIndex:t}){b(this,Fo);b(this,yi,null);b(this,dh,0);b(this,Kt,new Map);b(this,Zs,new Map);this.pageIndex=t}setParent(t){if(!l(this,yi)){S(this,yi,t);return}if(l(this,yi)!==t){if(l(this,Kt).size>0)for(const e of l(this,Kt).values())e.remove(),t.append(e);S(this,yi,t)}}static get _svgFactory(){return ot(this,"_svgFactory",new ay)}highlight(t,e,i,s=!1){const r=Xe(this,dh)._++,o=A(this,Fo,rv).call(this,t.box);o.classList.add("highlight"),t.free&&o.classList.add("free");const a=te._svgFactory.createElement("defs");o.append(a);const c=te._svgFactory.createElement("path");a.append(c);const u=`path_p${this.pageIndex}_${r}`;c.setAttribute("id",u),c.setAttribute("d",t.toSVGPath()),s&&l(this,Zs).set(r,c);const h=A(this,Fo,Mb).call(this,a,u),d=te._svgFactory.createElement("use");return o.append(d),o.setAttribute("fill",e),o.setAttribute("fill-opacity",i),d.setAttribute("href",`#${u}`),l(this,Kt).set(r,o),{id:r,clipPathId:`url(#${h})`}}highlightOutline(t){const e=Xe(this,dh)._++,i=A(this,Fo,rv).call(this,t.box);i.classList.add("highlightOutline");const s=te._svgFactory.createElement("defs");i.append(s);const r=te._svgFactory.createElement("path");s.append(r);const o=`path_p${this.pageIndex}_${e}`;r.setAttribute("id",o),r.setAttribute("d",t.toSVGPath()),r.setAttribute("vector-effect","non-scaling-stroke");let a;if(t.free){i.classList.add("free");const h=te._svgFactory.createElement("mask");s.append(h),a=`mask_p${this.pageIndex}_${e}`,h.setAttribute("id",a),h.setAttribute("maskUnits","objectBoundingBox");const d=te._svgFactory.createElement("rect");h.append(d),d.setAttribute("width","1"),d.setAttribute("height","1"),d.setAttribute("fill","white");const f=te._svgFactory.createElement("use");h.append(f),f.setAttribute("href",`#${o}`),f.setAttribute("stroke","none"),f.setAttribute("fill","black"),f.setAttribute("fill-rule","nonzero"),f.classList.add("mask")}const c=te._svgFactory.createElement("use");i.append(c),c.setAttribute("href",`#${o}`),a&&c.setAttribute("mask",`url(#${a})`);const u=c.cloneNode();return i.append(u),c.classList.add("mainOutline"),u.classList.add("secondaryOutline"),l(this,Kt).set(e,i),e}finalizeLine(t,e){const i=l(this,Zs).get(t);l(this,Zs).delete(t),this.updateBox(t,e.box),i.setAttribute("d",e.toSVGPath())}updateLine(t,e){l(this,Kt).get(t).firstChild.firstChild.setAttribute("d",e.toSVGPath())}removeFreeHighlight(t){this.remove(t),l(this,Zs).delete(t)}updatePath(t,e){l(this,Zs).get(t).setAttribute("d",e.toSVGPath())}updateBox(t,e){var i;A(i=te,fh,sv).call(i,l(this,Kt).get(t),e)}show(t,e){l(this,Kt).get(t).classList.toggle("hidden",!e)}rotate(t,e){l(this,Kt).get(t).setAttribute("data-main-rotation",e)}changeColor(t,e){l(this,Kt).get(t).setAttribute("fill",e)}changeOpacity(t,e){l(this,Kt).get(t).setAttribute("fill-opacity",e)}addClass(t,e){l(this,Kt).get(t).classList.add(e)}removeClass(t,e){l(this,Kt).get(t).classList.remove(e)}remove(t){l(this,yi)!==null&&(l(this,Kt).get(t).remove(),l(this,Kt).delete(t))}destroy(){S(this,yi,null);for(const t of l(this,Kt).values())t.remove();l(this,Kt).clear()}};yi=new WeakMap,dh=new WeakMap,Kt=new WeakMap,Zs=new WeakMap,fh=new WeakSet,sv=function(t,{x:e=0,y:i=0,width:s=1,height:r=1}={}){const{style:o}=t;o.top=`${100*i}%`,o.left=`${100*e}%`,o.width=`${100*s}%`,o.height=`${100*r}%`},Fo=new WeakSet,rv=function(t){var i;const e=te._svgFactory.create(1,1,!0);return l(this,yi).append(e),e.setAttribute("aria-hidden",!0),A(i=te,fh,sv).call(i,e,t),e},Mb=function(t,e){const i=te._svgFactory.createElement("clipPath");t.append(i);const s=`clip_${e}`;i.setAttribute("id",s),i.setAttribute("clipPathUnits","objectBoundingBox");const r=te._svgFactory.createElement("use");return i.append(r),r.setAttribute("href",`#${e}`),r.classList.add("clip"),s},b(te,fh);let iv=te;K.AbortException;K.AnnotationEditorLayer;K.AnnotationEditorParamsType;K.AnnotationEditorType;K.AnnotationEditorUIManager;K.AnnotationLayer;K.AnnotationMode;K.CMapCompressionType;K.ColorPicker;K.DOMSVGFactory;K.DrawLayer;K.FeatureTest;var nR=K.GlobalWorkerOptions;K.ImageKind;K.InvalidPDFException;K.MissingPDFException;K.OPS;K.Outliner;K.PDFDataRangeTransport;K.PDFDateString;K.PDFWorker;K.PasswordResponses;K.PermissionFlag;K.PixelsPerInch;K.RenderingCancelledException;K.TextLayer;K.UnexpectedResponseException;K.Util;K.VerbosityLevel;K.XfaLayer;K.build;K.createValidAbsoluteUrl;K.fetchData;var iR=K.getDocument;K.getFilenameFromUrl;K.getPdfFilenameFromUrl;K.getXfaPageViewport;K.isDataScheme;K.isPdfFile;K.noContextMenu;K.normalizeUnicode;K.renderTextLayer;K.setLayerDimensions;K.shadow;K.updateTextLayer;K.version;class Nb extends Y.Component{constructor(){super(...arguments);I(this,"state",{pdfDocument:null,error:null});I(this,"documentRef",pl.createRef())}componentDidMount(){this.load()}componentWillUnmount(){const{pdfDocument:e}=this.state;e&&e.destroy()}componentDidUpdate({url:e}){this.props.url!==e&&this.load()}componentDidCatch(e){const{onError:i}=this.props;i&&i(e),this.setState({pdfDocument:null,error:e})}load(){const{ownerDocument:e=document}=this.documentRef.current||{},{url:i,cMapUrl:s,cMapPacked:r,workerSrc:o}=this.props,{pdfDocument:a}=this.state;this.setState({pdfDocument:null,error:null}),typeof o=="string"&&(nR.workerSrc=o),Promise.resolve().then(()=>a==null?void 0:a.destroy()).then(()=>{if(!i)return;const c={...this.props,ownerDocument:e,cMapUrl:s,cMapPacked:r};return iR(c).promise.then(u=>{this.setState({pdfDocument:u})})}).catch(c=>this.componentDidCatch(c))}render(){const{children:e,beforeLoad:i}=this.props,{pdfDocument:s,error:r}=this.state;return N.jsxs(N.Fragment,{children:[N.jsx("span",{ref:this.documentRef}),r?this.renderError():!s||!e?i:e(s)]})}renderError(){const{errorMessage:e}=this.props;return e?pl.cloneElement(e,{error:this.state.error}):null}}I(Nb,"defaultProps",{workerSrc:"https://unpkg.com/pdfjs-dist@4.4.168/build/pdf.worker.min.mjs"});const sR=n=>{document.location.hash=`highlight-${n.id}`};function rR({highlights:n,toggleDocument:t,resetHighlights:e}){return N.jsxs("div",{className:"sidebar",style:{width:"25vw"},children:[N.jsxs("div",{className:"description",style:{padding:"1rem"},children:[N.jsxs("h2",{style:{marginBottom:"1rem"},children:["react-pdf-highlighter ","8.0.0-rc.0"]}),N.jsx("p",{style:{fontSize:"0.7rem"},children:N.jsx("a",{href:"https://github.com/agentcooper/react-pdf-highlighter",children:"Open in GitHub"})}),N.jsx("p",{children:N.jsx("small",{children:"To create area highlight hold ⌥ Option key (Alt), then click and drag."})})]}),N.jsx("ul",{className:"sidebar__highlights",children:n.map((i,s)=>N.jsxs("li",{className:"sidebar__highlight",onClick:()=>{sR(i)},children:[N.jsxs("div",{children:[N.jsx("strong",{children:i.comment.text}),i.content.text?N.jsx("blockquote",{style:{marginTop:"0.5rem"},children:`${i.content.text.slice(0,90).trim()}…`}):null,i.content.image?N.jsx("div",{className:"highlight__image",style:{marginTop:"0.5rem"},children:N.jsx("img",{src:i.content.image,alt:"Screenshot"})}):null]}),N.jsxs("div",{className:"highlight__location",children:["Page ",i.position.pageNumber]})]},s))}),N.jsx("div",{style:{padding:"1rem"},children:N.jsx("button",{type:"button",onClick:t,children:"Toggle PDF document"})}),n.length>0?N.jsx("div",{style:{padding:"1rem"},children:N.jsx("button",{type:"button",onClick:e,children:"Reset highlights"})}):null]})}function oR(){return N.jsx("div",{style:{display:"flex",alignItems:"center",height:"100vh"},children:N.jsxs("div",{className:"sk-fading-circle",children:[N.jsx("div",{className:"sk-circle1 sk-circle"}),N.jsx("div",{className:"sk-circle2 sk-circle"}),N.jsx("div",{className:"sk-circle3 sk-circle"}),N.jsx("div",{className:"sk-circle4 sk-circle"}),N.jsx("div",{className:"sk-circle5 sk-circle"}),N.jsx("div",{className:"sk-circle6 sk-circle"}),N.jsx("div",{className:"sk-circle7 sk-circle"}),N.jsx("div",{className:"sk-circle8 sk-circle"}),N.jsx("div",{className:"sk-circle9 sk-circle"}),N.jsx("div",{className:"sk-circle10 sk-circle"}),N.jsx("div",{className:"sk-circle11 sk-circle"}),N.jsx("div",{className:"sk-circle12 sk-circle"})]})})}const aR={"https://arxiv.org/pdf/1708.08021":[{content:{text:" Type Checking for JavaScript"},position:{boundingRect:{x1:255.73419189453125,y1:139.140625,x2:574.372314453125,y2:165.140625,width:809.9999999999999,height:1200},rects:[{x1:255.73419189453125,y1:139.140625,x2:574.372314453125,y2:165.140625,width:809.9999999999999,height:1200}],pageNumber:1},comment:{text:"Flow or TypeScript?",emoji:"🔥"},id:"8245652131754351"},{content:{text:" millions of lines of code atFacebookevery day"},position:{boundingRect:{x1:353.080810546875,y1:346.390625,x2:658.6533203125,y2:363.390625,width:809.9999999999999,height:1200},rects:[{x1:353.080810546875,y1:346.390625,x2:658.6533203125,y2:363.390625,width:809.9999999999999,height:1200}],pageNumber:1},comment:{text:"impressive",emoji:""},id:"812807243318874"},{content:{text:"This fuels a fast edit-refresh cycle, whichpromises an immersive coding experience that is quite appealing to creative developers."},position:{boundingRect:{x1:76.375,y1:666.21875,x2:733.61328125,y2:706.140625,width:809.9999999999999,height:1200,pageNumber:1},rects:[{x1:459.168701171875,y1:666.21875,x2:733.61328125,y2:686.21875,width:809.9999999999999,height:1200,pageNumber:1},{x1:76.375,y1:686.140625,x2:671.4954833984375,y2:706.140625,width:809.9999999999999,height:1200,pageNumber:1}],pageNumber:1},comment:{text:"immersive coding experience!",emoji:""},id:"2599712881412761"},{content:{image:"data:image/png;base64,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"},position:{boundingRect:{x1:410.8125,y1:133,x2:744.8125,y2:261,width:809.9999999999999,height:1200,pageNumber:3},rects:[],pageNumber:3},comment:{text:"lisp!",emoji:"😱"},id:"9120567402727258"},{content:{text:"We consider a minimal subset of JavaScript that includes functions, mutable variables, primitivevalues and records"},position:{boundingRect:{x1:75.578125,y1:1039.3125,x2:733.607421875,y2:1079.234375,width:809.9999999999999,height:1200,pageNumber:4},rects:[{x1:75.578125,y1:1039.3125,x2:733.607421875,y2:1059.3125,width:809.9999999999999,height:1200,pageNumber:4},{x1:75.953125,y1:1059.234375,x2:206.6217041015625,y2:1079.234375,width:809.9999999999999,height:1200,pageNumber:4}],pageNumber:4},comment:{text:"",emoji:""},id:"32839601376722394"},{content:{image:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAVUAAAEcCAYAAAB3WyeKAAAgAElEQVR4Xu2dB1hURxeGP5AOYsGOigXRiL3F3nt+SzTGrjEajYndxN41amzRqFGjxm6MLYm994K9N2yAIoL03vmfM7C4LAt79+5donDmeYwR5k75Zu57z7QzJklJSUngwAqwAqwAK6CIAiYMVUV05ERYAVaAFRAKMFS5I7ACrAAroKACDFUFxeSkWAFWgBVgqHIfYAVYAVZAQQUYqgqKyUmxAqwAK8BQ5T7ACrACrICCCjBUFRSTk2IFWAFWgKHKfYAVYAVYAQUVYKgqKCYnxQqwAqwAQ5X7ACvACrACCirAUFVQTE6KFWAFWAGGKvcBVoAVYAUUVIChqqCYnBQrwAqwAgxV7gOsACvACiioAENVQTE5KVaAFWAFsgyqr169wpQpU2BiYoJVq1bBw8MDS5YsES2wbNky2NjYcGuwAqwAK/DRK5BlUPXx8YG9vT127doFKysrFCtWDBUrVoSdnZ34NwdWgBVgBbKDAlkGVZVYo0aNwpAhQ+Dr6yss1KJFi2LRokVsqWaH3sR1YAVYgax1Un3s2DFs3LgR27dvT5X+yJEj8PT0FKDVFuLiE7HzzD2EJmXN9EBcQhJMTUyQyzRreodPcDSK5s0aS50uzvEOikLx/NZZUrlkLYFc9J8sCAHhsXCws8iCnICs1jI+IfnWI7Nc2VPL14GRKOGQNe94REwC6rs4oL5LQaP0lSyzVG/fvo2WLVvizJkzsLCwgLu7OypXroyVK1eKn7du3VprBWPjE+H9yhOlS5c2igCaiUbFJsDM1ATmZllD1VseQaheKl+W1C0xKQnXngfiU2eHLMmPtKSPk4VZrizJz/1tGFyK5M6SvEjLq88CUbdc1mlpYgJYmWeNlk/fhqFcFmrp9jQA9V0KZEnbvQuNwW2PQLSqUtQo+WUZVG/evIn9+/eLSpQsWRIVKlTAgQMHxN99+/bNsHIMVeXanaGqrJYMVWX0pH7JUFVGS0mpMFQlySQpEkNVkkySIrGlKkkmSZEYqpJkUi4SQ1U5LRmqymrJlqoyejJUldFRcioMVclS6YzIUNUpkeQIbKlKlkpnRIaqTomUjcBQVU5PhqqyWrKlqoyeDFVldJScCkNVslQ6IzJUdUokOQJbqpKl0hmRoapTImUjMFSV05OhqqyWbKkqoydDVRkdJafCUJUslc6IDFWdEkmOwJaqZKl0RmSo6pRI2QgMVeX0TEhMwst3kShdyAa5aCe5kQNv/ldOYNKSN/8ro2e22fwvVw6Gqlzl0j4XFBmP0X+5g4471nKyx8hWJWBsrDJUlWk7SoWhqpyWDFU+piq7N4VHx2P96Rc4dOsNhrZzxe4bfiItsng2fl3R6NYqQ1V206V7kKGqnJYMVYaqrN5Ex/5GbrohLJwCuS2xuF8tLD7+SqRlaWaKfnUccNMjCKPbl5eVvpSHGKpSVJIWh6EqTScpsRiqDFUp/SQ1Dk36rz35HCuPPYWleS788L8K6Fa3hPj9vtv+CIqIQz3nvBi7+Rpe+UeiQw1H/NSjil55SI3MUJWqlO54DFXdGkmNwVBlqErtKyCgzv3nIXZe9kKRvNbYNqweCtpbpgHuXc9gVCuVDzFxCei/yg0PX4fifzUcMdcIYGWoSm46nREZqjolkhyBocpQldRZyNvmqmNPsfrEM5QqaIvdoxvCQsN9oeaWqui4BHRdcgGvAiIxvlNF9G7gJCkvqZEYqlKV0h2PoapbI6kxGKoMVUl95d/r3pi68y7y21ngyMSmWv1uatunGhIZixZzTgsr988R9VG+qL2k/KREYqhKUUlaHIaqNJ2kxGKoMlR19hMv/wj8b8E5AdID4xqjUB7tNwlktPn/jmcw+q68jLy2Fjg3vYXO/KRGYKhKVUp3PIaqbo2kxmCoMlQz7SsxcYloPe80QiLi8Eu/6mjmWjjD+JmdqJr/70Nsv+iJDjUd8VN3ZRauGKpSX3Pd8RiqujWSGoOhylDNtK/M3vsAu9y80L5aMczvVTXTuJlBlRaums0+BZpn3f9jEzgqcI8VQ1Xqa647HkNVt0ZSYzBUGaoZ9pUnb0LRbelF2Fub48LMljr7lK6z/3e9gtFnxWWULGCDA+Oa6ExPVwSGqi6FpP+eoSpdK10xGaoMVa19hI7vtphzCnRqatvw+qjoqHuBSRdU6YbQgb9fwfXngVjStzpaVi6iq39m+nuGqkHypXmYoaqclgxVhqrW3vRbyvap1lWKYlGfapJ6nC6oUiKB4bFoOusk7G3McWGGbus3s4wZqpKaRVIkhqokmSRFYqgyVNN1FN+QaLT66TRsrcwE+HKZSnONIgWqlNmsPfex+8orjP1fBfRvLP9qcIaqpHdcUiSGqiSZJEViqDJU03SUxMQkfLnsIuhe9l/61UDzTFb7NXuYVKiGRcejwbTjsLMyw6VZrSR1VG2RGKqypUv3IENVOS0ZqgzVNL3p4pN3GLr+OsoVyY09Yxrq1dOkQpUSXX7EHWtPPce3LZ3xXetyeuWjisxQlSWb1ocYqsppyVBlqKb2pujYBDSccQK0oHRsclM42L0/1y+ly+kD1YiYeNSbapi1ylCV0irS4jBUpekkJRZDlaGa2k+WHXbH+tPP0a1uSUzt4iql/6SdOkhKwrXngfjU2UHSs8uPuguPV8PauGBwi7KSnlGPxFDVW7IMH2CoKqclQzU+ETcfPkfdKvKGoPo2BXVeM1MTmGs4I9E3Hanxb3kEoXqpfDqj+4fFoPnsUwbNc+pjqVKBaLtW/WnHkdvKDBdlzK0yVHU2q+QIDFXJUumMyFCNT8SRq+7oWL+CTrGUiPAhQpVg2P+3K7jjGYTFfaqjVRV5+0f1hSrpuWDfI2y94IHJn7uie72SeknMUNVLrkwjM1SV05KhylDFPa9g9F5xGU4FbLF/XGPZvUsOVEOj4tBw+gnksTHHeT33rTJUZTdVugcZqsppmW2gmpSUBA8PD9DfZcqUEQq9fPkS8fHxKFcu46E9nRzKyZYq1b/5nFOIiI7Hvh8bo4SDjezeJQeqlNmkHXdw4OYbsYWrRaWMHbZoFoyhKrupGKrKSZcupWwD1WvXrmHnzp2gv5cuXQpvb2/8/fffiIqKwpdffolOnTpplTGnQ5U24dNm/GauhbCsf02DuppcqKpOWdFdV6emNpdcBoaqZKl0RmRLVadEkiNkG6iqanz48GFERERg9erVOH78OEJDQ9GmTRu4ubkxVDUUoIWiBtOPCz+p5DDFPJep5I6jLaJcqFJag3+/iivPArD5+7qo6qR7YY2eYaga1FxpHmaoKqdltoJqdHQ0qlatijt37qBZs2a4fPmyAGzTpk2FBastkKV60O0xmlTTf0uPnGaIjksUxz7Nc0k7+iknD/Vn7r0KQeUSebQmM+fvhzhx7y0GNC1t0HFRVeKJScBtjyDUKC0NiuqF8gmORs9fLwmXgHT3lZRAWtIJWs1rXaQ8KyfOc79wlC1kJ+dRvZ8hLWnnRk0ZWuqdGQDSknqkpblhH1apeb/wi0CZQrZSoxsUj7S88TIQtcvkNygdqQ8HhMXC4104WlUpKvURveKZJNEkZxaE2NhYdOnSBbNmzUL16tXRtm1bHDp0CIGBgfjqq69w8OBBhqqaAp7+kej/m5vY4L9nTANFWsgQqFIvGfT7Vbz0ixDWanEJ/lYZqoo0m0iEoaqcltkGqlu3bsWQIUPQrl07ODs7o3Pnzvjxxx+RkJCA7du3o1SpUhlCNactVMUnJKH9/DPwC43B1mH1UCkDS1bfbmbI8J/yUvlvrVwiL7YN122t8vBf3xbKOD4P/5XTMlsN/zVloZV/U1NT8SejkBMXqg7c9MakHXdRx9kB6wbXUaw3GQrV+MQktJh9CmHRcTgzrYVwjp1ZYKgq1nRiftrEBFovdFQul/cpkcMe8i+RFYH6pdvTANR3KZAV2SFbQ1WKgjkNqqrFKUuzXDg7vQWsLXJJkUlSHEOhSplcfOKPoeuvocknhbB8QOa7ERiqkppFUiSGqiSZJEViqOagfao0bzlsw3Wcf/wOYz+rgP5N5Psy1da7lIBqTHyicAtIiyZuc1pn6suVoSrpHZcUiaEqSSZJkRiqOQiqtJpMi1PF8lnjyMSmkjqIPpGUgCrlt+fqK8zcfV8cW6XjqxkFhqo+rZN5XIaqcloyVHMIVOmlaTLzJBISk8TJKSVuM9XshkpBNTImHnWnHoetpRkuz87YiTVDVTkQMFSV05KhmgOgWs0pHybuuINDt96gT8NSGNfxE+V6kFpKSkGVklx04DE2n3uJ8R0/Qe+G2nduMFSVa0aGqnJaMlRzAFSj4xIwZO01FMljhWOTmynXezRSUhKqIZFxaDQjc0crDFXlmpKhqpyWDNVsDNWA8Dhceh6CkIhobDr9FJu/q4ui+ayV6z1GhColPXLTDZx+4IcVA2qi8SeF0pWboapcUzJUldOSoZpNoRoRk4AhWx6LnkIr6ePbOaGSo3GPWCppqVK5/UKj0XLOaRTKY4UTWixshqpyIGCoKqclQzWbQtUnJAY/7nqW2lP61C2CtpWkXXMit3spDVXaAkZ+Xh+8Dsb24fXhWjytDwOGqtyWSv8cQ1U5LRmq2RCqdAx1x2VPXH0Vi8CIOLHXc2E3ZxTKbaFcz9GSktJQpSy8/CPxvwVnUbKADQ6Ma5ImV4aqcs3JUFVOS4ZqNoMqnRAbvfkmLj/1x+TOlVDEwQ4VitjCwS7zI59KdCljQJXS7LzovIDrPz80QqmC7z0bMVSVaLXkNBiqymnJUM1GUKVrn79ZcxX3X4egdCE77BzVAA9fh0i6+E+JLmUMqFK53H3C8MUvF1CuaG7sGd0wtagMVSVajaGqnIrJKTFUswlUvQOj0GflZQSExaBKybzYOLQuzHKZCJ+cUm5TVaJjGQuqdGCh/c9n4RcSLaYAVAcXGKpKtBpDVTkVGapCgezgUOWiuz+Gb7gOmkvtWNMRc7pXSe0n2QGqVJn7r0LQa/klfOJoj79GJvt/ZagqhwMe/iun5QdrqZLT6YkTJ2Lx4sWIi4sTd0zRVSk9e/YU/lGVCh8zVMn/9x+nX2DZEXeYmphgaCtnDGnpnEaa7AJVslbbzjuDd2ExOJhirTJUlXoLeE5VOSU/4OE/3Yw6YsQI7Nu3DwcOHMCoUaPEPVNffPEF1q5dm+kNqfoI9LFClco9deddHL7tI67A+LlXNTR3TX8TaXaBKrXpg9ch4sqVCsXsxXwxQ1Wfnp55XLZUldPyg7VUvby8xPUou3fvRo0aNXDhwgVUrFhRXJdCXv2rVHk/xDVEjo8RqrQpftCaq/B4FyEAs2pgLTjkttQqQ3aCqmpu1Tc4GnvGNBTetuiuQgsz5XzCZtaX3N+GwSULHStffRaIuuWMu7dYVV+GqiEUSfvsBwtV8trfq1cv7N27FyNHjhTTADQlULZsWTx+/Bi2tspcGvaxQfXsIz+M3XILcQmJ6FHfCRM7Vcy0N2QnqFJFVVeu0NYqmltlqCoDA4aqMjpSKh8sVAmgDx8+RLVq1VJrS3OI169fF1aqpaV2y0xfaT4WqNLK+rpTL7DiqLu4SnpqF1d0rl1cZ3WzG1RJhy+XXgRdx7Gsf03Ud3FgS1VnL9AdgaGqWyOpMT5YqAYEBGD8+PFYt24dVq9ejUaNGsHV1RVr1qxBjx49kCeP9muXpVZcFe9jgGp8QiKm7boPulvKwc4CawfXgbPEYWh2gyq1G20fo8W5Ws6FxEmrWk72YvuYsQMP/5VTmO+okq+l7Cuq6WppgiotShFIGzZsKKBKkO3WrVuOgWpkTAIGrbkiNvRXdLTHhqF19bpXKjtClbrj7AMv8eRtpOiZbVwd0LdeEfm9VOKTDFWJQkmIxlCVIFIGUWRDlSzVqlWrok2bNrh69SpKliyJIkWK4MGDBzh69GiOgGpQRCx6/HoJPkFR+Kx6MczrWVXvlsiOUCVHK33XP0jVIq+NGVb0Kq+3Nvo+wFDVV7GM4zNU5WspG6o0p3rkyBGY0L25GqFt27YwN1fmLPuHOvyn00NdfrmAsMg4cUHfmM8qyGqF7AhVEuLPq744eNdfaFKthB1+aOMkSx99HmKo6qNW5nEZqvK1lA3VjLLctm0bOnToAHt7e/mlUnvyQ4SqT3AUuiy+gMjYeIxsWx5fNysju67ZFaq0verBmwh4+Efg1F1vdKtbEg2MfK87Q1V2N0z3IENVvpaKQzW7L1TRNSKt555GdGwCvm/jgsEtyspXH8gWZ/8zEoBWrGmKhE5a2VmZ4eLMVtAysDFIP/WHGaqKSSl2b5STuNhqaK60Y8TtaQDqG/mjqyrnB7v6HxUVhU2bNqUb/h86dAibN2/OlnOqZDV3WZLs5m5A0zIY3d7wecLsaqlSB1adqNp20Qu/HHyM9tWKYn6v91vwDH0ZNZ9nqCqnKENVvpayLdXw8HBMmjQpXc6mpqaYP38+rKys5JfqAxz+JyYmYey22zh57y3qOjvg98F1FKlfToCqCUzQdv4ZBIbHYteohnAuYpxrYxiqinRJkQhDVb6WsqEqP0v9nvxQ5lTXnnqO5UfchVu7Q+ObKjaMzQlQpWOqL/zChTPrjO6z0q9XaI/NUFVCxeQ0GKrytZQNVdpSRftSyTJVD4mJiTh79izKlzd8aEzpfghQfRUQic9+Pgsbi1w4PrkZclsrs7OB6pdToEp1nb33AXa5eWFwC2cMa1NOfq/N4EmGqnKSMlTlaykbqnQkNSgoSGvOefPmTQdbipiQkIDXr1/DyckJ0dHR8PdP3nJTrFgxrfE/BKgS1NvNPwP/sBgs6VcDLbR4mpIvf86CKs2xNp5xAkkAjk1qivx2yhxlVunPUDWkJ6Z9lqEqX0vZUA0JCcHy5csxZcoU+Pr64tGjR2jatGmGJaETWOS9iuZib968idOnTwu3gTT3On369AznYP9rS3XRgcfYfO4lGpQvKLxNKR1ykqVK2l19FoBBv19F2cJ2+HtsI0XlZKgqJydDVb6WsqFKkBw3bpw4lvrixQvh+q9fv34ZliQmJkY4s27cuLGAKk0RkCer4sWLi5NYGYX/Eqpvg6PQem7ydqBz01sa5fx6ToMqjXCGrr+OS+7+wukM7V9VKjBUlVKS51QNUdIgqJLjlBkzZogh/d27d9G+fXvQS1O9enXY2NikK1dERIRwvEJQffnypdiSRUdcp06dinr16mmtB0F136XHqOZSwpB6Sn42Jj5RXBlNfybvuIvHb0Ix5rPyaFi+oOQ09IlI6ZPP1awIdHz0/utgVC6RNyuyA2lpagLhtUs90AWI/X5zg6VZLmwc+ikszNL+Xm7hPP0j4FRAGZeTuspAWt57FSzuG8uKQFrS2UWltNJVZq+ASJR0SP8O63pOzu9pOuiuZzCqOmWNlrR3OjgiFq2qFJVTXJ3PyIZqWFgYvv76a61zoT///DNKlSqVLvPIyEjheIWgqgrke/XUqVP47rvvMoTqkavu6Fhf3jFQnQpoRKB5PzNTEwHT3isuo4SDDQ6OT3ufvb5pZhY/p1mqKi2O332LsVtvoWrJvNgyTPsHVV+d2VLVV7GM4/PwX76WsqGqb5Z+fn7i+pX9+/djzJgxoF0CPj4+uH37tnDAUrCgdkvwvxj+kxXSZt5phEXH45+xae+y17feuuLnVKjSMdY+Ky7joXcIfulXQ+tVM7q00/w9Q1VfxRiqyin2PqUsg6q2wpNTFgsLi0zr9V9Ale5a+nr1FdQonU9cJW3MkFOhSprSMKzJzJOwtTTD+RmGz1kzVJXrqWypytfyP4WqlGJnNVSj4xIwfMMNXH8RiKOTmqGQvbLbfjTrnJOhSlrsuvIKs/fcR+NPCmHFgJpSukSGcRiqBsmX5mGGqnwtZUOV9qjOnj0bS5YsSbNQJb8o2p/MSqgGRsRh9w0/kJP6EnnN0Lpy+ttPla5fTodqfEISui45D0//SPz+TW3UcZZ/kR5DVbneyVCVr6VsqOq7pUpuEbMKqrQCOXjzI0TFJoqilipghTmdDfNAJaXOOR2qpJFvSDRa/XQaua2TPVnJDQxVucqlf46hKl9Lg6BKzqgHDhwIOrJ669YttGzZUixA9ezZE3SqSomQZVBNAgZsfAiynCjktzXHrz1dlKhCpmkwVJPl2XLeAwv3P0KLSkXwS7/qsnRnqMqSTetDDFX5WsqGakZequgmgAkTJqBoUWX2gGUVVEnCqy9Dsfa8NwATjGpZAq7FjL/nkaGa3HnpSu+OC8/BJygaG4Z+iuql8undqxmqekuW4QMMVflayoaqKkuaBqATVQTTcuXKKebxX5V+VkGV8mn10yn0qF8Kg5qXhXkW3P5JdWSovu+8dNdXm3lnYG9tLnYD6OvQmqEqHwSaTzJU5WspG6p0cor8qdJG/zp16gioXrt2TVipc+bMkV8ijSezCqpPfcLQ9ZcLqFfOASsG1IK5Qqd8dAnBUE2r0JoTz7Dy2FO0qlwEi/vqNw3AUNXV26T/nqEqXSvNmLKhSvOoZcqUgbu7OwoXTl4lp838NWrUEDeq5s+fX36p1J7MKqj2W+mGu17B+PfHRiiW15qhqkDrqTz/kz9VqYGmATosOIe3wdFYN6QOapWR3o8YqlJV1h2Poapbo4xiyIbqs2fPsHjxYqxatSpN2vTvBg0aoEqVKvJLlcVQDYuKQ4PpJ+CQ20I4oKZjqmypGt58cqBKuRJQ6R6w3OTIZkZL4YdBSmCoSlFJWhyGqjSdtMWSDdW3b98KV390dl8VaOW/Xbt2WLFihZhfVSJkhaV6+qEfRm68ge9alRPXTTNUlWi593dU6WOpqnLeesEDC/Y90utQAENVmXajVBiq8rWUDVVyOP3ZZ5+BzvS3bt1aOFahbVU09Pf09Ex3IaDcIhobqnTOv+3806AbFq/OaSNWoRmqclsr7XNyLVVKhba2dVt6AS/9IrB8QE00qqDbSxhDVZl2Y6gapqNsqFK2BNY9e/aIBSqyUsk36vfff6/zPL8+RTY2VMkFWOOZJ1EsnzWOTGwqbgBlqOrTQhnHNQSqlCrdttB89ilxjc3Z6S1gaZ753CxDVZl2Y6gapqNBUDUsa2lPGxuqB256Y9KOu5jyuSu+rFeSoSqtWSTFMhSqlMm+G96Y8tdd4bd0qw4XgQxVSc0iKRIP/yXJpDVSjoZqYlISWs45jZCoOFz7qY1wqMyWqvzOpPmkElClq8G/XnMFN18GpX74MiohQ1W5tmOoytdSNlTJocq0adPEPVXGDMa0VFVDf8d81jg8Mfl+LYaqcq2pBFSpNOHR8Wg88wRMTUwyvTCQoapc2zFU5WspG6oqhypr1qwRV6ioBzMzM/kl0njSmFA9dPsNJmy/g0mfV0SPek4MVcVaLTkhpaBKabk99cfgtddQ3MEGhzK4iYGhqlwDMlTla2kQVB0ctLtpu3//PlxdXeWXSu1JY0GVPgN0JDIgNAbX5rYWVhBbqoo0WWoiSkKVvttTd94Vc6w0901z4JqBoapc+zFU5WtpEFR/+OEHrFy5Ml3u1tbW8kuURZZqaFQcGk4/gUJ5rHBicrM0IODVf2WaT0moUono8rt2884gMCIWa7+pg9pl0562Yqgq026UCkNVvpayoUrHVEePHo3NmzfLz13Ck8ayVC+7+2PIumsY2soZQ1u9P6jAc6oSGkViFKWhStl6B0ah3fwz4gqWM9Oap9lmxVCV2DASojFUJYiUQRTZUI2LixOb/XPlSrt3kByrVK1aNd3P5RbRWFDt8etFPHkThkuzWsHa4n0dGKpyWyr9c8aAKuWy9+orzNh9H67F8+DPEfVTM2aoKtd2DFX5WsqGakhICAYPHpyas7m5ObZt2yb+/eTJE7i4KOPg2RhQjYxJQN2px5DP1kJsKlcPDFX5nUnzSWNBlbbCjdp0E2ce+mFQ8zIY0ba8yJqhqlzbMVTlaykbqupZenl5YerUqdi9ezfmz5+P4cOHyy+RxpPGgOpz33B8vvg82lUrip97VWOoKtZaaRMyFlQpF7qgsc3cM6C58d9T5lcZqso1JENVvpYGQTUsLAwTJ07E2rVr8eOPP4p9q7qunNa3qMaA6oQ/7+DQrTc4NKEJiue3Yajq2ygS4xsTqlSE14GRaD//rDjGSjff+oZGw6VIbomlMywaWctXnwWibjn5FxXqUwLSkjaoWOk4qqtPmpnFZajKV1I2VENDQ8U9VAULFsSuXbtga/v+6hHaTmVlZSW/VGpPKg1VcphSa9JRsdBB86nahqy8+q9I0ym6TzWjEtHHkT6SNUrnw/ye1cRuDomeAg2qJEPVIPnSPExauj0NQH2XAsolmklK5DzptkcgWlVR5sonzawMguq3334rnKpoBroNoFSpUooIpDRUVU46NBc5VIXlOVVFmk0kYmxLlfKg/asrjroD5la45x2BgrktMK1DaVga+eYGhqpy/YShmqIlnaKKiYlJZ5FGR0eLKQByBahEUBqqOy55Yu4/D7Gkb3W0rFyELVUlGimDNLICqpR1UGQ8hm9/klqKZuXzYWCjYkasGcBQVU5ehmqKlv7+/vjuu++wc+dOHDhwAJUqVRLW6W+//YbevXsjT548iqiuJFTJqmn50ykER8bhxtw2WsvHlqoizZZlliplFBadgKFb3ztL7/1pEbSrbNy5Toaqcv2EoZqipers/7p168SVKqorVMgXQI8ePT5IqKquTSlob4mTU5ozVJV7LzLUMpcpIMfzvz5FoyPHV16E4uSjABTJY4GoiEiUKWyL9tWMZ60yVPVpoczjMlTVoNq2bVsMHDgQ//zzD5ydnYW1eujQIXHK6kO0VB+8DkHPXy+hd0MnjO9YkaGq3Hvxn0JVlfmrgEhExiag2y8XhKPxJX1roKlrIaPUkqGqnKwM1RQtw8PDxRXVmoHmUmmvqubqP83B7t27Fzdu3MDcuXNBrgNHjRolbgygO60ygrCSw/9x22/j6G0fnJjSHGStags8/FfuZcmqOU6aBI4AACAASURBVFVViVX7VM8+8sPwDTdgnssUKwbURD0jrCozVJXrJwzVFC0Jklu3bsWXX34JS8tkQEVFRYk51bFjx6ZTnC4K3LBhg9h+dfPmTYwYMULsbaVphCVLlmDTpk1aW0kpqOraSqXKnKGq3MvyX0GVanDg5htM2nFHgHXZVzXQsLzuO670qTlDVR+1ePgvSS2CYfXq1eHh4ZF6yR9tr6pTpw6OHz+O/PnT39ceERGBRo0aCWu1Xr16cHNzA/2MbmWle660BaWgGhAeg2azTqFCMXvsHNUgwzoyVCU1v6RI/yVUqYD7b3hj8l93BViX9q8h6fJASRUDr/5L1UlKPLZUU1R69uwZfvrpJ2F9qofVq1ejfv36qFKlSjo91aFat25dXLlyRUCVQEvWa0ZQ/efiI3xS2lFK+2QYh7xSrTj2VHilysxqiYmni/9MJd81b1ChxHn1ULgUsTc0GUnP0+jioXeocESSFYG0zGViAjNarcqC4BUQgZIO7w+hUJYX3f3x27Gnoj0HtyirmMWahCTQHH2l4nmzoGbJbg/pRJVFFmn5KjASJTROGxqroqTl/VchqFwia7QMjoxFdGzCh7f5n+ZEnZyc8PDhQ3GLKgWyXmmxiizRokXTnlYgr1aPHz/G559/LizZ9evXo3HjxvDx8QE5Z6HpAGNaql2W0HXH4bg+t02mwGRLVblX57+2VFU1UZ26IrBO7VIJXeok91dDAg//DVEv7bNsqarpsXjxYjEv2qxZM5CXqqNHj2LIkCEga1UzEIR//fVX8eMSJUqIvaxz5syBnZ0dxo8fn2ELKTH8p5f70ynavVJpZsxQVe5l+VCgKizWJ/4Yuv6auOFhRFsXfN2sjEEVZagaJF+ahxmqGlqSdXrnzh2QJVquXDlxAIB8qioVlICqT1CUuDql8SeFxGpwZoGhqlTLZc0xVfXS6vJSddsjSNzMGp+QhL6NSuHHDp/IrixDVbZ06R5kqKpJQiv5dJqKFqdov+qsWbPECat///33g7qjau2p51h+xB0bh9YVjjcYqsY9baTS90OyVFVl8ngXAXJQTj51W1QqjCX9akCOCcBQZahmpIBBDlWKFSsGuqeKQEo+Vbt06QJyskILVUoFQy1VOprabPZJRETH41oGR1PVy8qWqlIt9+FZqqqakZeiXssvwTckGp842ouPrfrtD1IUYKhKUUlaHLZUU3SiYT8BlIB69uxZYZ3SflOlg6FQpTvj6087Ljb7Z3Q0laGqdKslp/chWqqqmpKl+u26a7jtGYRC9pbYMqw+iuaV7q6Soapcn2GopmhJF//RXVRt2rQRe1WDg4NRrVqyF/2ZM2em7ggwVHpDoUrDvY4Lz6FLnRKY8UUlncVhS1WnRJIjfMhQpUrQgZDJO+7iyB0fWFnkwrJ+NSSfvmKoSu4GOiMyVFMkio2NxZEjR9ItStFeSNrMb2+vzN5LQ6G6YN8jbL3ggX0/Nkapgmn3MGprbYaqzndAcoQPHapUEXqhVxx9inWnnoutdhM7VcSX9UrqrCNDVadEkiMwVFOkoiOpp0+fRvv27YVfVdpSRef+aY8q7VVVHV2VrGwGEQ2BKjVW3SnHxabpK3NaSyoKQ1WSTJIifQxQVVWEjrVO/uuO+GeP+k4CrpkFhqqkLiApEkM1RSZ113/kEIVORdF0wIfk+o8uhWs4/QSK5rXG0UlNJTUwQ1WSTJIifUxQpQrRleVfr3ZDWHQ8qpbMizXf1IaNpZnWujJUJXUBSZEYqmpQpU37dOkfgbRhw4ZiGxX5V+3WrdsH4frvkXcoui+7iAFNy2B0++RrjHUFhqouhaT//mODKtUsJDIOQ9ZdxcPXoeIK898H10b5oumnshiq0vuBrpgM1RSFaKHKxcUFNWvWFEP+QoUKiZNS7u7u4jDAh+BPdfque/j72mscn9wMhfNIW9llqOp6BaT//mOEKtUuPiERM3ffx783vIUzlhndKqFDjbS+Jxiq0vuBrpgM1RSFyCMVneXXdhcVwTZXrly6tJT0e7lzqgmJSagz+RgszExxeXb6W1MzypyhKqlZJEX6WKFKlaP9zbTAuXD/IzEn36dh2hNYDFVJXUBSJIaqmky3bt0SXv7pquqpU6cqdtmfekvIhSoN4xrNOAHH/NY4PEHafCrly1CV9B5IivQxQ1VVwVseQWI/K9WlTlkHrBxYS9zUylCV1AUkRWKopshELvscHByE935yA0ir/du2bZMkoj6R5EL1nlcweq+4jKEtnTG0dTnJWTJUJUulM2J2gCpVMjA8Fl+vvoIXfuHioMD6bz9FCQcbXH0WiLrlsu7IL1nMVubKjAB1Nd7Tt2EoVyS3rmiK/J6hmiIjrf737dsXBw8eFB7/y5Ytizdv3igishKW6oQ/7+DwrTc4Pa0F8ttZSC4XQ1WyVDojZheoUkXj4hMxddc9kBtBe2tznJjcHPe8w1CrVB4xPWDsQFoyVJVRmY4p3/YI/PD8qRJUacW/Q4cOoA3/dI3K8OHDxZ1TY8aMQeHChRVRQI6lSvOptSYdFee5L82SPp/Kw39Fmiw1kewEVaoUWVTrT7+AS7E82HDZT3i7KlXAGjM7lja6U3OGqnJ984OFKlmn8+bN01rTkSNHiqkBJYIcqJJn78YzTsKpgC32j2usVzHYUtVLrkwjZzeoqip79H4Atri9Ta371kGuyomWQUoMVeUk/mChqlwVM09JDlTJSUa/lW4Y3tYF3zQvq1dRGap6yZUjoeoVGI1Je5+LulvkMsHX9QuhYfkCygmnJSWGqnLyMlTjE3Hkqjs61q8gWdUft93CsbtvcW56S+SxMZf8HA//9ZJKZ+TsaqlSxe+8DsMLv2ggMR7Td95G5RJ58Me3n8LSSAtJDFWd3U1yBIaqnlA1ZD6VoSq5X0qKmJ2hqtpSRU7PR2++ifOP34kDJpu/r6eXC0FJQqZs9eOFKqlqZR6PoaonVIMjYtF45knhkYo8U+kbePivr2IZx88JUKUtVfQhn//vQ/x12UtvF4JS1WZLVapSuuMxVPWE6s2XQfhqlRtGtSsv63I3hqruTik1Rk6BKukhTmCd98DCA4/EToBJnSuiW13dLgT10ZItValqsaWaqQL6LlT9sPUWjt97i/PTW8Jez/lUHv4r02lVqeQkqKrqfNndH9/9cV1sv+rfuDTGfCZ9LSAz9dlSVa5vsqWqh6Vq6HwqQ1W5jqvSMpcpYGGWNaeAdN2mqmTtMjum6uUfid4rLgmPV80rFcYvfWsYfECAoapc6zFU9YCqaj5Vzv5UdevKzNQE5mamyrViJinR2fLqpTK/4VWpghAIrj0PxKfOyuwh1lWunGipqjQhX75frbqCZ2/D4FI0t7hc0M5Ku29WXTqqPlA8/JeilO44DFU9oHrrZRD6r3LDyHYuGNhMv/2pDFXdnVHfGDkZqqQVTV2N334bJ+/7Iq+tBTYO/RRlCtnpK6OIz5aqLNm0PsRQ1QOqqvlUOftTGarKddqcPKeqqWJiYhKWHn6CjWdfCjeUC3pVE1MC+gaGqr6KZRyfoSoRqkrMp/KcqnIdNyfPqWpTcc+VV5i55z5MTUwwoq2L3jtTGKrK9U2GqkSovp9PtcH+cU1ktwBvqZItXboHc/rwX1OQu17BGLTmKqLjEvC/GsXwU4+qkOrgiqGqXL9kqEqEKi349P/NDcPalMPgFs6yW4ChKls6hqoE6fzDYjBglRs8/SPFAtb6IZ9KOkrNUJUgrsQoDFWJUB237RaO3nmL09NbIL+tdP+pmu3AUJXYMyVEY0tVu0i0gEX+KU4/8BM7An77uhaq6dgBwlCV0OEkRsm2UPX19QXdxkp3WU2ZMgWlS5fWKomUzf+q+VTyiq7PfVTaMmSoSuyZEqIxVDMWiba3rTr+DGtOPANt4RvfqSK618v4BBZDVUKHkxgl20L1xYsXCA0NRYUKFWBllfFNp1KgqvKfWtzBGofGS7+PiqEqsRfKjMZQ1S3cqQe+GLvllvAf0KmWI2Z1q6L1oABDVbeWUmNka6h+8803cHJywpw5c1CsWLEMLdXDV56gdW2XDDW7/yoEA9dcwddNy2BIS/nzqZSBsFRzmYiribMi3PEMQlWnrNv8f+NlEGqXyZ8VVRNa0jl42kqUFeGZbxicC2fdvUrXXwSKywANDd6Bkfh+ww34BEWhdEFb/DqgJgrZpzU0SEtTExjNtaBmHZ77hqFsFmqZlYdSaF77sXfIh3ediqEdSfX87du3MWnSJBw6dChDqO6//Bh1XUtlmOX8fY9w9qEf/hxRH3llnPdXTzg6LlEMxwisWREeeoegomOerMhKOP244xWMak55syS/mLhEmJoiyz5QL99FCChlRSAtb3sFobpCH0S6mmXFsac4esdHnOYb1rocWlcpkloV0pK2CtBNrlkRPPwjUKpA1ml5yzMINbLoZGFgRCzeBkVlP6jevHkT+fLlw7Fjx8SFgTNnzswQqpk5qaZhU+3JR8X5crfZ+t1HxcN/476ePPzXT1+6623bBU8s2P9ITAH0qO+ECR0riv/n4b9+WmYWO9sO/93d3bFp0yYULFhQXHOdUdA1p0pOKxrNOIFi+axxZKJh86mpw38++69ID2aoypPx8ZtQfP/HddDLT34sln1VA0XzWQNJEJdZZkXgK6rlq2ySRJ/HDzjogur9V8HotfwyBjQtg9HtyxtcE179N1jC1AQYqvK1pAMC03fdw6n7vlj1zaf46/o70Ph/WPPicHLIeGFXfo5pn2Soylfyo4fqtJ338M/11zg+uZm4zsLQwFA1VMH3zzNUDdOSzJ3zT/yw5WoAomITRWL5bc3xa8+MF20Ny/H90wxV+Up+1FB9P59qCrfZreWroPYkQ1URGUUiDFXDtaRh5IAND0ELWRQK5baAi4MJBjUvKxZUjRUYqvKV/aihqppPLZLXCscmNZOvAkNVEe00E2GoKiPr66AYbLz4RmxNq13SBiM3XodDbktM7lwRLSu/3yGgTG7JqTBU5av5UUDV+5Wn1hNXD1+HoMevl8S1FWP/p9y1FeykWn6HUn+SoaqMjpQKrS2oFj9+PfwEW857iMQbVSiIqV0qgQwLJQNDVb6aHzVUaSL/72uvxao/rf4rEXj4r4SKyWkwVJXVUt3z/wvfcOFKkBwJ0Z5qciI0sGkZxW6sYKjKb7uPFqrk/PfTKcfEiR23OcrMp6pAwJaq/A7Flqoy2mmbStG8ToX8B+y77o35+x4iMiYB9tbmGNraGb3qlzL4TiyGqvx2/Gihaoz5VIaq/I6k7Um2VJXTM7PN//S7daeeY8PZF2JBi464jmjngo41HWUXgKEqWzp8tFB98DoEPX+9hH6NS+MHheZTGaryOxJDVVntpFiqmnHI0Fh57Cn+uuQp5l9LFbTFqPbl0dxV/+tbGKry2/Ojheq0Xffwj8LzqQxV+R2JoaqsdnKgqnrmbXA0lh1+goO33ogfVS6ZF4NblEWTTwpJLiRDVbJU6SJ+lFA1xv5UlTK8UCW/M2kDATn7Ir8MWRHc6TroIlnnperqs0DULWe4lyop2sg5+//MN1zAlZwNUSjhYIM+DUuh66cldHoOY6hKaRXtcT5KqKrmU+k89FEFzvurS8NQld+ZGKrKaWeIpar5LPkS2HreAwdueiMxxX/Al/VKomd9pwx3zTBU5bflRwnVe17B6L1CufP+DFX5HSizJ3mhSjld5ViqmrkHR8Rh+0UP/HnJE2SY0M2uzSsVQseaxcV+V9pJowoMVflt91FCdfJfd7H/hrdi5/0ZqvI7EEP1wx3+Z9Q28YnJW7EIsO4+YSIaeb9qXqkw2lQpitplHXDWPRiOeS1RtYSdcTqHWqq0NcztaQDquxQwel6UQbZ1/SdVPTpJon6iSmn/qdqGWbxPVWrrZB6PLVVldKRUlLBUNUtDOwQevArBkTs+wjm2b0g0OtYqjsBYc4RGJ4i9rlM+K43yRWyUq4iWlBiqRpU3feKaUFXNpzrmt8bhCYb7T2WoGq9BGarKaWsMqKqXjjyA0lU7ZrlyYdHx16m/qlEyN/a7PUUFR3t8UiwPyhXNjZIFbFAgt6X4oz5lILe2DFW5ysl8ThOqd72C0WfFZeGlZ0Rb5V2g8UKVzIbS8hhDVVktNU9UKZf6+5RoamD6vy/gGRAtLNUhjYrhu3VuWrOiGdg8thZwsLNAfjsL5LNN/uNgZwlbKzPkpj/W5rC3MUcBOwsUymMFW0uzdGnR6PNNUJTYnZAVgYf/GsP/cdtv4+htH5yc2lx8KZUODFXlFGWoKqtlVkCVSkyGzD3vMBTMbYmS+a0QE58Iz3cR8PSPgJd/BLwDowQE6Y9PcDRi4hIkV9TOygxF8lihWH4bOOazxsDmZbHqzBs8fxeJFp/kR//6RSWnJTciQ1UNqvRFqz7hiPjaXVbgPiptjcJQldtV0z/HUFVWy6yCKpVan9X/sOh4BEfEIjA8VvxNV8aHRsUjLCoOYVHxCI2KhW9IDHxDosTfdKsBBVocm9u7JjZcfCv+TfVb07cC3gZHoUwh4y2QMVTVoEoN1njmSTFMODi+iXI9Vi0lhqpysjJUldXyQ4WqvrUMCo/F66BI0MmvgnlsseiYl0iC5me/b1IEg9ZcEfO2LSoVRgvXIqii8O2/DFU1qNLd4APXXMH3rV0wpGVZfdtSUnyGqiSZJEViqEqSSVIkYy9UaRZCH0tVUgUyiERzuDuv+Yo53Fql7BEVFYX9N97gyjP/1Cdomo8A2756MVRX4BprhqoaVIdvvIFzj/xwdloL5LW1MKQtM3yWoaqcrAxVZbXMLpaqpiq08+Chdyhci+dJ/VVETDxOP/DDqQe+OP/IT8zrUqBRKnnf+qxGMRTPL29hi6GaAtXiJZ1Qc+JR0ET3pVmtlOutGikxVJWTlqGqrJbZFaq6tlTFJSTi+L23OHjzDS48fic8cJEWNUvnR+faxdGualG9nHMzVFOgmqegI5rOOomyhe3w99hGyvVWhqpRtWSHKsrIm12H/6SOLqiqK0j71A/c8saBG29A7j8pWJmbon11R3Sq5ShpeoChmgJVz0gbjNh0E5M6V0SP+k7K9FQtqbClqpy0bKkqq2VOtVQzUpG8cO258gr/Xn+N8Oh4EY0WuLrWKYHPaxfPcIqQoZoC1RmHfXHHMxhuc1rBytx4ruQYqsqCgC1VZfRkSzVjHem2Azpqu+fqK9x4ESgi0k4Ccs7dpU5xNChfMM3DDNX4RLx4+QJfrn2KPDbmOD+jpTK9NINUGKrKycuWqrJasqWqW0+PdxHY5eaFfTe8hScuCoXzWAkfsu2rFUXJAragRTDazkVTicYIH4WXqtsPnmDQNg9UKZkXW4fVM4YOqWkyVJWTl6GqrJYMVel60kGhE/feYu/V17j8NHl7lqW5KTZ93wALjnohKQkY1KgYGpXLKz1RiTE/Cqj+ceQmfjv3Dov6VEfrKkUkVk1eNIaqPN20PcVQVVZLhqo8Pd+GRGP3ZS9ccH+HQgULIjAi2YK1s8qF33pXgJobWXkZaDz1n0L19evXCAkJgaura4aVoXPI3ZecgWdQLG7Oa6tIpTNLhKGqnMQMVWW1ZKgapidtxZq57wWe+UWJhPJYm2Fl7/KGJarl6f8Mqvfv38fkyZNRokQJ5MmTBz/99JPWyhFUt55/iduewfj1q5qKC6CZIENVOYkZqspqyVA1XM/wmATsuu4rrpVpV8kBxfIq75TpP4Pq6NGjMXfuXJiYmKBs2bLw9vZOp1hETALmHfaAV0A0WlV0QN96xh36UwEYqoZ3XFUKDFVltWSoKqNnUEQsHr0OQX2NXQHKpA78Z1D97rvvsGLFCiQkJKBUqVJaoXrsQQA2X072YEPzHuv7V0BoSLBSddeaDp3eoLt7lHC+q5mBb1jyXjr18CYoGsXyWRm1TqrEafjzKiASJbPIb2VcQpJoN2NoqU0w/7BYFMhtnOPLmvn9F1qS/1KzXO/vkTJmp/EPjxU+UDVD4dzp/aEaWg5aNHodGJll/lTJq9bzIAh/AsYI/xlUf/jhB0yaNAmWlpaoXr063N3d09Xv4ZsIzD3kIX5unssEq/qUR0BYjDF04DRZAVYgBylQOI+10T5Q/xlUX7x4gdatW4uh/8SJE9G0afqrUWhbxD+3/eEZEIXG5fIKLzYcWAFWgBX4kBX4z6BKoiQmJoo/ZmbKDyk+ZNG5bKwAK5B9FfhPoZp9ZeWasQKsQE5VgKGaU1ue680KsAJGUYChahRZOVFWgBXIqQowVHNqy3O9WQFWwCgKfNBQpUWscePG4eXLl+jatSt69eplFBHoOoe9e/fixo0b4kBCUFAQRo0aJRbRaC8tnfhSMqxcuRJnz55FxYoVMWPGDBw4cAAbNmwQ/549e7aSWSE6OhpjxoxBQECA2MJWuXJlo2saExODIUOGYNWqVSJ/Y2q5dOlSPHjwAFZWVli+fDlu3ryJefPmiZN6S5YsUVRLSuzx48eijXLnzo3ffvvNqFoeOnQIf//9t6hDoUKFMHXqVAwbNgzh4eGijqVLl1a0fqQj1c3W1lbUjf5tLC3p3ZowYQKeP38u3u2ePXuC3otTp06hXr16+PHHHxWr27lz5/Dnn3+m9kd1DYsWLaq4ph80VGnb1cKFC7Fs2TIBnGfPnikmtHpCb9++FVDbtWuXeClHjBghGjUwMFC8mJs2bVIsXwI4vSytWrWCi4sL6LhulSpVRN0GDRqE+fPnixdIqUCAI6DGxcWhf//++OOPP4yuKbXXsWPHsH37dgECY2lJGtEhEsqPXlJTU1OUL18eT548ES8QvZy1a9dWSkrExsbik08+EbChk4B0CtCY/TM+Pl60G+W3c+dOUTd6D+iD0a5dO9y7d0+xulFCffr0wfr167Fnzx6RV7du3YymJb1zY8eOFe9WtWrVQODr3LkzTp8+jQYNGuD8+fMwNzc3uH6hoaH4+eefxfv95s0bUT91DemDr7SmHzRU6atVoEABAR0CAglDL44xQkREBBo1aiSsVXoZ3dzcQD+j/bPXrl1TPEu6NbJChQoC4uPHj8e6detw4sQJ0JczMwcz+haEIE6gpvp8//33YvuaMTV99+4dvv76a3z++efo0qUL2rZta1Qt6UNEHw46lUeWD7Uhafr06VNcvXoVvXv31leyDOPTCIb6IvUPyo/qZkwtqSD0saA+ePToUYwcORKrV6/O9BSiIZU9c+aM+AgS8K5fv45mzZoZTUtfX1989dVXot93795dvNuXL19Gv379xOiwb9++io0Q6cPk5OQkoDp48OA0Gn722WeKa/rBQ5WGWWRt0NB/69atWQLVunXr4sqVKwKqqpfUkM6q+Swdze3RoweGDx8uAEoNTdYBWXdFihQRL66SgV4SsmooPxrWGUtTAji1E3VUmtIgHWnYZUwtCToqi5Wg2qFDB1FXOqFHHxJ6SZUKNHKhDxNZ4EOHDhWWlYODg1H7J1nDBJ/jx49j4MCB+P333wVoVZBQqm7Udt9++y1atmyJf//9V/RPOpRjLC0pP7JSaYRGUxyUJ0GdPpI0jUPtptS0mzpUNTUki19pTT9oqJJrQALO4sWL0aZNG3h5eSnVh9KkQ6LTXBlZV9R5aYjQuHFj+Pj4CNeENB2gVKDORHUqWLCgmEeioVyZMmWEZUAd6vDhw+LorlLB399fWG0UqKPS8MqYml66dAk0bKXhKnVYsj6MpSV9nNauXStO5n3zzTfi5axatarQkCyuX3/9VVj+SgWaH6a2IljT0JimiwhExuyfVK9p06aJfrJjxw4xlUOnEOn/N27cqFTVhPVLoKZh9507d8S79ssvvxhNS5pKoX5J9aHpITIoyHg6cuSI+DDStBhNsRgaqF40HUTWPrUbjV7UNaTRhtKaftBQJQDt3r0bt2/fFhZCsWLFDNVY6/M0rKMXkAJ1XhoyzpkzB3Z2dmJormQgK0N9MYqA/erVK/GSEBy0Hdc1JH8aGpNbReqgNEFPw9Ws0JSmUSpVqiSKbiwtqX/QB5AWMgngDRs2BH2IaT61Zs2aYvpB6XDr1i0BU0qb8jCmlgQEmtNXLdrQx2rWrFmwsLAQVmSuXMre1UaLRjTnTiMZWiCm4bKxtCSo0ntABgTVj/4mS5XgSnO7NM+pRKBptgULFoikqF70vqlrSH1IaU0/aKgqISqnwQqwAqxAVirAUM1KtTkvVoAVyPYKMFSzfRNzBVkBViArFWCoZqXanBcrwApkewUYqtm+ibmCrAArkJUKMFSzUm3OixVgBbK9AgzVj6SJad8n7fmkbTS0Z5eOudKeO9pcT4F+TkcmabuPKl79+vVTtxV5enqKfYe0xYT2ctL+Sto2Q9t2KBQuXFgcG6QtZLR/lvYM0raX6dOnC98B5BNBPdDGfjoJowq0hYq240RGRsLZ2VnclEvbVWg7Cx0+oED7IOlYoHp49OiR2AROp74o0PP0LF234+joKM65Uxq07YU0oD2HtAeVAu1R/d///if2otJzM2fOhJ+fH/LmzSvqQhvLaVO5eqD60dn2KVOmCL1oH7K2utHP27dvj+LFi4t9jHQGnvb80uEM8qFgb28v9hZT+qotcnTUkrY71alTR5wKou1XVDbaUqY6Cejh4SGO1dK/ac8rbRWkQwXq2+xIb2oXikeB8tTc2qfqD/R72iRPW6xUdaKtSXTEk457UtCWPm0d5GAcBRiqxtFV8VTpmC69JPny5RPHQAku9EITOMghBe1/pX2aqnjkP4CO+hG0aH8eHTagF5fSWLNmjdjfST8/efKkeMEJyrSvlPbm0l5WOm5KJ8pKliwp9n4SwGnf4ubNm8Vx0Pz58wvnLBTIRwP9Px01JCcfBAB6TuUkhuBFedGLTqBXBYIufRzIuQylTWUkANApJTpj//DhQ/FvKhf9nupGp+ru3r0rTqLRSSMCEO1ppFNolBYdbKA9v7TvmI6rUtn/+usv8ZEgiNF9aPv37089urmDiQAAGnhJREFU504fEG11ow39lHa5cuUE3Al+9BEhWNKRUdobS3s4yfcA7VWlNqB/E7CbNGki8qN4dPSYTrKRwxcKBDyCOO3NJGc6lCZtdqeyk7akCdWXgEzxSGv6iFD6VB5VIC3ow6baz1mrVi2hOX0AVOVQnSajsmqmr9RpJcU7ejZIkKH6kTSiCiAEDzogQEf5Lly4IF5i9aOYFI9eWIISnU+n00X0gtKxUYKNKtApMrLowsLCUq0ogigdsKBN7XTclICjelFV8KTN6AQW9UDQoPwIMBToxSaHHARmgi2dZCFYawayBikeAezixYviCC1BlCxdAitBhn6vgirVjQBHVhqdxlFpQvWgD4rqxB2BiaxFspwpf4IMfUxIO7IACa6kB52gUznpoQ+Det1UaZMm5HGLQE6BNuCTVU/x6bgqfdy2bNki6kofK2oPyos+HvRRoHqoB4IqfRjozDu1DX0Y6SNE0KSPgCpQPPoYUNmprSkt+n9VULWzyk+E6gOYEVQ10/9Iuv1HWUyG6kfSbPQSkTcfGl7S0JbOhNNLR042aFhN8COrk+KpjqUStOjsNp0iIatG3bkIQZXSIoCRlbtv3z4BYUqLniFnL2Tl0c/oRaVAFg8BUB2qBDA6hkqOPlQvOE0bEEwof/oZWVN0YoagRpaXKpC7Rfow0HCa8qPhNUGVQEievMiHAMFMHapUd4I9DcfJQqR/06kxArq64xsactNzdD5fHapk8ZIlSZCiITBZ8mT9a9ZNBVXSgo5uUv1UgU6+EejI4Q9NA5DfBiozDdMJqqQzWcwE29GjRwsvSeqwpGOn1G40/UJTGzVq1BAWMVn5ZNFSngRVOgpLFih9cGjagEYH6lCl9qERCY0sSI/MLFXN9D+Sbv9RFpOh+pE0G73kdNSULEka1hOECBbW1taplioN4yke/SF40NykChY0vFefz1RZquQajdKlZ1XWDsGN5lzJAiSLKjOoknxkKZODEfLeRIGsX4IzPUdgI8uShv82NjYCABRUTkHI6qZhv8ovKlmB9AwBgyw+qgvNlVJ9VKCjjwE5uiFgkpVM6Xbs2FGAUhVoPpTgRR8TdagSfMiiJMuNLHcafpOFmhFUyQIloNJctarcNE9K4COYEkTpiCx9nCg/qotq5EDWLJWRAE/lo0CwpA9Ap06dhBcoArTKXzDN0VKgtqB49PGiDw5Z4eTViTRUhyqVnT5a5HmMhvOZQZXqq57+R9LtP8piMlQ/kmYjoJBVpprHpGJrzp3Rz1TgoZeNLB8a5pIjEHp5yYIlqJHTGIIZWWiaw3/VixkcHCx+T9aRLqjSMJ0WVWiBjF5wWlQi4JCVSeUlS0tzDo8gQWUki5QCWaxkaZN1p7JMaThPcCaIqUOV0iRIUd3I+QeVmeLQ8JmmIcgZBw3/qdz00VFBlT5EZE3Sc1RO+j3NTdLiVkZQJUuULGzyekXPktVKQKQPj2q4TxClITxZnbTo9umnnwoLkupMDlHIMlaBlmBJMFe3fFVQ1Rz+q6YJ6KNCFrxq4Uq9nVUezTSH/2TxUt0o0CIlD/+z7kVnqGad1gblRC7LyNJUhyotBNGiFQWymMjqpJdYFY+ARQs29DcNN8mzOr3sZFGS9UhWFQ3RKRCEyIMVAYqAQYEsJQIkQYcCvfw0lFUHAv2chvsEc7LmCNoESxqaE1To/wm2mlAlEJO1R4tYFAji9BGgOU4CBU1v0NQCWXW02EMfBNKAFmsoTSoTQY5+rvLaRNY1/Yx2G9D8rOqmCBVU6SPRvHnz1OkRmh+l+pIFR1MI6nVT6U2AJ+uWVtZpCE0W/rZt24SGpANBl/KhXQr0ASCo0s9o6oJ+RlYmOQkhuFOgRTnasaGuIUGPpllUgXQh4Kvi0QeINKG/VUGzP9DuB1XbqfcL0oPmtDXTVzm7MahT8sNaFWCo5qCOQUNuWqjJzKM6/V7d+xGBTaoLNgIO5SHXdaFm3vo2DZWVrHIVwLQ9r0991J+nehF4M0tbPT7lQ/FVq/761kUzvhRtpMQxtBz8vG4FGKq6NeIYrAArwApIVoChKlkqjsgKsAKsgG4FGKq6NeIYrAArwApIVoChKlkqjsgKsAKsgG4FGKq6NeIYrAArwApIVoChKlkqjsgKsAKsgG4FGKq6NeIYrAArwApIVoChKlkqjsgKsAKsgG4FGKq6NeIYrAArwApIVoChKlkqjsgKsAKsgG4FGKq6NeIYrAArwApIVoChKlkqjsgKsAKsgG4FGKq6NeIYrAArwApIVoChKlkqjsgKsAKsgG4FGKq6NeIYrAArwApIVoChKlkqjsgKsAKsgG4FGKq6NeIYrAArwApIVoChKlkqjsgKsAKsgG4FGKq6NeIYrAArwApIVoChKlkqjsgKsAKsgG4FGKq6NeIYrAArwApIVoChKlkqjsgKsAKsgG4FGKq6NeIYrAArwApIVoChKlkqjsgKsAKsgG4FGKq6NeIYrAArwApIVoChKlkqjsgKsAKsgG4FGKq6NeIYrAArwApIVoChKlkqjqhdgSRc37cJO88/xoKF87ONSEHPb2P20t8RFm+DVasWwSzb1IwrYmwFchxUTywfiBGrL6fRNS4uFw7cu4fSsX4on68Exp70wLAmRZXRPikJng9vocAnNWBrmpJkUiKePriJRy99kK9waTSqU0nvvJLiIlDCtjxsnGwQFWWH+ARfFHKqgP+1b4vxE3+Evfn7JJ8c/BnVe29DaPBdReDg9/AQStTqDY/QIBQ1S8LGvmXww6kk+Ht76F2P1AcSAaj0SYhBu9oVANexOLxlmPw0ZT7p9/AEytT9AT+M+h/+Wn8Uj7yvyUzJSI+payUji2Nz26H7n0DQvcMynuZHdCmQ86C6sDNaTbuAVx6PkBQbjajwMAQGh6Dip/VgHRWA7l164oufd6BXtfy6tMv09/FRgdgy7xdsObIDp++HIDrSD5b0RGIserRvhBsJZdCrbhnMmjMXrp2G4v4/v+mVX1JcOEwtcsOx8VS8PjsLSQkJeHT1BEYObotLns64+fwRyhdMtq88L/6BIQvO4MC/mzOF6sOD89F18Go80gHHgJeX0fPbBdh28G9QFid+6YEei9xkQjUJR6Z+jYFbzODtsTZZg8Q4DOnTHaZOX2DVvF566WJw5IQYNC5qhQHHQjCgmr3BySmaQFI85g/ojtVxveCxraukpLW16eX1Q7DgjAX+3rJcUhocST8FchxUHx5ZANeuixAdkQI5/fSSHDvY4wp++/M+itnex4AJ295DFUk4MHIMWi37RUD25vYfUPObzfqXJykWHUwtce+bf+Dxe6fUcsVGvIGrnSN8CzVBqO8ZyeWliGeW9kC3RW5491o/i9NQqC77zBQLH3yL1x6r9CqvMSLHRwbC3NYBu93j0LXcBzboT4pDD1MLuGm0eWY6yG1TY2ibU9LMcVB9cnIZavRYiIh3r9O1cVTwW3w7chwq9pmL8a2KIykxHlumT8GuG/dgaWoBU0vguft9jN11H70qCLtTZ/B/fgIFK/dSg2raR65tGo5GI3cjPNhHv6G56gX76h94bHgPVUr92o4fUKfnYvx2PQBDa+bHvb1zsPDgK/yxfo3I44XbAUxb8DveRsTBsXgZDJo0D9YXp2Lq6n04c8cfX/ftBavyA7F4dG38PfErHHxnjWEdKmDssgOYse0Iyvntx/glBzFz3TqUMk+2VDvNOIJhvTrj+pPXKFiqPKbOWwLXwpZIjI3AwCFjkL9SHywe2whAAv7oPwi38+XHr0sXYtOwofj94O+47V8ZX/Wuh3K9ZmBk/bz46utvYWdfGytXJA//Y4JfYPKEWbjl/go2tnnRsMm3GP9DK/G7i+t+xIar4Zg/tj8mzFqMlz5BqNygDZbO/lFr+yTEx2DGlMm4cvUWTM1tUKlOQ8yfPR5JEYEY8v0YbNi0CS2+HIiy+e2wctXSdO3idfcMZv28Ei/fhqGIYylMW7gM5QtTf0jEpn4DcMG6Nsb1L4GZSzfBJyAYDdqMxKxxyW2kq6xJCfHYOWMKNrldQ4KpBUpUqoMlP8+EvWkcRn47BPvWboB/mTbo1cIJfWasRKNiuXDv9C78vGoH3gZEoXi5ylj4ywIUtAaubx6ZYZse8LfG+rWrRZniY8IwZeKPuHb7KSxsbFGnQVPMnDhG/C7o2VmMnLsFa5bPx9RxE3D34UvkcaqMjX8sFdNZsVH+mDR2Au49fgkbh8Ko+WkdTPlhlM73IjtHyJFQdW0/EV27dEBcdBQCfQMxfNNJdC1nibjwd7DIXQjLL/thWN2CuLV1Ahp+txHP3rwGPC6gWOVm+O3iW3xdpzAsJRox2qGahEdnT+De01PoPuxXzNtxCRM6V9Wvn2UC1XC/h8hd2BVOKRbNk+PLUPnL+YgM8oFJVDDMbAph4xV39PrEFoO6t8a3W66hTMgz/D3sC0y6GYzbl87BJI8jSjhYgKzIUYcA52Y98EV1R0xZuAiRz4+ikGtP+EUHoqBpMlTbTz6I9Ycuo1e90hj6ZXNsO+2FwFAfWMRFwNTCDk2nHMfp2S0BJIk0591rgbdex/Hy8SOM6OaKa0Ff4dKZqcjrWAb5rWLR2dQSN1v9Dq9j3yAuMgAVbQug4tBZ2LNiCp5f3Y8K9Trh+423saJ/VZF/qzG7YZu7GqaunQGHS7vwza87cSMoCjXyasiaGIferSviwJ0qeOn1FywjnqN1xQp4WW8kXu1ZCPdHd1CxSm0M2nMP4ypZopxLubQJJESjnFkefD5vF6Z/3wCDP6+LIw+LIeDN2dS6jToK5K7eAetmjMT5nYuw4q9rCIj0R/4UrTIuayLW9WmDUfvf4P6Lm3C0CkG3ZpVw/nVjBHj/hcePH+OLipUQ/OVvODe3JRxLl4NZbDDM7B3x055zGF6/ILrUc8KD3IPw5sZa+L54rKVNLXFiYWd0W3ITQT5eSIyLxGeutvCqMAI39y5DyHM3VKpQD/W/34R/VvSD6L/OreBY0haDhkxFg4oOaP35N+jy+x3s+aYy/vzWBWPvN4PX2VU4sWEUBu8sD69jWT8Prt/LY9zYORKqVTr+hHt3LyA6LBqhQb4oUrUZnPObIS7cHxa5C2LH42h0L2+BZa1NsdB9HF57/AzERcDEwg7zD73E+HalJLdKRpbq9d0z8e/VEMxZsgI9B/2I7at/kpymiJgJVKOCPGCTv/R7qJJ13n0hIvxfIy7CHxZ2BfHlyOlYOmUMihZ4P2+obRj/7/Tm6LHkAbxDfAUUKGjWiZ7rufj9tEH4myfI7VgBi876YUw9GwHVb3c+xapuzqngeT/cT4ZsmuG/Rt2eHF0A188XISTSD7aiBIn4uU4RLPK2xjtvz2RLec5Z+Pj6wN4MiAn1hVWeIintmHZEEf7uCXIXqozd7mHiQ0rh4eG5cP3iF4RHvINFmj6gfTTy/PI5lK3XGElJiXDbOxMth6wX2qo+GLNuNoGvzxlh4Ya9vQv7ovXwODoC5S1TrPoMyvq5YygscxdC391PsbkraQW8vX8URSt3xePwcJS3SRn+pxmdJOLaieuo3bIOkhJi8fesrhi87l7q/La2NlX/2btHR1Go8hd4GhYGZ+vk9j0653/osvQWIvy9k9v6k0649NgH9crYA4kxaJ7LCi9EGTpiZRdTTDhZC4fP70TdSqWTrXrVgqN+PTrbxM6RUM1o+J8WqpY48fMX6LzoEt74vIF5wH3YFKmG5Vf9MKy29EUsXcN/nwdHUaxSW+x+Fo2uZaVNKeiCarjfE+QuXCHVOhRTHilQRVIC9oz7Hl8sWiOSqd6yJw7+sx1FbbUvOGkCMyOoqi9UqcA96M+n+L1r0WSo/vkUq3rIg+qFX3ujzeyzaaZsTiwlkF4QMNMEh6odtz2KTjdNE/D0DAq4fIan0RFwTpE72RrrhPvREXCJU/+wam8P30dumDZnAQ7tvYlyzp644uOYBqrqH4iId09gV6hGGqim0SoF4lTWzgV8YFuwNHY/jkZXIjCA5OcrJH8gXEy1zqk+uvwv5sxfg70nvFA28gHeFnOSDNXnZ1fA+bNZiA5/v8bw/OQyOHeYg+jIdwgjbar0ej/nr/rg9dotFsv8n15Epy59cOm+B6xsSmP6lr8xoYueo65sg9PkiuQ8qB5fjApdFiAuzDfdXJkmVKOCPJG7sAs+cS6CkIjc6PXNQMyfMlqvLqAVqmpbYmJC38AqjyPmn/fD+IYFpaedlDxEvq1lTvX82i/QeOgh3PANRQ0HM6SBakoOifExuHhoGxp3GojaE4/j6twW2Ni/DCafbQtvtQUjglePhWlX9rVZquqgiAp8ARuHsvjjVgi+cs2V1lJNjMd3FczxT8wAvPH8A0iKx9eFzXGqs9qCm4alSlBtPvkEwsJ8k3dQIAl/Dq+M73aHiiFsOqimWOOLrodjbM1k21YVAp5eQAGX5vjnZRg6lUpO7dWNP1Gy3nfwiw5C3sjMoRrp5w7bwpUw+qe/sGTS53h+bhmqdEkeBags1fRQrYIbYTGoYZf+w6X6AFFZhzq9hW1BZ4zd9xKLOiSPhkJeX0PeEg1wzi8SDfPForC5LbqmWv2A/+PTKFjlM/z012lM+vxTXFjaH50Xnk2BapL2NlXbrfH87Go4t/gRTyPCUj8y17b/gAbfbxPTRcGaawIpbXO51XJ4qob5SUl48/IOxgzshkMPoxHq+0p6P86GMXMcVE/80hmtJl/SunCkgqrKUriwojt67W4Jr9ODEBcXg4QkM1ilTKbGhvugZ49vMfa37ahfMu2Lq95PPM6tQ+m2k1Lzi/R/BufuS/Hm5ArxEp5Z+xVaj9qH5/5BKJwgLU2BlZS5yuItF+HV8bEiy8S4aBzaOAMdBv+MHqN/wp9LJomfqy/ORfi+xLjl57ByTn8xn1bFwhY2U47j6uwWYig3/UoT+HufoRE2YJqU8rP3lk+qpapmvRDUusw9j3e+3rA0TcTeuV+iz7wLeBfyFjZJ0XAxs0ZU+xl4tW8Sto4ahH4rNsNBZU0lxaG7qQUu1hyL19cXJUunscod+voW8pSogQET/8EfczshJtwTJXKXQqXBm3BqTT8B1W4LLgnAUogM8IBtgdJah/8J0aFwts6DiCbfwO/M70iKj0G3xiVw2qMmAt4cTp0C+v1qAL7RMiLxe3IChSt3wdO371DaPgGz+rTFvCNPESkWGpOnMubf+ww+XgdEWZIh3ibVMs6srF86J6G1szWuRDTGO7+zsEyKx+JuTTDtjAdC/L2RK6XNa/X8B9e2Jy98PTm+GJW7LsDbAF/YxwWhT5saOPosIUULVfupt2ky2HvSLg9vD0QHe8E6nxMafzUFZzfMRnxMOJpY5cbL5t/izclVKcP/L1Pnz5PiIwXYbehjvr4duncZiFW7tiC/OXBmTX90nHaKoZqUlJSUDT8WGVaJLK9W404gJNof9hpzP1GBnrBxKIVhu59ieVdnPL+wGs6NhqZJy6Z0dRw5fgaVLR8gX4n6GLbtPpb3cs0wPzGUajcTAdGBYk4yIuAZOrdqhbAitVECb3Ej2A5LflmDzp+WQPDry5LSVIcq/X9xl4ooYGuGe/cfoWWHL9FqwGiM/V/N1DJdXv816o/cj+jwdwh+eACVXTvAsVVnFAi+Dz+72jhxeDsKWtLc4iy4tp+OsmXLo9W47Vg1uLqYV555vyQC33impud5aR1KNRiFx7HhKE+r/ws7YNUDBxzZfQcdWxTAgZcJ+Puvv9Dyk2TL++aOEajZM3lPZNfBk/DtJ8/Qdd4lhAiLJglHZn6OdjMOoKyrC8ZvOotBVW1RxtwWsU7D4O1BzyXh0p/j0bvXElTp0QvPT+5ApS/HY+uK2WK0sXdyJfRdE5xiLQIRfk9gV7gC/rgeggE10+819X96CV269Mbr/JXhmvgCXlbVsOevjWJePSrQCzYOTqCpi7ViuiJtoJFFY2dH3Ag2R2FTc3QfMQS/LPwFRSrVwpN7V7DYJRdWRrz/CL17egKFXD5LtVR1lTXK7zm6dO2E894F8JlrIg55WeHo3h2oX5amnBIwt1NjTD54DRXLOWLLuadwjnsAZ8dqCDY3Ry5zSwz/picWLluLyjWr4u7121rbdMOAMhh+IA7hKTtgnl/ag069v0CByt1h+vIUzCp2w45tK5HfDHhzdy8cq/YVUyOulvS9S94fXbLVH3i5/wvUrlUFD18AXTpUwp79ZzBjmxsmdM74fcgJrMlxlqqkRiUrzSQBG8YNw8pn5vhn1URYmlnC9/kd9K/bHG+dRsLbYymiQkNgbZ9HUpJpIiUlISwsBKYm5rDNndbK1StN1TQC/a0K2hYJNE7g0Hc0IiICCXGJyJMvLXSiwsORaG4FW9X2BlXamSw+JMZEw9TSColxUYiMToSdRp2oaLERYYhLNE2ub7o0kxAeHgFzSztYqk6CacmXFoYiQiNgYmYBW1u1+c6MypjpyaPkPBPiTZAnr8ZIQ0edhX5hETC3Ti6vqJupNWytzbTULaVhNNtKU0+NslI7xMSZIG8+jbIlJSE8LAJWdnYwS0kjKTEREeGRqT+LCgmHqc17LSW1qUg3HCYmKW2k6k/aNNTQJy4qCtGxMbDOnTe1TPq/FNnnCYZqBm2p2gR+zj8JjRxUkZKw/bvKGHeoE1576Llan336DNeEFWAFMlGAoZqBOEnx0Whf0RoXE1th0sTBKJ83GuePHsCq7Ydw8q4P6pfJeB6VexwrwArkXAUYqpm0fUJ8HM78+xcu3HkuYlWs3xwdWzaSvPE/53YrrjkrkHMVYKjm3LbnmrMCrIARFGCoGkFUTpIVYAVyrgIM1Zzb9lxzVoAVMIICDFUjiMpJsgKsQM5VgKGac9uea84KsAJGUIChagRROUlWgBXIuQowVHNu23PNWQFWwAgKMFSNIConyQqwAjlXAYZqzm17rjkrwAoYQQGGqhFE5SRZAVYg5yrAUM25bc81ZwVYASMowFA1gqicJCvACuRcBRiqObftueasACtgBAUYqkYQlZNkBViBnKsAQzXntj3XnBVgBYygAEPVCKJykqwAK5BzFWCo5ty255qzAqyAERT4PzoSCriDAGAtAAAAAElFTkSuQmCC"},position:{boundingRect:{x1:65.8125,y1:133,x2:406.8125,y2:417,width:809.9999999999999,height:1200,pageNumber:24},rects:[],pageNumber:24},comment:{text:"",emoji:""},id:"46570518065661615"},{id:"46570518065661616",comment:{text:"Fast type checking?!?!",emoji:"😱"},content:{text:"Fast type checking.The key toFlow’s speed is modularity: the ability to break the analysis intofile-sized chunks that can be assembled later. Fortunately, JavaScript is already written using files4Avik Chaudhuri, Panagiotis Vekris, Sam Goldman, Marshall Roch, and Gabriel Levias modules, so we modularize our analysis simply by asking that modules have explicitly typedsignatures. (We still infer types for the vast majority of code “local” to modules.) Coincidentally,developers consider this good software engineering practice anyway."},position:{boundingRect:{x1:76.375,y1:1058.4271240234375,x2:733.626220703125,y2:1097.0208740234375,width:809.9999999999999,height:1200,pageNumber:3},rects:[{x1:75.989501953125,y1:96.9896240234375,x2:85.2291259765625,y2:115.65625,width:809.9999999999999,height:1200,pageNumber:4},{x1:167.583251953125,y1:96.9896240234375,x2:733.6123046875,y2:115.65625,width:809.9999999999999,height:1200,pageNumber:4},{x1:76.375,y1:142.82293701171875,x2:733.613525390625,y2:161.4896240234375,width:809.9999999999999,height:1200,pageNumber:4},{x1:76.375,y1:162.7396240234375,x2:735.43798828125,y2:181.40625,width:809.9999999999999,height:1200,pageNumber:4},{x1:76.375,y1:182.66668701171875,x2:544.7579345703125,y2:201.3333740234375,width:809.9999999999999,height:1200,pageNumber:4},{x1:92.9791259765625,y1:1058.4271240234375,x2:733.619140625,y2:1077.09375,width:809.9999999999999,height:1200,pageNumber:3},{x1:76.375,y1:1078.3541870117188,x2:733.626220703125,y2:1097.0208740234375,width:809.9999999999999,height:1200,pageNumber:3}],pageNumber:3}}],"https://arxiv.org/pdf/1604.02480":[{content:{text:"SSA"},position:{boundingRect:{x1:816.4599609375,y1:360.1875,x2:848.4677734375,y2:380.1875,width:1019.9999999999999,height:1319.9999999999998,pageNumber:1},rects:[{x1:816.4599609375,y1:360.1875,x2:848.4677734375,y2:380.1875,width:1019.9999999999999,height:1319.9999999999998,pageNumber:1}],pageNumber:1},comment:{text:"Static Single Assignment",emoji:"😎"},id:"29668244118038056"}]},Jh=aR,lR=()=>String(Math.random()).slice(2),cR=()=>document.location.hash.slice(11),uR=()=>{document.location.hash=""},hR=({comment:n})=>n.text?N.jsxs("div",{className:"Highlight__popup",children:[n.emoji," ",n.text]}):null,Yp="https://arxiv.org/pdf/1708.08021",dR="https://arxiv.org/pdf/1604.02480";function fR(){const t=new URLSearchParams(document.location.search).get("url")||Yp,[e,i]=Y.useState(t),[s,r]=Y.useState(Jh[t]?[...Jh[t]]:[]),o=()=>{r([])},a=()=>{const p=e===Yp?dR:Yp;i(p),r(Jh[p]?[...Jh[p]]:[])},c=Y.useRef(p=>{}),u=Y.useCallback(()=>{const p=h(cR());p&&c.current(p)},[]);Y.useEffect(()=>(window.addEventListener("hashchange",u,!1),()=>{window.removeEventListener("hashchange",u,!1)}),[u]);const h=p=>s.find(g=>g.id===p),d=p=>{console.log("Saving highlight",p),r(g=>[{...p,id:lR()},...g])},f=(p,g,w)=>{console.log("Updating highlight",p,g,w),r(E=>E.map(m=>{const{id:v,position:y,content:x,...C}=m;return v===p?{id:v,position:{...y,...g},content:{...x,...w},...C}:m}))};return N.jsxs("div",{className:"App",style:{display:"flex",height:"100vh"},children:[N.jsx(rR,{highlights:s,resetHighlights:o,toggleDocument:a}),N.jsx("div",{style:{height:"100vh",width:"75vw",position:"relative"},children:N.jsx(Nb,{url:e,beforeLoad:N.jsx(oR,{}),children:p=>N.jsx(b1,{pdfDocument:p,enableAreaSelection:g=>g.altKey,onScrollChange:uR,scrollRef:g=>{c.current=g,u()},onSelectionFinished:(g,w,E,m)=>N.jsx(VC,{onOpen:m,onConfirm:v=>{d({content:w,position:g,comment:v}),E()}}),highlightTransform:(g,w,E,m,v,y,x)=>{var k;const T=!((k=g.content)!=null&&k.image)?N.jsx(BC,{isScrolledTo:x,position:g.position,comment:g.comment}):N.jsx(nk,{isScrolledTo:x,highlight:g,onChange:P=>{f(g.id,{boundingRect:v(P)},{image:y(P)})}});return N.jsx(XC,{popupContent:N.jsx(hR,{...g}),onMouseOver:P=>E(g,M=>P),onMouseOut:m,children:T},w)},highlights:s})})})]})}const pR=document.getElementById("root"),gR=ty(pR);gR.render(N.jsx(fR,{})); diff --git a/index.html b/index.html index 72e63e400..d5a74fd17 100644 --- a/index.html +++ b/index.html @@ -4,7 +4,7 @@ react-pdf-highlighter - +