ngx-extended-pdf-viewer 16.2.2 → 16.2.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -3421,7 +3421,7 @@ Object.defineProperty(exports, "__esModule", ({value:true}));exports.StatTimer=e
3421
3421
  /***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {
3422
3422
 
3423
3423
  "use strict";
3424
- Object.defineProperty(exports, "__esModule", ({value:true}));exports.BaseStandardFontDataFactory=exports.BaseSVGFactory=exports.BaseCanvasFactory=exports.BaseCMapReaderFactory=void 0;var _util=__w_pdfjs_require__(1);class BaseCanvasFactory{constructor(){if(this.constructor===BaseCanvasFactory){(0,_util.unreachable)("Cannot initialize BaseCanvasFactory.");}}create(width,height){if(width<=0||height<=0){throw new Error("Invalid canvas size");}const canvas=this._createCanvas(width,height);return{canvas,context:canvas.getContext("2d")};}reset(canvasAndContext,width,height){if(!canvasAndContext.canvas){throw new Error("Canvas is not specified");}if(width<=0||height<=0){throw new Error("Invalid canvas size");}canvasAndContext.canvas.width=width;canvasAndContext.canvas.height=height;}destroy(canvasAndContext){if(!canvasAndContext.canvas){throw new Error("Canvas is not specified");}canvasAndContext.canvas.width=0;canvasAndContext.canvas.height=0;canvasAndContext.canvas=null;canvasAndContext.context=null;}_createCanvas(width,height){(0,_util.unreachable)("Abstract method `_createCanvas` called.");}}exports.BaseCanvasFactory=BaseCanvasFactory;class BaseCMapReaderFactory{constructor(_ref){let{baseUrl=null,isCompressed=true}=_ref;if(this.constructor===BaseCMapReaderFactory){(0,_util.unreachable)("Cannot initialize BaseCMapReaderFactory.");}this.baseUrl=baseUrl;this.isCompressed=isCompressed;}async fetch(_ref2){let{name}=_ref2;if(!this.baseUrl){throw new Error('The CMap "baseUrl" parameter must be specified, ensure that '+'the "cMapUrl" and "cMapPacked" API parameters are provided.');}if(!name){throw new Error("CMap name must be specified.");}const url=this.baseUrl+name+(this.isCompressed?".bcmap":"");const compressionType=this.isCompressed?_util.CMapCompressionType.BINARY:_util.CMapCompressionType.NONE;return this._fetchData(url,compressionType).catch(reason=>{throw new Error(`Unable to load ${this.isCompressed?"binary ":""}CMap at: ${url}`);});}_fetchData(url,compressionType){(0,_util.unreachable)("Abstract method `_fetchData` called.");}}exports.BaseCMapReaderFactory=BaseCMapReaderFactory;class BaseStandardFontDataFactory{constructor(_ref3){let{baseUrl=null}=_ref3;if(this.constructor===BaseStandardFontDataFactory){(0,_util.unreachable)("Cannot initialize BaseStandardFontDataFactory.");}this.baseUrl=baseUrl;}async fetch(_ref4){let{filename}=_ref4;if(!this.baseUrl){throw new Error('The standard font "baseUrl" parameter must be specified, ensure that '+'the "standardFontDataUrl" API parameter is provided.');}if(!filename){throw new Error("Font filename must be specified.");}const url=`${this.baseUrl}${filename}`;return this._fetchData(url).catch(reason=>{throw new Error(`Unable to load font data at: ${url}`);});}_fetchData(url){(0,_util.unreachable)("Abstract method `_fetchData` called.");}}exports.BaseStandardFontDataFactory=BaseStandardFontDataFactory;class BaseSVGFactory{constructor(){if(this.constructor===BaseSVGFactory){(0,_util.unreachable)("Cannot initialize BaseSVGFactory.");}}create(width,height){let skipDimensions=arguments.length>2&&arguments[2]!==undefined?arguments[2]:false;if(width<=0||height<=0){throw new Error("Invalid SVG dimensions");}const svg=this._createSVG("svg:svg");svg.setAttribute("version","1.1");if(!skipDimensions){svg.setAttribute("width",`${width}px`);svg.setAttribute("height",`${height}px`);}svg.setAttribute("preserveAspectRatio","none");svg.setAttribute("viewBox",`0 0 ${width} ${height}`);return svg;}createElement(type){if(typeof type!=="string"){throw new Error("Invalid SVG element type");}return this._createSVG(type);}_createSVG(type){(0,_util.unreachable)("Abstract method `_createSVG` called.");}}exports.BaseSVGFactory=BaseSVGFactory;
3424
+ Object.defineProperty(exports, "__esModule", ({value:true}));exports.BaseStandardFontDataFactory=exports.BaseSVGFactory=exports.BaseCanvasFactory=exports.BaseCMapReaderFactory=void 0;var _util=__w_pdfjs_require__(1);class BaseCanvasFactory{constructor(){if(this.constructor===BaseCanvasFactory){(0,_util.unreachable)("Cannot initialize BaseCanvasFactory.");}}create(width,height){if(width<=0||height<=0){throw new Error("Invalid canvas size");}const canvas=this._createCanvas(width,height);const options=window.pdfDefaultOptions.activateWillReadFrequentlyFlag?{willReadFrequently:true}:undefined;const context=canvas.getContext("2d",options);return{canvas,context};}reset(canvasAndContext,width,height){if(!canvasAndContext.canvas){throw new Error("Canvas is not specified");}if(width<=0||height<=0){throw new Error("Invalid canvas size");}canvasAndContext.canvas.width=width;canvasAndContext.canvas.height=height;}destroy(canvasAndContext){if(!canvasAndContext.canvas){throw new Error("Canvas is not specified");}canvasAndContext.canvas.width=0;canvasAndContext.canvas.height=0;canvasAndContext.canvas=null;canvasAndContext.context=null;}_createCanvas(width,height){(0,_util.unreachable)("Abstract method `_createCanvas` called.");}}exports.BaseCanvasFactory=BaseCanvasFactory;class BaseCMapReaderFactory{constructor(_ref){let{baseUrl=null,isCompressed=true}=_ref;if(this.constructor===BaseCMapReaderFactory){(0,_util.unreachable)("Cannot initialize BaseCMapReaderFactory.");}this.baseUrl=baseUrl;this.isCompressed=isCompressed;}async fetch(_ref2){let{name}=_ref2;if(!this.baseUrl){throw new Error('The CMap "baseUrl" parameter must be specified, ensure that '+'the "cMapUrl" and "cMapPacked" API parameters are provided.');}if(!name){throw new Error("CMap name must be specified.");}const url=this.baseUrl+name+(this.isCompressed?".bcmap":"");const compressionType=this.isCompressed?_util.CMapCompressionType.BINARY:_util.CMapCompressionType.NONE;return this._fetchData(url,compressionType).catch(reason=>{throw new Error(`Unable to load ${this.isCompressed?"binary ":""}CMap at: ${url}`);});}_fetchData(url,compressionType){(0,_util.unreachable)("Abstract method `_fetchData` called.");}}exports.BaseCMapReaderFactory=BaseCMapReaderFactory;class BaseStandardFontDataFactory{constructor(_ref3){let{baseUrl=null}=_ref3;if(this.constructor===BaseStandardFontDataFactory){(0,_util.unreachable)("Cannot initialize BaseStandardFontDataFactory.");}this.baseUrl=baseUrl;}async fetch(_ref4){let{filename}=_ref4;if(!this.baseUrl){throw new Error('The standard font "baseUrl" parameter must be specified, ensure that '+'the "standardFontDataUrl" API parameter is provided.');}if(!filename){throw new Error("Font filename must be specified.");}const url=`${this.baseUrl}${filename}`;return this._fetchData(url).catch(reason=>{throw new Error(`Unable to load font data at: ${url}`);});}_fetchData(url){(0,_util.unreachable)("Abstract method `_fetchData` called.");}}exports.BaseStandardFontDataFactory=BaseStandardFontDataFactory;class BaseSVGFactory{constructor(){if(this.constructor===BaseSVGFactory){(0,_util.unreachable)("Cannot initialize BaseSVGFactory.");}}create(width,height){let skipDimensions=arguments.length>2&&arguments[2]!==undefined?arguments[2]:false;if(width<=0||height<=0){throw new Error("Invalid SVG dimensions");}const svg=this._createSVG("svg:svg");svg.setAttribute("version","1.1");if(!skipDimensions){svg.setAttribute("width",`${width}px`);svg.setAttribute("height",`${height}px`);}svg.setAttribute("preserveAspectRatio","none");svg.setAttribute("viewBox",`0 0 ${width} ${height}`);return svg;}createElement(type){if(typeof type!=="string"){throw new Error("Invalid SVG element type");}return this._createSVG(type);}_createSVG(type){(0,_util.unreachable)("Abstract method `_createSVG` called.");}}exports.BaseSVGFactory=BaseSVGFactory;
3425
3425
 
3426
3426
  /***/ }),
3427
3427
  /* 140 */
@@ -3435,7 +3435,7 @@ Object.defineProperty(exports, "__esModule", ({value:true}));exports.MurmurHash3
3435
3435
  /***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {
3436
3436
 
3437
3437
  "use strict";
3438
- Object.defineProperty(exports, "__esModule", ({value:true}));exports.FontLoader=exports.FontFaceObject=void 0;var _util=__w_pdfjs_require__(1);var _is_node=__w_pdfjs_require__(142);class FontLoader{constructor(_ref){let{onUnsupportedFeature,ownerDocument=globalThis.document,styleElement=null}=_ref;this._onUnsupportedFeature=onUnsupportedFeature;this._document=ownerDocument;this.nativeFontFaces=[];this.styleElement=null;this.loadingRequests=[];this.loadTestFontId=0;}addNativeFontFace(nativeFontFace){this.nativeFontFaces.push(nativeFontFace);this._document.fonts.add(nativeFontFace);}insertRule(rule){if(!this.styleElement){this.styleElement=this._document.createElement("style");this._document.documentElement.getElementsByTagName("head")[0].append(this.styleElement);}const styleSheet=this.styleElement.sheet;styleSheet.insertRule(rule,styleSheet.cssRules.length);}clear(){for(const nativeFontFace of this.nativeFontFaces){this._document.fonts.delete(nativeFontFace);}this.nativeFontFaces.length=0;if(this.styleElement){this.styleElement.remove();this.styleElement=null;}}async bind(font){if(font.attached||font.missingFile){return;}font.attached=true;if(this.isFontLoadingAPISupported){const nativeFontFace=font.createNativeFontFace();if(nativeFontFace){this.addNativeFontFace(nativeFontFace);try{await nativeFontFace.loaded;}catch(ex){this._onUnsupportedFeature({featureId:_util.UNSUPPORTED_FEATURES.errorFontLoadNative});(0,_util.warn)(`Failed to load font '${nativeFontFace.family}': '${ex}'.`);font.disableFontFace=true;throw ex;}}return;}const rule=font.createFontFaceRule();if(rule){this.insertRule(rule);if(this.isSyncFontLoadingSupported){return;}await new Promise(resolve=>{const request=this._queueLoadingCallback(resolve);this._prepareFontLoadEvent(font,request);});}}get isFontLoadingAPISupported(){var _this$_document;const hasFonts=!!((_this$_document=this._document)!==null&&_this$_document!==void 0&&_this$_document.fonts);return(0,_util.shadow)(this,"isFontLoadingAPISupported",hasFonts);}get isSyncFontLoadingSupported(){let supported=false;if(_is_node.isNodeJS){supported=true;}else if(typeof navigator!=="undefined"&&/Mozilla\/5.0.*?rv:\d+.*? Gecko/.test(navigator.userAgent)){supported=true;}return(0,_util.shadow)(this,"isSyncFontLoadingSupported",supported);}_queueLoadingCallback(callback){function completeRequest(){(0,_util.assert)(!request.done,"completeRequest() cannot be called twice.");request.done=true;while(loadingRequests.length>0&&loadingRequests[0].done){const otherRequest=loadingRequests.shift();setTimeout(otherRequest.callback,0);}}const{loadingRequests}=this;const request={done:false,complete:completeRequest,callback};loadingRequests.push(request);return request;}get _loadTestFont(){const testFont=atob("T1RUTwALAIAAAwAwQ0ZGIDHtZg4AAAOYAAAAgUZGVE1lkzZwAAAEHAAAABxHREVGABQA"+"FQAABDgAAAAeT1MvMlYNYwkAAAEgAAAAYGNtYXABDQLUAAACNAAAAUJoZWFk/xVFDQAA"+"ALwAAAA2aGhlYQdkA+oAAAD0AAAAJGhtdHgD6AAAAAAEWAAAAAZtYXhwAAJQAAAAARgA"+"AAAGbmFtZVjmdH4AAAGAAAAAsXBvc3T/hgAzAAADeAAAACAAAQAAAAEAALZRFsRfDzz1"+"AAsD6AAAAADOBOTLAAAAAM4KHDwAAAAAA+gDIQAAAAgAAgAAAAAAAAABAAADIQAAAFoD"+"6AAAAAAD6AABAAAAAAAAAAAAAAAAAAAAAQAAUAAAAgAAAAQD6AH0AAUAAAKKArwAAACM"+"AooCvAAAAeAAMQECAAACAAYJAAAAAAAAAAAAAQAAAAAAAAAAAAAAAFBmRWQAwAAuAC4D"+"IP84AFoDIQAAAAAAAQAAAAAAAAAAACAAIAABAAAADgCuAAEAAAAAAAAAAQAAAAEAAAAA"+"AAEAAQAAAAEAAAAAAAIAAQAAAAEAAAAAAAMAAQAAAAEAAAAAAAQAAQAAAAEAAAAAAAUA"+"AQAAAAEAAAAAAAYAAQAAAAMAAQQJAAAAAgABAAMAAQQJAAEAAgABAAMAAQQJAAIAAgAB"+"AAMAAQQJAAMAAgABAAMAAQQJAAQAAgABAAMAAQQJAAUAAgABAAMAAQQJAAYAAgABWABY"+"AAAAAAAAAwAAAAMAAAAcAAEAAAAAADwAAwABAAAAHAAEACAAAAAEAAQAAQAAAC7//wAA"+"AC7////TAAEAAAAAAAABBgAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"+"AAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"+"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"+"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"+"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"+"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAD/gwAyAAAAAQAAAAAAAAAAAAAAAAAA"+"AAABAAQEAAEBAQJYAAEBASH4DwD4GwHEAvgcA/gXBIwMAYuL+nz5tQXkD5j3CBLnEQAC"+"AQEBIVhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYAAABAQAADwACAQEEE/t3"+"Dov6fAH6fAT+fPp8+nwHDosMCvm1Cvm1DAz6fBQAAAAAAAABAAAAAMmJbzEAAAAAzgTj"+"FQAAAADOBOQpAAEAAAAAAAAADAAUAAQAAAABAAAAAgABAAAAAAAAAAAD6AAAAAAAAA==");return(0,_util.shadow)(this,"_loadTestFont",testFont);}_prepareFontLoadEvent(font,request){function int32(data,offset){return data.charCodeAt(offset)<<24|data.charCodeAt(offset+1)<<16|data.charCodeAt(offset+2)<<8|data.charCodeAt(offset+3)&0xff;}function spliceString(s,offset,remove,insert){const chunk1=s.substring(0,offset);const chunk2=s.substring(offset+remove);return chunk1+insert+chunk2;}let i,ii;const canvas=this._document.createElement("canvas");canvas.width=1;canvas.height=1;const ctx=canvas.getContext("2d");let called=0;function isFontReady(name,callback){if(++called>30){(0,_util.warn)("Load test font never loaded.");callback();return;}ctx.font="30px "+name;ctx.fillText(".",0,20);const imageData=ctx.getImageData(0,0,1,1);if(imageData.data[3]>0){callback();return;}setTimeout(isFontReady.bind(null,name,callback));}const loadTestFontId=`lt${Date.now()}${this.loadTestFontId++}`;let data=this._loadTestFont;const COMMENT_OFFSET=976;data=spliceString(data,COMMENT_OFFSET,loadTestFontId.length,loadTestFontId);const CFF_CHECKSUM_OFFSET=16;const XXXX_VALUE=0x58585858;let checksum=int32(data,CFF_CHECKSUM_OFFSET);for(i=0,ii=loadTestFontId.length-3;i<ii;i+=4){checksum=checksum-XXXX_VALUE+int32(loadTestFontId,i)|0;}if(i<loadTestFontId.length){checksum=checksum-XXXX_VALUE+int32(loadTestFontId+"XXX",i)|0;}data=spliceString(data,CFF_CHECKSUM_OFFSET,4,(0,_util.string32)(checksum));const url=`url(data:font/opentype;base64,${btoa(data)});`;const rule=`@font-face {font-family:"${loadTestFontId}";src:${url}}`;this.insertRule(rule);const div=this._document.createElement("div");div.style.visibility="hidden";div.style.width=div.style.height="10px";div.style.position="absolute";div.style.top=div.style.left="0px";for(const name of[font.loadedName,loadTestFontId]){const span=this._document.createElement("span");span.textContent="Hi";span.style.fontFamily=name;div.append(span);}this._document.body.append(div);isFontReady(loadTestFontId,()=>{div.remove();request.complete();});}}exports.FontLoader=FontLoader;class FontFaceObject{constructor(translatedData,_ref2){let{isEvalSupported=true,disableFontFace=false,ignoreErrors=false,onUnsupportedFeature,fontRegistry=null}=_ref2;this.compiledGlyphs=Object.create(null);for(const i in translatedData){this[i]=translatedData[i];}this.isEvalSupported=isEvalSupported!==false;this.disableFontFace=disableFontFace===true;this.ignoreErrors=ignoreErrors===true;this._onUnsupportedFeature=onUnsupportedFeature;this.fontRegistry=fontRegistry;}createNativeFontFace(){var _this$fontRegistry;if(!this.data||this.disableFontFace){return null;}let nativeFontFace;if(!this.cssFontInfo){nativeFontFace=new FontFace(this.loadedName,this.data,{});}else{const css={weight:this.cssFontInfo.fontWeight};if(this.cssFontInfo.italicAngle){css.style=`oblique ${this.cssFontInfo.italicAngle}deg`;}nativeFontFace=new FontFace(this.cssFontInfo.fontFamily,this.data,css);}(_this$fontRegistry=this.fontRegistry)===null||_this$fontRegistry===void 0?void 0:_this$fontRegistry.registerFont(this);return nativeFontFace;}createFontFaceRule(){var _this$fontRegistry2;if(!this.data||this.disableFontFace){return null;}const data=(0,_util.bytesToString)(this.data);const url=`url(data:${this.mimetype};base64,${btoa(data)});`;let rule;if(!this.cssFontInfo){rule=`@font-face {font-family:"${this.loadedName}";src:${url}}`;}else{let css=`font-weight: ${this.cssFontInfo.fontWeight};`;if(this.cssFontInfo.italicAngle){css+=`font-style: oblique ${this.cssFontInfo.italicAngle}deg;`;}rule=`@font-face {font-family:"${this.cssFontInfo.fontFamily}";${css}src:${url}}`;}(_this$fontRegistry2=this.fontRegistry)===null||_this$fontRegistry2===void 0?void 0:_this$fontRegistry2.registerFont(this,url);return rule;}getPathGenerator(objs,character){if(this.compiledGlyphs[character]!==undefined){return this.compiledGlyphs[character];}let cmds;try{cmds=objs.get(this.loadedName+"_path_"+character);}catch(ex){if(!this.ignoreErrors){throw ex;}this._onUnsupportedFeature({featureId:_util.UNSUPPORTED_FEATURES.errorFontGetPath});(0,_util.warn)(`getPathGenerator - ignoring character: "${ex}".`);return this.compiledGlyphs[character]=function(c,size){};}if(this.isEvalSupported&&_util.FeatureTest.isEvalSupported){const jsBuf=[];for(const current of cmds){const args=current.args!==undefined?current.args.join(","):"";jsBuf.push("c.",current.cmd,"(",args,");\n");}return this.compiledGlyphs[character]=new Function("c","size",jsBuf.join(""));}return this.compiledGlyphs[character]=function(c,size){for(const current of cmds){if(current.cmd==="scale"){current.args=[size,-size];}c[current.cmd].apply(c,current.args);}};}}exports.FontFaceObject=FontFaceObject;
3438
+ Object.defineProperty(exports, "__esModule", ({value:true}));exports.FontLoader=exports.FontFaceObject=void 0;var _util=__w_pdfjs_require__(1);var _is_node=__w_pdfjs_require__(142);class FontLoader{constructor(_ref){let{onUnsupportedFeature,ownerDocument=globalThis.document,styleElement=null}=_ref;this._onUnsupportedFeature=onUnsupportedFeature;this._document=ownerDocument;this.nativeFontFaces=[];this.styleElement=null;this.loadingRequests=[];this.loadTestFontId=0;}addNativeFontFace(nativeFontFace){this.nativeFontFaces.push(nativeFontFace);this._document.fonts.add(nativeFontFace);}insertRule(rule){if(!this.styleElement){this.styleElement=this._document.createElement("style");this._document.documentElement.getElementsByTagName("head")[0].append(this.styleElement);}const styleSheet=this.styleElement.sheet;styleSheet.insertRule(rule,styleSheet.cssRules.length);}clear(){for(const nativeFontFace of this.nativeFontFaces){this._document.fonts.delete(nativeFontFace);}this.nativeFontFaces.length=0;if(this.styleElement){this.styleElement.remove();this.styleElement=null;}}async bind(font){if(font.attached||font.missingFile){return;}font.attached=true;if(this.isFontLoadingAPISupported){const nativeFontFace=font.createNativeFontFace();if(nativeFontFace){this.addNativeFontFace(nativeFontFace);try{await nativeFontFace.loaded;}catch(ex){this._onUnsupportedFeature({featureId:_util.UNSUPPORTED_FEATURES.errorFontLoadNative});(0,_util.warn)(`Failed to load font '${nativeFontFace.family}': '${ex}'.`);font.disableFontFace=true;throw ex;}}return;}const rule=font.createFontFaceRule();if(rule){this.insertRule(rule);if(this.isSyncFontLoadingSupported){return;}await new Promise(resolve=>{const request=this._queueLoadingCallback(resolve);this._prepareFontLoadEvent(font,request);});}}get isFontLoadingAPISupported(){var _this$_document;const hasFonts=!!((_this$_document=this._document)!==null&&_this$_document!==void 0&&_this$_document.fonts);return(0,_util.shadow)(this,"isFontLoadingAPISupported",hasFonts);}get isSyncFontLoadingSupported(){let supported=false;if(_is_node.isNodeJS){supported=true;}else if(typeof navigator!=="undefined"&&/Mozilla\/5.0.*?rv:\d+.*? Gecko/.test(navigator.userAgent)){supported=true;}return(0,_util.shadow)(this,"isSyncFontLoadingSupported",supported);}_queueLoadingCallback(callback){function completeRequest(){(0,_util.assert)(!request.done,"completeRequest() cannot be called twice.");request.done=true;while(loadingRequests.length>0&&loadingRequests[0].done){const otherRequest=loadingRequests.shift();setTimeout(otherRequest.callback,0);}}const{loadingRequests}=this;const request={done:false,complete:completeRequest,callback};loadingRequests.push(request);return request;}get _loadTestFont(){const testFont=atob("T1RUTwALAIAAAwAwQ0ZGIDHtZg4AAAOYAAAAgUZGVE1lkzZwAAAEHAAAABxHREVGABQA"+"FQAABDgAAAAeT1MvMlYNYwkAAAEgAAAAYGNtYXABDQLUAAACNAAAAUJoZWFk/xVFDQAA"+"ALwAAAA2aGhlYQdkA+oAAAD0AAAAJGhtdHgD6AAAAAAEWAAAAAZtYXhwAAJQAAAAARgA"+"AAAGbmFtZVjmdH4AAAGAAAAAsXBvc3T/hgAzAAADeAAAACAAAQAAAAEAALZRFsRfDzz1"+"AAsD6AAAAADOBOTLAAAAAM4KHDwAAAAAA+gDIQAAAAgAAgAAAAAAAAABAAADIQAAAFoD"+"6AAAAAAD6AABAAAAAAAAAAAAAAAAAAAAAQAAUAAAAgAAAAQD6AH0AAUAAAKKArwAAACM"+"AooCvAAAAeAAMQECAAACAAYJAAAAAAAAAAAAAQAAAAAAAAAAAAAAAFBmRWQAwAAuAC4D"+"IP84AFoDIQAAAAAAAQAAAAAAAAAAACAAIAABAAAADgCuAAEAAAAAAAAAAQAAAAEAAAAA"+"AAEAAQAAAAEAAAAAAAIAAQAAAAEAAAAAAAMAAQAAAAEAAAAAAAQAAQAAAAEAAAAAAAUA"+"AQAAAAEAAAAAAAYAAQAAAAMAAQQJAAAAAgABAAMAAQQJAAEAAgABAAMAAQQJAAIAAgAB"+"AAMAAQQJAAMAAgABAAMAAQQJAAQAAgABAAMAAQQJAAUAAgABAAMAAQQJAAYAAgABWABY"+"AAAAAAAAAwAAAAMAAAAcAAEAAAAAADwAAwABAAAAHAAEACAAAAAEAAQAAQAAAC7//wAA"+"AC7////TAAEAAAAAAAABBgAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"+"AAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"+"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"+"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"+"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA"+"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAD/gwAyAAAAAQAAAAAAAAAAAAAAAAAA"+"AAABAAQEAAEBAQJYAAEBASH4DwD4GwHEAvgcA/gXBIwMAYuL+nz5tQXkD5j3CBLnEQAC"+"AQEBIVhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYAAABAQAADwACAQEEE/t3"+"Dov6fAH6fAT+fPp8+nwHDosMCvm1Cvm1DAz6fBQAAAAAAAABAAAAAMmJbzEAAAAAzgTj"+"FQAAAADOBOQpAAEAAAAAAAAADAAUAAQAAAABAAAAAgABAAAAAAAAAAAD6AAAAAAAAA==");return(0,_util.shadow)(this,"_loadTestFont",testFont);}_prepareFontLoadEvent(font,request){function int32(data,offset){return data.charCodeAt(offset)<<24|data.charCodeAt(offset+1)<<16|data.charCodeAt(offset+2)<<8|data.charCodeAt(offset+3)&0xff;}function spliceString(s,offset,remove,insert){const chunk1=s.substring(0,offset);const chunk2=s.substring(offset+remove);return chunk1+insert+chunk2;}let i,ii;const canvas=this._document.createElement("canvas");canvas.width=1;canvas.height=1;const options=window.pdfDefaultOptions.activateWillReadFrequentlyFlag?{willReadFrequently:true}:undefined;const ctx=canvas.getContext("2d",options);let called=0;function isFontReady(name,callback){if(++called>30){(0,_util.warn)("Load test font never loaded.");callback();return;}ctx.font="30px "+name;ctx.fillText(".",0,20);const imageData=ctx.getImageData(0,0,1,1);if(imageData.data[3]>0){callback();return;}setTimeout(isFontReady.bind(null,name,callback));}const loadTestFontId=`lt${Date.now()}${this.loadTestFontId++}`;let data=this._loadTestFont;const COMMENT_OFFSET=976;data=spliceString(data,COMMENT_OFFSET,loadTestFontId.length,loadTestFontId);const CFF_CHECKSUM_OFFSET=16;const XXXX_VALUE=0x58585858;let checksum=int32(data,CFF_CHECKSUM_OFFSET);for(i=0,ii=loadTestFontId.length-3;i<ii;i+=4){checksum=checksum-XXXX_VALUE+int32(loadTestFontId,i)|0;}if(i<loadTestFontId.length){checksum=checksum-XXXX_VALUE+int32(loadTestFontId+"XXX",i)|0;}data=spliceString(data,CFF_CHECKSUM_OFFSET,4,(0,_util.string32)(checksum));const url=`url(data:font/opentype;base64,${btoa(data)});`;const rule=`@font-face {font-family:"${loadTestFontId}";src:${url}}`;this.insertRule(rule);const div=this._document.createElement("div");div.style.visibility="hidden";div.style.width=div.style.height="10px";div.style.position="absolute";div.style.top=div.style.left="0px";for(const name of[font.loadedName,loadTestFontId]){const span=this._document.createElement("span");span.textContent="Hi";span.style.fontFamily=name;div.append(span);}this._document.body.append(div);isFontReady(loadTestFontId,()=>{div.remove();request.complete();});}}exports.FontLoader=FontLoader;class FontFaceObject{constructor(translatedData,_ref2){let{isEvalSupported=true,disableFontFace=false,ignoreErrors=false,onUnsupportedFeature,fontRegistry=null}=_ref2;this.compiledGlyphs=Object.create(null);for(const i in translatedData){this[i]=translatedData[i];}this.isEvalSupported=isEvalSupported!==false;this.disableFontFace=disableFontFace===true;this.ignoreErrors=ignoreErrors===true;this._onUnsupportedFeature=onUnsupportedFeature;this.fontRegistry=fontRegistry;}createNativeFontFace(){var _this$fontRegistry;if(!this.data||this.disableFontFace){return null;}let nativeFontFace;if(!this.cssFontInfo){nativeFontFace=new FontFace(this.loadedName,this.data,{});}else{const css={weight:this.cssFontInfo.fontWeight};if(this.cssFontInfo.italicAngle){css.style=`oblique ${this.cssFontInfo.italicAngle}deg`;}nativeFontFace=new FontFace(this.cssFontInfo.fontFamily,this.data,css);}(_this$fontRegistry=this.fontRegistry)===null||_this$fontRegistry===void 0?void 0:_this$fontRegistry.registerFont(this);return nativeFontFace;}createFontFaceRule(){var _this$fontRegistry2;if(!this.data||this.disableFontFace){return null;}const data=(0,_util.bytesToString)(this.data);const url=`url(data:${this.mimetype};base64,${btoa(data)});`;let rule;if(!this.cssFontInfo){rule=`@font-face {font-family:"${this.loadedName}";src:${url}}`;}else{let css=`font-weight: ${this.cssFontInfo.fontWeight};`;if(this.cssFontInfo.italicAngle){css+=`font-style: oblique ${this.cssFontInfo.italicAngle}deg;`;}rule=`@font-face {font-family:"${this.cssFontInfo.fontFamily}";${css}src:${url}}`;}(_this$fontRegistry2=this.fontRegistry)===null||_this$fontRegistry2===void 0?void 0:_this$fontRegistry2.registerFont(this,url);return rule;}getPathGenerator(objs,character){if(this.compiledGlyphs[character]!==undefined){return this.compiledGlyphs[character];}let cmds;try{cmds=objs.get(this.loadedName+"_path_"+character);}catch(ex){if(!this.ignoreErrors){throw ex;}this._onUnsupportedFeature({featureId:_util.UNSUPPORTED_FEATURES.errorFontGetPath});(0,_util.warn)(`getPathGenerator - ignoring character: "${ex}".`);return this.compiledGlyphs[character]=function(c,size){};}if(this.isEvalSupported&&_util.FeatureTest.isEvalSupported){const jsBuf=[];for(const current of cmds){const args=current.args!==undefined?current.args.join(","):"";jsBuf.push("c.",current.cmd,"(",args,");\n");}return this.compiledGlyphs[character]=new Function("c","size",jsBuf.join(""));}return this.compiledGlyphs[character]=function(c,size){for(const current of cmds){if(current.cmd==="scale"){current.args=[size,-size];}c[current.cmd].apply(c,current.args);}};}}exports.FontFaceObject=FontFaceObject;
3439
3439
 
3440
3440
  /***/ }),
3441
3441
  /* 142 */
@@ -3554,7 +3554,7 @@ Object.defineProperty(exports, "__esModule", ({value:true}));exports.PDFFetchStr
3554
3554
  /***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {
3555
3555
 
3556
3556
  "use strict";
3557
- Object.defineProperty(exports, "__esModule", ({value:true}));exports.TextLayerRenderTask=void 0;exports.renderTextLayer=renderTextLayer;exports.updateTextLayer=updateTextLayer;var _util=__w_pdfjs_require__(1);var _display_utils=__w_pdfjs_require__(138);const MAX_TEXT_DIVS_TO_RENDER=100000;const DEFAULT_FONT_SIZE=30;const DEFAULT_FONT_ASCENT=0.8;const ascentCache=new Map();function getCtx(size,isOffscreenCanvasSupported){let ctx;if(isOffscreenCanvasSupported&&_util.FeatureTest.isOffscreenCanvasSupported){ctx=new OffscreenCanvas(size,size).getContext("2d",{alpha:false});}else{const canvas=document.createElement("canvas");canvas.width=canvas.height=size;ctx=canvas.getContext("2d",{alpha:false});}return ctx;}function getAscent(fontFamily,isOffscreenCanvasSupported){const cachedAscent=ascentCache.get(fontFamily);if(cachedAscent){return cachedAscent;}const ctx=getCtx(DEFAULT_FONT_SIZE,isOffscreenCanvasSupported);ctx.font=`${DEFAULT_FONT_SIZE}px ${fontFamily}`;const metrics=ctx.measureText("");let ascent=metrics===null||metrics===void 0?void 0:metrics.fontBoundingBoxAscent;let descent=Math.abs(metrics===null||metrics===void 0?void 0:metrics.fontBoundingBoxDescent);if(ascent){const ratio=ascent/(ascent+descent);ascentCache.set(fontFamily,ratio);ctx.canvas.width=ctx.canvas.height=0;return ratio;}ctx.strokeStyle="red";ctx.clearRect(0,0,DEFAULT_FONT_SIZE,DEFAULT_FONT_SIZE);ctx.strokeText("g",0,0);let pixels=ctx.getImageData(0,0,DEFAULT_FONT_SIZE,DEFAULT_FONT_SIZE).data;descent=0;for(let i=pixels.length-1-3;i>=0;i-=4){if(pixels[i]>0){descent=Math.ceil(i/4/DEFAULT_FONT_SIZE);break;}}ctx.clearRect(0,0,DEFAULT_FONT_SIZE,DEFAULT_FONT_SIZE);ctx.strokeText("A",0,DEFAULT_FONT_SIZE);pixels=ctx.getImageData(0,0,DEFAULT_FONT_SIZE,DEFAULT_FONT_SIZE).data;ascent=0;for(let i=0,ii=pixels.length;i<ii;i+=4){if(pixels[i]>0){ascent=DEFAULT_FONT_SIZE-Math.floor(i/4/DEFAULT_FONT_SIZE);break;}}ctx.canvas.width=ctx.canvas.height=0;if(ascent){const ratio=ascent/(ascent+descent);ascentCache.set(fontFamily,ratio);return ratio;}ascentCache.set(fontFamily,DEFAULT_FONT_ASCENT);return DEFAULT_FONT_ASCENT;}function appendText(task,geom,styles){const textDiv=document.createElement("span");const textDivProperties={angle:0,canvasWidth:0,hasText:geom.str!=="",hasEOL:geom.hasEOL,fontSize:0};task._textDivs.push(textDiv);const tx=_util.Util.transform(task._transform,geom.transform);let angle=Math.atan2(tx[1],tx[0]);const style=styles[geom.fontName];if(style.vertical){angle+=Math.PI/2;}const fontHeight=Math.hypot(tx[2],tx[3]);const fontAscent=fontHeight*getAscent(style.fontFamily,task._isOffscreenCanvasSupported);let left,top;if(angle===0){left=tx[4];top=tx[5]-fontAscent;}else{left=tx[4]+fontAscent*Math.sin(angle);top=tx[5]-fontAscent*Math.cos(angle);}const scaleFactorStr="calc(var(--scale-factor)*";const divStyle=textDiv.style;if(task._container===task._rootContainer){divStyle.left=`${(100*left/task._pageWidth).toFixed(2)}%`;divStyle.top=`${(100*top/task._pageHeight).toFixed(2)}%`;}else{divStyle.left=`${scaleFactorStr}${left.toFixed(2)}px)`;divStyle.top=`${scaleFactorStr}${top.toFixed(2)}px)`;}divStyle.fontSize=`${scaleFactorStr}${fontHeight.toFixed(2)}px)`;divStyle.fontFamily=style.fontFamily;textDivProperties.fontSize=fontHeight;textDiv.setAttribute("role","presentation");textDiv.textContent=geom.str;textDiv.dir=geom.dir;if(task._fontInspectorEnabled){textDiv.dataset.fontName=geom.fontName;}if(angle!==0){textDivProperties.angle=angle*(180/Math.PI);}let shouldScaleText=false;if(geom.str.length>1){shouldScaleText=true;}else if(geom.str!==" "&&geom.transform[0]!==geom.transform[3]){const absScaleX=Math.abs(geom.transform[0]),absScaleY=Math.abs(geom.transform[3]);if(absScaleX!==absScaleY&&Math.max(absScaleX,absScaleY)/Math.min(absScaleX,absScaleY)>1.5){shouldScaleText=true;}}if(shouldScaleText){textDivProperties.canvasWidth=style.vertical?geom.height:geom.width;}task._textDivProperties.set(textDiv,textDivProperties);if(task._isReadableStream){task._layoutText(textDiv);}}function layout(params){const{div,scale,properties,ctx,prevFontSize,prevFontFamily}=params;const{style}=div;let transform="";if(properties.canvasWidth!==0&&properties.hasText){const{fontFamily}=style;const{canvasWidth,fontSize}=properties;if(prevFontSize!==fontSize||prevFontFamily!==fontFamily){ctx.font=`${fontSize*scale}px ${fontFamily}`;params.prevFontSize=fontSize;params.prevFontFamily=fontFamily;}try{const{width}=ctx.measureText(div.textContent);if(width>0){transform=`scaleX(${canvasWidth*scale/width})`;}}catch(fingerprintIsBlockedException){}}if(properties.angle!==0){transform=`rotate(${properties.angle}deg) ${transform}`;}if(transform.length>0){style.transform=transform;}}function render(task){if(task._canceled){return;}const textDivs=task._textDivs;const capability=task._capability;const textDivsLength=textDivs.length;if(textDivsLength>MAX_TEXT_DIVS_TO_RENDER){capability.resolve();return;}if(!task._isReadableStream){for(const textDiv of textDivs){task._layoutText(textDiv);}}capability.resolve();}class TextLayerRenderTask{constructor(_ref){var _globalThis$FontInspe;let{textContentSource,container,viewport,textDivs,textDivProperties,textContentItemsStr,isOffscreenCanvasSupported}=_ref;this._textContentSource=textContentSource;this._isReadableStream=textContentSource instanceof ReadableStream;this._container=this._rootContainer=container;this._textDivs=textDivs||[];this._textContentItemsStr=textContentItemsStr||[];this._isOffscreenCanvasSupported=isOffscreenCanvasSupported;this._fontInspectorEnabled=!!((_globalThis$FontInspe=globalThis.FontInspector)!==null&&_globalThis$FontInspe!==void 0&&_globalThis$FontInspe.enabled);this._reader=null;this._textDivProperties=textDivProperties||new WeakMap();this._canceled=false;this._capability=(0,_util.createPromiseCapability)();this._layoutTextParams={prevFontSize:null,prevFontFamily:null,div:null,scale:viewport.scale*(globalThis.devicePixelRatio||1),properties:null,ctx:getCtx(0,isOffscreenCanvasSupported)};const{pageWidth,pageHeight,pageX,pageY}=viewport.rawDims;this._transform=[1,0,0,-1,-pageX,pageY+pageHeight];this._pageWidth=pageWidth;this._pageHeight=pageHeight;(0,_display_utils.setLayerDimensions)(container,viewport);this._capability.promise.finally(()=>{this._layoutTextParams=null;}).catch(()=>{});}get promise(){return this._capability.promise;}cancel(){this._canceled=true;if(this._reader){this._reader.cancel(new _util.AbortException("TextLayer task cancelled.")).catch(()=>{});this._reader=null;}this._capability.reject(new _util.AbortException("TextLayer task cancelled."));}_processItems(items,styleCache){for(const item of items){if(item.str===undefined){if(item.type==="beginMarkedContentProps"||item.type==="beginMarkedContent"){const parent=this._container;this._container=document.createElement("span");this._container.classList.add("markedContent");if(item.id!==null){this._container.setAttribute("id",`${item.id}`);}parent.append(this._container);}else if(item.type==="endMarkedContent"){this._container=this._container.parentNode;}continue;}this._textContentItemsStr.push(item.str);appendText(this,item,styleCache);}}_layoutText(textDiv){const textDivProperties=this._layoutTextParams.properties=this._textDivProperties.get(textDiv);this._layoutTextParams.div=textDiv;layout(this._layoutTextParams);if(textDivProperties.hasText){this._container.append(textDiv);}if(textDivProperties.hasEOL){const br=document.createElement("br");br.setAttribute("role","presentation");this._container.append(br);}}_render(){const capability=(0,_util.createPromiseCapability)();let styleCache=Object.create(null);if(this._isReadableStream){const pump=()=>{this._reader.read().then(_ref2=>{let{value,done}=_ref2;if(done){capability.resolve();return;}Object.assign(styleCache,value.styles);this._processItems(value.items,styleCache);pump();},capability.reject);};this._reader=this._textContentSource.getReader();pump();}else if(this._textContentSource){const{items,styles}=this._textContentSource;this._processItems(items,styles);capability.resolve();}else{throw new Error('No "textContentSource" parameter specified.');}capability.promise.then(()=>{styleCache=null;render(this);},this._capability.reject);}}exports.TextLayerRenderTask=TextLayerRenderTask;function renderTextLayer(params){if(!params.textContentSource&&(params.textContent||params.textContentStream)){(0,_display_utils.deprecated)("The TextLayerRender `textContent`/`textContentStream` parameters "+"will be removed in the future, please use `textContentSource` instead.");params.textContentSource=params.textContent||params.textContentStream;}const task=new TextLayerRenderTask(params);task._render();return task;}function updateTextLayer(_ref3){let{container,viewport,textDivs,textDivProperties,isOffscreenCanvasSupported,mustRotate=true,mustRescale=true}=_ref3;if(mustRotate){(0,_display_utils.setLayerDimensions)(container,{rotation:viewport.rotation});}if(mustRescale){const ctx=getCtx(0,isOffscreenCanvasSupported);const scale=viewport.scale*(globalThis.devicePixelRatio||1);const params={prevFontSize:null,prevFontFamily:null,div:null,scale,properties:null,ctx};for(const div of textDivs){params.properties=textDivProperties.get(div);params.div=div;layout(params);}}}
3557
+ Object.defineProperty(exports, "__esModule", ({value:true}));exports.TextLayerRenderTask=void 0;exports.renderTextLayer=renderTextLayer;exports.updateTextLayer=updateTextLayer;var _util=__w_pdfjs_require__(1);var _display_utils=__w_pdfjs_require__(138);const MAX_TEXT_DIVS_TO_RENDER=100000;const DEFAULT_FONT_SIZE=30;const DEFAULT_FONT_ASCENT=0.8;const ascentCache=new Map();function getCtx(size,isOffscreenCanvasSupported){let ctx;const options=window.pdfDefaultOptions.activateWillReadFrequentlyFlag?{willReadFrequently:true,alpha:false}:{alpha:false};if(isOffscreenCanvasSupported&&_util.FeatureTest.isOffscreenCanvasSupported){ctx=new OffscreenCanvas(size,size).getContext("2d",options);}else{const canvas=document.createElement("canvas");canvas.width=canvas.height=size;ctx=canvas.getContext("2d",options);}return ctx;}function getAscent(fontFamily,isOffscreenCanvasSupported){const cachedAscent=ascentCache.get(fontFamily);if(cachedAscent){return cachedAscent;}const ctx=getCtx(DEFAULT_FONT_SIZE,isOffscreenCanvasSupported);ctx.font=`${DEFAULT_FONT_SIZE}px ${fontFamily}`;const metrics=ctx.measureText("");let ascent=metrics===null||metrics===void 0?void 0:metrics.fontBoundingBoxAscent;let descent=Math.abs(metrics===null||metrics===void 0?void 0:metrics.fontBoundingBoxDescent);if(ascent){const ratio=ascent/(ascent+descent);ascentCache.set(fontFamily,ratio);ctx.canvas.width=ctx.canvas.height=0;return ratio;}ctx.strokeStyle="red";ctx.clearRect(0,0,DEFAULT_FONT_SIZE,DEFAULT_FONT_SIZE);ctx.strokeText("g",0,0);let pixels=ctx.getImageData(0,0,DEFAULT_FONT_SIZE,DEFAULT_FONT_SIZE).data;descent=0;for(let i=pixels.length-1-3;i>=0;i-=4){if(pixels[i]>0){descent=Math.ceil(i/4/DEFAULT_FONT_SIZE);break;}}ctx.clearRect(0,0,DEFAULT_FONT_SIZE,DEFAULT_FONT_SIZE);ctx.strokeText("A",0,DEFAULT_FONT_SIZE);pixels=ctx.getImageData(0,0,DEFAULT_FONT_SIZE,DEFAULT_FONT_SIZE).data;ascent=0;for(let i=0,ii=pixels.length;i<ii;i+=4){if(pixels[i]>0){ascent=DEFAULT_FONT_SIZE-Math.floor(i/4/DEFAULT_FONT_SIZE);break;}}ctx.canvas.width=ctx.canvas.height=0;if(ascent){const ratio=ascent/(ascent+descent);ascentCache.set(fontFamily,ratio);return ratio;}ascentCache.set(fontFamily,DEFAULT_FONT_ASCENT);return DEFAULT_FONT_ASCENT;}function appendText(task,geom,styles){const textDiv=document.createElement("span");const textDivProperties={angle:0,canvasWidth:0,hasText:geom.str!=="",hasEOL:geom.hasEOL,fontSize:0};task._textDivs.push(textDiv);const tx=_util.Util.transform(task._transform,geom.transform);let angle=Math.atan2(tx[1],tx[0]);const style=styles[geom.fontName];if(style.vertical){angle+=Math.PI/2;}const fontHeight=Math.hypot(tx[2],tx[3]);const fontAscent=fontHeight*getAscent(style.fontFamily,task._isOffscreenCanvasSupported);let left,top;if(angle===0){left=tx[4];top=tx[5]-fontAscent;}else{left=tx[4]+fontAscent*Math.sin(angle);top=tx[5]-fontAscent*Math.cos(angle);}const scaleFactorStr="calc(var(--scale-factor)*";const divStyle=textDiv.style;if(task._container===task._rootContainer){divStyle.left=`${(100*left/task._pageWidth).toFixed(2)}%`;divStyle.top=`${(100*top/task._pageHeight).toFixed(2)}%`;}else{divStyle.left=`${scaleFactorStr}${left.toFixed(2)}px)`;divStyle.top=`${scaleFactorStr}${top.toFixed(2)}px)`;}divStyle.fontSize=`${scaleFactorStr}${fontHeight.toFixed(2)}px)`;divStyle.fontFamily=style.fontFamily;textDivProperties.fontSize=fontHeight;textDiv.setAttribute("role","presentation");textDiv.textContent=geom.str;textDiv.dir=geom.dir;if(task._fontInspectorEnabled){textDiv.dataset.fontName=geom.fontName;}if(angle!==0){textDivProperties.angle=angle*(180/Math.PI);}let shouldScaleText=false;if(geom.str.length>1){shouldScaleText=true;}else if(geom.str!==" "&&geom.transform[0]!==geom.transform[3]){const absScaleX=Math.abs(geom.transform[0]),absScaleY=Math.abs(geom.transform[3]);if(absScaleX!==absScaleY&&Math.max(absScaleX,absScaleY)/Math.min(absScaleX,absScaleY)>1.5){shouldScaleText=true;}}if(shouldScaleText){textDivProperties.canvasWidth=style.vertical?geom.height:geom.width;}task._textDivProperties.set(textDiv,textDivProperties);if(task._isReadableStream){task._layoutText(textDiv);}}function layout(params){const{div,scale,properties,ctx,prevFontSize,prevFontFamily}=params;const{style}=div;let transform="";if(properties.canvasWidth!==0&&properties.hasText){const{fontFamily}=style;const{canvasWidth,fontSize}=properties;if(prevFontSize!==fontSize||prevFontFamily!==fontFamily){ctx.font=`${fontSize*scale}px ${fontFamily}`;params.prevFontSize=fontSize;params.prevFontFamily=fontFamily;}try{const{width}=ctx.measureText(div.textContent);if(width>0){transform=`scaleX(${canvasWidth*scale/width})`;}}catch(fingerprintIsBlockedException){}}if(properties.angle!==0){transform=`rotate(${properties.angle}deg) ${transform}`;}if(transform.length>0){style.transform=transform;}}function render(task){if(task._canceled){return;}const textDivs=task._textDivs;const capability=task._capability;const textDivsLength=textDivs.length;if(textDivsLength>MAX_TEXT_DIVS_TO_RENDER){capability.resolve();return;}if(!task._isReadableStream){for(const textDiv of textDivs){task._layoutText(textDiv);}}capability.resolve();}class TextLayerRenderTask{constructor(_ref){var _globalThis$FontInspe;let{textContentSource,container,viewport,textDivs,textDivProperties,textContentItemsStr,isOffscreenCanvasSupported}=_ref;this._textContentSource=textContentSource;this._isReadableStream=textContentSource instanceof ReadableStream;this._container=this._rootContainer=container;this._textDivs=textDivs||[];this._textContentItemsStr=textContentItemsStr||[];this._isOffscreenCanvasSupported=isOffscreenCanvasSupported;this._fontInspectorEnabled=!!((_globalThis$FontInspe=globalThis.FontInspector)!==null&&_globalThis$FontInspe!==void 0&&_globalThis$FontInspe.enabled);this._reader=null;this._textDivProperties=textDivProperties||new WeakMap();this._canceled=false;this._capability=(0,_util.createPromiseCapability)();this._layoutTextParams={prevFontSize:null,prevFontFamily:null,div:null,scale:viewport.scale*(globalThis.devicePixelRatio||1),properties:null,ctx:getCtx(0,isOffscreenCanvasSupported)};const{pageWidth,pageHeight,pageX,pageY}=viewport.rawDims;this._transform=[1,0,0,-1,-pageX,pageY+pageHeight];this._pageWidth=pageWidth;this._pageHeight=pageHeight;(0,_display_utils.setLayerDimensions)(container,viewport);this._capability.promise.finally(()=>{this._layoutTextParams=null;}).catch(()=>{});}get promise(){return this._capability.promise;}cancel(){this._canceled=true;if(this._reader){this._reader.cancel(new _util.AbortException("TextLayer task cancelled.")).catch(()=>{});this._reader=null;}this._capability.reject(new _util.AbortException("TextLayer task cancelled."));}_processItems(items,styleCache){for(const item of items){if(item.str===undefined){if(item.type==="beginMarkedContentProps"||item.type==="beginMarkedContent"){const parent=this._container;this._container=document.createElement("span");this._container.classList.add("markedContent");if(item.id!==null){this._container.setAttribute("id",`${item.id}`);}parent.append(this._container);}else if(item.type==="endMarkedContent"){this._container=this._container.parentNode;}continue;}this._textContentItemsStr.push(item.str);appendText(this,item,styleCache);}}_layoutText(textDiv){const textDivProperties=this._layoutTextParams.properties=this._textDivProperties.get(textDiv);this._layoutTextParams.div=textDiv;layout(this._layoutTextParams);if(textDivProperties.hasText){this._container.append(textDiv);}if(textDivProperties.hasEOL){const br=document.createElement("br");br.setAttribute("role","presentation");this._container.append(br);}}_render(){const capability=(0,_util.createPromiseCapability)();let styleCache=Object.create(null);if(this._isReadableStream){const pump=()=>{this._reader.read().then(_ref2=>{let{value,done}=_ref2;if(done){capability.resolve();return;}Object.assign(styleCache,value.styles);this._processItems(value.items,styleCache);pump();},capability.reject);};this._reader=this._textContentSource.getReader();pump();}else if(this._textContentSource){const{items,styles}=this._textContentSource;this._processItems(items,styles);capability.resolve();}else{throw new Error('No "textContentSource" parameter specified.');}capability.promise.then(()=>{styleCache=null;render(this);},this._capability.reject);}}exports.TextLayerRenderTask=TextLayerRenderTask;function renderTextLayer(params){if(!params.textContentSource&&(params.textContent||params.textContentStream)){(0,_display_utils.deprecated)("The TextLayerRender `textContent`/`textContentStream` parameters "+"will be removed in the future, please use `textContentSource` instead.");params.textContentSource=params.textContent||params.textContentStream;}const task=new TextLayerRenderTask(params);task._render();return task;}function updateTextLayer(_ref3){let{container,viewport,textDivs,textDivProperties,isOffscreenCanvasSupported,mustRotate=true,mustRescale=true}=_ref3;if(mustRotate){(0,_display_utils.setLayerDimensions)(container,{rotation:viewport.rotation});}if(mustRescale){const ctx=getCtx(0,isOffscreenCanvasSupported);const scale=viewport.scale*(globalThis.devicePixelRatio||1);const params={prevFontSize:null,prevFontFamily:null,div:null,scale,properties:null,ctx};for(const div of textDivs){params.properties=textDivProperties.get(div);params.div=div;layout(params);}}}
3558
3558
 
3559
3559
  /***/ }),
3560
3560
  /* 159 */
@@ -3575,7 +3575,7 @@ Object.defineProperty(exports, "__esModule", ({value:true}));exports.FreeTextEdi
3575
3575
  /***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {
3576
3576
 
3577
3577
  "use strict";
3578
- Object.defineProperty(exports, "__esModule", ({value:true}));exports.InkEditor=void 0;Object.defineProperty(exports, "fitCurve", ({enumerable:true,get:function(){return _pdfjsFitCurve.fitCurve;}}));var _util=__w_pdfjs_require__(1);var _editor=__w_pdfjs_require__(136);var _pdfjsFitCurve=__w_pdfjs_require__(162);var _tools=__w_pdfjs_require__(137);function _classPrivateMethodInitSpec(obj,privateSet){_checkPrivateRedeclaration(obj,privateSet);privateSet.add(obj);}function _defineProperty(obj,key,value){key=_toPropertyKey(key);if(key in obj){Object.defineProperty(obj,key,{value:value,enumerable:true,configurable:true,writable:true});}else{obj[key]=value;}return obj;}function _toPropertyKey(arg){var key=_toPrimitive(arg,"string");return typeof key==="symbol"?key:String(key);}function _toPrimitive(input,hint){if(typeof input!=="object"||input===null)return input;var prim=input[Symbol.toPrimitive];if(prim!==undefined){var res=prim.call(input,hint||"default");if(typeof res!=="object")return res;throw new TypeError("@@toPrimitive must return a primitive value.");}return(hint==="string"?String:Number)(input);}function _classPrivateFieldInitSpec(obj,privateMap,value){_checkPrivateRedeclaration(obj,privateMap);privateMap.set(obj,value);}function _checkPrivateRedeclaration(obj,privateCollection){if(privateCollection.has(obj)){throw new TypeError("Cannot initialize the same private elements twice on an object");}}function _classStaticPrivateMethodGet(receiver,classConstructor,method){_classCheckPrivateStaticAccess(receiver,classConstructor);return method;}function _classCheckPrivateStaticAccess(receiver,classConstructor){if(receiver!==classConstructor){throw new TypeError("Private static access of wrong provenance");}}function _classPrivateFieldSet(receiver,privateMap,value){var descriptor=_classExtractFieldDescriptor(receiver,privateMap,"set");_classApplyDescriptorSet(receiver,descriptor,value);return value;}function _classApplyDescriptorSet(receiver,descriptor,value){if(descriptor.set){descriptor.set.call(receiver,value);}else{if(!descriptor.writable){throw new TypeError("attempted to set read only private field");}descriptor.value=value;}}function _classPrivateFieldGet(receiver,privateMap){var descriptor=_classExtractFieldDescriptor(receiver,privateMap,"get");return _classApplyDescriptorGet(receiver,descriptor);}function _classExtractFieldDescriptor(receiver,privateMap,action){if(!privateMap.has(receiver)){throw new TypeError("attempted to "+action+" private field on non-instance");}return privateMap.get(receiver);}function _classApplyDescriptorGet(receiver,descriptor){if(descriptor.get){return descriptor.get.call(receiver);}return descriptor.value;}function _classPrivateMethodGet(receiver,privateSet,fn){if(!privateSet.has(receiver)){throw new TypeError("attempted to get private field on non-instance");}return fn;}const RESIZER_SIZE=16;const TIME_TO_WAIT_BEFORE_FIXING_DIMS=100;var _aspectRatio=/*#__PURE__*/new WeakMap();var _baseHeight=/*#__PURE__*/new WeakMap();var _baseWidth=/*#__PURE__*/new WeakMap();var _boundCanvasPointermove=/*#__PURE__*/new WeakMap();var _boundCanvasPointerleave=/*#__PURE__*/new WeakMap();var _boundCanvasPointerup=/*#__PURE__*/new WeakMap();var _boundCanvasPointerdown=/*#__PURE__*/new WeakMap();var _disableEditing=/*#__PURE__*/new WeakMap();var _isCanvasInitialized=/*#__PURE__*/new WeakMap();var _lastPoint=/*#__PURE__*/new WeakMap();var _observer=/*#__PURE__*/new WeakMap();var _realWidth=/*#__PURE__*/new WeakMap();var _realHeight=/*#__PURE__*/new WeakMap();var _requestFrameCallback=/*#__PURE__*/new WeakMap();var _updateThickness=/*#__PURE__*/new WeakSet();var _updateColor=/*#__PURE__*/new WeakSet();var _updateOpacity=/*#__PURE__*/new WeakSet();var _getInitialBBox=/*#__PURE__*/new WeakSet();var _setStroke=/*#__PURE__*/new WeakSet();var _startDrawing=/*#__PURE__*/new WeakSet();var _draw=/*#__PURE__*/new WeakSet();var _stopDrawing=/*#__PURE__*/new WeakSet();var _redraw=/*#__PURE__*/new WeakSet();var _endDrawing=/*#__PURE__*/new WeakSet();var _createCanvas=/*#__PURE__*/new WeakSet();var _createObserver=/*#__PURE__*/new WeakSet();var _setCanvasDims=/*#__PURE__*/new WeakSet();var _setScaleFactor=/*#__PURE__*/new WeakSet();var _updateTransform=/*#__PURE__*/new WeakSet();var _serializePaths=/*#__PURE__*/new WeakSet();var _extractPointsOnBezier=/*#__PURE__*/new WeakSet();var _isAlmostFlat=/*#__PURE__*/new WeakSet();var _getBbox=/*#__PURE__*/new WeakSet();var _getPadding=/*#__PURE__*/new WeakSet();var _fitToContent=/*#__PURE__*/new WeakSet();var _setMinDims=/*#__PURE__*/new WeakSet();class InkEditor extends _editor.AnnotationEditor{constructor(params){super({...params,name:"inkEditor"});_classPrivateMethodInitSpec(this,_setMinDims);_classPrivateMethodInitSpec(this,_fitToContent);_classPrivateMethodInitSpec(this,_getPadding);_classPrivateMethodInitSpec(this,_getBbox);_classPrivateMethodInitSpec(this,_isAlmostFlat);_classPrivateMethodInitSpec(this,_extractPointsOnBezier);_classPrivateMethodInitSpec(this,_serializePaths);_classPrivateMethodInitSpec(this,_updateTransform);_classPrivateMethodInitSpec(this,_setScaleFactor);_classPrivateMethodInitSpec(this,_setCanvasDims);_classPrivateMethodInitSpec(this,_createObserver);_classPrivateMethodInitSpec(this,_createCanvas);_classPrivateMethodInitSpec(this,_endDrawing);_classPrivateMethodInitSpec(this,_redraw);_classPrivateMethodInitSpec(this,_stopDrawing);_classPrivateMethodInitSpec(this,_draw);_classPrivateMethodInitSpec(this,_startDrawing);_classPrivateMethodInitSpec(this,_setStroke);_classPrivateMethodInitSpec(this,_getInitialBBox);_classPrivateMethodInitSpec(this,_updateOpacity);_classPrivateMethodInitSpec(this,_updateColor);_classPrivateMethodInitSpec(this,_updateThickness);_classPrivateFieldInitSpec(this,_aspectRatio,{writable:true,value:0});_classPrivateFieldInitSpec(this,_baseHeight,{writable:true,value:0});_classPrivateFieldInitSpec(this,_baseWidth,{writable:true,value:0});_classPrivateFieldInitSpec(this,_boundCanvasPointermove,{writable:true,value:this.canvasPointermove.bind(this)});_classPrivateFieldInitSpec(this,_boundCanvasPointerleave,{writable:true,value:this.canvasPointerleave.bind(this)});_classPrivateFieldInitSpec(this,_boundCanvasPointerup,{writable:true,value:this.canvasPointerup.bind(this)});_classPrivateFieldInitSpec(this,_boundCanvasPointerdown,{writable:true,value:this.canvasPointerdown.bind(this)});_classPrivateFieldInitSpec(this,_disableEditing,{writable:true,value:false});_classPrivateFieldInitSpec(this,_isCanvasInitialized,{writable:true,value:false});_classPrivateFieldInitSpec(this,_lastPoint,{writable:true,value:null});_classPrivateFieldInitSpec(this,_observer,{writable:true,value:null});_classPrivateFieldInitSpec(this,_realWidth,{writable:true,value:0});_classPrivateFieldInitSpec(this,_realHeight,{writable:true,value:0});_classPrivateFieldInitSpec(this,_requestFrameCallback,{writable:true,value:null});this.color=params.color||null;this.thickness=params.thickness||null;this.opacity=params.opacity||null;this.paths=[];this.bezierPath2D=[];this.currentPath=[];this.scaleFactor=1;this.translationX=this.translationY=0;this.x=0;this.y=0;}static initialize(l10n){this._l10nPromise=new Map(["editor_ink_canvas_aria_label","editor_ink2_aria_label"].map(str=>[str,l10n.get(str)]));}static updateDefaultParams(type,value){switch(type){case _util.AnnotationEditorParamsType.INK_THICKNESS:InkEditor._defaultThickness=value;break;case _util.AnnotationEditorParamsType.INK_COLOR:InkEditor._defaultColor=value;break;case _util.AnnotationEditorParamsType.INK_OPACITY:InkEditor._defaultOpacity=value/100;break;}}updateParams(type,value){switch(type){case _util.AnnotationEditorParamsType.INK_THICKNESS:_classPrivateMethodGet(this,_updateThickness,_updateThickness2).call(this,value);break;case _util.AnnotationEditorParamsType.INK_COLOR:_classPrivateMethodGet(this,_updateColor,_updateColor2).call(this,value);break;case _util.AnnotationEditorParamsType.INK_OPACITY:_classPrivateMethodGet(this,_updateOpacity,_updateOpacity2).call(this,value);break;}}static get defaultPropertiesToUpdate(){return[[_util.AnnotationEditorParamsType.INK_THICKNESS,InkEditor._defaultThickness],[_util.AnnotationEditorParamsType.INK_COLOR,InkEditor._defaultColor||_editor.AnnotationEditor._defaultLineColor],[_util.AnnotationEditorParamsType.INK_OPACITY,Math.round(InkEditor._defaultOpacity*100)]];}get propertiesToUpdate(){return[[_util.AnnotationEditorParamsType.INK_THICKNESS,this.thickness||InkEditor._defaultThickness],[_util.AnnotationEditorParamsType.INK_COLOR,this.color||InkEditor._defaultColor||_editor.AnnotationEditor._defaultLineColor],[_util.AnnotationEditorParamsType.INK_OPACITY,Math.round(100*(this.opacity??InkEditor._defaultOpacity))]];}rebuild(){super.rebuild();if(this.div===null){return;}if(!this.canvas){_classPrivateMethodGet(this,_createCanvas,_createCanvas2).call(this);_classPrivateMethodGet(this,_createObserver,_createObserver2).call(this);}if(!this.isAttachedToDOM){this.parent.add(this);_classPrivateMethodGet(this,_setCanvasDims,_setCanvasDims2).call(this);}_classPrivateMethodGet(this,_fitToContent,_fitToContent2).call(this);}remove(){if(this.canvas===null){return;}if(!this.isEmpty()){this.commit();}this.canvas.width=this.canvas.height=0;this.canvas.remove();this.canvas=null;_classPrivateFieldGet(this,_observer).disconnect();_classPrivateFieldSet(this,_observer,null);super.remove();}setParent(parent){if(!this.parent&&parent){this._uiManager.removeShouldRescale(this);}else if(this.parent&&parent===null){this._uiManager.addShouldRescale(this);}super.setParent(parent);}onScaleChanging(){const[parentWidth,parentHeight]=this.parentDimensions;const width=this.width*parentWidth;const height=this.height*parentHeight;this.setDimensions(width,height);}enableEditMode(){if(_classPrivateFieldGet(this,_disableEditing)||this.canvas===null){return;}super.enableEditMode();this.div.draggable=false;this.canvas.addEventListener("pointerdown",_classPrivateFieldGet(this,_boundCanvasPointerdown));this.canvas.addEventListener("pointerup",_classPrivateFieldGet(this,_boundCanvasPointerup));}disableEditMode(){if(!this.isInEditMode()||this.canvas===null){return;}super.disableEditMode();this.div.draggable=!this.isEmpty();this.div.classList.remove("editing");this.canvas.removeEventListener("pointerdown",_classPrivateFieldGet(this,_boundCanvasPointerdown));this.canvas.removeEventListener("pointerup",_classPrivateFieldGet(this,_boundCanvasPointerup));}onceAdded(){this.div.draggable=!this.isEmpty();}isEmpty(){return this.paths.length===0||this.paths.length===1&&this.paths[0].length===0;}commit(){if(_classPrivateFieldGet(this,_disableEditing)){return;}super.commit();this.isEditing=false;this.disableEditMode();this.setInForeground();_classPrivateFieldSet(this,_disableEditing,true);this.div.classList.add("disabled");_classPrivateMethodGet(this,_fitToContent,_fitToContent2).call(this,true);this.parent.addInkEditorIfNeeded(true);this.parent.moveEditorInDOM(this);this.div.focus({preventScroll:true});}focusin(event){super.focusin(event);this.enableEditMode();}canvasPointerdown(event){if(event.button!==0||!this.isInEditMode()||_classPrivateFieldGet(this,_disableEditing)){return;}this.setInForeground();if(event.type!=="mouse"){this.div.focus();}event.stopPropagation();this.canvas.addEventListener("pointerleave",_classPrivateFieldGet(this,_boundCanvasPointerleave));this.canvas.addEventListener("pointermove",_classPrivateFieldGet(this,_boundCanvasPointermove));_classPrivateMethodGet(this,_startDrawing,_startDrawing2).call(this,event.offsetX,event.offsetY);}canvasPointermove(event){event.stopPropagation();_classPrivateMethodGet(this,_draw,_draw2).call(this,event.offsetX,event.offsetY);}canvasPointerup(event){if(event.button!==0){return;}if(this.isInEditMode()&&this.currentPath.length!==0){event.stopPropagation();_classPrivateMethodGet(this,_endDrawing,_endDrawing2).call(this,event);this.setInBackground();}}canvasPointerleave(event){_classPrivateMethodGet(this,_endDrawing,_endDrawing2).call(this,event);this.setInBackground();}render(){if(this.div){return this.div;}let baseX,baseY;if(this.width){baseX=this.x;baseY=this.y;}super.render();InkEditor._l10nPromise.get("editor_ink2_aria_label").then(msg=>{var _this$div;return(_this$div=this.div)===null||_this$div===void 0?void 0:_this$div.setAttribute("aria-label",msg);});const[x,y,w,h]=_classPrivateMethodGet(this,_getInitialBBox,_getInitialBBox2).call(this);this.setAt(x,y,0,0);this.setDims(w,h);_classPrivateMethodGet(this,_createCanvas,_createCanvas2).call(this);if(this.width){const[parentWidth,parentHeight]=this.parentDimensions;this.setAt(baseX*parentWidth,baseY*parentHeight,this.width*parentWidth,this.height*parentHeight);_classPrivateFieldSet(this,_isCanvasInitialized,true);_classPrivateMethodGet(this,_setCanvasDims,_setCanvasDims2).call(this);this.setDims(this.width*parentWidth,this.height*parentHeight);_classPrivateMethodGet(this,_redraw,_redraw2).call(this);_classPrivateMethodGet(this,_setMinDims,_setMinDims2).call(this);this.div.classList.add("disabled");}else{this.div.classList.add("editing");this.enableEditMode();}_classPrivateMethodGet(this,_createObserver,_createObserver2).call(this);return this.div;}setDimensions(width,height){const roundedWidth=Math.round(width);const roundedHeight=Math.round(height);if(_classPrivateFieldGet(this,_realWidth)===roundedWidth&&_classPrivateFieldGet(this,_realHeight)===roundedHeight){return;}_classPrivateFieldSet(this,_realWidth,roundedWidth);_classPrivateFieldSet(this,_realHeight,roundedHeight);this.canvas.style.visibility="hidden";if(_classPrivateFieldGet(this,_aspectRatio)&&Math.abs(_classPrivateFieldGet(this,_aspectRatio)-width/height)>1e-2){height=Math.ceil(width/_classPrivateFieldGet(this,_aspectRatio));this.setDims(width,height);}const[parentWidth,parentHeight]=this.parentDimensions;this.width=width/parentWidth;this.height=height/parentHeight;if(_classPrivateFieldGet(this,_disableEditing)){_classPrivateMethodGet(this,_setScaleFactor,_setScaleFactor2).call(this,width,height);}_classPrivateMethodGet(this,_setCanvasDims,_setCanvasDims2).call(this);_classPrivateMethodGet(this,_redraw,_redraw2).call(this);this.canvas.style.visibility="visible";}static deserialize(data,parent,uiManager){const editor=super.deserialize(data,parent,uiManager);editor.thickness=data.thickness;editor.color=_util.Util.makeHexColor(...data.color);editor.opacity=data.opacity;const[pageWidth,pageHeight]=editor.pageDimensions;const width=editor.width*pageWidth;const height=editor.height*pageHeight;const scaleFactor=editor.parentScale;const padding=data.thickness/2;_classPrivateFieldSet(editor,_aspectRatio,width/height);_classPrivateFieldSet(editor,_disableEditing,true);_classPrivateFieldSet(editor,_realWidth,Math.round(width));_classPrivateFieldSet(editor,_realHeight,Math.round(height));for(const{bezier}of data.paths){const path=[];editor.paths.push(path);let p0=scaleFactor*(bezier[0]-padding);let p1=scaleFactor*(height-bezier[1]-padding);for(let i=2,ii=bezier.length;i<ii;i+=6){const p10=scaleFactor*(bezier[i]-padding);const p11=scaleFactor*(height-bezier[i+1]-padding);const p20=scaleFactor*(bezier[i+2]-padding);const p21=scaleFactor*(height-bezier[i+3]-padding);const p30=scaleFactor*(bezier[i+4]-padding);const p31=scaleFactor*(height-bezier[i+5]-padding);path.push([[p0,p1],[p10,p11],[p20,p21],[p30,p31]]);p0=p30;p1=p31;}const path2D=_classStaticPrivateMethodGet(this,InkEditor,_buildPath2D).call(this,path);editor.bezierPath2D.push(path2D);}const bbox=_classPrivateMethodGet(editor,_getBbox,_getBbox2).call(editor);_classPrivateFieldSet(editor,_baseWidth,Math.max(RESIZER_SIZE,bbox[2]-bbox[0]));_classPrivateFieldSet(editor,_baseHeight,Math.max(RESIZER_SIZE,bbox[3]-bbox[1]));_classPrivateMethodGet(editor,_setScaleFactor,_setScaleFactor2).call(editor,width,height);return editor;}serialize(){if(this.isEmpty()){return null;}const rect=this.getRect(0,0);const height=this.rotation%180===0?rect[3]-rect[1]:rect[2]-rect[0];const color=_editor.AnnotationEditor._colorManager.convert(this.ctx.strokeStyle);return{annotationType:_util.AnnotationEditorType.INK,color,thickness:this.thickness,opacity:this.opacity,paths:_classPrivateMethodGet(this,_serializePaths,_serializePaths2).call(this,this.scaleFactor/this.parentScale,this.translationX,this.translationY,height),pageIndex:this.pageIndex,rect,rotation:this.rotation};}}exports.InkEditor=InkEditor;function _updateThickness2(thickness){const savedThickness=this.thickness;this.addCommands({cmd:()=>{this.thickness=thickness;_classPrivateMethodGet(this,_fitToContent,_fitToContent2).call(this);},undo:()=>{this.thickness=savedThickness;_classPrivateMethodGet(this,_fitToContent,_fitToContent2).call(this);},mustExec:true,type:_util.AnnotationEditorParamsType.INK_THICKNESS,overwriteIfSameType:true,keepUndo:true});}function _updateColor2(color){const savedColor=this.color;this.addCommands({cmd:()=>{this.color=color;_classPrivateMethodGet(this,_redraw,_redraw2).call(this);},undo:()=>{this.color=savedColor;_classPrivateMethodGet(this,_redraw,_redraw2).call(this);},mustExec:true,type:_util.AnnotationEditorParamsType.INK_COLOR,overwriteIfSameType:true,keepUndo:true});}function _updateOpacity2(opacity){opacity/=100;const savedOpacity=this.opacity;this.addCommands({cmd:()=>{this.opacity=opacity;_classPrivateMethodGet(this,_redraw,_redraw2).call(this);},undo:()=>{this.opacity=savedOpacity;_classPrivateMethodGet(this,_redraw,_redraw2).call(this);},mustExec:true,type:_util.AnnotationEditorParamsType.INK_OPACITY,overwriteIfSameType:true,keepUndo:true});}function _getInitialBBox2(){const{parentRotation,parentDimensions:[width,height]}=this;switch(parentRotation){case 90:return[0,height,height,width];case 180:return[width,height,width,height];case 270:return[width,0,height,width];default:return[0,0,width,height];}}function _setStroke2(){const{ctx,color,opacity,thickness,parentScale,scaleFactor}=this;ctx.lineWidth=thickness*parentScale/scaleFactor;ctx.lineCap="round";ctx.lineJoin="round";ctx.miterLimit=10;ctx.strokeStyle=`${color}${(0,_tools.opacityToHex)(opacity)}`;}function _startDrawing2(x,y){this.isEditing=true;if(!_classPrivateFieldGet(this,_isCanvasInitialized)){_classPrivateFieldSet(this,_isCanvasInitialized,true);_classPrivateMethodGet(this,_setCanvasDims,_setCanvasDims2).call(this);this.thickness||(this.thickness=InkEditor._defaultThickness);this.color||(this.color=InkEditor._defaultColor||_editor.AnnotationEditor._defaultLineColor);this.opacity??(this.opacity=InkEditor._defaultOpacity);}this.currentPath.push([x,y]);_classPrivateFieldSet(this,_lastPoint,null);_classPrivateMethodGet(this,_setStroke,_setStroke2).call(this);this.ctx.beginPath();this.ctx.moveTo(x,y);_classPrivateFieldSet(this,_requestFrameCallback,()=>{if(!_classPrivateFieldGet(this,_requestFrameCallback)){return;}if(_classPrivateFieldGet(this,_lastPoint)){if(this.isEmpty()){this.ctx.setTransform(1,0,0,1,0,0);this.ctx.clearRect(0,0,this.canvas.width,this.canvas.height);}else{_classPrivateMethodGet(this,_redraw,_redraw2).call(this);}this.ctx.lineTo(..._classPrivateFieldGet(this,_lastPoint));_classPrivateFieldSet(this,_lastPoint,null);this.ctx.stroke();}window.requestAnimationFrame(_classPrivateFieldGet(this,_requestFrameCallback));});window.requestAnimationFrame(_classPrivateFieldGet(this,_requestFrameCallback));}function _draw2(x,y){const[lastX,lastY]=this.currentPath.at(-1);if(x===lastX&&y===lastY){return;}this.currentPath.push([x,y]);_classPrivateFieldSet(this,_lastPoint,[x,y]);}function _stopDrawing2(x,y){this.ctx.closePath();_classPrivateFieldSet(this,_requestFrameCallback,null);x=Math.min(Math.max(x,0),this.canvas.width);y=Math.min(Math.max(y,0),this.canvas.height);const[lastX,lastY]=this.currentPath.at(-1);if(x!==lastX||y!==lastY){this.currentPath.push([x,y]);}let bezier;if(this.currentPath.length!==1){bezier=(0,_pdfjsFitCurve.fitCurve)(this.currentPath,30,null);}else{const xy=[x,y];bezier=[[xy,xy.slice(),xy.slice(),xy]];}const path2D=_classStaticPrivateMethodGet(InkEditor,InkEditor,_buildPath2D).call(InkEditor,bezier);this.currentPath.length=0;const cmd=()=>{this.paths.push(bezier);this.bezierPath2D.push(path2D);this.rebuild();};const undo=()=>{this.paths.pop();this.bezierPath2D.pop();if(this.paths.length===0){this.remove();}else{if(!this.canvas){_classPrivateMethodGet(this,_createCanvas,_createCanvas2).call(this);_classPrivateMethodGet(this,_createObserver,_createObserver2).call(this);}_classPrivateMethodGet(this,_fitToContent,_fitToContent2).call(this);}};this.addCommands({cmd,undo,mustExec:true});}function _redraw2(){if(this.isEmpty()){_classPrivateMethodGet(this,_updateTransform,_updateTransform2).call(this);return;}_classPrivateMethodGet(this,_setStroke,_setStroke2).call(this);const{canvas,ctx}=this;ctx.setTransform(1,0,0,1,0,0);ctx.clearRect(0,0,canvas.width,canvas.height);_classPrivateMethodGet(this,_updateTransform,_updateTransform2).call(this);for(const path of this.bezierPath2D){ctx.stroke(path);}}function _endDrawing2(event){_classPrivateMethodGet(this,_stopDrawing,_stopDrawing2).call(this,event.offsetX,event.offsetY);this.canvas.removeEventListener("pointerleave",_classPrivateFieldGet(this,_boundCanvasPointerleave));this.canvas.removeEventListener("pointermove",_classPrivateFieldGet(this,_boundCanvasPointermove));this.addToAnnotationStorage();}function _createCanvas2(){this.canvas=document.createElement("canvas");this.canvas.width=this.canvas.height=0;this.canvas.className="inkEditorCanvas";InkEditor._l10nPromise.get("editor_ink_canvas_aria_label").then(msg=>{var _this$canvas;return(_this$canvas=this.canvas)===null||_this$canvas===void 0?void 0:_this$canvas.setAttribute("aria-label",msg);});this.div.append(this.canvas);this.ctx=this.canvas.getContext("2d");}function _createObserver2(){let timeoutId=null;_classPrivateFieldSet(this,_observer,new ResizeObserver(entries=>{const rect=entries[0].contentRect;if(rect.width&&rect.height){if(timeoutId!==null){clearTimeout(timeoutId);}timeoutId=setTimeout(()=>{this.fixDims();timeoutId=null;},TIME_TO_WAIT_BEFORE_FIXING_DIMS);this.setDimensions(rect.width,rect.height);}}));_classPrivateFieldGet(this,_observer).observe(this.div);}function _setCanvasDims2(){if(!_classPrivateFieldGet(this,_isCanvasInitialized)){return;}const[parentWidth,parentHeight]=this.parentDimensions;this.canvas.width=Math.ceil(this.width*parentWidth);this.canvas.height=Math.ceil(this.height*parentHeight);_classPrivateMethodGet(this,_updateTransform,_updateTransform2).call(this);}function _setScaleFactor2(width,height){const padding=_classPrivateMethodGet(this,_getPadding,_getPadding2).call(this);const scaleFactorW=(width-padding)/_classPrivateFieldGet(this,_baseWidth);const scaleFactorH=(height-padding)/_classPrivateFieldGet(this,_baseHeight);this.scaleFactor=Math.min(scaleFactorW,scaleFactorH);}function _updateTransform2(){const padding=_classPrivateMethodGet(this,_getPadding,_getPadding2).call(this)/2;this.ctx.setTransform(this.scaleFactor,0,0,this.scaleFactor,this.translationX*this.scaleFactor+padding,this.translationY*this.scaleFactor+padding);}function _buildPath2D(bezier){const path2D=new Path2D();for(let i=0,ii=bezier.length;i<ii;i++){const[first,control1,control2,second]=bezier[i];if(i===0){path2D.moveTo(...first);}path2D.bezierCurveTo(control1[0],control1[1],control2[0],control2[1],second[0],second[1]);}return path2D;}function _serializePaths2(s,tx,ty,h){const NUMBER_OF_POINTS_ON_BEZIER_CURVE=4;const paths=[];const padding=this.thickness/2;let buffer,points;for(const bezier of this.paths){buffer=[];points=[];for(let i=0,ii=bezier.length;i<ii;i++){const[first,control1,control2,second]=bezier[i];const p10=s*(first[0]+tx)+padding;const p11=h-s*(first[1]+ty)-padding;const p20=s*(control1[0]+tx)+padding;const p21=h-s*(control1[1]+ty)-padding;const p30=s*(control2[0]+tx)+padding;const p31=h-s*(control2[1]+ty)-padding;const p40=s*(second[0]+tx)+padding;const p41=h-s*(second[1]+ty)-padding;if(i===0){buffer.push(p10,p11);points.push(p10,p11);}buffer.push(p20,p21,p30,p31,p40,p41);_classPrivateMethodGet(this,_extractPointsOnBezier,_extractPointsOnBezier2).call(this,p10,p11,p20,p21,p30,p31,p40,p41,NUMBER_OF_POINTS_ON_BEZIER_CURVE,points);}paths.push({bezier:buffer,points});}return paths;}function _extractPointsOnBezier2(p10,p11,p20,p21,p30,p31,p40,p41,n,points){if(_classPrivateMethodGet(this,_isAlmostFlat,_isAlmostFlat2).call(this,p10,p11,p20,p21,p30,p31,p40,p41)){points.push(p40,p41);return;}for(let i=1;i<n-1;i++){const t=i/n;const mt=1-t;let q10=t*p10+mt*p20;let q11=t*p11+mt*p21;let q20=t*p20+mt*p30;let q21=t*p21+mt*p31;const q30=t*p30+mt*p40;const q31=t*p31+mt*p41;q10=t*q10+mt*q20;q11=t*q11+mt*q21;q20=t*q20+mt*q30;q21=t*q21+mt*q31;q10=t*q10+mt*q20;q11=t*q11+mt*q21;points.push(q10,q11);}points.push(p40,p41);}function _isAlmostFlat2(p10,p11,p20,p21,p30,p31,p40,p41){const tol=10;const ax=(3*p20-2*p10-p40)**2;const ay=(3*p21-2*p11-p41)**2;const bx=(3*p30-p10-2*p40)**2;const by=(3*p31-p11-2*p41)**2;return Math.max(ax,bx)+Math.max(ay,by)<=tol;}function _getBbox2(){let xMin=Infinity;let xMax=-Infinity;let yMin=Infinity;let yMax=-Infinity;for(const path of this.paths){for(const[first,control1,control2,second]of path){const bbox=_util.Util.bezierBoundingBox(...first,...control1,...control2,...second);xMin=Math.min(xMin,bbox[0]);yMin=Math.min(yMin,bbox[1]);xMax=Math.max(xMax,bbox[2]);yMax=Math.max(yMax,bbox[3]);}}return[xMin,yMin,xMax,yMax];}function _getPadding2(){return _classPrivateFieldGet(this,_disableEditing)?Math.ceil(this.thickness*this.parentScale):0;}function _fitToContent2(){let firstTime=arguments.length>0&&arguments[0]!==undefined?arguments[0]:false;if(this.isEmpty()){return;}if(!_classPrivateFieldGet(this,_disableEditing)){_classPrivateMethodGet(this,_redraw,_redraw2).call(this);return;}const bbox=_classPrivateMethodGet(this,_getBbox,_getBbox2).call(this);const padding=_classPrivateMethodGet(this,_getPadding,_getPadding2).call(this);_classPrivateFieldSet(this,_baseWidth,Math.max(RESIZER_SIZE,bbox[2]-bbox[0]));_classPrivateFieldSet(this,_baseHeight,Math.max(RESIZER_SIZE,bbox[3]-bbox[1]));const width=Math.ceil(padding+_classPrivateFieldGet(this,_baseWidth)*this.scaleFactor);const height=Math.ceil(padding+_classPrivateFieldGet(this,_baseHeight)*this.scaleFactor);const[parentWidth,parentHeight]=this.parentDimensions;this.width=width/parentWidth;this.height=height/parentHeight;_classPrivateFieldSet(this,_aspectRatio,width/height);_classPrivateMethodGet(this,_setMinDims,_setMinDims2).call(this);const prevTranslationX=this.translationX;const prevTranslationY=this.translationY;this.translationX=-bbox[0];this.translationY=-bbox[1];_classPrivateMethodGet(this,_setCanvasDims,_setCanvasDims2).call(this);_classPrivateMethodGet(this,_redraw,_redraw2).call(this);_classPrivateFieldSet(this,_realWidth,width);_classPrivateFieldSet(this,_realHeight,height);this.setDims(width,height);const unscaledPadding=firstTime?padding/this.scaleFactor/2:0;this.translate(prevTranslationX-this.translationX-unscaledPadding,prevTranslationY-this.translationY-unscaledPadding);}function _setMinDims2(){const{style}=this.div;if(_classPrivateFieldGet(this,_aspectRatio)>=1){style.minHeight=`${RESIZER_SIZE}px`;style.minWidth=`${Math.round(_classPrivateFieldGet(this,_aspectRatio)*RESIZER_SIZE)}px`;}else{style.minWidth=`${RESIZER_SIZE}px`;style.minHeight=`${Math.round(RESIZER_SIZE/_classPrivateFieldGet(this,_aspectRatio))}px`;}}_defineProperty(InkEditor,"_defaultColor",null);_defineProperty(InkEditor,"_defaultOpacity",1);_defineProperty(InkEditor,"_defaultThickness",1);_defineProperty(InkEditor,"_l10nPromise",void 0);_defineProperty(InkEditor,"_type","ink");
3578
+ Object.defineProperty(exports, "__esModule", ({value:true}));exports.InkEditor=void 0;Object.defineProperty(exports, "fitCurve", ({enumerable:true,get:function(){return _pdfjsFitCurve.fitCurve;}}));var _util=__w_pdfjs_require__(1);var _editor=__w_pdfjs_require__(136);var _pdfjsFitCurve=__w_pdfjs_require__(162);var _tools=__w_pdfjs_require__(137);function _classPrivateMethodInitSpec(obj,privateSet){_checkPrivateRedeclaration(obj,privateSet);privateSet.add(obj);}function _defineProperty(obj,key,value){key=_toPropertyKey(key);if(key in obj){Object.defineProperty(obj,key,{value:value,enumerable:true,configurable:true,writable:true});}else{obj[key]=value;}return obj;}function _toPropertyKey(arg){var key=_toPrimitive(arg,"string");return typeof key==="symbol"?key:String(key);}function _toPrimitive(input,hint){if(typeof input!=="object"||input===null)return input;var prim=input[Symbol.toPrimitive];if(prim!==undefined){var res=prim.call(input,hint||"default");if(typeof res!=="object")return res;throw new TypeError("@@toPrimitive must return a primitive value.");}return(hint==="string"?String:Number)(input);}function _classPrivateFieldInitSpec(obj,privateMap,value){_checkPrivateRedeclaration(obj,privateMap);privateMap.set(obj,value);}function _checkPrivateRedeclaration(obj,privateCollection){if(privateCollection.has(obj)){throw new TypeError("Cannot initialize the same private elements twice on an object");}}function _classStaticPrivateMethodGet(receiver,classConstructor,method){_classCheckPrivateStaticAccess(receiver,classConstructor);return method;}function _classCheckPrivateStaticAccess(receiver,classConstructor){if(receiver!==classConstructor){throw new TypeError("Private static access of wrong provenance");}}function _classPrivateFieldSet(receiver,privateMap,value){var descriptor=_classExtractFieldDescriptor(receiver,privateMap,"set");_classApplyDescriptorSet(receiver,descriptor,value);return value;}function _classApplyDescriptorSet(receiver,descriptor,value){if(descriptor.set){descriptor.set.call(receiver,value);}else{if(!descriptor.writable){throw new TypeError("attempted to set read only private field");}descriptor.value=value;}}function _classPrivateFieldGet(receiver,privateMap){var descriptor=_classExtractFieldDescriptor(receiver,privateMap,"get");return _classApplyDescriptorGet(receiver,descriptor);}function _classExtractFieldDescriptor(receiver,privateMap,action){if(!privateMap.has(receiver)){throw new TypeError("attempted to "+action+" private field on non-instance");}return privateMap.get(receiver);}function _classApplyDescriptorGet(receiver,descriptor){if(descriptor.get){return descriptor.get.call(receiver);}return descriptor.value;}function _classPrivateMethodGet(receiver,privateSet,fn){if(!privateSet.has(receiver)){throw new TypeError("attempted to get private field on non-instance");}return fn;}const RESIZER_SIZE=16;const TIME_TO_WAIT_BEFORE_FIXING_DIMS=100;var _aspectRatio=/*#__PURE__*/new WeakMap();var _baseHeight=/*#__PURE__*/new WeakMap();var _baseWidth=/*#__PURE__*/new WeakMap();var _boundCanvasPointermove=/*#__PURE__*/new WeakMap();var _boundCanvasPointerleave=/*#__PURE__*/new WeakMap();var _boundCanvasPointerup=/*#__PURE__*/new WeakMap();var _boundCanvasPointerdown=/*#__PURE__*/new WeakMap();var _disableEditing=/*#__PURE__*/new WeakMap();var _isCanvasInitialized=/*#__PURE__*/new WeakMap();var _lastPoint=/*#__PURE__*/new WeakMap();var _observer=/*#__PURE__*/new WeakMap();var _realWidth=/*#__PURE__*/new WeakMap();var _realHeight=/*#__PURE__*/new WeakMap();var _requestFrameCallback=/*#__PURE__*/new WeakMap();var _updateThickness=/*#__PURE__*/new WeakSet();var _updateColor=/*#__PURE__*/new WeakSet();var _updateOpacity=/*#__PURE__*/new WeakSet();var _getInitialBBox=/*#__PURE__*/new WeakSet();var _setStroke=/*#__PURE__*/new WeakSet();var _startDrawing=/*#__PURE__*/new WeakSet();var _draw=/*#__PURE__*/new WeakSet();var _stopDrawing=/*#__PURE__*/new WeakSet();var _redraw=/*#__PURE__*/new WeakSet();var _endDrawing=/*#__PURE__*/new WeakSet();var _createCanvas=/*#__PURE__*/new WeakSet();var _createObserver=/*#__PURE__*/new WeakSet();var _setCanvasDims=/*#__PURE__*/new WeakSet();var _setScaleFactor=/*#__PURE__*/new WeakSet();var _updateTransform=/*#__PURE__*/new WeakSet();var _serializePaths=/*#__PURE__*/new WeakSet();var _extractPointsOnBezier=/*#__PURE__*/new WeakSet();var _isAlmostFlat=/*#__PURE__*/new WeakSet();var _getBbox=/*#__PURE__*/new WeakSet();var _getPadding=/*#__PURE__*/new WeakSet();var _fitToContent=/*#__PURE__*/new WeakSet();var _setMinDims=/*#__PURE__*/new WeakSet();class InkEditor extends _editor.AnnotationEditor{constructor(params){super({...params,name:"inkEditor"});_classPrivateMethodInitSpec(this,_setMinDims);_classPrivateMethodInitSpec(this,_fitToContent);_classPrivateMethodInitSpec(this,_getPadding);_classPrivateMethodInitSpec(this,_getBbox);_classPrivateMethodInitSpec(this,_isAlmostFlat);_classPrivateMethodInitSpec(this,_extractPointsOnBezier);_classPrivateMethodInitSpec(this,_serializePaths);_classPrivateMethodInitSpec(this,_updateTransform);_classPrivateMethodInitSpec(this,_setScaleFactor);_classPrivateMethodInitSpec(this,_setCanvasDims);_classPrivateMethodInitSpec(this,_createObserver);_classPrivateMethodInitSpec(this,_createCanvas);_classPrivateMethodInitSpec(this,_endDrawing);_classPrivateMethodInitSpec(this,_redraw);_classPrivateMethodInitSpec(this,_stopDrawing);_classPrivateMethodInitSpec(this,_draw);_classPrivateMethodInitSpec(this,_startDrawing);_classPrivateMethodInitSpec(this,_setStroke);_classPrivateMethodInitSpec(this,_getInitialBBox);_classPrivateMethodInitSpec(this,_updateOpacity);_classPrivateMethodInitSpec(this,_updateColor);_classPrivateMethodInitSpec(this,_updateThickness);_classPrivateFieldInitSpec(this,_aspectRatio,{writable:true,value:0});_classPrivateFieldInitSpec(this,_baseHeight,{writable:true,value:0});_classPrivateFieldInitSpec(this,_baseWidth,{writable:true,value:0});_classPrivateFieldInitSpec(this,_boundCanvasPointermove,{writable:true,value:this.canvasPointermove.bind(this)});_classPrivateFieldInitSpec(this,_boundCanvasPointerleave,{writable:true,value:this.canvasPointerleave.bind(this)});_classPrivateFieldInitSpec(this,_boundCanvasPointerup,{writable:true,value:this.canvasPointerup.bind(this)});_classPrivateFieldInitSpec(this,_boundCanvasPointerdown,{writable:true,value:this.canvasPointerdown.bind(this)});_classPrivateFieldInitSpec(this,_disableEditing,{writable:true,value:false});_classPrivateFieldInitSpec(this,_isCanvasInitialized,{writable:true,value:false});_classPrivateFieldInitSpec(this,_lastPoint,{writable:true,value:null});_classPrivateFieldInitSpec(this,_observer,{writable:true,value:null});_classPrivateFieldInitSpec(this,_realWidth,{writable:true,value:0});_classPrivateFieldInitSpec(this,_realHeight,{writable:true,value:0});_classPrivateFieldInitSpec(this,_requestFrameCallback,{writable:true,value:null});this.color=params.color||null;this.thickness=params.thickness||null;this.opacity=params.opacity||null;this.paths=[];this.bezierPath2D=[];this.currentPath=[];this.scaleFactor=1;this.translationX=this.translationY=0;this.x=0;this.y=0;}static initialize(l10n){this._l10nPromise=new Map(["editor_ink_canvas_aria_label","editor_ink2_aria_label"].map(str=>[str,l10n.get(str)]));}static updateDefaultParams(type,value){switch(type){case _util.AnnotationEditorParamsType.INK_THICKNESS:InkEditor._defaultThickness=value;break;case _util.AnnotationEditorParamsType.INK_COLOR:InkEditor._defaultColor=value;break;case _util.AnnotationEditorParamsType.INK_OPACITY:InkEditor._defaultOpacity=value/100;break;}}updateParams(type,value){switch(type){case _util.AnnotationEditorParamsType.INK_THICKNESS:_classPrivateMethodGet(this,_updateThickness,_updateThickness2).call(this,value);break;case _util.AnnotationEditorParamsType.INK_COLOR:_classPrivateMethodGet(this,_updateColor,_updateColor2).call(this,value);break;case _util.AnnotationEditorParamsType.INK_OPACITY:_classPrivateMethodGet(this,_updateOpacity,_updateOpacity2).call(this,value);break;}}static get defaultPropertiesToUpdate(){return[[_util.AnnotationEditorParamsType.INK_THICKNESS,InkEditor._defaultThickness],[_util.AnnotationEditorParamsType.INK_COLOR,InkEditor._defaultColor||_editor.AnnotationEditor._defaultLineColor],[_util.AnnotationEditorParamsType.INK_OPACITY,Math.round(InkEditor._defaultOpacity*100)]];}get propertiesToUpdate(){return[[_util.AnnotationEditorParamsType.INK_THICKNESS,this.thickness||InkEditor._defaultThickness],[_util.AnnotationEditorParamsType.INK_COLOR,this.color||InkEditor._defaultColor||_editor.AnnotationEditor._defaultLineColor],[_util.AnnotationEditorParamsType.INK_OPACITY,Math.round(100*(this.opacity??InkEditor._defaultOpacity))]];}rebuild(){super.rebuild();if(this.div===null){return;}if(!this.canvas){_classPrivateMethodGet(this,_createCanvas,_createCanvas2).call(this);_classPrivateMethodGet(this,_createObserver,_createObserver2).call(this);}if(!this.isAttachedToDOM){this.parent.add(this);_classPrivateMethodGet(this,_setCanvasDims,_setCanvasDims2).call(this);}_classPrivateMethodGet(this,_fitToContent,_fitToContent2).call(this);}remove(){if(this.canvas===null){return;}if(!this.isEmpty()){this.commit();}this.canvas.width=this.canvas.height=0;this.canvas.remove();this.canvas=null;_classPrivateFieldGet(this,_observer).disconnect();_classPrivateFieldSet(this,_observer,null);super.remove();}setParent(parent){if(!this.parent&&parent){this._uiManager.removeShouldRescale(this);}else if(this.parent&&parent===null){this._uiManager.addShouldRescale(this);}super.setParent(parent);}onScaleChanging(){const[parentWidth,parentHeight]=this.parentDimensions;const width=this.width*parentWidth;const height=this.height*parentHeight;this.setDimensions(width,height);}enableEditMode(){if(_classPrivateFieldGet(this,_disableEditing)||this.canvas===null){return;}super.enableEditMode();this.div.draggable=false;this.canvas.addEventListener("pointerdown",_classPrivateFieldGet(this,_boundCanvasPointerdown));this.canvas.addEventListener("pointerup",_classPrivateFieldGet(this,_boundCanvasPointerup));}disableEditMode(){if(!this.isInEditMode()||this.canvas===null){return;}super.disableEditMode();this.div.draggable=!this.isEmpty();this.div.classList.remove("editing");this.canvas.removeEventListener("pointerdown",_classPrivateFieldGet(this,_boundCanvasPointerdown));this.canvas.removeEventListener("pointerup",_classPrivateFieldGet(this,_boundCanvasPointerup));}onceAdded(){this.div.draggable=!this.isEmpty();}isEmpty(){return this.paths.length===0||this.paths.length===1&&this.paths[0].length===0;}commit(){if(_classPrivateFieldGet(this,_disableEditing)){return;}super.commit();this.isEditing=false;this.disableEditMode();this.setInForeground();_classPrivateFieldSet(this,_disableEditing,true);this.div.classList.add("disabled");_classPrivateMethodGet(this,_fitToContent,_fitToContent2).call(this,true);this.parent.addInkEditorIfNeeded(true);this.parent.moveEditorInDOM(this);this.div.focus({preventScroll:true});}focusin(event){super.focusin(event);this.enableEditMode();}canvasPointerdown(event){if(event.button!==0||!this.isInEditMode()||_classPrivateFieldGet(this,_disableEditing)){return;}this.setInForeground();if(event.type!=="mouse"){this.div.focus();}event.stopPropagation();this.canvas.addEventListener("pointerleave",_classPrivateFieldGet(this,_boundCanvasPointerleave));this.canvas.addEventListener("pointermove",_classPrivateFieldGet(this,_boundCanvasPointermove));_classPrivateMethodGet(this,_startDrawing,_startDrawing2).call(this,event.offsetX,event.offsetY);}canvasPointermove(event){event.stopPropagation();_classPrivateMethodGet(this,_draw,_draw2).call(this,event.offsetX,event.offsetY);}canvasPointerup(event){if(event.button!==0){return;}if(this.isInEditMode()&&this.currentPath.length!==0){event.stopPropagation();_classPrivateMethodGet(this,_endDrawing,_endDrawing2).call(this,event);this.setInBackground();}}canvasPointerleave(event){_classPrivateMethodGet(this,_endDrawing,_endDrawing2).call(this,event);this.setInBackground();}render(){if(this.div){return this.div;}let baseX,baseY;if(this.width){baseX=this.x;baseY=this.y;}super.render();InkEditor._l10nPromise.get("editor_ink2_aria_label").then(msg=>{var _this$div;return(_this$div=this.div)===null||_this$div===void 0?void 0:_this$div.setAttribute("aria-label",msg);});const[x,y,w,h]=_classPrivateMethodGet(this,_getInitialBBox,_getInitialBBox2).call(this);this.setAt(x,y,0,0);this.setDims(w,h);_classPrivateMethodGet(this,_createCanvas,_createCanvas2).call(this);if(this.width){const[parentWidth,parentHeight]=this.parentDimensions;this.setAt(baseX*parentWidth,baseY*parentHeight,this.width*parentWidth,this.height*parentHeight);_classPrivateFieldSet(this,_isCanvasInitialized,true);_classPrivateMethodGet(this,_setCanvasDims,_setCanvasDims2).call(this);this.setDims(this.width*parentWidth,this.height*parentHeight);_classPrivateMethodGet(this,_redraw,_redraw2).call(this);_classPrivateMethodGet(this,_setMinDims,_setMinDims2).call(this);this.div.classList.add("disabled");}else{this.div.classList.add("editing");this.enableEditMode();}_classPrivateMethodGet(this,_createObserver,_createObserver2).call(this);return this.div;}setDimensions(width,height){const roundedWidth=Math.round(width);const roundedHeight=Math.round(height);if(_classPrivateFieldGet(this,_realWidth)===roundedWidth&&_classPrivateFieldGet(this,_realHeight)===roundedHeight){return;}_classPrivateFieldSet(this,_realWidth,roundedWidth);_classPrivateFieldSet(this,_realHeight,roundedHeight);this.canvas.style.visibility="hidden";if(_classPrivateFieldGet(this,_aspectRatio)&&Math.abs(_classPrivateFieldGet(this,_aspectRatio)-width/height)>1e-2){height=Math.ceil(width/_classPrivateFieldGet(this,_aspectRatio));this.setDims(width,height);}const[parentWidth,parentHeight]=this.parentDimensions;this.width=width/parentWidth;this.height=height/parentHeight;if(_classPrivateFieldGet(this,_disableEditing)){_classPrivateMethodGet(this,_setScaleFactor,_setScaleFactor2).call(this,width,height);}_classPrivateMethodGet(this,_setCanvasDims,_setCanvasDims2).call(this);_classPrivateMethodGet(this,_redraw,_redraw2).call(this);this.canvas.style.visibility="visible";}static deserialize(data,parent,uiManager){const editor=super.deserialize(data,parent,uiManager);editor.thickness=data.thickness;editor.color=_util.Util.makeHexColor(...data.color);editor.opacity=data.opacity;const[pageWidth,pageHeight]=editor.pageDimensions;const width=editor.width*pageWidth;const height=editor.height*pageHeight;const scaleFactor=editor.parentScale;const padding=data.thickness/2;_classPrivateFieldSet(editor,_aspectRatio,width/height);_classPrivateFieldSet(editor,_disableEditing,true);_classPrivateFieldSet(editor,_realWidth,Math.round(width));_classPrivateFieldSet(editor,_realHeight,Math.round(height));for(const{bezier}of data.paths){const path=[];editor.paths.push(path);let p0=scaleFactor*(bezier[0]-padding);let p1=scaleFactor*(height-bezier[1]-padding);for(let i=2,ii=bezier.length;i<ii;i+=6){const p10=scaleFactor*(bezier[i]-padding);const p11=scaleFactor*(height-bezier[i+1]-padding);const p20=scaleFactor*(bezier[i+2]-padding);const p21=scaleFactor*(height-bezier[i+3]-padding);const p30=scaleFactor*(bezier[i+4]-padding);const p31=scaleFactor*(height-bezier[i+5]-padding);path.push([[p0,p1],[p10,p11],[p20,p21],[p30,p31]]);p0=p30;p1=p31;}const path2D=_classStaticPrivateMethodGet(this,InkEditor,_buildPath2D).call(this,path);editor.bezierPath2D.push(path2D);}const bbox=_classPrivateMethodGet(editor,_getBbox,_getBbox2).call(editor);_classPrivateFieldSet(editor,_baseWidth,Math.max(RESIZER_SIZE,bbox[2]-bbox[0]));_classPrivateFieldSet(editor,_baseHeight,Math.max(RESIZER_SIZE,bbox[3]-bbox[1]));_classPrivateMethodGet(editor,_setScaleFactor,_setScaleFactor2).call(editor,width,height);return editor;}serialize(){if(this.isEmpty()){return null;}const rect=this.getRect(0,0);const height=this.rotation%180===0?rect[3]-rect[1]:rect[2]-rect[0];const color=_editor.AnnotationEditor._colorManager.convert(this.ctx.strokeStyle);return{annotationType:_util.AnnotationEditorType.INK,color,thickness:this.thickness,opacity:this.opacity,paths:_classPrivateMethodGet(this,_serializePaths,_serializePaths2).call(this,this.scaleFactor/this.parentScale,this.translationX,this.translationY,height),pageIndex:this.pageIndex,rect,rotation:this.rotation};}}exports.InkEditor=InkEditor;function _updateThickness2(thickness){const savedThickness=this.thickness;this.addCommands({cmd:()=>{this.thickness=thickness;_classPrivateMethodGet(this,_fitToContent,_fitToContent2).call(this);},undo:()=>{this.thickness=savedThickness;_classPrivateMethodGet(this,_fitToContent,_fitToContent2).call(this);},mustExec:true,type:_util.AnnotationEditorParamsType.INK_THICKNESS,overwriteIfSameType:true,keepUndo:true});}function _updateColor2(color){const savedColor=this.color;this.addCommands({cmd:()=>{this.color=color;_classPrivateMethodGet(this,_redraw,_redraw2).call(this);},undo:()=>{this.color=savedColor;_classPrivateMethodGet(this,_redraw,_redraw2).call(this);},mustExec:true,type:_util.AnnotationEditorParamsType.INK_COLOR,overwriteIfSameType:true,keepUndo:true});}function _updateOpacity2(opacity){opacity/=100;const savedOpacity=this.opacity;this.addCommands({cmd:()=>{this.opacity=opacity;_classPrivateMethodGet(this,_redraw,_redraw2).call(this);},undo:()=>{this.opacity=savedOpacity;_classPrivateMethodGet(this,_redraw,_redraw2).call(this);},mustExec:true,type:_util.AnnotationEditorParamsType.INK_OPACITY,overwriteIfSameType:true,keepUndo:true});}function _getInitialBBox2(){const{parentRotation,parentDimensions:[width,height]}=this;switch(parentRotation){case 90:return[0,height,height,width];case 180:return[width,height,width,height];case 270:return[width,0,height,width];default:return[0,0,width,height];}}function _setStroke2(){const{ctx,color,opacity,thickness,parentScale,scaleFactor}=this;ctx.lineWidth=thickness*parentScale/scaleFactor;ctx.lineCap="round";ctx.lineJoin="round";ctx.miterLimit=10;ctx.strokeStyle=`${color}${(0,_tools.opacityToHex)(opacity)}`;}function _startDrawing2(x,y){this.isEditing=true;if(!_classPrivateFieldGet(this,_isCanvasInitialized)){_classPrivateFieldSet(this,_isCanvasInitialized,true);_classPrivateMethodGet(this,_setCanvasDims,_setCanvasDims2).call(this);this.thickness||(this.thickness=InkEditor._defaultThickness);this.color||(this.color=InkEditor._defaultColor||_editor.AnnotationEditor._defaultLineColor);this.opacity??(this.opacity=InkEditor._defaultOpacity);}this.currentPath.push([x,y]);_classPrivateFieldSet(this,_lastPoint,null);_classPrivateMethodGet(this,_setStroke,_setStroke2).call(this);this.ctx.beginPath();this.ctx.moveTo(x,y);_classPrivateFieldSet(this,_requestFrameCallback,()=>{if(!_classPrivateFieldGet(this,_requestFrameCallback)){return;}if(_classPrivateFieldGet(this,_lastPoint)){if(this.isEmpty()){this.ctx.setTransform(1,0,0,1,0,0);this.ctx.clearRect(0,0,this.canvas.width,this.canvas.height);}else{_classPrivateMethodGet(this,_redraw,_redraw2).call(this);}this.ctx.lineTo(..._classPrivateFieldGet(this,_lastPoint));_classPrivateFieldSet(this,_lastPoint,null);this.ctx.stroke();}window.requestAnimationFrame(_classPrivateFieldGet(this,_requestFrameCallback));});window.requestAnimationFrame(_classPrivateFieldGet(this,_requestFrameCallback));}function _draw2(x,y){const[lastX,lastY]=this.currentPath.at(-1);if(x===lastX&&y===lastY){return;}this.currentPath.push([x,y]);_classPrivateFieldSet(this,_lastPoint,[x,y]);}function _stopDrawing2(x,y){this.ctx.closePath();_classPrivateFieldSet(this,_requestFrameCallback,null);x=Math.min(Math.max(x,0),this.canvas.width);y=Math.min(Math.max(y,0),this.canvas.height);const[lastX,lastY]=this.currentPath.at(-1);if(x!==lastX||y!==lastY){this.currentPath.push([x,y]);}let bezier;if(this.currentPath.length!==1){bezier=(0,_pdfjsFitCurve.fitCurve)(this.currentPath,30,null);}else{const xy=[x,y];bezier=[[xy,xy.slice(),xy.slice(),xy]];}const path2D=_classStaticPrivateMethodGet(InkEditor,InkEditor,_buildPath2D).call(InkEditor,bezier);this.currentPath.length=0;const cmd=()=>{this.paths.push(bezier);this.bezierPath2D.push(path2D);this.rebuild();};const undo=()=>{this.paths.pop();this.bezierPath2D.pop();if(this.paths.length===0){this.remove();}else{if(!this.canvas){_classPrivateMethodGet(this,_createCanvas,_createCanvas2).call(this);_classPrivateMethodGet(this,_createObserver,_createObserver2).call(this);}_classPrivateMethodGet(this,_fitToContent,_fitToContent2).call(this);}};this.addCommands({cmd,undo,mustExec:true});}function _redraw2(){if(this.isEmpty()){_classPrivateMethodGet(this,_updateTransform,_updateTransform2).call(this);return;}_classPrivateMethodGet(this,_setStroke,_setStroke2).call(this);const{canvas,ctx}=this;ctx.setTransform(1,0,0,1,0,0);ctx.clearRect(0,0,canvas.width,canvas.height);_classPrivateMethodGet(this,_updateTransform,_updateTransform2).call(this);for(const path of this.bezierPath2D){ctx.stroke(path);}}function _endDrawing2(event){_classPrivateMethodGet(this,_stopDrawing,_stopDrawing2).call(this,event.offsetX,event.offsetY);this.canvas.removeEventListener("pointerleave",_classPrivateFieldGet(this,_boundCanvasPointerleave));this.canvas.removeEventListener("pointermove",_classPrivateFieldGet(this,_boundCanvasPointermove));this.addToAnnotationStorage();}function _createCanvas2(){this.canvas=document.createElement("canvas");this.canvas.width=this.canvas.height=0;this.canvas.className="inkEditorCanvas";InkEditor._l10nPromise.get("editor_ink_canvas_aria_label").then(msg=>{var _this$canvas;return(_this$canvas=this.canvas)===null||_this$canvas===void 0?void 0:_this$canvas.setAttribute("aria-label",msg);});this.div.append(this.canvas);const options=window.pdfDefaultOptions.activateWillReadFrequentlyFlag?{willReadFrequently:true}:undefined;this.ctx=this.canvas.getContext("2d",options);}function _createObserver2(){let timeoutId=null;_classPrivateFieldSet(this,_observer,new ResizeObserver(entries=>{const rect=entries[0].contentRect;if(rect.width&&rect.height){if(timeoutId!==null){clearTimeout(timeoutId);}timeoutId=setTimeout(()=>{this.fixDims();timeoutId=null;},TIME_TO_WAIT_BEFORE_FIXING_DIMS);this.setDimensions(rect.width,rect.height);}}));_classPrivateFieldGet(this,_observer).observe(this.div);}function _setCanvasDims2(){if(!_classPrivateFieldGet(this,_isCanvasInitialized)){return;}const[parentWidth,parentHeight]=this.parentDimensions;this.canvas.width=Math.ceil(this.width*parentWidth);this.canvas.height=Math.ceil(this.height*parentHeight);_classPrivateMethodGet(this,_updateTransform,_updateTransform2).call(this);}function _setScaleFactor2(width,height){const padding=_classPrivateMethodGet(this,_getPadding,_getPadding2).call(this);const scaleFactorW=(width-padding)/_classPrivateFieldGet(this,_baseWidth);const scaleFactorH=(height-padding)/_classPrivateFieldGet(this,_baseHeight);this.scaleFactor=Math.min(scaleFactorW,scaleFactorH);}function _updateTransform2(){const padding=_classPrivateMethodGet(this,_getPadding,_getPadding2).call(this)/2;this.ctx.setTransform(this.scaleFactor,0,0,this.scaleFactor,this.translationX*this.scaleFactor+padding,this.translationY*this.scaleFactor+padding);}function _buildPath2D(bezier){const path2D=new Path2D();for(let i=0,ii=bezier.length;i<ii;i++){const[first,control1,control2,second]=bezier[i];if(i===0){path2D.moveTo(...first);}path2D.bezierCurveTo(control1[0],control1[1],control2[0],control2[1],second[0],second[1]);}return path2D;}function _serializePaths2(s,tx,ty,h){const NUMBER_OF_POINTS_ON_BEZIER_CURVE=4;const paths=[];const padding=this.thickness/2;let buffer,points;for(const bezier of this.paths){buffer=[];points=[];for(let i=0,ii=bezier.length;i<ii;i++){const[first,control1,control2,second]=bezier[i];const p10=s*(first[0]+tx)+padding;const p11=h-s*(first[1]+ty)-padding;const p20=s*(control1[0]+tx)+padding;const p21=h-s*(control1[1]+ty)-padding;const p30=s*(control2[0]+tx)+padding;const p31=h-s*(control2[1]+ty)-padding;const p40=s*(second[0]+tx)+padding;const p41=h-s*(second[1]+ty)-padding;if(i===0){buffer.push(p10,p11);points.push(p10,p11);}buffer.push(p20,p21,p30,p31,p40,p41);_classPrivateMethodGet(this,_extractPointsOnBezier,_extractPointsOnBezier2).call(this,p10,p11,p20,p21,p30,p31,p40,p41,NUMBER_OF_POINTS_ON_BEZIER_CURVE,points);}paths.push({bezier:buffer,points});}return paths;}function _extractPointsOnBezier2(p10,p11,p20,p21,p30,p31,p40,p41,n,points){if(_classPrivateMethodGet(this,_isAlmostFlat,_isAlmostFlat2).call(this,p10,p11,p20,p21,p30,p31,p40,p41)){points.push(p40,p41);return;}for(let i=1;i<n-1;i++){const t=i/n;const mt=1-t;let q10=t*p10+mt*p20;let q11=t*p11+mt*p21;let q20=t*p20+mt*p30;let q21=t*p21+mt*p31;const q30=t*p30+mt*p40;const q31=t*p31+mt*p41;q10=t*q10+mt*q20;q11=t*q11+mt*q21;q20=t*q20+mt*q30;q21=t*q21+mt*q31;q10=t*q10+mt*q20;q11=t*q11+mt*q21;points.push(q10,q11);}points.push(p40,p41);}function _isAlmostFlat2(p10,p11,p20,p21,p30,p31,p40,p41){const tol=10;const ax=(3*p20-2*p10-p40)**2;const ay=(3*p21-2*p11-p41)**2;const bx=(3*p30-p10-2*p40)**2;const by=(3*p31-p11-2*p41)**2;return Math.max(ax,bx)+Math.max(ay,by)<=tol;}function _getBbox2(){let xMin=Infinity;let xMax=-Infinity;let yMin=Infinity;let yMax=-Infinity;for(const path of this.paths){for(const[first,control1,control2,second]of path){const bbox=_util.Util.bezierBoundingBox(...first,...control1,...control2,...second);xMin=Math.min(xMin,bbox[0]);yMin=Math.min(yMin,bbox[1]);xMax=Math.max(xMax,bbox[2]);yMax=Math.max(yMax,bbox[3]);}}return[xMin,yMin,xMax,yMax];}function _getPadding2(){return _classPrivateFieldGet(this,_disableEditing)?Math.ceil(this.thickness*this.parentScale):0;}function _fitToContent2(){let firstTime=arguments.length>0&&arguments[0]!==undefined?arguments[0]:false;if(this.isEmpty()){return;}if(!_classPrivateFieldGet(this,_disableEditing)){_classPrivateMethodGet(this,_redraw,_redraw2).call(this);return;}const bbox=_classPrivateMethodGet(this,_getBbox,_getBbox2).call(this);const padding=_classPrivateMethodGet(this,_getPadding,_getPadding2).call(this);_classPrivateFieldSet(this,_baseWidth,Math.max(RESIZER_SIZE,bbox[2]-bbox[0]));_classPrivateFieldSet(this,_baseHeight,Math.max(RESIZER_SIZE,bbox[3]-bbox[1]));const width=Math.ceil(padding+_classPrivateFieldGet(this,_baseWidth)*this.scaleFactor);const height=Math.ceil(padding+_classPrivateFieldGet(this,_baseHeight)*this.scaleFactor);const[parentWidth,parentHeight]=this.parentDimensions;this.width=width/parentWidth;this.height=height/parentHeight;_classPrivateFieldSet(this,_aspectRatio,width/height);_classPrivateMethodGet(this,_setMinDims,_setMinDims2).call(this);const prevTranslationX=this.translationX;const prevTranslationY=this.translationY;this.translationX=-bbox[0];this.translationY=-bbox[1];_classPrivateMethodGet(this,_setCanvasDims,_setCanvasDims2).call(this);_classPrivateMethodGet(this,_redraw,_redraw2).call(this);_classPrivateFieldSet(this,_realWidth,width);_classPrivateFieldSet(this,_realHeight,height);this.setDims(width,height);const unscaledPadding=firstTime?padding/this.scaleFactor/2:0;this.translate(prevTranslationX-this.translationX-unscaledPadding,prevTranslationY-this.translationY-unscaledPadding);}function _setMinDims2(){const{style}=this.div;if(_classPrivateFieldGet(this,_aspectRatio)>=1){style.minHeight=`${RESIZER_SIZE}px`;style.minWidth=`${Math.round(_classPrivateFieldGet(this,_aspectRatio)*RESIZER_SIZE)}px`;}else{style.minWidth=`${RESIZER_SIZE}px`;style.minHeight=`${Math.round(RESIZER_SIZE/_classPrivateFieldGet(this,_aspectRatio))}px`;}}_defineProperty(InkEditor,"_defaultColor",null);_defineProperty(InkEditor,"_defaultOpacity",1);_defineProperty(InkEditor,"_defaultThickness",1);_defineProperty(InkEditor,"_l10nPromise",void 0);_defineProperty(InkEditor,"_type","ink");
3579
3579
 
3580
3580
  /***/ }),
3581
3581
  /* 162 */