From 3c3bbe46aca259ac8067a4324ef1919c79482397 Mon Sep 17 00:00:00 2001 From: Benjamin Daubry Date: Thu, 2 May 2024 14:58:14 +0200 Subject: [PATCH] Include DRF into package --- README.md | 1 - .../static/osis_document/osis-document-editor.umd.min.js | 4 ++-- .../static/osis_document/osis-document-editor.umd.min.js.map | 2 +- setup.py | 5 +++-- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index 33471d4..5a44748 100644 --- a/README.md +++ b/README.md @@ -7,7 +7,6 @@ `OSIS Document` requires - Django 3.2+ -- Django REST Framework 3.12+ - Requests 2+ diff --git a/osis_document/static/osis_document/osis-document-editor.umd.min.js b/osis_document/static/osis_document/osis-document-editor.umd.min.js index 96505a4..4f6be5a 100644 --- a/osis_document/static/osis_document/osis-document-editor.umd.min.js +++ b/osis_document/static/osis_document/osis-document-editor.umd.min.js @@ -1,9 +1,9 @@ -(function(x,o){typeof exports=="object"&&typeof module<"u"?o(require("@vue/runtime-dom"),require("vue-i18n"),require("vue")):typeof define=="function"&&define.amd?define(["@vue/runtime-dom","vue-i18n","vue"],o):(x=typeof globalThis<"u"?globalThis:x||self,o(x.Vue,x.VueI18n,x.Vue))})(this,function(runtimeDom,vueI18n,vue){"use strict";var un=Object.defineProperty;var dn=(x,o,X)=>o in x?un(x,o,{enumerable:!0,configurable:!0,writable:!0,value:X}):x[o]=X;var je=(x,o,X)=>(dn(x,typeof o!="symbol"?o+"":o,X),X),Tt=(x,o,X)=>{if(!o.has(x))throw TypeError("Cannot "+X)};var c=(x,o,X)=>(Tt(x,o,"read from private field"),X?X.call(x):o.get(x)),$=(x,o,X)=>{if(o.has(x))throw TypeError("Cannot add the same private member more than once");o instanceof WeakSet?o.add(x):o.set(x,X)},_e=(x,o,X,P)=>(Tt(x,o,"write to private field"),P?P.call(x,X):o.set(x,X),X),lt=(x,o,X,P)=>({set _(O){_e(x,o,O,X)},get _(){return c(x,o,P)}}),Z=(x,o,X)=>(Tt(x,o,"access private method"),X);const resource$1={uploader:{specific_nb_drag_n_drop_label:x=>{const{normalize:o,interpolate:X,named:P,plural:O}=x;return O([o(["Glissez-déposez ici un fichier"]),o(["Glissez-déposez ici ",X(P("count"))," fichiers"])])},min_max_drag_n_drop_label:x=>{const{normalize:o,interpolate:X,named:P}=x;return o(["Glissez-déposez ici entre ",X(P("min"))," et ",X(P("max"))," fichiers"])},min_drag_n_drop_label:x=>{const{normalize:o,interpolate:X,named:P,plural:O}=x;return O([o(["Glissez-déposez ici au-moins un fichier"]),o(["Glissez-déposez ici au-moins ",X(P("count"))," fichiers"])])},max_drag_n_drop_label:x=>{const{normalize:o,interpolate:X,named:P,plural:O}=x;return O([o(["Glissez-déposez ici votre fichier"]),o(["Glissez-déposez ici vos fichiers (maximum ",X(P("count")),")"])])},drag_n_drop_label:x=>{const{normalize:o}=x;return o(["Glissez-déposez ici vos fichiers"])},add_file_label:x=>{const{normalize:o}=x;return o(["ou cliquez-ici"])},max_size_label:x=>{const{normalize:o,interpolate:X,named:P}=x;return o(["(taille maximum ",X(P("size")),")"])},trigger_upload:x=>{const{normalize:o}=x;return o(["Transférer"])}},upload_entry:{completion:x=>{const{normalize:o,interpolate:X,named:P}=x;return o([X(P("progress")),"% transférés"])},too_large:x=>{const{normalize:o}=x;return o(["Le fichier est trop lourd"])},wrong_type:x=>{const{normalize:o,interpolate:X,named:P,plural:O}=x;return O([o(['Le fichier doit être du type "',X(P("types")),'"']),o([`Le fichier doit être d'un des types suivants : "`,X(P("types")),'"'])])},crop_header:x=>{const{normalize:o}=x;return o(["Veuillez choisir la partie à garder."])},crop:x=>{const{normalize:o}=x;return o(["Recadrer"])},cancel:x=>{const{normalize:o}=x;return o(["Annuler"])}},view_entry:{rotate_left:x=>{const{normalize:o}=x;return o(["Faire pivoter l'image à gauche"])},rotate_right:x=>{const{normalize:o}=x;return o(["Faire pivoter l'image à droite"])},loading:x=>{const{normalize:o}=x;return o(["Chargement..."])},close:x=>{const{normalize:o}=x;return o(["Fermer"])},save:x=>{const{normalize:o}=x;return o(["Enregistrer"])},file_infected:x=>{const{normalize:o}=x;return o(["Le fichier référencé semble infecté par un virus"])}},editor:{pagination:x=>{const{normalize:o,interpolate:X,named:P}=x;return o([X(P("currentPage"))," de ",X(P("pages"))])},zoom:{auto:x=>{const{normalize:o}=x;return o(["Zoom automatique"])},"page-width":x=>{const{normalize:o}=x;return o(["Pleine largeur"])},"page-fit":x=>{const{normalize:o}=x;return o(["Page entière"])},"page-actual":x=>{const{normalize:o}=x;return o(["Taille réelle"])}},colors:{warning:x=>{const{normalize:o}=x;return o(["Jaune"])},danger:x=>{const{normalize:o}=x;return o(["Rouge"])},info:x=>{const{normalize:o}=x;return o(["Bleu"])},success:x=>{const{normalize:o}=x;return o(["Vert"])},muted:x=>{const{normalize:o}=x;return o(["Blanc"])}}},error:x=>{const{normalize:o,interpolate:X,named:P}=x;return o(["Erreur : ",X(P("error"))])},request_error:x=>{const{normalize:o,interpolate:X,named:P}=x;return o(["Erreur lors de la requête : ",X(P("error"))])},units:[x=>{const{normalize:o}=x;return o(["o"])},x=>{const{normalize:o}=x;return o(["Ko"])},x=>{const{normalize:o}=x;return o(["Mo"])},x=>{const{normalize:o}=x;return o(["Go"])},x=>{const{normalize:o}=x;return o(["To"])}]},resource={uploader:{specific_nb_drag_n_drop_label:x=>{const{normalize:o,interpolate:X,named:P,plural:O}=x;return O([o(["Drag and drop one file here"]),o(["Drag and drop ",X(P("count"))," files here"])])},min_max_drag_n_drop_label:x=>{const{normalize:o,interpolate:X,named:P}=x;return o(["Drag and drop between ",X(P("min"))," and ",X(P("max"))," files here"])},min_drag_n_drop_label:x=>{const{normalize:o,interpolate:X,named:P,plural:O}=x;return O([o(["Drag and drop at least one file here"]),o(["Drag and drop at least ",X(P("count"))," files here"])])},max_drag_n_drop_label:x=>{const{normalize:o,interpolate:X,named:P,plural:O}=x;return O([o(["Drag and drop your file here"]),o(["Drag and drop your files here (maximum ",X(P("count")),")"])])},drag_n_drop_label:x=>{const{normalize:o}=x;return o(["Drag and drop your files here"])},add_file_label:x=>{const{normalize:o}=x;return o(["or click here"])},max_size_label:x=>{const{normalize:o,interpolate:X,named:P}=x;return o(["(max size ",X(P("size")),")"])},trigger_upload:x=>{const{normalize:o}=x;return o(["Upload"])}},upload_entry:{completion:x=>{const{normalize:o,interpolate:X,named:P}=x;return o([X(P("progress")),"% uploaded"])},too_large:x=>{const{normalize:o}=x;return o(["File is too large"])},wrong_type:x=>{const{normalize:o,interpolate:X,named:P,plural:O}=x;return O([o(['The file must have the following type: "',X(P("types")),'"']),o(['The file must have one of the following types: "',X(P("types")),'"'])])},crop_header:x=>{const{normalize:o}=x;return o(["Please choose the part you want to keep."])},crop:x=>{const{normalize:o}=x;return o(["Crop"])},cancel:x=>{const{normalize:o}=x;return o(["Cancel"])}},view_entry:{rotate_left:x=>{const{normalize:o}=x;return o(["Rotate image left"])},rotate_right:x=>{const{normalize:o}=x;return o(["Rotate image right"])},loading:x=>{const{normalize:o}=x;return o(["Loading..."])},close:x=>{const{normalize:o}=x;return o(["Close"])},save:x=>{const{normalize:o}=x;return o(["Save"])},file_infected:x=>{const{normalize:o}=x;return o(["The referenced file appears to be infected with a virus"])}},editor:{pagination:x=>{const{normalize:o,interpolate:X,named:P}=x;return o([X(P("currentPage"))," of ",X(P("pages"))])},zoom:{auto:x=>{const{normalize:o}=x;return o(["Automatic Zoom"])},"page-width":x=>{const{normalize:o}=x;return o(["Page Width"])},"page-fit":x=>{const{normalize:o}=x;return o(["Page Fit"])},"page-actual":x=>{const{normalize:o}=x;return o(["Actual Size"])}},colors:{warning:x=>{const{normalize:o}=x;return o(["Yellow"])},danger:x=>{const{normalize:o}=x;return o(["Red"])},info:x=>{const{normalize:o}=x;return o(["Blue"])},success:x=>{const{normalize:o}=x;return o(["Green"])},muted:x=>{const{normalize:o}=x;return o(["White"])}}},error:x=>{const{normalize:o,interpolate:X,named:P}=x;return o(["Error: ",X(P("error"))])},request_error:x=>{const{normalize:o,interpolate:X,named:P}=x;return o(["Request error: ",X(P("error"))])},units:[x=>{const{normalize:o}=x;return o(["B"])},x=>{const{normalize:o}=x;return o(["KB"])},x=>{const{normalize:o}=x;return o(["MB"])},x=>{const{normalize:o}=x;return o(["GB"])},x=>{const{normalize:o}=x;return o(["TB"])}]},i18n=vueI18n.createI18n({locale:document.documentElement.lang||"en",allowComposition:!0,messages:{en:resource,fr:resource$1}}),_hoisted_1$4={class:"btn-group dropup annotation-dropdown"},_hoisted_2$4=vue.createElementVNode("button",{type:"button",class:"btn btn-default dropdown-toggle","data-toggle":"dropdown"},[vue.createElementVNode("span",{class:"caret"})],-1),_hoisted_3$4={class:"dropdown-menu"},_hoisted_4$4=["onClick"],_sfc_main$4=vue.defineComponent({__name:"ToolbarAnnotation",props:{isActivated:{type:Boolean},color:null,classPrefix:null,icon:null,colors:null},emits:["onChange"],setup(x){return(o,X)=>(vue.openBlock(),vue.createElementBlock("div",_hoisted_1$4,[vue.createElementVNode("button",{class:vue.normalizeClass(["btn",x.isActivated?"btn-primary":"btn-default"]),type:"button",onClick:X[0]||(X[0]=P=>o.$emit("onChange",x.isActivated?"":x.color||Object.values(x.colors)[0]))},[vue.createElementVNode("span",{class:vue.normalizeClass(["fas",x.icon])},null,2)],2),_hoisted_2$4,vue.createElementVNode("ul",_hoisted_3$4,[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(x.colors,(P,O)=>(vue.openBlock(),vue.createElementBlock("li",{key:O,class:vue.normalizeClass(`${x.classPrefix}-${O}`)},[vue.createElementVNode("a",{href:"#",class:vue.normalizeClass(`${x.classPrefix}-${O}`),onClick:vue.withModifiers(pe=>o.$emit("onChange",P),["prevent"])},vue.toDisplayString(o.$t(`editor.colors.${O}`)),11,_hoisted_4$4)],2))),128))])]))}}),ToolbarAnnotation_vue_vue_type_style_index_0_lang="",_hoisted_1$3={class:"btn-group"},_hoisted_2$3=vue.createElementVNode("span",{class:"fas fa-magnifying-glass-minus"},null,-1),_hoisted_3$3=[_hoisted_2$3],_hoisted_4$3={class:"btn-group dropup",role:"group"},_hoisted_5$3={type:"button",class:"btn btn-default dropdown-toggle","data-toggle":"dropdown","aria-haspopup":"true","aria-expanded":"false"},_hoisted_6$2=vue.createElementVNode("span",{class:"caret"},null,-1),_hoisted_7={class:"dropdown-menu"},_hoisted_8=["value"],_hoisted_9=["onClick"],_hoisted_10=vue.createElementVNode("span",{class:"fas fa-magnifying-glass-plus"},null,-1),_hoisted_11=[_hoisted_10],_sfc_main$3=vue.defineComponent({__name:"ToolbarZoom",props:{currentZoom:null},emits:["onZoomIn","onZoomOut","onSetScale"],setup(x){const{t:o}=vueI18n.useI18n(),X=["auto","page-actual","page-fit","page-width","0.5","0.75","1","1.25","1.5","2","3","4"];function P(O){return isNaN(parseFloat(O))?o(`editor.zoom.${O}`):`${Math.ceil(parseFloat(O)*100)}%`}return(O,pe)=>(vue.openBlock(),vue.createElementBlock("div",_hoisted_1$3,[vue.createElementVNode("button",{class:"btn btn-default",type:"button",onClick:pe[0]||(pe[0]=G=>O.$emit("onZoomOut"))},_hoisted_3$3),vue.createElementVNode("div",_hoisted_4$3,[vue.createElementVNode("button",_hoisted_5$3,[vue.createTextVNode(vue.toDisplayString(P(x.currentZoom))+" ",1),_hoisted_6$2]),vue.createElementVNode("ul",_hoisted_7,[(vue.openBlock(),vue.createElementBlock(vue.Fragment,null,vue.renderList(X,G=>vue.createElementVNode("li",{key:G,value:G,class:vue.normalizeClass(x.currentZoom==G?"active":"")},[vue.createElementVNode("a",{href:"#",onClick:vue.withModifiers(D=>O.$emit("onSetScale",G),["prevent"])},vue.toDisplayString(P(G)),9,_hoisted_9)],10,_hoisted_8)),64))])]),vue.createElementVNode("button",{class:"btn btn-default",type:"button",onClick:pe[1]||(pe[1]=G=>O.$emit("onZoomIn"))},_hoisted_11)]))}}),_hoisted_1$2={class:"btn-group"},_hoisted_2$2=vue.createElementVNode("span",{class:"fas fa-rotate-left"},null,-1),_hoisted_3$2=[_hoisted_2$2],_hoisted_4$2=vue.createElementVNode("span",{class:"fas fa-rotate-right"},null,-1),_hoisted_5$2=[_hoisted_4$2],_sfc_main$2=vue.defineComponent({__name:"ToolbarRotation",props:{currentRotation:null},emits:["onRotate"],setup(x){return(o,X)=>(vue.openBlock(),vue.createElementBlock("div",_hoisted_1$2,[vue.createElementVNode("button",{type:"button",class:"btn btn-default",onClick:X[0]||(X[0]=P=>o.$emit("onRotate",((x.currentRotation-90)%360+360)%360))},_hoisted_3$2),vue.createElementVNode("button",{type:"button",class:"btn btn-default",onClick:X[1]||(X[1]=P=>o.$emit("onRotate",((x.currentRotation+90)%360+360)%360))},_hoisted_5$2)]))}}),_hoisted_1$1={class:"btn-group"},_hoisted_2$1=vue.createElementVNode("span",{class:"fas fa-angle-up"},null,-1),_hoisted_3$1=[_hoisted_2$1],_hoisted_4$1={class:"btn btn-default disabled",role:"button"},_hoisted_5$1=vue.createElementVNode("span",{class:"fas fa-angle-down"},null,-1),_hoisted_6$1=[_hoisted_5$1],_sfc_main$1=vue.defineComponent({__name:"ToolbarPagination",props:{currentPage:null,pages:null},emits:["onChangeCurrentPage"],setup(x){return(o,X)=>(vue.openBlock(),vue.createElementBlock("div",_hoisted_1$1,[vue.createElementVNode("button",{class:vue.normalizeClass(["btn btn-default",{disabled:x.currentPage==1}]),type:"button",onClick:X[0]||(X[0]=P=>x.currentPage!=1&&o.$emit("onChangeCurrentPage",x.currentPage-1))},_hoisted_3$1,2),vue.createElementVNode("a",_hoisted_4$1,vue.toDisplayString(o.$t("editor.pagination",{currentPage:x.currentPage,pages:x.pages})),1),vue.createElementVNode("button",{class:vue.normalizeClass(["btn btn-default",{disabled:x.currentPage==x.pages}]),type:"button",onClick:X[1]||(X[1]=P=>x.currentPage!=x.pages&&o.$emit("onChangeCurrentPage",x.currentPage+1))},_hoisted_6$1,2)]))}});async function doRequest(x,o){const X=await fetch(x,{headers:{"Content-Type":"application/json"},...o});if(X.status>=200&&X.status<300)return X.json();throw new Error(X.statusText)}function getAugmentedNamespace(x){if(x.__esModule)return x;var o=x.default;if(typeof o=="function"){var X=function P(){if(this instanceof P){var O=[null];O.push.apply(O,arguments);var pe=Function.bind.apply(o,O);return new pe}return o.apply(this,arguments)};X.prototype=o.prototype}else X={};return Object.defineProperty(X,"__esModule",{value:!0}),Object.keys(x).forEach(function(P){var O=Object.getOwnPropertyDescriptor(x,P);Object.defineProperty(X,P,O.get?O:{enumerable:!0,get:function(){return x[P]}})}),X}function commonjsRequire(x){throw new Error('Could not dynamically require "'+x+'". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.')}var pdfExports$1={},pdf={get exports(){return pdfExports$1},set exports(x){pdfExports$1=x}};const __viteBrowserExternal={},__viteBrowserExternal$1=Object.freeze(Object.defineProperty({__proto__:null,default:__viteBrowserExternal},Symbol.toStringTag,{value:"Module"})),require$$5=getAugmentedNamespace(__viteBrowserExternal$1);var hasRequiredPdf;function requirePdf(){return hasRequiredPdf||(hasRequiredPdf=1,function(module,exports){(function(o,X){module.exports=X()})(globalThis,()=>(()=>{var __webpack_modules__=[,(x,o)=>{var Oe;Object.defineProperty(o,"__esModule",{value:!0}),o.VerbosityLevel=o.Util=o.UnknownErrorException=o.UnexpectedResponseException=o.TextRenderingMode=o.RenderingIntentFlag=o.PromiseCapability=o.PermissionFlag=o.PasswordResponses=o.PasswordException=o.PageActionEventType=o.OPS=o.MissingPDFException=o.MAX_IMAGE_SIZE_TO_CACHE=o.LINE_FACTOR=o.LINE_DESCENT_FACTOR=o.InvalidPDFException=o.ImageKind=o.IDENTITY_MATRIX=o.FormatError=o.FeatureTest=o.FONT_IDENTITY_MATRIX=o.DocumentActionEventType=o.CMapCompressionType=o.BaseException=o.BASELINE_FACTOR=o.AnnotationType=o.AnnotationStateModelType=o.AnnotationReviewState=o.AnnotationReplyType=o.AnnotationMode=o.AnnotationMarkedState=o.AnnotationFlag=o.AnnotationFieldFlag=o.AnnotationEditorType=o.AnnotationEditorPrefix=o.AnnotationEditorParamsType=o.AnnotationBorderStyleType=o.AnnotationActionEventType=o.AbortException=void 0,o.assert=Q,o.bytesToString=z,o.createValidAbsoluteUrl=Ee,o.getModificationDate=Pe,o.getVerbosityLevel=ae,o.info=te,o.isArrayBuffer=ve,o.isArrayEqual=xe,o.normalizeUnicode=Me,o.objectFromMap=R,o.objectSize=S,o.setVerbosityLevel=ee,o.shadow=J,o.string32=u,o.stringToBytes=i,o.stringToPDFString=ne,o.stringToUTF8String=ue,o.unreachable=ye,o.utf8StringToString=be,o.warn=ge;const X=[1,0,0,1,0,0];o.IDENTITY_MATRIX=X;const P=[.001,0,0,.001,0,0];o.FONT_IDENTITY_MATRIX=P;const O=1e7;o.MAX_IMAGE_SIZE_TO_CACHE=O;const pe=1.35;o.LINE_FACTOR=pe;const G=.35;o.LINE_DESCENT_FACTOR=G;const D=G/pe;o.BASELINE_FACTOR=D;const N={ANY:1,DISPLAY:2,PRINT:4,SAVE:8,ANNOTATIONS_FORMS:16,ANNOTATIONS_STORAGE:32,ANNOTATIONS_DISABLE:64,OPLIST:256};o.RenderingIntentFlag=N;const b={DISABLE:0,ENABLE:1,ENABLE_FORMS:2,ENABLE_STORAGE:3};o.AnnotationMode=b;const d="pdfjs_internal_editor_";o.AnnotationEditorPrefix=d;const k={DISABLE:-1,NONE:0,FREETEXT:3,INK:15};o.AnnotationEditorType=k;const w={FREETEXT_SIZE:1,FREETEXT_COLOR:2,FREETEXT_OPACITY:3,INK_COLOR:11,INK_THICKNESS:12,INK_OPACITY:13};o.AnnotationEditorParamsType=w;const y={PRINT:4,MODIFY_CONTENTS:8,COPY:16,MODIFY_ANNOTATIONS:32,FILL_INTERACTIVE_FORMS:256,COPY_FOR_ACCESSIBILITY:512,ASSEMBLE:1024,PRINT_HIGH_QUALITY:2048};o.PermissionFlag=y;const r={FILL:0,STROKE:1,FILL_STROKE:2,INVISIBLE:3,FILL_ADD_TO_PATH:4,STROKE_ADD_TO_PATH:5,FILL_STROKE_ADD_TO_PATH:6,ADD_TO_PATH:7,FILL_STROKE_MASK:3,ADD_TO_PATH_FLAG:4};o.TextRenderingMode=r;const h={GRAYSCALE_1BPP:1,RGB_24BPP:2,RGBA_32BPP:3};o.ImageKind=h;const a={TEXT:1,LINK:2,FREETEXT:3,LINE:4,SQUARE:5,CIRCLE:6,POLYGON:7,POLYLINE:8,HIGHLIGHT:9,UNDERLINE:10,SQUIGGLY:11,STRIKEOUT:12,STAMP:13,CARET:14,INK:15,POPUP:16,FILEATTACHMENT:17,SOUND:18,MOVIE:19,WIDGET:20,SCREEN:21,PRINTERMARK:22,TRAPNET:23,WATERMARK:24,THREED:25,REDACT:26};o.AnnotationType=a;const g={MARKED:"Marked",REVIEW:"Review"};o.AnnotationStateModelType=g;const _={MARKED:"Marked",UNMARKED:"Unmarked"};o.AnnotationMarkedState=_;const v={ACCEPTED:"Accepted",REJECTED:"Rejected",CANCELLED:"Cancelled",COMPLETED:"Completed",NONE:"None"};o.AnnotationReviewState=v;const p={GROUP:"Group",REPLY:"R"};o.AnnotationReplyType=p;const t={INVISIBLE:1,HIDDEN:2,PRINT:4,NOZOOM:8,NOROTATE:16,NOVIEW:32,READONLY:64,LOCKED:128,TOGGLENOVIEW:256,LOCKEDCONTENTS:512};o.AnnotationFlag=t;const e={READONLY:1,REQUIRED:2,NOEXPORT:4,MULTILINE:4096,PASSWORD:8192,NOTOGGLETOOFF:16384,RADIO:32768,PUSHBUTTON:65536,COMBO:131072,EDIT:262144,SORT:524288,FILESELECT:1048576,MULTISELECT:2097152,DONOTSPELLCHECK:4194304,DONOTSCROLL:8388608,COMB:16777216,RICHTEXT:33554432,RADIOSINUNISON:33554432,COMMITONSELCHANGE:67108864};o.AnnotationFieldFlag=e;const s={SOLID:1,DASHED:2,BEVELED:3,INSET:4,UNDERLINE:5};o.AnnotationBorderStyleType=s;const n={E:"Mouse Enter",X:"Mouse Exit",D:"Mouse Down",U:"Mouse Up",Fo:"Focus",Bl:"Blur",PO:"PageOpen",PC:"PageClose",PV:"PageVisible",PI:"PageInvisible",K:"Keystroke",F:"Format",V:"Validate",C:"Calculate"};o.AnnotationActionEventType=n;const f={WC:"WillClose",WS:"WillSave",DS:"DidSave",WP:"WillPrint",DP:"DidPrint"};o.DocumentActionEventType=f;const T={O:"PageOpen",C:"PageClose"};o.PageActionEventType=T;const l={ERRORS:0,WARNINGS:1,INFOS:5};o.VerbosityLevel=l;const I={NONE:0,BINARY:1};o.CMapCompressionType=I;const K={dependency:1,setLineWidth:2,setLineCap:3,setLineJoin:4,setMiterLimit:5,setDash:6,setRenderingIntent:7,setFlatness:8,setGState:9,save:10,restore:11,transform:12,moveTo:13,lineTo:14,curveTo:15,curveTo2:16,curveTo3:17,closePath:18,rectangle:19,stroke:20,closeStroke:21,fill:22,eoFill:23,fillStroke:24,eoFillStroke:25,closeFillStroke:26,closeEOFillStroke:27,endPath:28,clip:29,eoClip:30,beginText:31,endText:32,setCharSpacing:33,setWordSpacing:34,setHScale:35,setLeading:36,setFont:37,setTextRenderingMode:38,setTextRise:39,moveText:40,setLeadingMoveText:41,setTextMatrix:42,nextLine:43,showText:44,showSpacedText:45,nextLineShowText:46,nextLineSetSpacingShowText:47,setCharWidth:48,setCharWidthAndBounds:49,setStrokeColorSpace:50,setFillColorSpace:51,setStrokeColor:52,setStrokeColorN:53,setFillColor:54,setFillColorN:55,setStrokeGray:56,setFillGray:57,setStrokeRGBColor:58,setFillRGBColor:59,setStrokeCMYKColor:60,setFillCMYKColor:61,shadingFill:62,beginInlineImage:63,beginImageData:64,endInlineImage:65,paintXObject:66,markPoint:67,markPointProps:68,beginMarkedContent:69,beginMarkedContentProps:70,endMarkedContent:71,beginCompat:72,endCompat:73,paintFormXObjectBegin:74,paintFormXObjectEnd:75,beginGroup:76,endGroup:77,beginAnnotation:80,endAnnotation:81,paintImageMaskXObject:83,paintImageMaskXObjectGroup:84,paintImageXObject:85,paintInlineImageXObject:86,paintInlineImageXObjectGroup:87,paintImageXObjectRepeat:88,paintImageMaskXObjectRepeat:89,paintSolidColorImageMask:90,constructPath:91};o.OPS=K;const le={NEED_PASSWORD:1,INCORRECT_PASSWORD:2};o.PasswordResponses=le;let H=l.WARNINGS;function ee(E){Number.isInteger(E)&&(H=E)}function ae(){return H}function te(E){H>=l.INFOS&&console.log(`Info: ${E}`)}function ge(E){H>=l.WARNINGS&&console.log(`Warning: ${E}`)}function ye(E){throw new Error(E)}function Q(E,m){E||ye(m)}function Ce(E){switch(E==null?void 0:E.protocol){case"http:":case"https:":case"ftp:":case"mailto:":case"tel:":return!0;default:return!1}}function Ee(E,m=null,M=null){if(!E)return null;try{if(M&&typeof E=="string"){if(M.addDefaultProtocol&&E.startsWith("www.")){const de=E.match(/\./g);(de==null?void 0:de.length)>=2&&(E=`http://${E}`)}if(M.tryConvertEncoding)try{E=ue(E)}catch{}}const ie=m?new URL(E,m):new URL(E);if(Ce(ie))return ie}catch{}return null}function J(E,m,M,ie=!1){return Object.defineProperty(E,m,{value:M,enumerable:!ie,configurable:!0,writable:!1}),M}const A=function(){function m(M,ie){this.constructor===m&&ye("Cannot initialize BaseException."),this.message=M,this.name=ie}return m.prototype=new Error,m.constructor=m,m}();o.BaseException=A;class C extends A{constructor(m,M){super(m,"PasswordException"),this.code=M}}o.PasswordException=C;class F extends A{constructor(m,M){super(m,"UnknownErrorException"),this.details=M}}o.UnknownErrorException=F;class Y extends A{constructor(m){super(m,"InvalidPDFException")}}o.InvalidPDFException=Y;class j extends A{constructor(m){super(m,"MissingPDFException")}}o.MissingPDFException=j;class se extends A{constructor(m,M){super(m,"UnexpectedResponseException"),this.status=M}}o.UnexpectedResponseException=se;class U extends A{constructor(m){super(m,"FormatError")}}o.FormatError=U;class V extends A{constructor(m){super(m,"AbortException")}}o.AbortException=V;function z(E){(typeof E!="object"||(E==null?void 0:E.length)===void 0)&&ye("Invalid argument for bytesToString");const m=E.length,M=8192;if(m>24&255,E>>16&255,E>>8&255,E&255)}function S(E){return Object.keys(E).length}function R(E){const m=Object.create(null);for(const[M,ie]of E)m[M]=ie;return m}function L(){const E=new Uint8Array(4);return E[0]=1,new Uint32Array(E.buffer,0,1)[0]===1}function W(){try{return new Function(""),!0}catch{return!1}}class me{static get isLittleEndian(){return J(this,"isLittleEndian",L())}static get isEvalSupported(){return J(this,"isEvalSupported",W())}static get isOffscreenCanvasSupported(){return J(this,"isOffscreenCanvasSupported",typeof OffscreenCanvas<"u")}static get platform(){return typeof navigator>"u"?J(this,"platform",{isWin:!1,isMac:!1}):J(this,"platform",{isWin:navigator.platform.includes("Win"),isMac:navigator.platform.includes("Mac")})}}o.FeatureTest=me;const B=[...Array(256).keys()].map(E=>E.toString(16).padStart(2,"0"));class q{static makeHexColor(m,M,ie){return`#${B[m]}${B[M]}${B[ie]}`}static scaleMinMax(m,M){let ie;m[0]?(m[0]<0&&(ie=M[0],M[0]=M[1],M[1]=ie),M[0]*=m[0],M[1]*=m[0],m[3]<0&&(ie=M[2],M[2]=M[3],M[3]=ie),M[2]*=m[3],M[3]*=m[3]):(ie=M[0],M[0]=M[2],M[2]=ie,ie=M[1],M[1]=M[3],M[3]=ie,m[1]<0&&(ie=M[2],M[2]=M[3],M[3]=ie),M[2]*=m[1],M[3]*=m[1],m[2]<0&&(ie=M[0],M[0]=M[1],M[1]=ie),M[0]*=m[2],M[1]*=m[2]),M[0]+=m[4],M[1]+=m[4],M[2]+=m[5],M[3]+=m[5]}static transform(m,M){return[m[0]*M[0]+m[2]*M[1],m[1]*M[0]+m[3]*M[1],m[0]*M[2]+m[2]*M[3],m[1]*M[2]+m[3]*M[3],m[0]*M[4]+m[2]*M[5]+m[4],m[1]*M[4]+m[3]*M[5]+m[5]]}static applyTransform(m,M){const ie=m[0]*M[0]+m[1]*M[2]+M[4],de=m[0]*M[1]+m[1]*M[3]+M[5];return[ie,de]}static applyInverseTransform(m,M){const ie=M[0]*M[3]-M[1]*M[2],de=(m[0]*M[3]-m[1]*M[2]+M[2]*M[5]-M[4]*M[3])/ie,re=(-m[0]*M[1]+m[1]*M[0]+M[4]*M[1]-M[5]*M[0])/ie;return[de,re]}static getAxialAlignedBoundingBox(m,M){const ie=q.applyTransform(m,M),de=q.applyTransform(m.slice(2,4),M),re=q.applyTransform([m[0],m[3]],M),he=q.applyTransform([m[2],m[1]],M);return[Math.min(ie[0],de[0],re[0],he[0]),Math.min(ie[1],de[1],re[1],he[1]),Math.max(ie[0],de[0],re[0],he[0]),Math.max(ie[1],de[1],re[1],he[1])]}static inverseTransform(m){const M=m[0]*m[3]-m[1]*m[2];return[m[3]/M,-m[1]/M,-m[2]/M,m[0]/M,(m[2]*m[5]-m[4]*m[3])/M,(m[4]*m[1]-m[5]*m[0])/M]}static singularValueDecompose2dScale(m){const M=[m[0],m[2],m[1],m[3]],ie=m[0]*M[0]+m[1]*M[2],de=m[0]*M[1]+m[1]*M[3],re=m[2]*M[0]+m[3]*M[2],he=m[2]*M[1]+m[3]*M[3],fe=(ie+he)/2,Ae=Math.sqrt((ie+he)**2-4*(ie*he-re*de))/2,Te=fe+Ae||1,Se=fe-Ae||1;return[Math.sqrt(Te),Math.sqrt(Se)]}static normalizeRect(m){const M=m.slice(0);return m[0]>m[2]&&(M[0]=m[2],M[2]=m[0]),m[1]>m[3]&&(M[1]=m[3],M[3]=m[1]),M}static intersect(m,M){const ie=Math.max(Math.min(m[0],m[2]),Math.min(M[0],M[2])),de=Math.min(Math.max(m[0],m[2]),Math.max(M[0],M[2]));if(ie>de)return null;const re=Math.max(Math.min(m[1],m[3]),Math.min(M[1],M[3])),he=Math.min(Math.max(m[1],m[3]),Math.max(M[1],M[3]));return re>he?null:[ie,re,de,he]}static bezierBoundingBox(m,M,ie,de,re,he,fe,Ae){const Te=[],Se=[[],[]];let Fe,Ie,ke,Le,Ne,Ve,De,Ue;for(let Ge=0;Ge<2;++Ge){if(Ge===0?(Ie=6*m-12*ie+6*re,Fe=-3*m+9*ie-9*re+3*fe,ke=3*ie-3*m):(Ie=6*M-12*de+6*he,Fe=-3*M+9*de-9*he+3*Ae,ke=3*de-3*M),Math.abs(Fe)<1e-12){if(Math.abs(Ie)<1e-12)continue;Le=-ke/Ie,0="ï"){let M;if(E[0]==="þ"&&E[1]==="ÿ"?M="utf-16be":E[0]==="ÿ"&&E[1]==="þ"?M="utf-16le":E[0]==="ï"&&E[1]==="»"&&E[2]==="¿"&&(M="utf-8"),M)try{const ie=new TextDecoder(M,{fatal:!0}),de=i(E);return ie.decode(de)}catch(ie){ge(`stringToPDFString: "${ie}".`)}}const m=[];for(let M=0,ie=E.length;M{this.resolve=ie=>{_e(this,Oe,!0),m(ie)},this.reject=ie=>{_e(this,Oe,!0),M(ie)}})}get settled(){return c(this,Oe)}}Oe=new WeakMap,o.PromiseCapability=Re;let oe=null,we=null;function Me(E){return oe||(oe=/([\u00a0\u00b5\u037e\u0eb3\u2000-\u200a\u202f\u2126\ufb00-\ufb04\ufb06\ufb20-\ufb36\ufb38-\ufb3c\ufb3e\ufb40-\ufb41\ufb43-\ufb44\ufb46-\ufba1\ufba4-\ufba9\ufbae-\ufbb1\ufbd3-\ufbdc\ufbde-\ufbe7\ufbea-\ufbf8\ufbfc-\ufbfd\ufc00-\ufc5d\ufc64-\ufcf1\ufcf5-\ufd3d\ufd88\ufdf4\ufdfa-\ufdfb\ufe71\ufe77\ufe79\ufe7b\ufe7d]+)|(\ufb05+)/gu,we=new Map([["ſt","ſt"]])),E.replaceAll(oe,(m,M,ie)=>M?M.normalize("NFKC"):we.get(ie))}},(__unused_webpack_module,exports,__w_pdfjs_require__)=>{var x,X,P,O,nt,G,mt,N,b,d,k,w,y,r,h,xt,g,_,Mt,p,t;Object.defineProperty(exports,"__esModule",{value:!0}),exports.build=exports.RenderTask=exports.PDFWorkerUtil=exports.PDFWorker=exports.PDFPageProxy=exports.PDFDocumentProxy=exports.PDFDocumentLoadingTask=exports.PDFDataRangeTransport=exports.LoopbackPort=exports.DefaultStandardFontDataFactory=exports.DefaultFilterFactory=exports.DefaultCanvasFactory=exports.DefaultCMapReaderFactory=void 0,exports.getDocument=getDocument,exports.version=void 0;var _util=__w_pdfjs_require__(1),_annotation_storage=__w_pdfjs_require__(3),_display_utils=__w_pdfjs_require__(6),_font_loader=__w_pdfjs_require__(9),_canvas=__w_pdfjs_require__(11),_worker_options=__w_pdfjs_require__(14),_is_node=__w_pdfjs_require__(10),_message_handler=__w_pdfjs_require__(15),_metadata=__w_pdfjs_require__(16),_optional_content_config=__w_pdfjs_require__(17),_transport_stream=__w_pdfjs_require__(18),_xfa_text=__w_pdfjs_require__(19);const DEFAULT_RANGE_CHUNK_SIZE=65536,RENDERING_CANCELLED_TIMEOUT=100,DELAYED_CLEANUP_TIMEOUT=5e3;let DefaultCanvasFactory=_display_utils.DOMCanvasFactory;exports.DefaultCanvasFactory=DefaultCanvasFactory;let DefaultCMapReaderFactory=_display_utils.DOMCMapReaderFactory;exports.DefaultCMapReaderFactory=DefaultCMapReaderFactory;let DefaultFilterFactory=_display_utils.DOMFilterFactory;exports.DefaultFilterFactory=DefaultFilterFactory;let DefaultStandardFontDataFactory=_display_utils.DOMStandardFontDataFactory;if(exports.DefaultStandardFontDataFactory=DefaultStandardFontDataFactory,_is_node.isNodeJS){const{NodeCanvasFactory:s,NodeCMapReaderFactory:n,NodeFilterFactory:f,NodeStandardFontDataFactory:T}=__w_pdfjs_require__(20);exports.DefaultCanvasFactory=DefaultCanvasFactory=s,exports.DefaultCMapReaderFactory=DefaultCMapReaderFactory=n,exports.DefaultFilterFactory=DefaultFilterFactory=f,exports.DefaultStandardFontDataFactory=DefaultStandardFontDataFactory=T}let createPDFNetworkStream;if(_is_node.isNodeJS){const{PDFNodeStream:s}=__w_pdfjs_require__(21);createPDFNetworkStream=n=>new s(n)}else{const{PDFNetworkStream:s}=__w_pdfjs_require__(24),{PDFFetchStream:n}=__w_pdfjs_require__(25);createPDFNetworkStream=f=>(0,_display_utils.isValidFetchUrl)(f.url)?new n(f):new s(f)}function getDocument(s){if(typeof s=="string"||s instanceof URL?s={url:s}:(0,_util.isArrayBuffer)(s)&&(s={data:s}),typeof s!="object")throw new Error("Invalid parameter in getDocument, need parameter object.");if(!s.url&&!s.data&&!s.range)throw new Error("Invalid parameter object: need either .data, .range or .url");const n=new PDFDocumentLoadingTask,{docId:f}=n,T=s.url?getUrlProp(s.url):null,l=s.data?getDataProp(s.data):null,I=s.httpHeaders||null,K=s.withCredentials===!0,le=s.password??null,H=s.range instanceof PDFDataRangeTransport?s.range:null,ee=Number.isInteger(s.rangeChunkSize)&&s.rangeChunkSize>0?s.rangeChunkSize:DEFAULT_RANGE_CHUNK_SIZE;let ae=s.worker instanceof PDFWorker?s.worker:null;const te=s.verbosity,ge=typeof s.docBaseUrl=="string"&&!(0,_display_utils.isDataScheme)(s.docBaseUrl)?s.docBaseUrl:null,ye=typeof s.cMapUrl=="string"?s.cMapUrl:null,Q=s.cMapPacked!==!1,Ce=s.CMapReaderFactory||DefaultCMapReaderFactory,Ee=typeof s.standardFontDataUrl=="string"?s.standardFontDataUrl:null,J=s.StandardFontDataFactory||DefaultStandardFontDataFactory,A=s.stopAtErrors!==!0,C=Number.isInteger(s.maxImageSize)&&s.maxImageSize>-1?s.maxImageSize:-1,F=s.isEvalSupported!==!1,Y=typeof s.isOffscreenCanvasSupported=="boolean"?s.isOffscreenCanvasSupported:!_is_node.isNodeJS,j=Number.isInteger(s.canvasMaxAreaInBytes)?s.canvasMaxAreaInBytes:-1,se=typeof s.disableFontFace=="boolean"?s.disableFontFace:_is_node.isNodeJS,U=s.fontExtraProperties===!0,V=s.enableXfa===!0,z=s.ownerDocument||globalThis.document,i=s.disableRange===!0,u=s.disableStream===!0,S=s.disableAutoFetch===!0,R=s.pdfBug===!0,L=H?H.length:s.length??NaN,W=typeof s.useSystemFonts=="boolean"?s.useSystemFonts:!_is_node.isNodeJS&&!se,me=typeof s.useWorkerFetch=="boolean"?s.useWorkerFetch:Ce===_display_utils.DOMCMapReaderFactory&&J===_display_utils.DOMStandardFontDataFactory&&(0,_display_utils.isValidFetchUrl)(ye,document.baseURI)&&(0,_display_utils.isValidFetchUrl)(Ee,document.baseURI),B=s.canvasFactory||new DefaultCanvasFactory({ownerDocument:z}),q=s.filterFactory||new DefaultFilterFactory({docId:f,ownerDocument:z}),ce=null;(0,_util.setVerbosityLevel)(te);const ne={canvasFactory:B,filterFactory:q};if(me||(ne.cMapReaderFactory=new Ce({baseUrl:ye,isCompressed:Q}),ne.standardFontDataFactory=new J({baseUrl:Ee})),!ae){const ve={verbosity:te,port:_worker_options.GlobalWorkerOptions.workerPort};ae=ve.port?PDFWorker.fromPort(ve):new PDFWorker(ve),n._worker=ae}const ue={docId:f,apiVersion:"3.6.172",data:l,password:le,disableAutoFetch:S,rangeChunkSize:ee,length:L,docBaseUrl:ge,enableXfa:V,evaluatorOptions:{maxImageSize:C,disableFontFace:se,ignoreErrors:A,isEvalSupported:F,isOffscreenCanvasSupported:Y,canvasMaxAreaInBytes:j,fontExtraProperties:U,useSystemFonts:W,cMapUrl:me?ye:null,standardFontDataUrl:me?Ee:null}},be={ignoreErrors:A,isEvalSupported:F,disableFontFace:se,fontExtraProperties:U,enableXfa:V,ownerDocument:z,disableAutoFetch:S,pdfBug:R,styleElement:ce};return ae.promise.then(function(){if(n.destroyed)throw new Error("Loading aborted");const ve=_fetchDocument(ae,ue),xe=new Promise(function(Pe){let Re;H?Re=new _transport_stream.PDFDataTransportStream({length:L,initialData:H.initialData,progressiveDone:H.progressiveDone,contentDispositionFilename:H.contentDispositionFilename,disableRange:i,disableStream:u},H):l||(Re=createPDFNetworkStream({url:T,length:L,httpHeaders:I,withCredentials:K,rangeChunkSize:ee,disableRange:i,disableStream:u})),Pe(Re)});return Promise.all([ve,xe]).then(function([Pe,Re]){if(n.destroyed)throw new Error("Loading aborted");const oe=new _message_handler.MessageHandler(f,Pe,ae.port),we=new WorkerTransport(oe,n,Re,be,ne);n._transport=we,oe.send("Ready",null)})}).catch(n._capability.reject),n}async function _fetchDocument(s,n){if(s.destroyed)throw new Error("Worker was destroyed");const f=await s.messageHandler.sendWithPromise("GetDocRequest",n,n.data?[n.data.buffer]:null);if(s.destroyed)throw new Error("Worker was destroyed");return f}function getUrlProp(s){if(s instanceof URL)return s.href;try{return new URL(s,window.location).href}catch{if(_is_node.isNodeJS&&typeof s=="string")return s}throw new Error("Invalid PDF url data: either string or URL-object is expected in the url property.")}function getDataProp(s){if(_is_node.isNodeJS&&typeof Buffer<"u"&&s instanceof Buffer)return(0,_display_utils.deprecated)("Please provide binary data as `Uint8Array`, rather than `Buffer`."),new Uint8Array(s);if(s instanceof Uint8Array&&s.byteLength===s.buffer.byteLength)return s;if(typeof s=="string")return(0,_util.stringToBytes)(s);if(typeof s=="object"&&!isNaN(s==null?void 0:s.length)||(0,_util.isArrayBuffer)(s))return new Uint8Array(s);throw new Error("Invalid PDF binary data: either TypedArray, string, or array-like object is expected in the data property.")}const o=class{constructor(){this._capability=new _util.PromiseCapability,this._transport=null,this._worker=null,this.docId=`d${lt(o,x)._++}`,this.destroyed=!1,this.onPassword=null,this.onProgress=null}get promise(){return this._capability.promise}async destroy(){var n;this.destroyed=!0,await((n=this._transport)==null?void 0:n.destroy()),this._transport=null,this._worker&&(this._worker.destroy(),this._worker=null)}};let PDFDocumentLoadingTask=o;x=new WeakMap,$(PDFDocumentLoadingTask,x,0),exports.PDFDocumentLoadingTask=PDFDocumentLoadingTask;class PDFDataRangeTransport{constructor(n,f,T=!1,l=null){this.length=n,this.initialData=f,this.progressiveDone=T,this.contentDispositionFilename=l,this._rangeListeners=[],this._progressListeners=[],this._progressiveReadListeners=[],this._progressiveDoneListeners=[],this._readyCapability=new _util.PromiseCapability}addRangeListener(n){this._rangeListeners.push(n)}addProgressListener(n){this._progressListeners.push(n)}addProgressiveReadListener(n){this._progressiveReadListeners.push(n)}addProgressiveDoneListener(n){this._progressiveDoneListeners.push(n)}onDataRange(n,f){for(const T of this._rangeListeners)T(n,f)}onDataProgress(n,f){this._readyCapability.promise.then(()=>{for(const T of this._progressListeners)T(n,f)})}onDataProgressiveRead(n){this._readyCapability.promise.then(()=>{for(const f of this._progressiveReadListeners)f(n)})}onDataProgressiveDone(){this._readyCapability.promise.then(()=>{for(const n of this._progressiveDoneListeners)n()})}transportReady(){this._readyCapability.resolve()}requestDataRange(n,f){(0,_util.unreachable)("Abstract method PDFDataRangeTransport.requestDataRange")}abort(){}}exports.PDFDataRangeTransport=PDFDataRangeTransport;class PDFDocumentProxy{constructor(n,f){this._pdfInfo=n,this._transport=f}get annotationStorage(){return this._transport.annotationStorage}get filterFactory(){return this._transport.filterFactory}get numPages(){return this._pdfInfo.numPages}get fingerprints(){return this._pdfInfo.fingerprints}get isPureXfa(){return(0,_util.shadow)(this,"isPureXfa",!!this._transport._htmlForXfa)}get allXfaHtml(){return this._transport._htmlForXfa}getPage(n){return this._transport.getPage(n)}getPageIndex(n){return this._transport.getPageIndex(n)}getDestinations(){return this._transport.getDestinations()}getDestination(n){return this._transport.getDestination(n)}getPageLabels(){return this._transport.getPageLabels()}getPageLayout(){return this._transport.getPageLayout()}getPageMode(){return this._transport.getPageMode()}getViewerPreferences(){return this._transport.getViewerPreferences()}getOpenAction(){return this._transport.getOpenAction()}getAttachments(){return this._transport.getAttachments()}getJavaScript(){return this._transport.getJavaScript()}getJSActions(){return this._transport.getDocJSActions()}getOutline(){return this._transport.getOutline()}getOptionalContentConfig(){return this._transport.getOptionalContentConfig()}getPermissions(){return this._transport.getPermissions()}getMetadata(){return this._transport.getMetadata()}getMarkInfo(){return this._transport.getMarkInfo()}getData(){return this._transport.getData()}saveDocument(){return this._transport.saveDocument()}getDownloadInfo(){return this._transport.downloadInfoCapability.promise}cleanup(n=!1){return this._transport.startCleanup(n||this.isPureXfa)}destroy(){return this.loadingTask.destroy()}get loadingParams(){return this._transport.loadingParams}get loadingTask(){return this._transport.loadingTask}getFieldObjects(){return this._transport.getFieldObjects()}hasJSActions(){return this._transport.hasJSActions()}getCalculationOrderIds(){return this._transport.getCalculationOrderIds()}}exports.PDFDocumentProxy=PDFDocumentProxy;class PDFPageProxy{constructor(n,f,T,l=!1){$(this,O);$(this,G);$(this,X,null);$(this,P,!1);this._pageIndex=n,this._pageInfo=f,this._transport=T,this._stats=l?new _display_utils.StatTimer:null,this._pdfBug=l,this.commonObjs=T.commonObjs,this.objs=new PDFObjects,this._maybeCleanupAfterRender=!1,this._intentStates=new Map,this.destroyed=!1}get pageNumber(){return this._pageIndex+1}get rotate(){return this._pageInfo.rotate}get ref(){return this._pageInfo.ref}get userUnit(){return this._pageInfo.userUnit}get view(){return this._pageInfo.view}getViewport({scale:n,rotation:f=this.rotate,offsetX:T=0,offsetY:l=0,dontFlip:I=!1}={}){return new _display_utils.PageViewport({viewBox:this.view,scale:n,rotation:f,offsetX:T,offsetY:l,dontFlip:I})}getAnnotations({intent:n="display"}={}){const f=this._transport.getRenderingIntent(n);return this._transport.getAnnotations(this._pageIndex,f.renderingIntent)}getJSActions(){return this._transport.getPageJSActions(this._pageIndex)}get isPureXfa(){return(0,_util.shadow)(this,"isPureXfa",!!this._transport._htmlForXfa)}async getXfa(){var n;return((n=this._transport._htmlForXfa)==null?void 0:n.children[this._pageIndex])||null}render({canvasContext:n,viewport:f,intent:T="display",annotationMode:l=_util.AnnotationMode.ENABLE,transform:I=null,background:K=null,optionalContentConfigPromise:le=null,annotationCanvasMap:H=null,pageColors:ee=null,printAnnotationStorage:ae=null}){var J,A,C;if((J=arguments[0])!=null&&J.canvasFactory)throw new Error("render no longer accepts the `canvasFactory`-option, please pass it to the `getDocument`-function instead.");(A=this._stats)==null||A.time("Overall");const te=this._transport.getRenderingIntent(T,l,ae);_e(this,P,!1),Z(this,G,mt).call(this),le||(le=this._transport.getOptionalContentConfig());let ge=this._intentStates.get(te.cacheKey);ge||(ge=Object.create(null),this._intentStates.set(te.cacheKey,ge)),ge.streamReaderCancelTimeout&&(clearTimeout(ge.streamReaderCancelTimeout),ge.streamReaderCancelTimeout=null);const ye=!!(te.renderingIntent&_util.RenderingIntentFlag.PRINT);ge.displayReadyCapability||(ge.displayReadyCapability=new _util.PromiseCapability,ge.operatorList={fnArray:[],argsArray:[],lastChunk:!1,separateAnnots:null},(C=this._stats)==null||C.time("Page Request"),this._pumpOperatorList(te));const Q=F=>{var Y,j;ge.renderTasks.delete(Ce),(this._maybeCleanupAfterRender||ye)&&_e(this,P,!0),Z(this,O,nt).call(this,!ye),F?(Ce.capability.reject(F),this._abortOperatorList({intentState:ge,reason:F instanceof Error?F:new Error(F)})):Ce.capability.resolve(),(Y=this._stats)==null||Y.timeEnd("Rendering"),(j=this._stats)==null||j.timeEnd("Overall")},Ce=new InternalRenderTask({callback:Q,params:{canvasContext:n,viewport:f,transform:I,background:K},objs:this.objs,commonObjs:this.commonObjs,annotationCanvasMap:H,operatorList:ge.operatorList,pageIndex:this._pageIndex,canvasFactory:this._transport.canvasFactory,filterFactory:this._transport.filterFactory,useRequestAnimationFrame:!ye,pdfBug:this._pdfBug,pageColors:ee});(ge.renderTasks||(ge.renderTasks=new Set)).add(Ce);const Ee=Ce.task;return Promise.all([ge.displayReadyCapability.promise,le]).then(([F,Y])=>{var j;if(c(this,P)){Q();return}(j=this._stats)==null||j.time("Rendering"),Ce.initializeGraphics({transparency:F,optionalContentConfig:Y}),Ce.operatorListChanged()}).catch(Q),Ee}getOperatorList({intent:n="display",annotationMode:f=_util.AnnotationMode.ENABLE,printAnnotationStorage:T=null}={}){var H;function l(){K.operatorList.lastChunk&&(K.opListReadCapability.resolve(K.operatorList),K.renderTasks.delete(le))}const I=this._transport.getRenderingIntent(n,f,T,!0);let K=this._intentStates.get(I.cacheKey);K||(K=Object.create(null),this._intentStates.set(I.cacheKey,K));let le;return K.opListReadCapability||(le=Object.create(null),le.operatorListChanged=l,K.opListReadCapability=new _util.PromiseCapability,(K.renderTasks||(K.renderTasks=new Set)).add(le),K.operatorList={fnArray:[],argsArray:[],lastChunk:!1,separateAnnots:null},(H=this._stats)==null||H.time("Page Request"),this._pumpOperatorList(I)),K.opListReadCapability.promise}streamTextContent({includeMarkedContent:n=!1,disableNormalization:f=!1}={}){return this._transport.messageHandler.sendWithStream("GetTextContent",{pageIndex:this._pageIndex,includeMarkedContent:n===!0,disableNormalization:f===!0},{highWaterMark:100,size(l){return l.items.length}})}getTextContent(n={}){if(this._transport._htmlForXfa)return this.getXfa().then(T=>_xfa_text.XfaText.textContent(T));const f=this.streamTextContent(n);return new Promise(function(T,l){function I(){K.read().then(function({value:H,done:ee}){if(ee){T(le);return}Object.assign(le.styles,H.styles),le.items.push(...H.items),I()},l)}const K=f.getReader(),le={items:[],styles:Object.create(null)};I()})}getStructTree(){return this._transport.getStructTree(this._pageIndex)}_destroy(){this.destroyed=!0;const n=[];for(const f of this._intentStates.values())if(this._abortOperatorList({intentState:f,reason:new Error("Page was destroyed."),force:!0}),!f.opListReadCapability)for(const T of f.renderTasks)n.push(T.completed),T.cancel();return this.objs.clear(),_e(this,P,!1),Z(this,G,mt).call(this),Promise.all(n)}cleanup(n=!1){_e(this,P,!0);const f=Z(this,O,nt).call(this,!1);return n&&f&&this._stats&&(this._stats=new _display_utils.StatTimer),f}_startRenderPage(n,f){var l,I;const T=this._intentStates.get(f);T&&((l=this._stats)==null||l.timeEnd("Page Request"),(I=T.displayReadyCapability)==null||I.resolve(n))}_renderPageChunk(n,f){for(let T=0,l=n.length;T{I.read().then(({value:H,done:ee})=>{if(ee){K.streamReader=null;return}this._transport.destroyed||(this._renderPageChunk(H,K),le())},H=>{if(K.streamReader=null,!this._transport.destroyed){if(K.operatorList){K.operatorList.lastChunk=!0;for(const ee of K.renderTasks)ee.operatorListChanged();Z(this,O,nt).call(this,!0)}if(K.displayReadyCapability)K.displayReadyCapability.reject(H);else if(K.opListReadCapability)K.opListReadCapability.reject(H);else throw H}})};le()}_abortOperatorList({intentState:n,reason:f,force:T=!1}){if(n.streamReader){if(n.streamReaderCancelTimeout&&(clearTimeout(n.streamReaderCancelTimeout),n.streamReaderCancelTimeout=null),!T){if(n.renderTasks.size>0)return;if(f instanceof _display_utils.RenderingCancelledException){let l=RENDERING_CANCELLED_TIMEOUT;f.extraDelay>0&&f.extraDelay<1e3&&(l+=f.extraDelay),n.streamReaderCancelTimeout=setTimeout(()=>{n.streamReaderCancelTimeout=null,this._abortOperatorList({intentState:n,reason:f,force:!0})},l);return}}if(n.streamReader.cancel(new _util.AbortException(f.message)).catch(()=>{}),n.streamReader=null,!this._transport.destroyed){for(const[l,I]of this._intentStates)if(I===n){this._intentStates.delete(l);break}this.cleanup()}}}get stats(){return this._stats}}X=new WeakMap,P=new WeakMap,O=new WeakSet,nt=function(n=!1){if(Z(this,G,mt).call(this),!c(this,P))return!1;if(n)return _e(this,X,setTimeout(()=>{_e(this,X,null),Z(this,O,nt).call(this,!1)},DELAYED_CLEANUP_TIMEOUT)),!1;for(const{renderTasks:f,operatorList:T}of this._intentStates.values())if(f.size>0||!T.lastChunk)return!1;return this._intentStates.clear(),this.objs.clear(),_e(this,P,!1),!0},G=new WeakSet,mt=function(){c(this,X)&&(clearTimeout(c(this,X)),_e(this,X,null))},exports.PDFPageProxy=PDFPageProxy;class LoopbackPort{constructor(){$(this,N,new Set);$(this,b,Promise.resolve())}postMessage(n,f){const T={data:structuredClone(n,f?{transfer:f}:null)};c(this,b).then(()=>{for(const l of c(this,N))l.call(this,T)})}addEventListener(n,f){c(this,N).add(f)}removeEventListener(n,f){c(this,N).delete(f)}terminate(){c(this,N).clear()}}N=new WeakMap,b=new WeakMap,exports.LoopbackPort=LoopbackPort;const PDFWorkerUtil={isWorkerDisabled:!1,fallbackWorkerSrc:null,fakeWorkerId:0};exports.PDFWorkerUtil=PDFWorkerUtil;{if(_is_node.isNodeJS&&typeof commonjsRequire=="function")PDFWorkerUtil.isWorkerDisabled=!0,PDFWorkerUtil.fallbackWorkerSrc="./pdf.worker.js";else if(typeof document=="object"){const s=(d=document==null?void 0:document.currentScript)==null?void 0:d.src;s&&(PDFWorkerUtil.fallbackWorkerSrc=s.replace(/(\.(?:min\.)?js)(\?.*)?$/i,".worker$1$2"))}PDFWorkerUtil.isSameOrigin=function(s,n){let f;try{if(f=new URL(s),!f.origin||f.origin==="null")return!1}catch{return!1}const T=new URL(n,f);return f.origin===T.origin},PDFWorkerUtil.createCDNWrapper=function(s){const n=`importScripts("${s}");`;return URL.createObjectURL(new Blob([n]))}}const _PDFWorker=class{constructor({name:s=null,port:n=null,verbosity:f=(0,_util.getVerbosityLevel)()}={}){if(n&&c(_PDFWorker,k).has(n))throw new Error("Cannot use more than one PDFWorker per port.");if(this.name=s,this.destroyed=!1,this.verbosity=f,this._readyCapability=new _util.PromiseCapability,this._port=null,this._webWorker=null,this._messageHandler=null,n){c(_PDFWorker,k).set(n,this),this._initializeFromPort(n);return}this._initialize()}get promise(){return this._readyCapability.promise}get port(){return this._port}get messageHandler(){return this._messageHandler}_initializeFromPort(s){this._port=s,this._messageHandler=new _message_handler.MessageHandler("main","worker",s),this._messageHandler.on("ready",function(){}),this._readyCapability.resolve(),this._messageHandler.send("configure",{verbosity:this.verbosity})}_initialize(){if(!PDFWorkerUtil.isWorkerDisabled&&!_PDFWorker._mainThreadWorkerMessageHandler){let{workerSrc:s}=_PDFWorker;try{PDFWorkerUtil.isSameOrigin(window.location.href,s)||(s=PDFWorkerUtil.createCDNWrapper(new URL(s,window.location).href));const n=new Worker(s),f=new _message_handler.MessageHandler("main","worker",n),T=()=>{n.removeEventListener("error",l),f.destroy(),n.terminate(),this.destroyed?this._readyCapability.reject(new Error("Worker was destroyed")):this._setupFakeWorker()},l=()=>{this._webWorker||T()};n.addEventListener("error",l),f.on("test",K=>{if(n.removeEventListener("error",l),this.destroyed){T();return}K?(this._messageHandler=f,this._port=n,this._webWorker=n,this._readyCapability.resolve(),f.send("configure",{verbosity:this.verbosity})):(this._setupFakeWorker(),f.destroy(),n.terminate())}),f.on("ready",K=>{if(n.removeEventListener("error",l),this.destroyed){T();return}try{I()}catch{this._setupFakeWorker()}});const I=()=>{const K=new Uint8Array;f.send("test",K,[K.buffer])};I();return}catch{(0,_util.info)("The worker has been disabled.")}}this._setupFakeWorker()}_setupFakeWorker(){PDFWorkerUtil.isWorkerDisabled||((0,_util.warn)("Setting up fake worker."),PDFWorkerUtil.isWorkerDisabled=!0),_PDFWorker._setupFakeWorkerGlobal.then(s=>{if(this.destroyed){this._readyCapability.reject(new Error("Worker was destroyed"));return}const n=new LoopbackPort;this._port=n;const f=`fake${PDFWorkerUtil.fakeWorkerId++}`,T=new _message_handler.MessageHandler(f+"_worker",f,n);s.setup(T,n);const l=new _message_handler.MessageHandler(f,f+"_worker",n);this._messageHandler=l,this._readyCapability.resolve(),l.send("configure",{verbosity:this.verbosity})}).catch(s=>{this._readyCapability.reject(new Error(`Setting up fake worker failed: "${s.message}".`))})}destroy(){this.destroyed=!0,this._webWorker&&(this._webWorker.terminate(),this._webWorker=null),c(_PDFWorker,k).delete(this._port),this._port=null,this._messageHandler&&(this._messageHandler.destroy(),this._messageHandler=null)}static fromPort(s){if(!(s!=null&&s.port))throw new Error("PDFWorker.fromPort - invalid method signature.");return c(this,k).has(s.port)?c(this,k).get(s.port):new _PDFWorker(s)}static get workerSrc(){if(_worker_options.GlobalWorkerOptions.workerSrc)return _worker_options.GlobalWorkerOptions.workerSrc;if(PDFWorkerUtil.fallbackWorkerSrc!==null)return _is_node.isNodeJS||(0,_display_utils.deprecated)('No "GlobalWorkerOptions.workerSrc" specified.'),PDFWorkerUtil.fallbackWorkerSrc;throw new Error('No "GlobalWorkerOptions.workerSrc" specified.')}static get _mainThreadWorkerMessageHandler(){var s;try{return((s=globalThis.pdfjsWorker)==null?void 0:s.WorkerMessageHandler)||null}catch{return null}}static get _setupFakeWorkerGlobal(){const loader=async()=>{const mainWorkerMessageHandler=this._mainThreadWorkerMessageHandler;if(mainWorkerMessageHandler)return mainWorkerMessageHandler;if(_is_node.isNodeJS&&typeof commonjsRequire=="function"){const worker=eval("require")(this.workerSrc);return worker.WorkerMessageHandler}return await(0,_display_utils.loadScript)(this.workerSrc),window.pdfjsWorker.WorkerMessageHandler};return(0,_util.shadow)(this,"_setupFakeWorkerGlobal",loader())}};let PDFWorker=_PDFWorker;k=new WeakMap,$(PDFWorker,k,new WeakMap),exports.PDFWorker=PDFWorker;class WorkerTransport{constructor(n,f,T,l,I){$(this,h);$(this,w,new Map);$(this,y,new Map);$(this,r,new Map);this.messageHandler=n,this.loadingTask=f,this.commonObjs=new PDFObjects,this.fontLoader=new _font_loader.FontLoader({ownerDocument:l.ownerDocument,styleElement:l.styleElement}),this._params=l,this.canvasFactory=I.canvasFactory,this.filterFactory=I.filterFactory,this.cMapReaderFactory=I.cMapReaderFactory,this.standardFontDataFactory=I.standardFontDataFactory,this.destroyed=!1,this.destroyCapability=null,this._passwordCapability=null,this._networkStream=T,this._fullReader=null,this._lastProgress=null,this.downloadInfoCapability=new _util.PromiseCapability,this.setupMessageHandler()}get annotationStorage(){return(0,_util.shadow)(this,"annotationStorage",new _annotation_storage.AnnotationStorage)}getRenderingIntent(n,f=_util.AnnotationMode.ENABLE,T=null,l=!1){let I=_util.RenderingIntentFlag.DISPLAY,K=null;switch(n){case"any":I=_util.RenderingIntentFlag.ANY;break;case"display":break;case"print":I=_util.RenderingIntentFlag.PRINT;break;default:(0,_util.warn)(`getRenderingIntent - invalid intent: ${n}`)}switch(f){case _util.AnnotationMode.DISABLE:I+=_util.RenderingIntentFlag.ANNOTATIONS_DISABLE;break;case _util.AnnotationMode.ENABLE:break;case _util.AnnotationMode.ENABLE_FORMS:I+=_util.RenderingIntentFlag.ANNOTATIONS_FORMS;break;case _util.AnnotationMode.ENABLE_STORAGE:I+=_util.RenderingIntentFlag.ANNOTATIONS_STORAGE,K=(I&_util.RenderingIntentFlag.PRINT&&T instanceof _annotation_storage.PrintAnnotationStorage?T:this.annotationStorage).serializable;break;default:(0,_util.warn)(`getRenderingIntent - invalid annotationMode: ${f}`)}return l&&(I+=_util.RenderingIntentFlag.OPLIST),{renderingIntent:I,cacheKey:`${I}_${_annotation_storage.AnnotationStorage.getHash(K)}`,annotationStorageMap:K}}destroy(){if(this.destroyCapability)return this.destroyCapability.promise;this.destroyed=!0,this.destroyCapability=new _util.PromiseCapability,this._passwordCapability&&this._passwordCapability.reject(new Error("Worker was destroyed during onPassword callback"));const n=[];for(const T of c(this,y).values())n.push(T._destroy());c(this,y).clear(),c(this,r).clear(),this.hasOwnProperty("annotationStorage")&&this.annotationStorage.resetModified();const f=this.messageHandler.sendWithPromise("Terminate",null);return n.push(f),Promise.all(n).then(()=>{this.commonObjs.clear(),this.fontLoader.clear(),c(this,w).clear(),this.filterFactory.destroy(),this._networkStream&&this._networkStream.cancelAllRequests(new _util.AbortException("Worker was terminated.")),this.messageHandler&&(this.messageHandler.destroy(),this.messageHandler=null),this.destroyCapability.resolve()},this.destroyCapability.reject),this.destroyCapability.promise}setupMessageHandler(){const{messageHandler:n,loadingTask:f}=this;n.on("GetReader",(T,l)=>{(0,_util.assert)(this._networkStream,"GetReader - no `IPDFStream` instance available."),this._fullReader=this._networkStream.getFullReader(),this._fullReader.onProgress=I=>{this._lastProgress={loaded:I.loaded,total:I.total}},l.onPull=()=>{this._fullReader.read().then(function({value:I,done:K}){if(K){l.close();return}(0,_util.assert)(I instanceof ArrayBuffer,"GetReader - expected an ArrayBuffer."),l.enqueue(new Uint8Array(I),1,[I])}).catch(I=>{l.error(I)})},l.onCancel=I=>{this._fullReader.cancel(I),l.ready.catch(K=>{if(!this.destroyed)throw K})}}),n.on("ReaderHeadersReady",T=>{const l=new _util.PromiseCapability,I=this._fullReader;return I.headersReady.then(()=>{var K;(!I.isStreamingSupported||!I.isRangeSupported)&&(this._lastProgress&&((K=f.onProgress)==null||K.call(f,this._lastProgress)),I.onProgress=le=>{var H;(H=f.onProgress)==null||H.call(f,{loaded:le.loaded,total:le.total})}),l.resolve({isStreamingSupported:I.isStreamingSupported,isRangeSupported:I.isRangeSupported,contentLength:I.contentLength})},l.reject),l.promise}),n.on("GetRangeReader",(T,l)=>{(0,_util.assert)(this._networkStream,"GetRangeReader - no `IPDFStream` instance available.");const I=this._networkStream.getRangeReader(T.begin,T.end);if(!I){l.close();return}l.onPull=()=>{I.read().then(function({value:K,done:le}){if(le){l.close();return}(0,_util.assert)(K instanceof ArrayBuffer,"GetRangeReader - expected an ArrayBuffer."),l.enqueue(new Uint8Array(K),1,[K])}).catch(K=>{l.error(K)})},l.onCancel=K=>{I.cancel(K),l.ready.catch(le=>{if(!this.destroyed)throw le})}}),n.on("GetDoc",({pdfInfo:T})=>{this._numPages=T.numPages,this._htmlForXfa=T.htmlForXfa,delete T.htmlForXfa,f._capability.resolve(new PDFDocumentProxy(T,this))}),n.on("DocException",function(T){let l;switch(T.name){case"PasswordException":l=new _util.PasswordException(T.message,T.code);break;case"InvalidPDFException":l=new _util.InvalidPDFException(T.message);break;case"MissingPDFException":l=new _util.MissingPDFException(T.message);break;case"UnexpectedResponseException":l=new _util.UnexpectedResponseException(T.message,T.status);break;case"UnknownErrorException":l=new _util.UnknownErrorException(T.message,T.details);break;default:(0,_util.unreachable)("DocException - expected a valid Error.")}f._capability.reject(l)}),n.on("PasswordRequest",T=>{if(this._passwordCapability=new _util.PromiseCapability,f.onPassword){const l=I=>{I instanceof Error?this._passwordCapability.reject(I):this._passwordCapability.resolve({password:I})};try{f.onPassword(l,T.code)}catch(I){this._passwordCapability.reject(I)}}else this._passwordCapability.reject(new _util.PasswordException(T.message,T.code));return this._passwordCapability.promise}),n.on("DataLoaded",T=>{var l;(l=f.onProgress)==null||l.call(f,{loaded:T.length,total:T.length}),this.downloadInfoCapability.resolve(T)}),n.on("StartRenderPage",T=>{if(this.destroyed)return;c(this,y).get(T.pageIndex)._startRenderPage(T.transparency,T.cacheKey)}),n.on("commonobj",([T,l,I])=>{var K;if(!this.destroyed&&!this.commonObjs.has(T))switch(l){case"Font":const le=this._params;if("error"in I){const ae=I.error;(0,_util.warn)(`Error during font loading: ${ae}`),this.commonObjs.resolve(T,ae);break}const H=le.pdfBug&&((K=globalThis.FontInspector)!=null&&K.enabled)?(ae,te)=>globalThis.FontInspector.fontAdded(ae,te):null,ee=new _font_loader.FontFaceObject(I,{isEvalSupported:le.isEvalSupported,disableFontFace:le.disableFontFace,ignoreErrors:le.ignoreErrors,inspectFont:H});this.fontLoader.bind(ee).catch(ae=>n.sendWithPromise("FontFallback",{id:T})).finally(()=>{!le.fontExtraProperties&&ee.data&&(ee.data=null),this.commonObjs.resolve(T,ee)});break;case"FontPath":case"Image":case"Pattern":this.commonObjs.resolve(T,I);break;default:throw new Error(`Got unknown common object type ${l}`)}}),n.on("obj",([T,l,I,K])=>{var H;if(this.destroyed)return;const le=c(this,y).get(l);if(!le.objs.has(T))switch(I){case"Image":if(le.objs.resolve(T,K),K){let ee;if(K.bitmap){const{width:ae,height:te}=K;ee=ae*te*4}else ee=((H=K.data)==null?void 0:H.length)||0;ee>_util.MAX_IMAGE_SIZE_TO_CACHE&&(le._maybeCleanupAfterRender=!0)}break;case"Pattern":le.objs.resolve(T,K);break;default:throw new Error(`Got unknown object type ${I}`)}}),n.on("DocProgress",T=>{var l;this.destroyed||(l=f.onProgress)==null||l.call(f,{loaded:T.loaded,total:T.total})}),n.on("FetchBuiltInCMap",T=>this.destroyed?Promise.reject(new Error("Worker was destroyed.")):this.cMapReaderFactory?this.cMapReaderFactory.fetch(T):Promise.reject(new Error("CMapReaderFactory not initialized, see the `useWorkerFetch` parameter."))),n.on("FetchStandardFontData",T=>this.destroyed?Promise.reject(new Error("Worker was destroyed.")):this.standardFontDataFactory?this.standardFontDataFactory.fetch(T):Promise.reject(new Error("StandardFontDataFactory not initialized, see the `useWorkerFetch` parameter.")))}getData(){return this.messageHandler.sendWithPromise("GetData",null)}saveDocument(){var n;return this.annotationStorage.size<=0&&(0,_util.warn)("saveDocument called while `annotationStorage` is empty, please use the getData-method instead."),this.messageHandler.sendWithPromise("SaveDocument",{isPureXfa:!!this._htmlForXfa,numPages:this._numPages,annotationStorage:this.annotationStorage.serializable,filename:((n=this._fullReader)==null?void 0:n.filename)??null}).finally(()=>{this.annotationStorage.resetModified()})}getPage(n){if(!Number.isInteger(n)||n<=0||n>this._numPages)return Promise.reject(new Error("Invalid page request."));const f=n-1,T=c(this,r).get(f);if(T)return T;const l=this.messageHandler.sendWithPromise("GetPage",{pageIndex:f}).then(I=>{if(this.destroyed)throw new Error("Transport destroyed");const K=new PDFPageProxy(f,I,this,this._params.pdfBug);return c(this,y).set(f,K),K});return c(this,r).set(f,l),l}getPageIndex(n){return typeof n!="object"||n===null||!Number.isInteger(n.num)||n.num<0||!Number.isInteger(n.gen)||n.gen<0?Promise.reject(new Error("Invalid pageIndex request.")):this.messageHandler.sendWithPromise("GetPageIndex",{num:n.num,gen:n.gen})}getAnnotations(n,f){return this.messageHandler.sendWithPromise("GetAnnotations",{pageIndex:n,intent:f})}getFieldObjects(){return Z(this,h,xt).call(this,"GetFieldObjects")}hasJSActions(){return Z(this,h,xt).call(this,"HasJSActions")}getCalculationOrderIds(){return this.messageHandler.sendWithPromise("GetCalculationOrderIds",null)}getDestinations(){return this.messageHandler.sendWithPromise("GetDestinations",null)}getDestination(n){return typeof n!="string"?Promise.reject(new Error("Invalid destination request.")):this.messageHandler.sendWithPromise("GetDestination",{id:n})}getPageLabels(){return this.messageHandler.sendWithPromise("GetPageLabels",null)}getPageLayout(){return this.messageHandler.sendWithPromise("GetPageLayout",null)}getPageMode(){return this.messageHandler.sendWithPromise("GetPageMode",null)}getViewerPreferences(){return this.messageHandler.sendWithPromise("GetViewerPreferences",null)}getOpenAction(){return this.messageHandler.sendWithPromise("GetOpenAction",null)}getAttachments(){return this.messageHandler.sendWithPromise("GetAttachments",null)}getJavaScript(){return this.messageHandler.sendWithPromise("GetJavaScript",null)}getDocJSActions(){return this.messageHandler.sendWithPromise("GetDocJSActions",null)}getPageJSActions(n){return this.messageHandler.sendWithPromise("GetPageJSActions",{pageIndex:n})}getStructTree(n){return this.messageHandler.sendWithPromise("GetStructTree",{pageIndex:n})}getOutline(){return this.messageHandler.sendWithPromise("GetOutline",null)}getOptionalContentConfig(){return this.messageHandler.sendWithPromise("GetOptionalContentConfig",null).then(n=>new _optional_content_config.OptionalContentConfig(n))}getPermissions(){return this.messageHandler.sendWithPromise("GetPermissions",null)}getMetadata(){const n="GetMetadata",f=c(this,w).get(n);if(f)return f;const T=this.messageHandler.sendWithPromise(n,null).then(l=>{var I,K;return{info:l[0],metadata:l[1]?new _metadata.Metadata(l[1]):null,contentDispositionFilename:((I=this._fullReader)==null?void 0:I.filename)??null,contentLength:((K=this._fullReader)==null?void 0:K.contentLength)??null}});return c(this,w).set(n,T),T}getMarkInfo(){return this.messageHandler.sendWithPromise("GetMarkInfo",null)}async startCleanup(n=!1){if(!this.destroyed){await this.messageHandler.sendWithPromise("Cleanup",null);for(const f of c(this,y).values())if(!f.cleanup())throw new Error(`startCleanup: Page ${f.pageNumber} is currently rendering.`);this.commonObjs.clear(),n||this.fontLoader.clear(),c(this,w).clear(),this.filterFactory.destroy(!0)}}get loadingParams(){const{disableAutoFetch:n,enableXfa:f}=this._params;return(0,_util.shadow)(this,"loadingParams",{disableAutoFetch:n,enableXfa:f})}}w=new WeakMap,y=new WeakMap,r=new WeakMap,h=new WeakSet,xt=function(n,f=null){const T=c(this,w).get(n);if(T)return T;const l=this.messageHandler.sendWithPromise(n,f);return c(this,w).set(n,l),l};class PDFObjects{constructor(){$(this,_);$(this,g,Object.create(null))}get(n,f=null){if(f){const l=Z(this,_,Mt).call(this,n);return l.capability.promise.then(()=>f(l.data)),null}const T=c(this,g)[n];if(!(T!=null&&T.capability.settled))throw new Error(`Requesting object that isn't resolved yet ${n}.`);return T.data}has(n){const f=c(this,g)[n];return(f==null?void 0:f.capability.settled)||!1}resolve(n,f=null){const T=Z(this,_,Mt).call(this,n);T.data=f,T.capability.resolve()}clear(){var n;for(const f in c(this,g)){const{data:T}=c(this,g)[f];(n=T==null?void 0:T.bitmap)==null||n.close()}_e(this,g,Object.create(null))}}g=new WeakMap,_=new WeakSet,Mt=function(n){const f=c(this,g)[n];return f||(c(this,g)[n]={capability:new _util.PromiseCapability,data:null})};class RenderTask{constructor(n){$(this,p,null);_e(this,p,n),this.onContinue=null}get promise(){return c(this,p).capability.promise}cancel(n=0){c(this,p).cancel(null,n)}get separateAnnots(){const{separateAnnots:n}=c(this,p).operatorList;if(!n)return!1;const{annotationCanvasMap:f}=c(this,p);return n.form||n.canvas&&(f==null?void 0:f.size)>0}}p=new WeakMap,exports.RenderTask=RenderTask;const e=class{constructor({callback:n,params:f,objs:T,commonObjs:l,annotationCanvasMap:I,operatorList:K,pageIndex:le,canvasFactory:H,filterFactory:ee,useRequestAnimationFrame:ae=!1,pdfBug:te=!1,pageColors:ge=null}){this.callback=n,this.params=f,this.objs=T,this.commonObjs=l,this.annotationCanvasMap=I,this.operatorListIdx=null,this.operatorList=K,this._pageIndex=le,this.canvasFactory=H,this.filterFactory=ee,this._pdfBug=te,this.pageColors=ge,this.running=!1,this.graphicsReadyCallback=null,this.graphicsReady=!1,this._useRequestAnimationFrame=ae===!0&&typeof window<"u",this.cancelled=!1,this.capability=new _util.PromiseCapability,this.task=new RenderTask(this),this._cancelBound=this.cancel.bind(this),this._continueBound=this._continue.bind(this),this._scheduleNextBound=this._scheduleNext.bind(this),this._nextBound=this._next.bind(this),this._canvas=f.canvasContext.canvas}get completed(){return this.capability.promise.catch(function(){})}initializeGraphics({transparency:n=!1,optionalContentConfig:f}){var le,H;if(this.cancelled)return;if(this._canvas){if(c(e,t).has(this._canvas))throw new Error("Cannot use the same canvas during multiple render() operations. Use different canvas or ensure previous operations were cancelled or completed.");c(e,t).add(this._canvas)}this._pdfBug&&((le=globalThis.StepperManager)!=null&&le.enabled)&&(this.stepper=globalThis.StepperManager.create(this._pageIndex),this.stepper.init(this.operatorList),this.stepper.nextBreakPoint=this.stepper.getNextBreakPoint());const{canvasContext:T,viewport:l,transform:I,background:K}=this.params;this.gfx=new _canvas.CanvasGraphics(T,this.commonObjs,this.objs,this.canvasFactory,this.filterFactory,{optionalContentConfig:f},this.annotationCanvasMap,this.pageColors),this.gfx.beginDrawing({transform:I,viewport:l,transparency:n,background:K}),this.operatorListIdx=0,this.graphicsReady=!0,(H=this.graphicsReadyCallback)==null||H.call(this)}cancel(n=null,f=0){var T;this.running=!1,this.cancelled=!0,(T=this.gfx)==null||T.endDrawing(),this._canvas&&c(e,t).delete(this._canvas),this.callback(n||new _display_utils.RenderingCancelledException(`Rendering cancelled, page ${this._pageIndex+1}`,"canvas",f))}operatorListChanged(){var n;if(!this.graphicsReady){this.graphicsReadyCallback||(this.graphicsReadyCallback=this._continueBound);return}(n=this.stepper)==null||n.updateOperatorList(this.operatorList),!this.running&&this._continue()}_continue(){this.running=!0,!this.cancelled&&(this.task.onContinue?this.task.onContinue(this._scheduleNextBound):this._scheduleNext())}_scheduleNext(){this._useRequestAnimationFrame?window.requestAnimationFrame(()=>{this._nextBound().catch(this._cancelBound)}):Promise.resolve().then(this._nextBound).catch(this._cancelBound)}async _next(){this.cancelled||(this.operatorListIdx=this.gfx.executeOperatorList(this.operatorList,this.operatorListIdx,this._continueBound,this.stepper),this.operatorListIdx===this.operatorList.argsArray.length&&(this.running=!1,this.operatorList.lastChunk&&(this.gfx.endDrawing(this.pageColors),this._canvas&&c(e,t).delete(this._canvas),this.callback())))}};let InternalRenderTask=e;t=new WeakMap,$(InternalRenderTask,t,new WeakSet);const version="3.6.172";exports.version=version;const build="4d3dfe254";exports.build=build},(x,o,X)=>{var N,b,d,bi,w;Object.defineProperty(o,"__esModule",{value:!0}),o.PrintAnnotationStorage=o.AnnotationStorage=void 0;var P=X(1),O=X(4),pe=X(8);class G{constructor(){$(this,d);$(this,N,!1);$(this,b,new Map);this.onSetModified=null,this.onResetModified=null,this.onAnnotationEditor=null}getValue(r,h){const a=c(this,b).get(r);return a===void 0?h:Object.assign(h,a)}getRawValue(r){return c(this,b).get(r)}remove(r){if(c(this,b).delete(r),c(this,b).size===0&&this.resetModified(),typeof this.onAnnotationEditor=="function"){for(const h of c(this,b).values())if(h instanceof O.AnnotationEditor)return;this.onAnnotationEditor(null)}}setValue(r,h){const a=c(this,b).get(r);let g=!1;if(a!==void 0)for(const[_,v]of Object.entries(h))a[_]!==v&&(g=!0,a[_]=v);else g=!0,c(this,b).set(r,h);g&&Z(this,d,bi).call(this),h instanceof O.AnnotationEditor&&typeof this.onAnnotationEditor=="function"&&this.onAnnotationEditor(h.constructor._type)}has(r){return c(this,b).has(r)}getAll(){return c(this,b).size>0?(0,P.objectFromMap)(c(this,b)):null}setAll(r){for(const[h,a]of Object.entries(r))this.setValue(h,a)}get size(){return c(this,b).size}resetModified(){c(this,N)&&(_e(this,N,!1),typeof this.onResetModified=="function"&&this.onResetModified())}get print(){return new D(this)}get serializable(){if(c(this,b).size===0)return null;const r=new Map;for(const[h,a]of c(this,b)){const g=a instanceof O.AnnotationEditor?a.serialize():a;g&&r.set(h,g)}return r}static getHash(r){if(!r)return"";const h=new pe.MurmurHash3_64;for(const[a,g]of r)h.update(`${a}:${JSON.stringify(g)}`);return h.hexdigest()}}N=new WeakMap,b=new WeakMap,d=new WeakSet,bi=function(){c(this,N)||(_e(this,N,!0),typeof this.onSetModified=="function"&&this.onSetModified())},o.AnnotationStorage=G;class D extends G{constructor(h){super();$(this,w,null);_e(this,w,structuredClone(h.serializable))}get print(){(0,P.unreachable)("Should not call PrintAnnotationStorage.print")}get serializable(){return c(this,w)}}w=new WeakMap,o.PrintAnnotationStorage=D},(x,o,X)=>{var G,D,N,b,d,k;Object.defineProperty(o,"__esModule",{value:!0}),o.AnnotationEditor=void 0;var P=X(5),O=X(1);const w=class{constructor(r){$(this,G,this.focusin.bind(this));$(this,D,this.focusout.bind(this));$(this,N,!1);$(this,b,!1);$(this,d,!1);je(this,"_uiManager",null);$(this,k,w._zIndex++);this.constructor===w&&(0,O.unreachable)("Cannot initialize AnnotationEditor."),this.parent=r.parent,this.id=r.id,this.width=this.height=null,this.pageIndex=r.parent.pageIndex,this.name=r.name,this.div=null,this._uiManager=r.uiManager;const{rotation:h,rawDims:{pageWidth:a,pageHeight:g,pageX:_,pageY:v}}=this.parent.viewport;this.rotation=h,this.pageRotation=(360+h-this._uiManager.viewParameters.rotation)%360,this.pageDimensions=[a,g],this.pageTranslation=[_,v];const[p,t]=this.parentDimensions;this.x=r.x/p,this.y=r.y/t,this.isAttachedToDOM=!1}static get _defaultLineColor(){return(0,O.shadow)(this,"_defaultLineColor",this._colorManager.getHexCode("CanvasText"))}addCommands(r){this._uiManager.addCommands(r)}get currentLayer(){return this._uiManager.currentLayer}setInBackground(){this.div.style.zIndex=0}setInForeground(){this.div.style.zIndex=c(this,k)}setParent(r){r!==null&&(this.pageIndex=r.pageIndex,this.pageDimensions=r.pageDimensions),this.parent=r}focusin(r){c(this,N)?_e(this,N,!1):this.parent.setSelected(this)}focusout(r){var a;if(!this.isAttachedToDOM)return;const h=r.relatedTarget;h!=null&&h.closest(`#${this.id}`)||(r.preventDefault(),(a=this.parent)!=null&&a.isMultipleSelection||this.commitOrRemove())}commitOrRemove(){this.isEmpty()?this.remove():this.commit()}commit(){this.addToAnnotationStorage()}addToAnnotationStorage(){this._uiManager.addToAnnotationStorage(this)}dragstart(r){const h=this.parent.div.getBoundingClientRect();this.startX=r.clientX-h.x,this.startY=r.clientY-h.y,r.dataTransfer.setData("text/plain",this.id),r.dataTransfer.effectAllowed="move"}setAt(r,h,a,g){const[_,v]=this.parentDimensions;[a,g]=this.screenToPageTranslation(a,g),this.x=(r+a)/_,this.y=(h+g)/v,this.div.style.left=`${100*this.x}%`,this.div.style.top=`${100*this.y}%`}translate(r,h){const[a,g]=this.parentDimensions;[r,h]=this.screenToPageTranslation(r,h),this.x+=r/a,this.y+=h/g,this.div.style.left=`${100*this.x}%`,this.div.style.top=`${100*this.y}%`}screenToPageTranslation(r,h){switch(this.parentRotation){case 90:return[h,-r];case 180:return[-r,-h];case 270:return[-h,r];default:return[r,h]}}get parentScale(){return this._uiManager.viewParameters.realScale}get parentRotation(){return(this._uiManager.viewParameters.rotation+this.pageRotation)%360}get parentDimensions(){const{realScale:r}=this._uiManager.viewParameters,[h,a]=this.pageDimensions;return[h*r,a*r]}setDims(r,h){const[a,g]=this.parentDimensions;this.div.style.width=`${100*r/a}%`,this.div.style.height=`${100*h/g}%`}fixDims(){const{style:r}=this.div,{height:h,width:a}=r,g=a.endsWith("%"),_=h.endsWith("%");if(g&&_)return;const[v,p]=this.parentDimensions;g||(r.width=`${100*parseFloat(a)/v}%`),_||(r.height=`${100*parseFloat(h)/p}%`)}getInitialTranslation(){return[0,0]}render(){this.div=document.createElement("div"),this.div.setAttribute("data-editor-rotation",(360-this.rotation)%360),this.div.className=this.name,this.div.setAttribute("id",this.id),this.div.setAttribute("tabIndex",0),this.setInForeground(),this.div.addEventListener("focusin",c(this,G)),this.div.addEventListener("focusout",c(this,D));const[r,h]=this.getInitialTranslation();return this.translate(r,h),(0,P.bindEvents)(this,this.div,["dragstart","pointerdown"]),this.div}pointerdown(r){const{isMac:h}=O.FeatureTest.platform;if(r.button!==0||r.ctrlKey&&h){r.preventDefault();return}r.ctrlKey&&!h||r.shiftKey||r.metaKey&&h?this.parent.toggleSelected(this):this.parent.setSelected(this),_e(this,N,!0)}getRect(r,h){const a=this.parentScale,[g,_]=this.pageDimensions,[v,p]=this.pageTranslation,t=r/a,e=h/a,s=this.x*g,n=this.y*_,f=this.width*g,T=this.height*_;switch(this.rotation){case 0:return[s+t+v,_-n-e-T+p,s+t+f+v,_-n-e+p];case 90:return[s+e+v,_-n+t+p,s+e+T+v,_-n+t+f+p];case 180:return[s-t-f+v,_-n+e+p,s-t+v,_-n+e+T+p];case 270:return[s-e-T+v,_-n-t-f+p,s-e+v,_-n-t+p];default:throw new Error("Invalid rotation")}}getRectInCurrentCoords(r,h){const[a,g,_,v]=r,p=_-a,t=v-g;switch(this.rotation){case 0:return[a,h-v,p,t];case 90:return[a,h-g,t,p];case 180:return[_,h-g,p,t];case 270:return[_,h-v,t,p];default:throw new Error("Invalid rotation")}}onceAdded(){}isEmpty(){return!1}enableEditMode(){_e(this,d,!0)}disableEditMode(){_e(this,d,!1)}isInEditMode(){return c(this,d)}shouldGetKeyboardEvents(){return!1}needsToBeRebuilt(){return this.div&&!this.isAttachedToDOM}rebuild(){var r;(r=this.div)==null||r.addEventListener("focusin",c(this,G))}serialize(){(0,O.unreachable)("An editor must be serializable")}static deserialize(r,h,a){const g=new this.prototype.constructor({parent:h,id:h.getNextId(),uiManager:a});g.rotation=r.rotation;const[_,v]=g.pageDimensions,[p,t,e,s]=g.getRectInCurrentCoords(r.rect,v);return g.x=p/_,g.y=t/v,g.width=e/_,g.height=s/v,g}remove(){this.div.removeEventListener("focusin",c(this,G)),this.div.removeEventListener("focusout",c(this,D)),this.isEmpty()||this.commit(),this.parent.remove(this)}select(){var r;(r=this.div)==null||r.classList.add("selectedEditor")}unselect(){var r;(r=this.div)==null||r.classList.remove("selectedEditor")}updateParams(r,h){}disableEditing(){}enableEditing(){}get propertiesToUpdate(){return{}}get contentDiv(){return this.div}get isEditing(){return c(this,b)}set isEditing(r){_e(this,b,r),r?(this.parent.setSelected(this),this.parent.setActiveEditor(this)):this.parent.setActiveEditor(null)}};let pe=w;G=new WeakMap,D=new WeakMap,N=new WeakMap,b=new WeakMap,d=new WeakMap,k=new WeakMap,je(pe,"_colorManager",new P.ColorManager),je(pe,"_zIndex",1),o.AnnotationEditor=pe},(x,o,X)=>{var w,y,r,h,a,g,vi,p,t,e,s,n,f,T,l,I,K,le,H,ee,ae,te,ge,ye,Q,Ce,Ee,J,A,C,F,yi,j,Rt,U,Ai,z,Si,u,Ke,R,ct,W,Ei,B,Pi,ce,Lt,ue,ht,ve,kt;Object.defineProperty(o,"__esModule",{value:!0}),o.KeyboardManager=o.CommandManager=o.ColorManager=o.AnnotationEditorUIManager=void 0,o.bindEvents=pe,o.opacityToHex=G;var P=X(1),O=X(6);function pe(Re,oe,we){for(const Me of we)oe.addEventListener(Me,Re[Me].bind(Re))}function G(Re){return Math.round(Math.min(255,Math.max(1,255*Re))).toString(16).padStart(2,"0")}class D{constructor(){$(this,w,0)}getId(){return`${P.AnnotationEditorPrefix}${lt(this,w)._++}`}}w=new WeakMap;class N{constructor(oe=128){$(this,y,[]);$(this,r,!1);$(this,h,void 0);$(this,a,-1);_e(this,h,oe)}add({cmd:oe,undo:we,mustExec:Me,type:Oe=NaN,overwriteIfSameType:E=!1,keepUndo:m=!1}){if(Me&&oe(),c(this,r))return;const M={cmd:oe,undo:we,type:Oe};if(c(this,a)===-1){c(this,y).length>0&&(c(this,y).length=0),_e(this,a,0),c(this,y).push(M);return}if(E&&c(this,y)[c(this,a)].type===Oe){m&&(M.undo=c(this,y)[c(this,a)].undo),c(this,y)[c(this,a)]=M;return}const ie=c(this,a)+1;ie===c(this,h)?c(this,y).splice(0,1):(_e(this,a,ie),ieE===we[m]))return v._colorsMapping.get(Me);return we}getHexCode(oe){const we=this._colors.get(oe);return we?P.Util.makeHexColor(...we):oe}};let d=v;je(d,"_colorsMapping",new Map([["CanvasText",[0,0,0]],["Canvas",[255,255,255]]])),o.ColorManager=d;const Pe=class{constructor(oe,we,Me){$(this,F);$(this,j);$(this,U);$(this,z);$(this,u);$(this,R);$(this,W);$(this,B);$(this,ce);$(this,ue);$(this,ve);$(this,p,null);$(this,t,new Map);$(this,e,new Map);$(this,s,null);$(this,n,new N);$(this,f,0);$(this,T,null);$(this,l,new Set);$(this,I,null);$(this,K,new D);$(this,le,!1);$(this,H,P.AnnotationEditorType.NONE);$(this,ee,new Set);$(this,ae,this.copy.bind(this));$(this,te,this.cut.bind(this));$(this,ge,this.paste.bind(this));$(this,ye,this.keydown.bind(this));$(this,Q,this.onEditingAction.bind(this));$(this,Ce,this.onPageChanging.bind(this));$(this,Ee,this.onScaleChanging.bind(this));$(this,J,this.onRotationChanging.bind(this));$(this,A,{isEditing:!1,isEmpty:!0,hasSomethingToUndo:!1,hasSomethingToRedo:!1,hasSelectedEditor:!1});$(this,C,null);_e(this,C,oe),_e(this,I,we),c(this,I)._on("editingaction",c(this,Q)),c(this,I)._on("pagechanging",c(this,Ce)),c(this,I)._on("scalechanging",c(this,Ee)),c(this,I)._on("rotationchanging",c(this,J)),_e(this,s,Me),this.viewParameters={realScale:O.PixelsPerInch.PDF_TO_CSS_UNITS,rotation:0}}destroy(){Z(this,j,Rt).call(this),c(this,I)._off("editingaction",c(this,Q)),c(this,I)._off("pagechanging",c(this,Ce)),c(this,I)._off("scalechanging",c(this,Ee)),c(this,I)._off("rotationchanging",c(this,J));for(const oe of c(this,e).values())oe.destroy();c(this,e).clear(),c(this,t).clear(),c(this,l).clear(),_e(this,p,null),c(this,ee).clear(),c(this,n).destroy()}onPageChanging({pageNumber:oe}){_e(this,f,oe-1)}focusMainContainer(){c(this,C).focus()}addShouldRescale(oe){c(this,l).add(oe)}removeShouldRescale(oe){c(this,l).delete(oe)}onScaleChanging({scale:oe}){this.commitOrRemove(),this.viewParameters.realScale=oe*O.PixelsPerInch.PDF_TO_CSS_UNITS;for(const we of c(this,l))we.onScaleChanging()}onRotationChanging({pagesRotation:oe}){this.commitOrRemove(),this.viewParameters.rotation=oe}addToAnnotationStorage(oe){!oe.isEmpty()&&c(this,s)&&!c(this,s).has(oe.id)&&c(this,s).setValue(oe.id,oe)}copy(oe){if(oe.preventDefault(),c(this,p)&&c(this,p).commitOrRemove(),!this.hasSelection)return;const we=[];for(const Me of c(this,ee))Me.isEmpty()||we.push(Me.serialize());we.length!==0&&oe.clipboardData.setData("application/pdfjs",JSON.stringify(we))}cut(oe){this.copy(oe),this.delete()}paste(oe){oe.preventDefault();let we=oe.clipboardData.getData("application/pdfjs");if(!we)return;try{we=JSON.parse(we)}catch(Oe){(0,P.warn)(`paste: "${Oe.message}".`);return}if(!Array.isArray(we))return;this.unselectAll();const Me=c(this,e).get(c(this,f));try{const Oe=[];for(const M of we){const ie=Me.deserialize(M);if(!ie)return;Oe.push(ie)}const E=()=>{for(const M of Oe)Z(this,ce,Lt).call(this,M);Z(this,ve,kt).call(this,Oe)},m=()=>{for(const M of Oe)M.remove()};this.addCommands({cmd:E,undo:m,mustExec:!0})}catch(Oe){(0,P.warn)(`paste: "${Oe.message}".`)}}keydown(oe){var we;(we=this.getActive())!=null&&we.shouldGetKeyboardEvents()||Pe._keyboardManager.exec(this,oe)}onEditingAction(oe){["undo","redo","delete","selectAll"].includes(oe.name)&&this[oe.name]()}setEditingState(oe){oe?(Z(this,F,yi).call(this),Z(this,U,Ai).call(this),Z(this,u,Ke).call(this,{isEditing:c(this,H)!==P.AnnotationEditorType.NONE,isEmpty:Z(this,ue,ht).call(this),hasSomethingToUndo:c(this,n).hasSomethingToUndo(),hasSomethingToRedo:c(this,n).hasSomethingToRedo(),hasSelectedEditor:!1})):(Z(this,j,Rt).call(this),Z(this,z,Si).call(this),Z(this,u,Ke).call(this,{isEditing:!1}))}registerEditorTypes(oe){if(!c(this,T)){_e(this,T,oe);for(const we of c(this,T))Z(this,R,ct).call(this,we.defaultPropertiesToUpdate)}}getId(){return c(this,K).getId()}get currentLayer(){return c(this,e).get(c(this,f))}get currentPageIndex(){return c(this,f)}addLayer(oe){c(this,e).set(oe.pageIndex,oe),c(this,le)?oe.enable():oe.disable()}removeLayer(oe){c(this,e).delete(oe.pageIndex)}updateMode(oe){if(_e(this,H,oe),oe===P.AnnotationEditorType.NONE)this.setEditingState(!1),Z(this,B,Pi).call(this);else{this.setEditingState(!0),Z(this,W,Ei).call(this);for(const we of c(this,e).values())we.updateMode(oe)}}updateToolbar(oe){oe!==c(this,H)&&c(this,I).dispatch("switchannotationeditormode",{source:this,mode:oe})}updateParams(oe,we){if(c(this,T)){for(const Me of c(this,ee))Me.updateParams(oe,we);for(const Me of c(this,T))Me.updateDefaultParams(oe,we)}}getEditors(oe){const we=[];for(const Me of c(this,t).values())Me.pageIndex===oe&&we.push(Me);return we}getEditor(oe){return c(this,t).get(oe)}addEditor(oe){c(this,t).set(oe.id,oe)}removeEditor(oe){var we;c(this,t).delete(oe.id),this.unselect(oe),(we=c(this,s))==null||we.remove(oe.id)}setActiveEditor(oe){c(this,p)!==oe&&(_e(this,p,oe),oe&&Z(this,R,ct).call(this,oe.propertiesToUpdate))}toggleSelected(oe){if(c(this,ee).has(oe)){c(this,ee).delete(oe),oe.unselect(),Z(this,u,Ke).call(this,{hasSelectedEditor:this.hasSelection});return}c(this,ee).add(oe),oe.select(),Z(this,R,ct).call(this,oe.propertiesToUpdate),Z(this,u,Ke).call(this,{hasSelectedEditor:!0})}setSelected(oe){for(const we of c(this,ee))we!==oe&&we.unselect();c(this,ee).clear(),c(this,ee).add(oe),oe.select(),Z(this,R,ct).call(this,oe.propertiesToUpdate),Z(this,u,Ke).call(this,{hasSelectedEditor:!0})}isSelected(oe){return c(this,ee).has(oe)}unselect(oe){oe.unselect(),c(this,ee).delete(oe),Z(this,u,Ke).call(this,{hasSelectedEditor:this.hasSelection})}get hasSelection(){return c(this,ee).size!==0}undo(){c(this,n).undo(),Z(this,u,Ke).call(this,{hasSomethingToUndo:c(this,n).hasSomethingToUndo(),hasSomethingToRedo:!0,isEmpty:Z(this,ue,ht).call(this)})}redo(){c(this,n).redo(),Z(this,u,Ke).call(this,{hasSomethingToUndo:!0,hasSomethingToRedo:c(this,n).hasSomethingToRedo(),isEmpty:Z(this,ue,ht).call(this)})}addCommands(oe){c(this,n).add(oe),Z(this,u,Ke).call(this,{hasSomethingToUndo:!0,hasSomethingToRedo:!1,isEmpty:Z(this,ue,ht).call(this)})}delete(){if(this.commitOrRemove(),!this.hasSelection)return;const oe=[...c(this,ee)],we=()=>{for(const Oe of oe)Oe.remove()},Me=()=>{for(const Oe of oe)Z(this,ce,Lt).call(this,Oe)};this.addCommands({cmd:we,undo:Me,mustExec:!0})}commitOrRemove(){var oe;(oe=c(this,p))==null||oe.commitOrRemove()}selectAll(){for(const oe of c(this,ee))oe.commit();Z(this,ve,kt).call(this,c(this,t).values())}unselectAll(){if(c(this,p)){c(this,p).commitOrRemove();return}if(c(this,ee).size!==0){for(const oe of c(this,ee))oe.unselect();c(this,ee).clear(),Z(this,u,Ke).call(this,{hasSelectedEditor:!1})}}isActive(oe){return c(this,p)===oe}getActive(){return c(this,p)}getMode(){return c(this,H)}};let k=Pe;p=new WeakMap,t=new WeakMap,e=new WeakMap,s=new WeakMap,n=new WeakMap,f=new WeakMap,T=new WeakMap,l=new WeakMap,I=new WeakMap,K=new WeakMap,le=new WeakMap,H=new WeakMap,ee=new WeakMap,ae=new WeakMap,te=new WeakMap,ge=new WeakMap,ye=new WeakMap,Q=new WeakMap,Ce=new WeakMap,Ee=new WeakMap,J=new WeakMap,A=new WeakMap,C=new WeakMap,F=new WeakSet,yi=function(){c(this,C).addEventListener("keydown",c(this,ye))},j=new WeakSet,Rt=function(){c(this,C).removeEventListener("keydown",c(this,ye))},U=new WeakSet,Ai=function(){document.addEventListener("copy",c(this,ae)),document.addEventListener("cut",c(this,te)),document.addEventListener("paste",c(this,ge))},z=new WeakSet,Si=function(){document.removeEventListener("copy",c(this,ae)),document.removeEventListener("cut",c(this,te)),document.removeEventListener("paste",c(this,ge))},u=new WeakSet,Ke=function(oe){Object.entries(oe).some(([Me,Oe])=>c(this,A)[Me]!==Oe)&&c(this,I).dispatch("annotationeditorstateschanged",{source:this,details:Object.assign(c(this,A),oe)})},R=new WeakSet,ct=function(oe){c(this,I).dispatch("annotationeditorparamschanged",{source:this,details:oe})},W=new WeakSet,Ei=function(){if(!c(this,le)){_e(this,le,!0);for(const oe of c(this,e).values())oe.enable()}},B=new WeakSet,Pi=function(){if(this.unselectAll(),c(this,le)){_e(this,le,!1);for(const oe of c(this,e).values())oe.disable()}},ce=new WeakSet,Lt=function(oe){const we=c(this,e).get(oe.pageIndex);we?we.addOrRebuild(oe):this.addEditor(oe)},ue=new WeakSet,ht=function(){if(c(this,t).size===0)return!0;if(c(this,t).size===1)for(const oe of c(this,t).values())return oe.isEmpty();return!1},ve=new WeakSet,kt=function(oe){c(this,ee).clear();for(const we of oe)we.isEmpty()||(c(this,ee).add(we),we.select());Z(this,u,Ke).call(this,{hasSelectedEditor:!0})},je(k,"_keyboardManager",new b([[["ctrl+a","mac+meta+a"],Pe.prototype.selectAll],[["ctrl+z","mac+meta+z"],Pe.prototype.undo],[["ctrl+y","ctrl+shift+Z","mac+meta+shift+Z"],Pe.prototype.redo],[["Backspace","alt+Backspace","ctrl+Backspace","shift+Backspace","mac+Backspace","mac+alt+Backspace","mac+ctrl+Backspace","Delete","ctrl+Delete","shift+Delete"],Pe.prototype.delete],[["Escape","mac+Escape"],Pe.prototype.unselectAll]])),o.AnnotationEditorUIManager=k},(x,o,X)=>{var ae,te,ge,ye,Q,Ce,Ee,J,A,st,F,et,j,Ze;Object.defineProperty(o,"__esModule",{value:!0}),o.StatTimer=o.RenderingCancelledException=o.PixelsPerInch=o.PageViewport=o.PDFDateString=o.DOMStandardFontDataFactory=o.DOMSVGFactory=o.DOMFilterFactory=o.DOMCanvasFactory=o.DOMCMapReaderFactory=o.AnnotationPrefix=void 0,o.deprecated=s,o.getColorValues=I,o.getCurrentTransform=K,o.getCurrentTransformInverse=le,o.getFilenameFromUrl=_,o.getPdfFilenameFromUrl=v,o.getRGB=l,o.getXfaPageViewport=T,o.isDataScheme=a,o.isPdfFile=g,o.isValidFetchUrl=t,o.loadScript=e,o.setLayerDimensions=H;var P=X(7),O=X(1);const pe="http://www.w3.org/2000/svg",G="pdfjs_internal_id_";o.AnnotationPrefix=G;const ee=class{};let D=ee;je(D,"CSS",96),je(D,"PDF",72),je(D,"PDF_TO_CSS_UNITS",ee.CSS/ee.PDF),o.PixelsPerInch=D;class N extends P.BaseFilterFactory{constructor({docId:z,ownerDocument:i=globalThis.document}={}){super();$(this,A);$(this,F);$(this,j);$(this,ae,void 0);$(this,te,void 0);$(this,ge,void 0);$(this,ye,void 0);$(this,Q,void 0);$(this,Ce,void 0);$(this,Ee,void 0);$(this,J,0);_e(this,ge,z),_e(this,ye,i)}addFilter(z){if(!z)return"none";let i=c(this,A,st).get(z);if(i)return i;let u,S,R,L;if(z.length===1){const ce=z[0],ne=new Array(256);for(let ue=0;ue<256;ue++)ne[ue]=ce[ue]/255;L=u=S=R=ne.join(",")}else{const[ce,ne,ue]=z,be=new Array(256),ve=new Array(256),xe=new Array(256);for(let Pe=0;Pe<256;Pe++)be[Pe]=ce[Pe]/255,ve[Pe]=ne[Pe]/255,xe[Pe]=ue[Pe]/255;u=be.join(","),S=ve.join(","),R=xe.join(","),L=`${u}${S}${R}`}if(i=c(this,A,st).get(L),i)return c(this,A,st).set(z,i),i;const W=`g_${c(this,ge)}_transfer_map_${lt(this,J)._++}`,me=`url(#${W})`;c(this,A,st).set(z,me),c(this,A,st).set(L,me);const B=c(this,ye).createElementNS(pe,"filter",pe);B.setAttribute("id",W),B.setAttribute("color-interpolation-filters","sRGB");const q=c(this,ye).createElementNS(pe,"feComponentTransfer");return B.append(q),Z(this,j,Ze).call(this,q,"feFuncR",u),Z(this,j,Ze).call(this,q,"feFuncG",S),Z(this,j,Ze).call(this,q,"feFuncB",R),c(this,F,et).append(B),me}addHCMFilter(z,i){var ue;const u=`${z}-${i}`;if(c(this,Ce)===u)return c(this,Ee);if(_e(this,Ce,u),_e(this,Ee,"none"),(ue=c(this,Q))==null||ue.remove(),!z||!i)return c(this,Ee);c(this,F,et).style.color=z,z=getComputedStyle(c(this,F,et)).getPropertyValue("color");const S=l(z);z=O.Util.makeHexColor(...S),c(this,F,et).style.color=i,i=getComputedStyle(c(this,F,et)).getPropertyValue("color");const R=l(i);if(i=O.Util.makeHexColor(...R),c(this,F,et).style.color="",z==="#000000"&&i==="#ffffff"||z===i)return c(this,Ee);const L=new Array(256);for(let be=0;be<=255;be++){const ve=be/255;L[be]=ve<=.03928?ve/12.92:((ve+.055)/1.055)**2.4}const W=L.join(","),me=`g_${c(this,ge)}_hcm_filter`,B=_e(this,Q,c(this,ye).createElementNS(pe,"filter",pe));B.setAttribute("id",me),B.setAttribute("color-interpolation-filters","sRGB");let q=c(this,ye).createElementNS(pe,"feComponentTransfer");B.append(q),Z(this,j,Ze).call(this,q,"feFuncR",W),Z(this,j,Ze).call(this,q,"feFuncG",W),Z(this,j,Ze).call(this,q,"feFuncB",W);const ce=c(this,ye).createElementNS(pe,"feColorMatrix");ce.setAttribute("type","matrix"),ce.setAttribute("values","0.2126 0.7152 0.0722 0 0 0.2126 0.7152 0.0722 0 0 0.2126 0.7152 0.0722 0 0 0 0 0 1 0"),B.append(ce),q=c(this,ye).createElementNS(pe,"feComponentTransfer"),B.append(q);const ne=(be,ve)=>{const xe=S[be]/255,Pe=R[be]/255,Re=new Array(ve+1);for(let oe=0;oe<=ve;oe++)Re[oe]=xe+oe/ve*(Pe-xe);return Re.join(",")};return Z(this,j,Ze).call(this,q,"feFuncR",ne(0,5)),Z(this,j,Ze).call(this,q,"feFuncG",ne(1,5)),Z(this,j,Ze).call(this,q,"feFuncB",ne(2,5)),c(this,F,et).append(B),_e(this,Ee,`url(#${me})`),c(this,Ee)}destroy(z=!1){z&&c(this,Ee)||(c(this,te)&&(c(this,te).parentNode.parentNode.remove(),_e(this,te,null)),c(this,ae)&&(c(this,ae).clear(),_e(this,ae,null)),_e(this,J,0))}}ae=new WeakMap,te=new WeakMap,ge=new WeakMap,ye=new WeakMap,Q=new WeakMap,Ce=new WeakMap,Ee=new WeakMap,J=new WeakMap,A=new WeakSet,st=function(){return c(this,ae)||_e(this,ae,new Map)},F=new WeakSet,et=function(){if(!c(this,te)){const z=c(this,ye).createElement("div"),{style:i}=z;i.visibility="hidden",i.contain="strict",i.width=i.height=0,i.position="absolute",i.top=i.left=0,i.zIndex=-1;const u=c(this,ye).createElementNS(pe,"svg");u.setAttribute("width",0),u.setAttribute("height",0),_e(this,te,c(this,ye).createElementNS(pe,"defs")),z.append(u),u.append(c(this,te)),c(this,ye).body.append(z)}return c(this,te)},j=new WeakSet,Ze=function(z,i,u){const S=c(this,ye).createElementNS(pe,i);S.setAttribute("type","discrete"),S.setAttribute("tableValues",u),z.append(S)},o.DOMFilterFactory=N;class b extends P.BaseCanvasFactory{constructor({ownerDocument:V=globalThis.document}={}){super(),this._document=V}_createCanvas(V,z){const i=this._document.createElement("canvas");return i.width=V,i.height=z,i}}o.DOMCanvasFactory=b;async function d(U,V=!1){if(t(U,document.baseURI)){const z=await fetch(U);if(!z.ok)throw new Error(z.statusText);return V?new Uint8Array(await z.arrayBuffer()):(0,O.stringToBytes)(await z.text())}return new Promise((z,i)=>{const u=new XMLHttpRequest;u.open("GET",U,!0),V&&(u.responseType="arraybuffer"),u.onreadystatechange=()=>{if(u.readyState===XMLHttpRequest.DONE){if(u.status===200||u.status===0){let S;if(V&&u.response?S=new Uint8Array(u.response):!V&&u.responseText&&(S=(0,O.stringToBytes)(u.responseText)),S){z(S);return}}i(new Error(u.statusText))}},u.send(null)})}class k extends P.BaseCMapReaderFactory{_fetchData(V,z){return d(V,this.isCompressed).then(i=>({cMapData:i,compressionType:z}))}}o.DOMCMapReaderFactory=k;class w extends P.BaseStandardFontDataFactory{_fetchData(V){return d(V,!0)}}o.DOMStandardFontDataFactory=w;class y extends P.BaseSVGFactory{_createSVG(V){return document.createElementNS(pe,V)}}o.DOMSVGFactory=y;class r{constructor({viewBox:V,scale:z,rotation:i,offsetX:u=0,offsetY:S=0,dontFlip:R=!1}){this.viewBox=V,this.scale=z,this.rotation=i,this.offsetX=u,this.offsetY=S;const L=(V[2]+V[0])/2,W=(V[3]+V[1])/2;let me,B,q,ce;switch(i%=360,i<0&&(i+=360),i){case 180:me=-1,B=0,q=0,ce=1;break;case 90:me=0,B=1,q=1,ce=0;break;case 270:me=0,B=-1,q=-1,ce=0;break;case 0:me=1,B=0,q=0,ce=-1;break;default:throw new Error("PageViewport: Invalid rotation, must be a multiple of 90 degrees.")}R&&(q=-q,ce=-ce);let ne,ue,be,ve;me===0?(ne=Math.abs(W-V[1])*z+u,ue=Math.abs(L-V[0])*z+S,be=(V[3]-V[1])*z,ve=(V[2]-V[0])*z):(ne=Math.abs(L-V[0])*z+u,ue=Math.abs(W-V[1])*z+S,be=(V[2]-V[0])*z,ve=(V[3]-V[1])*z),this.transform=[me*z,B*z,q*z,ce*z,ne-me*z*L-q*z*W,ue-B*z*L-ce*z*W],this.width=be,this.height=ve}get rawDims(){const{viewBox:V}=this;return(0,O.shadow)(this,"rawDims",{pageWidth:V[2]-V[0],pageHeight:V[3]-V[1],pageX:V[0],pageY:V[1]})}clone({scale:V=this.scale,rotation:z=this.rotation,offsetX:i=this.offsetX,offsetY:u=this.offsetY,dontFlip:S=!1}={}){return new r({viewBox:this.viewBox.slice(),scale:V,rotation:z,offsetX:i,offsetY:u,dontFlip:S})}convertToViewportPoint(V,z){return O.Util.applyTransform([V,z],this.transform)}convertToViewportRectangle(V){const z=O.Util.applyTransform([V[0],V[1]],this.transform),i=O.Util.applyTransform([V[2],V[3]],this.transform);return[z[0],z[1],i[0],i[1]]}convertToPdfPoint(V,z){return O.Util.applyInverseTransform([V,z],this.transform)}}o.PageViewport=r;class h extends O.BaseException{constructor(V,z,i=0){super(V,"RenderingCancelledException"),this.type=z,this.extraDelay=i}}o.RenderingCancelledException=h;function a(U){const V=U.length;let z=0;for(;zo in x?un(x,o,{enumerable:!0,configurable:!0,writable:!0,value:X}):x[o]=X;var je=(x,o,X)=>(dn(x,typeof o!="symbol"?o+"":o,X),X),Tt=(x,o,X)=>{if(!o.has(x))throw TypeError("Cannot "+X)};var c=(x,o,X)=>(Tt(x,o,"read from private field"),X?X.call(x):o.get(x)),$=(x,o,X)=>{if(o.has(x))throw TypeError("Cannot add the same private member more than once");o instanceof WeakSet?o.add(x):o.set(x,X)},_e=(x,o,X,P)=>(Tt(x,o,"write to private field"),P?P.call(x,X):o.set(x,X),X),lt=(x,o,X,P)=>({set _(O){_e(x,o,O,X)},get _(){return c(x,o,P)}}),Z=(x,o,X)=>(Tt(x,o,"access private method"),X);const resource$1={uploader:{specific_nb_drag_n_drop_label:x=>{const{normalize:o,interpolate:X,named:P,plural:O}=x;return O([o(["Glissez-déposez ici un fichier"]),o(["Glissez-déposez ici ",X(P("count"))," fichiers"])])},min_max_drag_n_drop_label:x=>{const{normalize:o,interpolate:X,named:P}=x;return o(["Glissez-déposez ici entre ",X(P("min"))," et ",X(P("max"))," fichiers"])},min_drag_n_drop_label:x=>{const{normalize:o,interpolate:X,named:P,plural:O}=x;return O([o(["Glissez-déposez ici au-moins un fichier"]),o(["Glissez-déposez ici au-moins ",X(P("count"))," fichiers"])])},max_drag_n_drop_label:x=>{const{normalize:o,interpolate:X,named:P,plural:O}=x;return O([o(["Glissez-déposez ici votre fichier"]),o(["Glissez-déposez ici vos fichiers (maximum ",X(P("count")),")"])])},drag_n_drop_label:x=>{const{normalize:o}=x;return o(["Glissez-déposez ici vos fichiers"])},add_file_label:x=>{const{normalize:o}=x;return o(["ou cliquez-ici"])},max_size_label:x=>{const{normalize:o,interpolate:X,named:P}=x;return o(["(taille maximum ",X(P("size")),")"])},trigger_upload:x=>{const{normalize:o}=x;return o(["Transférer"])}},upload_entry:{completion:x=>{const{normalize:o,interpolate:X,named:P}=x;return o([X(P("progress")),"% transférés"])},too_large:x=>{const{normalize:o}=x;return o(["Le fichier est trop lourd"])},wrong_type:x=>{const{normalize:o,interpolate:X,named:P,plural:O}=x;return O([o(['Le fichier doit être du type "',X(P("types")),'"']),o([`Le fichier doit être d'un des types suivants : "`,X(P("types")),'"'])])},crop_header:x=>{const{normalize:o}=x;return o(["Veuillez choisir la partie à garder."])},crop:x=>{const{normalize:o}=x;return o(["Recadrer"])},cancel:x=>{const{normalize:o}=x;return o(["Annuler"])}},view_entry:{rotate_left:x=>{const{normalize:o}=x;return o(["Faire pivoter l'image à gauche"])},rotate_right:x=>{const{normalize:o}=x;return o(["Faire pivoter l'image à droite"])},loading:x=>{const{normalize:o}=x;return o(["Chargement..."])},close:x=>{const{normalize:o}=x;return o(["Fermer"])},save:x=>{const{normalize:o}=x;return o(["Enregistrer"])},file_infected:x=>{const{normalize:o}=x;return o(["Le fichier référencé semble infecté par un virus"])}},editor:{pagination:x=>{const{normalize:o,interpolate:X,named:P}=x;return o([X(P("currentPage"))," de ",X(P("pages"))])},zoom:{auto:x=>{const{normalize:o}=x;return o(["Zoom automatique"])},"page-width":x=>{const{normalize:o}=x;return o(["Pleine largeur"])},"page-fit":x=>{const{normalize:o}=x;return o(["Page entière"])},"page-actual":x=>{const{normalize:o}=x;return o(["Taille réelle"])}},colors:{warning:x=>{const{normalize:o}=x;return o(["Jaune"])},danger:x=>{const{normalize:o}=x;return o(["Rouge"])},info:x=>{const{normalize:o}=x;return o(["Bleu"])},success:x=>{const{normalize:o}=x;return o(["Vert"])},muted:x=>{const{normalize:o}=x;return o(["Blanc"])}}},error:x=>{const{normalize:o,interpolate:X,named:P}=x;return o(["Erreur : ",X(P("error"))])},request_error:x=>{const{normalize:o,interpolate:X,named:P}=x;return o(["Erreur lors de la requête : ",X(P("error"))])},units:[x=>{const{normalize:o}=x;return o(["o"])},x=>{const{normalize:o}=x;return o(["Ko"])},x=>{const{normalize:o}=x;return o(["Mo"])},x=>{const{normalize:o}=x;return o(["Go"])},x=>{const{normalize:o}=x;return o(["To"])}]},resource={uploader:{specific_nb_drag_n_drop_label:x=>{const{normalize:o,interpolate:X,named:P,plural:O}=x;return O([o(["Drag and drop one file here"]),o(["Drag and drop ",X(P("count"))," files here"])])},min_max_drag_n_drop_label:x=>{const{normalize:o,interpolate:X,named:P}=x;return o(["Drag and drop between ",X(P("min"))," and ",X(P("max"))," files here"])},min_drag_n_drop_label:x=>{const{normalize:o,interpolate:X,named:P,plural:O}=x;return O([o(["Drag and drop at least one file here"]),o(["Drag and drop at least ",X(P("count"))," files here"])])},max_drag_n_drop_label:x=>{const{normalize:o,interpolate:X,named:P,plural:O}=x;return O([o(["Drag and drop your file here"]),o(["Drag and drop your files here (maximum ",X(P("count")),")"])])},drag_n_drop_label:x=>{const{normalize:o}=x;return o(["Drag and drop your files here"])},add_file_label:x=>{const{normalize:o}=x;return o(["or click here"])},max_size_label:x=>{const{normalize:o,interpolate:X,named:P}=x;return o(["(max size ",X(P("size")),")"])},trigger_upload:x=>{const{normalize:o}=x;return o(["Upload"])}},upload_entry:{completion:x=>{const{normalize:o,interpolate:X,named:P}=x;return o([X(P("progress")),"% uploaded"])},too_large:x=>{const{normalize:o}=x;return o(["File is too large"])},wrong_type:x=>{const{normalize:o,interpolate:X,named:P,plural:O}=x;return O([o(['The file must have the following type: "',X(P("types")),'"']),o(['The file must have one of the following types: "',X(P("types")),'"'])])},crop_header:x=>{const{normalize:o}=x;return o(["Please choose the part you want to keep."])},crop:x=>{const{normalize:o}=x;return o(["Crop"])},cancel:x=>{const{normalize:o}=x;return o(["Cancel"])}},view_entry:{rotate_left:x=>{const{normalize:o}=x;return o(["Rotate image left"])},rotate_right:x=>{const{normalize:o}=x;return o(["Rotate image right"])},loading:x=>{const{normalize:o}=x;return o(["Loading..."])},close:x=>{const{normalize:o}=x;return o(["Close"])},save:x=>{const{normalize:o}=x;return o(["Save"])},file_infected:x=>{const{normalize:o}=x;return o(["The referenced file appears to be infected with a virus"])}},editor:{pagination:x=>{const{normalize:o,interpolate:X,named:P}=x;return o([X(P("currentPage"))," of ",X(P("pages"))])},zoom:{auto:x=>{const{normalize:o}=x;return o(["Automatic Zoom"])},"page-width":x=>{const{normalize:o}=x;return o(["Page Width"])},"page-fit":x=>{const{normalize:o}=x;return o(["Page Fit"])},"page-actual":x=>{const{normalize:o}=x;return o(["Actual Size"])}},colors:{warning:x=>{const{normalize:o}=x;return o(["Yellow"])},danger:x=>{const{normalize:o}=x;return o(["Red"])},info:x=>{const{normalize:o}=x;return o(["Blue"])},success:x=>{const{normalize:o}=x;return o(["Green"])},muted:x=>{const{normalize:o}=x;return o(["White"])}}},error:x=>{const{normalize:o,interpolate:X,named:P}=x;return o(["Error: ",X(P("error"))])},request_error:x=>{const{normalize:o,interpolate:X,named:P}=x;return o(["Request error: ",X(P("error"))])},units:[x=>{const{normalize:o}=x;return o(["B"])},x=>{const{normalize:o}=x;return o(["KB"])},x=>{const{normalize:o}=x;return o(["MB"])},x=>{const{normalize:o}=x;return o(["GB"])},x=>{const{normalize:o}=x;return o(["TB"])}]},i18n=vueI18n.createI18n({locale:document.documentElement.lang||"en",allowComposition:!0,messages:{en:resource,fr:resource$1}}),_hoisted_1$4={class:"btn-group dropup annotation-dropdown"},_hoisted_2$4=vue.createElementVNode("button",{type:"button",class:"btn btn-default dropdown-toggle","data-toggle":"dropdown"},[vue.createElementVNode("span",{class:"caret"})],-1),_hoisted_3$4={class:"dropdown-menu"},_hoisted_4$4=["onClick"],_sfc_main$4=vue.defineComponent({__name:"ToolbarAnnotation",props:{isActivated:{type:Boolean},color:null,classPrefix:null,icon:null,colors:null},emits:["onChange"],setup(x){return(o,X)=>(vue.openBlock(),vue.createElementBlock("div",_hoisted_1$4,[vue.createElementVNode("button",{class:vue.normalizeClass(["btn",x.isActivated?"btn-primary":"btn-default"]),type:"button",onClick:X[0]||(X[0]=P=>o.$emit("onChange",x.isActivated?"":x.color||Object.values(x.colors)[0]))},[vue.createElementVNode("span",{class:vue.normalizeClass(["fas",x.icon])},null,2)],2),_hoisted_2$4,vue.createElementVNode("ul",_hoisted_3$4,[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(x.colors,(P,O)=>(vue.openBlock(),vue.createElementBlock("li",{key:O,class:vue.normalizeClass(`${x.classPrefix}-${O}`)},[vue.createElementVNode("a",{href:"#",class:vue.normalizeClass(`${x.classPrefix}-${O}`),onClick:vue.withModifiers(pe=>o.$emit("onChange",P),["prevent"])},vue.toDisplayString(o.$t(`editor.colors.${O}`)),11,_hoisted_4$4)],2))),128))])]))}}),ToolbarAnnotation_vue_vue_type_style_index_0_lang="",_hoisted_1$3={class:"btn-group"},_hoisted_2$3=vue.createElementVNode("span",{class:"fas fa-magnifying-glass-minus"},null,-1),_hoisted_3$3=[_hoisted_2$3],_hoisted_4$3={class:"btn-group dropup",role:"group"},_hoisted_5$3={type:"button",class:"btn btn-default dropdown-toggle","data-toggle":"dropdown","aria-haspopup":"true","aria-expanded":"false"},_hoisted_6$2=vue.createElementVNode("span",{class:"caret"},null,-1),_hoisted_7={class:"dropdown-menu"},_hoisted_8=["value"],_hoisted_9=["onClick"],_hoisted_10=vue.createElementVNode("span",{class:"fas fa-magnifying-glass-plus"},null,-1),_hoisted_11=[_hoisted_10],_sfc_main$3=vue.defineComponent({__name:"ToolbarZoom",props:{currentZoom:null},emits:["onZoomIn","onZoomOut","onSetScale"],setup(x){const{t:o}=vueI18n.useI18n(),X=["auto","page-actual","page-fit","page-width","0.5","0.75","1","1.25","1.5","2","3","4"];function P(O){return isNaN(parseFloat(O))?o(`editor.zoom.${O}`):`${Math.ceil(parseFloat(O)*100)}%`}return(O,pe)=>(vue.openBlock(),vue.createElementBlock("div",_hoisted_1$3,[vue.createElementVNode("button",{class:"btn btn-default",type:"button",onClick:pe[0]||(pe[0]=G=>O.$emit("onZoomOut"))},_hoisted_3$3),vue.createElementVNode("div",_hoisted_4$3,[vue.createElementVNode("button",_hoisted_5$3,[vue.createTextVNode(vue.toDisplayString(P(x.currentZoom))+" ",1),_hoisted_6$2]),vue.createElementVNode("ul",_hoisted_7,[(vue.openBlock(),vue.createElementBlock(vue.Fragment,null,vue.renderList(X,G=>vue.createElementVNode("li",{key:G,value:G,class:vue.normalizeClass(x.currentZoom==G?"active":"")},[vue.createElementVNode("a",{href:"#",onClick:vue.withModifiers(D=>O.$emit("onSetScale",G),["prevent"])},vue.toDisplayString(P(G)),9,_hoisted_9)],10,_hoisted_8)),64))])]),vue.createElementVNode("button",{class:"btn btn-default",type:"button",onClick:pe[1]||(pe[1]=G=>O.$emit("onZoomIn"))},_hoisted_11)]))}}),_hoisted_1$2={class:"btn-group"},_hoisted_2$2=vue.createElementVNode("span",{class:"fas fa-rotate-left"},null,-1),_hoisted_3$2=[_hoisted_2$2],_hoisted_4$2=vue.createElementVNode("span",{class:"fas fa-rotate-right"},null,-1),_hoisted_5$2=[_hoisted_4$2],_sfc_main$2=vue.defineComponent({__name:"ToolbarRotation",props:{currentRotation:null},emits:["onRotate"],setup(x){return(o,X)=>(vue.openBlock(),vue.createElementBlock("div",_hoisted_1$2,[vue.createElementVNode("button",{type:"button",class:"btn btn-default",onClick:X[0]||(X[0]=P=>o.$emit("onRotate",((x.currentRotation-90)%360+360)%360))},_hoisted_3$2),vue.createElementVNode("button",{type:"button",class:"btn btn-default",onClick:X[1]||(X[1]=P=>o.$emit("onRotate",((x.currentRotation+90)%360+360)%360))},_hoisted_5$2)]))}}),_hoisted_1$1={class:"btn-group"},_hoisted_2$1=vue.createElementVNode("span",{class:"fas fa-angle-up"},null,-1),_hoisted_3$1=[_hoisted_2$1],_hoisted_4$1={class:"btn btn-default disabled",role:"button"},_hoisted_5$1=vue.createElementVNode("span",{class:"fas fa-angle-down"},null,-1),_hoisted_6$1=[_hoisted_5$1],_sfc_main$1=vue.defineComponent({__name:"ToolbarPagination",props:{currentPage:null,pages:null},emits:["onChangeCurrentPage"],setup(x){return(o,X)=>(vue.openBlock(),vue.createElementBlock("div",_hoisted_1$1,[vue.createElementVNode("button",{class:vue.normalizeClass(["btn btn-default",{disabled:x.currentPage==1}]),type:"button",onClick:X[0]||(X[0]=P=>x.currentPage!=1&&o.$emit("onChangeCurrentPage",x.currentPage-1))},_hoisted_3$1,2),vue.createElementVNode("a",_hoisted_4$1,vue.toDisplayString(o.$t("editor.pagination",{currentPage:x.currentPage,pages:x.pages})),1),vue.createElementVNode("button",{class:vue.normalizeClass(["btn btn-default",{disabled:x.currentPage==x.pages}]),type:"button",onClick:X[1]||(X[1]=P=>x.currentPage!=x.pages&&o.$emit("onChangeCurrentPage",x.currentPage+1))},_hoisted_6$1,2)]))}});async function doRequest(x,o){const X=await fetch(x,{headers:{"Content-Type":"application/json"},...o});if(X.status>=200&&X.status<300)return X.json();throw new Error(X.statusText)}function getAugmentedNamespace(x){if(x.__esModule)return x;var o=x.default;if(typeof o=="function"){var X=function P(){if(this instanceof P){var O=[null];O.push.apply(O,arguments);var pe=Function.bind.apply(o,O);return new pe}return o.apply(this,arguments)};X.prototype=o.prototype}else X={};return Object.defineProperty(X,"__esModule",{value:!0}),Object.keys(x).forEach(function(P){var O=Object.getOwnPropertyDescriptor(x,P);Object.defineProperty(X,P,O.get?O:{enumerable:!0,get:function(){return x[P]}})}),X}function commonjsRequire(x){throw new Error('Could not dynamically require "'+x+'". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.')}var pdfExports={},pdf={get exports(){return pdfExports},set exports(x){pdfExports=x}};const __viteBrowserExternal={},__viteBrowserExternal$1=Object.freeze(Object.defineProperty({__proto__:null,default:__viteBrowserExternal},Symbol.toStringTag,{value:"Module"})),require$$5=getAugmentedNamespace(__viteBrowserExternal$1);(function(module,exports){(function(o,X){module.exports=X()})(globalThis,()=>(()=>{var __webpack_modules__=[,(x,o)=>{var Oe;Object.defineProperty(o,"__esModule",{value:!0}),o.VerbosityLevel=o.Util=o.UnknownErrorException=o.UnexpectedResponseException=o.TextRenderingMode=o.RenderingIntentFlag=o.PromiseCapability=o.PermissionFlag=o.PasswordResponses=o.PasswordException=o.PageActionEventType=o.OPS=o.MissingPDFException=o.MAX_IMAGE_SIZE_TO_CACHE=o.LINE_FACTOR=o.LINE_DESCENT_FACTOR=o.InvalidPDFException=o.ImageKind=o.IDENTITY_MATRIX=o.FormatError=o.FeatureTest=o.FONT_IDENTITY_MATRIX=o.DocumentActionEventType=o.CMapCompressionType=o.BaseException=o.BASELINE_FACTOR=o.AnnotationType=o.AnnotationStateModelType=o.AnnotationReviewState=o.AnnotationReplyType=o.AnnotationMode=o.AnnotationMarkedState=o.AnnotationFlag=o.AnnotationFieldFlag=o.AnnotationEditorType=o.AnnotationEditorPrefix=o.AnnotationEditorParamsType=o.AnnotationBorderStyleType=o.AnnotationActionEventType=o.AbortException=void 0,o.assert=Q,o.bytesToString=z,o.createValidAbsoluteUrl=Ee,o.getModificationDate=Pe,o.getVerbosityLevel=ae,o.info=te,o.isArrayBuffer=ve,o.isArrayEqual=xe,o.normalizeUnicode=Me,o.objectFromMap=R,o.objectSize=S,o.setVerbosityLevel=ee,o.shadow=J,o.string32=u,o.stringToBytes=i,o.stringToPDFString=ne,o.stringToUTF8String=ue,o.unreachable=ye,o.utf8StringToString=be,o.warn=ge;const X=[1,0,0,1,0,0];o.IDENTITY_MATRIX=X;const P=[.001,0,0,.001,0,0];o.FONT_IDENTITY_MATRIX=P;const O=1e7;o.MAX_IMAGE_SIZE_TO_CACHE=O;const pe=1.35;o.LINE_FACTOR=pe;const G=.35;o.LINE_DESCENT_FACTOR=G;const D=G/pe;o.BASELINE_FACTOR=D;const N={ANY:1,DISPLAY:2,PRINT:4,SAVE:8,ANNOTATIONS_FORMS:16,ANNOTATIONS_STORAGE:32,ANNOTATIONS_DISABLE:64,OPLIST:256};o.RenderingIntentFlag=N;const b={DISABLE:0,ENABLE:1,ENABLE_FORMS:2,ENABLE_STORAGE:3};o.AnnotationMode=b;const d="pdfjs_internal_editor_";o.AnnotationEditorPrefix=d;const k={DISABLE:-1,NONE:0,FREETEXT:3,INK:15};o.AnnotationEditorType=k;const w={FREETEXT_SIZE:1,FREETEXT_COLOR:2,FREETEXT_OPACITY:3,INK_COLOR:11,INK_THICKNESS:12,INK_OPACITY:13};o.AnnotationEditorParamsType=w;const y={PRINT:4,MODIFY_CONTENTS:8,COPY:16,MODIFY_ANNOTATIONS:32,FILL_INTERACTIVE_FORMS:256,COPY_FOR_ACCESSIBILITY:512,ASSEMBLE:1024,PRINT_HIGH_QUALITY:2048};o.PermissionFlag=y;const r={FILL:0,STROKE:1,FILL_STROKE:2,INVISIBLE:3,FILL_ADD_TO_PATH:4,STROKE_ADD_TO_PATH:5,FILL_STROKE_ADD_TO_PATH:6,ADD_TO_PATH:7,FILL_STROKE_MASK:3,ADD_TO_PATH_FLAG:4};o.TextRenderingMode=r;const h={GRAYSCALE_1BPP:1,RGB_24BPP:2,RGBA_32BPP:3};o.ImageKind=h;const a={TEXT:1,LINK:2,FREETEXT:3,LINE:4,SQUARE:5,CIRCLE:6,POLYGON:7,POLYLINE:8,HIGHLIGHT:9,UNDERLINE:10,SQUIGGLY:11,STRIKEOUT:12,STAMP:13,CARET:14,INK:15,POPUP:16,FILEATTACHMENT:17,SOUND:18,MOVIE:19,WIDGET:20,SCREEN:21,PRINTERMARK:22,TRAPNET:23,WATERMARK:24,THREED:25,REDACT:26};o.AnnotationType=a;const g={MARKED:"Marked",REVIEW:"Review"};o.AnnotationStateModelType=g;const _={MARKED:"Marked",UNMARKED:"Unmarked"};o.AnnotationMarkedState=_;const v={ACCEPTED:"Accepted",REJECTED:"Rejected",CANCELLED:"Cancelled",COMPLETED:"Completed",NONE:"None"};o.AnnotationReviewState=v;const p={GROUP:"Group",REPLY:"R"};o.AnnotationReplyType=p;const t={INVISIBLE:1,HIDDEN:2,PRINT:4,NOZOOM:8,NOROTATE:16,NOVIEW:32,READONLY:64,LOCKED:128,TOGGLENOVIEW:256,LOCKEDCONTENTS:512};o.AnnotationFlag=t;const e={READONLY:1,REQUIRED:2,NOEXPORT:4,MULTILINE:4096,PASSWORD:8192,NOTOGGLETOOFF:16384,RADIO:32768,PUSHBUTTON:65536,COMBO:131072,EDIT:262144,SORT:524288,FILESELECT:1048576,MULTISELECT:2097152,DONOTSPELLCHECK:4194304,DONOTSCROLL:8388608,COMB:16777216,RICHTEXT:33554432,RADIOSINUNISON:33554432,COMMITONSELCHANGE:67108864};o.AnnotationFieldFlag=e;const s={SOLID:1,DASHED:2,BEVELED:3,INSET:4,UNDERLINE:5};o.AnnotationBorderStyleType=s;const n={E:"Mouse Enter",X:"Mouse Exit",D:"Mouse Down",U:"Mouse Up",Fo:"Focus",Bl:"Blur",PO:"PageOpen",PC:"PageClose",PV:"PageVisible",PI:"PageInvisible",K:"Keystroke",F:"Format",V:"Validate",C:"Calculate"};o.AnnotationActionEventType=n;const f={WC:"WillClose",WS:"WillSave",DS:"DidSave",WP:"WillPrint",DP:"DidPrint"};o.DocumentActionEventType=f;const T={O:"PageOpen",C:"PageClose"};o.PageActionEventType=T;const l={ERRORS:0,WARNINGS:1,INFOS:5};o.VerbosityLevel=l;const I={NONE:0,BINARY:1};o.CMapCompressionType=I;const K={dependency:1,setLineWidth:2,setLineCap:3,setLineJoin:4,setMiterLimit:5,setDash:6,setRenderingIntent:7,setFlatness:8,setGState:9,save:10,restore:11,transform:12,moveTo:13,lineTo:14,curveTo:15,curveTo2:16,curveTo3:17,closePath:18,rectangle:19,stroke:20,closeStroke:21,fill:22,eoFill:23,fillStroke:24,eoFillStroke:25,closeFillStroke:26,closeEOFillStroke:27,endPath:28,clip:29,eoClip:30,beginText:31,endText:32,setCharSpacing:33,setWordSpacing:34,setHScale:35,setLeading:36,setFont:37,setTextRenderingMode:38,setTextRise:39,moveText:40,setLeadingMoveText:41,setTextMatrix:42,nextLine:43,showText:44,showSpacedText:45,nextLineShowText:46,nextLineSetSpacingShowText:47,setCharWidth:48,setCharWidthAndBounds:49,setStrokeColorSpace:50,setFillColorSpace:51,setStrokeColor:52,setStrokeColorN:53,setFillColor:54,setFillColorN:55,setStrokeGray:56,setFillGray:57,setStrokeRGBColor:58,setFillRGBColor:59,setStrokeCMYKColor:60,setFillCMYKColor:61,shadingFill:62,beginInlineImage:63,beginImageData:64,endInlineImage:65,paintXObject:66,markPoint:67,markPointProps:68,beginMarkedContent:69,beginMarkedContentProps:70,endMarkedContent:71,beginCompat:72,endCompat:73,paintFormXObjectBegin:74,paintFormXObjectEnd:75,beginGroup:76,endGroup:77,beginAnnotation:80,endAnnotation:81,paintImageMaskXObject:83,paintImageMaskXObjectGroup:84,paintImageXObject:85,paintInlineImageXObject:86,paintInlineImageXObjectGroup:87,paintImageXObjectRepeat:88,paintImageMaskXObjectRepeat:89,paintSolidColorImageMask:90,constructPath:91};o.OPS=K;const le={NEED_PASSWORD:1,INCORRECT_PASSWORD:2};o.PasswordResponses=le;let H=l.WARNINGS;function ee(E){Number.isInteger(E)&&(H=E)}function ae(){return H}function te(E){H>=l.INFOS&&console.log(`Info: ${E}`)}function ge(E){H>=l.WARNINGS&&console.log(`Warning: ${E}`)}function ye(E){throw new Error(E)}function Q(E,m){E||ye(m)}function Ce(E){switch(E==null?void 0:E.protocol){case"http:":case"https:":case"ftp:":case"mailto:":case"tel:":return!0;default:return!1}}function Ee(E,m=null,M=null){if(!E)return null;try{if(M&&typeof E=="string"){if(M.addDefaultProtocol&&E.startsWith("www.")){const de=E.match(/\./g);(de==null?void 0:de.length)>=2&&(E=`http://${E}`)}if(M.tryConvertEncoding)try{E=ue(E)}catch{}}const ie=m?new URL(E,m):new URL(E);if(Ce(ie))return ie}catch{}return null}function J(E,m,M,ie=!1){return Object.defineProperty(E,m,{value:M,enumerable:!ie,configurable:!0,writable:!1}),M}const A=function(){function m(M,ie){this.constructor===m&&ye("Cannot initialize BaseException."),this.message=M,this.name=ie}return m.prototype=new Error,m.constructor=m,m}();o.BaseException=A;class C extends A{constructor(m,M){super(m,"PasswordException"),this.code=M}}o.PasswordException=C;class F extends A{constructor(m,M){super(m,"UnknownErrorException"),this.details=M}}o.UnknownErrorException=F;class Y extends A{constructor(m){super(m,"InvalidPDFException")}}o.InvalidPDFException=Y;class j extends A{constructor(m){super(m,"MissingPDFException")}}o.MissingPDFException=j;class se extends A{constructor(m,M){super(m,"UnexpectedResponseException"),this.status=M}}o.UnexpectedResponseException=se;class U extends A{constructor(m){super(m,"FormatError")}}o.FormatError=U;class V extends A{constructor(m){super(m,"AbortException")}}o.AbortException=V;function z(E){(typeof E!="object"||(E==null?void 0:E.length)===void 0)&&ye("Invalid argument for bytesToString");const m=E.length,M=8192;if(m>24&255,E>>16&255,E>>8&255,E&255)}function S(E){return Object.keys(E).length}function R(E){const m=Object.create(null);for(const[M,ie]of E)m[M]=ie;return m}function L(){const E=new Uint8Array(4);return E[0]=1,new Uint32Array(E.buffer,0,1)[0]===1}function W(){try{return new Function(""),!0}catch{return!1}}class me{static get isLittleEndian(){return J(this,"isLittleEndian",L())}static get isEvalSupported(){return J(this,"isEvalSupported",W())}static get isOffscreenCanvasSupported(){return J(this,"isOffscreenCanvasSupported",typeof OffscreenCanvas<"u")}static get platform(){return typeof navigator>"u"?J(this,"platform",{isWin:!1,isMac:!1}):J(this,"platform",{isWin:navigator.platform.includes("Win"),isMac:navigator.platform.includes("Mac")})}}o.FeatureTest=me;const B=[...Array(256).keys()].map(E=>E.toString(16).padStart(2,"0"));class q{static makeHexColor(m,M,ie){return`#${B[m]}${B[M]}${B[ie]}`}static scaleMinMax(m,M){let ie;m[0]?(m[0]<0&&(ie=M[0],M[0]=M[1],M[1]=ie),M[0]*=m[0],M[1]*=m[0],m[3]<0&&(ie=M[2],M[2]=M[3],M[3]=ie),M[2]*=m[3],M[3]*=m[3]):(ie=M[0],M[0]=M[2],M[2]=ie,ie=M[1],M[1]=M[3],M[3]=ie,m[1]<0&&(ie=M[2],M[2]=M[3],M[3]=ie),M[2]*=m[1],M[3]*=m[1],m[2]<0&&(ie=M[0],M[0]=M[1],M[1]=ie),M[0]*=m[2],M[1]*=m[2]),M[0]+=m[4],M[1]+=m[4],M[2]+=m[5],M[3]+=m[5]}static transform(m,M){return[m[0]*M[0]+m[2]*M[1],m[1]*M[0]+m[3]*M[1],m[0]*M[2]+m[2]*M[3],m[1]*M[2]+m[3]*M[3],m[0]*M[4]+m[2]*M[5]+m[4],m[1]*M[4]+m[3]*M[5]+m[5]]}static applyTransform(m,M){const ie=m[0]*M[0]+m[1]*M[2]+M[4],de=m[0]*M[1]+m[1]*M[3]+M[5];return[ie,de]}static applyInverseTransform(m,M){const ie=M[0]*M[3]-M[1]*M[2],de=(m[0]*M[3]-m[1]*M[2]+M[2]*M[5]-M[4]*M[3])/ie,re=(-m[0]*M[1]+m[1]*M[0]+M[4]*M[1]-M[5]*M[0])/ie;return[de,re]}static getAxialAlignedBoundingBox(m,M){const ie=q.applyTransform(m,M),de=q.applyTransform(m.slice(2,4),M),re=q.applyTransform([m[0],m[3]],M),he=q.applyTransform([m[2],m[1]],M);return[Math.min(ie[0],de[0],re[0],he[0]),Math.min(ie[1],de[1],re[1],he[1]),Math.max(ie[0],de[0],re[0],he[0]),Math.max(ie[1],de[1],re[1],he[1])]}static inverseTransform(m){const M=m[0]*m[3]-m[1]*m[2];return[m[3]/M,-m[1]/M,-m[2]/M,m[0]/M,(m[2]*m[5]-m[4]*m[3])/M,(m[4]*m[1]-m[5]*m[0])/M]}static singularValueDecompose2dScale(m){const M=[m[0],m[2],m[1],m[3]],ie=m[0]*M[0]+m[1]*M[2],de=m[0]*M[1]+m[1]*M[3],re=m[2]*M[0]+m[3]*M[2],he=m[2]*M[1]+m[3]*M[3],fe=(ie+he)/2,Ae=Math.sqrt((ie+he)**2-4*(ie*he-re*de))/2,Te=fe+Ae||1,Se=fe-Ae||1;return[Math.sqrt(Te),Math.sqrt(Se)]}static normalizeRect(m){const M=m.slice(0);return m[0]>m[2]&&(M[0]=m[2],M[2]=m[0]),m[1]>m[3]&&(M[1]=m[3],M[3]=m[1]),M}static intersect(m,M){const ie=Math.max(Math.min(m[0],m[2]),Math.min(M[0],M[2])),de=Math.min(Math.max(m[0],m[2]),Math.max(M[0],M[2]));if(ie>de)return null;const re=Math.max(Math.min(m[1],m[3]),Math.min(M[1],M[3])),he=Math.min(Math.max(m[1],m[3]),Math.max(M[1],M[3]));return re>he?null:[ie,re,de,he]}static bezierBoundingBox(m,M,ie,de,re,he,fe,Ae){const Te=[],Se=[[],[]];let Fe,Ie,ke,Le,Ne,Ve,De,Ue;for(let Ge=0;Ge<2;++Ge){if(Ge===0?(Ie=6*m-12*ie+6*re,Fe=-3*m+9*ie-9*re+3*fe,ke=3*ie-3*m):(Ie=6*M-12*de+6*he,Fe=-3*M+9*de-9*he+3*Ae,ke=3*de-3*M),Math.abs(Fe)<1e-12){if(Math.abs(Ie)<1e-12)continue;Le=-ke/Ie,0="ï"){let M;if(E[0]==="þ"&&E[1]==="ÿ"?M="utf-16be":E[0]==="ÿ"&&E[1]==="þ"?M="utf-16le":E[0]==="ï"&&E[1]==="»"&&E[2]==="¿"&&(M="utf-8"),M)try{const ie=new TextDecoder(M,{fatal:!0}),de=i(E);return ie.decode(de)}catch(ie){ge(`stringToPDFString: "${ie}".`)}}const m=[];for(let M=0,ie=E.length;M{this.resolve=ie=>{_e(this,Oe,!0),m(ie)},this.reject=ie=>{_e(this,Oe,!0),M(ie)}})}get settled(){return c(this,Oe)}}Oe=new WeakMap,o.PromiseCapability=Re;let oe=null,we=null;function Me(E){return oe||(oe=/([\u00a0\u00b5\u037e\u0eb3\u2000-\u200a\u202f\u2126\ufb00-\ufb04\ufb06\ufb20-\ufb36\ufb38-\ufb3c\ufb3e\ufb40-\ufb41\ufb43-\ufb44\ufb46-\ufba1\ufba4-\ufba9\ufbae-\ufbb1\ufbd3-\ufbdc\ufbde-\ufbe7\ufbea-\ufbf8\ufbfc-\ufbfd\ufc00-\ufc5d\ufc64-\ufcf1\ufcf5-\ufd3d\ufd88\ufdf4\ufdfa-\ufdfb\ufe71\ufe77\ufe79\ufe7b\ufe7d]+)|(\ufb05+)/gu,we=new Map([["ſt","ſt"]])),E.replaceAll(oe,(m,M,ie)=>M?M.normalize("NFKC"):we.get(ie))}},(__unused_webpack_module,exports,__w_pdfjs_require__)=>{var x,X,P,O,nt,G,mt,N,b,d,k,w,y,r,h,xt,g,_,Mt,p,t;Object.defineProperty(exports,"__esModule",{value:!0}),exports.build=exports.RenderTask=exports.PDFWorkerUtil=exports.PDFWorker=exports.PDFPageProxy=exports.PDFDocumentProxy=exports.PDFDocumentLoadingTask=exports.PDFDataRangeTransport=exports.LoopbackPort=exports.DefaultStandardFontDataFactory=exports.DefaultFilterFactory=exports.DefaultCanvasFactory=exports.DefaultCMapReaderFactory=void 0,exports.getDocument=getDocument,exports.version=void 0;var _util=__w_pdfjs_require__(1),_annotation_storage=__w_pdfjs_require__(3),_display_utils=__w_pdfjs_require__(6),_font_loader=__w_pdfjs_require__(9),_canvas=__w_pdfjs_require__(11),_worker_options=__w_pdfjs_require__(14),_is_node=__w_pdfjs_require__(10),_message_handler=__w_pdfjs_require__(15),_metadata=__w_pdfjs_require__(16),_optional_content_config=__w_pdfjs_require__(17),_transport_stream=__w_pdfjs_require__(18),_xfa_text=__w_pdfjs_require__(19);const DEFAULT_RANGE_CHUNK_SIZE=65536,RENDERING_CANCELLED_TIMEOUT=100,DELAYED_CLEANUP_TIMEOUT=5e3;let DefaultCanvasFactory=_display_utils.DOMCanvasFactory;exports.DefaultCanvasFactory=DefaultCanvasFactory;let DefaultCMapReaderFactory=_display_utils.DOMCMapReaderFactory;exports.DefaultCMapReaderFactory=DefaultCMapReaderFactory;let DefaultFilterFactory=_display_utils.DOMFilterFactory;exports.DefaultFilterFactory=DefaultFilterFactory;let DefaultStandardFontDataFactory=_display_utils.DOMStandardFontDataFactory;if(exports.DefaultStandardFontDataFactory=DefaultStandardFontDataFactory,_is_node.isNodeJS){const{NodeCanvasFactory:s,NodeCMapReaderFactory:n,NodeFilterFactory:f,NodeStandardFontDataFactory:T}=__w_pdfjs_require__(20);exports.DefaultCanvasFactory=DefaultCanvasFactory=s,exports.DefaultCMapReaderFactory=DefaultCMapReaderFactory=n,exports.DefaultFilterFactory=DefaultFilterFactory=f,exports.DefaultStandardFontDataFactory=DefaultStandardFontDataFactory=T}let createPDFNetworkStream;if(_is_node.isNodeJS){const{PDFNodeStream:s}=__w_pdfjs_require__(21);createPDFNetworkStream=n=>new s(n)}else{const{PDFNetworkStream:s}=__w_pdfjs_require__(24),{PDFFetchStream:n}=__w_pdfjs_require__(25);createPDFNetworkStream=f=>(0,_display_utils.isValidFetchUrl)(f.url)?new n(f):new s(f)}function getDocument(s){if(typeof s=="string"||s instanceof URL?s={url:s}:(0,_util.isArrayBuffer)(s)&&(s={data:s}),typeof s!="object")throw new Error("Invalid parameter in getDocument, need parameter object.");if(!s.url&&!s.data&&!s.range)throw new Error("Invalid parameter object: need either .data, .range or .url");const n=new PDFDocumentLoadingTask,{docId:f}=n,T=s.url?getUrlProp(s.url):null,l=s.data?getDataProp(s.data):null,I=s.httpHeaders||null,K=s.withCredentials===!0,le=s.password??null,H=s.range instanceof PDFDataRangeTransport?s.range:null,ee=Number.isInteger(s.rangeChunkSize)&&s.rangeChunkSize>0?s.rangeChunkSize:DEFAULT_RANGE_CHUNK_SIZE;let ae=s.worker instanceof PDFWorker?s.worker:null;const te=s.verbosity,ge=typeof s.docBaseUrl=="string"&&!(0,_display_utils.isDataScheme)(s.docBaseUrl)?s.docBaseUrl:null,ye=typeof s.cMapUrl=="string"?s.cMapUrl:null,Q=s.cMapPacked!==!1,Ce=s.CMapReaderFactory||DefaultCMapReaderFactory,Ee=typeof s.standardFontDataUrl=="string"?s.standardFontDataUrl:null,J=s.StandardFontDataFactory||DefaultStandardFontDataFactory,A=s.stopAtErrors!==!0,C=Number.isInteger(s.maxImageSize)&&s.maxImageSize>-1?s.maxImageSize:-1,F=s.isEvalSupported!==!1,Y=typeof s.isOffscreenCanvasSupported=="boolean"?s.isOffscreenCanvasSupported:!_is_node.isNodeJS,j=Number.isInteger(s.canvasMaxAreaInBytes)?s.canvasMaxAreaInBytes:-1,se=typeof s.disableFontFace=="boolean"?s.disableFontFace:_is_node.isNodeJS,U=s.fontExtraProperties===!0,V=s.enableXfa===!0,z=s.ownerDocument||globalThis.document,i=s.disableRange===!0,u=s.disableStream===!0,S=s.disableAutoFetch===!0,R=s.pdfBug===!0,L=H?H.length:s.length??NaN,W=typeof s.useSystemFonts=="boolean"?s.useSystemFonts:!_is_node.isNodeJS&&!se,me=typeof s.useWorkerFetch=="boolean"?s.useWorkerFetch:Ce===_display_utils.DOMCMapReaderFactory&&J===_display_utils.DOMStandardFontDataFactory&&(0,_display_utils.isValidFetchUrl)(ye,document.baseURI)&&(0,_display_utils.isValidFetchUrl)(Ee,document.baseURI),B=s.canvasFactory||new DefaultCanvasFactory({ownerDocument:z}),q=s.filterFactory||new DefaultFilterFactory({docId:f,ownerDocument:z}),ce=null;(0,_util.setVerbosityLevel)(te);const ne={canvasFactory:B,filterFactory:q};if(me||(ne.cMapReaderFactory=new Ce({baseUrl:ye,isCompressed:Q}),ne.standardFontDataFactory=new J({baseUrl:Ee})),!ae){const ve={verbosity:te,port:_worker_options.GlobalWorkerOptions.workerPort};ae=ve.port?PDFWorker.fromPort(ve):new PDFWorker(ve),n._worker=ae}const ue={docId:f,apiVersion:"3.6.172",data:l,password:le,disableAutoFetch:S,rangeChunkSize:ee,length:L,docBaseUrl:ge,enableXfa:V,evaluatorOptions:{maxImageSize:C,disableFontFace:se,ignoreErrors:A,isEvalSupported:F,isOffscreenCanvasSupported:Y,canvasMaxAreaInBytes:j,fontExtraProperties:U,useSystemFonts:W,cMapUrl:me?ye:null,standardFontDataUrl:me?Ee:null}},be={ignoreErrors:A,isEvalSupported:F,disableFontFace:se,fontExtraProperties:U,enableXfa:V,ownerDocument:z,disableAutoFetch:S,pdfBug:R,styleElement:ce};return ae.promise.then(function(){if(n.destroyed)throw new Error("Loading aborted");const ve=_fetchDocument(ae,ue),xe=new Promise(function(Pe){let Re;H?Re=new _transport_stream.PDFDataTransportStream({length:L,initialData:H.initialData,progressiveDone:H.progressiveDone,contentDispositionFilename:H.contentDispositionFilename,disableRange:i,disableStream:u},H):l||(Re=createPDFNetworkStream({url:T,length:L,httpHeaders:I,withCredentials:K,rangeChunkSize:ee,disableRange:i,disableStream:u})),Pe(Re)});return Promise.all([ve,xe]).then(function([Pe,Re]){if(n.destroyed)throw new Error("Loading aborted");const oe=new _message_handler.MessageHandler(f,Pe,ae.port),we=new WorkerTransport(oe,n,Re,be,ne);n._transport=we,oe.send("Ready",null)})}).catch(n._capability.reject),n}async function _fetchDocument(s,n){if(s.destroyed)throw new Error("Worker was destroyed");const f=await s.messageHandler.sendWithPromise("GetDocRequest",n,n.data?[n.data.buffer]:null);if(s.destroyed)throw new Error("Worker was destroyed");return f}function getUrlProp(s){if(s instanceof URL)return s.href;try{return new URL(s,window.location).href}catch{if(_is_node.isNodeJS&&typeof s=="string")return s}throw new Error("Invalid PDF url data: either string or URL-object is expected in the url property.")}function getDataProp(s){if(_is_node.isNodeJS&&typeof Buffer<"u"&&s instanceof Buffer)return(0,_display_utils.deprecated)("Please provide binary data as `Uint8Array`, rather than `Buffer`."),new Uint8Array(s);if(s instanceof Uint8Array&&s.byteLength===s.buffer.byteLength)return s;if(typeof s=="string")return(0,_util.stringToBytes)(s);if(typeof s=="object"&&!isNaN(s==null?void 0:s.length)||(0,_util.isArrayBuffer)(s))return new Uint8Array(s);throw new Error("Invalid PDF binary data: either TypedArray, string, or array-like object is expected in the data property.")}const o=class{constructor(){this._capability=new _util.PromiseCapability,this._transport=null,this._worker=null,this.docId=`d${lt(o,x)._++}`,this.destroyed=!1,this.onPassword=null,this.onProgress=null}get promise(){return this._capability.promise}async destroy(){var n;this.destroyed=!0,await((n=this._transport)==null?void 0:n.destroy()),this._transport=null,this._worker&&(this._worker.destroy(),this._worker=null)}};let PDFDocumentLoadingTask=o;x=new WeakMap,$(PDFDocumentLoadingTask,x,0),exports.PDFDocumentLoadingTask=PDFDocumentLoadingTask;class PDFDataRangeTransport{constructor(n,f,T=!1,l=null){this.length=n,this.initialData=f,this.progressiveDone=T,this.contentDispositionFilename=l,this._rangeListeners=[],this._progressListeners=[],this._progressiveReadListeners=[],this._progressiveDoneListeners=[],this._readyCapability=new _util.PromiseCapability}addRangeListener(n){this._rangeListeners.push(n)}addProgressListener(n){this._progressListeners.push(n)}addProgressiveReadListener(n){this._progressiveReadListeners.push(n)}addProgressiveDoneListener(n){this._progressiveDoneListeners.push(n)}onDataRange(n,f){for(const T of this._rangeListeners)T(n,f)}onDataProgress(n,f){this._readyCapability.promise.then(()=>{for(const T of this._progressListeners)T(n,f)})}onDataProgressiveRead(n){this._readyCapability.promise.then(()=>{for(const f of this._progressiveReadListeners)f(n)})}onDataProgressiveDone(){this._readyCapability.promise.then(()=>{for(const n of this._progressiveDoneListeners)n()})}transportReady(){this._readyCapability.resolve()}requestDataRange(n,f){(0,_util.unreachable)("Abstract method PDFDataRangeTransport.requestDataRange")}abort(){}}exports.PDFDataRangeTransport=PDFDataRangeTransport;class PDFDocumentProxy{constructor(n,f){this._pdfInfo=n,this._transport=f}get annotationStorage(){return this._transport.annotationStorage}get filterFactory(){return this._transport.filterFactory}get numPages(){return this._pdfInfo.numPages}get fingerprints(){return this._pdfInfo.fingerprints}get isPureXfa(){return(0,_util.shadow)(this,"isPureXfa",!!this._transport._htmlForXfa)}get allXfaHtml(){return this._transport._htmlForXfa}getPage(n){return this._transport.getPage(n)}getPageIndex(n){return this._transport.getPageIndex(n)}getDestinations(){return this._transport.getDestinations()}getDestination(n){return this._transport.getDestination(n)}getPageLabels(){return this._transport.getPageLabels()}getPageLayout(){return this._transport.getPageLayout()}getPageMode(){return this._transport.getPageMode()}getViewerPreferences(){return this._transport.getViewerPreferences()}getOpenAction(){return this._transport.getOpenAction()}getAttachments(){return this._transport.getAttachments()}getJavaScript(){return this._transport.getJavaScript()}getJSActions(){return this._transport.getDocJSActions()}getOutline(){return this._transport.getOutline()}getOptionalContentConfig(){return this._transport.getOptionalContentConfig()}getPermissions(){return this._transport.getPermissions()}getMetadata(){return this._transport.getMetadata()}getMarkInfo(){return this._transport.getMarkInfo()}getData(){return this._transport.getData()}saveDocument(){return this._transport.saveDocument()}getDownloadInfo(){return this._transport.downloadInfoCapability.promise}cleanup(n=!1){return this._transport.startCleanup(n||this.isPureXfa)}destroy(){return this.loadingTask.destroy()}get loadingParams(){return this._transport.loadingParams}get loadingTask(){return this._transport.loadingTask}getFieldObjects(){return this._transport.getFieldObjects()}hasJSActions(){return this._transport.hasJSActions()}getCalculationOrderIds(){return this._transport.getCalculationOrderIds()}}exports.PDFDocumentProxy=PDFDocumentProxy;class PDFPageProxy{constructor(n,f,T,l=!1){$(this,O);$(this,G);$(this,X,null);$(this,P,!1);this._pageIndex=n,this._pageInfo=f,this._transport=T,this._stats=l?new _display_utils.StatTimer:null,this._pdfBug=l,this.commonObjs=T.commonObjs,this.objs=new PDFObjects,this._maybeCleanupAfterRender=!1,this._intentStates=new Map,this.destroyed=!1}get pageNumber(){return this._pageIndex+1}get rotate(){return this._pageInfo.rotate}get ref(){return this._pageInfo.ref}get userUnit(){return this._pageInfo.userUnit}get view(){return this._pageInfo.view}getViewport({scale:n,rotation:f=this.rotate,offsetX:T=0,offsetY:l=0,dontFlip:I=!1}={}){return new _display_utils.PageViewport({viewBox:this.view,scale:n,rotation:f,offsetX:T,offsetY:l,dontFlip:I})}getAnnotations({intent:n="display"}={}){const f=this._transport.getRenderingIntent(n);return this._transport.getAnnotations(this._pageIndex,f.renderingIntent)}getJSActions(){return this._transport.getPageJSActions(this._pageIndex)}get isPureXfa(){return(0,_util.shadow)(this,"isPureXfa",!!this._transport._htmlForXfa)}async getXfa(){var n;return((n=this._transport._htmlForXfa)==null?void 0:n.children[this._pageIndex])||null}render({canvasContext:n,viewport:f,intent:T="display",annotationMode:l=_util.AnnotationMode.ENABLE,transform:I=null,background:K=null,optionalContentConfigPromise:le=null,annotationCanvasMap:H=null,pageColors:ee=null,printAnnotationStorage:ae=null}){var J,A,C;if((J=arguments[0])!=null&&J.canvasFactory)throw new Error("render no longer accepts the `canvasFactory`-option, please pass it to the `getDocument`-function instead.");(A=this._stats)==null||A.time("Overall");const te=this._transport.getRenderingIntent(T,l,ae);_e(this,P,!1),Z(this,G,mt).call(this),le||(le=this._transport.getOptionalContentConfig());let ge=this._intentStates.get(te.cacheKey);ge||(ge=Object.create(null),this._intentStates.set(te.cacheKey,ge)),ge.streamReaderCancelTimeout&&(clearTimeout(ge.streamReaderCancelTimeout),ge.streamReaderCancelTimeout=null);const ye=!!(te.renderingIntent&_util.RenderingIntentFlag.PRINT);ge.displayReadyCapability||(ge.displayReadyCapability=new _util.PromiseCapability,ge.operatorList={fnArray:[],argsArray:[],lastChunk:!1,separateAnnots:null},(C=this._stats)==null||C.time("Page Request"),this._pumpOperatorList(te));const Q=F=>{var Y,j;ge.renderTasks.delete(Ce),(this._maybeCleanupAfterRender||ye)&&_e(this,P,!0),Z(this,O,nt).call(this,!ye),F?(Ce.capability.reject(F),this._abortOperatorList({intentState:ge,reason:F instanceof Error?F:new Error(F)})):Ce.capability.resolve(),(Y=this._stats)==null||Y.timeEnd("Rendering"),(j=this._stats)==null||j.timeEnd("Overall")},Ce=new InternalRenderTask({callback:Q,params:{canvasContext:n,viewport:f,transform:I,background:K},objs:this.objs,commonObjs:this.commonObjs,annotationCanvasMap:H,operatorList:ge.operatorList,pageIndex:this._pageIndex,canvasFactory:this._transport.canvasFactory,filterFactory:this._transport.filterFactory,useRequestAnimationFrame:!ye,pdfBug:this._pdfBug,pageColors:ee});(ge.renderTasks||(ge.renderTasks=new Set)).add(Ce);const Ee=Ce.task;return Promise.all([ge.displayReadyCapability.promise,le]).then(([F,Y])=>{var j;if(c(this,P)){Q();return}(j=this._stats)==null||j.time("Rendering"),Ce.initializeGraphics({transparency:F,optionalContentConfig:Y}),Ce.operatorListChanged()}).catch(Q),Ee}getOperatorList({intent:n="display",annotationMode:f=_util.AnnotationMode.ENABLE,printAnnotationStorage:T=null}={}){var H;function l(){K.operatorList.lastChunk&&(K.opListReadCapability.resolve(K.operatorList),K.renderTasks.delete(le))}const I=this._transport.getRenderingIntent(n,f,T,!0);let K=this._intentStates.get(I.cacheKey);K||(K=Object.create(null),this._intentStates.set(I.cacheKey,K));let le;return K.opListReadCapability||(le=Object.create(null),le.operatorListChanged=l,K.opListReadCapability=new _util.PromiseCapability,(K.renderTasks||(K.renderTasks=new Set)).add(le),K.operatorList={fnArray:[],argsArray:[],lastChunk:!1,separateAnnots:null},(H=this._stats)==null||H.time("Page Request"),this._pumpOperatorList(I)),K.opListReadCapability.promise}streamTextContent({includeMarkedContent:n=!1,disableNormalization:f=!1}={}){return this._transport.messageHandler.sendWithStream("GetTextContent",{pageIndex:this._pageIndex,includeMarkedContent:n===!0,disableNormalization:f===!0},{highWaterMark:100,size(l){return l.items.length}})}getTextContent(n={}){if(this._transport._htmlForXfa)return this.getXfa().then(T=>_xfa_text.XfaText.textContent(T));const f=this.streamTextContent(n);return new Promise(function(T,l){function I(){K.read().then(function({value:H,done:ee}){if(ee){T(le);return}Object.assign(le.styles,H.styles),le.items.push(...H.items),I()},l)}const K=f.getReader(),le={items:[],styles:Object.create(null)};I()})}getStructTree(){return this._transport.getStructTree(this._pageIndex)}_destroy(){this.destroyed=!0;const n=[];for(const f of this._intentStates.values())if(this._abortOperatorList({intentState:f,reason:new Error("Page was destroyed."),force:!0}),!f.opListReadCapability)for(const T of f.renderTasks)n.push(T.completed),T.cancel();return this.objs.clear(),_e(this,P,!1),Z(this,G,mt).call(this),Promise.all(n)}cleanup(n=!1){_e(this,P,!0);const f=Z(this,O,nt).call(this,!1);return n&&f&&this._stats&&(this._stats=new _display_utils.StatTimer),f}_startRenderPage(n,f){var l,I;const T=this._intentStates.get(f);T&&((l=this._stats)==null||l.timeEnd("Page Request"),(I=T.displayReadyCapability)==null||I.resolve(n))}_renderPageChunk(n,f){for(let T=0,l=n.length;T{I.read().then(({value:H,done:ee})=>{if(ee){K.streamReader=null;return}this._transport.destroyed||(this._renderPageChunk(H,K),le())},H=>{if(K.streamReader=null,!this._transport.destroyed){if(K.operatorList){K.operatorList.lastChunk=!0;for(const ee of K.renderTasks)ee.operatorListChanged();Z(this,O,nt).call(this,!0)}if(K.displayReadyCapability)K.displayReadyCapability.reject(H);else if(K.opListReadCapability)K.opListReadCapability.reject(H);else throw H}})};le()}_abortOperatorList({intentState:n,reason:f,force:T=!1}){if(n.streamReader){if(n.streamReaderCancelTimeout&&(clearTimeout(n.streamReaderCancelTimeout),n.streamReaderCancelTimeout=null),!T){if(n.renderTasks.size>0)return;if(f instanceof _display_utils.RenderingCancelledException){let l=RENDERING_CANCELLED_TIMEOUT;f.extraDelay>0&&f.extraDelay<1e3&&(l+=f.extraDelay),n.streamReaderCancelTimeout=setTimeout(()=>{n.streamReaderCancelTimeout=null,this._abortOperatorList({intentState:n,reason:f,force:!0})},l);return}}if(n.streamReader.cancel(new _util.AbortException(f.message)).catch(()=>{}),n.streamReader=null,!this._transport.destroyed){for(const[l,I]of this._intentStates)if(I===n){this._intentStates.delete(l);break}this.cleanup()}}}get stats(){return this._stats}}X=new WeakMap,P=new WeakMap,O=new WeakSet,nt=function(n=!1){if(Z(this,G,mt).call(this),!c(this,P))return!1;if(n)return _e(this,X,setTimeout(()=>{_e(this,X,null),Z(this,O,nt).call(this,!1)},DELAYED_CLEANUP_TIMEOUT)),!1;for(const{renderTasks:f,operatorList:T}of this._intentStates.values())if(f.size>0||!T.lastChunk)return!1;return this._intentStates.clear(),this.objs.clear(),_e(this,P,!1),!0},G=new WeakSet,mt=function(){c(this,X)&&(clearTimeout(c(this,X)),_e(this,X,null))},exports.PDFPageProxy=PDFPageProxy;class LoopbackPort{constructor(){$(this,N,new Set);$(this,b,Promise.resolve())}postMessage(n,f){const T={data:structuredClone(n,f?{transfer:f}:null)};c(this,b).then(()=>{for(const l of c(this,N))l.call(this,T)})}addEventListener(n,f){c(this,N).add(f)}removeEventListener(n,f){c(this,N).delete(f)}terminate(){c(this,N).clear()}}N=new WeakMap,b=new WeakMap,exports.LoopbackPort=LoopbackPort;const PDFWorkerUtil={isWorkerDisabled:!1,fallbackWorkerSrc:null,fakeWorkerId:0};exports.PDFWorkerUtil=PDFWorkerUtil;{if(_is_node.isNodeJS&&typeof commonjsRequire=="function")PDFWorkerUtil.isWorkerDisabled=!0,PDFWorkerUtil.fallbackWorkerSrc="./pdf.worker.js";else if(typeof document=="object"){const s=(d=document==null?void 0:document.currentScript)==null?void 0:d.src;s&&(PDFWorkerUtil.fallbackWorkerSrc=s.replace(/(\.(?:min\.)?js)(\?.*)?$/i,".worker$1$2"))}PDFWorkerUtil.isSameOrigin=function(s,n){let f;try{if(f=new URL(s),!f.origin||f.origin==="null")return!1}catch{return!1}const T=new URL(n,f);return f.origin===T.origin},PDFWorkerUtil.createCDNWrapper=function(s){const n=`importScripts("${s}");`;return URL.createObjectURL(new Blob([n]))}}const _PDFWorker=class{constructor({name:s=null,port:n=null,verbosity:f=(0,_util.getVerbosityLevel)()}={}){if(n&&c(_PDFWorker,k).has(n))throw new Error("Cannot use more than one PDFWorker per port.");if(this.name=s,this.destroyed=!1,this.verbosity=f,this._readyCapability=new _util.PromiseCapability,this._port=null,this._webWorker=null,this._messageHandler=null,n){c(_PDFWorker,k).set(n,this),this._initializeFromPort(n);return}this._initialize()}get promise(){return this._readyCapability.promise}get port(){return this._port}get messageHandler(){return this._messageHandler}_initializeFromPort(s){this._port=s,this._messageHandler=new _message_handler.MessageHandler("main","worker",s),this._messageHandler.on("ready",function(){}),this._readyCapability.resolve(),this._messageHandler.send("configure",{verbosity:this.verbosity})}_initialize(){if(!PDFWorkerUtil.isWorkerDisabled&&!_PDFWorker._mainThreadWorkerMessageHandler){let{workerSrc:s}=_PDFWorker;try{PDFWorkerUtil.isSameOrigin(window.location.href,s)||(s=PDFWorkerUtil.createCDNWrapper(new URL(s,window.location).href));const n=new Worker(s),f=new _message_handler.MessageHandler("main","worker",n),T=()=>{n.removeEventListener("error",l),f.destroy(),n.terminate(),this.destroyed?this._readyCapability.reject(new Error("Worker was destroyed")):this._setupFakeWorker()},l=()=>{this._webWorker||T()};n.addEventListener("error",l),f.on("test",K=>{if(n.removeEventListener("error",l),this.destroyed){T();return}K?(this._messageHandler=f,this._port=n,this._webWorker=n,this._readyCapability.resolve(),f.send("configure",{verbosity:this.verbosity})):(this._setupFakeWorker(),f.destroy(),n.terminate())}),f.on("ready",K=>{if(n.removeEventListener("error",l),this.destroyed){T();return}try{I()}catch{this._setupFakeWorker()}});const I=()=>{const K=new Uint8Array;f.send("test",K,[K.buffer])};I();return}catch{(0,_util.info)("The worker has been disabled.")}}this._setupFakeWorker()}_setupFakeWorker(){PDFWorkerUtil.isWorkerDisabled||((0,_util.warn)("Setting up fake worker."),PDFWorkerUtil.isWorkerDisabled=!0),_PDFWorker._setupFakeWorkerGlobal.then(s=>{if(this.destroyed){this._readyCapability.reject(new Error("Worker was destroyed"));return}const n=new LoopbackPort;this._port=n;const f=`fake${PDFWorkerUtil.fakeWorkerId++}`,T=new _message_handler.MessageHandler(f+"_worker",f,n);s.setup(T,n);const l=new _message_handler.MessageHandler(f,f+"_worker",n);this._messageHandler=l,this._readyCapability.resolve(),l.send("configure",{verbosity:this.verbosity})}).catch(s=>{this._readyCapability.reject(new Error(`Setting up fake worker failed: "${s.message}".`))})}destroy(){this.destroyed=!0,this._webWorker&&(this._webWorker.terminate(),this._webWorker=null),c(_PDFWorker,k).delete(this._port),this._port=null,this._messageHandler&&(this._messageHandler.destroy(),this._messageHandler=null)}static fromPort(s){if(!(s!=null&&s.port))throw new Error("PDFWorker.fromPort - invalid method signature.");return c(this,k).has(s.port)?c(this,k).get(s.port):new _PDFWorker(s)}static get workerSrc(){if(_worker_options.GlobalWorkerOptions.workerSrc)return _worker_options.GlobalWorkerOptions.workerSrc;if(PDFWorkerUtil.fallbackWorkerSrc!==null)return _is_node.isNodeJS||(0,_display_utils.deprecated)('No "GlobalWorkerOptions.workerSrc" specified.'),PDFWorkerUtil.fallbackWorkerSrc;throw new Error('No "GlobalWorkerOptions.workerSrc" specified.')}static get _mainThreadWorkerMessageHandler(){var s;try{return((s=globalThis.pdfjsWorker)==null?void 0:s.WorkerMessageHandler)||null}catch{return null}}static get _setupFakeWorkerGlobal(){const loader=async()=>{const mainWorkerMessageHandler=this._mainThreadWorkerMessageHandler;if(mainWorkerMessageHandler)return mainWorkerMessageHandler;if(_is_node.isNodeJS&&typeof commonjsRequire=="function"){const worker=eval("require")(this.workerSrc);return worker.WorkerMessageHandler}return await(0,_display_utils.loadScript)(this.workerSrc),window.pdfjsWorker.WorkerMessageHandler};return(0,_util.shadow)(this,"_setupFakeWorkerGlobal",loader())}};let PDFWorker=_PDFWorker;k=new WeakMap,$(PDFWorker,k,new WeakMap),exports.PDFWorker=PDFWorker;class WorkerTransport{constructor(n,f,T,l,I){$(this,h);$(this,w,new Map);$(this,y,new Map);$(this,r,new Map);this.messageHandler=n,this.loadingTask=f,this.commonObjs=new PDFObjects,this.fontLoader=new _font_loader.FontLoader({ownerDocument:l.ownerDocument,styleElement:l.styleElement}),this._params=l,this.canvasFactory=I.canvasFactory,this.filterFactory=I.filterFactory,this.cMapReaderFactory=I.cMapReaderFactory,this.standardFontDataFactory=I.standardFontDataFactory,this.destroyed=!1,this.destroyCapability=null,this._passwordCapability=null,this._networkStream=T,this._fullReader=null,this._lastProgress=null,this.downloadInfoCapability=new _util.PromiseCapability,this.setupMessageHandler()}get annotationStorage(){return(0,_util.shadow)(this,"annotationStorage",new _annotation_storage.AnnotationStorage)}getRenderingIntent(n,f=_util.AnnotationMode.ENABLE,T=null,l=!1){let I=_util.RenderingIntentFlag.DISPLAY,K=null;switch(n){case"any":I=_util.RenderingIntentFlag.ANY;break;case"display":break;case"print":I=_util.RenderingIntentFlag.PRINT;break;default:(0,_util.warn)(`getRenderingIntent - invalid intent: ${n}`)}switch(f){case _util.AnnotationMode.DISABLE:I+=_util.RenderingIntentFlag.ANNOTATIONS_DISABLE;break;case _util.AnnotationMode.ENABLE:break;case _util.AnnotationMode.ENABLE_FORMS:I+=_util.RenderingIntentFlag.ANNOTATIONS_FORMS;break;case _util.AnnotationMode.ENABLE_STORAGE:I+=_util.RenderingIntentFlag.ANNOTATIONS_STORAGE,K=(I&_util.RenderingIntentFlag.PRINT&&T instanceof _annotation_storage.PrintAnnotationStorage?T:this.annotationStorage).serializable;break;default:(0,_util.warn)(`getRenderingIntent - invalid annotationMode: ${f}`)}return l&&(I+=_util.RenderingIntentFlag.OPLIST),{renderingIntent:I,cacheKey:`${I}_${_annotation_storage.AnnotationStorage.getHash(K)}`,annotationStorageMap:K}}destroy(){if(this.destroyCapability)return this.destroyCapability.promise;this.destroyed=!0,this.destroyCapability=new _util.PromiseCapability,this._passwordCapability&&this._passwordCapability.reject(new Error("Worker was destroyed during onPassword callback"));const n=[];for(const T of c(this,y).values())n.push(T._destroy());c(this,y).clear(),c(this,r).clear(),this.hasOwnProperty("annotationStorage")&&this.annotationStorage.resetModified();const f=this.messageHandler.sendWithPromise("Terminate",null);return n.push(f),Promise.all(n).then(()=>{this.commonObjs.clear(),this.fontLoader.clear(),c(this,w).clear(),this.filterFactory.destroy(),this._networkStream&&this._networkStream.cancelAllRequests(new _util.AbortException("Worker was terminated.")),this.messageHandler&&(this.messageHandler.destroy(),this.messageHandler=null),this.destroyCapability.resolve()},this.destroyCapability.reject),this.destroyCapability.promise}setupMessageHandler(){const{messageHandler:n,loadingTask:f}=this;n.on("GetReader",(T,l)=>{(0,_util.assert)(this._networkStream,"GetReader - no `IPDFStream` instance available."),this._fullReader=this._networkStream.getFullReader(),this._fullReader.onProgress=I=>{this._lastProgress={loaded:I.loaded,total:I.total}},l.onPull=()=>{this._fullReader.read().then(function({value:I,done:K}){if(K){l.close();return}(0,_util.assert)(I instanceof ArrayBuffer,"GetReader - expected an ArrayBuffer."),l.enqueue(new Uint8Array(I),1,[I])}).catch(I=>{l.error(I)})},l.onCancel=I=>{this._fullReader.cancel(I),l.ready.catch(K=>{if(!this.destroyed)throw K})}}),n.on("ReaderHeadersReady",T=>{const l=new _util.PromiseCapability,I=this._fullReader;return I.headersReady.then(()=>{var K;(!I.isStreamingSupported||!I.isRangeSupported)&&(this._lastProgress&&((K=f.onProgress)==null||K.call(f,this._lastProgress)),I.onProgress=le=>{var H;(H=f.onProgress)==null||H.call(f,{loaded:le.loaded,total:le.total})}),l.resolve({isStreamingSupported:I.isStreamingSupported,isRangeSupported:I.isRangeSupported,contentLength:I.contentLength})},l.reject),l.promise}),n.on("GetRangeReader",(T,l)=>{(0,_util.assert)(this._networkStream,"GetRangeReader - no `IPDFStream` instance available.");const I=this._networkStream.getRangeReader(T.begin,T.end);if(!I){l.close();return}l.onPull=()=>{I.read().then(function({value:K,done:le}){if(le){l.close();return}(0,_util.assert)(K instanceof ArrayBuffer,"GetRangeReader - expected an ArrayBuffer."),l.enqueue(new Uint8Array(K),1,[K])}).catch(K=>{l.error(K)})},l.onCancel=K=>{I.cancel(K),l.ready.catch(le=>{if(!this.destroyed)throw le})}}),n.on("GetDoc",({pdfInfo:T})=>{this._numPages=T.numPages,this._htmlForXfa=T.htmlForXfa,delete T.htmlForXfa,f._capability.resolve(new PDFDocumentProxy(T,this))}),n.on("DocException",function(T){let l;switch(T.name){case"PasswordException":l=new _util.PasswordException(T.message,T.code);break;case"InvalidPDFException":l=new _util.InvalidPDFException(T.message);break;case"MissingPDFException":l=new _util.MissingPDFException(T.message);break;case"UnexpectedResponseException":l=new _util.UnexpectedResponseException(T.message,T.status);break;case"UnknownErrorException":l=new _util.UnknownErrorException(T.message,T.details);break;default:(0,_util.unreachable)("DocException - expected a valid Error.")}f._capability.reject(l)}),n.on("PasswordRequest",T=>{if(this._passwordCapability=new _util.PromiseCapability,f.onPassword){const l=I=>{I instanceof Error?this._passwordCapability.reject(I):this._passwordCapability.resolve({password:I})};try{f.onPassword(l,T.code)}catch(I){this._passwordCapability.reject(I)}}else this._passwordCapability.reject(new _util.PasswordException(T.message,T.code));return this._passwordCapability.promise}),n.on("DataLoaded",T=>{var l;(l=f.onProgress)==null||l.call(f,{loaded:T.length,total:T.length}),this.downloadInfoCapability.resolve(T)}),n.on("StartRenderPage",T=>{if(this.destroyed)return;c(this,y).get(T.pageIndex)._startRenderPage(T.transparency,T.cacheKey)}),n.on("commonobj",([T,l,I])=>{var K;if(!this.destroyed&&!this.commonObjs.has(T))switch(l){case"Font":const le=this._params;if("error"in I){const ae=I.error;(0,_util.warn)(`Error during font loading: ${ae}`),this.commonObjs.resolve(T,ae);break}const H=le.pdfBug&&((K=globalThis.FontInspector)!=null&&K.enabled)?(ae,te)=>globalThis.FontInspector.fontAdded(ae,te):null,ee=new _font_loader.FontFaceObject(I,{isEvalSupported:le.isEvalSupported,disableFontFace:le.disableFontFace,ignoreErrors:le.ignoreErrors,inspectFont:H});this.fontLoader.bind(ee).catch(ae=>n.sendWithPromise("FontFallback",{id:T})).finally(()=>{!le.fontExtraProperties&&ee.data&&(ee.data=null),this.commonObjs.resolve(T,ee)});break;case"FontPath":case"Image":case"Pattern":this.commonObjs.resolve(T,I);break;default:throw new Error(`Got unknown common object type ${l}`)}}),n.on("obj",([T,l,I,K])=>{var H;if(this.destroyed)return;const le=c(this,y).get(l);if(!le.objs.has(T))switch(I){case"Image":if(le.objs.resolve(T,K),K){let ee;if(K.bitmap){const{width:ae,height:te}=K;ee=ae*te*4}else ee=((H=K.data)==null?void 0:H.length)||0;ee>_util.MAX_IMAGE_SIZE_TO_CACHE&&(le._maybeCleanupAfterRender=!0)}break;case"Pattern":le.objs.resolve(T,K);break;default:throw new Error(`Got unknown object type ${I}`)}}),n.on("DocProgress",T=>{var l;this.destroyed||(l=f.onProgress)==null||l.call(f,{loaded:T.loaded,total:T.total})}),n.on("FetchBuiltInCMap",T=>this.destroyed?Promise.reject(new Error("Worker was destroyed.")):this.cMapReaderFactory?this.cMapReaderFactory.fetch(T):Promise.reject(new Error("CMapReaderFactory not initialized, see the `useWorkerFetch` parameter."))),n.on("FetchStandardFontData",T=>this.destroyed?Promise.reject(new Error("Worker was destroyed.")):this.standardFontDataFactory?this.standardFontDataFactory.fetch(T):Promise.reject(new Error("StandardFontDataFactory not initialized, see the `useWorkerFetch` parameter.")))}getData(){return this.messageHandler.sendWithPromise("GetData",null)}saveDocument(){var n;return this.annotationStorage.size<=0&&(0,_util.warn)("saveDocument called while `annotationStorage` is empty, please use the getData-method instead."),this.messageHandler.sendWithPromise("SaveDocument",{isPureXfa:!!this._htmlForXfa,numPages:this._numPages,annotationStorage:this.annotationStorage.serializable,filename:((n=this._fullReader)==null?void 0:n.filename)??null}).finally(()=>{this.annotationStorage.resetModified()})}getPage(n){if(!Number.isInteger(n)||n<=0||n>this._numPages)return Promise.reject(new Error("Invalid page request."));const f=n-1,T=c(this,r).get(f);if(T)return T;const l=this.messageHandler.sendWithPromise("GetPage",{pageIndex:f}).then(I=>{if(this.destroyed)throw new Error("Transport destroyed");const K=new PDFPageProxy(f,I,this,this._params.pdfBug);return c(this,y).set(f,K),K});return c(this,r).set(f,l),l}getPageIndex(n){return typeof n!="object"||n===null||!Number.isInteger(n.num)||n.num<0||!Number.isInteger(n.gen)||n.gen<0?Promise.reject(new Error("Invalid pageIndex request.")):this.messageHandler.sendWithPromise("GetPageIndex",{num:n.num,gen:n.gen})}getAnnotations(n,f){return this.messageHandler.sendWithPromise("GetAnnotations",{pageIndex:n,intent:f})}getFieldObjects(){return Z(this,h,xt).call(this,"GetFieldObjects")}hasJSActions(){return Z(this,h,xt).call(this,"HasJSActions")}getCalculationOrderIds(){return this.messageHandler.sendWithPromise("GetCalculationOrderIds",null)}getDestinations(){return this.messageHandler.sendWithPromise("GetDestinations",null)}getDestination(n){return typeof n!="string"?Promise.reject(new Error("Invalid destination request.")):this.messageHandler.sendWithPromise("GetDestination",{id:n})}getPageLabels(){return this.messageHandler.sendWithPromise("GetPageLabels",null)}getPageLayout(){return this.messageHandler.sendWithPromise("GetPageLayout",null)}getPageMode(){return this.messageHandler.sendWithPromise("GetPageMode",null)}getViewerPreferences(){return this.messageHandler.sendWithPromise("GetViewerPreferences",null)}getOpenAction(){return this.messageHandler.sendWithPromise("GetOpenAction",null)}getAttachments(){return this.messageHandler.sendWithPromise("GetAttachments",null)}getJavaScript(){return this.messageHandler.sendWithPromise("GetJavaScript",null)}getDocJSActions(){return this.messageHandler.sendWithPromise("GetDocJSActions",null)}getPageJSActions(n){return this.messageHandler.sendWithPromise("GetPageJSActions",{pageIndex:n})}getStructTree(n){return this.messageHandler.sendWithPromise("GetStructTree",{pageIndex:n})}getOutline(){return this.messageHandler.sendWithPromise("GetOutline",null)}getOptionalContentConfig(){return this.messageHandler.sendWithPromise("GetOptionalContentConfig",null).then(n=>new _optional_content_config.OptionalContentConfig(n))}getPermissions(){return this.messageHandler.sendWithPromise("GetPermissions",null)}getMetadata(){const n="GetMetadata",f=c(this,w).get(n);if(f)return f;const T=this.messageHandler.sendWithPromise(n,null).then(l=>{var I,K;return{info:l[0],metadata:l[1]?new _metadata.Metadata(l[1]):null,contentDispositionFilename:((I=this._fullReader)==null?void 0:I.filename)??null,contentLength:((K=this._fullReader)==null?void 0:K.contentLength)??null}});return c(this,w).set(n,T),T}getMarkInfo(){return this.messageHandler.sendWithPromise("GetMarkInfo",null)}async startCleanup(n=!1){if(!this.destroyed){await this.messageHandler.sendWithPromise("Cleanup",null);for(const f of c(this,y).values())if(!f.cleanup())throw new Error(`startCleanup: Page ${f.pageNumber} is currently rendering.`);this.commonObjs.clear(),n||this.fontLoader.clear(),c(this,w).clear(),this.filterFactory.destroy(!0)}}get loadingParams(){const{disableAutoFetch:n,enableXfa:f}=this._params;return(0,_util.shadow)(this,"loadingParams",{disableAutoFetch:n,enableXfa:f})}}w=new WeakMap,y=new WeakMap,r=new WeakMap,h=new WeakSet,xt=function(n,f=null){const T=c(this,w).get(n);if(T)return T;const l=this.messageHandler.sendWithPromise(n,f);return c(this,w).set(n,l),l};class PDFObjects{constructor(){$(this,_);$(this,g,Object.create(null))}get(n,f=null){if(f){const l=Z(this,_,Mt).call(this,n);return l.capability.promise.then(()=>f(l.data)),null}const T=c(this,g)[n];if(!(T!=null&&T.capability.settled))throw new Error(`Requesting object that isn't resolved yet ${n}.`);return T.data}has(n){const f=c(this,g)[n];return(f==null?void 0:f.capability.settled)||!1}resolve(n,f=null){const T=Z(this,_,Mt).call(this,n);T.data=f,T.capability.resolve()}clear(){var n;for(const f in c(this,g)){const{data:T}=c(this,g)[f];(n=T==null?void 0:T.bitmap)==null||n.close()}_e(this,g,Object.create(null))}}g=new WeakMap,_=new WeakSet,Mt=function(n){const f=c(this,g)[n];return f||(c(this,g)[n]={capability:new _util.PromiseCapability,data:null})};class RenderTask{constructor(n){$(this,p,null);_e(this,p,n),this.onContinue=null}get promise(){return c(this,p).capability.promise}cancel(n=0){c(this,p).cancel(null,n)}get separateAnnots(){const{separateAnnots:n}=c(this,p).operatorList;if(!n)return!1;const{annotationCanvasMap:f}=c(this,p);return n.form||n.canvas&&(f==null?void 0:f.size)>0}}p=new WeakMap,exports.RenderTask=RenderTask;const e=class{constructor({callback:n,params:f,objs:T,commonObjs:l,annotationCanvasMap:I,operatorList:K,pageIndex:le,canvasFactory:H,filterFactory:ee,useRequestAnimationFrame:ae=!1,pdfBug:te=!1,pageColors:ge=null}){this.callback=n,this.params=f,this.objs=T,this.commonObjs=l,this.annotationCanvasMap=I,this.operatorListIdx=null,this.operatorList=K,this._pageIndex=le,this.canvasFactory=H,this.filterFactory=ee,this._pdfBug=te,this.pageColors=ge,this.running=!1,this.graphicsReadyCallback=null,this.graphicsReady=!1,this._useRequestAnimationFrame=ae===!0&&typeof window<"u",this.cancelled=!1,this.capability=new _util.PromiseCapability,this.task=new RenderTask(this),this._cancelBound=this.cancel.bind(this),this._continueBound=this._continue.bind(this),this._scheduleNextBound=this._scheduleNext.bind(this),this._nextBound=this._next.bind(this),this._canvas=f.canvasContext.canvas}get completed(){return this.capability.promise.catch(function(){})}initializeGraphics({transparency:n=!1,optionalContentConfig:f}){var le,H;if(this.cancelled)return;if(this._canvas){if(c(e,t).has(this._canvas))throw new Error("Cannot use the same canvas during multiple render() operations. Use different canvas or ensure previous operations were cancelled or completed.");c(e,t).add(this._canvas)}this._pdfBug&&((le=globalThis.StepperManager)!=null&&le.enabled)&&(this.stepper=globalThis.StepperManager.create(this._pageIndex),this.stepper.init(this.operatorList),this.stepper.nextBreakPoint=this.stepper.getNextBreakPoint());const{canvasContext:T,viewport:l,transform:I,background:K}=this.params;this.gfx=new _canvas.CanvasGraphics(T,this.commonObjs,this.objs,this.canvasFactory,this.filterFactory,{optionalContentConfig:f},this.annotationCanvasMap,this.pageColors),this.gfx.beginDrawing({transform:I,viewport:l,transparency:n,background:K}),this.operatorListIdx=0,this.graphicsReady=!0,(H=this.graphicsReadyCallback)==null||H.call(this)}cancel(n=null,f=0){var T;this.running=!1,this.cancelled=!0,(T=this.gfx)==null||T.endDrawing(),this._canvas&&c(e,t).delete(this._canvas),this.callback(n||new _display_utils.RenderingCancelledException(`Rendering cancelled, page ${this._pageIndex+1}`,"canvas",f))}operatorListChanged(){var n;if(!this.graphicsReady){this.graphicsReadyCallback||(this.graphicsReadyCallback=this._continueBound);return}(n=this.stepper)==null||n.updateOperatorList(this.operatorList),!this.running&&this._continue()}_continue(){this.running=!0,!this.cancelled&&(this.task.onContinue?this.task.onContinue(this._scheduleNextBound):this._scheduleNext())}_scheduleNext(){this._useRequestAnimationFrame?window.requestAnimationFrame(()=>{this._nextBound().catch(this._cancelBound)}):Promise.resolve().then(this._nextBound).catch(this._cancelBound)}async _next(){this.cancelled||(this.operatorListIdx=this.gfx.executeOperatorList(this.operatorList,this.operatorListIdx,this._continueBound,this.stepper),this.operatorListIdx===this.operatorList.argsArray.length&&(this.running=!1,this.operatorList.lastChunk&&(this.gfx.endDrawing(this.pageColors),this._canvas&&c(e,t).delete(this._canvas),this.callback())))}};let InternalRenderTask=e;t=new WeakMap,$(InternalRenderTask,t,new WeakSet);const version="3.6.172";exports.version=version;const build="4d3dfe254";exports.build=build},(x,o,X)=>{var N,b,d,bi,w;Object.defineProperty(o,"__esModule",{value:!0}),o.PrintAnnotationStorage=o.AnnotationStorage=void 0;var P=X(1),O=X(4),pe=X(8);class G{constructor(){$(this,d);$(this,N,!1);$(this,b,new Map);this.onSetModified=null,this.onResetModified=null,this.onAnnotationEditor=null}getValue(r,h){const a=c(this,b).get(r);return a===void 0?h:Object.assign(h,a)}getRawValue(r){return c(this,b).get(r)}remove(r){if(c(this,b).delete(r),c(this,b).size===0&&this.resetModified(),typeof this.onAnnotationEditor=="function"){for(const h of c(this,b).values())if(h instanceof O.AnnotationEditor)return;this.onAnnotationEditor(null)}}setValue(r,h){const a=c(this,b).get(r);let g=!1;if(a!==void 0)for(const[_,v]of Object.entries(h))a[_]!==v&&(g=!0,a[_]=v);else g=!0,c(this,b).set(r,h);g&&Z(this,d,bi).call(this),h instanceof O.AnnotationEditor&&typeof this.onAnnotationEditor=="function"&&this.onAnnotationEditor(h.constructor._type)}has(r){return c(this,b).has(r)}getAll(){return c(this,b).size>0?(0,P.objectFromMap)(c(this,b)):null}setAll(r){for(const[h,a]of Object.entries(r))this.setValue(h,a)}get size(){return c(this,b).size}resetModified(){c(this,N)&&(_e(this,N,!1),typeof this.onResetModified=="function"&&this.onResetModified())}get print(){return new D(this)}get serializable(){if(c(this,b).size===0)return null;const r=new Map;for(const[h,a]of c(this,b)){const g=a instanceof O.AnnotationEditor?a.serialize():a;g&&r.set(h,g)}return r}static getHash(r){if(!r)return"";const h=new pe.MurmurHash3_64;for(const[a,g]of r)h.update(`${a}:${JSON.stringify(g)}`);return h.hexdigest()}}N=new WeakMap,b=new WeakMap,d=new WeakSet,bi=function(){c(this,N)||(_e(this,N,!0),typeof this.onSetModified=="function"&&this.onSetModified())},o.AnnotationStorage=G;class D extends G{constructor(h){super();$(this,w,null);_e(this,w,structuredClone(h.serializable))}get print(){(0,P.unreachable)("Should not call PrintAnnotationStorage.print")}get serializable(){return c(this,w)}}w=new WeakMap,o.PrintAnnotationStorage=D},(x,o,X)=>{var G,D,N,b,d,k;Object.defineProperty(o,"__esModule",{value:!0}),o.AnnotationEditor=void 0;var P=X(5),O=X(1);const w=class{constructor(r){$(this,G,this.focusin.bind(this));$(this,D,this.focusout.bind(this));$(this,N,!1);$(this,b,!1);$(this,d,!1);je(this,"_uiManager",null);$(this,k,w._zIndex++);this.constructor===w&&(0,O.unreachable)("Cannot initialize AnnotationEditor."),this.parent=r.parent,this.id=r.id,this.width=this.height=null,this.pageIndex=r.parent.pageIndex,this.name=r.name,this.div=null,this._uiManager=r.uiManager;const{rotation:h,rawDims:{pageWidth:a,pageHeight:g,pageX:_,pageY:v}}=this.parent.viewport;this.rotation=h,this.pageRotation=(360+h-this._uiManager.viewParameters.rotation)%360,this.pageDimensions=[a,g],this.pageTranslation=[_,v];const[p,t]=this.parentDimensions;this.x=r.x/p,this.y=r.y/t,this.isAttachedToDOM=!1}static get _defaultLineColor(){return(0,O.shadow)(this,"_defaultLineColor",this._colorManager.getHexCode("CanvasText"))}addCommands(r){this._uiManager.addCommands(r)}get currentLayer(){return this._uiManager.currentLayer}setInBackground(){this.div.style.zIndex=0}setInForeground(){this.div.style.zIndex=c(this,k)}setParent(r){r!==null&&(this.pageIndex=r.pageIndex,this.pageDimensions=r.pageDimensions),this.parent=r}focusin(r){c(this,N)?_e(this,N,!1):this.parent.setSelected(this)}focusout(r){var a;if(!this.isAttachedToDOM)return;const h=r.relatedTarget;h!=null&&h.closest(`#${this.id}`)||(r.preventDefault(),(a=this.parent)!=null&&a.isMultipleSelection||this.commitOrRemove())}commitOrRemove(){this.isEmpty()?this.remove():this.commit()}commit(){this.addToAnnotationStorage()}addToAnnotationStorage(){this._uiManager.addToAnnotationStorage(this)}dragstart(r){const h=this.parent.div.getBoundingClientRect();this.startX=r.clientX-h.x,this.startY=r.clientY-h.y,r.dataTransfer.setData("text/plain",this.id),r.dataTransfer.effectAllowed="move"}setAt(r,h,a,g){const[_,v]=this.parentDimensions;[a,g]=this.screenToPageTranslation(a,g),this.x=(r+a)/_,this.y=(h+g)/v,this.div.style.left=`${100*this.x}%`,this.div.style.top=`${100*this.y}%`}translate(r,h){const[a,g]=this.parentDimensions;[r,h]=this.screenToPageTranslation(r,h),this.x+=r/a,this.y+=h/g,this.div.style.left=`${100*this.x}%`,this.div.style.top=`${100*this.y}%`}screenToPageTranslation(r,h){switch(this.parentRotation){case 90:return[h,-r];case 180:return[-r,-h];case 270:return[-h,r];default:return[r,h]}}get parentScale(){return this._uiManager.viewParameters.realScale}get parentRotation(){return(this._uiManager.viewParameters.rotation+this.pageRotation)%360}get parentDimensions(){const{realScale:r}=this._uiManager.viewParameters,[h,a]=this.pageDimensions;return[h*r,a*r]}setDims(r,h){const[a,g]=this.parentDimensions;this.div.style.width=`${100*r/a}%`,this.div.style.height=`${100*h/g}%`}fixDims(){const{style:r}=this.div,{height:h,width:a}=r,g=a.endsWith("%"),_=h.endsWith("%");if(g&&_)return;const[v,p]=this.parentDimensions;g||(r.width=`${100*parseFloat(a)/v}%`),_||(r.height=`${100*parseFloat(h)/p}%`)}getInitialTranslation(){return[0,0]}render(){this.div=document.createElement("div"),this.div.setAttribute("data-editor-rotation",(360-this.rotation)%360),this.div.className=this.name,this.div.setAttribute("id",this.id),this.div.setAttribute("tabIndex",0),this.setInForeground(),this.div.addEventListener("focusin",c(this,G)),this.div.addEventListener("focusout",c(this,D));const[r,h]=this.getInitialTranslation();return this.translate(r,h),(0,P.bindEvents)(this,this.div,["dragstart","pointerdown"]),this.div}pointerdown(r){const{isMac:h}=O.FeatureTest.platform;if(r.button!==0||r.ctrlKey&&h){r.preventDefault();return}r.ctrlKey&&!h||r.shiftKey||r.metaKey&&h?this.parent.toggleSelected(this):this.parent.setSelected(this),_e(this,N,!0)}getRect(r,h){const a=this.parentScale,[g,_]=this.pageDimensions,[v,p]=this.pageTranslation,t=r/a,e=h/a,s=this.x*g,n=this.y*_,f=this.width*g,T=this.height*_;switch(this.rotation){case 0:return[s+t+v,_-n-e-T+p,s+t+f+v,_-n-e+p];case 90:return[s+e+v,_-n+t+p,s+e+T+v,_-n+t+f+p];case 180:return[s-t-f+v,_-n+e+p,s-t+v,_-n+e+T+p];case 270:return[s-e-T+v,_-n-t-f+p,s-e+v,_-n-t+p];default:throw new Error("Invalid rotation")}}getRectInCurrentCoords(r,h){const[a,g,_,v]=r,p=_-a,t=v-g;switch(this.rotation){case 0:return[a,h-v,p,t];case 90:return[a,h-g,t,p];case 180:return[_,h-g,p,t];case 270:return[_,h-v,t,p];default:throw new Error("Invalid rotation")}}onceAdded(){}isEmpty(){return!1}enableEditMode(){_e(this,d,!0)}disableEditMode(){_e(this,d,!1)}isInEditMode(){return c(this,d)}shouldGetKeyboardEvents(){return!1}needsToBeRebuilt(){return this.div&&!this.isAttachedToDOM}rebuild(){var r;(r=this.div)==null||r.addEventListener("focusin",c(this,G))}serialize(){(0,O.unreachable)("An editor must be serializable")}static deserialize(r,h,a){const g=new this.prototype.constructor({parent:h,id:h.getNextId(),uiManager:a});g.rotation=r.rotation;const[_,v]=g.pageDimensions,[p,t,e,s]=g.getRectInCurrentCoords(r.rect,v);return g.x=p/_,g.y=t/v,g.width=e/_,g.height=s/v,g}remove(){this.div.removeEventListener("focusin",c(this,G)),this.div.removeEventListener("focusout",c(this,D)),this.isEmpty()||this.commit(),this.parent.remove(this)}select(){var r;(r=this.div)==null||r.classList.add("selectedEditor")}unselect(){var r;(r=this.div)==null||r.classList.remove("selectedEditor")}updateParams(r,h){}disableEditing(){}enableEditing(){}get propertiesToUpdate(){return{}}get contentDiv(){return this.div}get isEditing(){return c(this,b)}set isEditing(r){_e(this,b,r),r?(this.parent.setSelected(this),this.parent.setActiveEditor(this)):this.parent.setActiveEditor(null)}};let pe=w;G=new WeakMap,D=new WeakMap,N=new WeakMap,b=new WeakMap,d=new WeakMap,k=new WeakMap,je(pe,"_colorManager",new P.ColorManager),je(pe,"_zIndex",1),o.AnnotationEditor=pe},(x,o,X)=>{var w,y,r,h,a,g,vi,p,t,e,s,n,f,T,l,I,K,le,H,ee,ae,te,ge,ye,Q,Ce,Ee,J,A,C,F,yi,j,Rt,U,Ai,z,Si,u,Ke,R,ct,W,Ei,B,Pi,ce,Lt,ue,ht,ve,kt;Object.defineProperty(o,"__esModule",{value:!0}),o.KeyboardManager=o.CommandManager=o.ColorManager=o.AnnotationEditorUIManager=void 0,o.bindEvents=pe,o.opacityToHex=G;var P=X(1),O=X(6);function pe(Re,oe,we){for(const Me of we)oe.addEventListener(Me,Re[Me].bind(Re))}function G(Re){return Math.round(Math.min(255,Math.max(1,255*Re))).toString(16).padStart(2,"0")}class D{constructor(){$(this,w,0)}getId(){return`${P.AnnotationEditorPrefix}${lt(this,w)._++}`}}w=new WeakMap;class N{constructor(oe=128){$(this,y,[]);$(this,r,!1);$(this,h,void 0);$(this,a,-1);_e(this,h,oe)}add({cmd:oe,undo:we,mustExec:Me,type:Oe=NaN,overwriteIfSameType:E=!1,keepUndo:m=!1}){if(Me&&oe(),c(this,r))return;const M={cmd:oe,undo:we,type:Oe};if(c(this,a)===-1){c(this,y).length>0&&(c(this,y).length=0),_e(this,a,0),c(this,y).push(M);return}if(E&&c(this,y)[c(this,a)].type===Oe){m&&(M.undo=c(this,y)[c(this,a)].undo),c(this,y)[c(this,a)]=M;return}const ie=c(this,a)+1;ie===c(this,h)?c(this,y).splice(0,1):(_e(this,a,ie),ieE===we[m]))return v._colorsMapping.get(Me);return we}getHexCode(oe){const we=this._colors.get(oe);return we?P.Util.makeHexColor(...we):oe}};let d=v;je(d,"_colorsMapping",new Map([["CanvasText",[0,0,0]],["Canvas",[255,255,255]]])),o.ColorManager=d;const Pe=class{constructor(oe,we,Me){$(this,F);$(this,j);$(this,U);$(this,z);$(this,u);$(this,R);$(this,W);$(this,B);$(this,ce);$(this,ue);$(this,ve);$(this,p,null);$(this,t,new Map);$(this,e,new Map);$(this,s,null);$(this,n,new N);$(this,f,0);$(this,T,null);$(this,l,new Set);$(this,I,null);$(this,K,new D);$(this,le,!1);$(this,H,P.AnnotationEditorType.NONE);$(this,ee,new Set);$(this,ae,this.copy.bind(this));$(this,te,this.cut.bind(this));$(this,ge,this.paste.bind(this));$(this,ye,this.keydown.bind(this));$(this,Q,this.onEditingAction.bind(this));$(this,Ce,this.onPageChanging.bind(this));$(this,Ee,this.onScaleChanging.bind(this));$(this,J,this.onRotationChanging.bind(this));$(this,A,{isEditing:!1,isEmpty:!0,hasSomethingToUndo:!1,hasSomethingToRedo:!1,hasSelectedEditor:!1});$(this,C,null);_e(this,C,oe),_e(this,I,we),c(this,I)._on("editingaction",c(this,Q)),c(this,I)._on("pagechanging",c(this,Ce)),c(this,I)._on("scalechanging",c(this,Ee)),c(this,I)._on("rotationchanging",c(this,J)),_e(this,s,Me),this.viewParameters={realScale:O.PixelsPerInch.PDF_TO_CSS_UNITS,rotation:0}}destroy(){Z(this,j,Rt).call(this),c(this,I)._off("editingaction",c(this,Q)),c(this,I)._off("pagechanging",c(this,Ce)),c(this,I)._off("scalechanging",c(this,Ee)),c(this,I)._off("rotationchanging",c(this,J));for(const oe of c(this,e).values())oe.destroy();c(this,e).clear(),c(this,t).clear(),c(this,l).clear(),_e(this,p,null),c(this,ee).clear(),c(this,n).destroy()}onPageChanging({pageNumber:oe}){_e(this,f,oe-1)}focusMainContainer(){c(this,C).focus()}addShouldRescale(oe){c(this,l).add(oe)}removeShouldRescale(oe){c(this,l).delete(oe)}onScaleChanging({scale:oe}){this.commitOrRemove(),this.viewParameters.realScale=oe*O.PixelsPerInch.PDF_TO_CSS_UNITS;for(const we of c(this,l))we.onScaleChanging()}onRotationChanging({pagesRotation:oe}){this.commitOrRemove(),this.viewParameters.rotation=oe}addToAnnotationStorage(oe){!oe.isEmpty()&&c(this,s)&&!c(this,s).has(oe.id)&&c(this,s).setValue(oe.id,oe)}copy(oe){if(oe.preventDefault(),c(this,p)&&c(this,p).commitOrRemove(),!this.hasSelection)return;const we=[];for(const Me of c(this,ee))Me.isEmpty()||we.push(Me.serialize());we.length!==0&&oe.clipboardData.setData("application/pdfjs",JSON.stringify(we))}cut(oe){this.copy(oe),this.delete()}paste(oe){oe.preventDefault();let we=oe.clipboardData.getData("application/pdfjs");if(!we)return;try{we=JSON.parse(we)}catch(Oe){(0,P.warn)(`paste: "${Oe.message}".`);return}if(!Array.isArray(we))return;this.unselectAll();const Me=c(this,e).get(c(this,f));try{const Oe=[];for(const M of we){const ie=Me.deserialize(M);if(!ie)return;Oe.push(ie)}const E=()=>{for(const M of Oe)Z(this,ce,Lt).call(this,M);Z(this,ve,kt).call(this,Oe)},m=()=>{for(const M of Oe)M.remove()};this.addCommands({cmd:E,undo:m,mustExec:!0})}catch(Oe){(0,P.warn)(`paste: "${Oe.message}".`)}}keydown(oe){var we;(we=this.getActive())!=null&&we.shouldGetKeyboardEvents()||Pe._keyboardManager.exec(this,oe)}onEditingAction(oe){["undo","redo","delete","selectAll"].includes(oe.name)&&this[oe.name]()}setEditingState(oe){oe?(Z(this,F,yi).call(this),Z(this,U,Ai).call(this),Z(this,u,Ke).call(this,{isEditing:c(this,H)!==P.AnnotationEditorType.NONE,isEmpty:Z(this,ue,ht).call(this),hasSomethingToUndo:c(this,n).hasSomethingToUndo(),hasSomethingToRedo:c(this,n).hasSomethingToRedo(),hasSelectedEditor:!1})):(Z(this,j,Rt).call(this),Z(this,z,Si).call(this),Z(this,u,Ke).call(this,{isEditing:!1}))}registerEditorTypes(oe){if(!c(this,T)){_e(this,T,oe);for(const we of c(this,T))Z(this,R,ct).call(this,we.defaultPropertiesToUpdate)}}getId(){return c(this,K).getId()}get currentLayer(){return c(this,e).get(c(this,f))}get currentPageIndex(){return c(this,f)}addLayer(oe){c(this,e).set(oe.pageIndex,oe),c(this,le)?oe.enable():oe.disable()}removeLayer(oe){c(this,e).delete(oe.pageIndex)}updateMode(oe){if(_e(this,H,oe),oe===P.AnnotationEditorType.NONE)this.setEditingState(!1),Z(this,B,Pi).call(this);else{this.setEditingState(!0),Z(this,W,Ei).call(this);for(const we of c(this,e).values())we.updateMode(oe)}}updateToolbar(oe){oe!==c(this,H)&&c(this,I).dispatch("switchannotationeditormode",{source:this,mode:oe})}updateParams(oe,we){if(c(this,T)){for(const Me of c(this,ee))Me.updateParams(oe,we);for(const Me of c(this,T))Me.updateDefaultParams(oe,we)}}getEditors(oe){const we=[];for(const Me of c(this,t).values())Me.pageIndex===oe&&we.push(Me);return we}getEditor(oe){return c(this,t).get(oe)}addEditor(oe){c(this,t).set(oe.id,oe)}removeEditor(oe){var we;c(this,t).delete(oe.id),this.unselect(oe),(we=c(this,s))==null||we.remove(oe.id)}setActiveEditor(oe){c(this,p)!==oe&&(_e(this,p,oe),oe&&Z(this,R,ct).call(this,oe.propertiesToUpdate))}toggleSelected(oe){if(c(this,ee).has(oe)){c(this,ee).delete(oe),oe.unselect(),Z(this,u,Ke).call(this,{hasSelectedEditor:this.hasSelection});return}c(this,ee).add(oe),oe.select(),Z(this,R,ct).call(this,oe.propertiesToUpdate),Z(this,u,Ke).call(this,{hasSelectedEditor:!0})}setSelected(oe){for(const we of c(this,ee))we!==oe&&we.unselect();c(this,ee).clear(),c(this,ee).add(oe),oe.select(),Z(this,R,ct).call(this,oe.propertiesToUpdate),Z(this,u,Ke).call(this,{hasSelectedEditor:!0})}isSelected(oe){return c(this,ee).has(oe)}unselect(oe){oe.unselect(),c(this,ee).delete(oe),Z(this,u,Ke).call(this,{hasSelectedEditor:this.hasSelection})}get hasSelection(){return c(this,ee).size!==0}undo(){c(this,n).undo(),Z(this,u,Ke).call(this,{hasSomethingToUndo:c(this,n).hasSomethingToUndo(),hasSomethingToRedo:!0,isEmpty:Z(this,ue,ht).call(this)})}redo(){c(this,n).redo(),Z(this,u,Ke).call(this,{hasSomethingToUndo:!0,hasSomethingToRedo:c(this,n).hasSomethingToRedo(),isEmpty:Z(this,ue,ht).call(this)})}addCommands(oe){c(this,n).add(oe),Z(this,u,Ke).call(this,{hasSomethingToUndo:!0,hasSomethingToRedo:!1,isEmpty:Z(this,ue,ht).call(this)})}delete(){if(this.commitOrRemove(),!this.hasSelection)return;const oe=[...c(this,ee)],we=()=>{for(const Oe of oe)Oe.remove()},Me=()=>{for(const Oe of oe)Z(this,ce,Lt).call(this,Oe)};this.addCommands({cmd:we,undo:Me,mustExec:!0})}commitOrRemove(){var oe;(oe=c(this,p))==null||oe.commitOrRemove()}selectAll(){for(const oe of c(this,ee))oe.commit();Z(this,ve,kt).call(this,c(this,t).values())}unselectAll(){if(c(this,p)){c(this,p).commitOrRemove();return}if(c(this,ee).size!==0){for(const oe of c(this,ee))oe.unselect();c(this,ee).clear(),Z(this,u,Ke).call(this,{hasSelectedEditor:!1})}}isActive(oe){return c(this,p)===oe}getActive(){return c(this,p)}getMode(){return c(this,H)}};let k=Pe;p=new WeakMap,t=new WeakMap,e=new WeakMap,s=new WeakMap,n=new WeakMap,f=new WeakMap,T=new WeakMap,l=new WeakMap,I=new WeakMap,K=new WeakMap,le=new WeakMap,H=new WeakMap,ee=new WeakMap,ae=new WeakMap,te=new WeakMap,ge=new WeakMap,ye=new WeakMap,Q=new WeakMap,Ce=new WeakMap,Ee=new WeakMap,J=new WeakMap,A=new WeakMap,C=new WeakMap,F=new WeakSet,yi=function(){c(this,C).addEventListener("keydown",c(this,ye))},j=new WeakSet,Rt=function(){c(this,C).removeEventListener("keydown",c(this,ye))},U=new WeakSet,Ai=function(){document.addEventListener("copy",c(this,ae)),document.addEventListener("cut",c(this,te)),document.addEventListener("paste",c(this,ge))},z=new WeakSet,Si=function(){document.removeEventListener("copy",c(this,ae)),document.removeEventListener("cut",c(this,te)),document.removeEventListener("paste",c(this,ge))},u=new WeakSet,Ke=function(oe){Object.entries(oe).some(([Me,Oe])=>c(this,A)[Me]!==Oe)&&c(this,I).dispatch("annotationeditorstateschanged",{source:this,details:Object.assign(c(this,A),oe)})},R=new WeakSet,ct=function(oe){c(this,I).dispatch("annotationeditorparamschanged",{source:this,details:oe})},W=new WeakSet,Ei=function(){if(!c(this,le)){_e(this,le,!0);for(const oe of c(this,e).values())oe.enable()}},B=new WeakSet,Pi=function(){if(this.unselectAll(),c(this,le)){_e(this,le,!1);for(const oe of c(this,e).values())oe.disable()}},ce=new WeakSet,Lt=function(oe){const we=c(this,e).get(oe.pageIndex);we?we.addOrRebuild(oe):this.addEditor(oe)},ue=new WeakSet,ht=function(){if(c(this,t).size===0)return!0;if(c(this,t).size===1)for(const oe of c(this,t).values())return oe.isEmpty();return!1},ve=new WeakSet,kt=function(oe){c(this,ee).clear();for(const we of oe)we.isEmpty()||(c(this,ee).add(we),we.select());Z(this,u,Ke).call(this,{hasSelectedEditor:!0})},je(k,"_keyboardManager",new b([[["ctrl+a","mac+meta+a"],Pe.prototype.selectAll],[["ctrl+z","mac+meta+z"],Pe.prototype.undo],[["ctrl+y","ctrl+shift+Z","mac+meta+shift+Z"],Pe.prototype.redo],[["Backspace","alt+Backspace","ctrl+Backspace","shift+Backspace","mac+Backspace","mac+alt+Backspace","mac+ctrl+Backspace","Delete","ctrl+Delete","shift+Delete"],Pe.prototype.delete],[["Escape","mac+Escape"],Pe.prototype.unselectAll]])),o.AnnotationEditorUIManager=k},(x,o,X)=>{var ae,te,ge,ye,Q,Ce,Ee,J,A,st,F,et,j,Ze;Object.defineProperty(o,"__esModule",{value:!0}),o.StatTimer=o.RenderingCancelledException=o.PixelsPerInch=o.PageViewport=o.PDFDateString=o.DOMStandardFontDataFactory=o.DOMSVGFactory=o.DOMFilterFactory=o.DOMCanvasFactory=o.DOMCMapReaderFactory=o.AnnotationPrefix=void 0,o.deprecated=s,o.getColorValues=I,o.getCurrentTransform=K,o.getCurrentTransformInverse=le,o.getFilenameFromUrl=_,o.getPdfFilenameFromUrl=v,o.getRGB=l,o.getXfaPageViewport=T,o.isDataScheme=a,o.isPdfFile=g,o.isValidFetchUrl=t,o.loadScript=e,o.setLayerDimensions=H;var P=X(7),O=X(1);const pe="http://www.w3.org/2000/svg",G="pdfjs_internal_id_";o.AnnotationPrefix=G;const ee=class{};let D=ee;je(D,"CSS",96),je(D,"PDF",72),je(D,"PDF_TO_CSS_UNITS",ee.CSS/ee.PDF),o.PixelsPerInch=D;class N extends P.BaseFilterFactory{constructor({docId:z,ownerDocument:i=globalThis.document}={}){super();$(this,A);$(this,F);$(this,j);$(this,ae,void 0);$(this,te,void 0);$(this,ge,void 0);$(this,ye,void 0);$(this,Q,void 0);$(this,Ce,void 0);$(this,Ee,void 0);$(this,J,0);_e(this,ge,z),_e(this,ye,i)}addFilter(z){if(!z)return"none";let i=c(this,A,st).get(z);if(i)return i;let u,S,R,L;if(z.length===1){const ce=z[0],ne=new Array(256);for(let ue=0;ue<256;ue++)ne[ue]=ce[ue]/255;L=u=S=R=ne.join(",")}else{const[ce,ne,ue]=z,be=new Array(256),ve=new Array(256),xe=new Array(256);for(let Pe=0;Pe<256;Pe++)be[Pe]=ce[Pe]/255,ve[Pe]=ne[Pe]/255,xe[Pe]=ue[Pe]/255;u=be.join(","),S=ve.join(","),R=xe.join(","),L=`${u}${S}${R}`}if(i=c(this,A,st).get(L),i)return c(this,A,st).set(z,i),i;const W=`g_${c(this,ge)}_transfer_map_${lt(this,J)._++}`,me=`url(#${W})`;c(this,A,st).set(z,me),c(this,A,st).set(L,me);const B=c(this,ye).createElementNS(pe,"filter",pe);B.setAttribute("id",W),B.setAttribute("color-interpolation-filters","sRGB");const q=c(this,ye).createElementNS(pe,"feComponentTransfer");return B.append(q),Z(this,j,Ze).call(this,q,"feFuncR",u),Z(this,j,Ze).call(this,q,"feFuncG",S),Z(this,j,Ze).call(this,q,"feFuncB",R),c(this,F,et).append(B),me}addHCMFilter(z,i){var ue;const u=`${z}-${i}`;if(c(this,Ce)===u)return c(this,Ee);if(_e(this,Ce,u),_e(this,Ee,"none"),(ue=c(this,Q))==null||ue.remove(),!z||!i)return c(this,Ee);c(this,F,et).style.color=z,z=getComputedStyle(c(this,F,et)).getPropertyValue("color");const S=l(z);z=O.Util.makeHexColor(...S),c(this,F,et).style.color=i,i=getComputedStyle(c(this,F,et)).getPropertyValue("color");const R=l(i);if(i=O.Util.makeHexColor(...R),c(this,F,et).style.color="",z==="#000000"&&i==="#ffffff"||z===i)return c(this,Ee);const L=new Array(256);for(let be=0;be<=255;be++){const ve=be/255;L[be]=ve<=.03928?ve/12.92:((ve+.055)/1.055)**2.4}const W=L.join(","),me=`g_${c(this,ge)}_hcm_filter`,B=_e(this,Q,c(this,ye).createElementNS(pe,"filter",pe));B.setAttribute("id",me),B.setAttribute("color-interpolation-filters","sRGB");let q=c(this,ye).createElementNS(pe,"feComponentTransfer");B.append(q),Z(this,j,Ze).call(this,q,"feFuncR",W),Z(this,j,Ze).call(this,q,"feFuncG",W),Z(this,j,Ze).call(this,q,"feFuncB",W);const ce=c(this,ye).createElementNS(pe,"feColorMatrix");ce.setAttribute("type","matrix"),ce.setAttribute("values","0.2126 0.7152 0.0722 0 0 0.2126 0.7152 0.0722 0 0 0.2126 0.7152 0.0722 0 0 0 0 0 1 0"),B.append(ce),q=c(this,ye).createElementNS(pe,"feComponentTransfer"),B.append(q);const ne=(be,ve)=>{const xe=S[be]/255,Pe=R[be]/255,Re=new Array(ve+1);for(let oe=0;oe<=ve;oe++)Re[oe]=xe+oe/ve*(Pe-xe);return Re.join(",")};return Z(this,j,Ze).call(this,q,"feFuncR",ne(0,5)),Z(this,j,Ze).call(this,q,"feFuncG",ne(1,5)),Z(this,j,Ze).call(this,q,"feFuncB",ne(2,5)),c(this,F,et).append(B),_e(this,Ee,`url(#${me})`),c(this,Ee)}destroy(z=!1){z&&c(this,Ee)||(c(this,te)&&(c(this,te).parentNode.parentNode.remove(),_e(this,te,null)),c(this,ae)&&(c(this,ae).clear(),_e(this,ae,null)),_e(this,J,0))}}ae=new WeakMap,te=new WeakMap,ge=new WeakMap,ye=new WeakMap,Q=new WeakMap,Ce=new WeakMap,Ee=new WeakMap,J=new WeakMap,A=new WeakSet,st=function(){return c(this,ae)||_e(this,ae,new Map)},F=new WeakSet,et=function(){if(!c(this,te)){const z=c(this,ye).createElement("div"),{style:i}=z;i.visibility="hidden",i.contain="strict",i.width=i.height=0,i.position="absolute",i.top=i.left=0,i.zIndex=-1;const u=c(this,ye).createElementNS(pe,"svg");u.setAttribute("width",0),u.setAttribute("height",0),_e(this,te,c(this,ye).createElementNS(pe,"defs")),z.append(u),u.append(c(this,te)),c(this,ye).body.append(z)}return c(this,te)},j=new WeakSet,Ze=function(z,i,u){const S=c(this,ye).createElementNS(pe,i);S.setAttribute("type","discrete"),S.setAttribute("tableValues",u),z.append(S)},o.DOMFilterFactory=N;class b extends P.BaseCanvasFactory{constructor({ownerDocument:V=globalThis.document}={}){super(),this._document=V}_createCanvas(V,z){const i=this._document.createElement("canvas");return i.width=V,i.height=z,i}}o.DOMCanvasFactory=b;async function d(U,V=!1){if(t(U,document.baseURI)){const z=await fetch(U);if(!z.ok)throw new Error(z.statusText);return V?new Uint8Array(await z.arrayBuffer()):(0,O.stringToBytes)(await z.text())}return new Promise((z,i)=>{const u=new XMLHttpRequest;u.open("GET",U,!0),V&&(u.responseType="arraybuffer"),u.onreadystatechange=()=>{if(u.readyState===XMLHttpRequest.DONE){if(u.status===200||u.status===0){let S;if(V&&u.response?S=new Uint8Array(u.response):!V&&u.responseText&&(S=(0,O.stringToBytes)(u.responseText)),S){z(S);return}}i(new Error(u.statusText))}},u.send(null)})}class k extends P.BaseCMapReaderFactory{_fetchData(V,z){return d(V,this.isCompressed).then(i=>({cMapData:i,compressionType:z}))}}o.DOMCMapReaderFactory=k;class w extends P.BaseStandardFontDataFactory{_fetchData(V){return d(V,!0)}}o.DOMStandardFontDataFactory=w;class y extends P.BaseSVGFactory{_createSVG(V){return document.createElementNS(pe,V)}}o.DOMSVGFactory=y;class r{constructor({viewBox:V,scale:z,rotation:i,offsetX:u=0,offsetY:S=0,dontFlip:R=!1}){this.viewBox=V,this.scale=z,this.rotation=i,this.offsetX=u,this.offsetY=S;const L=(V[2]+V[0])/2,W=(V[3]+V[1])/2;let me,B,q,ce;switch(i%=360,i<0&&(i+=360),i){case 180:me=-1,B=0,q=0,ce=1;break;case 90:me=0,B=1,q=1,ce=0;break;case 270:me=0,B=-1,q=-1,ce=0;break;case 0:me=1,B=0,q=0,ce=-1;break;default:throw new Error("PageViewport: Invalid rotation, must be a multiple of 90 degrees.")}R&&(q=-q,ce=-ce);let ne,ue,be,ve;me===0?(ne=Math.abs(W-V[1])*z+u,ue=Math.abs(L-V[0])*z+S,be=(V[3]-V[1])*z,ve=(V[2]-V[0])*z):(ne=Math.abs(L-V[0])*z+u,ue=Math.abs(W-V[1])*z+S,be=(V[2]-V[0])*z,ve=(V[3]-V[1])*z),this.transform=[me*z,B*z,q*z,ce*z,ne-me*z*L-q*z*W,ue-B*z*L-ce*z*W],this.width=be,this.height=ve}get rawDims(){const{viewBox:V}=this;return(0,O.shadow)(this,"rawDims",{pageWidth:V[2]-V[0],pageHeight:V[3]-V[1],pageX:V[0],pageY:V[1]})}clone({scale:V=this.scale,rotation:z=this.rotation,offsetX:i=this.offsetX,offsetY:u=this.offsetY,dontFlip:S=!1}={}){return new r({viewBox:this.viewBox.slice(),scale:V,rotation:z,offsetX:i,offsetY:u,dontFlip:S})}convertToViewportPoint(V,z){return O.Util.applyTransform([V,z],this.transform)}convertToViewportRectangle(V){const z=O.Util.applyTransform([V[0],V[1]],this.transform),i=O.Util.applyTransform([V[2],V[3]],this.transform);return[z[0],z[1],i[0],i[1]]}convertToPdfPoint(V,z){return O.Util.applyInverseTransform([V,z],this.transform)}}o.PageViewport=r;class h extends O.BaseException{constructor(V,z,i=0){super(V,"RenderingCancelledException"),this.type=z,this.extraDelay=i}}o.RenderingCancelledException=h;function a(U){const V=U.length;let z=0;for(;z{const u=document.createElement("script");u.src=U,u.onload=function(S){V&&u.remove(),z(S)},u.onerror=function(){i(new Error(`Cannot load script at: ${u.src}`))},(document.head||document.documentElement).append(u)})}function s(U){console.log("Deprecated API usage: "+U)}let n;class f{static toDateObject(V){if(!V||typeof V!="string")return null;n||(n=new RegExp("^D:(\\d{4})(\\d{2})?(\\d{2})?(\\d{2})?(\\d{2})?(\\d{2})?([Z|+|-])?(\\d{2})?'?(\\d{2})?'?"));const z=n.exec(V);if(!z)return null;const i=parseInt(z[1],10);let u=parseInt(z[2],10);u=u>=1&&u<=12?u-1:0;let S=parseInt(z[3],10);S=S>=1&&S<=31?S:1;let R=parseInt(z[4],10);R=R>=0&&R<=23?R:0;let L=parseInt(z[5],10);L=L>=0&&L<=59?L:0;let W=parseInt(z[6],10);W=W>=0&&W<=59?W:0;const me=z[7]||"Z";let B=parseInt(z[8],10);B=B>=0&&B<=23?B:0;let q=parseInt(z[9],10)||0;return q=q>=0&&q<=59?q:0,me==="-"?(R+=B,L+=q):me==="+"&&(R-=B,L-=q),new Date(Date.UTC(i,u,S,R,L,W))}}o.PDFDateString=f;function T(U,{scale:V=1,rotation:z=0}){const{width:i,height:u}=U.attributes.style,S=[0,0,parseInt(i),parseInt(u)];return new r({viewBox:S,scale:V,rotation:z})}function l(U){if(U.startsWith("#")){const V=parseInt(U.slice(1),16);return[(V&16711680)>>16,(V&65280)>>8,V&255]}return U.startsWith("rgb(")?U.slice(4,-1).split(",").map(V=>parseInt(V)):U.startsWith("rgba(")?U.slice(5,-1).split(",").map(V=>parseInt(V)).slice(0,3):((0,O.warn)(`Not a valid color format: "${U}"`),[0,0,0])}function I(U){const V=document.createElement("span");V.style.visibility="hidden",document.body.append(V);for(const z of U.keys()){V.style.color=z;const i=window.getComputedStyle(V).color;U.set(z,l(i))}V.remove()}function K(U){const{a:V,b:z,c:i,d:u,e:S,f:R}=U.getTransform();return[V,z,i,u,S,R]}function le(U){const{a:V,b:z,c:i,d:u,e:S,f:R}=U.getTransform().invertSelf();return[V,z,i,u,S,R]}function H(U,V,z=!1,i=!0){if(V instanceof r){const{pageWidth:u,pageHeight:S}=V.rawDims,{style:R}=U,L=`calc(var(--scale-factor) * ${u}px)`,W=`calc(var(--scale-factor) * ${S}px)`;!z||V.rotation%180===0?(R.width=L,R.height=W):(R.width=W,R.height=L)}i&&U.setAttribute("data-main-rotation",V.rotation)}},(x,o,X)=>{Object.defineProperty(o,"__esModule",{value:!0}),o.BaseStandardFontDataFactory=o.BaseSVGFactory=o.BaseFilterFactory=o.BaseCanvasFactory=o.BaseCMapReaderFactory=void 0;var P=X(1);class O{constructor(){this.constructor===O&&(0,P.unreachable)("Cannot initialize BaseFilterFactory.")}addFilter(d){return"none"}addHCMFilter(d,k){return"none"}destroy(d=!1){}}o.BaseFilterFactory=O;class pe{constructor(){this.constructor===pe&&(0,P.unreachable)("Cannot initialize BaseCanvasFactory.")}create(d,k){if(d<=0||k<=0)throw new Error("Invalid canvas size");const w=this._createCanvas(d,k);return{canvas:w,context:w.getContext("2d")}}reset(d,k,w){if(!d.canvas)throw new Error("Canvas is not specified");if(k<=0||w<=0)throw new Error("Invalid canvas size");d.canvas.width=k,d.canvas.height=w}destroy(d){if(!d.canvas)throw new Error("Canvas is not specified");d.canvas.width=0,d.canvas.height=0,d.canvas=null,d.context=null}_createCanvas(d,k){(0,P.unreachable)("Abstract method `_createCanvas` called.")}}o.BaseCanvasFactory=pe;class G{constructor({baseUrl:d=null,isCompressed:k=!0}){this.constructor===G&&(0,P.unreachable)("Cannot initialize BaseCMapReaderFactory."),this.baseUrl=d,this.isCompressed=k}async fetch({name:d}){if(!this.baseUrl)throw new Error('The CMap "baseUrl" parameter must be specified, ensure that the "cMapUrl" and "cMapPacked" API parameters are provided.');if(!d)throw new Error("CMap name must be specified.");const k=this.baseUrl+d+(this.isCompressed?".bcmap":""),w=this.isCompressed?P.CMapCompressionType.BINARY:P.CMapCompressionType.NONE;return this._fetchData(k,w).catch(y=>{throw new Error(`Unable to load ${this.isCompressed?"binary ":""}CMap at: ${k}`)})}_fetchData(d,k){(0,P.unreachable)("Abstract method `_fetchData` called.")}}o.BaseCMapReaderFactory=G;class D{constructor({baseUrl:d=null}){this.constructor===D&&(0,P.unreachable)("Cannot initialize BaseStandardFontDataFactory."),this.baseUrl=d}async fetch({filename:d}){if(!this.baseUrl)throw new Error('The standard font "baseUrl" parameter must be specified, ensure that the "standardFontDataUrl" API parameter is provided.');if(!d)throw new Error("Font filename must be specified.");const k=`${this.baseUrl}${d}`;return this._fetchData(k).catch(w=>{throw new Error(`Unable to load font data at: ${k}`)})}_fetchData(d){(0,P.unreachable)("Abstract method `_fetchData` called.")}}o.BaseStandardFontDataFactory=D;class N{constructor(){this.constructor===N&&(0,P.unreachable)("Cannot initialize BaseSVGFactory.")}create(d,k,w=!1){if(d<=0||k<=0)throw new Error("Invalid SVG dimensions");const y=this._createSVG("svg:svg");return y.setAttribute("version","1.1"),w||(y.setAttribute("width",`${d}px`),y.setAttribute("height",`${k}px`)),y.setAttribute("preserveAspectRatio","none"),y.setAttribute("viewBox",`0 0 ${d} ${k}`),y}createElement(d){if(typeof d!="string")throw new Error("Invalid SVG element type");return this._createSVG(d)}_createSVG(d){(0,P.unreachable)("Abstract method `_createSVG` called.")}}o.BaseSVGFactory=N},(x,o,X)=>{Object.defineProperty(o,"__esModule",{value:!0}),o.MurmurHash3_64=void 0;var P=X(1);const O=3285377520,pe=4294901760,G=65535;class D{constructor(b){this.h1=b?b&4294967295:O,this.h2=b?b&4294967295:O}update(b){let d,k;if(typeof b=="string"){d=new Uint8Array(b.length*2),k=0;for(let s=0,n=b.length;s>>8,d[k++]=f&255)}}else if((0,P.isArrayBuffer)(b))d=b.slice(),k=d.byteLength;else throw new Error("Wrong data format in MurmurHash3_64_update. Input must be a string or array.");const w=k>>2,y=k-w*4,r=new Uint32Array(d.buffer,0,w);let h=0,a=0,g=this.h1,_=this.h2;const v=3432918353,p=461845907,t=v&G,e=p&G;for(let s=0;s>>17,h=h*p&pe|h*e&G,g^=h,g=g<<13|g>>>19,g=g*5+3864292196):(a=r[s],a=a*v&pe|a*t&G,a=a<<15|a>>>17,a=a*p&pe|a*e&G,_^=a,_=_<<13|_>>>19,_=_*5+3864292196);switch(h=0,y){case 3:h^=d[w*4+2]<<16;case 2:h^=d[w*4+1]<<8;case 1:h^=d[w*4],h=h*v&pe|h*t&G,h=h<<15|h>>>17,h=h*p&pe|h*e&G,w&1?g^=h:_^=h}this.h1=g,this.h2=_}hexdigest(){let b=this.h1,d=this.h2;return b^=d>>>1,b=b*3981806797&pe|b*36045&G,d=d*4283543511&pe|((d<<16|b>>>16)*2950163797&pe)>>>16,b^=d>>>1,b=b*444984403&pe|b*60499&G,d=d*3301882366&pe|((d<<16|b>>>16)*3120437893&pe)>>>16,b^=d>>>1,(b>>>0).toString(16).padStart(8,"0")+(d>>>0).toString(16).padStart(8,"0")}}o.MurmurHash3_64=D},(x,o,X)=>{Object.defineProperty(o,"__esModule",{value:!0}),o.FontLoader=o.FontFaceObject=void 0;var P=X(1),O=X(10);class pe{constructor({ownerDocument:N=globalThis.document,styleElement:b=null}){this._document=N,this.nativeFontFaces=[],this.styleElement=null,this.loadingRequests=[],this.loadTestFontId=0}addNativeFontFace(N){this.nativeFontFaces.push(N),this._document.fonts.add(N)}insertRule(N){this.styleElement||(this.styleElement=this._document.createElement("style"),this._document.documentElement.getElementsByTagName("head")[0].append(this.styleElement));const b=this.styleElement.sheet;b.insertRule(N,b.cssRules.length)}clear(){for(const N of this.nativeFontFaces)this._document.fonts.delete(N);this.nativeFontFaces.length=0,this.styleElement&&(this.styleElement.remove(),this.styleElement=null)}async bind(N){if(N.attached||N.missingFile)return;if(N.attached=!0,this.isFontLoadingAPISupported){const d=N.createNativeFontFace();if(d){this.addNativeFontFace(d);try{await d.loaded}catch(k){throw(0,P.warn)(`Failed to load font '${d.family}': '${k}'.`),N.disableFontFace=!0,k}}return}const b=N.createFontFaceRule();if(b){if(this.insertRule(b),this.isSyncFontLoadingSupported)return;await new Promise(d=>{const k=this._queueLoadingCallback(d);this._prepareFontLoadEvent(N,k)})}}get isFontLoadingAPISupported(){var b;const N=!!((b=this._document)!=null&&b.fonts);return(0,P.shadow)(this,"isFontLoadingAPISupported",N)}get isSyncFontLoadingSupported(){let N=!1;return(O.isNodeJS||typeof navigator<"u"&&/Mozilla\/5.0.*?rv:\d+.*? Gecko/.test(navigator.userAgent))&&(N=!0),(0,P.shadow)(this,"isSyncFontLoadingSupported",N)}_queueLoadingCallback(N){function b(){for((0,P.assert)(!k.done,"completeRequest() cannot be called twice."),k.done=!0;d.length>0&&d[0].done;){const w=d.shift();setTimeout(w.callback,0)}}const{loadingRequests:d}=this,k={done:!1,complete:b,callback:N};return d.push(k),k}get _loadTestFont(){const N=atob("T1RUTwALAIAAAwAwQ0ZGIDHtZg4AAAOYAAAAgUZGVE1lkzZwAAAEHAAAABxHREVGABQAFQAABDgAAAAeT1MvMlYNYwkAAAEgAAAAYGNtYXABDQLUAAACNAAAAUJoZWFk/xVFDQAAALwAAAA2aGhlYQdkA+oAAAD0AAAAJGhtdHgD6AAAAAAEWAAAAAZtYXhwAAJQAAAAARgAAAAGbmFtZVjmdH4AAAGAAAAAsXBvc3T/hgAzAAADeAAAACAAAQAAAAEAALZRFsRfDzz1AAsD6AAAAADOBOTLAAAAAM4KHDwAAAAAA+gDIQAAAAgAAgAAAAAAAAABAAADIQAAAFoD6AAAAAAD6AABAAAAAAAAAAAAAAAAAAAAAQAAUAAAAgAAAAQD6AH0AAUAAAKKArwAAACMAooCvAAAAeAAMQECAAACAAYJAAAAAAAAAAAAAQAAAAAAAAAAAAAAAFBmRWQAwAAuAC4DIP84AFoDIQAAAAAAAQAAAAAAAAAAACAAIAABAAAADgCuAAEAAAAAAAAAAQAAAAEAAAAAAAEAAQAAAAEAAAAAAAIAAQAAAAEAAAAAAAMAAQAAAAEAAAAAAAQAAQAAAAEAAAAAAAUAAQAAAAEAAAAAAAYAAQAAAAMAAQQJAAAAAgABAAMAAQQJAAEAAgABAAMAAQQJAAIAAgABAAMAAQQJAAMAAgABAAMAAQQJAAQAAgABAAMAAQQJAAUAAgABAAMAAQQJAAYAAgABWABYAAAAAAAAAwAAAAMAAAAcAAEAAAAAADwAAwABAAAAHAAEACAAAAAEAAQAAQAAAC7//wAAAC7////TAAEAAAAAAAABBgAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAD/gwAyAAAAAQAAAAAAAAAAAAAAAAAAAAABAAQEAAEBAQJYAAEBASH4DwD4GwHEAvgcA/gXBIwMAYuL+nz5tQXkD5j3CBLnEQACAQEBIVhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYAAABAQAADwACAQEEE/t3Dov6fAH6fAT+fPp8+nwHDosMCvm1Cvm1DAz6fBQAAAAAAAABAAAAAMmJbzEAAAAAzgTjFQAAAADOBOQpAAEAAAAAAAAADAAUAAQAAAABAAAAAgABAAAAAAAAAAAD6AAAAAAAAA==");return(0,P.shadow)(this,"_loadTestFont",N)}_prepareFontLoadEvent(N,b){function d(l,I){return l.charCodeAt(I)<<24|l.charCodeAt(I+1)<<16|l.charCodeAt(I+2)<<8|l.charCodeAt(I+3)&255}function k(l,I,K,le){const H=l.substring(0,I),ee=l.substring(I+K);return H+le+ee}let w,y;const r=this._document.createElement("canvas");r.width=1,r.height=1;const h=r.getContext("2d");let a=0;function g(l,I){if(++a>30){(0,P.warn)("Load test font never loaded."),I();return}if(h.font="30px "+l,h.fillText(".",0,20),h.getImageData(0,0,1,1).data[3]>0){I();return}setTimeout(g.bind(null,l,I))}const _=`lt${Date.now()}${this.loadTestFontId++}`;let v=this._loadTestFont;v=k(v,976,_.length,_);const t=16,e=1482184792;let s=d(v,t);for(w=0,y=_.length-3;w{T.remove(),b.complete()})}}o.FontLoader=pe;class G{constructor(N,{isEvalSupported:b=!0,disableFontFace:d=!1,ignoreErrors:k=!1,inspectFont:w=null}){this.compiledGlyphs=Object.create(null);for(const y in N)this[y]=N[y];this.isEvalSupported=b!==!1,this.disableFontFace=d===!0,this.ignoreErrors=k===!0,this._inspectFont=w}createNativeFontFace(){var b;if(!this.data||this.disableFontFace)return null;let N;if(!this.cssFontInfo)N=new FontFace(this.loadedName,this.data,{});else{const d={weight:this.cssFontInfo.fontWeight};this.cssFontInfo.italicAngle&&(d.style=`oblique ${this.cssFontInfo.italicAngle}deg`),N=new FontFace(this.cssFontInfo.fontFamily,this.data,d)}return(b=this._inspectFont)==null||b.call(this,this),N}createFontFaceRule(){var k;if(!this.data||this.disableFontFace)return null;const N=(0,P.bytesToString)(this.data),b=`url(data:${this.mimetype};base64,${btoa(N)});`;let d;if(!this.cssFontInfo)d=`@font-face {font-family:"${this.loadedName}";src:${b}}`;else{let w=`font-weight: ${this.cssFontInfo.fontWeight};`;this.cssFontInfo.italicAngle&&(w+=`font-style: oblique ${this.cssFontInfo.italicAngle}deg;`),d=`@font-face {font-family:"${this.cssFontInfo.fontFamily}";${w}src:${b}}`}return(k=this._inspectFont)==null||k.call(this,this,b),d}getPathGenerator(N,b){if(this.compiledGlyphs[b]!==void 0)return this.compiledGlyphs[b];let d;try{d=N.get(this.loadedName+"_path_"+b)}catch(k){if(!this.ignoreErrors)throw k;return(0,P.warn)(`getPathGenerator - ignoring character: "${k}".`),this.compiledGlyphs[b]=function(w,y){}}if(this.isEvalSupported&&P.FeatureTest.isEvalSupported){const k=[];for(const w of d){const y=w.args!==void 0?w.args.join(","):"";k.push("c.",w.cmd,"(",y,`); `)}return this.compiledGlyphs[b]=new Function("c","size",k.join(""))}return this.compiledGlyphs[b]=function(k,w){for(const y of d)y.cmd==="scale"&&(y.args=[w,-w]),k[y.cmd].apply(k,y.args)}}}o.FontFaceObject=G},(x,o)=>{Object.defineProperty(o,"__esModule",{value:!0}),o.isNodeJS=void 0;const X=typeof process=="object"&&process+""=="[object process]"&&!process.versions.nw&&!(process.versions.electron&&process.type&&process.type!=="browser");o.isNodeJS=X},(x,o,X)=>{var ge,Ft,Q,It;Object.defineProperty(o,"__esModule",{value:!0}),o.CanvasGraphics=void 0;var P=X(1),O=X(6),pe=X(12),G=X(13),D=X(10);const N=16,b=100,d=4096,k=15,w=10,y=1e3,r=16;function h(J,A){if(J._removeMirroring)throw new Error("Context is already forwarding operations.");J.__originalSave=J.save,J.__originalRestore=J.restore,J.__originalRotate=J.rotate,J.__originalScale=J.scale,J.__originalTranslate=J.translate,J.__originalTransform=J.transform,J.__originalSetTransform=J.setTransform,J.__originalResetTransform=J.resetTransform,J.__originalClip=J.clip,J.__originalMoveTo=J.moveTo,J.__originalLineTo=J.lineTo,J.__originalBezierCurveTo=J.bezierCurveTo,J.__originalRect=J.rect,J.__originalClosePath=J.closePath,J.__originalBeginPath=J.beginPath,J._removeMirroring=()=>{J.save=J.__originalSave,J.restore=J.__originalRestore,J.rotate=J.__originalRotate,J.scale=J.__originalScale,J.translate=J.__originalTranslate,J.transform=J.__originalTransform,J.setTransform=J.__originalSetTransform,J.resetTransform=J.__originalResetTransform,J.clip=J.__originalClip,J.moveTo=J.__originalMoveTo,J.lineTo=J.__originalLineTo,J.bezierCurveTo=J.__originalBezierCurveTo,J.rect=J.__originalRect,J.closePath=J.__originalClosePath,J.beginPath=J.__originalBeginPath,delete J._removeMirroring},J.save=function(){A.save(),this.__originalSave()},J.restore=function(){A.restore(),this.__originalRestore()},J.translate=function(F,Y){A.translate(F,Y),this.__originalTranslate(F,Y)},J.scale=function(F,Y){A.scale(F,Y),this.__originalScale(F,Y)},J.transform=function(F,Y,j,se,U,V){A.transform(F,Y,j,se,U,V),this.__originalTransform(F,Y,j,se,U,V)},J.setTransform=function(F,Y,j,se,U,V){A.setTransform(F,Y,j,se,U,V),this.__originalSetTransform(F,Y,j,se,U,V)},J.resetTransform=function(){A.resetTransform(),this.__originalResetTransform()},J.rotate=function(F){A.rotate(F),this.__originalRotate(F)},J.clip=function(F){A.clip(F),this.__originalClip(F)},J.moveTo=function(C,F){A.moveTo(C,F),this.__originalMoveTo(C,F)},J.lineTo=function(C,F){A.lineTo(C,F),this.__originalLineTo(C,F)},J.bezierCurveTo=function(C,F,Y,j,se,U){A.bezierCurveTo(C,F,Y,j,se,U),this.__originalBezierCurveTo(C,F,Y,j,se,U)},J.rect=function(C,F,Y,j){A.rect(C,F,Y,j),this.__originalRect(C,F,Y,j)},J.closePath=function(){A.closePath(),this.__originalClosePath()},J.beginPath=function(){A.beginPath(),this.__originalBeginPath()}}class a{constructor(A){this.canvasFactory=A,this.cache=Object.create(null)}getCanvas(A,C,F){let Y;return this.cache[A]!==void 0?(Y=this.cache[A],this.canvasFactory.reset(Y,C,F)):(Y=this.canvasFactory.create(C,F),this.cache[A]=Y),Y}delete(A){delete this.cache[A]}clear(){for(const A in this.cache){const C=this.cache[A];this.canvasFactory.destroy(C),delete this.cache[A]}}}function g(J,A,C,F,Y,j,se,U,V,z){const[i,u,S,R,L,W]=(0,O.getCurrentTransform)(J);if(u===0&&S===0){const q=se*i+L,ce=Math.round(q),ne=U*R+W,ue=Math.round(ne),be=(se+V)*i+L,ve=Math.abs(Math.round(be)-ce)||1,xe=(U+z)*R+W,Pe=Math.abs(Math.round(xe)-ue)||1;return J.setTransform(Math.sign(i),0,0,Math.sign(R),ce,ue),J.drawImage(A,C,F,Y,j,0,0,ve,Pe),J.setTransform(i,u,S,R,L,W),[ve,Pe]}if(i===0&&R===0){const q=U*S+L,ce=Math.round(q),ne=se*u+W,ue=Math.round(ne),be=(U+z)*S+L,ve=Math.abs(Math.round(be)-ce)||1,xe=(se+V)*u+W,Pe=Math.abs(Math.round(xe)-ue)||1;return J.setTransform(0,Math.sign(u),Math.sign(S),0,ce,ue),J.drawImage(A,C,F,Y,j,0,0,Pe,ve),J.setTransform(i,u,S,R,L,W),[Pe,ve]}J.drawImage(A,C,F,Y,j,se,U,V,z);const me=Math.hypot(i,u),B=Math.hypot(S,R);return[me*V,B*z]}function _(J){const{width:A,height:C}=J;if(A>y||C>y)return null;const F=1e3,Y=new Uint8Array([0,2,4,0,1,0,5,4,8,10,0,8,0,2,1,0]),j=A+1;let se=new Uint8Array(j*(C+1)),U,V,z;const i=A+7&-8;let u=new Uint8Array(i*C),S=0;for(const B of J.data){let q=128;for(;q>0;)u[S++]=B&q?0:255,q>>=1}let R=0;for(S=0,u[S]!==0&&(se[0]=1,++R),V=1;V>2)+(u[S+1]?4:0)+(u[S-i+1]?8:0),Y[B]&&(se[z+V]=Y[B],++R),S++;if(u[S-i]!==u[S]&&(se[z+V]=u[S]?2:4,++R),R>F)return null}for(S=i*(C-1),z=U*j,u[S]!==0&&(se[z]=8,++R),V=1;VF)return null;const L=new Int32Array([0,j,-1,0,-j,0,0,0,1]),W=new Path2D;for(U=0;R&&U<=C;U++){let B=U*j;const q=B+A;for(;B>4,se[B]&=ne>>2|ne<<2),W.lineTo(B%j,B/j|0),se[B]||--R}while(ce!==B);--U}return u=null,se=null,function(B){B.save(),B.scale(1/A,-1/C),B.translate(0,-C),B.fill(W),B.beginPath(),B.restore()}}class v{constructor(A,C){this.alphaIsShape=!1,this.fontSize=0,this.fontSizeScale=1,this.textMatrix=P.IDENTITY_MATRIX,this.textMatrixScale=1,this.fontMatrix=P.FONT_IDENTITY_MATRIX,this.leading=0,this.x=0,this.y=0,this.lineX=0,this.lineY=0,this.charSpacing=0,this.wordSpacing=0,this.textHScale=1,this.textRenderingMode=P.TextRenderingMode.FILL,this.textRise=0,this.fillColor="#000000",this.strokeColor="#000000",this.patternFill=!1,this.fillAlpha=1,this.strokeAlpha=1,this.lineWidth=1,this.activeSMask=null,this.transferMaps="none",this.startNewPathAndClipBox([0,0,A,C])}clone(){const A=Object.create(this);return A.clipBox=this.clipBox.slice(),A}setCurrentPoint(A,C){this.x=A,this.y=C}updatePathMinMax(A,C,F){[C,F]=P.Util.applyTransform([C,F],A),this.minX=Math.min(this.minX,C),this.minY=Math.min(this.minY,F),this.maxX=Math.max(this.maxX,C),this.maxY=Math.max(this.maxY,F)}updateRectMinMax(A,C){const F=P.Util.applyTransform(C,A),Y=P.Util.applyTransform(C.slice(2),A);this.minX=Math.min(this.minX,F[0],Y[0]),this.minY=Math.min(this.minY,F[1],Y[1]),this.maxX=Math.max(this.maxX,F[0],Y[0]),this.maxY=Math.max(this.maxY,F[1],Y[1])}updateScalingPathMinMax(A,C){P.Util.scaleMinMax(A,C),this.minX=Math.min(this.minX,C[0]),this.maxX=Math.max(this.maxX,C[1]),this.minY=Math.min(this.minY,C[2]),this.maxY=Math.max(this.maxY,C[3])}updateCurvePathMinMax(A,C,F,Y,j,se,U,V,z,i){const u=P.Util.bezierBoundingBox(C,F,Y,j,se,U,V,z);if(i){i[0]=Math.min(i[0],u[0],u[2]),i[1]=Math.max(i[1],u[0],u[2]),i[2]=Math.min(i[2],u[1],u[3]),i[3]=Math.max(i[3],u[1],u[3]);return}this.updateRectMinMax(A,u)}getPathBoundingBox(A=pe.PathType.FILL,C=null){const F=[this.minX,this.minY,this.maxX,this.maxY];if(A===pe.PathType.STROKE){C||(0,P.unreachable)("Stroke bounding box must include transform.");const Y=P.Util.singularValueDecompose2dScale(C),j=Y[0]*this.lineWidth/2,se=Y[1]*this.lineWidth/2;F[0]-=j,F[1]-=se,F[2]+=j,F[3]+=se}return F}updateClipFromPath(){const A=P.Util.intersect(this.clipBox,this.getPathBoundingBox());this.startNewPathAndClipBox(A||[0,0,0,0])}isEmptyClip(){return this.minX===1/0}startNewPathAndClipBox(A){this.clipBox=A,this.minX=1/0,this.minY=1/0,this.maxX=0,this.maxY=0}getClippedPathBoundingBox(A=pe.PathType.FILL,C=null){return P.Util.intersect(this.clipBox,this.getPathBoundingBox(A,C))}}function p(J,A){if(typeof ImageData<"u"&&A instanceof ImageData){J.putImageData(A,0,0);return}const C=A.height,F=A.width,Y=C%r,j=(C-Y)/r,se=Y===0?j:j+1,U=J.createImageData(F,r);let V=0,z;const i=A.data,u=U.data;let S,R,L,W;if(A.kind===P.ImageKind.GRAYSCALE_1BPP){const me=i.byteLength,B=new Uint32Array(u.buffer,0,u.byteLength>>2),q=B.length,ce=F+7>>3,ne=4294967295,ue=P.FeatureTest.isLittleEndian?4278190080:255;for(S=0;Sce?F:be*8-7,Pe=xe&-8;let Re=0,oe=0;for(;ve>=1}for(;z=j&&(L=Y,W=F*L),z=0,R=W;R--;)u[z++]=i[V++],u[z++]=i[V++],u[z++]=i[V++],u[z++]=255;J.putImageData(U,0,S*r)}else throw new Error(`bad image kind: ${A.kind}`)}function t(J,A){if(A.bitmap){J.drawImage(A.bitmap,0,0);return}const C=A.height,F=A.width,Y=C%r,j=(C-Y)/r,se=Y===0?j:j+1,U=J.createImageData(F,r);let V=0;const z=A.data,i=U.data;for(let u=0;u>8,J[j-2]=J[j-2]*se+C*U>>8,J[j-1]=J[j-1]*se+F*U>>8}}}function f(J,A,C){const F=J.length,Y=1/255;for(let j=3;j>8]>>8:A[Y]*j>>16}}function l(J,A,C,F,Y,j,se,U,V,z,i){const u=!!j,S=u?j[0]:0,R=u?j[1]:0,L=u?j[2]:0;let W;Y==="Luminosity"?W=T:W=f;const B=Math.min(F,Math.ceil(1048576/C));for(let q=0;qw&&typeof F=="function",i=z?Date.now()+k:0;let u=0;const S=this.commonObjs,R=this.objs;let L;for(;;){if(Y!==void 0&&U===Y.nextBreakPoint)return Y.breakIt(U,F),U;if(L=se[U],L!==P.OPS.dependency)this[L].apply(this,j[U]);else for(const W of j[U]){const me=W.startsWith("g_")?S:R;if(!me.has(W))return me.get(W,F),U}if(U++,U===V)return U;if(z&&++u>w){if(Date.now()>i)return F(),U;u=0}}}endDrawing(){Z(this,ge,Ft).call(this),this.cachedCanvases.clear(),this.cachedPatterns.clear();for(const A of this._cachedBitmapsMap.values()){for(const C of A.values())typeof HTMLCanvasElement<"u"&&C instanceof HTMLCanvasElement&&(C.width=C.height=0);A.clear()}this._cachedBitmapsMap.clear(),Z(this,Q,It).call(this)}_scaleImage(A,C){const F=A.width,Y=A.height;let j=Math.max(Math.hypot(C[0],C[1]),1),se=Math.max(Math.hypot(C[2],C[3]),1),U=F,V=Y,z="prescale1",i,u;for(;j>2&&U>1||se>2&&V>1;){let S=U,R=V;j>2&&U>1&&(S=U>=16384?Math.floor(U/2)-1||1:Math.ceil(U/2),j/=U/S),se>2&&V>1&&(R=V>=16384?Math.floor(V/2)-1||1:Math.ceil(V)/2,se/=V/R),i=this.cachedCanvases.getCanvas(z,S,R),u=i.context,u.clearRect(0,0,S,R),u.drawImage(A,0,0,U,V,0,0,S,R),A=i.canvas,U=S,V=R,z=z==="prescale1"?"prescale2":"prescale1"}return{img:A,paintWidth:U,paintHeight:V}}_createMaskCanvas(A){const C=this.ctx,{width:F,height:Y}=A,j=this.current.fillColor,se=this.current.patternFill,U=(0,O.getCurrentTransform)(C);let V,z,i,u;if((A.bitmap||A.data)&&A.count>1){const ve=A.bitmap||A.data.buffer;z=JSON.stringify(se?U:[U.slice(0,4),j]),V=this._cachedBitmapsMap.get(ve),V||(V=new Map,this._cachedBitmapsMap.set(ve,V));const xe=V.get(z);if(xe&&!se){const Pe=Math.round(Math.min(U[0],U[2])+U[4]),Re=Math.round(Math.min(U[1],U[3])+U[5]);return{canvas:xe,offsetX:Pe,offsetY:Re}}i=xe}i||(u=this.cachedCanvases.getCanvas("maskCanvas",F,Y),t(u.context,A));let S=P.Util.transform(U,[1/F,0,0,-1/Y,0,0]);S=P.Util.transform(S,[1,0,0,1,0,-Y]);const R=P.Util.applyTransform([0,0],S),L=P.Util.applyTransform([F,Y],S),W=P.Util.normalizeRect([R[0],R[1],L[0],L[1]]),me=Math.round(W[2]-W[0])||1,B=Math.round(W[3]-W[1])||1,q=this.cachedCanvases.getCanvas("fillCanvas",me,B),ce=q.context,ne=Math.min(R[0],L[0]),ue=Math.min(R[1],L[1]);ce.translate(-ne,-ue),ce.transform(...S),i||(i=this._scaleImage(u.canvas,(0,O.getCurrentTransformInverse)(ce)),i=i.img,V&&se&&V.set(z,i)),ce.imageSmoothingEnabled=K((0,O.getCurrentTransform)(ce),A.interpolate),g(ce,i,0,0,i.width,i.height,0,0,F,Y),ce.globalCompositeOperation="source-in";const be=P.Util.transform((0,O.getCurrentTransformInverse)(ce),[1,0,0,1,-ne,-ue]);return ce.fillStyle=se?j.getPattern(C,this,be,pe.PathType.FILL):j,ce.fillRect(0,0,F,Y),V&&!se&&(this.cachedCanvases.delete("fillCanvas"),V.set(z,q.canvas)),{canvas:q.canvas,offsetX:Math.round(ne),offsetY:Math.round(ue)}}setLineWidth(A){A!==this.current.lineWidth&&(this._cachedScaleForStroking=null),this.current.lineWidth=A,this.ctx.lineWidth=A}setLineCap(A){this.ctx.lineCap=le[A]}setLineJoin(A){this.ctx.lineJoin=H[A]}setMiterLimit(A){this.ctx.miterLimit=A}setDash(A,C){const F=this.ctx;F.setLineDash!==void 0&&(F.setLineDash(A),F.lineDashOffset=C)}setRenderingIntent(A){}setFlatness(A){}setGState(A){for(const[C,F]of A)switch(C){case"LW":this.setLineWidth(F);break;case"LC":this.setLineCap(F);break;case"LJ":this.setLineJoin(F);break;case"ML":this.setMiterLimit(F);break;case"D":this.setDash(F[0],F[1]);break;case"RI":this.setRenderingIntent(F);break;case"FL":this.setFlatness(F);break;case"Font":this.setFont(F[0],F[1]);break;case"CA":this.current.strokeAlpha=F;break;case"ca":this.current.fillAlpha=F,this.ctx.globalAlpha=F;break;case"BM":this.ctx.globalCompositeOperation=F;break;case"SMask":this.current.activeSMask=F?this.tempSMask:null,this.tempSMask=null,this.checkSMaskState();break;case"TR":this.ctx.filter=this.current.transferMaps=this.filterFactory.addFilter(F);break}}get inSMaskMode(){return!!this.suspendedCtx}checkSMaskState(){const A=this.inSMaskMode;this.current.activeSMask&&!A?this.beginSMaskMode():!this.current.activeSMask&&A&&this.endSMaskMode()}beginSMaskMode(){if(this.inSMaskMode)throw new Error("beginSMaskMode called while already in smask mode");const A=this.ctx.canvas.width,C=this.ctx.canvas.height,F="smaskGroupAt"+this.groupLevel,Y=this.cachedCanvases.getCanvas(F,A,C);this.suspendedCtx=this.ctx,this.ctx=Y.context;const j=this.ctx;j.setTransform(...(0,O.getCurrentTransform)(this.suspendedCtx)),e(this.suspendedCtx,j),h(j,this.suspendedCtx),this.setGState([["BM","source-over"],["ca",1],["CA",1]])}endSMaskMode(){if(!this.inSMaskMode)throw new Error("endSMaskMode called while not in smask mode");this.ctx._removeMirroring(),e(this.ctx,this.suspendedCtx),this.ctx=this.suspendedCtx,this.suspendedCtx=null}compose(A){if(!this.current.activeSMask)return;A?(A[0]=Math.floor(A[0]),A[1]=Math.floor(A[1]),A[2]=Math.ceil(A[2]),A[3]=Math.ceil(A[3])):A=[0,0,this.ctx.canvas.width,this.ctx.canvas.height];const C=this.current.activeSMask,F=this.suspendedCtx;I(F,C,this.ctx,A),this.ctx.save(),this.ctx.setTransform(1,0,0,1,0,0),this.ctx.clearRect(0,0,this.ctx.canvas.width,this.ctx.canvas.height),this.ctx.restore()}save(){this.inSMaskMode?(e(this.ctx,this.suspendedCtx),this.suspendedCtx.save()):this.ctx.save();const A=this.current;this.stateStack.push(A),this.current=A.clone()}restore(){this.stateStack.length===0&&this.inSMaskMode&&this.endSMaskMode(),this.stateStack.length!==0&&(this.current=this.stateStack.pop(),this.inSMaskMode?(this.suspendedCtx.restore(),e(this.suspendedCtx,this.ctx)):this.ctx.restore(),this.checkSMaskState(),this.pendingClip=null,this._cachedScaleForStroking=null,this._cachedGetSinglePixelWidth=null)}transform(A,C,F,Y,j,se){this.ctx.transform(A,C,F,Y,j,se),this._cachedScaleForStroking=null,this._cachedGetSinglePixelWidth=null}constructPath(A,C,F){const Y=this.ctx,j=this.current;let se=j.x,U=j.y,V,z;const i=(0,O.getCurrentTransform)(Y),u=i[0]===0&&i[3]===0||i[1]===0&&i[2]===0,S=u?F.slice(0):null;for(let R=0,L=0,W=A.length;Rb&&(z=b),this.current.fontSizeScale=C/z,this.ctx.font=`${U} ${se} ${z}px ${V}`}setTextRenderingMode(A){this.current.textRenderingMode=A}setTextRise(A){this.current.textRise=A}moveText(A,C){this.current.x=this.current.lineX+=A,this.current.y=this.current.lineY+=C}setLeadingMoveText(A,C){this.setLeading(-C),this.moveText(A,C)}setTextMatrix(A,C,F,Y,j,se){this.current.textMatrix=[A,C,F,Y,j,se],this.current.textMatrixScale=Math.hypot(A,C),this.current.x=this.current.lineX=0,this.current.y=this.current.lineY=0}nextLine(){this.moveText(0,this.current.leading)}paintChar(A,C,F,Y){const j=this.ctx,se=this.current,U=se.font,V=se.textRenderingMode,z=se.fontSize/se.fontSizeScale,i=V&P.TextRenderingMode.FILL_STROKE_MASK,u=!!(V&P.TextRenderingMode.ADD_TO_PATH_FLAG),S=se.patternFill&&!U.missingFile;let R;(U.disableFontFace||u||S)&&(R=U.getPathGenerator(this.commonObjs,A)),U.disableFontFace||S?(j.save(),j.translate(C,F),j.beginPath(),R(j,z),Y&&j.setTransform(...Y),(i===P.TextRenderingMode.FILL||i===P.TextRenderingMode.FILL_STROKE)&&j.fill(),(i===P.TextRenderingMode.STROKE||i===P.TextRenderingMode.FILL_STROKE)&&j.stroke(),j.restore()):((i===P.TextRenderingMode.FILL||i===P.TextRenderingMode.FILL_STROKE)&&j.fillText(A,C,F),(i===P.TextRenderingMode.STROKE||i===P.TextRenderingMode.FILL_STROKE)&&j.strokeText(A,C,F)),u&&(this.pendingTextPaths||(this.pendingTextPaths=[])).push({transform:(0,O.getCurrentTransform)(j),x:C,y:F,fontSize:z,addToPath:R})}get isFontSubpixelAAEnabled(){const{context:A}=this.cachedCanvases.getCanvas("isFontSubpixelAAEnabled",10,10);A.scale(1.5,1),A.fillText("I",0,10);const C=A.getImageData(0,0,10,10).data;let F=!1;for(let Y=3;Y0&&C[Y]<255){F=!0;break}return(0,P.shadow)(this,"isFontSubpixelAAEnabled",F)}showText(A){const C=this.current,F=C.font;if(F.isType3Font)return this.showType3Text(A);const Y=C.fontSize;if(Y===0)return;const j=this.ctx,se=C.fontSizeScale,U=C.charSpacing,V=C.wordSpacing,z=C.fontDirection,i=C.textHScale*z,u=A.length,S=F.vertical,R=S?1:-1,L=F.defaultVMetrics,W=Y*C.fontMatrix[0],me=C.textRenderingMode===P.TextRenderingMode.FILL&&!F.disableFontFace&&!C.patternFill;j.save(),j.transform(...C.textMatrix),j.translate(C.x,C.y+C.textRise),z>0?j.scale(i,-1):j.scale(i,1);let B;if(C.patternFill){j.save();const be=C.fillColor.getPattern(j,this,(0,O.getCurrentTransformInverse)(j),pe.PathType.FILL);B=(0,O.getCurrentTransform)(j),j.restore(),j.fillStyle=be}let q=C.lineWidth;const ce=C.textMatrixScale;if(ce===0||q===0){const be=C.textRenderingMode&P.TextRenderingMode.FILL_STROKE_MASK;(be===P.TextRenderingMode.STROKE||be===P.TextRenderingMode.FILL_STROKE)&&(q=this.getSinglePixelWidth())}else q/=ce;if(se!==1&&(j.scale(se,se),q/=se),j.lineWidth=q,F.isInvalidPDFjsFont){const be=[];let ve=0;for(const xe of A)be.push(xe.unicode),ve+=xe.width;j.fillText(be.join(""),0,0),C.x+=ve*W*i,j.restore(),this.compose();return}let ne=0,ue;for(ue=0;ue0){const E=j.measureText(Pe).width*1e3/Y*se;if(Menew Ee(se,this.commonObjs,this.objs,this.canvasFactory,this.filterFactory,{optionalContentConfig:this.optionalContentConfig,markedContentStack:this.markedContentStack})};C=new pe.TilingPattern(A,F,this.ctx,j,Y)}else C=this._getPattern(A[1],A[2]);return C}setStrokeColorN(){this.current.strokeColor=this.getColorN_Pattern(arguments)}setFillColorN(){this.current.fillColor=this.getColorN_Pattern(arguments),this.current.patternFill=!0}setStrokeRGBColor(A,C,F){const Y=P.Util.makeHexColor(A,C,F);this.ctx.strokeStyle=Y,this.current.strokeColor=Y}setFillRGBColor(A,C,F){const Y=P.Util.makeHexColor(A,C,F);this.ctx.fillStyle=Y,this.current.fillColor=Y,this.current.patternFill=!1}_getPattern(A,C=null){let F;return this.cachedPatterns.has(A)?F=this.cachedPatterns.get(A):(F=(0,pe.getShadingPattern)(this.getObject(A)),this.cachedPatterns.set(A,F)),C&&(F.matrix=C),F}shadingFill(A){if(!this.contentVisible)return;const C=this.ctx;this.save();const F=this._getPattern(A);C.fillStyle=F.getPattern(C,this,(0,O.getCurrentTransformInverse)(C),pe.PathType.SHADING);const Y=(0,O.getCurrentTransformInverse)(C);if(Y){const j=C.canvas,se=j.width,U=j.height,V=P.Util.applyTransform([0,0],Y),z=P.Util.applyTransform([0,U],Y),i=P.Util.applyTransform([se,0],Y),u=P.Util.applyTransform([se,U],Y),S=Math.min(V[0],z[0],i[0],u[0]),R=Math.min(V[1],z[1],i[1],u[1]),L=Math.max(V[0],z[0],i[0],u[0]),W=Math.max(V[1],z[1],i[1],u[1]);this.ctx.fillRect(S,R,L-S,W-R)}else this.ctx.fillRect(-1e10,-1e10,2e10,2e10);this.compose(this.current.getClippedPathBoundingBox()),this.restore()}beginInlineImage(){(0,P.unreachable)("Should not call beginInlineImage")}beginImageData(){(0,P.unreachable)("Should not call beginImageData")}paintFormXObjectBegin(A,C){if(this.contentVisible&&(this.save(),this.baseTransformStack.push(this.baseTransform),Array.isArray(A)&&A.length===6&&this.transform(...A),this.baseTransform=(0,O.getCurrentTransform)(this.ctx),C)){const F=C[2]-C[0],Y=C[3]-C[1];this.ctx.rect(C[0],C[1],F,Y),this.current.updateRectMinMax((0,O.getCurrentTransform)(this.ctx),C),this.clip(),this.endPath()}}paintFormXObjectEnd(){this.contentVisible&&(this.restore(),this.baseTransform=this.baseTransformStack.pop())}beginGroup(A){if(!this.contentVisible)return;this.save(),this.inSMaskMode&&(this.endSMaskMode(),this.current.activeSMask=null);const C=this.ctx;A.isolated||(0,P.info)("TODO: Support non-isolated groups."),A.knockout&&(0,P.warn)("Knockout groups not supported.");const F=(0,O.getCurrentTransform)(C);if(A.matrix&&C.transform(...A.matrix),!A.bbox)throw new Error("Bounding box is required.");let Y=P.Util.getAxialAlignedBoundingBox(A.bbox,(0,O.getCurrentTransform)(C));const j=[0,0,C.canvas.width,C.canvas.height];Y=P.Util.intersect(Y,j)||[0,0,0,0];const se=Math.floor(Y[0]),U=Math.floor(Y[1]);let V=Math.max(Math.ceil(Y[2])-se,1),z=Math.max(Math.ceil(Y[3])-U,1),i=1,u=1;V>d&&(i=V/d,V=d),z>d&&(u=z/d,z=d),this.current.startNewPathAndClipBox([0,0,V,z]);let S="groupAt"+this.groupLevel;A.smask&&(S+="_smask_"+this.smaskCounter++%2);const R=this.cachedCanvases.getCanvas(S,V,z),L=R.context;L.scale(1/i,1/u),L.translate(-se,-U),L.transform(...F),A.smask?this.smaskStack.push({canvas:R.canvas,context:L,offsetX:se,offsetY:U,scaleX:i,scaleY:u,subtype:A.smask.subtype,backdrop:A.smask.backdrop,transferMap:A.smask.transferMap||null,startTransformInverse:null}):(C.setTransform(1,0,0,1,0,0),C.translate(se,U),C.scale(i,u),C.save()),e(C,L),this.ctx=L,this.setGState([["BM","source-over"],["ca",1],["CA",1]]),this.groupStack.push(C),this.groupLevel++}endGroup(A){if(!this.contentVisible)return;this.groupLevel--;const C=this.ctx,F=this.groupStack.pop();if(this.ctx=F,this.ctx.imageSmoothingEnabled=!1,A.smask)this.tempSMask=this.smaskStack.pop(),this.restore();else{this.ctx.restore();const Y=(0,O.getCurrentTransform)(this.ctx);this.restore(),this.ctx.save(),this.ctx.setTransform(...Y);const j=P.Util.getAxialAlignedBoundingBox([0,0,C.canvas.width,C.canvas.height],Y);this.ctx.drawImage(C.canvas,0,0),this.ctx.restore(),this.compose(j)}}beginAnnotation(A,C,F,Y,j){if(Z(this,ge,Ft).call(this),s(this.ctx),this.ctx.save(),this.save(),this.baseTransform&&this.ctx.setTransform(...this.baseTransform),Array.isArray(C)&&C.length===4){const se=C[2]-C[0],U=C[3]-C[1];if(j&&this.annotationCanvasMap){F=F.slice(),F[4]-=C[0],F[5]-=C[1],C=C.slice(),C[0]=C[1]=0,C[2]=se,C[3]=U;const[V,z]=P.Util.singularValueDecompose2dScale((0,O.getCurrentTransform)(this.ctx)),{viewportScale:i}=this,u=Math.ceil(se*this.outputScaleX*i),S=Math.ceil(U*this.outputScaleY*i);this.annotationCanvas=this.canvasFactory.create(u,S);const{canvas:R,context:L}=this.annotationCanvas;this.annotationCanvasMap.set(A,R),this.annotationCanvas.savedCtx=this.ctx,this.ctx=L,this.ctx.save(),this.ctx.setTransform(V,0,0,-z,0,U*z),s(this.ctx)}else s(this.ctx),this.ctx.rect(C[0],C[1],se,U),this.ctx.clip(),this.endPath()}this.current=new v(this.ctx.canvas.width,this.ctx.canvas.height),this.transform(...F),this.transform(...Y)}endAnnotation(){this.annotationCanvas&&(this.ctx.restore(),Z(this,Q,It).call(this),this.ctx=this.annotationCanvas.savedCtx,delete this.annotationCanvas.savedCtx,delete this.annotationCanvas)}paintImageMaskXObject(A){if(!this.contentVisible)return;const C=A.count;A=this.getObject(A.data,A),A.count=C;const F=this.ctx,Y=this.processingType3;if(Y&&(Y.compiled===void 0&&(Y.compiled=_(A)),Y.compiled)){Y.compiled(F);return}const j=this._createMaskCanvas(A),se=j.canvas;F.save(),F.setTransform(1,0,0,1,0,0),F.drawImage(se,j.offsetX,j.offsetY),F.restore(),this.compose()}paintImageMaskXObjectRepeat(A,C,F=0,Y=0,j,se){if(!this.contentVisible)return;A=this.getObject(A.data,A);const U=this.ctx;U.save();const V=(0,O.getCurrentTransform)(U);U.transform(C,F,Y,j,0,0);const z=this._createMaskCanvas(A);U.setTransform(1,0,0,1,z.offsetX-V[4],z.offsetY-V[5]);for(let i=0,u=se.length;iV?U/V:1,Y=se>V?se/V:1}}this._cachedScaleForStroking=[F,Y]}return this._cachedScaleForStroking}rescaleAndStroke(A){const{ctx:C}=this,{lineWidth:F}=this.current,[Y,j]=this.getScaleForStroking();if(C.lineWidth=F||1,Y===1&&j===1){C.stroke();return}let se,U,V;A&&(se=(0,O.getCurrentTransform)(C),U=C.getLineDash().slice(),V=C.lineDashOffset),C.scale(Y,j);const z=Math.max(Y,j);C.setLineDash(C.getLineDash().map(i=>i/z)),C.lineDashOffset/=z,C.stroke(),A&&(C.setTransform(...se),C.setLineDash(U),C.lineDashOffset=V)}isContentVisible(){for(let A=this.markedContentStack.length-1;A>=0;A--)if(!this.markedContentStack[A].visible)return!1;return!0}};let te=Ee;ge=new WeakSet,Ft=function(){for(;this.stateStack.length||this.inSMaskMode;)this.restore();this.ctx.restore(),this.transparentCanvas&&(this.ctx=this.compositeCtx,this.ctx.save(),this.ctx.setTransform(1,0,0,1,0,0),this.ctx.drawImage(this.transparentCanvas,0,0),this.ctx.restore(),this.transparentCanvas=null)},Q=new WeakSet,It=function(){if(this.pageColors){const A=this.filterFactory.addHCMFilter(this.pageColors.foreground,this.pageColors.background);if(A!=="none"){const C=this.ctx.filter;this.ctx.filter=A,this.ctx.drawImage(this.ctx.canvas,0,0),this.ctx.filter=C}}},o.CanvasGraphics=te;for(const J in P.OPS)te.prototype[J]!==void 0&&(te.prototype[P.OPS[J]]=te.prototype[J])},(x,o,X)=>{Object.defineProperty(o,"__esModule",{value:!0}),o.TilingPattern=o.PathType=void 0,o.getShadingPattern=y;var P=X(1),O=X(6);const pe={FILL:"Fill",STROKE:"Stroke",SHADING:"Shading"};o.PathType=pe;function G(g,_){if(!_)return;const v=_[2]-_[0],p=_[3]-_[1],t=new Path2D;t.rect(_[0],_[1],v,p),g.clip(t)}class D{constructor(){this.constructor===D&&(0,P.unreachable)("Cannot initialize BaseShadingPattern.")}getPattern(){(0,P.unreachable)("Abstract method `getPattern` called.")}}class N extends D{constructor(_){super(),this._type=_[1],this._bbox=_[2],this._colorStops=_[3],this._p0=_[4],this._p1=_[5],this._r0=_[6],this._r1=_[7],this.matrix=null}_createGradient(_){let v;this._type==="axial"?v=_.createLinearGradient(this._p0[0],this._p0[1],this._p1[0],this._p1[1]):this._type==="radial"&&(v=_.createRadialGradient(this._p0[0],this._p0[1],this._r0,this._p1[0],this._p1[1],this._r1));for(const p of this._colorStops)v.addColorStop(p[0],p[1]);return v}getPattern(_,v,p,t){let e;if(t===pe.STROKE||t===pe.FILL){const s=v.current.getClippedPathBoundingBox(t,(0,O.getCurrentTransform)(_))||[0,0,0,0],n=Math.ceil(s[2]-s[0])||1,f=Math.ceil(s[3]-s[1])||1,T=v.cachedCanvases.getCanvas("pattern",n,f,!0),l=T.context;l.clearRect(0,0,l.canvas.width,l.canvas.height),l.beginPath(),l.rect(0,0,l.canvas.width,l.canvas.height),l.translate(-s[0],-s[1]),p=P.Util.transform(p,[1,0,0,1,s[0],s[1]]),l.transform(...v.baseTransform),this.matrix&&l.transform(...this.matrix),G(l,this._bbox),l.fillStyle=this._createGradient(l),l.fill(),e=_.createPattern(T.canvas,"no-repeat");const I=new DOMMatrix(p);e.setTransform(I)}else G(_,this._bbox),e=this._createGradient(_);return e}}function b(g,_,v,p,t,e,s,n){const f=_.coords,T=_.colors,l=g.data,I=g.width*4;let K;f[v+1]>f[p+1]&&(K=v,v=p,p=K,K=e,e=s,s=K),f[p+1]>f[t+1]&&(K=p,p=t,t=K,K=s,s=n,n=K),f[v+1]>f[p+1]&&(K=v,v=p,p=K,K=e,e=s,s=K);const le=(f[v]+_.offsetX)*_.scaleX,H=(f[v+1]+_.offsetY)*_.scaleY,ee=(f[p]+_.offsetX)*_.scaleX,ae=(f[p+1]+_.offsetY)*_.scaleY,te=(f[t]+_.offsetX)*_.scaleX,ge=(f[t+1]+_.offsetY)*_.scaleY;if(H>=ge)return;const ye=T[e],Q=T[e+1],Ce=T[e+2],Ee=T[s],J=T[s+1],A=T[s+2],C=T[n],F=T[n+1],Y=T[n+2],j=Math.round(H),se=Math.round(ge);let U,V,z,i,u,S,R,L;for(let W=j;W<=se;W++){if(Wge?ne=1:ae===ge?ne=0:ne=(ae-W)/(ae-ge),U=ee-(ee-te)*ne,V=Ee-(Ee-C)*ne,z=J-(J-F)*ne,i=A-(A-Y)*ne}let me;Wge?me=1:me=(H-W)/(H-ge),u=le-(le-te)*me,S=ye-(ye-C)*me,R=Q-(Q-F)*me,L=Ce-(Ce-Y)*me;const B=Math.round(Math.min(U,u)),q=Math.round(Math.max(U,u));let ce=I*W+B*4;for(let ne=B;ne<=q;ne++)me=(U-ne)/(U-u),me<0?me=0:me>1&&(me=1),l[ce++]=V-(V-S)*me|0,l[ce++]=z-(z-R)*me|0,l[ce++]=i-(i-L)*me|0,l[ce++]=255}}function d(g,_,v){const p=_.coords,t=_.colors;let e,s;switch(_.type){case"lattice":const n=_.verticesPerRow,f=Math.floor(p.length/n)-1,T=n-1;for(e=0;e=t?e=t:p=e/_,{scale:p,size:e}}clipBbox(_,v,p,t,e){const s=t-v,n=e-p;_.ctx.rect(v,p,s,n),_.current.updateRectMinMax((0,O.getCurrentTransform)(_.ctx),[v,p,t,e]),_.clip(),_.endPath()}setFillAndStrokeStyleToContext(_,v,p){const t=_.ctx,e=_.current;switch(v){case r.COLORED:const s=this.ctx;t.fillStyle=s.fillStyle,t.strokeStyle=s.strokeStyle,e.fillColor=s.fillStyle,e.strokeColor=s.strokeStyle;break;case r.UNCOLORED:const n=P.Util.makeHexColor(p[0],p[1],p[2]);t.fillStyle=n,t.strokeStyle=n,e.fillColor=n,e.strokeColor=n;break;default:throw new P.FormatError(`Unsupported paint type: ${v}`)}}getPattern(_,v,p,t){let e=p;t!==pe.SHADING&&(e=P.Util.transform(e,v.baseTransform),this.matrix&&(e=P.Util.transform(e,this.matrix)));const s=this.createPatternCanvas(v);let n=new DOMMatrix(e);n=n.translate(s.offsetX,s.offsetY),n=n.scale(1/s.scaleX,1/s.scaleY);const f=_.createPattern(s.canvas,"repeat");return f.setTransform(n),f}};let h=a;je(h,"MAX_PATTERN_SIZE",3e3),o.TilingPattern=h},(x,o,X)=>{Object.defineProperty(o,"__esModule",{value:!0}),o.convertBlackAndWhiteToRGBA=pe,o.convertToRGBA=O,o.grayToRGBA=D;var P=X(1);function O(N){switch(N.kind){case P.ImageKind.GRAYSCALE_1BPP:return pe(N);case P.ImageKind.RGB_24BPP:return G(N)}return null}function pe({src:N,srcPos:b=0,dest:d,width:k,height:w,nonBlackColor:y=4294967295,inverseDecode:r=!1}){const h=P.FeatureTest.isLittleEndian?4278190080:255,[a,g]=r?[y,h]:[h,y],_=k>>3,v=k&7,p=N.length;d=new Uint32Array(d.buffer);let t=0;for(let e=0;e>2,a=new Uint32Array(N.buffer,b,h);if(P.FeatureTest.isLittleEndian){for(;r>>24|_<<8|4278190080,d[k+2]=_>>>16|v<<16|4278190080,d[k+3]=v>>>8|4278190080}for(let g=r*4,_=N.length;g<_;g+=3)d[k++]=N[g]|N[g+1]<<8|N[g+2]<<16|4278190080}else{for(;r>>8|255,d[k+2]=_<<16|v>>>16|255,d[k+3]=v<<8|255}for(let g=r*4,_=N.length;g<_;g+=3)d[k++]=N[g]<<24|N[g+1]<<16|N[g+2]<<8|255}return{srcPos:b,destPos:k}}function D(N,b){if(P.FeatureTest.isLittleEndian)for(let d=0,k=N.length;d{Object.defineProperty(o,"__esModule",{value:!0}),o.GlobalWorkerOptions=void 0;const X=Object.create(null);o.GlobalWorkerOptions=X,X.workerPort=null,X.workerSrc=""},(x,o,X)=>{var N,Ci,d,wi,w,_t;Object.defineProperty(o,"__esModule",{value:!0}),o.MessageHandler=void 0;var P=X(1);const O={UNKNOWN:0,DATA:1,ERROR:2},pe={UNKNOWN:0,CANCEL:1,CANCEL_COMPLETE:2,CLOSE:3,ENQUEUE:4,ERROR:5,PULL:6,PULL_COMPLETE:7,START_COMPLETE:8};function G(r){switch(r instanceof Error||typeof r=="object"&&r!==null||(0,P.unreachable)('wrapReason: Expected "reason" to be a (possibly cloned) Error.'),r.name){case"AbortException":return new P.AbortException(r.message);case"MissingPDFException":return new P.MissingPDFException(r.message);case"PasswordException":return new P.PasswordException(r.message,r.code);case"UnexpectedResponseException":return new P.UnexpectedResponseException(r.message,r.status);case"UnknownErrorException":return new P.UnknownErrorException(r.message,r.details);default:return new P.UnknownErrorException(r.message,r.toString())}}class D{constructor(h,a,g){$(this,N);$(this,d);$(this,w);this.sourceName=h,this.targetName=a,this.comObj=g,this.callbackId=1,this.streamId=1,this.streamSinks=Object.create(null),this.streamControllers=Object.create(null),this.callbackCapabilities=Object.create(null),this.actionHandler=Object.create(null),this._onComObjOnMessage=_=>{const v=_.data;if(v.targetName!==this.sourceName)return;if(v.stream){Z(this,d,wi).call(this,v);return}if(v.callback){const t=v.callbackId,e=this.callbackCapabilities[t];if(!e)throw new Error(`Cannot resolve callback ${t}`);if(delete this.callbackCapabilities[t],v.callback===O.DATA)e.resolve(v.data);else if(v.callback===O.ERROR)e.reject(G(v.reason));else throw new Error("Unexpected callback case");return}const p=this.actionHandler[v.action];if(!p)throw new Error(`Unknown action from worker: ${v.action}`);if(v.callbackId){const t=this.sourceName,e=v.sourceName;new Promise(function(s){s(p(v.data))}).then(function(s){g.postMessage({sourceName:t,targetName:e,callback:O.DATA,callbackId:v.callbackId,data:s})},function(s){g.postMessage({sourceName:t,targetName:e,callback:O.ERROR,callbackId:v.callbackId,reason:G(s)})});return}if(v.streamId){Z(this,N,Ci).call(this,v);return}p(v.data)},g.addEventListener("message",this._onComObjOnMessage)}on(h,a){const g=this.actionHandler;if(g[h])throw new Error(`There is already an actionName called "${h}"`);g[h]=a}send(h,a,g){this.comObj.postMessage({sourceName:this.sourceName,targetName:this.targetName,action:h,data:a},g)}sendWithPromise(h,a,g){const _=this.callbackId++,v=new P.PromiseCapability;this.callbackCapabilities[_]=v;try{this.comObj.postMessage({sourceName:this.sourceName,targetName:this.targetName,action:h,callbackId:_,data:a},g)}catch(p){v.reject(p)}return v.promise}sendWithStream(h,a,g,_){const v=this.streamId++,p=this.sourceName,t=this.targetName,e=this.comObj;return new ReadableStream({start:s=>{const n=new P.PromiseCapability;return this.streamControllers[v]={controller:s,startCall:n,pullCall:null,cancelCall:null,isClosed:!1},e.postMessage({sourceName:p,targetName:t,action:h,streamId:v,data:a,desiredSize:s.desiredSize},_),n.promise},pull:s=>{const n=new P.PromiseCapability;return this.streamControllers[v].pullCall=n,e.postMessage({sourceName:p,targetName:t,stream:pe.PULL,streamId:v,desiredSize:s.desiredSize}),n.promise},cancel:s=>{(0,P.assert)(s instanceof Error,"cancel must have a valid reason");const n=new P.PromiseCapability;return this.streamControllers[v].cancelCall=n,this.streamControllers[v].isClosed=!0,e.postMessage({sourceName:p,targetName:t,stream:pe.CANCEL,streamId:v,reason:G(s)}),n.promise}},g)}destroy(){this.comObj.removeEventListener("message",this._onComObjOnMessage)}}N=new WeakSet,Ci=function(h){const a=h.streamId,g=this.sourceName,_=h.sourceName,v=this.comObj,p=this,t=this.actionHandler[h.action],e={enqueue(s,n=1,f){if(this.isCancelled)return;const T=this.desiredSize;this.desiredSize-=n,T>0&&this.desiredSize<=0&&(this.sinkCapability=new P.PromiseCapability,this.ready=this.sinkCapability.promise),v.postMessage({sourceName:g,targetName:_,stream:pe.ENQUEUE,streamId:a,chunk:s},f)},close(){this.isCancelled||(this.isCancelled=!0,v.postMessage({sourceName:g,targetName:_,stream:pe.CLOSE,streamId:a}),delete p.streamSinks[a])},error(s){(0,P.assert)(s instanceof Error,"error must have a valid reason"),!this.isCancelled&&(this.isCancelled=!0,v.postMessage({sourceName:g,targetName:_,stream:pe.ERROR,streamId:a,reason:G(s)}))},sinkCapability:new P.PromiseCapability,onPull:null,onCancel:null,isCancelled:!1,desiredSize:h.desiredSize,ready:null};e.sinkCapability.resolve(),e.ready=e.sinkCapability.promise,this.streamSinks[a]=e,new Promise(function(s){s(t(h.data,e))}).then(function(){v.postMessage({sourceName:g,targetName:_,stream:pe.START_COMPLETE,streamId:a,success:!0})},function(s){v.postMessage({sourceName:g,targetName:_,stream:pe.START_COMPLETE,streamId:a,reason:G(s)})})},d=new WeakSet,wi=function(h){const a=h.streamId,g=this.sourceName,_=h.sourceName,v=this.comObj,p=this.streamControllers[a],t=this.streamSinks[a];switch(h.stream){case pe.START_COMPLETE:h.success?p.startCall.resolve():p.startCall.reject(G(h.reason));break;case pe.PULL_COMPLETE:h.success?p.pullCall.resolve():p.pullCall.reject(G(h.reason));break;case pe.PULL:if(!t){v.postMessage({sourceName:g,targetName:_,stream:pe.PULL_COMPLETE,streamId:a,success:!0});break}t.desiredSize<=0&&h.desiredSize>0&&t.sinkCapability.resolve(),t.desiredSize=h.desiredSize,new Promise(function(e){var s;e((s=t.onPull)==null?void 0:s.call(t))}).then(function(){v.postMessage({sourceName:g,targetName:_,stream:pe.PULL_COMPLETE,streamId:a,success:!0})},function(e){v.postMessage({sourceName:g,targetName:_,stream:pe.PULL_COMPLETE,streamId:a,reason:G(e)})});break;case pe.ENQUEUE:if((0,P.assert)(p,"enqueue should have stream controller"),p.isClosed)break;p.controller.enqueue(h.chunk);break;case pe.CLOSE:if((0,P.assert)(p,"close should have stream controller"),p.isClosed)break;p.isClosed=!0,p.controller.close(),Z(this,w,_t).call(this,p,a);break;case pe.ERROR:(0,P.assert)(p,"error should have stream controller"),p.controller.error(G(h.reason)),Z(this,w,_t).call(this,p,a);break;case pe.CANCEL_COMPLETE:h.success?p.cancelCall.resolve():p.cancelCall.reject(G(h.reason)),Z(this,w,_t).call(this,p,a);break;case pe.CANCEL:if(!t)break;new Promise(function(e){var s;e((s=t.onCancel)==null?void 0:s.call(t,G(h.reason)))}).then(function(){v.postMessage({sourceName:g,targetName:_,stream:pe.CANCEL_COMPLETE,streamId:a,success:!0})},function(e){v.postMessage({sourceName:g,targetName:_,stream:pe.CANCEL_COMPLETE,streamId:a,reason:G(e)})}),t.sinkCapability.reject(G(h.reason)),t.isCancelled=!0,delete this.streamSinks[a];break;default:throw new Error("Unexpected stream case")}},w=new WeakSet,_t=async function(h,a){var g,_,v;await Promise.allSettled([(g=h.startCall)==null?void 0:g.promise,(_=h.pullCall)==null?void 0:_.promise,(v=h.cancelCall)==null?void 0:v.promise]),delete this.streamControllers[a]},o.MessageHandler=D},(x,o,X)=>{var pe,G;Object.defineProperty(o,"__esModule",{value:!0}),o.Metadata=void 0;var P=X(1);class O{constructor({parsedData:N,rawData:b}){$(this,pe,void 0);$(this,G,void 0);_e(this,pe,N),_e(this,G,b)}getRaw(){return c(this,G)}get(N){return c(this,pe).get(N)??null}getAll(){return(0,P.objectFromMap)(c(this,pe))}has(N){return c(this,pe).has(N)}}pe=new WeakMap,G=new WeakMap,o.Metadata=O},(x,o,X)=>{var N,b,d,k,w,y,Dt;Object.defineProperty(o,"__esModule",{value:!0}),o.OptionalContentConfig=void 0;var P=X(1),O=X(8);const pe=Symbol("INTERNAL");class G{constructor(a,g){$(this,N,!0);this.name=a,this.intent=g}get visible(){return c(this,N)}_setVisible(a,g){a!==pe&&(0,P.unreachable)("Internal method `_setVisible` called."),_e(this,N,g)}}N=new WeakMap;class D{constructor(a){$(this,y);$(this,b,null);$(this,d,new Map);$(this,k,null);$(this,w,null);if(this.name=null,this.creator=null,a!==null){this.name=a.name,this.creator=a.creator,_e(this,w,a.order);for(const g of a.groups)c(this,d).set(g.id,new G(g.name,g.intent));if(a.baseState==="OFF")for(const g of c(this,d).values())g._setVisible(pe,!1);for(const g of a.on)c(this,d).get(g)._setVisible(pe,!0);for(const g of a.off)c(this,d).get(g)._setVisible(pe,!1);_e(this,k,this.getHash())}}isVisible(a){if(c(this,d).size===0)return!0;if(!a)return(0,P.warn)("Optional content group not defined."),!0;if(a.type==="OCG")return c(this,d).has(a.id)?c(this,d).get(a.id).visible:((0,P.warn)(`Optional content group not found: ${a.id}`),!0);if(a.type==="OCMD"){if(a.expression)return Z(this,y,Dt).call(this,a.expression);if(!a.policy||a.policy==="AnyOn"){for(const g of a.ids){if(!c(this,d).has(g))return(0,P.warn)(`Optional content group not found: ${g}`),!0;if(c(this,d).get(g).visible)return!0}return!1}else if(a.policy==="AllOn"){for(const g of a.ids){if(!c(this,d).has(g))return(0,P.warn)(`Optional content group not found: ${g}`),!0;if(!c(this,d).get(g).visible)return!1}return!0}else if(a.policy==="AnyOff"){for(const g of a.ids){if(!c(this,d).has(g))return(0,P.warn)(`Optional content group not found: ${g}`),!0;if(!c(this,d).get(g).visible)return!0}return!1}else if(a.policy==="AllOff"){for(const g of a.ids){if(!c(this,d).has(g))return(0,P.warn)(`Optional content group not found: ${g}`),!0;if(c(this,d).get(g).visible)return!1}return!0}return(0,P.warn)(`Unknown optional content policy ${a.policy}.`),!0}return(0,P.warn)(`Unknown group type ${a.type}.`),!0}setVisibility(a,g=!0){if(!c(this,d).has(a)){(0,P.warn)(`Optional content group not found: ${a}`);return}c(this,d).get(a)._setVisible(pe,!!g),_e(this,b,null)}get hasInitialVisibility(){return this.getHash()===c(this,k)}getOrder(){return c(this,d).size?c(this,w)?c(this,w).slice():[...c(this,d).keys()]:null}getGroups(){return c(this,d).size>0?(0,P.objectFromMap)(c(this,d)):null}getGroup(a){return c(this,d).get(a)||null}getHash(){if(c(this,b)!==null)return c(this,b);const a=new O.MurmurHash3_64;for(const[g,_]of c(this,d))a.update(`${g}:${_.visible}`);return _e(this,b,a.hexdigest())}}b=new WeakMap,d=new WeakMap,k=new WeakMap,w=new WeakMap,y=new WeakSet,Dt=function(a){const g=a.length;if(g<2)return!0;const _=a[0];for(let v=1;v{Object.defineProperty(o,"__esModule",{value:!0}),o.PDFDataTransportStream=void 0;var P=X(1),O=X(6);class pe{constructor({length:b,initialData:d,progressiveDone:k=!1,contentDispositionFilename:w=null,disableRange:y=!1,disableStream:r=!1},h){if((0,P.assert)(h,'PDFDataTransportStream - missing required "pdfDataRangeTransport" argument.'),this._queuedChunks=[],this._progressiveDone=k,this._contentDispositionFilename=w,(d==null?void 0:d.length)>0){const a=d instanceof Uint8Array&&d.byteLength===d.buffer.byteLength?d.buffer:new Uint8Array(d).buffer;this._queuedChunks.push(a)}this._pdfDataRangeTransport=h,this._isStreamingSupported=!r,this._isRangeSupported=!y,this._contentLength=b,this._fullRequestReader=null,this._rangeReaders=[],this._pdfDataRangeTransport.addRangeListener((a,g)=>{this._onReceiveData({begin:a,chunk:g})}),this._pdfDataRangeTransport.addProgressListener((a,g)=>{this._onProgress({loaded:a,total:g})}),this._pdfDataRangeTransport.addProgressiveReadListener(a=>{this._onReceiveData({chunk:a})}),this._pdfDataRangeTransport.addProgressiveDoneListener(()=>{this._onProgressiveDone()}),this._pdfDataRangeTransport.transportReady()}_onReceiveData({begin:b,chunk:d}){const k=d instanceof Uint8Array&&d.byteLength===d.buffer.byteLength?d.buffer:new Uint8Array(d).buffer;if(b===void 0)this._fullRequestReader?this._fullRequestReader._enqueue(k):this._queuedChunks.push(k);else{const w=this._rangeReaders.some(function(y){return y._begin!==b?!1:(y._enqueue(k),!0)});(0,P.assert)(w,"_onReceiveData - no `PDFDataTransportStreamRangeReader` instance found.")}}get _progressiveDataLength(){var b;return((b=this._fullRequestReader)==null?void 0:b._loaded)??0}_onProgress(b){var d,k,w,y;b.total===void 0?(k=(d=this._rangeReaders[0])==null?void 0:d.onProgress)==null||k.call(d,{loaded:b.loaded}):(y=(w=this._fullRequestReader)==null?void 0:w.onProgress)==null||y.call(w,{loaded:b.loaded,total:b.total})}_onProgressiveDone(){var b;(b=this._fullRequestReader)==null||b.progressiveDone(),this._progressiveDone=!0}_removeRangeReader(b){const d=this._rangeReaders.indexOf(b);d>=0&&this._rangeReaders.splice(d,1)}getFullReader(){(0,P.assert)(!this._fullRequestReader,"PDFDataTransportStream.getFullReader can only be called once.");const b=this._queuedChunks;return this._queuedChunks=null,new G(this,b,this._progressiveDone,this._contentDispositionFilename)}getRangeReader(b,d){if(d<=this._progressiveDataLength)return null;const k=new D(this,b,d);return this._pdfDataRangeTransport.requestDataRange(b,d),this._rangeReaders.push(k),k}cancelAllRequests(b){var d;(d=this._fullRequestReader)==null||d.cancel(b);for(const k of this._rangeReaders.slice(0))k.cancel(b);this._pdfDataRangeTransport.abort()}}o.PDFDataTransportStream=pe;class G{constructor(b,d,k=!1,w=null){this._stream=b,this._done=k||!1,this._filename=(0,O.isPdfFile)(w)?w:null,this._queuedChunks=d||[],this._loaded=0;for(const y of this._queuedChunks)this._loaded+=y.byteLength;this._requests=[],this._headersReady=Promise.resolve(),b._fullRequestReader=this,this.onProgress=null}_enqueue(b){this._done||(this._requests.length>0?this._requests.shift().resolve({value:b,done:!1}):this._queuedChunks.push(b),this._loaded+=b.byteLength)}get headersReady(){return this._headersReady}get filename(){return this._filename}get isRangeSupported(){return this._stream._isRangeSupported}get isStreamingSupported(){return this._stream._isStreamingSupported}get contentLength(){return this._stream._contentLength}async read(){if(this._queuedChunks.length>0)return{value:this._queuedChunks.shift(),done:!1};if(this._done)return{value:void 0,done:!0};const b=new P.PromiseCapability;return this._requests.push(b),b.promise}cancel(b){this._done=!0;for(const d of this._requests)d.resolve({value:void 0,done:!0});this._requests.length=0}progressiveDone(){this._done||(this._done=!0)}}class D{constructor(b,d,k){this._stream=b,this._begin=d,this._end=k,this._queuedChunk=null,this._requests=[],this._done=!1,this.onProgress=null}_enqueue(b){if(!this._done){if(this._requests.length===0)this._queuedChunk=b;else{this._requests.shift().resolve({value:b,done:!1});for(const k of this._requests)k.resolve({value:void 0,done:!0});this._requests.length=0}this._done=!0,this._stream._removeRangeReader(this)}}get isStreamingSupported(){return!1}async read(){if(this._queuedChunk){const d=this._queuedChunk;return this._queuedChunk=null,{value:d,done:!1}}if(this._done)return{value:void 0,done:!0};const b=new P.PromiseCapability;return this._requests.push(b),b.promise}cancel(b){this._done=!0;for(const d of this._requests)d.resolve({value:void 0,done:!0});this._requests.length=0,this._stream._removeRangeReader(this)}}},(x,o)=>{Object.defineProperty(o,"__esModule",{value:!0}),o.XfaText=void 0;class X{static textContent(O){const pe=[],G={items:pe,styles:Object.create(null)};function D(N){var k;if(!N)return;let b=null;const d=N.name;if(d==="#text")b=N.value;else if(X.shouldBuildText(d))(k=N==null?void 0:N.attributes)!=null&&k.textContent?b=N.attributes.textContent:N.value&&(b=N.value);else return;if(b!==null&&pe.push({str:b}),!!N.children)for(const w of N.children)D(w)}return D(O),G}static shouldBuildText(O){return!(O==="textarea"||O==="input"||O==="option"||O==="select")}}o.XfaText=X},(x,o,X)=>{Object.defineProperty(o,"__esModule",{value:!0}),o.NodeStandardFontDataFactory=o.NodeFilterFactory=o.NodeCanvasFactory=o.NodeCMapReaderFactory=void 0;var P=X(7);const O=function(b){return new Promise((d,k)=>{require$$5.readFile(b,(y,r)=>{if(y||!r){k(new Error(y));return}d(new Uint8Array(r))})})};class pe extends P.BaseFilterFactory{}o.NodeFilterFactory=pe;class G extends P.BaseCanvasFactory{_createCanvas(d,k){return require$$5.createCanvas(d,k)}}o.NodeCanvasFactory=G;class D extends P.BaseCMapReaderFactory{_fetchData(d,k){return O(d).then(w=>({cMapData:w,compressionType:k}))}}o.NodeCMapReaderFactory=D;class N extends P.BaseStandardFontDataFactory{_fetchData(d){return O(d)}}o.NodeStandardFontDataFactory=N},(x,o,X)=>{Object.defineProperty(o,"__esModule",{value:!0}),o.PDFNodeStream=void 0;var P=X(1),O=X(22);const pe=require$$5,G=require$$5,D=require$$5,N=require$$5,b=/^file:\/\/\/[a-zA-Z]:\//;function d(v){const p=N.parse(v);return p.protocol==="file:"||p.host?p:/^[a-z]:[/\\]/i.test(v)?N.parse(`file:///${v}`):(p.host||(p.protocol="file:"),p)}class k{constructor(p){this.source=p,this.url=d(p.url),this.isHttp=this.url.protocol==="http:"||this.url.protocol==="https:",this.isFsUrl=this.url.protocol==="file:",this.httpHeaders=this.isHttp&&p.httpHeaders||{},this._fullRequestReader=null,this._rangeRequestReaders=[]}get _progressiveDataLength(){var p;return((p=this._fullRequestReader)==null?void 0:p._loaded)??0}getFullReader(){return(0,P.assert)(!this._fullRequestReader,"PDFNodeStream.getFullReader can only be called once."),this._fullRequestReader=this.isFsUrl?new g(this):new h(this),this._fullRequestReader}getRangeReader(p,t){if(t<=this._progressiveDataLength)return null;const e=this.isFsUrl?new _(this,p,t):new a(this,p,t);return this._rangeRequestReaders.push(e),e}cancelAllRequests(p){var t;(t=this._fullRequestReader)==null||t.cancel(p);for(const e of this._rangeRequestReaders.slice(0))e.cancel(p)}}o.PDFNodeStream=k;class w{constructor(p){this._url=p.url,this._done=!1,this._storedError=null,this.onProgress=null;const t=p.source;this._contentLength=t.length,this._loaded=0,this._filename=null,this._disableRange=t.disableRange||!1,this._rangeChunkSize=t.rangeChunkSize,!this._rangeChunkSize&&!this._disableRange&&(this._disableRange=!0),this._isStreamingSupported=!t.disableStream,this._isRangeSupported=!t.disableRange,this._readableStream=null,this._readCapability=new P.PromiseCapability,this._headersCapability=new P.PromiseCapability}get headersReady(){return this._headersCapability.promise}get filename(){return this._filename}get contentLength(){return this._contentLength}get isRangeSupported(){return this._isRangeSupported}get isStreamingSupported(){return this._isStreamingSupported}async read(){var e;if(await this._readCapability.promise,this._done)return{value:void 0,done:!0};if(this._storedError)throw this._storedError;const p=this._readableStream.read();return p===null?(this._readCapability=new P.PromiseCapability,this.read()):(this._loaded+=p.length,(e=this.onProgress)==null||e.call(this,{loaded:this._loaded,total:this._contentLength}),{value:new Uint8Array(p).buffer,done:!1})}cancel(p){if(!this._readableStream){this._error(p);return}this._readableStream.destroy(p)}_error(p){this._storedError=p,this._readCapability.resolve()}_setReadableStream(p){this._readableStream=p,p.on("readable",()=>{this._readCapability.resolve()}),p.on("end",()=>{p.destroy(),this._done=!0,this._readCapability.resolve()}),p.on("error",t=>{this._error(t)}),!this._isStreamingSupported&&this._isRangeSupported&&this._error(new P.AbortException("streaming is disabled")),this._storedError&&this._readableStream.destroy(this._storedError)}}class y{constructor(p){this._url=p.url,this._done=!1,this._storedError=null,this.onProgress=null,this._loaded=0,this._readableStream=null,this._readCapability=new P.PromiseCapability;const t=p.source;this._isStreamingSupported=!t.disableStream}get isStreamingSupported(){return this._isStreamingSupported}async read(){var e;if(await this._readCapability.promise,this._done)return{value:void 0,done:!0};if(this._storedError)throw this._storedError;const p=this._readableStream.read();return p===null?(this._readCapability=new P.PromiseCapability,this.read()):(this._loaded+=p.length,(e=this.onProgress)==null||e.call(this,{loaded:this._loaded}),{value:new Uint8Array(p).buffer,done:!1})}cancel(p){if(!this._readableStream){this._error(p);return}this._readableStream.destroy(p)}_error(p){this._storedError=p,this._readCapability.resolve()}_setReadableStream(p){this._readableStream=p,p.on("readable",()=>{this._readCapability.resolve()}),p.on("end",()=>{p.destroy(),this._done=!0,this._readCapability.resolve()}),p.on("error",t=>{this._error(t)}),this._storedError&&this._readableStream.destroy(this._storedError)}}function r(v,p){return{protocol:v.protocol,auth:v.auth,host:v.hostname,port:v.port,path:v.path,method:"GET",headers:p}}class h extends w{constructor(p){super(p);const t=e=>{if(e.statusCode===404){const T=new P.MissingPDFException(`Missing PDF "${this._url}".`);this._storedError=T,this._headersCapability.reject(T);return}this._headersCapability.resolve(),this._setReadableStream(e);const s=T=>this._readableStream.headers[T.toLowerCase()],{allowRangeRequests:n,suggestedLength:f}=(0,O.validateRangeRequestCapabilities)({getResponseHeader:s,isHttp:p.isHttp,rangeChunkSize:this._rangeChunkSize,disableRange:this._disableRange});this._isRangeSupported=n,this._contentLength=f||this._contentLength,this._filename=(0,O.extractFilenameFromHeader)(s)};this._request=null,this._url.protocol==="http:"?this._request=G.request(r(this._url,p.httpHeaders),t):this._request=D.request(r(this._url,p.httpHeaders),t),this._request.on("error",e=>{this._storedError=e,this._headersCapability.reject(e)}),this._request.end()}}class a extends y{constructor(p,t,e){super(p),this._httpHeaders={};for(const n in p.httpHeaders){const f=p.httpHeaders[n];f!==void 0&&(this._httpHeaders[n]=f)}this._httpHeaders.Range=`bytes=${t}-${e-1}`;const s=n=>{if(n.statusCode===404){const f=new P.MissingPDFException(`Missing PDF "${this._url}".`);this._storedError=f;return}this._setReadableStream(n)};this._request=null,this._url.protocol==="http:"?this._request=G.request(r(this._url,this._httpHeaders),s):this._request=D.request(r(this._url,this._httpHeaders),s),this._request.on("error",n=>{this._storedError=n}),this._request.end()}}class g extends w{constructor(p){super(p);let t=decodeURIComponent(this._url.path);b.test(this._url.href)&&(t=t.replace(/^\//,"")),pe.lstat(t,(e,s)=>{if(e){e.code==="ENOENT"&&(e=new P.MissingPDFException(`Missing PDF "${t}".`)),this._storedError=e,this._headersCapability.reject(e);return}this._contentLength=s.size,this._setReadableStream(pe.createReadStream(t)),this._headersCapability.resolve()})}}class _ extends y{constructor(p,t,e){super(p);let s=decodeURIComponent(this._url.path);b.test(this._url.href)&&(s=s.replace(/^\//,"")),this._setReadableStream(pe.createReadStream(s,{start:t,end:e-1}))}}},(x,o,X)=>{Object.defineProperty(o,"__esModule",{value:!0}),o.createResponseStatusError=N,o.extractFilenameFromHeader=D,o.validateRangeRequestCapabilities=G,o.validateResponseStatus=b;var P=X(1),O=X(23),pe=X(6);function G({getResponseHeader:d,isHttp:k,rangeChunkSize:w,disableRange:y}){const r={allowRangeRequests:!1,suggestedLength:void 0},h=parseInt(d("Content-Length"),10);return!Number.isInteger(h)||(r.suggestedLength=h,h<=2*w)||y||!k||d("Accept-Ranges")!=="bytes"||(d("Content-Encoding")||"identity")!=="identity"||(r.allowRangeRequests=!0),r}function D(d){const k=d("Content-Disposition");if(k){let w=(0,O.getFilenameFromContentDispositionHeader)(k);if(w.includes("%"))try{w=decodeURIComponent(w)}catch{}if((0,pe.isPdfFile)(w))return w}return null}function N(d,k){return d===404||d===0&&k.startsWith("file:")?new P.MissingPDFException('Missing PDF "'+k+'".'):new P.UnexpectedResponseException(`Unexpected server response (${d}) while retrieving PDF "${k}".`,d)}function b(d){return d===200||d===206}},(x,o,X)=>{Object.defineProperty(o,"__esModule",{value:!0}),o.getFilenameFromContentDispositionHeader=O;var P=X(1);function O(pe){let G=!0,D=N("filename\\*","i").exec(pe);if(D){D=D[1];let h=w(D);return h=unescape(h),h=y(h),h=r(h),d(h)}if(D=k(pe),D){const h=r(D);return d(h)}if(D=N("filename","i").exec(pe),D){D=D[1];let h=w(D);return h=r(h),d(h)}function N(h,a){return new RegExp("(?:^|;)\\s*"+h+'\\s*=\\s*([^";\\s][^;\\s]*|"(?:[^"\\\\]|\\\\"?)+"?)',a)}function b(h,a){if(h){if(!/^[\x00-\xFF]+$/.test(a))return a;try{const g=new TextDecoder(h,{fatal:!0}),_=(0,P.stringToBytes)(a);a=g.decode(_),G=!1}catch{}}return a}function d(h){return G&&/[\x80-\xff]/.test(h)&&(h=b("utf-8",h),G&&(h=b("iso-8859-1",h))),h}function k(h){const a=[];let g;const _=N("filename\\*((?!0\\d)\\d+)(\\*?)","ig");for(;(g=_.exec(h))!==null;){let[,p,t,e]=g;if(p=parseInt(p,10),p in a){if(p===0)break;continue}a[p]=[t,e]}const v=[];for(let p=0;p{Object.defineProperty(o,"__esModule",{value:!0}),o.PDFNetworkStream=void 0;var P=X(1),O=X(22);const pe=200,G=206;function D(w){const y=w.response;return typeof y!="string"?y:(0,P.stringToBytes)(y).buffer}class N{constructor(y,r={}){this.url=y,this.isHttp=/^https?:/i.test(y),this.httpHeaders=this.isHttp&&r.httpHeaders||Object.create(null),this.withCredentials=r.withCredentials||!1,this.currXhrId=0,this.pendingRequests=Object.create(null)}requestRange(y,r,h){const a={begin:y,end:r};for(const g in h)a[g]=h[g];return this.request(a)}requestFull(y){return this.request(y)}request(y){const r=new XMLHttpRequest,h=this.currXhrId++,a=this.pendingRequests[h]={xhr:r};r.open("GET",this.url),r.withCredentials=this.withCredentials;for(const g in this.httpHeaders){const _=this.httpHeaders[g];_!==void 0&&r.setRequestHeader(g,_)}return this.isHttp&&"begin"in y&&"end"in y?(r.setRequestHeader("Range",`bytes=${y.begin}-${y.end-1}`),a.expectedStatus=G):a.expectedStatus=pe,r.responseType="arraybuffer",y.onError&&(r.onerror=function(g){y.onError(r.status)}),r.onreadystatechange=this.onStateChange.bind(this,h),r.onprogress=this.onProgress.bind(this,h),a.onHeadersReceived=y.onHeadersReceived,a.onDone=y.onDone,a.onError=y.onError,a.onProgress=y.onProgress,r.send(null),h}onProgress(y,r){var a;const h=this.pendingRequests[y];h&&((a=h.onProgress)==null||a.call(h,r))}onStateChange(y,r){var p,t,e;const h=this.pendingRequests[y];if(!h)return;const a=h.xhr;if(a.readyState>=2&&h.onHeadersReceived&&(h.onHeadersReceived(),delete h.onHeadersReceived),a.readyState!==4||!(y in this.pendingRequests))return;if(delete this.pendingRequests[y],a.status===0&&this.isHttp){(p=h.onError)==null||p.call(h,a.status);return}const g=a.status||pe;if(!(g===pe&&h.expectedStatus===G)&&g!==h.expectedStatus){(t=h.onError)==null||t.call(h,a.status);return}const v=D(a);if(g===G){const s=a.getResponseHeader("Content-Range"),n=/bytes (\d+)-(\d+)\/(\d+)/.exec(s);h.onDone({begin:parseInt(n[1],10),chunk:v})}else v?h.onDone({begin:0,chunk:v}):(e=h.onError)==null||e.call(h,a.status)}getRequestXhr(y){return this.pendingRequests[y].xhr}isPendingRequest(y){return y in this.pendingRequests}abortRequest(y){const r=this.pendingRequests[y].xhr;delete this.pendingRequests[y],r.abort()}}class b{constructor(y){this._source=y,this._manager=new N(y.url,{httpHeaders:y.httpHeaders,withCredentials:y.withCredentials}),this._rangeChunkSize=y.rangeChunkSize,this._fullRequestReader=null,this._rangeRequestReaders=[]}_onRangeRequestReaderClosed(y){const r=this._rangeRequestReaders.indexOf(y);r>=0&&this._rangeRequestReaders.splice(r,1)}getFullReader(){return(0,P.assert)(!this._fullRequestReader,"PDFNetworkStream.getFullReader can only be called once."),this._fullRequestReader=new d(this._manager,this._source),this._fullRequestReader}getRangeReader(y,r){const h=new k(this._manager,y,r);return h.onClosed=this._onRangeRequestReaderClosed.bind(this),this._rangeRequestReaders.push(h),h}cancelAllRequests(y){var r;(r=this._fullRequestReader)==null||r.cancel(y);for(const h of this._rangeRequestReaders.slice(0))h.cancel(y)}}o.PDFNetworkStream=b;class d{constructor(y,r){this._manager=y;const h={onHeadersReceived:this._onHeadersReceived.bind(this),onDone:this._onDone.bind(this),onError:this._onError.bind(this),onProgress:this._onProgress.bind(this)};this._url=r.url,this._fullRequestId=y.requestFull(h),this._headersReceivedCapability=new P.PromiseCapability,this._disableRange=r.disableRange||!1,this._contentLength=r.length,this._rangeChunkSize=r.rangeChunkSize,!this._rangeChunkSize&&!this._disableRange&&(this._disableRange=!0),this._isStreamingSupported=!1,this._isRangeSupported=!1,this._cachedChunks=[],this._requests=[],this._done=!1,this._storedError=void 0,this._filename=null,this.onProgress=null}_onHeadersReceived(){const y=this._fullRequestId,r=this._manager.getRequestXhr(y),h=_=>r.getResponseHeader(_),{allowRangeRequests:a,suggestedLength:g}=(0,O.validateRangeRequestCapabilities)({getResponseHeader:h,isHttp:this._manager.isHttp,rangeChunkSize:this._rangeChunkSize,disableRange:this._disableRange});a&&(this._isRangeSupported=!0),this._contentLength=g||this._contentLength,this._filename=(0,O.extractFilenameFromHeader)(h),this._isRangeSupported&&this._manager.abortRequest(y),this._headersReceivedCapability.resolve()}_onDone(y){if(y&&(this._requests.length>0?this._requests.shift().resolve({value:y.chunk,done:!1}):this._cachedChunks.push(y.chunk)),this._done=!0,!(this._cachedChunks.length>0)){for(const r of this._requests)r.resolve({value:void 0,done:!0});this._requests.length=0}}_onError(y){this._storedError=(0,O.createResponseStatusError)(y,this._url),this._headersReceivedCapability.reject(this._storedError);for(const r of this._requests)r.reject(this._storedError);this._requests.length=0,this._cachedChunks.length=0}_onProgress(y){var r;(r=this.onProgress)==null||r.call(this,{loaded:y.loaded,total:y.lengthComputable?y.total:this._contentLength})}get filename(){return this._filename}get isRangeSupported(){return this._isRangeSupported}get isStreamingSupported(){return this._isStreamingSupported}get contentLength(){return this._contentLength}get headersReady(){return this._headersReceivedCapability.promise}async read(){if(this._storedError)throw this._storedError;if(this._cachedChunks.length>0)return{value:this._cachedChunks.shift(),done:!1};if(this._done)return{value:void 0,done:!0};const y=new P.PromiseCapability;return this._requests.push(y),y.promise}cancel(y){this._done=!0,this._headersReceivedCapability.reject(y);for(const r of this._requests)r.resolve({value:void 0,done:!0});this._requests.length=0,this._manager.isPendingRequest(this._fullRequestId)&&this._manager.abortRequest(this._fullRequestId),this._fullRequestReader=null}}class k{constructor(y,r,h){this._manager=y;const a={onDone:this._onDone.bind(this),onError:this._onError.bind(this),onProgress:this._onProgress.bind(this)};this._url=y.url,this._requestId=y.requestRange(r,h,a),this._requests=[],this._queuedChunk=null,this._done=!1,this._storedError=void 0,this.onProgress=null,this.onClosed=null}_close(){var y;(y=this.onClosed)==null||y.call(this,this)}_onDone(y){const r=y.chunk;this._requests.length>0?this._requests.shift().resolve({value:r,done:!1}):this._queuedChunk=r,this._done=!0;for(const h of this._requests)h.resolve({value:void 0,done:!0});this._requests.length=0,this._close()}_onError(y){this._storedError=(0,O.createResponseStatusError)(y,this._url);for(const r of this._requests)r.reject(this._storedError);this._requests.length=0,this._queuedChunk=null}_onProgress(y){var r;this.isStreamingSupported||(r=this.onProgress)==null||r.call(this,{loaded:y.loaded})}get isStreamingSupported(){return!1}async read(){if(this._storedError)throw this._storedError;if(this._queuedChunk!==null){const r=this._queuedChunk;return this._queuedChunk=null,{value:r,done:!1}}if(this._done)return{value:void 0,done:!0};const y=new P.PromiseCapability;return this._requests.push(y),y.promise}cancel(y){this._done=!0;for(const r of this._requests)r.resolve({value:void 0,done:!0});this._requests.length=0,this._manager.isPendingRequest(this._requestId)&&this._manager.abortRequest(this._requestId),this._close()}}},(x,o,X)=>{Object.defineProperty(o,"__esModule",{value:!0}),o.PDFFetchStream=void 0;var P=X(1),O=X(22);function pe(k,w,y){return{method:"GET",headers:k,signal:y.signal,mode:"cors",credentials:w?"include":"same-origin",redirect:"follow"}}function G(k){const w=new Headers;for(const y in k){const r=k[y];r!==void 0&&w.append(y,r)}return w}function D(k){return k instanceof Uint8Array?k.buffer:k instanceof ArrayBuffer?k:((0,P.warn)(`getArrayBuffer - unexpected data format: ${k}`),new Uint8Array(k).buffer)}class N{constructor(w){this.source=w,this.isHttp=/^https?:/i.test(w.url),this.httpHeaders=this.isHttp&&w.httpHeaders||{},this._fullRequestReader=null,this._rangeRequestReaders=[]}get _progressiveDataLength(){var w;return((w=this._fullRequestReader)==null?void 0:w._loaded)??0}getFullReader(){return(0,P.assert)(!this._fullRequestReader,"PDFFetchStream.getFullReader can only be called once."),this._fullRequestReader=new b(this),this._fullRequestReader}getRangeReader(w,y){if(y<=this._progressiveDataLength)return null;const r=new d(this,w,y);return this._rangeRequestReaders.push(r),r}cancelAllRequests(w){var y;(y=this._fullRequestReader)==null||y.cancel(w);for(const r of this._rangeRequestReaders.slice(0))r.cancel(w)}}o.PDFFetchStream=N;class b{constructor(w){this._stream=w,this._reader=null,this._loaded=0,this._filename=null;const y=w.source;this._withCredentials=y.withCredentials||!1,this._contentLength=y.length,this._headersCapability=new P.PromiseCapability,this._disableRange=y.disableRange||!1,this._rangeChunkSize=y.rangeChunkSize,!this._rangeChunkSize&&!this._disableRange&&(this._disableRange=!0),this._abortController=new AbortController,this._isStreamingSupported=!y.disableStream,this._isRangeSupported=!y.disableRange,this._headers=G(this._stream.httpHeaders);const r=y.url;fetch(r,pe(this._headers,this._withCredentials,this._abortController)).then(h=>{if(!(0,O.validateResponseStatus)(h.status))throw(0,O.createResponseStatusError)(h.status,r);this._reader=h.body.getReader(),this._headersCapability.resolve();const a=v=>h.headers.get(v),{allowRangeRequests:g,suggestedLength:_}=(0,O.validateRangeRequestCapabilities)({getResponseHeader:a,isHttp:this._stream.isHttp,rangeChunkSize:this._rangeChunkSize,disableRange:this._disableRange});this._isRangeSupported=g,this._contentLength=_||this._contentLength,this._filename=(0,O.extractFilenameFromHeader)(a),!this._isStreamingSupported&&this._isRangeSupported&&this.cancel(new P.AbortException("Streaming is disabled."))}).catch(this._headersCapability.reject),this.onProgress=null}get headersReady(){return this._headersCapability.promise}get filename(){return this._filename}get contentLength(){return this._contentLength}get isRangeSupported(){return this._isRangeSupported}get isStreamingSupported(){return this._isStreamingSupported}async read(){var r;await this._headersCapability.promise;const{value:w,done:y}=await this._reader.read();return y?{value:w,done:y}:(this._loaded+=w.byteLength,(r=this.onProgress)==null||r.call(this,{loaded:this._loaded,total:this._contentLength}),{value:D(w),done:!1})}cancel(w){var y;(y=this._reader)==null||y.cancel(w),this._abortController.abort()}}class d{constructor(w,y,r){this._stream=w,this._reader=null,this._loaded=0;const h=w.source;this._withCredentials=h.withCredentials||!1,this._readCapability=new P.PromiseCapability,this._isStreamingSupported=!h.disableStream,this._abortController=new AbortController,this._headers=G(this._stream.httpHeaders),this._headers.append("Range",`bytes=${y}-${r-1}`);const a=h.url;fetch(a,pe(this._headers,this._withCredentials,this._abortController)).then(g=>{if(!(0,O.validateResponseStatus)(g.status))throw(0,O.createResponseStatusError)(g.status,a);this._readCapability.resolve(),this._reader=g.body.getReader()}).catch(this._readCapability.reject),this.onProgress=null}get isStreamingSupported(){return this._isStreamingSupported}async read(){var r;await this._readCapability.promise;const{value:w,done:y}=await this._reader.read();return y?{value:w,done:y}:(this._loaded+=w.byteLength,(r=this.onProgress)==null||r.call(this,{loaded:this._loaded}),{value:D(w),done:!1})}cancel(w){var y;(y=this._reader)==null||y.cancel(w),this._abortController.abort()}}},(x,o,X)=>{Object.defineProperty(o,"__esModule",{value:!0}),o.TextLayerRenderTask=void 0,o.renderTextLayer=h,o.updateTextLayer=a;var P=X(1),O=X(6);const pe=1e5,G=30,D=.8,N=new Map;function b(g,_){let v;if(_&&P.FeatureTest.isOffscreenCanvasSupported)v=new OffscreenCanvas(g,g).getContext("2d",{alpha:!1});else{const p=document.createElement("canvas");p.width=p.height=g,v=p.getContext("2d",{alpha:!1})}return v}function d(g,_){const v=N.get(g);if(v)return v;const p=b(G,_);p.font=`${G}px ${g}`;const t=p.measureText("");let e=t.fontBoundingBoxAscent,s=Math.abs(t.fontBoundingBoxDescent);if(e){const f=e/(e+s);return N.set(g,f),p.canvas.width=p.canvas.height=0,f}p.strokeStyle="red",p.clearRect(0,0,G,G),p.strokeText("g",0,0);let n=p.getImageData(0,0,G,G).data;s=0;for(let f=n.length-1-3;f>=0;f-=4)if(n[f]>0){s=Math.ceil(f/4/G);break}p.clearRect(0,0,G,G),p.strokeText("A",0,G),n=p.getImageData(0,0,G,G).data,e=0;for(let f=0,T=n.length;f0){e=G-Math.floor(f/4/G);break}if(p.canvas.width=p.canvas.height=0,e){const f=e/(e+s);return N.set(g,f),f}return N.set(g,D),D}function k(g,_,v){const p=document.createElement("span"),t={angle:0,canvasWidth:0,hasText:_.str!=="",hasEOL:_.hasEOL,fontSize:0};g._textDivs.push(p);const e=P.Util.transform(g._transform,_.transform);let s=Math.atan2(e[1],e[0]);const n=v[_.fontName];n.vertical&&(s+=Math.PI/2);const f=Math.hypot(e[2],e[3]),T=f*d(n.fontFamily,g._isOffscreenCanvasSupported);let l,I;s===0?(l=e[4],I=e[5]-T):(l=e[4]+T*Math.sin(s),I=e[5]-T*Math.cos(s));const K="calc(var(--scale-factor)*",le=p.style;g._container===g._rootContainer?(le.left=`${(100*l/g._pageWidth).toFixed(2)}%`,le.top=`${(100*I/g._pageHeight).toFixed(2)}%`):(le.left=`${K}${l.toFixed(2)}px)`,le.top=`${K}${I.toFixed(2)}px)`),le.fontSize=`${K}${f.toFixed(2)}px)`,le.fontFamily=n.fontFamily,t.fontSize=f,p.setAttribute("role","presentation"),p.textContent=_.str,p.dir=_.dir,g._fontInspectorEnabled&&(p.dataset.fontName=_.fontName),s!==0&&(t.angle=s*(180/Math.PI));let H=!1;if(_.str.length>1)H=!0;else if(_.str!==" "&&_.transform[0]!==_.transform[3]){const ee=Math.abs(_.transform[0]),ae=Math.abs(_.transform[3]);ee!==ae&&Math.max(ee,ae)/Math.min(ee,ae)>1.5&&(H=!0)}H&&(t.canvasWidth=n.vertical?_.height:_.width),g._textDivProperties.set(p,t),g._isReadableStream&&g._layoutText(p)}function w(g){const{div:_,scale:v,properties:p,ctx:t,prevFontSize:e,prevFontFamily:s}=g,{style:n}=_;let f="";if(p.canvasWidth!==0&&p.hasText){const{fontFamily:T}=n,{canvasWidth:l,fontSize:I}=p;(e!==I||s!==T)&&(t.font=`${I*v}px ${T}`,g.prevFontSize=I,g.prevFontFamily=T);const{width:K}=t.measureText(_.textContent);K>0&&(f=`scaleX(${l*v/K})`)}p.angle!==0&&(f=`rotate(${p.angle}deg) ${f}`),f.length>0&&(n.transform=f)}function y(g){if(g._canceled)return;const _=g._textDivs,v=g._capability;if(_.length>pe){v.resolve();return}if(!g._isReadableStream)for(const t of _)g._layoutText(t);v.resolve()}class r{constructor({textContentSource:_,container:v,viewport:p,textDivs:t,textDivProperties:e,textContentItemsStr:s,isOffscreenCanvasSupported:n}){var K;this._textContentSource=_,this._isReadableStream=_ instanceof ReadableStream,this._container=this._rootContainer=v,this._textDivs=t||[],this._textContentItemsStr=s||[],this._isOffscreenCanvasSupported=n,this._fontInspectorEnabled=!!((K=globalThis.FontInspector)!=null&&K.enabled),this._reader=null,this._textDivProperties=e||new WeakMap,this._canceled=!1,this._capability=new P.PromiseCapability,this._layoutTextParams={prevFontSize:null,prevFontFamily:null,div:null,scale:p.scale*(globalThis.devicePixelRatio||1),properties:null,ctx:b(0,n)};const{pageWidth:f,pageHeight:T,pageX:l,pageY:I}=p.rawDims;this._transform=[1,0,0,-1,-l,I+T],this._pageWidth=f,this._pageHeight=T,(0,O.setLayerDimensions)(v,p),this._capability.promise.finally(()=>{this._layoutTextParams=null}).catch(()=>{})}get promise(){return this._capability.promise}cancel(){this._canceled=!0,this._reader&&(this._reader.cancel(new P.AbortException("TextLayer task cancelled.")).catch(()=>{}),this._reader=null),this._capability.reject(new P.AbortException("TextLayer task cancelled."))}_processItems(_,v){for(const p of _){if(p.str===void 0){if(p.type==="beginMarkedContentProps"||p.type==="beginMarkedContent"){const t=this._container;this._container=document.createElement("span"),this._container.classList.add("markedContent"),p.id!==null&&this._container.setAttribute("id",`${p.id}`),t.append(this._container)}else p.type==="endMarkedContent"&&(this._container=this._container.parentNode);continue}this._textContentItemsStr.push(p.str),k(this,p,v)}}_layoutText(_){const v=this._layoutTextParams.properties=this._textDivProperties.get(_);if(this._layoutTextParams.div=_,w(this._layoutTextParams),v.hasText&&this._container.append(_),v.hasEOL){const p=document.createElement("br");p.setAttribute("role","presentation"),this._container.append(p)}}_render(){const _=new P.PromiseCapability;let v=Object.create(null);if(this._isReadableStream){const p=()=>{this._reader.read().then(({value:t,done:e})=>{if(e){_.resolve();return}Object.assign(v,t.styles),this._processItems(t.items,v),p()},_.reject)};this._reader=this._textContentSource.getReader(),p()}else if(this._textContentSource){const{items:p,styles:t}=this._textContentSource;this._processItems(p,t),_.resolve()}else throw new Error('No "textContentSource" parameter specified.');_.promise.then(()=>{v=null,y(this)},this._capability.reject)}}o.TextLayerRenderTask=r;function h(g){!g.textContentSource&&(g.textContent||g.textContentStream)&&((0,O.deprecated)("The TextLayerRender `textContent`/`textContentStream` parameters will be removed in the future, please use `textContentSource` instead."),g.textContentSource=g.textContent||g.textContentStream);const{container:_,viewport:v}=g,p=getComputedStyle(_),t=p.getPropertyValue("visibility"),e=parseFloat(p.getPropertyValue("--scale-factor"));t==="visible"&&(!e||Math.abs(e-v.scale)>1e-5)&&console.error("The `--scale-factor` CSS-variable must be set, to the same value as `viewport.scale`, either on the `container`-element itself or higher up in the DOM.");const s=new r(g);return s._render(),s}function a({container:g,viewport:_,textDivs:v,textDivProperties:p,isOffscreenCanvasSupported:t,mustRotate:e=!0,mustRescale:s=!0}){if(e&&(0,O.setLayerDimensions)(g,{rotation:_.rotation}),s){const n=b(0,t),T={prevFontSize:null,prevFontFamily:null,div:null,scale:_.scale*(globalThis.devicePixelRatio||1),properties:null,ctx:n};for(const l of v)T.properties=p.get(l),T.div=l,w(T)}}},(x,o,X)=>{var b,d,k,w,y,r,h,a,g,Ot,v,Ti,t,Nt,s,Bt;Object.defineProperty(o,"__esModule",{value:!0}),o.AnnotationEditorLayer=void 0;var P=X(1),O=X(5),pe=X(28),G=X(29),D=X(6);const f=class{constructor(l){$(this,g);$(this,v);$(this,t);$(this,s);$(this,b,void 0);$(this,d,!1);$(this,k,this.pointerup.bind(this));$(this,w,this.pointerdown.bind(this));$(this,y,new Map);$(this,r,!1);$(this,h,!1);$(this,a,void 0);f._initialized||(f._initialized=!0,pe.FreeTextEditor.initialize(l.l10n),G.InkEditor.initialize(l.l10n)),l.uiManager.registerEditorTypes([pe.FreeTextEditor,G.InkEditor]),_e(this,a,l.uiManager),this.pageIndex=l.pageIndex,this.div=l.div,_e(this,b,l.accessibilityManager),c(this,a).addLayer(this)}get isEmpty(){return c(this,y).size===0}updateToolbar(l){c(this,a).updateToolbar(l)}updateMode(l=c(this,a).getMode()){Z(this,s,Bt).call(this),l===P.AnnotationEditorType.INK?(this.addInkEditorIfNeeded(!1),this.disableClick()):this.enableClick(),c(this,a).unselectAll(),l!==P.AnnotationEditorType.NONE&&(this.div.classList.toggle("freeTextEditing",l===P.AnnotationEditorType.FREETEXT),this.div.classList.toggle("inkEditing",l===P.AnnotationEditorType.INK),this.div.hidden=!1)}addInkEditorIfNeeded(l){if(!l&&c(this,a).getMode()!==P.AnnotationEditorType.INK)return;if(!l){for(const K of c(this,y).values())if(K.isEmpty()){K.setInBackground();return}}Z(this,t,Nt).call(this,{offsetX:0,offsetY:0}).setInBackground()}setEditingState(l){c(this,a).setEditingState(l)}addCommands(l){c(this,a).addCommands(l)}enable(){this.div.style.pointerEvents="auto";for(const l of c(this,y).values())l.enableEditing()}disable(){this.div.style.pointerEvents="none";for(const l of c(this,y).values())l.disableEditing();Z(this,s,Bt).call(this),this.isEmpty&&(this.div.hidden=!0)}setActiveEditor(l){c(this,a).getActive()!==l&&c(this,a).setActiveEditor(l)}enableClick(){this.div.addEventListener("pointerdown",c(this,w)),this.div.addEventListener("pointerup",c(this,k))}disableClick(){this.div.removeEventListener("pointerdown",c(this,w)),this.div.removeEventListener("pointerup",c(this,k))}attach(l){c(this,y).set(l.id,l)}detach(l){var I;c(this,y).delete(l.id),(I=c(this,b))==null||I.removePointerInTextLayer(l.contentDiv)}remove(l){c(this,a).removeEditor(l),this.detach(l),l.div.style.display="none",setTimeout(()=>{l.div.style.display="",l.div.remove(),l.isAttachedToDOM=!1,document.activeElement===document.body&&c(this,a).focusMainContainer()},0),c(this,h)||this.addInkEditorIfNeeded(!1)}add(l){if(Z(this,g,Ot).call(this,l),c(this,a).addEditor(l),this.attach(l),!l.isAttachedToDOM){const I=l.render();this.div.append(I),l.isAttachedToDOM=!0}this.moveEditorInDOM(l),l.onceAdded(),c(this,a).addToAnnotationStorage(l)}moveEditorInDOM(l){var I;(I=c(this,b))==null||I.moveElementInDOM(this.div,l.div,l.contentDiv,!0)}addOrRebuild(l){l.needsToBeRebuilt()?l.rebuild():this.add(l)}addANewEditor(l){const I=()=>{this.addOrRebuild(l)},K=()=>{l.remove()};this.addCommands({cmd:I,undo:K,mustExec:!0})}addUndoableEditor(l){const I=()=>{this.addOrRebuild(l)},K=()=>{l.remove()};this.addCommands({cmd:I,undo:K,mustExec:!1})}getNextId(){return c(this,a).getId()}deserialize(l){switch(l.annotationType){case P.AnnotationEditorType.FREETEXT:return pe.FreeTextEditor.deserialize(l,this,c(this,a));case P.AnnotationEditorType.INK:return G.InkEditor.deserialize(l,this,c(this,a))}return null}setSelected(l){c(this,a).setSelected(l)}toggleSelected(l){c(this,a).toggleSelected(l)}isSelected(l){return c(this,a).isSelected(l)}unselect(l){c(this,a).unselect(l)}pointerup(l){const{isMac:I}=P.FeatureTest.platform;if(!(l.button!==0||l.ctrlKey&&I)&&l.target===this.div&&c(this,r)){if(_e(this,r,!1),!c(this,d)){_e(this,d,!0);return}Z(this,t,Nt).call(this,l)}}pointerdown(l){const{isMac:I}=P.FeatureTest.platform;if(l.button!==0||l.ctrlKey&&I||l.target!==this.div)return;_e(this,r,!0);const K=c(this,a).getActive();_e(this,d,!K||K.isEmpty())}drop(l){const I=l.dataTransfer.getData("text/plain"),K=c(this,a).getEditor(I);if(!K)return;l.preventDefault(),l.dataTransfer.dropEffect="move",Z(this,g,Ot).call(this,K);const le=this.div.getBoundingClientRect(),H=l.clientX-le.x,ee=l.clientY-le.y;K.translate(H-K.startX,ee-K.startY),this.moveEditorInDOM(K),K.div.focus()}dragover(l){l.preventDefault()}destroy(){var l,I;((l=c(this,a).getActive())==null?void 0:l.parent)===this&&c(this,a).setActiveEditor(null);for(const K of c(this,y).values())(I=c(this,b))==null||I.removePointerInTextLayer(K.contentDiv),K.setParent(null),K.isAttachedToDOM=!1,K.div.remove();this.div=null,c(this,y).clear(),c(this,a).removeLayer(this)}render({viewport:l}){this.viewport=l,(0,D.setLayerDimensions)(this.div,l),(0,O.bindEvents)(this,this.div,["dragover","drop"]);for(const I of c(this,a).getEditors(this.pageIndex))this.add(I);this.updateMode()}update({viewport:l}){c(this,a).commitOrRemove(),this.viewport=l,(0,D.setLayerDimensions)(this.div,{rotation:l.rotation}),this.updateMode()}get pageDimensions(){const{pageWidth:l,pageHeight:I}=this.viewport.rawDims;return[l,I]}};let N=f;b=new WeakMap,d=new WeakMap,k=new WeakMap,w=new WeakMap,y=new WeakMap,r=new WeakMap,h=new WeakMap,a=new WeakMap,g=new WeakSet,Ot=function(l){var I;l.parent!==this&&(this.attach(l),(I=l.parent)==null||I.detach(l),l.setParent(this),l.div&&l.isAttachedToDOM&&(l.div.remove(),this.div.append(l.div)))},v=new WeakSet,Ti=function(l){switch(c(this,a).getMode()){case P.AnnotationEditorType.FREETEXT:return new pe.FreeTextEditor(l);case P.AnnotationEditorType.INK:return new G.InkEditor(l)}return null},t=new WeakSet,Nt=function(l){const I=this.getNextId(),K=Z(this,v,Ti).call(this,{parent:this,id:I,x:l.offsetX,y:l.offsetY,uiManager:c(this,a)});return K&&this.add(K),K},s=new WeakSet,Bt=function(){_e(this,h,!0);for(const l of c(this,y).values())l.isEmpty()&&l.remove();_e(this,h,!1)},je(N,"_initialized",!1),o.AnnotationEditorLayer=N},(x,o,X)=>{var D,N,b,d,k,w,y,r,h,a,xi,_,Mi,p,Ri,e,Vt;Object.defineProperty(o,"__esModule",{value:!0}),o.FreeTextEditor=void 0;var P=X(1),O=X(5),pe=X(4);const n=class extends pe.AnnotationEditor{constructor(l){super({...l,name:"freeTextEditor"});$(this,a);$(this,_);$(this,p);$(this,e);$(this,D,this.editorDivBlur.bind(this));$(this,N,this.editorDivFocus.bind(this));$(this,b,this.editorDivInput.bind(this));$(this,d,this.editorDivKeydown.bind(this));$(this,k,void 0);$(this,w,"");$(this,y,`${this.id}-editor`);$(this,r,!1);$(this,h,void 0);_e(this,k,l.color||n._defaultColor||pe.AnnotationEditor._defaultLineColor),_e(this,h,l.fontSize||n._defaultFontSize)}static initialize(l){this._l10nPromise=new Map(["free_text2_default_content","editor_free_text2_aria_label"].map(K=>[K,l.get(K)]));const I=getComputedStyle(document.documentElement);this._internalPadding=parseFloat(I.getPropertyValue("--freetext-padding"))}static updateDefaultParams(l,I){switch(l){case P.AnnotationEditorParamsType.FREETEXT_SIZE:n._defaultFontSize=I;break;case P.AnnotationEditorParamsType.FREETEXT_COLOR:n._defaultColor=I;break}}updateParams(l,I){switch(l){case P.AnnotationEditorParamsType.FREETEXT_SIZE:Z(this,a,xi).call(this,I);break;case P.AnnotationEditorParamsType.FREETEXT_COLOR:Z(this,_,Mi).call(this,I);break}}static get defaultPropertiesToUpdate(){return[[P.AnnotationEditorParamsType.FREETEXT_SIZE,n._defaultFontSize],[P.AnnotationEditorParamsType.FREETEXT_COLOR,n._defaultColor||pe.AnnotationEditor._defaultLineColor]]}get propertiesToUpdate(){return[[P.AnnotationEditorParamsType.FREETEXT_SIZE,c(this,h)],[P.AnnotationEditorParamsType.FREETEXT_COLOR,c(this,k)]]}getInitialTranslation(){const l=this.parentScale;return[-n._internalPadding*l,-(n._internalPadding+c(this,h))*l]}rebuild(){super.rebuild(),this.div!==null&&(this.isAttachedToDOM||this.parent.add(this))}enableEditMode(){this.isInEditMode()||(this.parent.setEditingState(!1),this.parent.updateToolbar(P.AnnotationEditorType.FREETEXT),super.enableEditMode(),this.overlayDiv.classList.remove("enabled"),this.editorDiv.contentEditable=!0,this.div.draggable=!1,this.div.removeAttribute("aria-activedescendant"),this.editorDiv.addEventListener("keydown",c(this,d)),this.editorDiv.addEventListener("focus",c(this,N)),this.editorDiv.addEventListener("blur",c(this,D)),this.editorDiv.addEventListener("input",c(this,b)))}disableEditMode(){this.isInEditMode()&&(this.parent.setEditingState(!0),super.disableEditMode(),this.overlayDiv.classList.add("enabled"),this.editorDiv.contentEditable=!1,this.div.setAttribute("aria-activedescendant",c(this,y)),this.div.draggable=!0,this.editorDiv.removeEventListener("keydown",c(this,d)),this.editorDiv.removeEventListener("focus",c(this,N)),this.editorDiv.removeEventListener("blur",c(this,D)),this.editorDiv.removeEventListener("input",c(this,b)),this.div.focus({preventScroll:!0}),this.isEditing=!1,this.parent.div.classList.add("freeTextEditing"))}focusin(l){super.focusin(l),l.target!==this.editorDiv&&this.editorDiv.focus()}onceAdded(){this.width||(this.enableEditMode(),this.editorDiv.focus())}isEmpty(){return!this.editorDiv||this.editorDiv.innerText.trim()===""}remove(){this.isEditing=!1,this.parent.setEditingState(!0),this.parent.div.classList.add("freeTextEditing"),super.remove()}commit(){this.isInEditMode()&&(super.commit(),c(this,r)||(_e(this,r,!0),this.parent.addUndoableEditor(this)),this.disableEditMode(),_e(this,w,Z(this,p,Ri).call(this).trimEnd()),Z(this,e,Vt).call(this))}shouldGetKeyboardEvents(){return this.isInEditMode()}dblclick(l){this.enableEditMode(),this.editorDiv.focus()}keydown(l){l.target===this.div&&l.key==="Enter"&&(this.enableEditMode(),this.editorDiv.focus())}editorDivKeydown(l){n._keyboardManager.exec(this,l)}editorDivFocus(l){this.isEditing=!0}editorDivBlur(l){this.isEditing=!1}editorDivInput(l){this.parent.div.classList.toggle("freeTextEditing",this.isEmpty())}disableEditing(){this.editorDiv.setAttribute("role","comment"),this.editorDiv.removeAttribute("aria-multiline")}enableEditing(){this.editorDiv.setAttribute("role","textbox"),this.editorDiv.setAttribute("aria-multiline",!0)}render(){if(this.div)return this.div;let l,I;this.width&&(l=this.x,I=this.y),super.render(),this.editorDiv=document.createElement("div"),this.editorDiv.className="internal",this.editorDiv.setAttribute("id",c(this,y)),this.enableEditing(),n._l10nPromise.get("editor_free_text2_aria_label").then(le=>{var H;return(H=this.editorDiv)==null?void 0:H.setAttribute("aria-label",le)}),n._l10nPromise.get("free_text2_default_content").then(le=>{var H;return(H=this.editorDiv)==null?void 0:H.setAttribute("default-content",le)}),this.editorDiv.contentEditable=!0;const{style:K}=this.editorDiv;if(K.fontSize=`calc(${c(this,h)}px * var(--scale-factor))`,K.color=c(this,k),this.div.append(this.editorDiv),this.overlayDiv=document.createElement("div"),this.overlayDiv.classList.add("overlay","enabled"),this.div.append(this.overlayDiv),(0,O.bindEvents)(this,this.div,["dblclick","keydown"]),this.width){const[le,H]=this.parentDimensions;this.setAt(l*le,I*H,this.width*le,this.height*H);for(const ee of c(this,w).split(` `)){const ae=document.createElement("div");ae.append(ee?document.createTextNode(ee):document.createElement("br")),this.editorDiv.append(ae)}this.div.draggable=!0,this.editorDiv.contentEditable=!1}else this.div.draggable=!1,this.editorDiv.contentEditable=!0;return this.div}get contentDiv(){return this.editorDiv}static deserialize(l,I,K){const le=super.deserialize(l,I,K);return _e(le,h,l.fontSize),_e(le,k,P.Util.makeHexColor(...l.color)),_e(le,w,l.value),le}serialize(){if(this.isEmpty())return null;const l=n._internalPadding*this.parentScale,I=this.getRect(l,l),K=pe.AnnotationEditor._colorManager.convert(this.isAttachedToDOM?getComputedStyle(this.editorDiv).color:c(this,k));return{annotationType:P.AnnotationEditorType.FREETEXT,color:K,fontSize:c(this,h),value:c(this,w),pageIndex:this.pageIndex,rect:I,rotation:this.rotation}}};let G=n;D=new WeakMap,N=new WeakMap,b=new WeakMap,d=new WeakMap,k=new WeakMap,w=new WeakMap,y=new WeakMap,r=new WeakMap,h=new WeakMap,a=new WeakSet,xi=function(l){const I=le=>{this.editorDiv.style.fontSize=`calc(${le}px * var(--scale-factor))`,this.translate(0,-(le-c(this,h))*this.parentScale),_e(this,h,le),Z(this,e,Vt).call(this)},K=c(this,h);this.addCommands({cmd:()=>{I(l)},undo:()=>{I(K)},mustExec:!0,type:P.AnnotationEditorParamsType.FREETEXT_SIZE,overwriteIfSameType:!0,keepUndo:!0})},_=new WeakSet,Mi=function(l){const I=c(this,k);this.addCommands({cmd:()=>{_e(this,k,this.editorDiv.style.color=l)},undo:()=>{_e(this,k,this.editorDiv.style.color=I)},mustExec:!0,type:P.AnnotationEditorParamsType.FREETEXT_COLOR,overwriteIfSameType:!0,keepUndo:!0})},p=new WeakSet,Ri=function(){const l=this.editorDiv.getElementsByTagName("div");if(l.length===0)return this.editorDiv.innerText;const I=[];for(const K of l)I.push(K.innerText.replace(/\r\n?|\n/,""));return I.join(` `)},e=new WeakSet,Vt=function(){const[l,I]=this.parentDimensions;let K;if(this.isAttachedToDOM)K=this.div.getBoundingClientRect();else{const{currentLayer:le,div:H}=this,ee=H.style.display;H.style.display="hidden",le.div.append(this.div),K=H.getBoundingClientRect(),H.remove(),H.style.display=ee}this.width=K.width/l,this.height=K.height/I},je(G,"_freeTextDefaultContent",""),je(G,"_l10nPromise"),je(G,"_internalPadding",0),je(G,"_defaultColor",null),je(G,"_defaultFontSize",10),je(G,"_keyboardManager",new O.KeyboardManager([[["ctrl+Enter","mac+meta+Enter","Escape","mac+Escape"],n.prototype.commitOrRemove]])),je(G,"_type","freetext"),o.FreeTextEditor=G},(x,o,X)=>{var b,d,k,w,y,r,h,a,g,_,v,p,t,e,s,Li,f,ki,l,Fi,K,Ii,H,zt,ae,Di,ge,Oi,Q,Ni,Ee,Qe,A,Ut,F,bt,j,vt,U,rt,z,jt,u,yt,R,Ht,W,Bi,B,Vi,ce,zi,ue,Wt,ve,At,Pe,at,oe,$t;Object.defineProperty(o,"__esModule",{value:!0}),o.InkEditor=void 0,Object.defineProperty(o,"fitCurve",{enumerable:!0,get:function(){return pe.fitCurve}});var P=X(1),O=X(4),pe=X(30),G=X(5);const D=16,Me=class extends O.AnnotationEditor{constructor(m){super({...m,name:"inkEditor"});$(this,s);$(this,f);$(this,l);$(this,K);$(this,H);$(this,ae);$(this,ge);$(this,Q);$(this,Ee);$(this,A);$(this,F);$(this,j);$(this,U);$(this,z);$(this,u);$(this,W);$(this,B);$(this,ce);$(this,ue);$(this,ve);$(this,Pe);$(this,oe);$(this,b,0);$(this,d,0);$(this,k,0);$(this,w,this.canvasPointermove.bind(this));$(this,y,this.canvasPointerleave.bind(this));$(this,r,this.canvasPointerup.bind(this));$(this,h,this.canvasPointerdown.bind(this));$(this,a,!1);$(this,g,!1);$(this,_,null);$(this,v,null);$(this,p,0);$(this,t,0);$(this,e,null);this.color=m.color||null,this.thickness=m.thickness||null,this.opacity=m.opacity||null,this.paths=[],this.bezierPath2D=[],this.currentPath=[],this.scaleFactor=1,this.translationX=this.translationY=0,this.x=0,this.y=0}static initialize(m){this._l10nPromise=new Map(["editor_ink_canvas_aria_label","editor_ink2_aria_label"].map(M=>[M,m.get(M)]))}static updateDefaultParams(m,M){switch(m){case P.AnnotationEditorParamsType.INK_THICKNESS:Me._defaultThickness=M;break;case P.AnnotationEditorParamsType.INK_COLOR:Me._defaultColor=M;break;case P.AnnotationEditorParamsType.INK_OPACITY:Me._defaultOpacity=M/100;break}}updateParams(m,M){switch(m){case P.AnnotationEditorParamsType.INK_THICKNESS:Z(this,s,Li).call(this,M);break;case P.AnnotationEditorParamsType.INK_COLOR:Z(this,f,ki).call(this,M);break;case P.AnnotationEditorParamsType.INK_OPACITY:Z(this,l,Fi).call(this,M);break}}static get defaultPropertiesToUpdate(){return[[P.AnnotationEditorParamsType.INK_THICKNESS,Me._defaultThickness],[P.AnnotationEditorParamsType.INK_COLOR,Me._defaultColor||O.AnnotationEditor._defaultLineColor],[P.AnnotationEditorParamsType.INK_OPACITY,Math.round(Me._defaultOpacity*100)]]}get propertiesToUpdate(){return[[P.AnnotationEditorParamsType.INK_THICKNESS,this.thickness||Me._defaultThickness],[P.AnnotationEditorParamsType.INK_COLOR,this.color||Me._defaultColor||O.AnnotationEditor._defaultLineColor],[P.AnnotationEditorParamsType.INK_OPACITY,Math.round(100*(this.opacity??Me._defaultOpacity))]]}rebuild(){super.rebuild(),this.div!==null&&(this.canvas||(Z(this,F,bt).call(this),Z(this,j,vt).call(this)),this.isAttachedToDOM||(this.parent.add(this),Z(this,U,rt).call(this)),Z(this,Pe,at).call(this))}remove(){this.canvas!==null&&(this.isEmpty()||this.commit(),this.canvas.width=this.canvas.height=0,this.canvas.remove(),this.canvas=null,c(this,v).disconnect(),_e(this,v,null),super.remove())}setParent(m){!this.parent&&m?this._uiManager.removeShouldRescale(this):this.parent&&m===null&&this._uiManager.addShouldRescale(this),super.setParent(m)}onScaleChanging(){const[m,M]=this.parentDimensions,ie=this.width*m,de=this.height*M;this.setDimensions(ie,de)}enableEditMode(){c(this,a)||this.canvas===null||(super.enableEditMode(),this.div.draggable=!1,this.canvas.addEventListener("pointerdown",c(this,h)),this.canvas.addEventListener("pointerup",c(this,r)))}disableEditMode(){!this.isInEditMode()||this.canvas===null||(super.disableEditMode(),this.div.draggable=!this.isEmpty(),this.div.classList.remove("editing"),this.canvas.removeEventListener("pointerdown",c(this,h)),this.canvas.removeEventListener("pointerup",c(this,r)))}onceAdded(){this.div.draggable=!this.isEmpty()}isEmpty(){return this.paths.length===0||this.paths.length===1&&this.paths[0].length===0}commit(){c(this,a)||(super.commit(),this.isEditing=!1,this.disableEditMode(),this.setInForeground(),_e(this,a,!0),this.div.classList.add("disabled"),Z(this,Pe,at).call(this,!0),this.parent.addInkEditorIfNeeded(!0),this.parent.moveEditorInDOM(this),this.div.focus({preventScroll:!0}))}focusin(m){super.focusin(m),this.enableEditMode()}canvasPointerdown(m){m.button!==0||!this.isInEditMode()||c(this,a)||(this.setInForeground(),m.type!=="mouse"&&this.div.focus(),m.stopPropagation(),this.canvas.addEventListener("pointerleave",c(this,y)),this.canvas.addEventListener("pointermove",c(this,w)),Z(this,ae,Di).call(this,m.offsetX,m.offsetY))}canvasPointermove(m){m.stopPropagation(),Z(this,ge,Oi).call(this,m.offsetX,m.offsetY)}canvasPointerup(m){m.button===0&&this.isInEditMode()&&this.currentPath.length!==0&&(m.stopPropagation(),Z(this,A,Ut).call(this,m),this.setInBackground())}canvasPointerleave(m){Z(this,A,Ut).call(this,m),this.setInBackground()}render(){if(this.div)return this.div;let m,M;this.width&&(m=this.x,M=this.y),super.render(),Me._l10nPromise.get("editor_ink2_aria_label").then(fe=>{var Ae;return(Ae=this.div)==null?void 0:Ae.setAttribute("aria-label",fe)});const[ie,de,re,he]=Z(this,K,Ii).call(this);if(this.setAt(ie,de,0,0),this.setDims(re,he),Z(this,F,bt).call(this),this.width){const[fe,Ae]=this.parentDimensions;this.setAt(m*fe,M*Ae,this.width*fe,this.height*Ae),_e(this,g,!0),Z(this,U,rt).call(this),this.setDims(this.width*fe,this.height*Ae),Z(this,Ee,Qe).call(this),Z(this,oe,$t).call(this),this.div.classList.add("disabled")}else this.div.classList.add("editing"),this.enableEditMode();return Z(this,j,vt).call(this),this.div}setDimensions(m,M){const ie=Math.round(m),de=Math.round(M);if(c(this,p)===ie&&c(this,t)===de)return;_e(this,p,ie),_e(this,t,de),this.canvas.style.visibility="hidden",c(this,b)&&Math.abs(c(this,b)-m/M)>.01&&(M=Math.ceil(m/c(this,b)),this.setDims(m,M));const[re,he]=this.parentDimensions;this.width=m/re,this.height=M/he,c(this,a)&&Z(this,z,jt).call(this,m,M),Z(this,U,rt).call(this),Z(this,Ee,Qe).call(this),this.canvas.style.visibility="visible",this.fixDims()}static deserialize(m,M,ie){var Ie,ke;const de=super.deserialize(m,M,ie);de.thickness=m.thickness,de.color=P.Util.makeHexColor(...m.color),de.opacity=m.opacity;const[re,he]=de.pageDimensions,fe=de.width*re,Ae=de.height*he,Te=de.parentScale,Se=m.thickness/2;_e(de,b,fe/Ae),_e(de,a,!0),_e(de,p,Math.round(fe)),_e(de,t,Math.round(Ae));for(const{bezier:Le}of m.paths){const Ne=[];de.paths.push(Ne);let Ve=Te*(Le[0]-Se),De=Te*(Ae-Le[1]-Se);for(let Be=2,ze=Le.length;Be{this.thickness=m,Z(this,Pe,at).call(this)},undo:()=>{this.thickness=M,Z(this,Pe,at).call(this)},mustExec:!0,type:P.AnnotationEditorParamsType.INK_THICKNESS,overwriteIfSameType:!0,keepUndo:!0})},f=new WeakSet,ki=function(m){const M=this.color;this.addCommands({cmd:()=>{this.color=m,Z(this,Ee,Qe).call(this)},undo:()=>{this.color=M,Z(this,Ee,Qe).call(this)},mustExec:!0,type:P.AnnotationEditorParamsType.INK_COLOR,overwriteIfSameType:!0,keepUndo:!0})},l=new WeakSet,Fi=function(m){m/=100;const M=this.opacity;this.addCommands({cmd:()=>{this.opacity=m,Z(this,Ee,Qe).call(this)},undo:()=>{this.opacity=M,Z(this,Ee,Qe).call(this)},mustExec:!0,type:P.AnnotationEditorParamsType.INK_OPACITY,overwriteIfSameType:!0,keepUndo:!0})},K=new WeakSet,Ii=function(){const{parentRotation:m,parentDimensions:[M,ie]}=this;switch(m){case 90:return[0,ie,ie,M];case 180:return[M,ie,M,ie];case 270:return[M,0,ie,M];default:return[0,0,M,ie]}},H=new WeakSet,zt=function(){const{ctx:m,color:M,opacity:ie,thickness:de,parentScale:re,scaleFactor:he}=this;m.lineWidth=de*re/he,m.lineCap="round",m.lineJoin="round",m.miterLimit=10,m.strokeStyle=`${M}${(0,G.opacityToHex)(ie)}`},ae=new WeakSet,Di=function(m,M){this.isEditing=!0,c(this,g)||(_e(this,g,!0),Z(this,U,rt).call(this),this.thickness||(this.thickness=Me._defaultThickness),this.color||(this.color=Me._defaultColor||O.AnnotationEditor._defaultLineColor),this.opacity??(this.opacity=Me._defaultOpacity)),this.currentPath.push([m,M]),_e(this,_,null),Z(this,H,zt).call(this),this.ctx.beginPath(),this.ctx.moveTo(m,M),_e(this,e,()=>{c(this,e)&&(c(this,_)&&(this.isEmpty()?(this.ctx.setTransform(1,0,0,1,0,0),this.ctx.clearRect(0,0,this.canvas.width,this.canvas.height)):Z(this,Ee,Qe).call(this),this.ctx.lineTo(...c(this,_)),_e(this,_,null),this.ctx.stroke()),window.requestAnimationFrame(c(this,e)))}),window.requestAnimationFrame(c(this,e))},ge=new WeakSet,Oi=function(m,M){const[ie,de]=this.currentPath.at(-1);m===ie&&M===de||(this.currentPath.push([m,M]),_e(this,_,[m,M]))},Q=new WeakSet,Ni=function(m,M){var Te;this.ctx.closePath(),_e(this,e,null),m=Math.min(Math.max(m,0),this.canvas.width),M=Math.min(Math.max(M,0),this.canvas.height);const[ie,de]=this.currentPath.at(-1);(m!==ie||M!==de)&&this.currentPath.push([m,M]);let re;if(this.currentPath.length!==1)re=(0,pe.fitCurve)(this.currentPath,30,null);else{const Se=[m,M];re=[[Se,Se.slice(),Se.slice(),Se]]}const he=Z(Te=Me,R,Ht).call(Te,re);this.currentPath.length=0;const fe=()=>{this.paths.push(re),this.bezierPath2D.push(he),this.rebuild()},Ae=()=>{this.paths.pop(),this.bezierPath2D.pop(),this.paths.length===0?this.remove():(this.canvas||(Z(this,F,bt).call(this),Z(this,j,vt).call(this)),Z(this,Pe,at).call(this))};this.addCommands({cmd:fe,undo:Ae,mustExec:!0})},Ee=new WeakSet,Qe=function(){if(this.isEmpty()){Z(this,u,yt).call(this);return}Z(this,H,zt).call(this);const{canvas:m,ctx:M}=this;M.setTransform(1,0,0,1,0,0),M.clearRect(0,0,m.width,m.height),Z(this,u,yt).call(this);for(const ie of this.bezierPath2D)M.stroke(ie)},A=new WeakSet,Ut=function(m){Z(this,Q,Ni).call(this,m.offsetX,m.offsetY),this.canvas.removeEventListener("pointerleave",c(this,y)),this.canvas.removeEventListener("pointermove",c(this,w)),this.addToAnnotationStorage()},F=new WeakSet,bt=function(){this.canvas=document.createElement("canvas"),this.canvas.width=this.canvas.height=0,this.canvas.className="inkEditorCanvas",Me._l10nPromise.get("editor_ink_canvas_aria_label").then(m=>{var M;return(M=this.canvas)==null?void 0:M.setAttribute("aria-label",m)}),this.div.append(this.canvas),this.ctx=this.canvas.getContext("2d")},j=new WeakSet,vt=function(){_e(this,v,new ResizeObserver(m=>{const M=m[0].contentRect;M.width&&M.height&&this.setDimensions(M.width,M.height)})),c(this,v).observe(this.div)},U=new WeakSet,rt=function(){if(!c(this,g))return;const[m,M]=this.parentDimensions;this.canvas.width=Math.ceil(this.width*m),this.canvas.height=Math.ceil(this.height*M),Z(this,u,yt).call(this)},z=new WeakSet,jt=function(m,M){const ie=Z(this,ve,At).call(this),de=(m-ie)/c(this,k),re=(M-ie)/c(this,d);this.scaleFactor=Math.min(de,re)},u=new WeakSet,yt=function(){const m=Z(this,ve,At).call(this)/2;this.ctx.setTransform(this.scaleFactor,0,0,this.scaleFactor,this.translationX*this.scaleFactor+m,this.translationY*this.scaleFactor+m)},R=new WeakSet,Ht=function(m){const M=new Path2D;for(let ie=0,de=m.length;ie=1?(m.minHeight=`${D}px`,m.minWidth=`${Math.round(c(this,b)*D)}px`):(m.minWidth=`${D}px`,m.minHeight=`${Math.round(D/c(this,b))}px`)},$(N,R),je(N,"_defaultColor",null),je(N,"_defaultOpacity",1),je(N,"_defaultThickness",1),je(N,"_l10nPromise"),je(N,"_type","ink"),o.InkEditor=N},(x,o,X)=>{Object.defineProperty(o,"__esModule",{value:!0}),o.fitCurve=void 0;const P=X(31);o.fitCurve=P},x=>{function o(r,h,a){if(!Array.isArray(r))throw new TypeError("First argument should be an array");if(r.forEach(p=>{if(!Array.isArray(p)||p.some(t=>typeof t!="number")||p.length!==r[0].length)throw Error("Each point should be an array of numbers. Each point should have the same amount of numbers.")}),r=r.filter((p,t)=>t===0||!p.every((e,s)=>e===r[t-1][s])),r.length<2)return[];const g=r.length,_=k(r[1],r[0]),v=k(r[g-2],r[g-1]);return X(r,_,v,h,a)}function X(r,h,a,g,_){var p,t,e,s,n,f,T,l,I,K,le,H,ee;if(r.length===2)return H=w.vectorLen(w.subtract(r[0],r[1]))/3,p=[r[0],w.addArrays(r[0],w.mulItems(h,H)),w.addArrays(r[1],w.mulItems(a,H)),r[1]],[p];if(t=D(r),[p,s,f]=P(r,t,t,h,a,_),s===0||s.9999&&ae<1.0001)break}n=s,T=f}return le=[],l=w.subtract(r[f-1],r[f+1]),l.every(ae=>ae===0)&&(l=w.subtract(r[f-1],r[f]),[l[0],l[1]]=[-l[1],l[0]]),I=w.normalize(l),K=w.mulItems(I,-1),le=le.concat(X(r.slice(0,f+1),h,I,g,_)),le=le.concat(X(r.slice(f),K,a,g,_)),le}function P(r,h,a,g,_,v){var p,t,e;return p=O(r,a,g,_),[t,e]=N(r,p,h),v&&v({bez:p,points:r,params:h,maxErr:t,maxPoint:e}),[p,t,e]}function O(r,h,a,g){var _,v,p,t,e,s,n,f,T,l,I,K,le,H,ee,ae,te,ge=r[0],ye=r[r.length-1];for(_=[ge,null,null,ye],v=w.zeros_Xx2x2(h.length),le=0,H=h.length;leG(r,h[_],g))}function G(r,h,a){var g=w.subtract(y.q(r,a),h),_=y.qprime(r,a),v=w.mulMatrix(g,_),p=w.sum(w.squareItems(_))+2*w.mulMatrix(g,y.qprimeprime(r,a));return p===0?a:a-v/p}function D(r){var h=[],a,g,_;return r.forEach((v,p)=>{a=p?g+w.vectorLen(w.subtract(v,_)):0,h.push(a),g=a,_=v}),h=h.map(v=>v/g),h}function N(r,h,a){var g,_,v,p,t,e,s,n;_=0,v=Math.floor(r.length/2);const f=b(h,10);for(t=0,e=r.length;t_&&(_=g,v=t);return[_,v]}var b=function(r,h){for(var a,g=[0],_=r[0],v=0,p=1;p<=h;p++)a=y.q(r,p/h),v+=w.vectorLen(w.subtract(a,_)),g.push(v),_=a;return g=g.map(t=>t/v),g};function d(r,h,a,g){if(h<0)return 0;if(h>1)return 1;for(var _,v,p,t,e,s=1;s<=g;s++)if(h<=a[s]){t=(s-1)/g,p=s/g,v=a[s-1],_=a[s],e=(h-v)/(_-v)*(p-t)+t;break}return e}function k(r,h){return w.normalize(w.subtract(r,h))}class w{static zeros_Xx2x2(h){for(var a=[];h--;)a.push([0,0]);return a}static mulItems(h,a){return h.map(g=>g*a)}static mulMatrix(h,a){return h.reduce((g,_,v)=>g+_*a[v],0)}static subtract(h,a){return h.map((g,_)=>g-a[_])}static addArrays(h,a){return h.map((g,_)=>g+a[_])}static addItems(h,a){return h.map(g=>g+a)}static sum(h){return h.reduce((a,g)=>a+g)}static dot(h,a){return w.mulMatrix(h,a)}static vectorLen(h){return Math.hypot(...h)}static divItems(h,a){return h.map(g=>g/a)}static squareItems(h){return h.map(a=>a*a)}static normalize(h){return this.divItems(h,this.vectorLen(h))}}class y{static q(h,a){var g=1-a,_=w.mulItems(h[0],g*g*g),v=w.mulItems(h[1],3*g*g*a),p=w.mulItems(h[2],3*g*a*a),t=w.mulItems(h[3],a*a*a);return w.addArrays(w.addArrays(_,v),w.addArrays(p,t))}static qprime(h,a){var g=1-a,_=w.mulItems(w.subtract(h[1],h[0]),3*g*g),v=w.mulItems(w.subtract(h[2],h[1]),6*g*a),p=w.mulItems(w.subtract(h[3],h[2]),3*a*a);return w.addArrays(w.addArrays(_,v),p)}static qprimeprime(h,a){return w.addArrays(w.mulItems(w.addArrays(w.subtract(h[2],w.mulItems(h[1],2)),h[0]),6*(1-a)),w.mulItems(w.addArrays(w.subtract(h[3],w.mulItems(h[2],2)),h[1]),6*a))}}x.exports=o,x.exports.fitCubic=X,x.exports.createTangent=k},(x,o,X)=>{var Ee,tt,A,Ui,Y,Gt,se,Xt;Object.defineProperty(o,"__esModule",{value:!0}),o.AnnotationLayer=void 0;var P=X(1),O=X(6),pe=X(3),G=X(33),D=X(34);const N=1e3,b=9,d=new WeakSet;function k(z){return{width:z[2]-z[0],height:z[3]-z[1]}}class w{static create(i){switch(i.data.annotationType){case P.AnnotationType.LINK:return new r(i);case P.AnnotationType.TEXT:return new h(i);case P.AnnotationType.WIDGET:switch(i.data.fieldType){case"Tx":return new g(i);case"Btn":return i.data.radioButton?new v(i):i.data.checkBox?new _(i):new p(i);case"Ch":return new t(i)}return new a(i);case P.AnnotationType.POPUP:return new e(i);case P.AnnotationType.FREETEXT:return new n(i);case P.AnnotationType.LINE:return new f(i);case P.AnnotationType.SQUARE:return new T(i);case P.AnnotationType.CIRCLE:return new l(i);case P.AnnotationType.POLYLINE:return new I(i);case P.AnnotationType.CARET:return new le(i);case P.AnnotationType.INK:return new H(i);case P.AnnotationType.POLYGON:return new K(i);case P.AnnotationType.HIGHLIGHT:return new ee(i);case P.AnnotationType.UNDERLINE:return new ae(i);case P.AnnotationType.SQUIGGLY:return new te(i);case P.AnnotationType.STRIKEOUT:return new ge(i);case P.AnnotationType.STAMP:return new ye(i);case P.AnnotationType.FILEATTACHMENT:return new Q(i);default:return new y(i)}}}class y{constructor(i,{isRenderable:u=!1,ignoreBorder:S=!1,createQuadrilaterals:R=!1}={}){this.isRenderable=u,this.data=i.data,this.layer=i.layer,this.page=i.page,this.viewport=i.viewport,this.linkService=i.linkService,this.downloadManager=i.downloadManager,this.imageResourcesPath=i.imageResourcesPath,this.renderForms=i.renderForms,this.svgFactory=i.svgFactory,this.annotationStorage=i.annotationStorage,this.enableScripting=i.enableScripting,this.hasJSActions=i.hasJSActions,this._fieldObjects=i.fieldObjects,u&&(this.container=this._createContainer(S)),R&&(this.quadrilaterals=this._createQuadrilaterals(S))}_createContainer(i=!1){const{data:u,page:S,viewport:R}=this,L=document.createElement("section");L.setAttribute("data-annotation-id",u.id),u.noRotate&&L.classList.add("norotate");const{pageWidth:W,pageHeight:me,pageX:B,pageY:q}=R.rawDims,{width:ce,height:ne}=k(u.rect),ue=P.Util.normalizeRect([u.rect[0],S.view[3]-u.rect[1]+S.view[1],u.rect[2],S.view[3]-u.rect[3]+S.view[1]]);if(!i&&u.borderStyle.width>0){L.style.borderWidth=`${u.borderStyle.width}px`;const ve=u.borderStyle.horizontalCornerRadius,xe=u.borderStyle.verticalCornerRadius;if(ve>0||xe>0){const Re=`calc(${ve}px * var(--scale-factor)) / calc(${xe}px * var(--scale-factor))`;L.style.borderRadius=Re}else if(this instanceof v){const Re=`calc(${ce}px * var(--scale-factor)) / calc(${ne}px * var(--scale-factor))`;L.style.borderRadius=Re}switch(u.borderStyle.style){case P.AnnotationBorderStyleType.SOLID:L.style.borderStyle="solid";break;case P.AnnotationBorderStyleType.DASHED:L.style.borderStyle="dashed";break;case P.AnnotationBorderStyleType.BEVELED:(0,P.warn)("Unimplemented border style: beveled");break;case P.AnnotationBorderStyleType.INSET:(0,P.warn)("Unimplemented border style: inset");break;case P.AnnotationBorderStyleType.UNDERLINE:L.style.borderBottomStyle="solid";break}const Pe=u.borderColor||null;Pe?L.style.borderColor=P.Util.makeHexColor(Pe[0]|0,Pe[1]|0,Pe[2]|0):L.style.borderWidth=0}L.style.left=`${100*(ue[0]-B)/W}%`,L.style.top=`${100*(ue[1]-q)/me}%`;const{rotation:be}=u;return u.hasOwnCanvas||be===0?(L.style.width=`${100*ce/W}%`,L.style.height=`${100*ne/me}%`):this.setRotation(be,L),L}setRotation(i,u=this.container){const{pageWidth:S,pageHeight:R}=this.viewport.rawDims,{width:L,height:W}=k(this.data.rect);let me,B;i%180===0?(me=100*L/S,B=100*W/R):(me=100*W/S,B=100*L/R),u.style.width=`${me}%`,u.style.height=`${B}%`,u.setAttribute("data-main-rotation",(360-i)%360)}get _commonActions(){const i=(u,S,R)=>{const L=R.detail[u];R.target.style[S]=G.ColorConverters[`${L[0]}_HTML`](L.slice(1))};return(0,P.shadow)(this,"_commonActions",{display:u=>{const S=u.detail.display%2===1;this.container.style.visibility=S?"hidden":"visible",this.annotationStorage.setValue(this.data.id,{hidden:S,print:u.detail.display===0||u.detail.display===3})},print:u=>{this.annotationStorage.setValue(this.data.id,{print:u.detail.print})},hidden:u=>{this.container.style.visibility=u.detail.hidden?"hidden":"visible",this.annotationStorage.setValue(this.data.id,{hidden:u.detail.hidden})},focus:u=>{setTimeout(()=>u.target.focus({preventScroll:!1}),0)},userName:u=>{u.target.title=u.detail.userName},readonly:u=>{u.detail.readonly?u.target.setAttribute("readonly",""):u.target.removeAttribute("readonly")},required:u=>{this._setRequired(u.target,u.detail.required)},bgColor:u=>{i("bgColor","backgroundColor",u)},fillColor:u=>{i("fillColor","backgroundColor",u)},fgColor:u=>{i("fgColor","color",u)},textColor:u=>{i("textColor","color",u)},borderColor:u=>{i("borderColor","borderColor",u)},strokeColor:u=>{i("strokeColor","borderColor",u)},rotation:u=>{const S=u.detail.rotation;this.setRotation(S),this.annotationStorage.setValue(this.data.id,{rotation:S})}})}_dispatchEventFromSandbox(i,u){const S=this._commonActions;for(const R of Object.keys(u.detail)){const L=i[R]||S[R];L==null||L(u)}}_setDefaultPropertiesFromJS(i){if(!this.enableScripting)return;const u=this.annotationStorage.getRawValue(this.data.id);if(!u)return;const S=this._commonActions;for(const[R,L]of Object.entries(u)){const W=S[R];if(W){const me={detail:{[R]:L},target:i};W(me),delete u[R]}}}_createQuadrilaterals(i=!1){if(!this.data.quadPoints)return null;const u=[],S=this.data.rect;for(const R of this.data.quadPoints)this.data.rect=[R[2].x,R[2].y,R[1].x,R[1].y],u.push(this._createContainer(i));return this.data.rect=S,u}_createPopup(i,u){let S=this.container;this.quadrilaterals&&(i||(i=this.quadrilaterals),S=this.quadrilaterals[0]),i||(i=document.createElement("div"),i.classList.add("popupTriggerArea"),S.append(i));const L=new s({container:S,trigger:i,color:u.color,titleObj:u.titleObj,modificationDate:u.modificationDate,contentsObj:u.contentsObj,richText:u.richText,hideWrapper:!0}).render();L.style.left="100%",S.append(L)}_renderQuadrilaterals(i){for(const u of this.quadrilaterals)u.classList.add(i);return this.quadrilaterals}render(){(0,P.unreachable)("Abstract method `AnnotationElement.render` called")}_getElementsByName(i,u=null){const S=[];if(this._fieldObjects){const R=this._fieldObjects[i];if(R)for(const{page:L,id:W,exportValues:me}of R){if(L===-1||W===u)continue;const B=typeof me=="string"?me:null,q=document.querySelector(`[data-element-id="${W}"]`);if(q&&!d.has(q)){(0,P.warn)(`_getElementsByName - element not allowed: ${W}`);continue}S.push({id:W,exportValue:B,domElement:q})}return S}for(const R of document.getElementsByName(i)){const{exportValue:L}=R,W=R.getAttribute("data-element-id");W!==u&&d.has(R)&&S.push({id:W,exportValue:L,domElement:R})}return S}}class r extends y{constructor(u,S=null){super(u,{isRenderable:!0,ignoreBorder:!!(S!=null&&S.ignoreBorder),createQuadrilaterals:!0});$(this,Ee);$(this,A);this.isTooltipOnly=u.data.isTooltipOnly}render(){const{data:u,linkService:S}=this,R=document.createElement("a");R.setAttribute("data-element-id",u.id);let L=!1;return u.url?(S.addLinkAttributes(R,u.url,u.newWindow),L=!0):u.action?(this._bindNamedAction(R,u.action),L=!0):u.attachment?(this._bindAttachment(R,u.attachment),L=!0):u.setOCGState?(Z(this,A,Ui).call(this,R,u.setOCGState),L=!0):u.dest?(this._bindLink(R,u.dest),L=!0):(u.actions&&(u.actions.Action||u.actions["Mouse Up"]||u.actions["Mouse Down"])&&this.enableScripting&&this.hasJSActions&&(this._bindJSAction(R,u),L=!0),u.resetForm?(this._bindResetFormAction(R,u.resetForm),L=!0):this.isTooltipOnly&&!L&&(this._bindLink(R,""),L=!0)),this.quadrilaterals?this._renderQuadrilaterals("linkAnnotation").map((W,me)=>{const B=me===0?R:R.cloneNode();return W.append(B),W}):(this.container.classList.add("linkAnnotation"),L&&this.container.append(R),this.container)}_bindLink(u,S){u.href=this.linkService.getDestinationHash(S),u.onclick=()=>(S&&this.linkService.goToDestination(S),!1),(S||S==="")&&Z(this,Ee,tt).call(this)}_bindNamedAction(u,S){u.href=this.linkService.getAnchorUrl(""),u.onclick=()=>(this.linkService.executeNamedAction(S),!1),Z(this,Ee,tt).call(this)}_bindAttachment(u,S){u.href=this.linkService.getAnchorUrl(""),u.onclick=()=>{var R;return(R=this.downloadManager)==null||R.openOrDownloadData(this.container,S.content,S.filename),!1},Z(this,Ee,tt).call(this)}_bindJSAction(u,S){u.href=this.linkService.getAnchorUrl("");const R=new Map([["Action","onclick"],["Mouse Up","onmouseup"],["Mouse Down","onmousedown"]]);for(const L of Object.keys(S.actions)){const W=R.get(L);W&&(u[W]=()=>{var me;return(me=this.linkService.eventBus)==null||me.dispatch("dispatcheventinsandbox",{source:this,detail:{id:S.id,name:L}}),!1})}u.onclick||(u.onclick=()=>!1),Z(this,Ee,tt).call(this)}_bindResetFormAction(u,S){const R=u.onclick;if(R||(u.href=this.linkService.getAnchorUrl("")),Z(this,Ee,tt).call(this),!this._fieldObjects){(0,P.warn)('_bindResetFormAction - "resetForm" action not supported, ensure that the `fieldObjects` parameter is provided.'),R||(u.onclick=()=>!1);return}u.onclick=()=>{var ne;R==null||R();const{fields:L,refs:W,include:me}=S,B=[];if(L.length!==0||W.length!==0){const ue=new Set(W);for(const be of L){const ve=this._fieldObjects[be]||[];for(const{id:xe}of ve)ue.add(xe)}for(const be of Object.values(this._fieldObjects))for(const ve of be)ue.has(ve.id)===me&&B.push(ve)}else for(const ue of Object.values(this._fieldObjects))B.push(...ue);const q=this.annotationStorage,ce=[];for(const ue of B){const{id:be}=ue;switch(ce.push(be),ue.type){case"text":{const xe=ue.defaultValue||"";q.setValue(be,{value:xe});break}case"checkbox":case"radiobutton":{const xe=ue.defaultValue===ue.exportValues;q.setValue(be,{value:xe});break}case"combobox":case"listbox":{const xe=ue.defaultValue||"";q.setValue(be,{value:xe});break}default:continue}const ve=document.querySelector(`[data-element-id="${be}"]`);if(ve){if(!d.has(ve)){(0,P.warn)(`_bindResetFormAction - element not allowed: ${be}`);continue}}else continue;ve.dispatchEvent(new Event("resetform"))}return this.enableScripting&&((ne=this.linkService.eventBus)==null||ne.dispatch("dispatcheventinsandbox",{source:this,detail:{id:"app",ids:ce,name:"ResetForm"}})),!1}}}Ee=new WeakSet,tt=function(){this.container.setAttribute("data-internal-link","")},A=new WeakSet,Ui=function(u,S){u.href=this.linkService.getAnchorUrl(""),u.onclick=()=>(this.linkService.executeSetOCGState(S),!1),Z(this,Ee,tt).call(this)};class h extends y{constructor(i){var S,R,L;const u=!!(i.data.hasPopup||(S=i.data.titleObj)!=null&&S.str||(R=i.data.contentsObj)!=null&&R.str||(L=i.data.richText)!=null&&L.str);super(i,{isRenderable:u})}render(){this.container.classList.add("textAnnotation");const i=document.createElement("img");return i.src=this.imageResourcesPath+"annotation-"+this.data.name.toLowerCase()+".svg",i.alt="[{{type}} Annotation]",i.dataset.l10nId="text_annotation_type",i.dataset.l10nArgs=JSON.stringify({type:this.data.name}),this.data.hasPopup||this._createPopup(i,this.data),this.container.append(i),this.container}}class a extends y{render(){return this.data.alternativeText&&(this.container.title=this.data.alternativeText),this.container}showElementAndHideCanvas(i){var u;this.data.hasOwnCanvas&&(((u=i.previousSibling)==null?void 0:u.nodeName)==="CANVAS"&&(i.previousSibling.hidden=!0),i.hidden=!1)}_getKeyModifier(i){const{isWin:u,isMac:S}=P.FeatureTest.platform;return u&&i.ctrlKey||S&&i.metaKey}_setEventListener(i,u,S,R){u.includes("mouse")?i.addEventListener(u,L=>{var W;(W=this.linkService.eventBus)==null||W.dispatch("dispatcheventinsandbox",{source:this,detail:{id:this.data.id,name:S,value:R(L),shift:L.shiftKey,modifier:this._getKeyModifier(L)}})}):i.addEventListener(u,L=>{var W;(W=this.linkService.eventBus)==null||W.dispatch("dispatcheventinsandbox",{source:this,detail:{id:this.data.id,name:S,value:R(L)}})})}_setEventListeners(i,u,S){var R;for(const[L,W]of u)(W==="Action"||(R=this.data.actions)!=null&&R[W])&&this._setEventListener(i,L,W,S)}_setBackgroundColor(i){const u=this.data.backgroundColor||null;i.style.backgroundColor=u===null?"transparent":P.Util.makeHexColor(u[0],u[1],u[2])}_setTextStyle(i){const u=["left","center","right"],{fontColor:S}=this.data.defaultAppearanceData,R=this.data.defaultAppearanceData.fontSize||b,L=i.style;let W;const me=2,B=q=>Math.round(10*q)/10;if(this.data.multiLine){const q=Math.abs(this.data.rect[3]-this.data.rect[1]-me),ce=Math.round(q/(P.LINE_FACTOR*R))||1,ne=q/ce;W=Math.min(R,B(ne/P.LINE_FACTOR))}else{const q=Math.abs(this.data.rect[3]-this.data.rect[1]-me);W=Math.min(R,B(q/P.LINE_FACTOR))}L.fontSize=`calc(${W}px * var(--scale-factor))`,L.color=P.Util.makeHexColor(S[0],S[1],S[2]),this.data.textAlignment!==null&&(L.textAlign=u[this.data.textAlignment])}_setRequired(i,u){u?i.setAttribute("required",!0):i.removeAttribute("required"),i.setAttribute("aria-required",u)}}class g extends a{constructor(i){const u=i.renderForms||!i.data.hasAppearance&&!!i.data.fieldValue;super(i,{isRenderable:u})}setPropertyOnSiblings(i,u,S,R){const L=this.annotationStorage;for(const W of this._getElementsByName(i.name,i.id))W.domElement&&(W.domElement[u]=S),L.setValue(W.id,{[R]:S})}render(){var R;const i=this.annotationStorage,u=this.data.id;this.container.classList.add("textWidgetAnnotation");let S=null;if(this.renderForms){const L=i.getValue(u,{value:this.data.fieldValue});let W=L.formattedValue||L.value||"";const me=i.getValue(u,{charLimit:this.data.maxLen}).charLimit;me&&W.length>me&&(W=W.slice(0,me));const B={userValue:W,formattedValue:null,lastCommittedValue:null,commitKey:1};this.data.multiLine?(S=document.createElement("textarea"),S.textContent=W,this.data.doNotScroll&&(S.style.overflowY="hidden")):(S=document.createElement("input"),S.type="text",S.setAttribute("value",W),this.data.doNotScroll&&(S.style.overflowX="hidden")),this.data.hasOwnCanvas&&(S.hidden=!0),d.add(S),S.setAttribute("data-element-id",u),S.disabled=this.data.readOnly,S.name=this.data.fieldName,S.tabIndex=N,this._setRequired(S,this.data.required),me&&(S.maxLength=me),S.addEventListener("input",ce=>{i.setValue(u,{value:ce.target.value}),this.setPropertyOnSiblings(S,"value",ce.target.value,"value")}),S.addEventListener("resetform",ce=>{const ne=this.data.defaultFieldValue??"";S.value=B.userValue=ne,B.formattedValue=null});let q=ce=>{const{formattedValue:ne}=B;ne!=null&&(ce.target.value=ne),ce.target.scrollLeft=0};if(this.enableScripting&&this.hasJSActions){S.addEventListener("focus",ne=>{const{target:ue}=ne;B.userValue&&(ue.value=B.userValue),B.lastCommittedValue=ue.value,B.commitKey=1}),S.addEventListener("updatefromsandbox",ne=>{this.showElementAndHideCanvas(ne.target);const ue={value(be){B.userValue=be.detail.value??"",i.setValue(u,{value:B.userValue.toString()}),be.target.value=B.userValue},formattedValue(be){const{formattedValue:ve}=be.detail;B.formattedValue=ve,ve!=null&&be.target!==document.activeElement&&(be.target.value=ve),i.setValue(u,{formattedValue:ve})},selRange(be){be.target.setSelectionRange(...be.detail.selRange)},charLimit:be=>{var Re;const{charLimit:ve}=be.detail,{target:xe}=be;if(ve===0){xe.removeAttribute("maxLength");return}xe.setAttribute("maxLength",ve);let Pe=B.userValue;!Pe||Pe.length<=ve||(Pe=Pe.slice(0,ve),xe.value=B.userValue=Pe,i.setValue(u,{value:Pe}),(Re=this.linkService.eventBus)==null||Re.dispatch("dispatcheventinsandbox",{source:this,detail:{id:u,name:"Keystroke",value:Pe,willCommit:!0,commitKey:1,selStart:xe.selectionStart,selEnd:xe.selectionEnd}}))}};this._dispatchEventFromSandbox(ue,ne)}),S.addEventListener("keydown",ne=>{var ve;B.commitKey=1;let ue=-1;if(ne.key==="Escape"?ue=0:ne.key==="Enter"&&!this.data.multiLine?ue=2:ne.key==="Tab"&&(B.commitKey=3),ue===-1)return;const{value:be}=ne.target;B.lastCommittedValue!==be&&(B.lastCommittedValue=be,B.userValue=be,(ve=this.linkService.eventBus)==null||ve.dispatch("dispatcheventinsandbox",{source:this,detail:{id:u,name:"Keystroke",value:be,willCommit:!0,commitKey:ue,selStart:ne.target.selectionStart,selEnd:ne.target.selectionEnd}}))});const ce=q;q=null,S.addEventListener("blur",ne=>{var be;if(!ne.relatedTarget)return;const{value:ue}=ne.target;B.userValue=ue,B.lastCommittedValue!==ue&&((be=this.linkService.eventBus)==null||be.dispatch("dispatcheventinsandbox",{source:this,detail:{id:u,name:"Keystroke",value:ue,willCommit:!0,commitKey:B.commitKey,selStart:ne.target.selectionStart,selEnd:ne.target.selectionEnd}})),ce(ne)}),(R=this.data.actions)!=null&&R.Keystroke&&S.addEventListener("beforeinput",ne=>{var we;B.lastCommittedValue=null;const{data:ue,target:be}=ne,{value:ve,selectionStart:xe,selectionEnd:Pe}=be;let Re=xe,oe=Pe;switch(ne.inputType){case"deleteWordBackward":{const Me=ve.substring(0,xe).match(/\w*[^\w]*$/);Me&&(Re-=Me[0].length);break}case"deleteWordForward":{const Me=ve.substring(xe).match(/^[^\w]*\w*/);Me&&(oe+=Me[0].length);break}case"deleteContentBackward":xe===Pe&&(Re-=1);break;case"deleteContentForward":xe===Pe&&(oe+=1);break}ne.preventDefault(),(we=this.linkService.eventBus)==null||we.dispatch("dispatcheventinsandbox",{source:this,detail:{id:u,name:"Keystroke",value:ve,change:ue||"",willCommit:!1,selStart:Re,selEnd:oe}})}),this._setEventListeners(S,[["focus","Focus"],["blur","Blur"],["mousedown","Mouse Down"],["mouseenter","Mouse Enter"],["mouseleave","Mouse Exit"],["mouseup","Mouse Up"]],ne=>ne.target.value)}if(q&&S.addEventListener("blur",q),this.data.comb){const ne=(this.data.rect[2]-this.data.rect[0])/me;S.classList.add("comb"),S.style.letterSpacing=`calc(${ne}px * var(--scale-factor) - 1ch)`}}else S=document.createElement("div"),S.textContent=this.data.fieldValue,S.style.verticalAlign="middle",S.style.display="table-cell";return this._setTextStyle(S),this._setBackgroundColor(S),this._setDefaultPropertiesFromJS(S),this.container.append(S),this.container}}class _ extends a{constructor(i){super(i,{isRenderable:i.renderForms})}render(){const i=this.annotationStorage,u=this.data,S=u.id;let R=i.getValue(S,{value:u.exportValue===u.fieldValue}).value;typeof R=="string"&&(R=R!=="Off",i.setValue(S,{value:R})),this.container.classList.add("buttonWidgetAnnotation","checkBox");const L=document.createElement("input");return d.add(L),L.setAttribute("data-element-id",S),L.disabled=u.readOnly,this._setRequired(L,this.data.required),L.type="checkbox",L.name=u.fieldName,R&&L.setAttribute("checked",!0),L.setAttribute("exportValue",u.exportValue),L.tabIndex=N,L.addEventListener("change",W=>{const{name:me,checked:B}=W.target;for(const q of this._getElementsByName(me,S)){const ce=B&&q.exportValue===u.exportValue;q.domElement&&(q.domElement.checked=ce),i.setValue(q.id,{value:ce})}i.setValue(S,{value:B})}),L.addEventListener("resetform",W=>{const me=u.defaultFieldValue||"Off";W.target.checked=me===u.exportValue}),this.enableScripting&&this.hasJSActions&&(L.addEventListener("updatefromsandbox",W=>{const me={value(B){B.target.checked=B.detail.value!=="Off",i.setValue(S,{value:B.target.checked})}};this._dispatchEventFromSandbox(me,W)}),this._setEventListeners(L,[["change","Validate"],["change","Action"],["focus","Focus"],["blur","Blur"],["mousedown","Mouse Down"],["mouseenter","Mouse Enter"],["mouseleave","Mouse Exit"],["mouseup","Mouse Up"]],W=>W.target.checked)),this._setBackgroundColor(L),this._setDefaultPropertiesFromJS(L),this.container.append(L),this.container}}class v extends a{constructor(i){super(i,{isRenderable:i.renderForms})}render(){this.container.classList.add("buttonWidgetAnnotation","radioButton");const i=this.annotationStorage,u=this.data,S=u.id;let R=i.getValue(S,{value:u.fieldValue===u.buttonValue}).value;typeof R=="string"&&(R=R!==u.buttonValue,i.setValue(S,{value:R}));const L=document.createElement("input");if(d.add(L),L.setAttribute("data-element-id",S),L.disabled=u.readOnly,this._setRequired(L,this.data.required),L.type="radio",L.name=u.fieldName,R&&L.setAttribute("checked",!0),L.tabIndex=N,L.addEventListener("change",W=>{const{name:me,checked:B}=W.target;for(const q of this._getElementsByName(me,S))i.setValue(q.id,{value:!1});i.setValue(S,{value:B})}),L.addEventListener("resetform",W=>{const me=u.defaultFieldValue;W.target.checked=me!=null&&me===u.buttonValue}),this.enableScripting&&this.hasJSActions){const W=u.buttonValue;L.addEventListener("updatefromsandbox",me=>{const B={value:q=>{const ce=W===q.detail.value;for(const ne of this._getElementsByName(q.target.name)){const ue=ce&&ne.id===S;ne.domElement&&(ne.domElement.checked=ue),i.setValue(ne.id,{value:ue})}}};this._dispatchEventFromSandbox(B,me)}),this._setEventListeners(L,[["change","Validate"],["change","Action"],["focus","Focus"],["blur","Blur"],["mousedown","Mouse Down"],["mouseenter","Mouse Enter"],["mouseleave","Mouse Exit"],["mouseup","Mouse Up"]],me=>me.target.checked)}return this._setBackgroundColor(L),this._setDefaultPropertiesFromJS(L),this.container.append(L),this.container}}class p extends r{constructor(i){super(i,{ignoreBorder:i.data.hasAppearance})}render(){const i=super.render();i.classList.add("buttonWidgetAnnotation","pushButton"),this.data.alternativeText&&(i.title=this.data.alternativeText);const u=i.lastChild;return this.enableScripting&&this.hasJSActions&&u&&(this._setDefaultPropertiesFromJS(u),u.addEventListener("updatefromsandbox",S=>{this._dispatchEventFromSandbox({},S)})),i}}class t extends a{constructor(i){super(i,{isRenderable:i.renderForms})}render(){this.container.classList.add("choiceWidgetAnnotation");const i=this.annotationStorage,u=this.data.id,S=i.getValue(u,{value:this.data.fieldValue}),R=document.createElement("select");d.add(R),R.setAttribute("data-element-id",u),R.disabled=this.data.readOnly,this._setRequired(R,this.data.required),R.name=this.data.fieldName,R.tabIndex=N;let L=this.data.combo&&this.data.options.length>0;this.data.combo||(R.size=this.data.options.length,this.data.multiSelect&&(R.multiple=!0)),R.addEventListener("resetform",ce=>{const ne=this.data.defaultFieldValue;for(const ue of R.options)ue.selected=ue.value===ne});for(const ce of this.data.options){const ne=document.createElement("option");ne.textContent=ce.displayValue,ne.value=ce.exportValue,S.value.includes(ce.exportValue)&&(ne.setAttribute("selected",!0),L=!1),R.append(ne)}let W=null;if(L){const ce=document.createElement("option");ce.value=" ",ce.setAttribute("hidden",!0),ce.setAttribute("selected",!0),R.prepend(ce),W=()=>{ce.remove(),R.removeEventListener("input",W),W=null},R.addEventListener("input",W)}const me=ce=>{const ne=ce?"value":"textContent",{options:ue,multiple:be}=R;return be?Array.prototype.filter.call(ue,ve=>ve.selected).map(ve=>ve[ne]):ue.selectedIndex===-1?null:ue[ue.selectedIndex][ne]};let B=me(!1);const q=ce=>{const ne=ce.target.options;return Array.prototype.map.call(ne,ue=>({displayValue:ue.textContent,exportValue:ue.value}))};return this.enableScripting&&this.hasJSActions?(R.addEventListener("updatefromsandbox",ce=>{const ne={value(ue){W==null||W();const be=ue.detail.value,ve=new Set(Array.isArray(be)?be:[be]);for(const xe of R.options)xe.selected=ve.has(xe.value);i.setValue(u,{value:me(!0)}),B=me(!1)},multipleSelection(ue){R.multiple=!0},remove(ue){const be=R.options,ve=ue.detail.remove;be[ve].selected=!1,R.remove(ve),be.length>0&&Array.prototype.findIndex.call(be,Pe=>Pe.selected)===-1&&(be[0].selected=!0),i.setValue(u,{value:me(!0),items:q(ue)}),B=me(!1)},clear(ue){for(;R.length!==0;)R.remove(0);i.setValue(u,{value:null,items:[]}),B=me(!1)},insert(ue){const{index:be,displayValue:ve,exportValue:xe}=ue.detail.insert,Pe=R.children[be],Re=document.createElement("option");Re.textContent=ve,Re.value=xe,Pe?Pe.before(Re):R.append(Re),i.setValue(u,{value:me(!0),items:q(ue)}),B=me(!1)},items(ue){const{items:be}=ue.detail;for(;R.length!==0;)R.remove(0);for(const ve of be){const{displayValue:xe,exportValue:Pe}=ve,Re=document.createElement("option");Re.textContent=xe,Re.value=Pe,R.append(Re)}R.options.length>0&&(R.options[0].selected=!0),i.setValue(u,{value:me(!0),items:q(ue)}),B=me(!1)},indices(ue){const be=new Set(ue.detail.indices);for(const ve of ue.target.options)ve.selected=be.has(ve.index);i.setValue(u,{value:me(!0)}),B=me(!1)},editable(ue){ue.target.disabled=!ue.detail.editable}};this._dispatchEventFromSandbox(ne,ce)}),R.addEventListener("input",ce=>{var ue;const ne=me(!0);i.setValue(u,{value:ne}),ce.preventDefault(),(ue=this.linkService.eventBus)==null||ue.dispatch("dispatcheventinsandbox",{source:this,detail:{id:u,name:"Keystroke",value:B,changeEx:ne,willCommit:!1,commitKey:1,keyDown:!1}})}),this._setEventListeners(R,[["focus","Focus"],["blur","Blur"],["mousedown","Mouse Down"],["mouseenter","Mouse Enter"],["mouseleave","Mouse Exit"],["mouseup","Mouse Up"],["input","Action"],["input","Validate"]],ce=>ce.target.value)):R.addEventListener("input",function(ce){i.setValue(u,{value:me(!0)})}),this.data.combo&&this._setTextStyle(R),this._setBackgroundColor(R),this._setDefaultPropertiesFromJS(R),this.container.append(R),this.container}}const F=class extends y{constructor(i){var R,L,W;const{data:u}=i,S=!F.IGNORE_TYPES.has(u.parentType)&&!!((R=u.titleObj)!=null&&R.str||(L=u.contentsObj)!=null&&L.str||(W=u.richText)!=null&&W.str);super(i,{isRenderable:S})}render(){this.container.classList.add("popupAnnotation");const i=this.layer.querySelectorAll(`[data-annotation-id="${this.data.parentId}"]`);if(i.length===0)return this.container;const u=new s({container:this.container,trigger:Array.from(i),color:this.data.color,titleObj:this.data.titleObj,modificationDate:this.data.modificationDate,contentsObj:this.data.contentsObj,richText:this.data.richText}),S=this.page,R=P.Util.normalizeRect([this.data.parentRect[0],S.view[3]-this.data.parentRect[1]+S.view[1],this.data.parentRect[2],S.view[3]-this.data.parentRect[3]+S.view[1]]),L=R[0]+this.data.parentRect[2]-this.data.parentRect[0],W=R[1],{pageWidth:me,pageHeight:B,pageX:q,pageY:ce}=this.viewport.rawDims;return this.container.style.left=`${100*(L-q)/me}%`,this.container.style.top=`${100*(W-ce)/B}%`,this.container.append(u.render()),this.container}};let e=F;je(e,"IGNORE_TYPES",new Set(["Line","Square","Circle","PolyLine","Polygon","Ink"]));class s{constructor(i){this.container=i.container,this.trigger=i.trigger,this.color=i.color,this.titleObj=i.titleObj,this.modificationDate=i.modificationDate,this.contentsObj=i.contentsObj,this.richText=i.richText,this.hideWrapper=i.hideWrapper||!1,this.pinned=!1}render(){var me,B;const u=document.createElement("div");u.classList.add("popupWrapper"),this.hideElement=this.hideWrapper?u:this.container,this.hideElement.hidden=!0;const S=document.createElement("div");S.classList.add("popup");const R=this.color;if(R){const q=.7*(255-R[0])+R[0],ce=.7*(255-R[1])+R[1],ne=.7*(255-R[2])+R[2];S.style.backgroundColor=P.Util.makeHexColor(q|0,ce|0,ne|0)}const L=document.createElement("h1");L.dir=this.titleObj.dir,L.textContent=this.titleObj.str,S.append(L);const W=O.PDFDateString.toDateObject(this.modificationDate);if(W){const q=document.createElement("span");q.classList.add("popupDate"),q.textContent="{{date}}, {{time}}",q.dataset.l10nId="annotation_date_string",q.dataset.l10nArgs=JSON.stringify({date:W.toLocaleDateString(),time:W.toLocaleTimeString()}),S.append(q)}if((me=this.richText)!=null&&me.str&&(!((B=this.contentsObj)!=null&&B.str)||this.contentsObj.str===this.richText.str))D.XfaLayer.render({xfaHtml:this.richText.html,intent:"richText",div:S}),S.lastChild.classList.add("richText","popupContent");else{const q=this._formatContents(this.contentsObj);S.append(q)}Array.isArray(this.trigger)||(this.trigger=[this.trigger]);for(const q of this.trigger)q.addEventListener("click",this._toggle.bind(this)),q.addEventListener("mouseover",this._show.bind(this,!1)),q.addEventListener("mouseout",this._hide.bind(this,!1));return S.addEventListener("click",this._hide.bind(this,!0)),u.append(S),u}_formatContents({str:i,dir:u}){const S=document.createElement("p");S.classList.add("popupContent"),S.dir=u;const R=i.split(/(?:\r\n?|\n)/);for(let L=0,W=R.length;L{Object.defineProperty(o,"__esModule",{value:!0}),o.ColorConverters=void 0;function X(O){return Math.floor(Math.max(0,Math.min(1,O))*255).toString(16).padStart(2,"0")}class P{static CMYK_G([pe,G,D,N]){return["G",1-Math.min(1,.3*pe+.59*D+.11*G+N)]}static G_CMYK([pe]){return["CMYK",0,0,0,1-pe]}static G_RGB([pe]){return["RGB",pe,pe,pe]}static G_HTML([pe]){const G=X(pe);return`#${G}${G}${G}`}static RGB_G([pe,G,D]){return["G",.3*pe+.59*G+.11*D]}static RGB_HTML([pe,G,D]){const N=X(pe),b=X(G),d=X(D);return`#${N}${b}${d}`}static T_HTML(){return"#00000000"}static CMYK_RGB([pe,G,D,N]){return["RGB",1-Math.min(1,pe+N),1-Math.min(1,D+N),1-Math.min(1,G+N)]}static CMYK_HTML(pe){const G=this.CMYK_RGB(pe).slice(1);return this.RGB_HTML(G)}static RGB_CMYK([pe,G,D]){const N=1-pe,b=1-G,d=1-D,k=Math.min(N,b,d);return["CMYK",N,b,d,k]}}o.ColorConverters=P},(x,o,X)=>{Object.defineProperty(o,"__esModule",{value:!0}),o.XfaLayer=void 0;var P=X(19);class O{static setupStorage(G,D,N,b,d){const k=b.getValue(D,{value:null});switch(N.name){case"textarea":if(k.value!==null&&(G.textContent=k.value),d==="print")break;G.addEventListener("input",w=>{b.setValue(D,{value:w.target.value})});break;case"input":if(N.attributes.type==="radio"||N.attributes.type==="checkbox"){if(k.value===N.attributes.xfaOn?G.setAttribute("checked",!0):k.value===N.attributes.xfaOff&&G.removeAttribute("checked"),d==="print")break;G.addEventListener("change",w=>{b.setValue(D,{value:w.target.checked?w.target.getAttribute("xfaOn"):w.target.getAttribute("xfaOff")})})}else{if(k.value!==null&&G.setAttribute("value",k.value),d==="print")break;G.addEventListener("input",w=>{b.setValue(D,{value:w.target.value})})}break;case"select":if(k.value!==null)for(const w of N.children)w.attributes.value===k.value&&(w.attributes.selected=!0);G.addEventListener("input",w=>{const y=w.target.options,r=y.selectedIndex===-1?"":y[y.selectedIndex].value;b.setValue(D,{value:r})});break}}static setAttributes({html:G,element:D,storage:N=null,intent:b,linkService:d}){const{attributes:k}=D,w=G instanceof HTMLAnchorElement;k.type==="radio"&&(k.name=`${k.name}-${b}`);for(const[y,r]of Object.entries(k))if(r!=null)switch(y){case"class":r.length&&G.setAttribute(y,r.join(" "));break;case"dataId":break;case"id":G.setAttribute("data-element-id",r);break;case"style":Object.assign(G.style,r);break;case"textContent":G.textContent=r;break;default:(!w||y!=="href"&&y!=="newWindow")&&G.setAttribute(y,r)}w&&d.addLinkAttributes(G,k.href,k.newWindow),N&&k.dataId&&this.setupStorage(G,k.dataId,D,N)}static render(G){var h;const D=G.annotationStorage,N=G.linkService,b=G.xfaHtml,d=G.intent||"display",k=document.createElement(b.name);b.attributes&&this.setAttributes({html:k,element:b,intent:d,linkService:N});const w=[[b,-1,k]],y=G.div;if(y.append(k),G.viewport){const a=`matrix(${G.viewport.transform.join(",")})`;y.style.transform=a}d!=="richText"&&y.setAttribute("class","xfaLayer xfaFont");const r=[];for(;w.length>0;){const[a,g,_]=w.at(-1);if(g+1===a.children.length){w.pop();continue}const v=a.children[++w.at(-1)[1]];if(v===null)continue;const{name:p}=v;if(p==="#text"){const e=document.createTextNode(v.value);r.push(e),_.append(e);continue}let t;if((h=v==null?void 0:v.attributes)!=null&&h.xmlns?t=document.createElementNS(v.attributes.xmlns,p):t=document.createElement(p),_.append(t),v.attributes&&this.setAttributes({html:t,element:v,storage:D,intent:d,linkService:N}),v.children&&v.children.length>0)w.push([v,-1,t]);else if(v.value){const e=document.createTextNode(v.value);P.XfaText.shouldBuildText(p)&&r.push(e),t.append(e)}}for(const a of y.querySelectorAll(".xfaNonInteractive input, .xfaNonInteractive textarea"))a.setAttribute("readOnly",!0);return{textDivs:r}}static update(G){const D=`matrix(${G.viewport.transform.join(",")})`;G.div.style.transform=D,G.div.hidden=!1}}o.XfaLayer=O},(x,o,X)=>{Object.defineProperty(o,"__esModule",{value:!0}),o.SVGGraphics=void 0;var P=X(6),O=X(1),pe=X(10);let G=class{constructor(){(0,O.unreachable)("Not implemented: SVGGraphics")}};o.SVGGraphics=G;{let h=function(t){let e=[];const s=[];for(const n of t){if(n.fn==="save"){e.push({fnId:92,fn:"group",items:[]}),s.push(e),e=e.at(-1).items;continue}n.fn==="restore"?e=s.pop():e.push(n)}return e},a=function(t){if(Number.isInteger(t))return t.toString();const e=t.toFixed(10);let s=e.length-1;if(e[s]!=="0")return e;do s--;while(e[s]==="0");return e.substring(0,e[s]==="."?s:s+1)},g=function(t){if(t[4]===0&&t[5]===0){if(t[1]===0&&t[2]===0)return t[0]===1&&t[3]===1?"":`scale(${a(t[0])} ${a(t[3])})`;if(t[0]===t[3]&&t[1]===-t[2]){const e=Math.acos(t[0])*180/Math.PI;return`rotate(${a(e)})`}}else if(t[0]===1&&t[1]===0&&t[2]===0&&t[3]===1)return`translate(${a(t[4])} ${a(t[5])})`;return`matrix(${a(t[0])} ${a(t[1])} ${a(t[2])} ${a(t[3])} ${a(t[4])} ${a(t[5])})`};const D={fontStyle:"normal",fontWeight:"normal",fillColor:"#000000"},N="http://www.w3.org/XML/1998/namespace",b="http://www.w3.org/1999/xlink",d=["butt","round","square"],k=["miter","round","bevel"],w=function(t,e="",s=!1){if(URL.createObjectURL&&typeof Blob<"u"&&!s)return URL.createObjectURL(new Blob([t],{type:e}));const n="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";let f=`data:${e};base64,`;for(let T=0,l=t.length;T>2,ee=(I&3)<<4|K>>4,ae=T+1>6:64,te=T+2>1&2147483647:H=H>>1&2147483647;s[le]=H}function n(le,H,ee){let ae=-1;for(let te=H;te>>8^ye}return ae^-1}function f(le,H,ee,ae){let te=ae;const ge=H.length;ee[te]=ge>>24&255,ee[te+1]=ge>>16&255,ee[te+2]=ge>>8&255,ee[te+3]=ge&255,te+=4,ee[te]=le.charCodeAt(0)&255,ee[te+1]=le.charCodeAt(1)&255,ee[te+2]=le.charCodeAt(2)&255,ee[te+3]=le.charCodeAt(3)&255,te+=4,ee.set(H,te),te+=H.length;const ye=n(ee,ae+4,te);ee[te]=ye>>24&255,ee[te+1]=ye>>16&255,ee[te+2]=ye>>8&255,ee[te+3]=ye&255}function T(le,H,ee){let ae=1,te=0;for(let ge=H;ge=8?H=le:H=Buffer.from(le);const ee=require$$5.deflateSync(H,{level:9});return ee instanceof Uint8Array?ee:new Uint8Array(ee)}catch(H){(0,O.warn)("Not compressing PNG because zlib.deflateSync is unavailable: "+H)}return I(le)}function I(le){let H=le.length;const ee=65535,ae=Math.ceil(H/ee),te=new Uint8Array(2+H+ae*5+4);let ge=0;te[ge++]=120,te[ge++]=156;let ye=0;for(;H>ee;)te[ge++]=0,te[ge++]=255,te[ge++]=255,te[ge++]=0,te[ge++]=0,te.set(le.subarray(ye,ye+ee),ge),ge+=ee,ye+=ee,H-=ee;te[ge++]=1,te[ge++]=H&255,te[ge++]=H>>8&255,te[ge++]=~H&65535&255,te[ge++]=(~H&65535)>>8&255,te.set(le.subarray(ye),ge),ge+=le.length-ye;const Q=T(le,0,le.length);return te[ge++]=Q>>24&255,te[ge++]=Q>>16&255,te[ge++]=Q>>8&255,te[ge++]=Q&255,te}function K(le,H,ee,ae){const te=le.width,ge=le.height;let ye,Q,Ce;const Ee=le.data;switch(H){case O.ImageKind.GRAYSCALE_1BPP:Q=0,ye=1,Ce=te+7>>3;break;case O.ImageKind.RGB_24BPP:Q=2,ye=8,Ce=te*3;break;case O.ImageKind.RGBA_32BPP:Q=6,ye=8,Ce=te*4;break;default:throw new Error("invalid format")}const J=new Uint8Array((1+Ce)*ge);let A=0,C=0;for(let V=0;V>24&255,te>>16&255,te>>8&255,te&255,ge>>24&255,ge>>16&255,ge>>8&255,ge&255,ye,Q,0,0,0]),Y=l(J),j=t.length+e*3+F.length+Y.length,se=new Uint8Array(j);let U=0;return se.set(t,U),U+=t.length,f("IHDR",F,se,U),U+=e+F.length,f("IDATA",Y,se,U),U+=e+Y.length,f("IEND",new Uint8Array(0),se,U),w(se,"image/png",ee)}return function(H,ee,ae){const te=H.kind===void 0?O.ImageKind.GRAYSCALE_1BPP:H.kind;return K(H,te,ee,ae)}}();class r{constructor(){this.fontSizeScale=1,this.fontWeight=D.fontWeight,this.fontSize=0,this.textMatrix=O.IDENTITY_MATRIX,this.fontMatrix=O.FONT_IDENTITY_MATRIX,this.leading=0,this.textRenderingMode=O.TextRenderingMode.FILL,this.textMatrixScale=1,this.x=0,this.y=0,this.lineX=0,this.lineY=0,this.charSpacing=0,this.wordSpacing=0,this.textHScale=1,this.textRise=0,this.fillColor=D.fillColor,this.strokeColor="#000000",this.fillAlpha=1,this.strokeAlpha=1,this.lineWidth=1,this.lineJoin="",this.lineCap="",this.miterLimit=0,this.dashArray=[],this.dashPhase=0,this.dependencies=[],this.activeClipUrl=null,this.clipGroup=null,this.maskId=""}clone(){return Object.create(this)}setCurrentPoint(e,s){this.x=e,this.y=s}}let _=0,v=0,p=0;o.SVGGraphics=G=class{constructor(t,e,s=!1){(0,P.deprecated)("The SVG back-end is no longer maintained and *may* be removed in the future."),this.svgFactory=new P.DOMSVGFactory,this.current=new r,this.transformMatrix=O.IDENTITY_MATRIX,this.transformStack=[],this.extraStack=[],this.commonObjs=t,this.objs=e,this.pendingClip=null,this.pendingEOFill=!1,this.embedFonts=!1,this.embeddedFonts=Object.create(null),this.cssStyle=null,this.forceDataSchema=!!s,this._operatorIdMapping=[];for(const n in O.OPS)this._operatorIdMapping[O.OPS[n]]=n}getObject(t,e=null){return typeof t=="string"?t.startsWith("g_")?this.commonObjs.get(t):this.objs.get(t):e}save(){this.transformStack.push(this.transformMatrix);const t=this.current;this.extraStack.push(t),this.current=t.clone()}restore(){this.transformMatrix=this.transformStack.pop(),this.current=this.extraStack.pop(),this.pendingClip=null,this.tgrp=null}group(t){this.save(),this.executeOpTree(t),this.restore()}loadDependencies(t){const e=t.fnArray,s=t.argsArray;for(let n=0,f=e.length;n{l.get(T,K)});this.current.dependencies.push(I)}return Promise.all(this.current.dependencies)}transform(t,e,s,n,f,T){const l=[t,e,s,n,f,T];this.transformMatrix=O.Util.transform(this.transformMatrix,l),this.tgrp=null}getSVG(t,e){this.viewport=e;const s=this._initialize(e);return this.loadDependencies(t).then(()=>(this.transformMatrix=O.IDENTITY_MATRIX,this.executeOpTree(this.convertOpList(t)),s))}convertOpList(t){const e=this._operatorIdMapping,s=t.argsArray,n=t.fnArray,f=[];for(let T=0,l=n.length;T0&&(this.current.lineWidth=t)}setLineCap(t){this.current.lineCap=d[t]}setLineJoin(t){this.current.lineJoin=k[t]}setMiterLimit(t){this.current.miterLimit=t}setStrokeAlpha(t){this.current.strokeAlpha=t}setStrokeRGBColor(t,e,s){this.current.strokeColor=O.Util.makeHexColor(t,e,s)}setFillAlpha(t){this.current.fillAlpha=t}setFillRGBColor(t,e,s){this.current.fillColor=O.Util.makeHexColor(t,e,s),this.current.tspan=this.svgFactory.createElement("svg:tspan"),this.current.xcoords=[],this.current.ycoords=[]}setStrokeColorN(t){this.current.strokeColor=this._makeColorN_Pattern(t)}setFillColorN(t){this.current.fillColor=this._makeColorN_Pattern(t)}shadingFill(t){const e=this.viewport.width,s=this.viewport.height,n=O.Util.inverseTransform(this.transformMatrix),f=O.Util.applyTransform([0,0],n),T=O.Util.applyTransform([0,s],n),l=O.Util.applyTransform([e,0],n),I=O.Util.applyTransform([e,s],n),K=Math.min(f[0],T[0],l[0],I[0]),le=Math.min(f[1],T[1],l[1],I[1]),H=Math.max(f[0],T[0],l[0],I[0]),ee=Math.max(f[1],T[1],l[1],I[1]),ae=this.svgFactory.createElement("svg:rect");ae.setAttributeNS(null,"x",K),ae.setAttributeNS(null,"y",le),ae.setAttributeNS(null,"width",H-K),ae.setAttributeNS(null,"height",ee-le),ae.setAttributeNS(null,"fill",this._makeShadingPattern(t)),this.current.fillAlpha<1&&ae.setAttributeNS(null,"fill-opacity",this.current.fillAlpha),this._ensureTransformGroup().append(ae)}_makeColorN_Pattern(t){return t[0]==="TilingPattern"?this._makeTilingPattern(t):this._makeShadingPattern(t)}_makeTilingPattern(t){const e=t[1],s=t[2],n=t[3]||O.IDENTITY_MATRIX,[f,T,l,I]=t[4],K=t[5],le=t[6],H=t[7],ee=`shading${p++}`,[ae,te,ge,ye]=O.Util.normalizeRect([...O.Util.applyTransform([f,T],n),...O.Util.applyTransform([l,I],n)]),[Q,Ce]=O.Util.singularValueDecompose2dScale(n),Ee=K*Q,J=le*Ce,A=this.svgFactory.createElement("svg:pattern");A.setAttributeNS(null,"id",ee),A.setAttributeNS(null,"patternUnits","userSpaceOnUse"),A.setAttributeNS(null,"width",Ee),A.setAttributeNS(null,"height",J),A.setAttributeNS(null,"x",`${ae}`),A.setAttributeNS(null,"y",`${te}`);const C=this.svg,F=this.transformMatrix,Y=this.current.fillColor,j=this.current.strokeColor,se=this.svgFactory.create(ge-ae,ye-te);if(this.svg=se,this.transformMatrix=n,H===2){const U=O.Util.makeHexColor(...e);this.current.fillColor=U,this.current.strokeColor=U}return this.executeOpTree(this.convertOpList(s)),this.svg=C,this.transformMatrix=F,this.current.fillColor=Y,this.current.strokeColor=j,A.append(se.childNodes[0]),this.defs.append(A),`url(#${ee})`}_makeShadingPattern(t){switch(typeof t=="string"&&(t=this.objs.get(t)),t[0]){case"RadialAxial":const e=`shading${p++}`,s=t[3];let n;switch(t[1]){case"axial":const f=t[4],T=t[5];n=this.svgFactory.createElement("svg:linearGradient"),n.setAttributeNS(null,"id",e),n.setAttributeNS(null,"gradientUnits","userSpaceOnUse"),n.setAttributeNS(null,"x1",f[0]),n.setAttributeNS(null,"y1",f[1]),n.setAttributeNS(null,"x2",T[0]),n.setAttributeNS(null,"y2",T[1]);break;case"radial":const l=t[4],I=t[5],K=t[6],le=t[7];n=this.svgFactory.createElement("svg:radialGradient"),n.setAttributeNS(null,"id",e),n.setAttributeNS(null,"gradientUnits","userSpaceOnUse"),n.setAttributeNS(null,"cx",I[0]),n.setAttributeNS(null,"cy",I[1]),n.setAttributeNS(null,"r",le),n.setAttributeNS(null,"fx",l[0]),n.setAttributeNS(null,"fy",l[1]),n.setAttributeNS(null,"fr",K);break;default:throw new Error(`Unknown RadialAxial type: ${t[1]}`)}for(const f of s){const T=this.svgFactory.createElement("svg:stop");T.setAttributeNS(null,"offset",f[0]),T.setAttributeNS(null,"stop-color",f[1]),n.append(T)}return this.defs.append(n),`url(#${e})`;case"Mesh":return(0,O.warn)("Unimplemented pattern Mesh"),null;case"Dummy":return"hotpink";default:throw new Error(`Unknown IR type: ${t[0]}`)}}setDash(t,e){this.current.dashArray=t,this.current.dashPhase=e}constructPath(t,e){const s=this.current;let n=s.x,f=s.y,T=[],l=0;for(const I of t)switch(I|0){case O.OPS.rectangle:n=e[l++],f=e[l++];const K=e[l++],le=e[l++],H=n+K,ee=f+le;T.push("M",a(n),a(f),"L",a(H),a(f),"L",a(H),a(ee),"L",a(n),a(ee),"Z");break;case O.OPS.moveTo:n=e[l++],f=e[l++],T.push("M",a(n),a(f));break;case O.OPS.lineTo:n=e[l++],f=e[l++],T.push("L",a(n),a(f));break;case O.OPS.curveTo:n=e[l+4],f=e[l+5],T.push("C",a(e[l]),a(e[l+1]),a(e[l+2]),a(e[l+3]),a(n),a(f)),l+=6;break;case O.OPS.curveTo2:T.push("C",a(n),a(f),a(e[l]),a(e[l+1]),a(e[l+2]),a(e[l+3])),n=e[l+2],f=e[l+3],l+=4;break;case O.OPS.curveTo3:n=e[l+2],f=e[l+3],T.push("C",a(e[l]),a(e[l+1]),a(n),a(f),a(n),a(f)),l+=4;break;case O.OPS.closePath:T.push("Z");break}T=T.join(" "),s.path&&t.length>0&&t[0]!==O.OPS.rectangle&&t[0]!==O.OPS.moveTo?T=s.path.getAttributeNS(null,"d")+T:(s.path=this.svgFactory.createElement("svg:path"),this._ensureTransformGroup().append(s.path)),s.path.setAttributeNS(null,"d",T),s.path.setAttributeNS(null,"fill","none"),s.element=s.path,s.setCurrentPoint(n,f)}endPath(){const t=this.current;if(t.path=null,!this.pendingClip)return;if(!t.element){this.pendingClip=null;return}const e=`clippath${_++}`,s=this.svgFactory.createElement("svg:clipPath");s.setAttributeNS(null,"id",e),s.setAttributeNS(null,"transform",g(this.transformMatrix));const n=t.element.cloneNode(!0);if(this.pendingClip==="evenodd"?n.setAttributeNS(null,"clip-rule","evenodd"):n.setAttributeNS(null,"clip-rule","nonzero"),this.pendingClip=null,s.append(n),this.defs.append(s),t.activeClipUrl){t.clipGroup=null;for(const f of this.extraStack)f.clipGroup=null;s.setAttributeNS(null,"clip-path",t.activeClipUrl)}t.activeClipUrl=`url(#${e})`,this.tgrp=null}clip(t){this.pendingClip=t}closePath(){const t=this.current;if(t.path){const e=`${t.path.getAttributeNS(null,"d")}Z`;t.path.setAttributeNS(null,"d",e)}}setLeading(t){this.current.leading=-t}setTextRise(t){this.current.textRise=t}setTextRenderingMode(t){this.current.textRenderingMode=t}setHScale(t){this.current.textHScale=t/100}setRenderingIntent(t){}setFlatness(t){}setGState(t){for(const[e,s]of t)switch(e){case"LW":this.setLineWidth(s);break;case"LC":this.setLineCap(s);break;case"LJ":this.setLineJoin(s);break;case"ML":this.setMiterLimit(s);break;case"D":this.setDash(s[0],s[1]);break;case"RI":this.setRenderingIntent(s);break;case"FL":this.setFlatness(s);break;case"Font":this.setFont(s);break;case"CA":this.setStrokeAlpha(s);break;case"ca":this.setFillAlpha(s);break;default:(0,O.warn)(`Unimplemented graphic state operator ${e}`);break}}fill(){const t=this.current;t.element&&(t.element.setAttributeNS(null,"fill",t.fillColor),t.element.setAttributeNS(null,"fill-opacity",t.fillAlpha),this.endPath())}stroke(){const t=this.current;t.element&&(this._setStrokeAttributes(t.element),t.element.setAttributeNS(null,"fill","none"),this.endPath())}_setStrokeAttributes(t,e=1){const s=this.current;let n=s.dashArray;e!==1&&n.length>0&&(n=n.map(function(f){return e*f})),t.setAttributeNS(null,"stroke",s.strokeColor),t.setAttributeNS(null,"stroke-opacity",s.strokeAlpha),t.setAttributeNS(null,"stroke-miterlimit",a(s.miterLimit)),t.setAttributeNS(null,"stroke-linecap",s.lineCap),t.setAttributeNS(null,"stroke-linejoin",s.lineJoin),t.setAttributeNS(null,"stroke-width",a(e*s.lineWidth)+"px"),t.setAttributeNS(null,"stroke-dasharray",n.map(a).join(" ")),t.setAttributeNS(null,"stroke-dashoffset",a(e*s.dashPhase)+"px")}eoFill(){var t;(t=this.current.element)==null||t.setAttributeNS(null,"fill-rule","evenodd"),this.fill()}fillStroke(){this.stroke(),this.fill()}eoFillStroke(){var t;(t=this.current.element)==null||t.setAttributeNS(null,"fill-rule","evenodd"),this.fillStroke()}closeStroke(){this.closePath(),this.stroke()}closeFillStroke(){this.closePath(),this.fillStroke()}closeEOFillStroke(){this.closePath(),this.eoFillStroke()}paintSolidColorImageMask(){const t=this.svgFactory.createElement("svg:rect");t.setAttributeNS(null,"x","0"),t.setAttributeNS(null,"y","0"),t.setAttributeNS(null,"width","1px"),t.setAttributeNS(null,"height","1px"),t.setAttributeNS(null,"fill",this.current.fillColor),this._ensureTransformGroup().append(t)}paintImageXObject(t){const e=this.getObject(t);if(!e){(0,O.warn)(`Dependent image with object ID ${t} is not ready yet`);return}this.paintInlineImageXObject(e)}paintInlineImageXObject(t,e){const s=t.width,n=t.height,f=y(t,this.forceDataSchema,!!e),T=this.svgFactory.createElement("svg:rect");T.setAttributeNS(null,"x","0"),T.setAttributeNS(null,"y","0"),T.setAttributeNS(null,"width",a(s)),T.setAttributeNS(null,"height",a(n)),this.current.element=T,this.clip("nonzero");const l=this.svgFactory.createElement("svg:image");l.setAttributeNS(b,"xlink:href",f),l.setAttributeNS(null,"x","0"),l.setAttributeNS(null,"y",a(-n)),l.setAttributeNS(null,"width",a(s)+"px"),l.setAttributeNS(null,"height",a(n)+"px"),l.setAttributeNS(null,"transform",`scale(${a(1/s)} ${a(-1/n)})`),e?e.append(l):this._ensureTransformGroup().append(l)}paintImageMaskXObject(t){const e=this.getObject(t.data,t);if(e.bitmap){(0,O.warn)("paintImageMaskXObject: ImageBitmap support is not implemented, ensure that the `isOffscreenCanvasSupported` API parameter is disabled.");return}const s=this.current,n=e.width,f=e.height,T=s.fillColor;s.maskId=`mask${v++}`;const l=this.svgFactory.createElement("svg:mask");l.setAttributeNS(null,"id",s.maskId);const I=this.svgFactory.createElement("svg:rect");I.setAttributeNS(null,"x","0"),I.setAttributeNS(null,"y","0"),I.setAttributeNS(null,"width",a(n)),I.setAttributeNS(null,"height",a(f)),I.setAttributeNS(null,"fill",T),I.setAttributeNS(null,"mask",`url(#${s.maskId})`),this.defs.append(l),this._ensureTransformGroup().append(I),this.paintInlineImageXObject(e,l)}paintFormXObjectBegin(t,e){if(Array.isArray(t)&&t.length===6&&this.transform(t[0],t[1],t[2],t[3],t[4],t[5]),e){const s=e[2]-e[0],n=e[3]-e[1],f=this.svgFactory.createElement("svg:rect");f.setAttributeNS(null,"x",e[0]),f.setAttributeNS(null,"y",e[1]),f.setAttributeNS(null,"width",a(s)),f.setAttributeNS(null,"height",a(n)),this.current.element=f,this.clip("nonzero"),this.endPath()}}paintFormXObjectEnd(){}_initialize(t){const e=this.svgFactory.create(t.width,t.height),s=this.svgFactory.createElement("svg:defs");e.append(s),this.defs=s;const n=this.svgFactory.createElement("svg:g");return n.setAttributeNS(null,"transform",g(t.transform)),e.append(n),this.svg=n,e}_ensureClipGroup(){if(!this.current.clipGroup){const t=this.svgFactory.createElement("svg:g");t.setAttributeNS(null,"clip-path",this.current.activeClipUrl),this.svg.append(t),this.current.clipGroup=t}return this.current.clipGroup}_ensureTransformGroup(){return this.tgrp||(this.tgrp=this.svgFactory.createElement("svg:g"),this.tgrp.setAttributeNS(null,"transform",g(this.transformMatrix)),this.current.activeClipUrl?this._ensureClipGroup().append(this.tgrp):this.svg.append(this.tgrp)),this.tgrp}}}}],__webpack_module_cache__={};function __w_pdfjs_require__(x){var o=__webpack_module_cache__[x];if(o!==void 0)return o.exports;var X=__webpack_module_cache__[x]={exports:{}};return __webpack_modules__[x](X,X.exports,__w_pdfjs_require__),X.exports}var __webpack_exports__={};return(()=>{var x=__webpack_exports__;Object.defineProperty(x,"__esModule",{value:!0}),Object.defineProperty(x,"AbortException",{enumerable:!0,get:function(){return o.AbortException}}),Object.defineProperty(x,"AnnotationEditorLayer",{enumerable:!0,get:function(){return pe.AnnotationEditorLayer}}),Object.defineProperty(x,"AnnotationEditorParamsType",{enumerable:!0,get:function(){return o.AnnotationEditorParamsType}}),Object.defineProperty(x,"AnnotationEditorType",{enumerable:!0,get:function(){return o.AnnotationEditorType}}),Object.defineProperty(x,"AnnotationEditorUIManager",{enumerable:!0,get:function(){return G.AnnotationEditorUIManager}}),Object.defineProperty(x,"AnnotationLayer",{enumerable:!0,get:function(){return D.AnnotationLayer}}),Object.defineProperty(x,"AnnotationMode",{enumerable:!0,get:function(){return o.AnnotationMode}}),Object.defineProperty(x,"CMapCompressionType",{enumerable:!0,get:function(){return o.CMapCompressionType}}),Object.defineProperty(x,"FeatureTest",{enumerable:!0,get:function(){return o.FeatureTest}}),Object.defineProperty(x,"GlobalWorkerOptions",{enumerable:!0,get:function(){return N.GlobalWorkerOptions}}),Object.defineProperty(x,"InvalidPDFException",{enumerable:!0,get:function(){return o.InvalidPDFException}}),Object.defineProperty(x,"MissingPDFException",{enumerable:!0,get:function(){return o.MissingPDFException}}),Object.defineProperty(x,"OPS",{enumerable:!0,get:function(){return o.OPS}}),Object.defineProperty(x,"PDFDataRangeTransport",{enumerable:!0,get:function(){return X.PDFDataRangeTransport}}),Object.defineProperty(x,"PDFDateString",{enumerable:!0,get:function(){return P.PDFDateString}}),Object.defineProperty(x,"PDFWorker",{enumerable:!0,get:function(){return X.PDFWorker}}),Object.defineProperty(x,"PasswordResponses",{enumerable:!0,get:function(){return o.PasswordResponses}}),Object.defineProperty(x,"PermissionFlag",{enumerable:!0,get:function(){return o.PermissionFlag}}),Object.defineProperty(x,"PixelsPerInch",{enumerable:!0,get:function(){return P.PixelsPerInch}}),Object.defineProperty(x,"PromiseCapability",{enumerable:!0,get:function(){return o.PromiseCapability}}),Object.defineProperty(x,"RenderingCancelledException",{enumerable:!0,get:function(){return P.RenderingCancelledException}}),Object.defineProperty(x,"SVGGraphics",{enumerable:!0,get:function(){return b.SVGGraphics}}),Object.defineProperty(x,"UnexpectedResponseException",{enumerable:!0,get:function(){return o.UnexpectedResponseException}}),Object.defineProperty(x,"Util",{enumerable:!0,get:function(){return o.Util}}),Object.defineProperty(x,"VerbosityLevel",{enumerable:!0,get:function(){return o.VerbosityLevel}}),Object.defineProperty(x,"XfaLayer",{enumerable:!0,get:function(){return d.XfaLayer}}),Object.defineProperty(x,"build",{enumerable:!0,get:function(){return X.build}}),Object.defineProperty(x,"createValidAbsoluteUrl",{enumerable:!0,get:function(){return o.createValidAbsoluteUrl}}),Object.defineProperty(x,"getDocument",{enumerable:!0,get:function(){return X.getDocument}}),Object.defineProperty(x,"getFilenameFromUrl",{enumerable:!0,get:function(){return P.getFilenameFromUrl}}),Object.defineProperty(x,"getPdfFilenameFromUrl",{enumerable:!0,get:function(){return P.getPdfFilenameFromUrl}}),Object.defineProperty(x,"getXfaPageViewport",{enumerable:!0,get:function(){return P.getXfaPageViewport}}),Object.defineProperty(x,"isDataScheme",{enumerable:!0,get:function(){return P.isDataScheme}}),Object.defineProperty(x,"isPdfFile",{enumerable:!0,get:function(){return P.isPdfFile}}),Object.defineProperty(x,"loadScript",{enumerable:!0,get:function(){return P.loadScript}}),Object.defineProperty(x,"normalizeUnicode",{enumerable:!0,get:function(){return o.normalizeUnicode}}),Object.defineProperty(x,"renderTextLayer",{enumerable:!0,get:function(){return O.renderTextLayer}}),Object.defineProperty(x,"setLayerDimensions",{enumerable:!0,get:function(){return P.setLayerDimensions}}),Object.defineProperty(x,"shadow",{enumerable:!0,get:function(){return o.shadow}}),Object.defineProperty(x,"updateTextLayer",{enumerable:!0,get:function(){return O.updateTextLayer}}),Object.defineProperty(x,"version",{enumerable:!0,get:function(){return X.version}});var o=__w_pdfjs_require__(1),X=__w_pdfjs_require__(2),P=__w_pdfjs_require__(6),O=__w_pdfjs_require__(26),pe=__w_pdfjs_require__(27),G=__w_pdfjs_require__(5),D=__w_pdfjs_require__(32),N=__w_pdfjs_require__(14),b=__w_pdfjs_require__(35),d=__w_pdfjs_require__(34)})(),__webpack_exports__})())}(pdf)),pdfExports$1}var pdfExports=requirePdf(),pdf_viewerExports={},pdf_viewer$1={get exports(){return pdf_viewerExports},set exports(x){pdf_viewerExports=x}};(function(x,o){(function(P,O){x.exports=O()})(globalThis,()=>(()=>{var X=[,(G,D,N)=>{var h,a,qt,_,ji;Object.defineProperty(D,"__esModule",{value:!0}),D.SimpleLinkService=D.PDFLinkService=D.LinkTarget=void 0;var b=N(2);const d="noopener noreferrer nofollow",k={NONE:0,SELF:1,BLANK:2,PARENT:3,TOP:4};D.LinkTarget=k;function w(t,{url:e,target:s,rel:n,enabled:f=!0}={}){if(!e||typeof e!="string")throw new Error('A valid "url" parameter must provided.');const T=(0,b.removeNullCharacters)(e);f?t.href=t.title=T:(t.href="",t.title=`Disabled: ${T}`,t.onclick=()=>!1);let l="";switch(s){case k.NONE:break;case k.SELF:l="_self";break;case k.BLANK:l="_blank";break;case k.PARENT:l="_parent";break;case k.TOP:l="_top";break}t.target=l,t.rel=typeof n=="string"?n:d}const p=class{constructor({eventBus:e,externalLinkTarget:s=null,externalLinkRel:n=null,ignoreDestinationZoom:f=!1}={}){$(this,a);$(this,h,new Map);this.eventBus=e,this.externalLinkTarget=s,this.externalLinkRel=n,this.externalLinkEnabled=!0,this._ignoreDestinationZoom=f,this.baseUrl=null,this.pdfDocument=null,this.pdfViewer=null,this.pdfHistory=null}setDocument(e,s=null){this.baseUrl=s,this.pdfDocument=e,c(this,h).clear()}setViewer(e){this.pdfViewer=e}setHistory(e){this.pdfHistory=e}get pagesCount(){return this.pdfDocument?this.pdfDocument.numPages:0}get page(){return this.pdfViewer.currentPageNumber}set page(e){this.pdfViewer.currentPageNumber=e}get rotation(){return this.pdfViewer.pagesRotation}set rotation(e){this.pdfViewer.pagesRotation=e}get isInPresentationMode(){return this.pdfViewer.isInPresentationMode}async goToDestination(e){if(!this.pdfDocument)return;let s,n;if(typeof e=="string"?(s=e,n=await this.pdfDocument.getDestination(e)):(s=null,n=await e),!Array.isArray(n)){console.error(`PDFLinkService.goToDestination: "${n}" is not a valid destination array, for dest="${e}".`);return}Z(this,a,qt).call(this,e,s,n)}goToPage(e){if(!this.pdfDocument)return;const s=typeof e=="string"&&this.pdfViewer.pageLabelToPageNumber(e)||e|0;if(!(Number.isInteger(s)&&s>0&&s<=this.pagesCount)){console.error(`PDFLinkService.goToPage: "${e}" is not a valid page.`);return}this.pdfHistory&&(this.pdfHistory.pushCurrentPosition(),this.pdfHistory.pushPage(s)),this.pdfViewer.scrollPageIntoView({pageNumber:s})}addLinkAttributes(e,s,n=!1){w(e,{url:s,target:n?k.BLANK:this.externalLinkTarget,rel:this.externalLinkRel,enabled:this.externalLinkEnabled})}getDestinationHash(e){if(typeof e=="string"){if(e.length>0)return this.getAnchorUrl("#"+escape(e))}else if(Array.isArray(e)){const s=JSON.stringify(e);if(s.length>0)return this.getAnchorUrl("#"+escape(s))}return this.getAnchorUrl("")}getAnchorUrl(e){return this.baseUrl?this.baseUrl+e:e}setHash(e){var f;if(!this.pdfDocument)return;let s,n;if(e.includes("=")){const T=(0,b.parseQueryString)(e);if(T.has("search")){const l=T.get("search").replaceAll('"',""),I=T.get("phrase")==="true";this.eventBus.dispatch("findfromurlhash",{source:this,query:I?l:l.match(/\S+/g)})}if(T.has("page")&&(s=T.get("page")|0||1),T.has("zoom")){const l=T.get("zoom").split(","),I=l[0],K=parseFloat(I);I.includes("Fit")?I==="Fit"||I==="FitB"?n=[null,{name:I}]:I==="FitH"||I==="FitBH"||I==="FitV"||I==="FitBV"?n=[null,{name:I},l.length>1?l[1]|0:null]:I==="FitR"?l.length!==5?console.error('PDFLinkService.setHash: Not enough parameters for "FitR".'):n=[null,{name:I},l[1]|0,l[2]|0,l[3]|0,l[4]|0]:console.error(`PDFLinkService.setHash: "${I}" is not a valid zoom value.`):n=[null,{name:"XYZ"},l.length>1?l[1]|0:null,l.length>2?l[2]|0:null,K?K/100:I]}n?this.pdfViewer.scrollPageIntoView({pageNumber:s||this.page,destArray:n,allowNegativeOffset:!0}):s&&(this.page=s),T.has("pagemode")&&this.eventBus.dispatch("pagemode",{source:this,mode:T.get("pagemode")}),T.has("nameddest")&&this.goToDestination(T.get("nameddest"))}else{n=unescape(e);try{n=JSON.parse(n),Array.isArray(n)||(n=n.toString())}catch{}if(typeof n=="string"||Z(f=p,_,ji).call(f,n)){this.goToDestination(n);return}console.error(`PDFLinkService.setHash: "${unescape(e)}" is not a valid destination.`)}}executeNamedAction(e){var s,n;switch(e){case"GoBack":(s=this.pdfHistory)==null||s.back();break;case"GoForward":(n=this.pdfHistory)==null||n.forward();break;case"NextPage":this.pdfViewer.nextPage();break;case"PrevPage":this.pdfViewer.previousPage();break;case"LastPage":this.page=this.pagesCount;break;case"FirstPage":this.page=1;break}this.eventBus.dispatch("namedaction",{source:this,action:e})}async executeSetOCGState(e){const s=this.pdfDocument,n=await this.pdfViewer.optionalContentConfigPromise;if(s!==this.pdfDocument)return;let f;for(const T of e.state){switch(T){case"ON":case"OFF":case"Toggle":f=T;continue}switch(f){case"ON":n.setVisibility(T,!0);break;case"OFF":n.setVisibility(T,!1);break;case"Toggle":const l=n.getGroup(T);l&&n.setVisibility(T,!l.visible);break}}this.pdfViewer.optionalContentConfigPromise=Promise.resolve(n)}cachePageRef(e,s){if(!s)return;const n=s.gen===0?`${s.num}R`:`${s.num}R${s.gen}`;c(this,h).set(n,e)}_cachedPageNumber(e){if(!e)return null;const s=e.gen===0?`${e.num}R`:`${e.num}R${e.gen}`;return c(this,h).get(s)||null}isPageVisible(e){return this.pdfViewer.isPageVisible(e)}isPageCached(e){return this.pdfViewer.isPageCached(e)}};let y=p;h=new WeakMap,a=new WeakSet,qt=function(e,s=null,n){const f=n[0];let T;if(typeof f=="object"&&f!==null){if(T=this._cachedPageNumber(f),!T){this.pdfDocument.getPageIndex(f).then(l=>{this.cachePageRef(l+1,f),Z(this,a,qt).call(this,e,s,n)}).catch(()=>{console.error(`PDFLinkService.#goToDestinationHelper: "${f}" is not a valid page reference, for dest="${e}".`)});return}}else if(Number.isInteger(f))T=f+1;else{console.error(`PDFLinkService.#goToDestinationHelper: "${f}" is not a valid destination reference, for dest="${e}".`);return}if(!T||T<1||T>this.pagesCount){console.error(`PDFLinkService.#goToDestinationHelper: "${T}" is not a valid page number, for dest="${e}".`);return}this.pdfHistory&&(this.pdfHistory.pushCurrentPosition(),this.pdfHistory.push({namedDest:s,explicitDest:n,pageNumber:T})),this.pdfViewer.scrollPageIntoView({pageNumber:T,destArray:n,ignoreDestinationZoom:this._ignoreDestinationZoom})},_=new WeakSet,ji=function(e){if(!Array.isArray(e))return!1;const s=e.length;if(s<2)return!1;const n=e[0];if(!(typeof n=="object"&&Number.isInteger(n.num)&&Number.isInteger(n.gen))&&!(Number.isInteger(n)&&n>=0))return!1;const f=e[1];if(!(typeof f=="object"&&typeof f.name=="string"))return!1;let T=!0;switch(f.name){case"XYZ":if(s!==5)return!1;break;case"Fit":case"FitB":return s===2;case"FitH":case"FitBH":case"FitV":case"FitBV":if(s!==3)return!1;break;case"FitR":if(s!==6)return!1;T=!1;break;default:return!1}for(let l=2;l{var S,R,L,W,me;Object.defineProperty(D,"__esModule",{value:!0}),D.animationStarted=D.VERTICAL_PADDING=D.UNKNOWN_SCALE=D.TextLayerMode=D.SpreadMode=D.SidebarView=D.ScrollMode=D.SCROLLBAR_PADDING=D.RenderingStates=D.ProgressBar=D.PresentationModeState=D.OutputScale=D.MIN_SCALE=D.MAX_SCALE=D.MAX_AUTO_SCALE=D.DEFAULT_SCALE_VALUE=D.DEFAULT_SCALE_DELTA=D.DEFAULT_SCALE=D.CursorTool=D.AutoPrintRegExp=void 0,D.apiPageLayoutToViewerModes=z,D.apiPageModeToSidebarView=i,D.approximateFraction=ee,D.backtrackBeforeAllVisibleElements=ge,D.binarySearchFirstItem=H,D.docStyle=void 0,D.getActiveOrFocusedElement=V,D.getPageSizeInches=te,D.getVisibleElements=ye,D.isPortraitOrientation=F,D.isValidRotation=J,D.isValidScrollMode=A,D.isValidSpreadMode=C,D.noContextMenuHandler=Q,D.normalizeWheelEventDelta=Ee,D.normalizeWheelEventDirection=Ce,D.parseQueryString=I,D.removeNullCharacters=le,D.roundToDivide=ae,D.scrollIntoView=T,D.toggleCheckedBtn=u,D.watchScroll=l;const N="auto";D.DEFAULT_SCALE_VALUE=N;const b=1;D.DEFAULT_SCALE=b;const d=1.1;D.DEFAULT_SCALE_DELTA=d;const k=.1;D.MIN_SCALE=k;const w=10;D.MAX_SCALE=w;const y=0;D.UNKNOWN_SCALE=y;const r=1.25;D.MAX_AUTO_SCALE=r;const h=40;D.SCROLLBAR_PADDING=h;const a=5;D.VERTICAL_PADDING=a;const g={INITIAL:0,RUNNING:1,PAUSED:2,FINISHED:3};D.RenderingStates=g;const _={UNKNOWN:0,NORMAL:1,CHANGING:2,FULLSCREEN:3};D.PresentationModeState=_;const v={UNKNOWN:-1,NONE:0,THUMBS:1,OUTLINE:2,ATTACHMENTS:3,LAYERS:4};D.SidebarView=v;const p={DISABLE:0,ENABLE:1,ENABLE_PERMISSIONS:2};D.TextLayerMode=p;const t={UNKNOWN:-1,VERTICAL:0,HORIZONTAL:1,WRAPPED:2,PAGE:3};D.ScrollMode=t;const e={UNKNOWN:-1,NONE:0,ODD:1,EVEN:2};D.SpreadMode=e;const s={SELECT:0,HAND:1,ZOOM:2};D.CursorTool=s;const n=/\bprint\s*\(/;D.AutoPrintRegExp=n;class f{constructor(){const q=window.devicePixelRatio||1;this.sx=q,this.sy=q}get scaled(){return this.sx!==1||this.sy!==1}}D.OutputScale=f;function T(B,q,ce=!1){let ne=B.offsetParent;if(!ne){console.error("offsetParent is not set -- cannot scroll");return}let ue=B.offsetTop+B.clientTop,be=B.offsetLeft+B.clientLeft;for(;ne.clientHeight===ne.scrollHeight&&ne.clientWidth===ne.scrollWidth||ce&&(ne.classList.contains("markedContent")||getComputedStyle(ne).overflow==="hidden");)if(ue+=ne.offsetTop,be+=ne.offsetLeft,ne=ne.offsetParent,!ne)return;q&&(q.top!==void 0&&(ue+=q.top),q.left!==void 0&&(be+=q.left,ne.scrollLeft=be)),ne.scrollTop=ue}function l(B,q){const ce=function(be){ue||(ue=window.requestAnimationFrame(function(){ue=null;const xe=B.scrollLeft,Pe=ne.lastX;xe!==Pe&&(ne.right=xe>Pe),ne.lastX=xe;const Re=B.scrollTop,oe=ne.lastY;Re!==oe&&(ne.down=Re>oe),ne.lastY=Re,q(ne)}))},ne={right:!0,down:!0,lastX:B.scrollLeft,lastY:B.scrollTop,_eventHandler:ce};let ue=null;return B.addEventListener("scroll",ce,!0),ne}function I(B){const q=new Map;for(const[ce,ne]of new URLSearchParams(B))q.set(ce.toLowerCase(),ne);return q}const K=/[\x01-\x1F]/g;function le(B,q=!1){return typeof B!="string"?(console.error("The argument must be a string."),B):(q&&(B=B.replaceAll(K," ")),B.replaceAll("\0",""))}function H(B,q,ce=0){let ne=ce,ue=B.length-1;if(ue<0||!q(B[ue]))return B.length;if(q(B[ne]))return ne;for(;ne>1,ve=B[be];q(ve)?ue=be:ne=be+1}return ne}function ee(B){if(Math.floor(B)===B)return[B,1];const q=1/B,ce=8;if(q>ce)return[1,ce];if(Math.floor(q)===q)return[1,q];const ne=B>1?q:B;let ue=0,be=1,ve=1,xe=1;for(;;){const Re=ue+ve,oe=be+xe;if(oe>ce)break;ne<=Re/oe?(ve=Re,xe=oe):(ue=Re,be=oe)}let Pe;return ne-ue/be=ce&&(ne=q[B-1].div,ue=ne.offsetTop+ne.clientTop);for(let be=B-2;be>=0&&(ne=q[be].div,!(ne.offsetTop+ne.clientTop+ne.clientHeight<=ue));--be)B=be;return B}function ye({scrollEl:B,views:q,sortByVisibility:ce=!1,horizontal:ne=!1,rtl:ue=!1}){const be=B.scrollTop,ve=be+B.clientHeight,xe=B.scrollLeft,Pe=xe+B.clientWidth;function Re(de){const re=de.div;return re.offsetTop+re.clientTop+re.clientHeight>be}function oe(de){const re=de.div,he=re.offsetLeft+re.clientLeft,fe=he+re.clientWidth;return ue?hexe}const we=[],Me=new Set,Oe=q.length;let E=H(q,ne?oe:Re);E>0&&E=ve&&(m=Ie);else if((ne?fe:Ae)>m)break;if(Ie<=be||Ae>=ve||Fe<=xe||fe>=Pe)continue;const ke=Math.max(0,be-Ae)+Math.max(0,Ie-ve),Le=Math.max(0,xe-fe)+Math.max(0,Fe-Pe),Ne=(Se-ke)/Se,Ve=(Te-Le)/Te,De=Ne*Ve*100|0;we.push({id:re.id,x:fe,y:Ae,view:re,percent:De,widthPercent:Ve*100|0}),Me.add(re.id)}const M=we[0],ie=we.at(-1);return ce&&we.sort(function(de,re){const he=de.percent-re.percent;return Math.abs(he)>.001?-he:de.id-re.id}),{first:M,last:ie,views:we,ids:Me}}function Q(B){B.preventDefault()}function Ce(B){let q=Math.hypot(B.deltaX,B.deltaY);const ce=Math.atan2(B.deltaY,B.deltaX);return-.25*Math.PI0&&c(this,W).setProperty("--progressBar-end-offset",`${ne}px`)}setDisableAutoFetch(q=5e3){isNaN(c(this,L))||(c(this,R)&&clearTimeout(c(this,R)),this.show(),_e(this,R,setTimeout(()=>{_e(this,R,null),this.hide()},q)))}hide(){c(this,me)&&(_e(this,me,!1),c(this,S).add("hidden"))}show(){c(this,me)||(_e(this,me,!0),c(this,S).remove("hidden"))}}S=new WeakMap,R=new WeakMap,L=new WeakMap,W=new WeakMap,me=new WeakMap,D.ProgressBar=U;function V(){let B=document,q=B.activeElement||B.querySelector(":focus");for(;q!=null&&q.shadowRoot;)B=q.shadowRoot,q=B.activeElement||B.querySelector(":focus");return q}function z(B){let q=t.VERTICAL,ce=e.NONE;switch(B){case"SinglePage":q=t.PAGE;break;case"OneColumn":break;case"TwoPageLeft":q=t.PAGE;case"TwoColumnLeft":ce=e.ODD;break;case"TwoPageRight":q=t.PAGE;case"TwoColumnRight":ce=e.EVEN;break}return{scrollMode:q,spreadMode:ce}}function i(B){switch(B){case"UseNone":return v.NONE;case"UseThumbs":return v.THUMBS;case"UseOutlines":return v.OUTLINE;case"UseAttachments":return v.ATTACHMENTS;case"UseOC":return v.LAYERS}return v.NONE}function u(B,q,ce=null){B.classList.toggle("toggled",q),B.setAttribute("aria-checked",q),ce==null||ce.classList.toggle("hidden",!q)}},(G,D,N)=>{var y,r,h,Kt;Object.defineProperty(D,"__esModule",{value:!0}),D.AnnotationLayerBuilder=void 0;var b=N(4),d=N(5),k=N(2);class w{constructor({pageDiv:_,pdfPage:v,linkService:p,downloadManager:t,annotationStorage:e=null,imageResourcesPath:s="",renderForms:n=!0,l10n:f=d.NullL10n,enableScripting:T=!1,hasJSActionsPromise:l=null,fieldObjectsPromise:I=null,annotationCanvasMap:K=null,accessibilityManager:le=null}){$(this,h);$(this,y,0);$(this,r,null);this.pageDiv=_,this.pdfPage=v,this.linkService=p,this.downloadManager=t,this.imageResourcesPath=s,this.renderForms=n,this.l10n=f,this.annotationStorage=e,this.enableScripting=T,this._hasJSActionsPromise=l||Promise.resolve(!1),this._fieldObjectsPromise=I||Promise.resolve(null),this._annotationCanvasMap=K,this._accessibilityManager=le,this.div=null,this._cancelled=!1,this._eventBus=p.eventBus}async render(_,v="display"){var s;if(this.div){if(this._cancelled||c(this,y)===0)return;b.AnnotationLayer.update({viewport:_.clone({dontFlip:!0}),div:this.div,annotationCanvasMap:this._annotationCanvasMap});return}const[p,t,e]=await Promise.all([this.pdfPage.getAnnotations({intent:v}),this._hasJSActionsPromise,this._fieldObjectsPromise]);if(!this._cancelled){if(_e(this,y,p.length),this.div=document.createElement("div"),this.div.className="annotationLayer",this.pageDiv.append(this.div),c(this,y)===0){this.hide();return}b.AnnotationLayer.render({viewport:_.clone({dontFlip:!0}),div:this.div,annotations:p,page:this.pdfPage,imageResourcesPath:this.imageResourcesPath,renderForms:this.renderForms,linkService:this.linkService,downloadManager:this.downloadManager,annotationStorage:this.annotationStorage,enableScripting:this.enableScripting,hasJSActions:t,fieldObjects:e,annotationCanvasMap:this._annotationCanvasMap,accessibilityManager:this._accessibilityManager}),this.l10n.translate(this.div),this.linkService.isInPresentationMode&&Z(this,h,Kt).call(this,k.PresentationModeState.FULLSCREEN),c(this,r)||(_e(this,r,n=>{Z(this,h,Kt).call(this,n.state)}),(s=this._eventBus)==null||s._on("presentationmodechanged",c(this,r)))}}cancel(){var _;this._cancelled=!0,c(this,r)&&((_=this._eventBus)==null||_._off("presentationmodechanged",c(this,r)),_e(this,r,null))}hide(){this.div&&(this.div.hidden=!0)}}y=new WeakMap,r=new WeakMap,h=new WeakSet,Kt=function(_){if(!this.div)return;let v=!1;switch(_){case k.PresentationModeState.FULLSCREEN:v=!0;break;case k.PresentationModeState.NORMAL:break;default:return}for(const p of this.div.childNodes)p.hasAttribute("data-internal-link")||(p.inert=v)},D.AnnotationLayerBuilder=w},G=>{let D;typeof window<"u"&&window["pdfjs-dist/build/pdf"]?D=window["pdfjs-dist/build/pdf"]:D=requirePdf(),G.exports=D},(G,D)=>{Object.defineProperty(D,"__esModule",{value:!0}),D.NullL10n=void 0,D.fixupLangCode=k,D.getL10nFallback=b;const N={of_pages:"of {{pagesCount}}",page_of_pages:"({{pageNumber}} of {{pagesCount}})",document_properties_kb:"{{size_kb}} KB ({{size_b}} bytes)",document_properties_mb:"{{size_mb}} MB ({{size_b}} bytes)",document_properties_date_string:"{{date}}, {{time}}",document_properties_page_size_unit_inches:"in",document_properties_page_size_unit_millimeters:"mm",document_properties_page_size_orientation_portrait:"portrait",document_properties_page_size_orientation_landscape:"landscape",document_properties_page_size_name_a3:"A3",document_properties_page_size_name_a4:"A4",document_properties_page_size_name_letter:"Letter",document_properties_page_size_name_legal:"Legal",document_properties_page_size_dimension_string:"{{width}} × {{height}} {{unit}} ({{orientation}})",document_properties_page_size_dimension_name_string:"{{width}} × {{height}} {{unit}} ({{name}}, {{orientation}})",document_properties_linearized_yes:"Yes",document_properties_linearized_no:"No",additional_layers:"Additional Layers",page_landmark:"Page {{page}}",thumb_page_title:"Page {{page}}",thumb_page_canvas:"Thumbnail of Page {{page}}",find_reached_top:"Reached top of document, continued from bottom",find_reached_bottom:"Reached end of document, continued from top","find_match_count[one]":"{{current}} of {{total}} match","find_match_count[other]":"{{current}} of {{total}} matches","find_match_count_limit[one]":"More than {{limit}} match","find_match_count_limit[other]":"More than {{limit}} matches",find_not_found:"Phrase not found",page_scale_width:"Page Width",page_scale_fit:"Page Fit",page_scale_auto:"Automatic Zoom",page_scale_actual:"Actual Size",page_scale_percent:"{{scale}}%",loading_error:"An error occurred while loading the PDF.",invalid_file_error:"Invalid or corrupted PDF file.",missing_file_error:"Missing PDF file.",unexpected_response_error:"Unexpected server response.",rendering_error:"An error occurred while rendering the page.",printing_not_supported:"Warning: Printing is not fully supported by this browser.",printing_not_ready:"Warning: The PDF is not fully loaded for printing.",web_fonts_disabled:"Web fonts are disabled: unable to use embedded PDF fonts.",free_text2_default_content:"Start typing…",editor_free_text2_aria_label:"Text Editor",editor_ink2_aria_label:"Draw Editor",editor_ink_canvas_aria_label:"User-created image"};N.print_progress_percent="{{progress}}%";function b(r,h){switch(r){case"find_match_count":r=`find_match_count[${h.total===1?"one":"other"}]`;break;case"find_match_count_limit":r=`find_match_count_limit[${h.limit===1?"one":"other"}]`;break}return N[r]||""}const d={en:"en-US",es:"es-ES",fy:"fy-NL",ga:"ga-IE",gu:"gu-IN",hi:"hi-IN",hy:"hy-AM",nb:"nb-NO",ne:"ne-NP",nn:"nn-NO",pa:"pa-IN",pt:"pt-PT",sv:"sv-SE",zh:"zh-CN"};function k(r){return d[r==null?void 0:r.toLowerCase()]||r}function w(r,h){return h?r.replaceAll(/\{\{\s*(\w+)\s*\}\}/g,(a,g)=>g in h?h[g]:"{{"+g+"}}"):r}const y={async getLanguage(){return"en-us"},async getDirection(){return"ltr"},async get(r,h=null,a=b(r,h)){return w(a,h)},async translate(r){}};D.NullL10n=y},(G,D,N)=>{var w;Object.defineProperty(D,"__esModule",{value:!0}),D.DownloadManager=void 0;var b=N(4);function d(y,r){const h=document.createElement("a");if(!h.click)throw new Error('DownloadManager: "a.click()" is not supported.');h.href=y,h.target="_parent","download"in h&&(h.download=r),(document.body||document.documentElement).append(h),h.click(),h.remove()}class k{constructor(){$(this,w,new WeakMap)}downloadUrl(r,h,a){if(!(0,b.createValidAbsoluteUrl)(r,"http://example.com")){console.error(`downloadUrl - not a valid URL: ${r}`);return}d(r+"#pdfjs.action=download",h)}downloadData(r,h,a){const g=URL.createObjectURL(new Blob([r],{type:a}));d(g,h)}openOrDownloadData(r,h,a){const _=(0,b.isPdfFile)(a)?"application/pdf":"";return this.downloadData(h,a,_),!1}download(r,h,a,g){const _=URL.createObjectURL(r);d(_,a)}}w=new WeakMap,D.DownloadManager=k},(G,D)=>{var w;Object.defineProperty(D,"__esModule",{value:!0}),D.WaitOnType=D.EventBus=D.AutomationEventBus=void 0,D.waitOnEventOrTimeout=b;const N={EVENT:"event",TIMEOUT:"timeout"};D.WaitOnType=N;function b({target:y,name:r,delay:h=0}){return new Promise(function(a,g){if(typeof y!="object"||!(r&&typeof r=="string")||!(Number.isInteger(h)&&h>=0))throw new Error("waitOnEventOrTimeout - invalid parameters.");function _(e){y instanceof d?y._off(r,v):y.removeEventListener(r,v),t&&clearTimeout(t),a(e)}const v=_.bind(null,N.EVENT);y instanceof d?y._on(r,v):y.addEventListener(r,v);const p=_.bind(null,N.TIMEOUT),t=setTimeout(p,h)})}class d{constructor(){$(this,w,Object.create(null))}on(r,h,a=null){this._on(r,h,{external:!0,once:a==null?void 0:a.once})}off(r,h,a=null){this._off(r,h,{external:!0,once:a==null?void 0:a.once})}dispatch(r,h){const a=c(this,w)[r];if(!a||a.length===0)return;let g;for(const{listener:_,external:v,once:p}of a.slice(0)){if(p&&this._off(r,_),v){(g||(g=[])).push(_);continue}_(h)}if(g){for(const _ of g)_(h);g=null}}_on(r,h,a=null){var _;((_=c(this,w))[r]||(_[r]=[])).push({listener:h,external:(a==null?void 0:a.external)===!0,once:(a==null?void 0:a.once)===!0})}_off(r,h,a=null){const g=c(this,w)[r];if(g){for(let _=0,v=g.length;_{Object.defineProperty(D,"__esModule",{value:!0}),D.GenericL10n=void 0,N(9);var b=N(5);const d=document.webL10n;class k{constructor(y){this._lang=y,this._ready=new Promise((r,h)=>{d.setLanguage((0,b.fixupLangCode)(y),()=>{r(d)})})}async getLanguage(){return(await this._ready).getLanguage()}async getDirection(){return(await this._ready).getDirection()}async get(y,r=null,h=(0,b.getL10nFallback)(y,r)){return(await this._ready).get(y,r,h)}async translate(y){return(await this._ready).translate(y)}}D.GenericL10n=k},()=>{document.webL10n=function(G,D,N){var b={},d="",k="textContent",w="",y={},r="loading",h=!0;function a(){return D.querySelectorAll('link[type="application/l10n"]')}function g(){var H=D.querySelector('script[type="application/l10n"]');return H?JSON.parse(H.innerHTML):null}function _(H){return H?H.querySelectorAll("*[data-l10n-id]"):[]}function v(H){if(!H)return{};var ee=H.getAttribute("data-l10n-id"),ae=H.getAttribute("data-l10n-args"),te={};if(ae)try{te=JSON.parse(ae)}catch{console.warn("could not parse arguments for #"+ee)}return{id:ee,args:te}}function p(H,ee,ae){ee=ee||function(ye){},ae=ae||function(){};var te=new XMLHttpRequest;te.open("GET",H,h),te.overrideMimeType&&te.overrideMimeType("text/plain; charset=utf-8"),te.onreadystatechange=function(){te.readyState==4&&(te.status==200||te.status===0?ee(te.responseText):ae())},te.onerror=ae,te.ontimeout=ae;try{te.send(null)}catch{ae()}}function t(H,ee,ae,te){var ge=H.replace(/[^\/]*$/,"")||"./";function ye(Ce){return Ce.lastIndexOf("\\")<0?Ce:Ce.replace(/\\\\/g,"\\").replace(/\\n/g,` +`}setFont(t){const e=this.current,s=this.commonObjs.get(t[0]);let n=t[1];e.font=s,this.embedFonts&&!s.missingFile&&!this.embeddedFonts[s.loadedName]&&(this.addFontStyle(s),this.embeddedFonts[s.loadedName]=s),e.fontMatrix=s.fontMatrix||O.FONT_IDENTITY_MATRIX;let f="normal";s.black?f="900":s.bold&&(f="bold");const T=s.italic?"italic":"normal";n<0?(n=-n,e.fontDirection=-1):e.fontDirection=1,e.fontSize=n,e.fontFamily=s.loadedName,e.fontWeight=f,e.fontStyle=T,e.tspan=this.svgFactory.createElement("svg:tspan"),e.tspan.setAttributeNS(null,"y",a(-e.y)),e.xcoords=[],e.ycoords=[]}endText(){var e;const t=this.current;t.textRenderingMode&O.TextRenderingMode.ADD_TO_PATH_FLAG&&((e=t.txtElement)!=null&&e.hasChildNodes())&&(t.element=t.txtElement,this.clip("nonzero"),this.endPath())}setLineWidth(t){t>0&&(this.current.lineWidth=t)}setLineCap(t){this.current.lineCap=d[t]}setLineJoin(t){this.current.lineJoin=k[t]}setMiterLimit(t){this.current.miterLimit=t}setStrokeAlpha(t){this.current.strokeAlpha=t}setStrokeRGBColor(t,e,s){this.current.strokeColor=O.Util.makeHexColor(t,e,s)}setFillAlpha(t){this.current.fillAlpha=t}setFillRGBColor(t,e,s){this.current.fillColor=O.Util.makeHexColor(t,e,s),this.current.tspan=this.svgFactory.createElement("svg:tspan"),this.current.xcoords=[],this.current.ycoords=[]}setStrokeColorN(t){this.current.strokeColor=this._makeColorN_Pattern(t)}setFillColorN(t){this.current.fillColor=this._makeColorN_Pattern(t)}shadingFill(t){const e=this.viewport.width,s=this.viewport.height,n=O.Util.inverseTransform(this.transformMatrix),f=O.Util.applyTransform([0,0],n),T=O.Util.applyTransform([0,s],n),l=O.Util.applyTransform([e,0],n),I=O.Util.applyTransform([e,s],n),K=Math.min(f[0],T[0],l[0],I[0]),le=Math.min(f[1],T[1],l[1],I[1]),H=Math.max(f[0],T[0],l[0],I[0]),ee=Math.max(f[1],T[1],l[1],I[1]),ae=this.svgFactory.createElement("svg:rect");ae.setAttributeNS(null,"x",K),ae.setAttributeNS(null,"y",le),ae.setAttributeNS(null,"width",H-K),ae.setAttributeNS(null,"height",ee-le),ae.setAttributeNS(null,"fill",this._makeShadingPattern(t)),this.current.fillAlpha<1&&ae.setAttributeNS(null,"fill-opacity",this.current.fillAlpha),this._ensureTransformGroup().append(ae)}_makeColorN_Pattern(t){return t[0]==="TilingPattern"?this._makeTilingPattern(t):this._makeShadingPattern(t)}_makeTilingPattern(t){const e=t[1],s=t[2],n=t[3]||O.IDENTITY_MATRIX,[f,T,l,I]=t[4],K=t[5],le=t[6],H=t[7],ee=`shading${p++}`,[ae,te,ge,ye]=O.Util.normalizeRect([...O.Util.applyTransform([f,T],n),...O.Util.applyTransform([l,I],n)]),[Q,Ce]=O.Util.singularValueDecompose2dScale(n),Ee=K*Q,J=le*Ce,A=this.svgFactory.createElement("svg:pattern");A.setAttributeNS(null,"id",ee),A.setAttributeNS(null,"patternUnits","userSpaceOnUse"),A.setAttributeNS(null,"width",Ee),A.setAttributeNS(null,"height",J),A.setAttributeNS(null,"x",`${ae}`),A.setAttributeNS(null,"y",`${te}`);const C=this.svg,F=this.transformMatrix,Y=this.current.fillColor,j=this.current.strokeColor,se=this.svgFactory.create(ge-ae,ye-te);if(this.svg=se,this.transformMatrix=n,H===2){const U=O.Util.makeHexColor(...e);this.current.fillColor=U,this.current.strokeColor=U}return this.executeOpTree(this.convertOpList(s)),this.svg=C,this.transformMatrix=F,this.current.fillColor=Y,this.current.strokeColor=j,A.append(se.childNodes[0]),this.defs.append(A),`url(#${ee})`}_makeShadingPattern(t){switch(typeof t=="string"&&(t=this.objs.get(t)),t[0]){case"RadialAxial":const e=`shading${p++}`,s=t[3];let n;switch(t[1]){case"axial":const f=t[4],T=t[5];n=this.svgFactory.createElement("svg:linearGradient"),n.setAttributeNS(null,"id",e),n.setAttributeNS(null,"gradientUnits","userSpaceOnUse"),n.setAttributeNS(null,"x1",f[0]),n.setAttributeNS(null,"y1",f[1]),n.setAttributeNS(null,"x2",T[0]),n.setAttributeNS(null,"y2",T[1]);break;case"radial":const l=t[4],I=t[5],K=t[6],le=t[7];n=this.svgFactory.createElement("svg:radialGradient"),n.setAttributeNS(null,"id",e),n.setAttributeNS(null,"gradientUnits","userSpaceOnUse"),n.setAttributeNS(null,"cx",I[0]),n.setAttributeNS(null,"cy",I[1]),n.setAttributeNS(null,"r",le),n.setAttributeNS(null,"fx",l[0]),n.setAttributeNS(null,"fy",l[1]),n.setAttributeNS(null,"fr",K);break;default:throw new Error(`Unknown RadialAxial type: ${t[1]}`)}for(const f of s){const T=this.svgFactory.createElement("svg:stop");T.setAttributeNS(null,"offset",f[0]),T.setAttributeNS(null,"stop-color",f[1]),n.append(T)}return this.defs.append(n),`url(#${e})`;case"Mesh":return(0,O.warn)("Unimplemented pattern Mesh"),null;case"Dummy":return"hotpink";default:throw new Error(`Unknown IR type: ${t[0]}`)}}setDash(t,e){this.current.dashArray=t,this.current.dashPhase=e}constructPath(t,e){const s=this.current;let n=s.x,f=s.y,T=[],l=0;for(const I of t)switch(I|0){case O.OPS.rectangle:n=e[l++],f=e[l++];const K=e[l++],le=e[l++],H=n+K,ee=f+le;T.push("M",a(n),a(f),"L",a(H),a(f),"L",a(H),a(ee),"L",a(n),a(ee),"Z");break;case O.OPS.moveTo:n=e[l++],f=e[l++],T.push("M",a(n),a(f));break;case O.OPS.lineTo:n=e[l++],f=e[l++],T.push("L",a(n),a(f));break;case O.OPS.curveTo:n=e[l+4],f=e[l+5],T.push("C",a(e[l]),a(e[l+1]),a(e[l+2]),a(e[l+3]),a(n),a(f)),l+=6;break;case O.OPS.curveTo2:T.push("C",a(n),a(f),a(e[l]),a(e[l+1]),a(e[l+2]),a(e[l+3])),n=e[l+2],f=e[l+3],l+=4;break;case O.OPS.curveTo3:n=e[l+2],f=e[l+3],T.push("C",a(e[l]),a(e[l+1]),a(n),a(f),a(n),a(f)),l+=4;break;case O.OPS.closePath:T.push("Z");break}T=T.join(" "),s.path&&t.length>0&&t[0]!==O.OPS.rectangle&&t[0]!==O.OPS.moveTo?T=s.path.getAttributeNS(null,"d")+T:(s.path=this.svgFactory.createElement("svg:path"),this._ensureTransformGroup().append(s.path)),s.path.setAttributeNS(null,"d",T),s.path.setAttributeNS(null,"fill","none"),s.element=s.path,s.setCurrentPoint(n,f)}endPath(){const t=this.current;if(t.path=null,!this.pendingClip)return;if(!t.element){this.pendingClip=null;return}const e=`clippath${_++}`,s=this.svgFactory.createElement("svg:clipPath");s.setAttributeNS(null,"id",e),s.setAttributeNS(null,"transform",g(this.transformMatrix));const n=t.element.cloneNode(!0);if(this.pendingClip==="evenodd"?n.setAttributeNS(null,"clip-rule","evenodd"):n.setAttributeNS(null,"clip-rule","nonzero"),this.pendingClip=null,s.append(n),this.defs.append(s),t.activeClipUrl){t.clipGroup=null;for(const f of this.extraStack)f.clipGroup=null;s.setAttributeNS(null,"clip-path",t.activeClipUrl)}t.activeClipUrl=`url(#${e})`,this.tgrp=null}clip(t){this.pendingClip=t}closePath(){const t=this.current;if(t.path){const e=`${t.path.getAttributeNS(null,"d")}Z`;t.path.setAttributeNS(null,"d",e)}}setLeading(t){this.current.leading=-t}setTextRise(t){this.current.textRise=t}setTextRenderingMode(t){this.current.textRenderingMode=t}setHScale(t){this.current.textHScale=t/100}setRenderingIntent(t){}setFlatness(t){}setGState(t){for(const[e,s]of t)switch(e){case"LW":this.setLineWidth(s);break;case"LC":this.setLineCap(s);break;case"LJ":this.setLineJoin(s);break;case"ML":this.setMiterLimit(s);break;case"D":this.setDash(s[0],s[1]);break;case"RI":this.setRenderingIntent(s);break;case"FL":this.setFlatness(s);break;case"Font":this.setFont(s);break;case"CA":this.setStrokeAlpha(s);break;case"ca":this.setFillAlpha(s);break;default:(0,O.warn)(`Unimplemented graphic state operator ${e}`);break}}fill(){const t=this.current;t.element&&(t.element.setAttributeNS(null,"fill",t.fillColor),t.element.setAttributeNS(null,"fill-opacity",t.fillAlpha),this.endPath())}stroke(){const t=this.current;t.element&&(this._setStrokeAttributes(t.element),t.element.setAttributeNS(null,"fill","none"),this.endPath())}_setStrokeAttributes(t,e=1){const s=this.current;let n=s.dashArray;e!==1&&n.length>0&&(n=n.map(function(f){return e*f})),t.setAttributeNS(null,"stroke",s.strokeColor),t.setAttributeNS(null,"stroke-opacity",s.strokeAlpha),t.setAttributeNS(null,"stroke-miterlimit",a(s.miterLimit)),t.setAttributeNS(null,"stroke-linecap",s.lineCap),t.setAttributeNS(null,"stroke-linejoin",s.lineJoin),t.setAttributeNS(null,"stroke-width",a(e*s.lineWidth)+"px"),t.setAttributeNS(null,"stroke-dasharray",n.map(a).join(" ")),t.setAttributeNS(null,"stroke-dashoffset",a(e*s.dashPhase)+"px")}eoFill(){var t;(t=this.current.element)==null||t.setAttributeNS(null,"fill-rule","evenodd"),this.fill()}fillStroke(){this.stroke(),this.fill()}eoFillStroke(){var t;(t=this.current.element)==null||t.setAttributeNS(null,"fill-rule","evenodd"),this.fillStroke()}closeStroke(){this.closePath(),this.stroke()}closeFillStroke(){this.closePath(),this.fillStroke()}closeEOFillStroke(){this.closePath(),this.eoFillStroke()}paintSolidColorImageMask(){const t=this.svgFactory.createElement("svg:rect");t.setAttributeNS(null,"x","0"),t.setAttributeNS(null,"y","0"),t.setAttributeNS(null,"width","1px"),t.setAttributeNS(null,"height","1px"),t.setAttributeNS(null,"fill",this.current.fillColor),this._ensureTransformGroup().append(t)}paintImageXObject(t){const e=this.getObject(t);if(!e){(0,O.warn)(`Dependent image with object ID ${t} is not ready yet`);return}this.paintInlineImageXObject(e)}paintInlineImageXObject(t,e){const s=t.width,n=t.height,f=y(t,this.forceDataSchema,!!e),T=this.svgFactory.createElement("svg:rect");T.setAttributeNS(null,"x","0"),T.setAttributeNS(null,"y","0"),T.setAttributeNS(null,"width",a(s)),T.setAttributeNS(null,"height",a(n)),this.current.element=T,this.clip("nonzero");const l=this.svgFactory.createElement("svg:image");l.setAttributeNS(b,"xlink:href",f),l.setAttributeNS(null,"x","0"),l.setAttributeNS(null,"y",a(-n)),l.setAttributeNS(null,"width",a(s)+"px"),l.setAttributeNS(null,"height",a(n)+"px"),l.setAttributeNS(null,"transform",`scale(${a(1/s)} ${a(-1/n)})`),e?e.append(l):this._ensureTransformGroup().append(l)}paintImageMaskXObject(t){const e=this.getObject(t.data,t);if(e.bitmap){(0,O.warn)("paintImageMaskXObject: ImageBitmap support is not implemented, ensure that the `isOffscreenCanvasSupported` API parameter is disabled.");return}const s=this.current,n=e.width,f=e.height,T=s.fillColor;s.maskId=`mask${v++}`;const l=this.svgFactory.createElement("svg:mask");l.setAttributeNS(null,"id",s.maskId);const I=this.svgFactory.createElement("svg:rect");I.setAttributeNS(null,"x","0"),I.setAttributeNS(null,"y","0"),I.setAttributeNS(null,"width",a(n)),I.setAttributeNS(null,"height",a(f)),I.setAttributeNS(null,"fill",T),I.setAttributeNS(null,"mask",`url(#${s.maskId})`),this.defs.append(l),this._ensureTransformGroup().append(I),this.paintInlineImageXObject(e,l)}paintFormXObjectBegin(t,e){if(Array.isArray(t)&&t.length===6&&this.transform(t[0],t[1],t[2],t[3],t[4],t[5]),e){const s=e[2]-e[0],n=e[3]-e[1],f=this.svgFactory.createElement("svg:rect");f.setAttributeNS(null,"x",e[0]),f.setAttributeNS(null,"y",e[1]),f.setAttributeNS(null,"width",a(s)),f.setAttributeNS(null,"height",a(n)),this.current.element=f,this.clip("nonzero"),this.endPath()}}paintFormXObjectEnd(){}_initialize(t){const e=this.svgFactory.create(t.width,t.height),s=this.svgFactory.createElement("svg:defs");e.append(s),this.defs=s;const n=this.svgFactory.createElement("svg:g");return n.setAttributeNS(null,"transform",g(t.transform)),e.append(n),this.svg=n,e}_ensureClipGroup(){if(!this.current.clipGroup){const t=this.svgFactory.createElement("svg:g");t.setAttributeNS(null,"clip-path",this.current.activeClipUrl),this.svg.append(t),this.current.clipGroup=t}return this.current.clipGroup}_ensureTransformGroup(){return this.tgrp||(this.tgrp=this.svgFactory.createElement("svg:g"),this.tgrp.setAttributeNS(null,"transform",g(this.transformMatrix)),this.current.activeClipUrl?this._ensureClipGroup().append(this.tgrp):this.svg.append(this.tgrp)),this.tgrp}}}}],__webpack_module_cache__={};function __w_pdfjs_require__(x){var o=__webpack_module_cache__[x];if(o!==void 0)return o.exports;var X=__webpack_module_cache__[x]={exports:{}};return __webpack_modules__[x](X,X.exports,__w_pdfjs_require__),X.exports}var __webpack_exports__={};return(()=>{var x=__webpack_exports__;Object.defineProperty(x,"__esModule",{value:!0}),Object.defineProperty(x,"AbortException",{enumerable:!0,get:function(){return o.AbortException}}),Object.defineProperty(x,"AnnotationEditorLayer",{enumerable:!0,get:function(){return pe.AnnotationEditorLayer}}),Object.defineProperty(x,"AnnotationEditorParamsType",{enumerable:!0,get:function(){return o.AnnotationEditorParamsType}}),Object.defineProperty(x,"AnnotationEditorType",{enumerable:!0,get:function(){return o.AnnotationEditorType}}),Object.defineProperty(x,"AnnotationEditorUIManager",{enumerable:!0,get:function(){return G.AnnotationEditorUIManager}}),Object.defineProperty(x,"AnnotationLayer",{enumerable:!0,get:function(){return D.AnnotationLayer}}),Object.defineProperty(x,"AnnotationMode",{enumerable:!0,get:function(){return o.AnnotationMode}}),Object.defineProperty(x,"CMapCompressionType",{enumerable:!0,get:function(){return o.CMapCompressionType}}),Object.defineProperty(x,"FeatureTest",{enumerable:!0,get:function(){return o.FeatureTest}}),Object.defineProperty(x,"GlobalWorkerOptions",{enumerable:!0,get:function(){return N.GlobalWorkerOptions}}),Object.defineProperty(x,"InvalidPDFException",{enumerable:!0,get:function(){return o.InvalidPDFException}}),Object.defineProperty(x,"MissingPDFException",{enumerable:!0,get:function(){return o.MissingPDFException}}),Object.defineProperty(x,"OPS",{enumerable:!0,get:function(){return o.OPS}}),Object.defineProperty(x,"PDFDataRangeTransport",{enumerable:!0,get:function(){return X.PDFDataRangeTransport}}),Object.defineProperty(x,"PDFDateString",{enumerable:!0,get:function(){return P.PDFDateString}}),Object.defineProperty(x,"PDFWorker",{enumerable:!0,get:function(){return X.PDFWorker}}),Object.defineProperty(x,"PasswordResponses",{enumerable:!0,get:function(){return o.PasswordResponses}}),Object.defineProperty(x,"PermissionFlag",{enumerable:!0,get:function(){return o.PermissionFlag}}),Object.defineProperty(x,"PixelsPerInch",{enumerable:!0,get:function(){return P.PixelsPerInch}}),Object.defineProperty(x,"PromiseCapability",{enumerable:!0,get:function(){return o.PromiseCapability}}),Object.defineProperty(x,"RenderingCancelledException",{enumerable:!0,get:function(){return P.RenderingCancelledException}}),Object.defineProperty(x,"SVGGraphics",{enumerable:!0,get:function(){return b.SVGGraphics}}),Object.defineProperty(x,"UnexpectedResponseException",{enumerable:!0,get:function(){return o.UnexpectedResponseException}}),Object.defineProperty(x,"Util",{enumerable:!0,get:function(){return o.Util}}),Object.defineProperty(x,"VerbosityLevel",{enumerable:!0,get:function(){return o.VerbosityLevel}}),Object.defineProperty(x,"XfaLayer",{enumerable:!0,get:function(){return d.XfaLayer}}),Object.defineProperty(x,"build",{enumerable:!0,get:function(){return X.build}}),Object.defineProperty(x,"createValidAbsoluteUrl",{enumerable:!0,get:function(){return o.createValidAbsoluteUrl}}),Object.defineProperty(x,"getDocument",{enumerable:!0,get:function(){return X.getDocument}}),Object.defineProperty(x,"getFilenameFromUrl",{enumerable:!0,get:function(){return P.getFilenameFromUrl}}),Object.defineProperty(x,"getPdfFilenameFromUrl",{enumerable:!0,get:function(){return P.getPdfFilenameFromUrl}}),Object.defineProperty(x,"getXfaPageViewport",{enumerable:!0,get:function(){return P.getXfaPageViewport}}),Object.defineProperty(x,"isDataScheme",{enumerable:!0,get:function(){return P.isDataScheme}}),Object.defineProperty(x,"isPdfFile",{enumerable:!0,get:function(){return P.isPdfFile}}),Object.defineProperty(x,"loadScript",{enumerable:!0,get:function(){return P.loadScript}}),Object.defineProperty(x,"normalizeUnicode",{enumerable:!0,get:function(){return o.normalizeUnicode}}),Object.defineProperty(x,"renderTextLayer",{enumerable:!0,get:function(){return O.renderTextLayer}}),Object.defineProperty(x,"setLayerDimensions",{enumerable:!0,get:function(){return P.setLayerDimensions}}),Object.defineProperty(x,"shadow",{enumerable:!0,get:function(){return o.shadow}}),Object.defineProperty(x,"updateTextLayer",{enumerable:!0,get:function(){return O.updateTextLayer}}),Object.defineProperty(x,"version",{enumerable:!0,get:function(){return X.version}});var o=__w_pdfjs_require__(1),X=__w_pdfjs_require__(2),P=__w_pdfjs_require__(6),O=__w_pdfjs_require__(26),pe=__w_pdfjs_require__(27),G=__w_pdfjs_require__(5),D=__w_pdfjs_require__(32),N=__w_pdfjs_require__(14),b=__w_pdfjs_require__(35),d=__w_pdfjs_require__(34)})(),__webpack_exports__})())})(pdf);var pdf_viewerExports={},pdf_viewer$1={get exports(){return pdf_viewerExports},set exports(x){pdf_viewerExports=x}};(function(x,o){(function(P,O){x.exports=O()})(globalThis,()=>(()=>{var X=[,(G,D,N)=>{var h,a,qt,_,ji;Object.defineProperty(D,"__esModule",{value:!0}),D.SimpleLinkService=D.PDFLinkService=D.LinkTarget=void 0;var b=N(2);const d="noopener noreferrer nofollow",k={NONE:0,SELF:1,BLANK:2,PARENT:3,TOP:4};D.LinkTarget=k;function w(t,{url:e,target:s,rel:n,enabled:f=!0}={}){if(!e||typeof e!="string")throw new Error('A valid "url" parameter must provided.');const T=(0,b.removeNullCharacters)(e);f?t.href=t.title=T:(t.href="",t.title=`Disabled: ${T}`,t.onclick=()=>!1);let l="";switch(s){case k.NONE:break;case k.SELF:l="_self";break;case k.BLANK:l="_blank";break;case k.PARENT:l="_parent";break;case k.TOP:l="_top";break}t.target=l,t.rel=typeof n=="string"?n:d}const p=class{constructor({eventBus:e,externalLinkTarget:s=null,externalLinkRel:n=null,ignoreDestinationZoom:f=!1}={}){$(this,a);$(this,h,new Map);this.eventBus=e,this.externalLinkTarget=s,this.externalLinkRel=n,this.externalLinkEnabled=!0,this._ignoreDestinationZoom=f,this.baseUrl=null,this.pdfDocument=null,this.pdfViewer=null,this.pdfHistory=null}setDocument(e,s=null){this.baseUrl=s,this.pdfDocument=e,c(this,h).clear()}setViewer(e){this.pdfViewer=e}setHistory(e){this.pdfHistory=e}get pagesCount(){return this.pdfDocument?this.pdfDocument.numPages:0}get page(){return this.pdfViewer.currentPageNumber}set page(e){this.pdfViewer.currentPageNumber=e}get rotation(){return this.pdfViewer.pagesRotation}set rotation(e){this.pdfViewer.pagesRotation=e}get isInPresentationMode(){return this.pdfViewer.isInPresentationMode}async goToDestination(e){if(!this.pdfDocument)return;let s,n;if(typeof e=="string"?(s=e,n=await this.pdfDocument.getDestination(e)):(s=null,n=await e),!Array.isArray(n)){console.error(`PDFLinkService.goToDestination: "${n}" is not a valid destination array, for dest="${e}".`);return}Z(this,a,qt).call(this,e,s,n)}goToPage(e){if(!this.pdfDocument)return;const s=typeof e=="string"&&this.pdfViewer.pageLabelToPageNumber(e)||e|0;if(!(Number.isInteger(s)&&s>0&&s<=this.pagesCount)){console.error(`PDFLinkService.goToPage: "${e}" is not a valid page.`);return}this.pdfHistory&&(this.pdfHistory.pushCurrentPosition(),this.pdfHistory.pushPage(s)),this.pdfViewer.scrollPageIntoView({pageNumber:s})}addLinkAttributes(e,s,n=!1){w(e,{url:s,target:n?k.BLANK:this.externalLinkTarget,rel:this.externalLinkRel,enabled:this.externalLinkEnabled})}getDestinationHash(e){if(typeof e=="string"){if(e.length>0)return this.getAnchorUrl("#"+escape(e))}else if(Array.isArray(e)){const s=JSON.stringify(e);if(s.length>0)return this.getAnchorUrl("#"+escape(s))}return this.getAnchorUrl("")}getAnchorUrl(e){return this.baseUrl?this.baseUrl+e:e}setHash(e){var f;if(!this.pdfDocument)return;let s,n;if(e.includes("=")){const T=(0,b.parseQueryString)(e);if(T.has("search")){const l=T.get("search").replaceAll('"',""),I=T.get("phrase")==="true";this.eventBus.dispatch("findfromurlhash",{source:this,query:I?l:l.match(/\S+/g)})}if(T.has("page")&&(s=T.get("page")|0||1),T.has("zoom")){const l=T.get("zoom").split(","),I=l[0],K=parseFloat(I);I.includes("Fit")?I==="Fit"||I==="FitB"?n=[null,{name:I}]:I==="FitH"||I==="FitBH"||I==="FitV"||I==="FitBV"?n=[null,{name:I},l.length>1?l[1]|0:null]:I==="FitR"?l.length!==5?console.error('PDFLinkService.setHash: Not enough parameters for "FitR".'):n=[null,{name:I},l[1]|0,l[2]|0,l[3]|0,l[4]|0]:console.error(`PDFLinkService.setHash: "${I}" is not a valid zoom value.`):n=[null,{name:"XYZ"},l.length>1?l[1]|0:null,l.length>2?l[2]|0:null,K?K/100:I]}n?this.pdfViewer.scrollPageIntoView({pageNumber:s||this.page,destArray:n,allowNegativeOffset:!0}):s&&(this.page=s),T.has("pagemode")&&this.eventBus.dispatch("pagemode",{source:this,mode:T.get("pagemode")}),T.has("nameddest")&&this.goToDestination(T.get("nameddest"))}else{n=unescape(e);try{n=JSON.parse(n),Array.isArray(n)||(n=n.toString())}catch{}if(typeof n=="string"||Z(f=p,_,ji).call(f,n)){this.goToDestination(n);return}console.error(`PDFLinkService.setHash: "${unescape(e)}" is not a valid destination.`)}}executeNamedAction(e){var s,n;switch(e){case"GoBack":(s=this.pdfHistory)==null||s.back();break;case"GoForward":(n=this.pdfHistory)==null||n.forward();break;case"NextPage":this.pdfViewer.nextPage();break;case"PrevPage":this.pdfViewer.previousPage();break;case"LastPage":this.page=this.pagesCount;break;case"FirstPage":this.page=1;break}this.eventBus.dispatch("namedaction",{source:this,action:e})}async executeSetOCGState(e){const s=this.pdfDocument,n=await this.pdfViewer.optionalContentConfigPromise;if(s!==this.pdfDocument)return;let f;for(const T of e.state){switch(T){case"ON":case"OFF":case"Toggle":f=T;continue}switch(f){case"ON":n.setVisibility(T,!0);break;case"OFF":n.setVisibility(T,!1);break;case"Toggle":const l=n.getGroup(T);l&&n.setVisibility(T,!l.visible);break}}this.pdfViewer.optionalContentConfigPromise=Promise.resolve(n)}cachePageRef(e,s){if(!s)return;const n=s.gen===0?`${s.num}R`:`${s.num}R${s.gen}`;c(this,h).set(n,e)}_cachedPageNumber(e){if(!e)return null;const s=e.gen===0?`${e.num}R`:`${e.num}R${e.gen}`;return c(this,h).get(s)||null}isPageVisible(e){return this.pdfViewer.isPageVisible(e)}isPageCached(e){return this.pdfViewer.isPageCached(e)}};let y=p;h=new WeakMap,a=new WeakSet,qt=function(e,s=null,n){const f=n[0];let T;if(typeof f=="object"&&f!==null){if(T=this._cachedPageNumber(f),!T){this.pdfDocument.getPageIndex(f).then(l=>{this.cachePageRef(l+1,f),Z(this,a,qt).call(this,e,s,n)}).catch(()=>{console.error(`PDFLinkService.#goToDestinationHelper: "${f}" is not a valid page reference, for dest="${e}".`)});return}}else if(Number.isInteger(f))T=f+1;else{console.error(`PDFLinkService.#goToDestinationHelper: "${f}" is not a valid destination reference, for dest="${e}".`);return}if(!T||T<1||T>this.pagesCount){console.error(`PDFLinkService.#goToDestinationHelper: "${T}" is not a valid page number, for dest="${e}".`);return}this.pdfHistory&&(this.pdfHistory.pushCurrentPosition(),this.pdfHistory.push({namedDest:s,explicitDest:n,pageNumber:T})),this.pdfViewer.scrollPageIntoView({pageNumber:T,destArray:n,ignoreDestinationZoom:this._ignoreDestinationZoom})},_=new WeakSet,ji=function(e){if(!Array.isArray(e))return!1;const s=e.length;if(s<2)return!1;const n=e[0];if(!(typeof n=="object"&&Number.isInteger(n.num)&&Number.isInteger(n.gen))&&!(Number.isInteger(n)&&n>=0))return!1;const f=e[1];if(!(typeof f=="object"&&typeof f.name=="string"))return!1;let T=!0;switch(f.name){case"XYZ":if(s!==5)return!1;break;case"Fit":case"FitB":return s===2;case"FitH":case"FitBH":case"FitV":case"FitBV":if(s!==3)return!1;break;case"FitR":if(s!==6)return!1;T=!1;break;default:return!1}for(let l=2;l{var S,R,L,W,me;Object.defineProperty(D,"__esModule",{value:!0}),D.animationStarted=D.VERTICAL_PADDING=D.UNKNOWN_SCALE=D.TextLayerMode=D.SpreadMode=D.SidebarView=D.ScrollMode=D.SCROLLBAR_PADDING=D.RenderingStates=D.ProgressBar=D.PresentationModeState=D.OutputScale=D.MIN_SCALE=D.MAX_SCALE=D.MAX_AUTO_SCALE=D.DEFAULT_SCALE_VALUE=D.DEFAULT_SCALE_DELTA=D.DEFAULT_SCALE=D.CursorTool=D.AutoPrintRegExp=void 0,D.apiPageLayoutToViewerModes=z,D.apiPageModeToSidebarView=i,D.approximateFraction=ee,D.backtrackBeforeAllVisibleElements=ge,D.binarySearchFirstItem=H,D.docStyle=void 0,D.getActiveOrFocusedElement=V,D.getPageSizeInches=te,D.getVisibleElements=ye,D.isPortraitOrientation=F,D.isValidRotation=J,D.isValidScrollMode=A,D.isValidSpreadMode=C,D.noContextMenuHandler=Q,D.normalizeWheelEventDelta=Ee,D.normalizeWheelEventDirection=Ce,D.parseQueryString=I,D.removeNullCharacters=le,D.roundToDivide=ae,D.scrollIntoView=T,D.toggleCheckedBtn=u,D.watchScroll=l;const N="auto";D.DEFAULT_SCALE_VALUE=N;const b=1;D.DEFAULT_SCALE=b;const d=1.1;D.DEFAULT_SCALE_DELTA=d;const k=.1;D.MIN_SCALE=k;const w=10;D.MAX_SCALE=w;const y=0;D.UNKNOWN_SCALE=y;const r=1.25;D.MAX_AUTO_SCALE=r;const h=40;D.SCROLLBAR_PADDING=h;const a=5;D.VERTICAL_PADDING=a;const g={INITIAL:0,RUNNING:1,PAUSED:2,FINISHED:3};D.RenderingStates=g;const _={UNKNOWN:0,NORMAL:1,CHANGING:2,FULLSCREEN:3};D.PresentationModeState=_;const v={UNKNOWN:-1,NONE:0,THUMBS:1,OUTLINE:2,ATTACHMENTS:3,LAYERS:4};D.SidebarView=v;const p={DISABLE:0,ENABLE:1,ENABLE_PERMISSIONS:2};D.TextLayerMode=p;const t={UNKNOWN:-1,VERTICAL:0,HORIZONTAL:1,WRAPPED:2,PAGE:3};D.ScrollMode=t;const e={UNKNOWN:-1,NONE:0,ODD:1,EVEN:2};D.SpreadMode=e;const s={SELECT:0,HAND:1,ZOOM:2};D.CursorTool=s;const n=/\bprint\s*\(/;D.AutoPrintRegExp=n;class f{constructor(){const q=window.devicePixelRatio||1;this.sx=q,this.sy=q}get scaled(){return this.sx!==1||this.sy!==1}}D.OutputScale=f;function T(B,q,ce=!1){let ne=B.offsetParent;if(!ne){console.error("offsetParent is not set -- cannot scroll");return}let ue=B.offsetTop+B.clientTop,be=B.offsetLeft+B.clientLeft;for(;ne.clientHeight===ne.scrollHeight&&ne.clientWidth===ne.scrollWidth||ce&&(ne.classList.contains("markedContent")||getComputedStyle(ne).overflow==="hidden");)if(ue+=ne.offsetTop,be+=ne.offsetLeft,ne=ne.offsetParent,!ne)return;q&&(q.top!==void 0&&(ue+=q.top),q.left!==void 0&&(be+=q.left,ne.scrollLeft=be)),ne.scrollTop=ue}function l(B,q){const ce=function(be){ue||(ue=window.requestAnimationFrame(function(){ue=null;const xe=B.scrollLeft,Pe=ne.lastX;xe!==Pe&&(ne.right=xe>Pe),ne.lastX=xe;const Re=B.scrollTop,oe=ne.lastY;Re!==oe&&(ne.down=Re>oe),ne.lastY=Re,q(ne)}))},ne={right:!0,down:!0,lastX:B.scrollLeft,lastY:B.scrollTop,_eventHandler:ce};let ue=null;return B.addEventListener("scroll",ce,!0),ne}function I(B){const q=new Map;for(const[ce,ne]of new URLSearchParams(B))q.set(ce.toLowerCase(),ne);return q}const K=/[\x01-\x1F]/g;function le(B,q=!1){return typeof B!="string"?(console.error("The argument must be a string."),B):(q&&(B=B.replaceAll(K," ")),B.replaceAll("\0",""))}function H(B,q,ce=0){let ne=ce,ue=B.length-1;if(ue<0||!q(B[ue]))return B.length;if(q(B[ne]))return ne;for(;ne>1,ve=B[be];q(ve)?ue=be:ne=be+1}return ne}function ee(B){if(Math.floor(B)===B)return[B,1];const q=1/B,ce=8;if(q>ce)return[1,ce];if(Math.floor(q)===q)return[1,q];const ne=B>1?q:B;let ue=0,be=1,ve=1,xe=1;for(;;){const Re=ue+ve,oe=be+xe;if(oe>ce)break;ne<=Re/oe?(ve=Re,xe=oe):(ue=Re,be=oe)}let Pe;return ne-ue/be=ce&&(ne=q[B-1].div,ue=ne.offsetTop+ne.clientTop);for(let be=B-2;be>=0&&(ne=q[be].div,!(ne.offsetTop+ne.clientTop+ne.clientHeight<=ue));--be)B=be;return B}function ye({scrollEl:B,views:q,sortByVisibility:ce=!1,horizontal:ne=!1,rtl:ue=!1}){const be=B.scrollTop,ve=be+B.clientHeight,xe=B.scrollLeft,Pe=xe+B.clientWidth;function Re(de){const re=de.div;return re.offsetTop+re.clientTop+re.clientHeight>be}function oe(de){const re=de.div,he=re.offsetLeft+re.clientLeft,fe=he+re.clientWidth;return ue?hexe}const we=[],Me=new Set,Oe=q.length;let E=H(q,ne?oe:Re);E>0&&E=ve&&(m=Ie);else if((ne?fe:Ae)>m)break;if(Ie<=be||Ae>=ve||Fe<=xe||fe>=Pe)continue;const ke=Math.max(0,be-Ae)+Math.max(0,Ie-ve),Le=Math.max(0,xe-fe)+Math.max(0,Fe-Pe),Ne=(Se-ke)/Se,Ve=(Te-Le)/Te,De=Ne*Ve*100|0;we.push({id:re.id,x:fe,y:Ae,view:re,percent:De,widthPercent:Ve*100|0}),Me.add(re.id)}const M=we[0],ie=we.at(-1);return ce&&we.sort(function(de,re){const he=de.percent-re.percent;return Math.abs(he)>.001?-he:de.id-re.id}),{first:M,last:ie,views:we,ids:Me}}function Q(B){B.preventDefault()}function Ce(B){let q=Math.hypot(B.deltaX,B.deltaY);const ce=Math.atan2(B.deltaY,B.deltaX);return-.25*Math.PI0&&c(this,W).setProperty("--progressBar-end-offset",`${ne}px`)}setDisableAutoFetch(q=5e3){isNaN(c(this,L))||(c(this,R)&&clearTimeout(c(this,R)),this.show(),_e(this,R,setTimeout(()=>{_e(this,R,null),this.hide()},q)))}hide(){c(this,me)&&(_e(this,me,!1),c(this,S).add("hidden"))}show(){c(this,me)||(_e(this,me,!0),c(this,S).remove("hidden"))}}S=new WeakMap,R=new WeakMap,L=new WeakMap,W=new WeakMap,me=new WeakMap,D.ProgressBar=U;function V(){let B=document,q=B.activeElement||B.querySelector(":focus");for(;q!=null&&q.shadowRoot;)B=q.shadowRoot,q=B.activeElement||B.querySelector(":focus");return q}function z(B){let q=t.VERTICAL,ce=e.NONE;switch(B){case"SinglePage":q=t.PAGE;break;case"OneColumn":break;case"TwoPageLeft":q=t.PAGE;case"TwoColumnLeft":ce=e.ODD;break;case"TwoPageRight":q=t.PAGE;case"TwoColumnRight":ce=e.EVEN;break}return{scrollMode:q,spreadMode:ce}}function i(B){switch(B){case"UseNone":return v.NONE;case"UseThumbs":return v.THUMBS;case"UseOutlines":return v.OUTLINE;case"UseAttachments":return v.ATTACHMENTS;case"UseOC":return v.LAYERS}return v.NONE}function u(B,q,ce=null){B.classList.toggle("toggled",q),B.setAttribute("aria-checked",q),ce==null||ce.classList.toggle("hidden",!q)}},(G,D,N)=>{var y,r,h,Kt;Object.defineProperty(D,"__esModule",{value:!0}),D.AnnotationLayerBuilder=void 0;var b=N(4),d=N(5),k=N(2);class w{constructor({pageDiv:_,pdfPage:v,linkService:p,downloadManager:t,annotationStorage:e=null,imageResourcesPath:s="",renderForms:n=!0,l10n:f=d.NullL10n,enableScripting:T=!1,hasJSActionsPromise:l=null,fieldObjectsPromise:I=null,annotationCanvasMap:K=null,accessibilityManager:le=null}){$(this,h);$(this,y,0);$(this,r,null);this.pageDiv=_,this.pdfPage=v,this.linkService=p,this.downloadManager=t,this.imageResourcesPath=s,this.renderForms=n,this.l10n=f,this.annotationStorage=e,this.enableScripting=T,this._hasJSActionsPromise=l||Promise.resolve(!1),this._fieldObjectsPromise=I||Promise.resolve(null),this._annotationCanvasMap=K,this._accessibilityManager=le,this.div=null,this._cancelled=!1,this._eventBus=p.eventBus}async render(_,v="display"){var s;if(this.div){if(this._cancelled||c(this,y)===0)return;b.AnnotationLayer.update({viewport:_.clone({dontFlip:!0}),div:this.div,annotationCanvasMap:this._annotationCanvasMap});return}const[p,t,e]=await Promise.all([this.pdfPage.getAnnotations({intent:v}),this._hasJSActionsPromise,this._fieldObjectsPromise]);if(!this._cancelled){if(_e(this,y,p.length),this.div=document.createElement("div"),this.div.className="annotationLayer",this.pageDiv.append(this.div),c(this,y)===0){this.hide();return}b.AnnotationLayer.render({viewport:_.clone({dontFlip:!0}),div:this.div,annotations:p,page:this.pdfPage,imageResourcesPath:this.imageResourcesPath,renderForms:this.renderForms,linkService:this.linkService,downloadManager:this.downloadManager,annotationStorage:this.annotationStorage,enableScripting:this.enableScripting,hasJSActions:t,fieldObjects:e,annotationCanvasMap:this._annotationCanvasMap,accessibilityManager:this._accessibilityManager}),this.l10n.translate(this.div),this.linkService.isInPresentationMode&&Z(this,h,Kt).call(this,k.PresentationModeState.FULLSCREEN),c(this,r)||(_e(this,r,n=>{Z(this,h,Kt).call(this,n.state)}),(s=this._eventBus)==null||s._on("presentationmodechanged",c(this,r)))}}cancel(){var _;this._cancelled=!0,c(this,r)&&((_=this._eventBus)==null||_._off("presentationmodechanged",c(this,r)),_e(this,r,null))}hide(){this.div&&(this.div.hidden=!0)}}y=new WeakMap,r=new WeakMap,h=new WeakSet,Kt=function(_){if(!this.div)return;let v=!1;switch(_){case k.PresentationModeState.FULLSCREEN:v=!0;break;case k.PresentationModeState.NORMAL:break;default:return}for(const p of this.div.childNodes)p.hasAttribute("data-internal-link")||(p.inert=v)},D.AnnotationLayerBuilder=w},G=>{let D;typeof window<"u"&&window["pdfjs-dist/build/pdf"]?D=window["pdfjs-dist/build/pdf"]:D=pdfExports,G.exports=D},(G,D)=>{Object.defineProperty(D,"__esModule",{value:!0}),D.NullL10n=void 0,D.fixupLangCode=k,D.getL10nFallback=b;const N={of_pages:"of {{pagesCount}}",page_of_pages:"({{pageNumber}} of {{pagesCount}})",document_properties_kb:"{{size_kb}} KB ({{size_b}} bytes)",document_properties_mb:"{{size_mb}} MB ({{size_b}} bytes)",document_properties_date_string:"{{date}}, {{time}}",document_properties_page_size_unit_inches:"in",document_properties_page_size_unit_millimeters:"mm",document_properties_page_size_orientation_portrait:"portrait",document_properties_page_size_orientation_landscape:"landscape",document_properties_page_size_name_a3:"A3",document_properties_page_size_name_a4:"A4",document_properties_page_size_name_letter:"Letter",document_properties_page_size_name_legal:"Legal",document_properties_page_size_dimension_string:"{{width}} × {{height}} {{unit}} ({{orientation}})",document_properties_page_size_dimension_name_string:"{{width}} × {{height}} {{unit}} ({{name}}, {{orientation}})",document_properties_linearized_yes:"Yes",document_properties_linearized_no:"No",additional_layers:"Additional Layers",page_landmark:"Page {{page}}",thumb_page_title:"Page {{page}}",thumb_page_canvas:"Thumbnail of Page {{page}}",find_reached_top:"Reached top of document, continued from bottom",find_reached_bottom:"Reached end of document, continued from top","find_match_count[one]":"{{current}} of {{total}} match","find_match_count[other]":"{{current}} of {{total}} matches","find_match_count_limit[one]":"More than {{limit}} match","find_match_count_limit[other]":"More than {{limit}} matches",find_not_found:"Phrase not found",page_scale_width:"Page Width",page_scale_fit:"Page Fit",page_scale_auto:"Automatic Zoom",page_scale_actual:"Actual Size",page_scale_percent:"{{scale}}%",loading_error:"An error occurred while loading the PDF.",invalid_file_error:"Invalid or corrupted PDF file.",missing_file_error:"Missing PDF file.",unexpected_response_error:"Unexpected server response.",rendering_error:"An error occurred while rendering the page.",printing_not_supported:"Warning: Printing is not fully supported by this browser.",printing_not_ready:"Warning: The PDF is not fully loaded for printing.",web_fonts_disabled:"Web fonts are disabled: unable to use embedded PDF fonts.",free_text2_default_content:"Start typing…",editor_free_text2_aria_label:"Text Editor",editor_ink2_aria_label:"Draw Editor",editor_ink_canvas_aria_label:"User-created image"};N.print_progress_percent="{{progress}}%";function b(r,h){switch(r){case"find_match_count":r=`find_match_count[${h.total===1?"one":"other"}]`;break;case"find_match_count_limit":r=`find_match_count_limit[${h.limit===1?"one":"other"}]`;break}return N[r]||""}const d={en:"en-US",es:"es-ES",fy:"fy-NL",ga:"ga-IE",gu:"gu-IN",hi:"hi-IN",hy:"hy-AM",nb:"nb-NO",ne:"ne-NP",nn:"nn-NO",pa:"pa-IN",pt:"pt-PT",sv:"sv-SE",zh:"zh-CN"};function k(r){return d[r==null?void 0:r.toLowerCase()]||r}function w(r,h){return h?r.replaceAll(/\{\{\s*(\w+)\s*\}\}/g,(a,g)=>g in h?h[g]:"{{"+g+"}}"):r}const y={async getLanguage(){return"en-us"},async getDirection(){return"ltr"},async get(r,h=null,a=b(r,h)){return w(a,h)},async translate(r){}};D.NullL10n=y},(G,D,N)=>{var w;Object.defineProperty(D,"__esModule",{value:!0}),D.DownloadManager=void 0;var b=N(4);function d(y,r){const h=document.createElement("a");if(!h.click)throw new Error('DownloadManager: "a.click()" is not supported.');h.href=y,h.target="_parent","download"in h&&(h.download=r),(document.body||document.documentElement).append(h),h.click(),h.remove()}class k{constructor(){$(this,w,new WeakMap)}downloadUrl(r,h,a){if(!(0,b.createValidAbsoluteUrl)(r,"http://example.com")){console.error(`downloadUrl - not a valid URL: ${r}`);return}d(r+"#pdfjs.action=download",h)}downloadData(r,h,a){const g=URL.createObjectURL(new Blob([r],{type:a}));d(g,h)}openOrDownloadData(r,h,a){const _=(0,b.isPdfFile)(a)?"application/pdf":"";return this.downloadData(h,a,_),!1}download(r,h,a,g){const _=URL.createObjectURL(r);d(_,a)}}w=new WeakMap,D.DownloadManager=k},(G,D)=>{var w;Object.defineProperty(D,"__esModule",{value:!0}),D.WaitOnType=D.EventBus=D.AutomationEventBus=void 0,D.waitOnEventOrTimeout=b;const N={EVENT:"event",TIMEOUT:"timeout"};D.WaitOnType=N;function b({target:y,name:r,delay:h=0}){return new Promise(function(a,g){if(typeof y!="object"||!(r&&typeof r=="string")||!(Number.isInteger(h)&&h>=0))throw new Error("waitOnEventOrTimeout - invalid parameters.");function _(e){y instanceof d?y._off(r,v):y.removeEventListener(r,v),t&&clearTimeout(t),a(e)}const v=_.bind(null,N.EVENT);y instanceof d?y._on(r,v):y.addEventListener(r,v);const p=_.bind(null,N.TIMEOUT),t=setTimeout(p,h)})}class d{constructor(){$(this,w,Object.create(null))}on(r,h,a=null){this._on(r,h,{external:!0,once:a==null?void 0:a.once})}off(r,h,a=null){this._off(r,h,{external:!0,once:a==null?void 0:a.once})}dispatch(r,h){const a=c(this,w)[r];if(!a||a.length===0)return;let g;for(const{listener:_,external:v,once:p}of a.slice(0)){if(p&&this._off(r,_),v){(g||(g=[])).push(_);continue}_(h)}if(g){for(const _ of g)_(h);g=null}}_on(r,h,a=null){var _;((_=c(this,w))[r]||(_[r]=[])).push({listener:h,external:(a==null?void 0:a.external)===!0,once:(a==null?void 0:a.once)===!0})}_off(r,h,a=null){const g=c(this,w)[r];if(g){for(let _=0,v=g.length;_{Object.defineProperty(D,"__esModule",{value:!0}),D.GenericL10n=void 0,N(9);var b=N(5);const d=document.webL10n;class k{constructor(y){this._lang=y,this._ready=new Promise((r,h)=>{d.setLanguage((0,b.fixupLangCode)(y),()=>{r(d)})})}async getLanguage(){return(await this._ready).getLanguage()}async getDirection(){return(await this._ready).getDirection()}async get(y,r=null,h=(0,b.getL10nFallback)(y,r)){return(await this._ready).get(y,r,h)}async translate(y){return(await this._ready).translate(y)}}D.GenericL10n=k},()=>{document.webL10n=function(G,D,N){var b={},d="",k="textContent",w="",y={},r="loading",h=!0;function a(){return D.querySelectorAll('link[type="application/l10n"]')}function g(){var H=D.querySelector('script[type="application/l10n"]');return H?JSON.parse(H.innerHTML):null}function _(H){return H?H.querySelectorAll("*[data-l10n-id]"):[]}function v(H){if(!H)return{};var ee=H.getAttribute("data-l10n-id"),ae=H.getAttribute("data-l10n-args"),te={};if(ae)try{te=JSON.parse(ae)}catch{console.warn("could not parse arguments for #"+ee)}return{id:ee,args:te}}function p(H,ee,ae){ee=ee||function(ye){},ae=ae||function(){};var te=new XMLHttpRequest;te.open("GET",H,h),te.overrideMimeType&&te.overrideMimeType("text/plain; charset=utf-8"),te.onreadystatechange=function(){te.readyState==4&&(te.status==200||te.status===0?ee(te.responseText):ae())},te.onerror=ae,te.ontimeout=ae;try{te.send(null)}catch{ae()}}function t(H,ee,ae,te){var ge=H.replace(/[^\/]*$/,"")||"./";function ye(Ce){return Ce.lastIndexOf("\\")<0?Ce:Ce.replace(/\\\\/g,"\\").replace(/\\n/g,` `).replace(/\\r/g,"\r").replace(/\\t/g," ").replace(/\\b/g,"\b").replace(/\\f/g,"\f").replace(/\\{/g,"{").replace(/\\}/g,"}").replace(/\\"/g,'"').replace(/\\'/g,"'")}function Q(Ce,Ee){var J={},A=/^\s*|\s*$/,C=/^\s*#|^\s*$/,F=/^\s*\[(.*)\]\s*$/,Y=/^\s*@import\s+url\((.*)\)\s*$/i,j=/^([^=\s]*)\s*=\s*(.+)$/;function se(V,z,i){var u=V.replace(A,"").split(/[\r\n]+/),S="*",R=ee.split("-",1)[0],L=!1,W="";function me(){for(;;){if(!u.length){i();return}var B=u.shift();if(!C.test(B)){if(z){if(W=F.exec(B),W){S=W[1].toLowerCase(),L=S!=="*"&&S!==ee&&S!==R;continue}else if(L)continue;if(W=Y.exec(B),W){U(ge+W[1],me);return}}var q=B.match(j);q&&q.length==3&&(J[q[1]]=ye(q[2]))}}}me()}function U(V,z){p(V,function(i){se(i,!1,z)},function(){console.warn(V+" not found."),z()})}se(Ce,!0,function(){Ee(J)})}p(H,function(Ce){d+=Ce,Q(Ce,function(Ee){for(var J in Ee){var A,C,F=J.lastIndexOf(".");F>0?(A=J.substring(0,F),C=J.substring(F+1)):(A=J,C=k),b[A]||(b[A]={}),b[A][C]=Ee[J]}ae&&ae()})},te)}function e(H,ee){H&&(H=H.toLowerCase()),ee=ee||function(){},s(),w=H;var ae=a(),te=ae.length;if(te===0){var ge=g();if(ge&&ge.locales&&ge.default_locale){if(console.log("using the embedded JSON directory, early way out"),b=ge.locales[H],!b){var ye=ge.default_locale.toLowerCase();for(var Q in ge.locales)if(Q=Q.toLowerCase(),Q===H){b=ge.locales[H];break}else Q===ye&&(b=ge.locales[ye])}ee()}else console.log("no resource to load, early way out");r="complete";return}var Ce=null,Ee=0;Ce=function(){Ee++,Ee>=te&&(ee(),r="complete")};function J(F){var Y=F.href;this.load=function(j,se){t(Y,j,se,function(){console.warn(Y+" not found."),console.warn('"'+j+'" resource not found'),w="",se()})}}for(var A=0;A0&&(ge=H.substring(te+1),H=H.substring(0,te));var ye;ae&&(ye={},ye[ge]=ae);var Q=f(H,ee,ye);return Q&&ge in Q?Q[ge]:"{{"+H+"}}"},getData:function(){return b},getText:function(){return d},getLanguage:function(){return w},setLanguage:function(H,ee){e(H,function(){ee&&ee()})},getDirection:function(){var H=["ar","he","fa","ps","ur"],ee=w.split("-",1)[0];return H.indexOf(ee)>=0?"rtl":"ltr"},translate:le,getReadyState:function(){return r},ready:function(H){if(H)r=="complete"||r=="interactive"?G.setTimeout(function(){H()}):D.addEventListener&&D.addEventListener("localized",function ee(){D.removeEventListener("localized",ee),H()});else return}}}(window,document)},(G,D,N)=>{var ee,ae,te,ge,Hi,Q,Yt,Ee,Zt,A,Wi,F,$i,j,Gi,U,Qt,z,Xi,u,qi,R,St,W,ut,B,ot,ce,Ki,ue,Jt,ve,ei,Pe,Et,oe,Yi,Me,ti,E,ii,M,dt;Object.defineProperty(D,"__esModule",{value:!0}),D.PDFFindController=D.FindState=void 0;var b=N(2),d=N(11),k=N(4);const w={FOUND:0,NOT_FOUND:1,WRAPPED:2,PENDING:3};D.FindState=w;const y=250,r=-50,h=-400,a={"‐":"-","‘":"'","’":"'","‚":"'","‛":"'","“":'"',"”":'"',"„":'"',"‟":'"',"¼":"1/4","½":"1/2","¾":"3/4"},g=new Set([12441,12442,2381,2509,2637,2765,2893,3021,3149,3277,3387,3388,3405,3530,3642,3770,3972,4153,4154,5908,5940,6098,6752,6980,7082,7083,7154,7155,11647,43014,43052,43204,43347,43456,43766,44013,3158,3953,3954,3962,3963,3964,3965,3968,3956]);let _;const v=/\p{M}+/gu,p=/([.*+?^${}()|[\]\\])|(\p{P})|(\s+)|(\p{M})|(\p{L})/gu,t=/([^\p{M}])\p{M}*$/u,e=/^\p{M}*([^\p{M}])/u,s=/[\uAC00-\uD7AF\uFA6C\uFACF-\uFAD1\uFAD5-\uFAD7]+/g,n=new Map,f="[\\u1100-\\u1112\\ud7a4-\\ud7af\\ud84a\\ud84c\\ud850\\ud854\\ud857\\ud85f]",T=new Map;let l=null,I=null;function K(de){const re=[];let he;for(;(he=s.exec(de))!==null;){let{index:De}=he;for(const Ue of he[0]){let Be=n.get(Ue);Be||(Be=Ue.normalize("NFD").length,n.set(Ue,Be)),re.push([Be,De++])}}let fe;if(re.length===0&&l)fe=l;else if(re.length>0&&I)fe=I;else{const De=Object.keys(a).join(""),Ue=(0,d.getNormalizeWithNFKC)(),He=`([${De}])|([${Ue}])|((?:゙|゚)\\n)|(\\p{M}+(?:-\\n)?)|(\\S-\\n)|((?:\\p{Ideographic}|[぀-ヿ])\\n)|(\\n)`;re.length===0?fe=l=new RegExp(He+"|(\\u0000)","gum"):fe=I=new RegExp(He+`|(${f})`,"gum")}const Ae=[];for(;(he=v.exec(de))!==null;)Ae.push([he[0].length,he.index]);let Te=de.normalize("NFD");const Se=[[0,0]];let Fe=0,Ie=0,ke=0,Le=0,Ne=0,Ve=!1;return Te=Te.replace(fe,(De,Ue,Be,ze,He,Ge,Ye,it,pt,$e)=>{var gi,mi,_i;if($e-=Le,Ue){const We=a[Ue],Xe=We.length;for(let qe=1;qeLe[0]>=fe);de[Te][0]>fe&&--Te;let Se=(0,b.binarySearchFirstItem)(de,Le=>Le[0]>=Ae,Te);de[Se][0]>Ae&&--Se;const Fe=fe+de[Te][1],ke=Ae+de[Se][1]+1-Fe;return[Fe,ke]}class H{constructor({linkService:re,eventBus:he,updateMatchesCountOnProgress:fe=!0}){$(this,ge);$(this,Q);$(this,Ee);$(this,A);$(this,F);$(this,j);$(this,U);$(this,z);$(this,u);$(this,R);$(this,W);$(this,B);$(this,ce);$(this,ue);$(this,ve);$(this,Pe);$(this,oe);$(this,Me);$(this,E);$(this,M);$(this,ee,null);$(this,ae,!0);$(this,te,0);this._linkService=re,this._eventBus=he,_e(this,ae,fe),Z(this,Q,Yt).call(this),he._on("find",Z(this,ge,Hi).bind(this)),he._on("findbarclose",Z(this,oe,Yi).bind(this))}get highlightMatches(){return this._highlightMatches}get pageMatches(){return this._pageMatches}get pageMatchesLength(){return this._pageMatchesLength}get selected(){return this._selected}get state(){return c(this,ee)}setDocument(re){this._pdfDocument&&Z(this,Q,Yt).call(this),re&&(this._pdfDocument=re,this._firstPageCapability.resolve())}scrollMatchIntoView({element:re=null,selectedLeft:he=0,pageIndex:fe=-1,matchIndex:Ae=-1}){if(!this._scrollMatches||!re)return;if(Ae===-1||Ae!==this._selected.matchIdx)return;if(fe===-1||fe!==this._selected.pageIdx)return;this._scrollMatches=!1;const Te={top:r,left:he+h};(0,b.scrollIntoView)(re,Te,!0)}}ee=new WeakMap,ae=new WeakMap,te=new WeakMap,ge=new WeakSet,Hi=function(re){if(!re)return;re.phraseSearch===!1&&(console.error("The `phraseSearch`-parameter was removed, please provide an Array of strings in the `query`-parameter instead."),typeof re.query=="string"&&(re.query=re.query.match(/\S+/g)));const he=this._pdfDocument,{type:fe}=re;(c(this,ee)===null||Z(this,A,Wi).call(this,re))&&(this._dirtyMatch=!0),_e(this,ee,re),fe!=="highlightallchange"&&Z(this,M,dt).call(this,w.PENDING),this._firstPageCapability.promise.then(()=>{if(!this._pdfDocument||he&&this._pdfDocument!==he)return;Z(this,u,qi).call(this);const Ae=!this._highlightMatches,Te=!!this._findTimeout;this._findTimeout&&(clearTimeout(this._findTimeout),this._findTimeout=null),fe?this._dirtyMatch?Z(this,B,ot).call(this):fe==="again"?(Z(this,B,ot).call(this),Ae&&c(this,ee).highlightAll&&Z(this,W,ut).call(this)):fe==="highlightallchange"?(Te?Z(this,B,ot).call(this):this._highlightMatches=!0,Z(this,W,ut).call(this)):Z(this,B,ot).call(this):this._findTimeout=setTimeout(()=>{Z(this,B,ot).call(this),this._findTimeout=null},y)})},Q=new WeakSet,Yt=function(){this._highlightMatches=!1,this._scrollMatches=!1,this._pdfDocument=null,this._pageMatches=[],this._pageMatchesLength=[],_e(this,te,0),_e(this,ee,null),this._selected={pageIdx:-1,matchIdx:-1},this._offset={pageIdx:null,matchIdx:null,wrapped:!1},this._extractTextPromises=[],this._pageContents=[],this._pageDiffs=[],this._hasDiacritics=[],this._matchesCountTotal=0,this._pagesToSearch=null,this._pendingFindMatches=new Set,this._resumePageIdx=null,this._dirtyMatch=!1,clearTimeout(this._findTimeout),this._findTimeout=null,this._firstPageCapability=new k.PromiseCapability},Ee=new WeakSet,Zt=function(){const{query:re}=c(this,ee);return typeof re=="string"?(re!==this._rawQuery&&(this._rawQuery=re,[this._normalizedQuery]=K(re)),this._normalizedQuery):(re||[]).filter(he=>!!he).map(he=>K(he)[0])},A=new WeakSet,Wi=function(re){const he=re.query,fe=c(this,ee).query,Ae=typeof he;if(Ae!==typeof fe)return!0;if(Ae==="string"){if(he!==fe)return!0}else if(JSON.stringify(he)!==JSON.stringify(fe))return!0;switch(re.type){case"again":const Se=this._selected.pageIdx+1,Fe=this._linkService;return Se>=1&&Se<=Fe.pagesCount&&Se!==Fe.page&&!Fe.isPageVisible(Se);case"highlightallchange":return!1}return!0},F=new WeakSet,$i=function(re,he,fe){let Ae=re.slice(0,he).match(t);if(Ae){const Te=re.charCodeAt(he),Se=Ae[1].charCodeAt(0);if((0,d.getCharacterType)(Te)===(0,d.getCharacterType)(Se))return!1}if(Ae=re.slice(he+fe).match(e),Ae){const Te=re.charCodeAt(he+fe-1),Se=Ae[1].charCodeAt(0);if((0,d.getCharacterType)(Te)===(0,d.getCharacterType)(Se))return!1}return!0},j=new WeakSet,Gi=function(re,he,fe,Ae){const Te=this._pageMatches[fe]=[],Se=this._pageMatchesLength[fe]=[];if(!re)return;const Fe=this._pageDiffs[fe];let Ie;for(;(Ie=re.exec(Ae))!==null;){if(he&&!Z(this,F,$i).call(this,Ae,Ie.index,Ie[0].length))continue;const[ke,Le]=le(Fe,Ie.index,Ie[0].length);Le&&(Te.push(ke),Se.push(Le))}},U=new WeakSet,Qt=function(re,he){const{matchDiacritics:fe}=c(this,ee);let Ae=!1;re=re.replaceAll(p,(Se,Fe,Ie,ke,Le,Ne)=>Fe?`[ ]*\\${Fe}[ ]*`:Ie?`[ ]*${Ie}[ ]*`:ke?"[ ]+":fe?Le||Ne:Le?g.has(Le.charCodeAt(0))?Le:"":he?(Ae=!0,`${Ne}\\p{M}*`):Ne);const Te="[ ]*";return re.endsWith(Te)&&(re=re.slice(0,re.length-Te.length)),fe&&he&&(_||(_=String.fromCharCode(...g)),Ae=!0,re=`${re}(?=[${_}]|[^\\p{M}]|$)`),[Ae,re]},z=new WeakSet,Xi=function(re){let he=c(this,Ee,Zt);if(he.length===0)return;const{caseSensitive:fe,entireWord:Ae}=c(this,ee),Te=this._pageContents[re],Se=this._hasDiacritics[re];let Fe=!1;typeof he=="string"?[Fe,he]=Z(this,U,Qt).call(this,he,Se):he=he.sort().reverse().map(Le=>{const[Ne,Ve]=Z(this,U,Qt).call(this,Le,Se);return Fe||(Fe=Ne),`(${Ve})`}).join("|");const Ie=`g${Fe?"u":""}${fe?"":"i"}`;he=he?new RegExp(he,Ie):null,Z(this,j,Gi).call(this,he,Ae,re,Te),c(this,ee).highlightAll&&Z(this,R,St).call(this,re),this._resumePageIdx===re&&(this._resumePageIdx=null,Z(this,ue,Jt).call(this));const ke=this._pageMatches[re].length;this._matchesCountTotal+=ke,c(this,ae)?ke>0&&Z(this,E,ii).call(this):++lt(this,te)._===this._linkService.pagesCount&&Z(this,E,ii).call(this)},u=new WeakSet,qi=function(){if(this._extractTextPromises.length>0)return;let re=Promise.resolve();const he={disableNormalization:!0};for(let fe=0,Ae=this._linkService.pagesCount;fethis._pdfDocument.getPage(fe+1).then(Se=>Se.getTextContent(he)).then(Se=>{const Fe=[];for(const Ie of Se.items)Fe.push(Ie.str),Ie.hasEOL&&Fe.push(` `);[this._pageContents[fe],this._pageDiffs[fe],this._hasDiacritics[fe]]=K(Fe.join("")),Te.resolve()},Se=>{console.error(`Unable to get text content for page ${fe+1}`,Se),this._pageContents[fe]="",this._pageDiffs[fe]=null,this._hasDiacritics[fe]=!1,Te.resolve()}))}},R=new WeakSet,St=function(re){this._scrollMatches&&this._selected.pageIdx===re&&(this._linkService.page=re+1),this._eventBus.dispatch("updatetextlayermatches",{source:this,pageIndex:re})},W=new WeakSet,ut=function(){this._eventBus.dispatch("updatetextlayermatches",{source:this,pageIndex:-1})},B=new WeakSet,ot=function(){const re=c(this,ee).findPrevious,he=this._linkService.page-1,fe=this._linkService.pagesCount;if(this._highlightMatches=!0,this._dirtyMatch){this._dirtyMatch=!1,this._selected.pageIdx=this._selected.matchIdx=-1,this._offset.pageIdx=he,this._offset.matchIdx=null,this._offset.wrapped=!1,this._resumePageIdx=null,this._pageMatches.length=0,this._pageMatchesLength.length=0,_e(this,te,0),this._matchesCountTotal=0,Z(this,W,ut).call(this);for(let Se=0;Se{this._pendingFindMatches.delete(Se),Z(this,z,Xi).call(this,Se)}))}if(c(this,Ee,Zt).length===0){Z(this,M,dt).call(this,w.FOUND);return}if(this._resumePageIdx)return;const Te=this._offset;if(this._pagesToSearch=fe,Te.matchIdx!==null){const Se=this._pageMatches[Te.pageIdx].length;if(!re&&Te.matchIdx+10){Te.matchIdx=re?Te.matchIdx-1:Te.matchIdx+1,Z(this,Pe,Et).call(this,!0);return}Z(this,ve,ei).call(this,re)}Z(this,ue,Jt).call(this)},ce=new WeakSet,Ki=function(re){const he=this._offset,fe=re.length,Ae=c(this,ee).findPrevious;return fe?(he.matchIdx=Ae?fe-1:0,Z(this,Pe,Et).call(this,!0),!0):(Z(this,ve,ei).call(this,Ae),he.wrapped&&(he.matchIdx=null,this._pagesToSearch<0)?(Z(this,Pe,Et).call(this,!1),!0):!1)},ue=new WeakSet,Jt=function(){this._resumePageIdx!==null&&console.error("There can only be one pending page.");let re=null;do{const he=this._offset.pageIdx;if(re=this._pageMatches[he],!re){this._resumePageIdx=he;break}}while(!Z(this,ce,Ki).call(this,re))},ve=new WeakSet,ei=function(re){const he=this._offset,fe=this._linkService.pagesCount;he.pageIdx=re?he.pageIdx-1:he.pageIdx+1,he.matchIdx=null,this._pagesToSearch--,(he.pageIdx>=fe||he.pageIdx<0)&&(he.pageIdx=re?fe-1:0,he.wrapped=!0)},Pe=new WeakSet,Et=function(re=!1){let he=w.NOT_FOUND;const fe=this._offset.wrapped;if(this._offset.wrapped=!1,re){const Ae=this._selected.pageIdx;this._selected.pageIdx=this._offset.pageIdx,this._selected.matchIdx=this._offset.matchIdx,he=fe?w.WRAPPED:w.FOUND,Ae!==-1&&Ae!==this._selected.pageIdx&&Z(this,R,St).call(this,Ae)}Z(this,M,dt).call(this,he,c(this,ee).findPrevious),this._selected.pageIdx!==-1&&(this._scrollMatches=!0,Z(this,R,St).call(this,this._selected.pageIdx))},oe=new WeakSet,Yi=function(re){const he=this._pdfDocument;this._firstPageCapability.promise.then(()=>{!this._pdfDocument||he&&this._pdfDocument!==he||(this._findTimeout&&(clearTimeout(this._findTimeout),this._findTimeout=null),this._resumePageIdx&&(this._resumePageIdx=null,this._dirtyMatch=!0),Z(this,M,dt).call(this,w.FOUND),this._highlightMatches=!1,Z(this,W,ut).call(this))})},Me=new WeakSet,ti=function(){var Te;const{pageIdx:re,matchIdx:he}=this._selected;let fe=0,Ae=this._matchesCountTotal;if(he!==-1){for(let Se=0;SeAe)&&(fe=Ae=0),{current:fe,total:Ae}},E=new WeakSet,ii=function(){this._eventBus.dispatch("updatefindmatchescount",{source:this,matchesCount:Z(this,Me,ti).call(this)})},M=new WeakSet,dt=function(re,he=!1){var fe;!c(this,ae)&&(c(this,te)!==this._linkService.pagesCount||re===w.PENDING)||this._eventBus.dispatch("updatefindcontrolstate",{source:this,state:re,previous:he,matchesCount:Z(this,Me,ti).call(this),rawQuery:((fe=c(this,ee))==null?void 0:fe.query)??null})},D.PDFFindController=H},(G,D)=>{Object.defineProperty(D,"__esModule",{value:!0}),D.CharacterType=void 0,D.getCharacterType=v,D.getNormalizeWithNFKC=t;const N={SPACE:0,ALPHA_LETTER:1,PUNCT:2,HAN_LETTER:3,KATAKANA_LETTER:4,HIRAGANA_LETTER:5,HALFWIDTH_KATAKANA_LETTER:6,THAI_LETTER:7};D.CharacterType=N;function b(e){return e<11904}function d(e){return(e&65408)===0}function k(e){return e>=97&&e<=122||e>=65&&e<=90}function w(e){return e>=48&&e<=57}function y(e){return e===32||e===9||e===13||e===10}function r(e){return e>=13312&&e<=40959||e>=63744&&e<=64255}function h(e){return e>=12448&&e<=12543}function a(e){return e>=12352&&e<=12447}function g(e){return e>=65376&&e<=65439}function _(e){return(e&65408)===3584}function v(e){return b(e)?d(e)?y(e)?N.SPACE:k(e)||w(e)||e===95?N.ALPHA_LETTER:N.PUNCT:_(e)?N.THAI_LETTER:e===160?N.SPACE:N.ALPHA_LETTER:r(e)?N.HAN_LETTER:h(e)?N.KATAKANA_LETTER:a(e)?N.HIRAGANA_LETTER:g(e)?N.HALFWIDTH_KATAKANA_LETTER:N.ALPHA_LETTER}let p;function t(){return p||(p=" ¨ª¯²-µ¸-º¼-¾IJ-ijĿ-ŀʼnſDŽ-njDZ-dzʰ-ʸ˘-˝ˠ-ˤʹͺ;΄-΅·ϐ-ϖϰ-ϲϴ-ϵϹևٵ-ٸक़-य़ড়-ঢ়য়ਲ਼ਸ਼ਖ਼-ਜ਼ਫ਼ଡ଼-ଢ଼ำຳໜ-ໝ༌གྷཌྷདྷབྷཛྷཀྵჼᴬ-ᴮᴰ-ᴺᴼ-ᵍᵏ-ᵪᵸᶛ-ᶿẚ-ẛάέήίόύώΆ᾽-῁ΈΉ῍-῏ΐΊ῝-῟ΰΎ῭-`ΌΏ´-῾ - ‑‗․-… ″-‴‶-‷‼‾⁇-⁉⁗ ⁰-ⁱ⁴-₎ₐ-ₜ₨℀-℃℅-ℇ℉-ℓℕ-№ℙ-ℝ℠-™ℤΩℨK-ℭℯ-ℱℳ-ℹ℻-⅀ⅅ-ⅉ⅐-ⅿ↉∬-∭∯-∰〈-〉①-⓪⨌⩴-⩶⫝̸ⱼ-ⱽⵯ⺟⻳⼀-⿕ 〶〸-〺゛-゜ゟヿㄱ-ㆎ㆒-㆟㈀-㈞㈠-㉇㉐-㉾㊀-㏿ꚜ-ꚝꝰꟲ-ꟴꟸ-ꟹꭜ-ꭟꭩ豈-嗀塚晴凞-羽蘒諸逸-都飯-舘並-龎ff-stﬓ-ﬗיִײַ-זּטּ-לּמּנּ-סּףּ-פּצּ-ﮱﯓ-ﴽﵐ-ﶏﶒ-ﷇﷰ-﷼︐-︙︰-﹄﹇-﹒﹔-﹦﹨-﹫ﹰ-ﹲﹴﹶ-ﻼ!-하-ᅦᅧ-ᅬᅭ-ᅲᅳ-ᅵ¢-₩"),p}},(G,D,N)=>{Object.defineProperty(D,"__esModule",{value:!0}),D.PDFHistory=void 0,D.isDestArraysEqual=g,D.isDestHashesEqual=a;var b=N(2),d=N(7);const k=1e3,w=50,y=1e3;function r(){return document.location.hash}class h{constructor({linkService:v,eventBus:p}){this.linkService=v,this.eventBus=p,this._initialized=!1,this._fingerprint="",this.reset(),this._boundEvents=null,this.eventBus._on("pagesinit",()=>{this._isPagesLoaded=!1,this.eventBus._on("pagesloaded",t=>{this._isPagesLoaded=!!t.pagesCount},{once:!0})})}initialize({fingerprint:v,resetHistory:p=!1,updateUrl:t=!1}){if(!v||typeof v!="string"){console.error('PDFHistory.initialize: The "fingerprint" must be a non-empty string.');return}this._initialized&&this.reset();const e=this._fingerprint!==""&&this._fingerprint!==v;this._fingerprint=v,this._updateUrl=t===!0,this._initialized=!0,this._bindEvents();const s=window.history.state;if(this._popStateInProgress=!1,this._blockHashChange=0,this._currentHash=r(),this._numPositionUpdates=0,this._uid=this._maxUid=0,this._destination=null,this._position=null,!this._isValidState(s,!0)||p){const{hash:f,page:T,rotation:l}=this._parseCurrentHash(!0);if(!f||e||p){this._pushOrReplaceState(null,!0);return}this._pushOrReplaceState({hash:f,page:T,rotation:l},!0);return}const n=s.destination;this._updateInternalState(n,s.uid,!0),n.rotation!==void 0&&(this._initialRotation=n.rotation),n.dest?(this._initialBookmark=JSON.stringify(n.dest),this._destination.page=null):n.hash?this._initialBookmark=n.hash:n.page&&(this._initialBookmark=`page=${n.page}`)}reset(){this._initialized&&(this._pageHide(),this._initialized=!1,this._unbindEvents()),this._updateViewareaTimeout&&(clearTimeout(this._updateViewareaTimeout),this._updateViewareaTimeout=null),this._initialBookmark=null,this._initialRotation=null}push({namedDest:v=null,explicitDest:p,pageNumber:t}){if(!this._initialized)return;if(v&&typeof v!="string"){console.error(`PDFHistory.push: "${v}" is not a valid namedDest parameter.`);return}else if(Array.isArray(p)){if(!this._isValidPage(t)&&(t!==null||this._destination)){console.error(`PDFHistory.push: "${t}" is not a valid pageNumber parameter.`);return}}else{console.error(`PDFHistory.push: "${p}" is not a valid explicitDest parameter.`);return}const e=v||JSON.stringify(p);if(!e)return;let s=!1;if(this._destination&&(a(this._destination.hash,e)||g(this._destination.dest,p))){if(this._destination.page)return;s=!0}this._popStateInProgress&&!s||(this._pushOrReplaceState({dest:p,hash:e,page:t,rotation:this.linkService.rotation},s),this._popStateInProgress||(this._popStateInProgress=!0,Promise.resolve().then(()=>{this._popStateInProgress=!1})))}pushPage(v){var p;if(this._initialized){if(!this._isValidPage(v)){console.error(`PDFHistory.pushPage: "${v}" is not a valid page number.`);return}((p=this._destination)==null?void 0:p.page)!==v&&(this._popStateInProgress||(this._pushOrReplaceState({dest:null,hash:`page=${v}`,page:v,rotation:this.linkService.rotation}),this._popStateInProgress||(this._popStateInProgress=!0,Promise.resolve().then(()=>{this._popStateInProgress=!1}))))}}pushCurrentPosition(){!this._initialized||this._popStateInProgress||this._tryPushCurrentPosition()}back(){if(!this._initialized||this._popStateInProgress)return;const v=window.history.state;this._isValidState(v)&&v.uid>0&&window.history.back()}forward(){if(!this._initialized||this._popStateInProgress)return;const v=window.history.state;this._isValidState(v)&&v.uid0)}get initialBookmark(){return this._initialized?this._initialBookmark:null}get initialRotation(){return this._initialized?this._initialRotation:null}_pushOrReplaceState(v,p=!1){const t=p||!this._destination,e={fingerprint:this._fingerprint,uid:t?this._uid:this._uid+1,destination:v};this._updateInternalState(v,e.uid);let s;if(this._updateUrl&&(v!=null&&v.hash)){const n=document.location.href.split("#")[0];n.startsWith("file://")||(s=`${n}#${v.hash}`)}t?window.history.replaceState(e,"",s):window.history.pushState(e,"",s)}_tryPushCurrentPosition(v=!1){if(!this._position)return;let p=this._position;if(v&&(p=Object.assign(Object.create(null),this._position),p.temporary=!0),!this._destination){this._pushOrReplaceState(p);return}if(this._destination.temporary){this._pushOrReplaceState(p,!0);return}if(this._destination.hash===p.hash||!this._destination.page&&this._numPositionUpdates<=w)return;let t=!1;if(this._destination.page>=p.first&&this._destination.page<=p.page){if(this._destination.dest!==void 0||!this._destination.first)return;t=!0}this._pushOrReplaceState(p,t)}_isValidPage(v){return Number.isInteger(v)&&v>0&&v<=this.linkService.pagesCount}_isValidState(v,p=!1){if(!v)return!1;if(v.fingerprint!==this._fingerprint)if(p){if(typeof v.fingerprint!="string"||v.fingerprint.length!==this._fingerprint.length)return!1;const[t]=performance.getEntriesByType("navigation");if((t==null?void 0:t.type)!=="reload")return!1}else return!1;return!(!Number.isInteger(v.uid)||v.uid<0||v.destination===null||typeof v.destination!="object")}_updateInternalState(v,p,t=!1){this._updateViewareaTimeout&&(clearTimeout(this._updateViewareaTimeout),this._updateViewareaTimeout=null),t&&(v!=null&&v.temporary)&&delete v.temporary,this._destination=v,this._uid=p,this._maxUid=Math.max(this._maxUid,p),this._numPositionUpdates=0}_parseCurrentHash(v=!1){const p=unescape(r()).substring(1),t=(0,b.parseQueryString)(p),e=t.get("nameddest")||"";let s=t.get("page")|0;return(!this._isValidPage(s)||v&&e.length>0)&&(s=null),{hash:p,page:s,rotation:this.linkService.rotation}}_updateViewarea({location:v}){this._updateViewareaTimeout&&(clearTimeout(this._updateViewareaTimeout),this._updateViewareaTimeout=null),this._position={hash:v.pdfOpenParams.substring(1),page:this.linkService.page,first:v.pageNumber,rotation:v.rotation},!this._popStateInProgress&&(this._isPagesLoaded&&this._destination&&!this._destination.page&&this._numPositionUpdates++,this._updateViewareaTimeout=setTimeout(()=>{this._popStateInProgress||this._tryPushCurrentPosition(!0),this._updateViewareaTimeout=null},y))}_popState({state:v}){const p=r(),t=this._currentHash!==p;if(this._currentHash=p,!v){this._uid++;const{hash:s,page:n,rotation:f}=this._parseCurrentHash();this._pushOrReplaceState({hash:s,page:n,rotation:f},!0);return}if(!this._isValidState(v))return;this._popStateInProgress=!0,t&&(this._blockHashChange++,(0,d.waitOnEventOrTimeout)({target:window,name:"hashchange",delay:k}).then(()=>{this._blockHashChange--}));const e=v.destination;this._updateInternalState(e,v.uid,!0),(0,b.isValidRotation)(e.rotation)&&(this.linkService.rotation=e.rotation),e.dest?this.linkService.goToDestination(e.dest):e.hash?this.linkService.setHash(e.hash):e.page&&(this.linkService.page=e.page),Promise.resolve().then(()=>{this._popStateInProgress=!1})}_pageHide(){(!this._destination||this._destination.temporary)&&this._tryPushCurrentPosition()}_bindEvents(){this._boundEvents||(this._boundEvents={updateViewarea:this._updateViewarea.bind(this),popState:this._popState.bind(this),pageHide:this._pageHide.bind(this)},this.eventBus._on("updateviewarea",this._boundEvents.updateViewarea),window.addEventListener("popstate",this._boundEvents.popState),window.addEventListener("pagehide",this._boundEvents.pageHide))}_unbindEvents(){this._boundEvents&&(this.eventBus._off("updateviewarea",this._boundEvents.updateViewarea),window.removeEventListener("popstate",this._boundEvents.popState),window.removeEventListener("pagehide",this._boundEvents.pageHide),this._boundEvents=null)}}D.PDFHistory=h;function a(_,v){return typeof _!="string"||typeof v!="string"?!1:_===v||(0,b.parseQueryString)(_).get("nameddest")===v}function g(_,v){function p(t,e){if(typeof t!=typeof e||Array.isArray(t)||Array.isArray(e))return!1;if(t!==null&&typeof t=="object"&&e!==null){if(Object.keys(t).length!==Object.keys(e).length)return!1;for(const s in t)if(!p(t[s],e[s]))return!1;return!0}return t===e||Number.isNaN(t)&&Number.isNaN(e)}if(!(Array.isArray(_)&&Array.isArray(v))||_.length!==v.length)return!1;for(let t=0,e=_.length;t{var n,f,T,l,I,K,le,H,ee,ae,Pt,ge,ni,Q,si,Ee,ri,A,ai,F,Zi,j,Qi,U,oi;Object.defineProperty(D,"__esModule",{value:!0}),D.PDFPageView=void 0;var b=N(4),d=N(2),k=N(14),w=N(3),y=N(15),r=N(5),h=N(1),a=N(16),g=N(17),_=N(18),v=N(19),p=N(20);const t=y.compatibilityParams.maxCanvasPixels||16777216,e=()=>({annotationEditorUIManager:null,annotationStorage:null,downloadManager:null,enableScripting:!1,fieldObjectsPromise:null,findController:null,hasJSActionsPromise:null,get linkService(){return new h.SimpleLinkService}});class s{constructor(i){$(this,ae);$(this,ge);$(this,Q);$(this,Ee);$(this,A);$(this,F);$(this,j);$(this,U);$(this,n,b.AnnotationMode.ENABLE_FORMS);$(this,f,null);$(this,T,null);$(this,l,null);$(this,I,null);$(this,K,d.RenderingStates.INITIAL);$(this,le,d.TextLayerMode.ENABLE);$(this,H,{initialOptionalContent:!0,regularAnnotations:!0});$(this,ee,new WeakMap);var L;const u=i.container,S=i.defaultViewport;this.id=i.id,this.renderingId="page"+this.id,_e(this,f,i.layerProperties||e),this.pdfPage=null,this.pageLabel=null,this.rotation=0,this.scale=i.scale||d.DEFAULT_SCALE,this.viewport=S,this.pdfPageRotate=S.rotation,this._optionalContentConfigPromise=i.optionalContentConfigPromise||null,this.hasRestrictedScaling=!1,_e(this,le,i.textLayerMode??d.TextLayerMode.ENABLE),_e(this,n,i.annotationMode??b.AnnotationMode.ENABLE_FORMS),this.imageResourcesPath=i.imageResourcesPath||"",this.useOnlyCssZoom=i.useOnlyCssZoom||!1,this.isOffscreenCanvasSupported=i.isOffscreenCanvasSupported??!0,this.maxCanvasPixels=i.maxCanvasPixels||t,this.pageColors=i.pageColors||null,this.eventBus=i.eventBus,this.renderingQueue=i.renderingQueue,this.l10n=i.l10n||r.NullL10n,this.renderTask=null,this.resume=null,this._isStandalone=!((L=this.renderingQueue)!=null&&L.hasViewer()),this._annotationCanvasMap=null,this.annotationLayer=null,this.annotationEditorLayer=null,this.textLayer=null,this.zoomLayer=null,this.xfaLayer=null,this.structTreeLayer=null;const R=document.createElement("div");if(R.className="page",R.setAttribute("data-page-number",this.id),R.setAttribute("role","region"),this.l10n.get("page_landmark",{page:this.id}).then(W=>{R.setAttribute("aria-label",W)}),this.div=R,Z(this,ae,Pt).call(this),u==null||u.append(R),this._isStandalone){u==null||u.style.setProperty("--scale-factor",this.scale*b.PixelsPerInch.PDF_TO_CSS_UNITS);const{optionalContentConfigPromise:W}=i;W&&W.then(me=>{W===this._optionalContentConfigPromise&&(c(this,H).initialOptionalContent=me.hasInitialVisibility)})}}get renderingState(){return c(this,K)}set renderingState(i){if(i!==c(this,K))switch(_e(this,K,i),c(this,T)&&(clearTimeout(c(this,T)),_e(this,T,null)),i){case d.RenderingStates.PAUSED:this.div.classList.remove("loading");break;case d.RenderingStates.RUNNING:this.div.classList.add("loadingIcon"),_e(this,T,setTimeout(()=>{this.div.classList.add("loading"),_e(this,T,null)},0));break;case d.RenderingStates.INITIAL:case d.RenderingStates.FINISHED:this.div.classList.remove("loadingIcon","loading");break}}setPdfPage(i){this.pdfPage=i,this.pdfPageRotate=i.rotate;const u=(this.rotation+this.pdfPageRotate)%360;this.viewport=i.getViewport({scale:this.scale*b.PixelsPerInch.PDF_TO_CSS_UNITS,rotation:u}),Z(this,ae,Pt).call(this),this.reset()}destroy(){var i;this.reset(),(i=this.pdfPage)==null||i.cleanup()}get _textHighlighter(){return(0,b.shadow)(this,"_textHighlighter",new _.TextHighlighter({pageIndex:this.id-1,eventBus:this.eventBus,findController:c(this,f).call(this).findController}))}_resetZoomLayer(i=!1){if(!this.zoomLayer)return;const u=this.zoomLayer.firstChild;c(this,ee).delete(u),u.width=0,u.height=0,i&&this.zoomLayer.remove(),this.zoomLayer=null}reset({keepZoomLayer:i=!1,keepAnnotationLayer:u=!1,keepAnnotationEditorLayer:S=!1,keepXfaLayer:R=!1,keepTextLayer:L=!1}={}){var be,ve,xe,Pe,Re;this.cancelRendering({keepAnnotationLayer:u,keepAnnotationEditorLayer:S,keepXfaLayer:R,keepTextLayer:L}),this.renderingState=d.RenderingStates.INITIAL;const W=this.div,me=W.childNodes,B=i&&this.zoomLayer||null,q=u&&((be=this.annotationLayer)==null?void 0:be.div)||null,ce=S&&((ve=this.annotationEditorLayer)==null?void 0:ve.div)||null,ne=R&&((xe=this.xfaLayer)==null?void 0:xe.div)||null,ue=L&&((Pe=this.textLayer)==null?void 0:Pe.div)||null;for(let oe=me.length-1;oe>=0;oe--){const we=me[oe];switch(we){case B:case q:case ce:case ne:case ue:continue}we.remove()}W.removeAttribute("data-loaded"),q&&this.annotationLayer.hide(),ce&&this.annotationEditorLayer.hide(),ne&&this.xfaLayer.hide(),ue&&this.textLayer.hide(),(Re=this.structTreeLayer)==null||Re.hide(),B||(this.canvas&&(c(this,ee).delete(this.canvas),this.canvas.width=0,this.canvas.height=0,delete this.canvas),this._resetZoomLayer())}update({scale:i=0,rotation:u=null,optionalContentConfigPromise:S=null,drawingDelay:R=-1}){var q;this.scale=i||this.scale,typeof u=="number"&&(this.rotation=u),S instanceof Promise&&(this._optionalContentConfigPromise=S,S.then(ce=>{S===this._optionalContentConfigPromise&&(c(this,H).initialOptionalContent=ce.hasInitialVisibility)}));const L=(this.rotation+this.pdfPageRotate)%360;this.viewport=this.viewport.clone({scale:this.scale*b.PixelsPerInch.PDF_TO_CSS_UNITS,rotation:L}),Z(this,ae,Pt).call(this),this._isStandalone&&((q=this.div.parentNode)==null||q.style.setProperty("--scale-factor",this.viewport.scale));let W=!1;if(this.canvas&&this.maxCanvasPixels>0){const{width:ce,height:ne}=this.viewport,{sx:ue,sy:be}=this.outputScale;(Math.floor(ce)*ue|0)*(Math.floor(ne)*be|0)>this.maxCanvasPixels&&(W=!0)}const me=this.useOnlyCssZoom||this.hasRestrictedScaling&&W,B=!me&&R>=0&&R<1e3;if(this.canvas){if(B||me){B&&this.renderingState!==d.RenderingStates.FINISHED&&(this.cancelRendering({keepZoomLayer:!0,keepAnnotationLayer:!0,keepAnnotationEditorLayer:!0,keepXfaLayer:!0,keepTextLayer:!0,cancelExtraDelay:R}),this.renderingState=d.RenderingStates.FINISHED),this.cssTransform({target:this.canvas,redrawAnnotationLayer:!0,redrawAnnotationEditorLayer:!0,redrawXfaLayer:!0,redrawTextLayer:!B,hideTextLayer:B}),this.eventBus.dispatch("pagerendered",{source:this,pageNumber:this.id,cssTransform:!0,timestamp:performance.now(),error:c(this,I)});return}!this.zoomLayer&&!this.canvas.hidden&&(this.zoomLayer=this.canvas.parentNode,this.zoomLayer.style.position="absolute")}this.zoomLayer&&this.cssTransform({target:this.zoomLayer.firstChild}),this.reset({keepZoomLayer:!0,keepAnnotationLayer:!0,keepAnnotationEditorLayer:!0,keepXfaLayer:!0,keepTextLayer:!0})}cancelRendering({keepAnnotationLayer:i=!1,keepAnnotationEditorLayer:u=!1,keepXfaLayer:S=!1,keepTextLayer:R=!1,cancelExtraDelay:L=0}={}){var W;this.renderTask&&(this.renderTask.cancel(L),this.renderTask=null),this.resume=null,this.textLayer&&(!R||!this.textLayer.div)&&(this.textLayer.cancel(),this.textLayer=null),this.structTreeLayer&&!this.textLayer&&(this.structTreeLayer=null),this.annotationLayer&&(!i||!this.annotationLayer.div)&&(this.annotationLayer.cancel(),this.annotationLayer=null,this._annotationCanvasMap=null),this.annotationEditorLayer&&(!u||!this.annotationEditorLayer.div)&&(this.annotationEditorLayer.cancel(),this.annotationEditorLayer=null),this.xfaLayer&&(!S||!this.xfaLayer.div)&&(this.xfaLayer.cancel(),this.xfaLayer=null,(W=this._textHighlighter)==null||W.disable())}cssTransform({target:i,redrawAnnotationLayer:u=!1,redrawAnnotationEditorLayer:S=!1,redrawXfaLayer:R=!1,redrawTextLayer:L=!1,hideTextLayer:W=!1}){var B;if(!i.hasAttribute("zooming")){i.setAttribute("zooming",!0);const{style:q}=i;q.width=q.height=""}const me=c(this,ee).get(i);if(this.viewport!==me){const q=this.viewport.rotation-me.rotation,ce=Math.abs(q);let ne=1,ue=1;if(ce===90||ce===270){const{width:be,height:ve}=this.viewport;ne=ve/be,ue=be/ve}i.style.transform=`rotate(${q}deg) scale(${ne}, ${ue})`}u&&this.annotationLayer&&Z(this,ge,ni).call(this),S&&this.annotationEditorLayer&&Z(this,Q,si).call(this),R&&this.xfaLayer&&Z(this,Ee,ri).call(this),this.textLayer&&(W?(this.textLayer.hide(),(B=this.structTreeLayer)==null||B.hide()):L&&Z(this,A,ai).call(this))}get width(){return this.viewport.width}get height(){return this.viewport.height}getPagePoint(i,u){return this.viewport.convertToPdfPoint(i,u)}async draw(){this.renderingState!==d.RenderingStates.INITIAL&&(console.error("Must be in new state before drawing"),this.reset());const{div:i,l10n:u,pageColors:S,pdfPage:R,viewport:L}=this;if(!R)throw this.renderingState=d.RenderingStates.FINISHED,new Error("pdfPage is not loaded");this.renderingState=d.RenderingStates.RUNNING;const W=document.createElement("div");if(W.classList.add("canvasWrapper"),i.append(W),!this.textLayer&&c(this,le)!==d.TextLayerMode.DISABLE&&!R.isPureXfa&&(this._accessibilityManager||(this._accessibilityManager=new g.TextAccessibilityManager),this.textLayer=new v.TextLayerBuilder({highlighter:this._textHighlighter,accessibilityManager:this._accessibilityManager,isOffscreenCanvasSupported:this.isOffscreenCanvasSupported,enablePermissions:c(this,le)===d.TextLayerMode.ENABLE_PERMISSIONS}),i.append(this.textLayer.div)),!this.annotationLayer&&c(this,n)!==b.AnnotationMode.DISABLE){const{annotationStorage:E,downloadManager:m,enableScripting:M,fieldObjectsPromise:ie,hasJSActionsPromise:de,linkService:re}=c(this,f).call(this);this._annotationCanvasMap||(this._annotationCanvasMap=new Map),this.annotationLayer=new w.AnnotationLayerBuilder({pageDiv:i,pdfPage:R,annotationStorage:E,imageResourcesPath:this.imageResourcesPath,renderForms:c(this,n)===b.AnnotationMode.ENABLE_FORMS,linkService:re,downloadManager:m,l10n:u,enableScripting:M,hasJSActionsPromise:de,fieldObjectsPromise:ie,annotationCanvasMap:this._annotationCanvasMap,accessibilityManager:this._accessibilityManager})}const me=E=>{if(ue==null||ue(!1),this.renderingQueue&&!this.renderingQueue.isHighestPriority(this)){this.renderingState=d.RenderingStates.PAUSED,this.resume=()=>{this.renderingState=d.RenderingStates.RUNNING,E()};return}E()},{width:B,height:q}=L,ce=document.createElement("canvas");ce.setAttribute("role","presentation"),ce.hidden=!0;const ne=!!(S!=null&&S.background&&(S!=null&&S.foreground));let ue=E=>{(!ne||E)&&(ce.hidden=!1,ue=null)};W.append(ce),this.canvas=ce;const be=ce.getContext("2d",{alpha:!1}),ve=this.outputScale=new d.OutputScale;if(this.useOnlyCssZoom){const E=L.clone({scale:b.PixelsPerInch.PDF_TO_CSS_UNITS});ve.sx*=E.width/B,ve.sy*=E.height/q}if(this.maxCanvasPixels>0){const E=B*q,m=Math.sqrt(this.maxCanvasPixels/E);ve.sx>m||ve.sy>m?(ve.sx=m,ve.sy=m,this.hasRestrictedScaling=!0):this.hasRestrictedScaling=!1}const xe=(0,d.approximateFraction)(ve.sx),Pe=(0,d.approximateFraction)(ve.sy);ce.width=(0,d.roundToDivide)(B*ve.sx,xe[0]),ce.height=(0,d.roundToDivide)(q*ve.sy,Pe[0]);const{style:Re}=ce;Re.width=(0,d.roundToDivide)(B,xe[1])+"px",Re.height=(0,d.roundToDivide)(q,Pe[1])+"px",c(this,ee).set(ce,L);const oe=ve.scaled?[ve.sx,0,0,ve.sy,0,0]:null,we={canvasContext:be,transform:oe,viewport:L,annotationMode:c(this,n),optionalContentConfigPromise:this._optionalContentConfigPromise,annotationCanvasMap:this._annotationCanvasMap,pageColors:S},Me=this.renderTask=this.pdfPage.render(we);Me.onContinue=me;const Oe=Me.promise.then(async()=>{if(ue==null||ue(!0),await Z(this,U,oi).call(this,Me),Z(this,A,ai).call(this),this.annotationLayer&&await Z(this,ge,ni).call(this),!this.annotationEditorLayer){const{annotationEditorUIManager:E}=c(this,f).call(this);if(!E)return;this.annotationEditorLayer=new k.AnnotationEditorLayerBuilder({uiManager:E,pageDiv:i,pdfPage:R,l10n:u,accessibilityManager:this._accessibilityManager})}Z(this,Q,si).call(this)},E=>(E instanceof b.RenderingCancelledException||ue==null||ue(!0),Z(this,U,oi).call(this,Me,E)));if(R.isPureXfa){if(this.xfaLayer)this.xfaLayer.div&&i.append(this.xfaLayer.div);else{const{annotationStorage:E,linkService:m}=c(this,f).call(this);this.xfaLayer=new p.XfaLayerBuilder({pageDiv:i,pdfPage:R,annotationStorage:E,linkService:m})}Z(this,Ee,ri).call(this)}return i.setAttribute("data-loaded",!0),this.eventBus.dispatch("pagerender",{source:this,pageNumber:this.id}),Oe}setPageLabel(i){this.pageLabel=typeof i=="string"?i:null,this.pageLabel!==null?this.div.setAttribute("data-page-label",this.pageLabel):this.div.removeAttribute("data-page-label")}get thumbnailCanvas(){const{initialOptionalContent:i,regularAnnotations:u}=c(this,H);return i&&u?this.canvas:null}}n=new WeakMap,f=new WeakMap,T=new WeakMap,l=new WeakMap,I=new WeakMap,K=new WeakMap,le=new WeakMap,H=new WeakMap,ee=new WeakMap,ae=new WeakSet,Pt=function(){const{viewport:i}=this;if(this.pdfPage){if(c(this,l)===i.rotation)return;_e(this,l,i.rotation)}(0,b.setLayerDimensions)(this.div,i,!0,!1)},ge=new WeakSet,ni=async function(){let i=null;try{await this.annotationLayer.render(this.viewport,"display")}catch(u){console.error(`#renderAnnotationLayer: "${u}".`),i=u}finally{this.eventBus.dispatch("annotationlayerrendered",{source:this,pageNumber:this.id,error:i})}},Q=new WeakSet,si=async function(){let i=null;try{await this.annotationEditorLayer.render(this.viewport,"display")}catch(u){console.error(`#renderAnnotationEditorLayer: "${u}".`),i=u}finally{this.eventBus.dispatch("annotationeditorlayerrendered",{source:this,pageNumber:this.id,error:i})}},Ee=new WeakSet,ri=async function(){let i=null;try{const u=await this.xfaLayer.render(this.viewport,"display");u!=null&&u.textDivs&&this._textHighlighter&&Z(this,j,Qi).call(this,u.textDivs)}catch(u){console.error(`#renderXfaLayer: "${u}".`),i=u}finally{this.eventBus.dispatch("xfalayerrendered",{source:this,pageNumber:this.id,error:i})}},A=new WeakSet,ai=async function(){const{pdfPage:i,textLayer:u,viewport:S}=this;if(!u)return;let R=null;try{if(!u.renderingDone){const L=i.streamTextContent({includeMarkedContent:!0,disableNormalization:!0});u.setTextContentSource(L)}await u.render(S)}catch(L){if(L instanceof b.AbortException)return;console.error(`#renderTextLayer: "${L}".`),R=L}this.eventBus.dispatch("textlayerrendered",{source:this,pageNumber:this.id,numTextDivs:u.numTextDivs,error:R}),Z(this,F,Zi).call(this)},F=new WeakSet,Zi=async function(){var S,R,L;if(!this.textLayer)return;this.structTreeLayer||(this.structTreeLayer=new a.StructTreeLayerBuilder);const i=await(this.structTreeLayer.renderingDone?null:this.pdfPage.getStructTree()),u=(S=this.structTreeLayer)==null?void 0:S.render(i);u&&((R=this.canvas)==null||R.append(u)),(L=this.structTreeLayer)==null||L.show()},j=new WeakSet,Qi=async function(i){const u=await this.pdfPage.getTextContent(),S=[];for(const R of u.items)S.push(R.str);this._textHighlighter.setTextMapping(i,S),this._textHighlighter.enable()},U=new WeakSet,oi=async function(i,u=null){if(i===this.renderTask&&(this.renderTask=null),u instanceof b.RenderingCancelledException){_e(this,I,null);return}if(_e(this,I,u),this.renderingState=d.RenderingStates.FINISHED,this._resetZoomLayer(!0),c(this,H).regularAnnotations=!i.separateAnnots,this.eventBus.dispatch("pagerendered",{source:this,pageNumber:this.id,cssTransform:!1,timestamp:performance.now(),error:c(this,I)}),u)throw u},D.PDFPageView=s},(G,D,N)=>{var w;Object.defineProperty(D,"__esModule",{value:!0}),D.AnnotationEditorLayerBuilder=void 0;var b=N(4),d=N(5);class k{constructor(r){$(this,w,void 0);this.pageDiv=r.pageDiv,this.pdfPage=r.pdfPage,this.accessibilityManager=r.accessibilityManager,this.l10n=r.l10n||d.NullL10n,this.annotationEditorLayer=null,this.div=null,this._cancelled=!1,_e(this,w,r.uiManager)}async render(r,h="display"){if(h!=="display"||this._cancelled)return;const a=r.clone({dontFlip:!0});if(this.div){this.annotationEditorLayer.update({viewport:a}),this.show();return}const g=this.div=document.createElement("div");g.className="annotationEditorLayer",g.tabIndex=0,g.hidden=!0,this.pageDiv.append(g),this.annotationEditorLayer=new b.AnnotationEditorLayer({uiManager:c(this,w),div:g,accessibilityManager:this.accessibilityManager,pageIndex:this.pdfPage.pageNumber-1,l10n:this.l10n,viewport:a});const _={viewport:a,div:g,annotations:null,intent:h};this.annotationEditorLayer.render(_),this.show()}cancel(){this._cancelled=!0,this.div&&(this.pageDiv=null,this.annotationEditorLayer.destroy(),this.div.remove())}hide(){this.div&&(this.div.hidden=!0)}show(){!this.div||this.annotationEditorLayer.isEmpty||(this.div.hidden=!1)}}w=new WeakMap,D.AnnotationEditorLayerBuilder=k},(G,D)=>{Object.defineProperty(D,"__esModule",{value:!0}),D.compatibilityParams=D.OptionKind=D.AppOptions=void 0;const N=Object.create(null);D.compatibilityParams=N;{const y=navigator.userAgent||"",r=navigator.platform||"",h=navigator.maxTouchPoints||1,a=/Android/.test(y),g=/\b(iPad|iPhone|iPod)(?=;)/.test(y)||r==="MacIntel"&&h>1;(function(){(g||a)&&(N.maxCanvasPixels=5242880)})()}const b={VIEWER:2,API:4,WORKER:8,PREFERENCE:128};D.OptionKind=b;const d={annotationEditorMode:{value:0,kind:b.VIEWER+b.PREFERENCE},annotationMode:{value:2,kind:b.VIEWER+b.PREFERENCE},cursorToolOnLoad:{value:0,kind:b.VIEWER+b.PREFERENCE},defaultZoomDelay:{value:400,kind:b.VIEWER+b.PREFERENCE},defaultZoomValue:{value:"",kind:b.VIEWER+b.PREFERENCE},disableHistory:{value:!1,kind:b.VIEWER},disablePageLabels:{value:!1,kind:b.VIEWER+b.PREFERENCE},enableFloatingToolbar:{value:!1,kind:b.VIEWER+b.PREFERENCE},enablePermissions:{value:!1,kind:b.VIEWER+b.PREFERENCE},enablePrintAutoRotate:{value:!0,kind:b.VIEWER+b.PREFERENCE},enableScripting:{value:!0,kind:b.VIEWER+b.PREFERENCE},externalLinkRel:{value:"noopener noreferrer nofollow",kind:b.VIEWER},externalLinkTarget:{value:0,kind:b.VIEWER+b.PREFERENCE},historyUpdateUrl:{value:!1,kind:b.VIEWER+b.PREFERENCE},ignoreDestinationZoom:{value:!1,kind:b.VIEWER+b.PREFERENCE},imageResourcesPath:{value:"./images/",kind:b.VIEWER},maxCanvasPixels:{value:16777216,kind:b.VIEWER},forcePageColors:{value:!1,kind:b.VIEWER+b.PREFERENCE},pageColorsBackground:{value:"Canvas",kind:b.VIEWER+b.PREFERENCE},pageColorsForeground:{value:"CanvasText",kind:b.VIEWER+b.PREFERENCE},pdfBugEnabled:{value:!1,kind:b.VIEWER+b.PREFERENCE},printResolution:{value:150,kind:b.VIEWER},sidebarViewOnLoad:{value:-1,kind:b.VIEWER+b.PREFERENCE},scrollModeOnLoad:{value:-1,kind:b.VIEWER+b.PREFERENCE},spreadModeOnLoad:{value:-1,kind:b.VIEWER+b.PREFERENCE},textLayerMode:{value:1,kind:b.VIEWER+b.PREFERENCE},useOnlyCssZoom:{value:!1,kind:b.VIEWER+b.PREFERENCE},viewerCssTheme:{value:0,kind:b.VIEWER+b.PREFERENCE},viewOnLoad:{value:0,kind:b.VIEWER+b.PREFERENCE},cMapPacked:{value:!0,kind:b.API},cMapUrl:{value:"../web/cmaps/",kind:b.API},disableAutoFetch:{value:!1,kind:b.API+b.PREFERENCE},disableFontFace:{value:!1,kind:b.API+b.PREFERENCE},disableRange:{value:!1,kind:b.API+b.PREFERENCE},disableStream:{value:!1,kind:b.API+b.PREFERENCE},docBaseUrl:{value:"",kind:b.API},enableXfa:{value:!0,kind:b.API+b.PREFERENCE},fontExtraProperties:{value:!1,kind:b.API},isEvalSupported:{value:!0,kind:b.API},isOffscreenCanvasSupported:{value:!0,kind:b.API},maxImageSize:{value:-1,kind:b.API},pdfBug:{value:!1,kind:b.API},standardFontDataUrl:{value:"../web/standard_fonts/",kind:b.API},verbosity:{value:1,kind:b.API},workerPort:{value:null,kind:b.WORKER},workerSrc:{value:"../build/pdf.worker.js",kind:b.WORKER}};d.defaultUrl={value:"compressed.tracemonkey-pldi-09.pdf",kind:b.VIEWER},d.disablePreferences={value:!1,kind:b.VIEWER},d.locale={value:navigator.language||"en-US",kind:b.VIEWER},d.sandboxBundleSrc={value:"../build/pdf.sandbox.js",kind:b.VIEWER};const k=Object.create(null);class w{constructor(){throw new Error("Cannot initialize AppOptions.")}static get(r){const h=k[r];if(h!==void 0)return h;const a=d[r];if(a!==void 0)return N[r]??a.value}static getAll(r=null){const h=Object.create(null);for(const a in d){const g=d[a];if(r){if(!(r&g.kind))continue;if(r===b.PREFERENCE){const v=g.value,p=typeof v;if(p==="boolean"||p==="string"||p==="number"&&Number.isInteger(v)){h[a]=v;continue}throw new Error(`Invalid type for preference: ${a}`)}}const _=k[a];h[a]=_!==void 0?_:N[a]??g.value}return h}static set(r,h){k[r]=h}static setAll(r){for(const h in r)k[h]=r[h]}static remove(r){delete k[r]}}D.AppOptions=w,w._hasUserOptions=function(){return Object.keys(k).length>0}},(G,D)=>{var k,w,li,r,ci;Object.defineProperty(D,"__esModule",{value:!0}),D.StructTreeLayerBuilder=void 0;const N={Document:null,DocumentFragment:null,Part:"group",Sect:"group",Div:"group",Aside:"note",NonStruct:"none",P:null,H:"heading",Title:null,FENote:"note",Sub:"group",Lbl:null,Span:null,Em:null,Strong:null,Link:"link",Annot:"note",Form:"form",Ruby:null,RB:null,RT:null,RP:null,Warichu:null,WT:null,WP:null,L:"list",LI:"listitem",LBody:null,Table:"table",TR:"row",TH:"columnheader",TD:"cell",THead:"columnheader",TBody:null,TFoot:null,Caption:null,Figure:"figure",Formula:null,Artifact:null},b=/^H(\d+)$/;class d{constructor(){$(this,w);$(this,r);$(this,k,void 0)}get renderingDone(){return c(this,k)!==void 0}render(g){if(c(this,k)!==void 0)return c(this,k);const _=Z(this,r,ci).call(this,g);return _==null||_.classList.add("structTree"),_e(this,k,_)}hide(){c(this,k)&&!c(this,k).hidden&&(c(this,k).hidden=!0)}show(){var g;(g=c(this,k))!=null&&g.hidden&&(c(this,k).hidden=!1)}}k=new WeakMap,w=new WeakSet,li=function(g,_){g.alt!==void 0&&_.setAttribute("aria-label",g.alt),g.id!==void 0&&_.setAttribute("aria-owns",g.id),g.lang!==void 0&&_.setAttribute("lang",g.lang)},r=new WeakSet,ci=function(g){if(!g)return null;const _=document.createElement("span");if("role"in g){const{role:v}=g,p=v.match(b);p?(_.setAttribute("role","heading"),_.setAttribute("aria-level",p[1])):N[v]&&_.setAttribute("role",N[v])}if(Z(this,w,li).call(this,g,_),g.children)if(g.children.length===1&&"id"in g.children[0])Z(this,w,li).call(this,g.children[0],_);else for(const v of g.children)_.append(Z(this,r,ci).call(this,v));return _},D.StructTreeLayerBuilder=d},(G,D,N)=>{var k,w,y,r,h,Ct,g,hi;Object.defineProperty(D,"__esModule",{value:!0}),D.TextAccessibilityManager=void 0;var b=N(2);const v=class{constructor(){$(this,g);$(this,k,!1);$(this,w,null);$(this,y,new Map);$(this,r,new Map)}setTextMapping(t){_e(this,w,t)}enable(){if(c(this,k))throw new Error("TextAccessibilityManager is already enabled.");if(!c(this,w))throw new Error("Text divs and strings have not been set.");if(_e(this,k,!0),_e(this,w,c(this,w).slice()),c(this,w).sort(Z(v,h,Ct)),c(this,y).size>0){const t=c(this,w);for(const[e,s]of c(this,y)){if(!document.getElementById(e)){c(this,y).delete(e);continue}Z(this,g,hi).call(this,e,t[s])}}for(const[t,e]of c(this,r))this.addPointerInTextLayer(t,e);c(this,r).clear()}disable(){c(this,k)&&(c(this,r).clear(),_e(this,w,null),_e(this,k,!1))}removePointerInTextLayer(t){if(!c(this,k)){c(this,r).delete(t);return}const e=c(this,w);if(!e||e.length===0)return;const{id:s}=t,n=c(this,y).get(s);if(n===void 0)return;const f=e[n];c(this,y).delete(s);let T=f.getAttribute("aria-owns");T!=null&&T.includes(s)&&(T=T.split(" ").filter(l=>l!==s).join(" "),T?f.setAttribute("aria-owns",T):(f.removeAttribute("aria-owns"),f.setAttribute("role","presentation")))}addPointerInTextLayer(t,e){const{id:s}=t;if(!s)return;if(!c(this,k)){c(this,r).set(t,e);return}e&&this.removePointerInTextLayer(t);const n=c(this,w);if(!n||n.length===0)return;const f=(0,b.binarySearchFirstItem)(n,l=>{var I;return Z(I=v,h,Ct).call(I,t,l)<0}),T=Math.max(0,f-1);Z(this,g,hi).call(this,s,n[T]),c(this,y).set(s,T)}moveElementInDOM(t,e,s,n){if(this.addPointerInTextLayer(s,n),!t.hasChildNodes()){t.append(e);return}const f=Array.from(t.childNodes).filter(I=>I!==e);if(f.length===0)return;const T=s||e,l=(0,b.binarySearchFirstItem)(f,I=>{var K;return Z(K=v,h,Ct).call(K,T,I)<0});l===0?f[0].before(e):f[l-1].after(e)}};let d=v;k=new WeakMap,w=new WeakMap,y=new WeakMap,r=new WeakMap,h=new WeakSet,Ct=function(t,e){const s=t.getBoundingClientRect(),n=e.getBoundingClientRect();if(s.width===0&&s.height===0)return 1;if(n.width===0&&n.height===0)return-1;const f=s.y,T=s.y+s.height,l=s.y+s.height/2,I=n.y,K=n.y+n.height,le=n.y+n.height/2;if(l<=I&&le>=T)return-1;if(le<=f&&l>=K)return 1;const H=s.x+s.width/2,ee=n.x+n.width/2;return H-ee},g=new WeakSet,hi=function(t,e){const s=e.getAttribute("aria-owns");s!=null&&s.includes(t)||e.setAttribute("aria-owns",s?`${s} ${t}`:t),e.removeAttribute("role")},$(d,h),D.TextAccessibilityManager=d},(G,D)=>{Object.defineProperty(D,"__esModule",{value:!0}),D.TextHighlighter=void 0;class N{constructor({findController:d,eventBus:k,pageIndex:w}){this.findController=d,this.matches=[],this.eventBus=k,this.pageIdx=w,this._onUpdateTextLayerMatches=null,this.textDivs=null,this.textContentItemsStr=null,this.enabled=!1}setTextMapping(d,k){this.textDivs=d,this.textContentItemsStr=k}enable(){if(!this.textDivs||!this.textContentItemsStr)throw new Error("Text divs and strings have not been set.");if(this.enabled)throw new Error("TextHighlighter is already enabled.");this.enabled=!0,this._onUpdateTextLayerMatches||(this._onUpdateTextLayerMatches=d=>{(d.pageIndex===this.pageIdx||d.pageIndex===-1)&&this._updateMatches()},this.eventBus._on("updatetextlayermatches",this._onUpdateTextLayerMatches)),this._updateMatches()}disable(){this.enabled&&(this.enabled=!1,this._onUpdateTextLayerMatches&&(this.eventBus._off("updatetextlayermatches",this._onUpdateTextLayerMatches),this._onUpdateTextLayerMatches=null),this._updateMatches(!0))}_convertMatches(d,k){if(!d)return[];const{textContentItemsStr:w}=this;let y=0,r=0;const h=w.length-1,a=[];for(let g=0,_=d.length;g<_;g++){let v=d[g];for(;y!==h&&v>=r+w[y].length;)r+=w[y].length,y++;y===w.length&&console.error("Could not find a matching mapping");const p={begin:{divIdx:y,offset:v-r}};for(v+=k[g];y!==h&&v>r+w[y].length;)r+=w[y].length,y++;p.end={divIdx:y,offset:v-r},a.push(p)}return a}_renderMatches(d){if(d.length===0)return;const{findController:k,pageIdx:w}=this,{textContentItemsStr:y,textDivs:r}=this,h=w===k.selected.pageIdx,a=k.selected.matchIdx,g=k.state.highlightAll;let _=null;const v={divIdx:-1,offset:void 0};function p(T,l){const I=T.divIdx;return r[I].textContent="",t(I,0,T.offset,l)}function t(T,l,I,K){let le=r[T];if(le.nodeType===Node.TEXT_NODE){const ae=document.createElement("span");le.before(ae),ae.append(le),r[T]=ae,le=ae}const H=y[T].substring(l,I),ee=document.createTextNode(H);if(K){const ae=document.createElement("span");return ae.className=`${K} appended`,ae.append(ee),le.append(ae),K.includes("selected")?ae.offsetLeft:0}return le.append(ee),0}let e=a,s=e+1;if(g)e=0,s=d.length;else if(!h)return;let n=-1,f=-1;for(let T=e;T{var w,y,r,h,a,Ji,_,en;Object.defineProperty(D,"__esModule",{value:!0}),D.TextLayerBuilder=void 0;var b=N(4),d=N(2);class k{constructor({highlighter:t=null,accessibilityManager:e=null,isOffscreenCanvasSupported:s=!0,enablePermissions:n=!1}){$(this,a);$(this,_);$(this,w,!1);$(this,y,0);$(this,r,0);$(this,h,null);this.textContentItemsStr=[],this.renderingDone=!1,this.textDivs=[],this.textDivProperties=new WeakMap,this.textLayerRenderTask=null,this.highlighter=t,this.accessibilityManager=e,this.isOffscreenCanvasSupported=s,_e(this,w,n===!0),this.div=document.createElement("div"),this.div.className="textLayer",this.hide()}get numTextDivs(){return this.textDivs.length}async render(t){var n,f,T;if(!c(this,h))throw new Error('No "textContentSource" parameter specified.');const e=t.scale*(globalThis.devicePixelRatio||1),{rotation:s}=t;if(this.renderingDone){const l=s!==c(this,y),I=e!==c(this,r);(l||I)&&(this.hide(),(0,b.updateTextLayer)({container:this.div,viewport:t,textDivs:this.textDivs,textDivProperties:this.textDivProperties,isOffscreenCanvasSupported:this.isOffscreenCanvasSupported,mustRescale:I,mustRotate:l}),_e(this,r,e),_e(this,y,s)),this.show();return}this.cancel(),(n=this.highlighter)==null||n.setTextMapping(this.textDivs,this.textContentItemsStr),(f=this.accessibilityManager)==null||f.setTextMapping(this.textDivs),this.textLayerRenderTask=(0,b.renderTextLayer)({textContentSource:c(this,h),container:this.div,viewport:t,textDivs:this.textDivs,textDivProperties:this.textDivProperties,textContentItemsStr:this.textContentItemsStr,isOffscreenCanvasSupported:this.isOffscreenCanvasSupported}),await this.textLayerRenderTask.promise,Z(this,a,Ji).call(this),_e(this,r,e),_e(this,y,s),this.show(),(T=this.accessibilityManager)==null||T.enable()}hide(){var t;this.div.hidden||((t=this.highlighter)==null||t.disable(),this.div.hidden=!0)}show(){var t;this.div.hidden&&this.renderingDone&&(this.div.hidden=!1,(t=this.highlighter)==null||t.enable())}cancel(){var t,e;this.textLayerRenderTask&&(this.textLayerRenderTask.cancel(),this.textLayerRenderTask=null),(t=this.highlighter)==null||t.disable(),(e=this.accessibilityManager)==null||e.disable(),this.textContentItemsStr.length=0,this.textDivs.length=0,this.textDivProperties=new WeakMap}setTextContentSource(t){this.cancel(),_e(this,h,t)}}w=new WeakMap,y=new WeakMap,r=new WeakMap,h=new WeakMap,a=new WeakSet,Ji=function(){this.renderingDone=!0;const t=document.createElement("div");t.className="endOfContent",this.div.append(t),Z(this,_,en).call(this)},_=new WeakSet,en=function(){const{div:t}=this;t.addEventListener("mousedown",e=>{const s=t.querySelector(".endOfContent");if(!s)return;let n=e.target!==t;if(n&&(n=getComputedStyle(s).getPropertyValue("-moz-user-select")!=="none"),n){const f=t.getBoundingClientRect(),T=Math.max(0,(e.pageY-f.top)/f.height);s.style.top=(T*100).toFixed(2)+"%"}s.classList.add("active")}),t.addEventListener("mouseup",()=>{const e=t.querySelector(".endOfContent");e&&(e.style.top="",e.classList.remove("active"))}),t.addEventListener("copy",e=>{if(!c(this,w)){const s=document.getSelection();e.clipboardData.setData("text/plain",(0,d.removeNullCharacters)((0,b.normalizeUnicode)(s.toString())))}e.preventDefault(),e.stopPropagation()})},D.TextLayerBuilder=k},(G,D,N)=>{Object.defineProperty(D,"__esModule",{value:!0}),D.XfaLayerBuilder=void 0;var b=N(4);class d{constructor({pageDiv:w,pdfPage:y,annotationStorage:r=null,linkService:h,xfaHtml:a=null}){this.pageDiv=w,this.pdfPage=y,this.annotationStorage=r,this.linkService=h,this.xfaHtml=a,this.div=null,this._cancelled=!1}async render(w,y="display"){if(y==="print"){const a={viewport:w.clone({dontFlip:!0}),div:this.div,xfaHtml:this.xfaHtml,annotationStorage:this.annotationStorage,linkService:this.linkService,intent:y},g=document.createElement("div");return this.pageDiv.append(g),a.div=g,b.XfaLayer.render(a)}const r=await this.pdfPage.getXfa();if(this._cancelled||!r)return{textDivs:[]};const h={viewport:w.clone({dontFlip:!0}),div:this.div,xfaHtml:r,annotationStorage:this.annotationStorage,linkService:this.linkService,intent:y};return this.div?b.XfaLayer.update(h):(this.div=document.createElement("div"),this.pageDiv.append(this.div),h.div=this.div,b.XfaLayer.render(h))}cancel(){this._cancelled=!0}hide(){this.div&&(this.div.hidden=!0)}}D.XfaLayerBuilder=d},(G,D,N)=>{Object.defineProperty(D,"__esModule",{value:!0}),D.PDFScriptingManager=void 0;var b=N(2),d=N(4);class k{constructor({eventBus:y,sandboxBundleSrc:r=null,scriptingFactory:h=null,docPropertiesLookup:a=null}){this._pdfDocument=null,this._pdfViewer=null,this._closeCapability=null,this._destroyCapability=null,this._scripting=null,this._ready=!1,this._eventBus=y,this._sandboxBundleSrc=r,this._scriptingFactory=h,this._docPropertiesLookup=a,this._scriptingFactory||window.addEventListener("updatefromsandbox",g=>{this._eventBus.dispatch("updatefromsandbox",{source:window,detail:g.detail})})}setViewer(y){this._pdfViewer=y}async setDocument(y){var g;if(this._pdfDocument&&await this._destroyScripting(),this._pdfDocument=y,!y)return;const[r,h,a]=await Promise.all([y.getFieldObjects(),y.getCalculationOrderIds(),y.getJSActions()]);if(!r&&!a){await this._destroyScripting();return}if(y===this._pdfDocument){try{this._scripting=this._createScripting()}catch(_){console.error(`PDFScriptingManager.setDocument: "${_==null?void 0:_.message}".`),await this._destroyScripting();return}this._internalEvents.set("updatefromsandbox",_=>{(_==null?void 0:_.source)===window&&this._updateFromSandbox(_.detail)}),this._internalEvents.set("dispatcheventinsandbox",_=>{var v;(v=this._scripting)==null||v.dispatchEventInSandbox(_.detail)}),this._internalEvents.set("pagechanging",({pageNumber:_,previous:v})=>{_!==v&&(this._dispatchPageClose(v),this._dispatchPageOpen(_))}),this._internalEvents.set("pagerendered",({pageNumber:_})=>{this._pageOpenPending.has(_)&&_===this._pdfViewer.currentPageNumber&&this._dispatchPageOpen(_)}),this._internalEvents.set("pagesdestroy",async _=>{var v,p;await this._dispatchPageClose(this._pdfViewer.currentPageNumber),await((v=this._scripting)==null?void 0:v.dispatchEventInSandbox({id:"doc",name:"WillClose"})),(p=this._closeCapability)==null||p.resolve()});for(const[_,v]of this._internalEvents)this._eventBus._on(_,v);try{const _=await this._getDocProperties();if(y!==this._pdfDocument)return;await this._scripting.createSandbox({objects:r,calculationOrder:h,appInfo:{platform:navigator.platform,language:navigator.language},docInfo:{..._,actions:a}}),this._eventBus.dispatch("sandboxcreated",{source:this})}catch(_){console.error(`PDFScriptingManager.setDocument: "${_==null?void 0:_.message}".`),await this._destroyScripting();return}await((g=this._scripting)==null?void 0:g.dispatchEventInSandbox({id:"doc",name:"Open"})),await this._dispatchPageOpen(this._pdfViewer.currentPageNumber,!0),Promise.resolve().then(()=>{y===this._pdfDocument&&(this._ready=!0)})}}async dispatchWillSave(y){var r;return(r=this._scripting)==null?void 0:r.dispatchEventInSandbox({id:"doc",name:"WillSave"})}async dispatchDidSave(y){var r;return(r=this._scripting)==null?void 0:r.dispatchEventInSandbox({id:"doc",name:"DidSave"})}async dispatchWillPrint(y){var r;return(r=this._scripting)==null?void 0:r.dispatchEventInSandbox({id:"doc",name:"WillPrint"})}async dispatchDidPrint(y){var r;return(r=this._scripting)==null?void 0:r.dispatchEventInSandbox({id:"doc",name:"DidPrint"})}get destroyPromise(){var y;return((y=this._destroyCapability)==null?void 0:y.promise)||null}get ready(){return this._ready}get _internalEvents(){return(0,d.shadow)(this,"_internalEvents",new Map)}get _pageOpenPending(){return(0,d.shadow)(this,"_pageOpenPending",new Set)}get _visitedPages(){return(0,d.shadow)(this,"_visitedPages",new Map)}async _updateFromSandbox(y){var p;const r=this._pdfViewer.isInPresentationMode||this._pdfViewer.isChangingPresentationMode,{id:h,siblings:a,command:g,value:_}=y;if(!h){switch(g){case"clear":console.clear();break;case"error":console.error(_);break;case"layout":{if(r)return;const t=(0,b.apiPageLayoutToViewerModes)(_);this._pdfViewer.spreadMode=t.spreadMode;break}case"page-num":this._pdfViewer.currentPageNumber=_+1;break;case"print":await this._pdfViewer.pagesPromise,this._eventBus.dispatch("print",{source:this});break;case"println":console.log(_);break;case"zoom":if(r)return;this._pdfViewer.currentScaleValue=_;break;case"SaveAs":this._eventBus.dispatch("download",{source:this});break;case"FirstPage":this._pdfViewer.currentPageNumber=1;break;case"LastPage":this._pdfViewer.currentPageNumber=this._pdfViewer.pagesCount;break;case"NextPage":this._pdfViewer.nextPage();break;case"PrevPage":this._pdfViewer.previousPage();break;case"ZoomViewIn":if(r)return;this._pdfViewer.increaseScale();break;case"ZoomViewOut":if(r)return;this._pdfViewer.decreaseScale();break}return}if(r&&y.focus)return;delete y.id,delete y.siblings;const v=a?[h,...a]:[h];for(const t of v){const e=document.querySelector(`[data-element-id="${t}"]`);e?e.dispatchEvent(new CustomEvent("updatefromsandbox",{detail:y})):(p=this._pdfDocument)==null||p.annotationStorage.setValue(t,y)}}async _dispatchPageOpen(y,r=!1){const h=this._pdfDocument,a=this._visitedPages;if(r&&(this._closeCapability=new d.PromiseCapability),!this._closeCapability)return;const g=this._pdfViewer.getPageView(y-1);if((g==null?void 0:g.renderingState)!==b.RenderingStates.FINISHED){this._pageOpenPending.add(y);return}this._pageOpenPending.delete(y);const _=(async()=>{var p,t;const v=await(a.has(y)?null:(p=g.pdfPage)==null?void 0:p.getJSActions());h===this._pdfDocument&&await((t=this._scripting)==null?void 0:t.dispatchEventInSandbox({id:"page",name:"PageOpen",pageNumber:y,actions:v}))})();a.set(y,_)}async _dispatchPageClose(y){var g;const r=this._pdfDocument,h=this._visitedPages;if(!this._closeCapability||this._pageOpenPending.has(y))return;const a=h.get(y);a&&(h.set(y,null),await a,r===this._pdfDocument&&await((g=this._scripting)==null?void 0:g.dispatchEventInSandbox({id:"page",name:"PageClose",pageNumber:y})))}async _getDocProperties(){if(this._docPropertiesLookup)return this._docPropertiesLookup(this._pdfDocument);const{docPropertiesLookup:y}=N(22);return y(this._pdfDocument)}_createScripting(){if(this._destroyCapability=new d.PromiseCapability,this._scripting)throw new Error("_createScripting: Scripting already exists.");if(this._scriptingFactory)return this._scriptingFactory.createScripting({sandboxBundleSrc:this._sandboxBundleSrc});const{GenericScripting:y}=N(22);return new y(this._sandboxBundleSrc)}async _destroyScripting(){var y,r;if(!this._scripting){this._pdfDocument=null,(y=this._destroyCapability)==null||y.resolve();return}this._closeCapability&&(await Promise.race([this._closeCapability.promise,new Promise(h=>{setTimeout(h,1e3)})]).catch(h=>{}),this._closeCapability=null),this._pdfDocument=null;try{await this._scripting.destroySandbox()}catch{}for(const[h,a]of this._internalEvents)this._eventBus._off(h,a);this._internalEvents.clear(),this._pageOpenPending.clear(),this._visitedPages.clear(),this._scripting=null,this._ready=!1,(r=this._destroyCapability)==null||r.resolve()}}D.PDFScriptingManager=k},(G,D,N)=>{Object.defineProperty(D,"__esModule",{value:!0}),D.GenericScripting=void 0,D.docPropertiesLookup=d;var b=N(4);async function d(w){const y="",r=y.split("#")[0];let{info:h,metadata:a,contentDispositionFilename:g,contentLength:_}=await w.getMetadata();if(!_){const{length:v}=await w.getDownloadInfo();_=v}return{...h,baseURL:r,filesize:_,filename:g||(0,b.getPdfFilenameFromUrl)(y),metadata:a==null?void 0:a.getRaw(),authors:a==null?void 0:a.get("dc:creator"),numPages:w.numPages,URL:y}}class k{constructor(y){this._ready=(0,b.loadScript)(y,!0).then(()=>window.pdfjsSandbox.QuickJSSandbox())}async createSandbox(y){(await this._ready).create(y)}async dispatchEventInSandbox(y){const r=await this._ready;setTimeout(()=>r.dispatchEvent(y),0)}async destroySandbox(){(await this._ready).nukeSandbox()}}D.GenericScripting=k},(G,D,N)=>{Object.defineProperty(D,"__esModule",{value:!0}),D.PDFSinglePageViewer=void 0;var b=N(2),d=N(24);class k extends d.PDFViewer{_resetView(){super._resetView(),this._scrollMode=b.ScrollMode.PAGE,this._spreadMode=b.SpreadMode.NONE}set scrollMode(y){}_updateScrollMode(){}set spreadMode(y){}_updateSpreadMode(){}}D.PDFSinglePageViewer=k},(G,D,N)=>{var p,t,e,ui,n,f,T,l,I,K,le,H,ee,ae,te,ge,ye,Q,Ce,Ee,J,tn,C,nn,Y,sn,se,rn,V,ft,i,wt,S,an,L,di,me,on,q,Je,ne,fi,be,ln,xe,cn,Re,pi,we,hn;Object.defineProperty(D,"__esModule",{value:!0}),D.PagesCountLimit=D.PDFViewer=D.PDFPageViewBuffer=void 0;var b=N(4),d=N(2),k=N(5),w=N(13),y=N(25),r=N(1);const h=10,a={FORCE_SCROLL_MODE_PAGE:15e3,FORCE_LAZY_PAGE_INIT:7500,PAUSE_EAGER_PAGE_INIT:250};D.PagesCountLimit=a;function g(Oe){return Object.values(b.AnnotationEditorType).includes(Oe)&&Oe!==b.AnnotationEditorType.DISABLE}class _{constructor(E){$(this,e);$(this,p,new Set);$(this,t,0);_e(this,t,E)}push(E){const m=c(this,p);m.has(E)&&m.delete(E),m.add(E),m.size>c(this,t)&&Z(this,e,ui).call(this)}resize(E,m=null){_e(this,t,E);const M=c(this,p);if(m){const ie=M.size;let de=1;for(const re of M)if(m.has(re.id)&&(M.delete(re),M.add(re)),++de>ie)break}for(;M.size>c(this,t);)Z(this,e,ui).call(this)}has(E){return c(this,p).has(E)}[Symbol.iterator](){return c(this,p).keys()}}p=new WeakMap,t=new WeakMap,e=new WeakSet,ui=function(){const E=c(this,p).keys().next().value;E==null||E.destroy(),c(this,p).delete(E)},D.PDFPageViewBuffer=_;class v{constructor(E){$(this,J);$(this,C);$(this,Y);$(this,se);$(this,V);$(this,i);$(this,S);$(this,L);$(this,me);$(this,q);$(this,ne);$(this,be);$(this,xe);$(this,Re);$(this,we);$(this,n,null);$(this,f,b.AnnotationEditorType.NONE);$(this,T,null);$(this,l,b.AnnotationMode.ENABLE_FORMS);$(this,I,null);$(this,K,null);$(this,le,!1);$(this,H,!1);$(this,ee,null);$(this,ae,!1);$(this,te,0);$(this,ge,new ResizeObserver(Z(this,we,hn).bind(this)));$(this,ye,null);$(this,Q,null);$(this,Ce,null);$(this,Ee,d.TextLayerMode.ENABLE);var M,ie;const m="3.6.172";if(b.version!==m)throw new Error(`The API version "${b.version}" does not match the Viewer version "${m}".`);if(this.container=E.container,this.viewer=E.viewer||E.container.firstElementChild,((M=this.container)==null?void 0:M.tagName)!=="DIV"||((ie=this.viewer)==null?void 0:ie.tagName)!=="DIV")throw new Error("Invalid `container` and/or `viewer` option.");if(this.container.offsetParent&&getComputedStyle(this.container).position!=="absolute")throw new Error("The `container` must be absolutely positioned.");c(this,ge).observe(this.container),this.eventBus=E.eventBus,this.linkService=E.linkService||new r.SimpleLinkService,this.downloadManager=E.downloadManager||null,this.findController=E.findController||null,this._scriptingManager=E.scriptingManager||null,_e(this,Ee,E.textLayerMode??d.TextLayerMode.ENABLE),_e(this,l,E.annotationMode??b.AnnotationMode.ENABLE_FORMS),_e(this,f,E.annotationEditorMode??b.AnnotationEditorType.NONE),this.imageResourcesPath=E.imageResourcesPath||"",this.enablePrintAutoRotate=E.enablePrintAutoRotate||!1,this.removePageBorders=E.removePageBorders||!1,this.useOnlyCssZoom=E.useOnlyCssZoom||!1,this.isOffscreenCanvasSupported=E.isOffscreenCanvasSupported??!0,this.maxCanvasPixels=E.maxCanvasPixels,this.l10n=E.l10n||k.NullL10n,_e(this,le,E.enablePermissions||!1),this.pageColors=E.pageColors||null,this.pageColors&&!(CSS.supports("color",this.pageColors.background)&&CSS.supports("color",this.pageColors.foreground))&&((this.pageColors.background||this.pageColors.foreground)&&console.warn("PDFViewer: Ignoring `pageColors`-option, since the browser doesn't support the values used."),this.pageColors=null),this.defaultRenderingQueue=!E.renderingQueue,this.defaultRenderingQueue?(this.renderingQueue=new y.PDFRenderingQueue,this.renderingQueue.setViewer(this)):this.renderingQueue=E.renderingQueue,this.scroll=(0,d.watchScroll)(this.container,this._scrollUpdate.bind(this)),this.presentationModeState=d.PresentationModeState.UNKNOWN,this._onBeforeDraw=this._onAfterDraw=null,this._resetView(),this.removePageBorders&&this.viewer.classList.add("removePageBorders"),Z(this,Re,pi).call(this)}get pagesCount(){return this._pages.length}getPageView(E){return this._pages[E]}get pageViewsReady(){return this._pagesCapability.settled&&this._pages.every(E=>E==null?void 0:E.pdfPage)}get renderForms(){return c(this,l)===b.AnnotationMode.ENABLE_FORMS}get enableScripting(){return!!this._scriptingManager}get currentPageNumber(){return this._currentPageNumber}set currentPageNumber(E){if(!Number.isInteger(E))throw new Error("Invalid page number.");this.pdfDocument&&(this._setCurrentPageNumber(E,!0)||console.error(`currentPageNumber: "${E}" is not a valid page.`))}_setCurrentPageNumber(E,m=!1){var ie;if(this._currentPageNumber===E)return m&&Z(this,ne,fi).call(this),!0;if(!(0=0&&(m=M+1)}this._setCurrentPageNumber(m,!0)||console.error(`currentPageLabel: "${E}" is not a valid page.`)}get currentScale(){return this._currentScale!==d.UNKNOWN_SCALE?this._currentScale:d.DEFAULT_SCALE}set currentScale(E){if(isNaN(E))throw new Error("Invalid numeric scale.");this.pdfDocument&&Z(this,q,Je).call(this,E,{noScroll:!1})}get currentScaleValue(){return this._currentScaleValue}set currentScaleValue(E){this.pdfDocument&&Z(this,q,Je).call(this,E,{noScroll:!1})}get pagesRotation(){return this._pagesRotation}set pagesRotation(E){if(!(0,d.isValidRotation)(E))throw new Error("Invalid pages rotation angle.");if(!this.pdfDocument||(E%=360,E<0&&(E+=360),this._pagesRotation===E))return;this._pagesRotation=E;const m=this._currentPageNumber;this.refresh(!0,{rotation:E}),this._currentScaleValue&&Z(this,q,Je).call(this,this._currentScaleValue,{noScroll:!0}),this.eventBus.dispatch("rotationchanging",{source:this,pagesRotation:E,pageNumber:m}),this.defaultRenderingQueue&&this.update()}get firstPagePromise(){return this.pdfDocument?this._firstPageCapability.promise:null}get onePageRendered(){return this.pdfDocument?this._onePageRenderedCapability.promise:null}get pagesPromise(){return this.pdfDocument?this._pagesCapability.promise:null}async getAllText(){const E=[],m=[];for(let M=1,ie=this.pdfDocument.numPages;M<=ie;++M){if(c(this,ae))return null;m.length=0;const de=await this.pdfDocument.getPage(M),{items:re}=await de.getTextContent();for(const he of re)he.str&&m.push(he.str),he.hasEOL&&m.push(` diff --git a/osis_document/static/osis_document/osis-document-editor.umd.min.js.map b/osis_document/static/osis_document/osis-document-editor.umd.min.js.map index 19b0292..7cb8529 100644 --- a/osis_document/static/osis_document/osis-document-editor.umd.min.js.map +++ b/osis_document/static/osis_document/osis-document-editor.umd.min.js.map @@ -1 +1 @@ -{"version":3,"file":"osis-document-editor.umd.min.js","sources":["../../../frontend/i18n.ts","../../../frontend/components/ToolbarZoom.vue","../../../frontend/utils.ts","../../../__vite-browser-external","../../../node_modules/pdfjs-dist/build/pdf.js","../../../node_modules/pdfjs-dist/web/pdf_viewer.js","../../../frontend/DocumentEditor.vue","../../../frontend/editor.ts"],"sourcesContent":["/*\n *\n * OSIS stands for Open Student Information System. It's an application\n * designed to manage the core business of higher education institutions,\n * such as universities, faculties, institutes and professional schools.\n * The core business involves the administration of students, teachers,\n * courses, programs and so on.\n *\n * Copyright (C) 2015-2021 Université catholique de Louvain (http://www.uclouvain.be)\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU General Public License for more details.\n *\n * A copy of this license - GNU General Public License - is available\n * at the root of the source code of this program. If not,\n * see http://www.gnu.org/licenses/.\n *\n */\n\nimport {createI18n} from 'vue-i18n';\nimport fr from \"./locales/fr\";\nimport en from \"./locales/en\";\n\nexport const i18n = createI18n({\n locale: document.documentElement.lang || 'en',\n allowComposition: true,\n messages: {\n en,\n fr,\n },\n});\n","\n\n\n\n\n","/*\n *\n * OSIS stands for Open Student Information System. It's an application\n * designed to manage the core business of higher education institutions,\n * such as universities, faculties, institutes and professional schools.\n * The core business involves the administration of students, teachers,\n * courses, programs and so on.\n *\n * Copyright (C) 2015-2021 Université catholique de Louvain (http://www.uclouvain.be)\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU General Public License for more details.\n *\n * A copy of this license - GNU General Public License - is available\n * at the root of the source code of this program. If not,\n * see http://www.gnu.org/licenses/.\n *\n */\nimport {i18n} from './i18n';\n\nexport function humanizedSize(size: number): string {\n let i = 0;\n while (size >= 1024) {\n size /= 1024;\n ++i;\n }\n const unit = i18n.global.t(`units[${i}]`);\n return `${size.toFixed(2)} ${unit}`;\n}\n\n\nexport async function doRequest(url: string, params?: object): Promise {\n const response = await fetch(url, {\n headers: {'Content-Type': 'application/json'},\n ...params,\n });\n if (response.status >= 200 && response.status < 300) {\n return response.json();\n } else {\n throw new Error(response.statusText);\n }\n}\n","export default {}","/**\n * @licstart The following is the entire license notice for the\n * JavaScript code in this page\n *\n * Copyright 2023 Mozilla Foundation\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n * @licend The above is the entire license notice for the\n * JavaScript code in this page\n */\n\n(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine(\"pdfjs-dist/build/pdf\", [], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"pdfjs-dist/build/pdf\"] = factory();\n\telse\n\t\troot[\"pdfjs-dist/build/pdf\"] = root.pdfjsLib = factory();\n})(globalThis, () => {\nreturn /******/ (() => { // webpackBootstrap\n/******/ \t\"use strict\";\n/******/ \tvar __webpack_modules__ = ([\n/* 0 */,\n/* 1 */\n/***/ ((__unused_webpack_module, exports) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.VerbosityLevel = exports.Util = exports.UnknownErrorException = exports.UnexpectedResponseException = exports.TextRenderingMode = exports.RenderingIntentFlag = exports.PromiseCapability = exports.PermissionFlag = exports.PasswordResponses = exports.PasswordException = exports.PageActionEventType = exports.OPS = exports.MissingPDFException = exports.MAX_IMAGE_SIZE_TO_CACHE = exports.LINE_FACTOR = exports.LINE_DESCENT_FACTOR = exports.InvalidPDFException = exports.ImageKind = exports.IDENTITY_MATRIX = exports.FormatError = exports.FeatureTest = exports.FONT_IDENTITY_MATRIX = exports.DocumentActionEventType = exports.CMapCompressionType = exports.BaseException = exports.BASELINE_FACTOR = exports.AnnotationType = exports.AnnotationStateModelType = exports.AnnotationReviewState = exports.AnnotationReplyType = exports.AnnotationMode = exports.AnnotationMarkedState = exports.AnnotationFlag = exports.AnnotationFieldFlag = exports.AnnotationEditorType = exports.AnnotationEditorPrefix = exports.AnnotationEditorParamsType = exports.AnnotationBorderStyleType = exports.AnnotationActionEventType = exports.AbortException = void 0;\nexports.assert = assert;\nexports.bytesToString = bytesToString;\nexports.createValidAbsoluteUrl = createValidAbsoluteUrl;\nexports.getModificationDate = getModificationDate;\nexports.getVerbosityLevel = getVerbosityLevel;\nexports.info = info;\nexports.isArrayBuffer = isArrayBuffer;\nexports.isArrayEqual = isArrayEqual;\nexports.normalizeUnicode = normalizeUnicode;\nexports.objectFromMap = objectFromMap;\nexports.objectSize = objectSize;\nexports.setVerbosityLevel = setVerbosityLevel;\nexports.shadow = shadow;\nexports.string32 = string32;\nexports.stringToBytes = stringToBytes;\nexports.stringToPDFString = stringToPDFString;\nexports.stringToUTF8String = stringToUTF8String;\nexports.unreachable = unreachable;\nexports.utf8StringToString = utf8StringToString;\nexports.warn = warn;\n;\nconst IDENTITY_MATRIX = [1, 0, 0, 1, 0, 0];\nexports.IDENTITY_MATRIX = IDENTITY_MATRIX;\nconst FONT_IDENTITY_MATRIX = [0.001, 0, 0, 0.001, 0, 0];\nexports.FONT_IDENTITY_MATRIX = FONT_IDENTITY_MATRIX;\nconst MAX_IMAGE_SIZE_TO_CACHE = 10e6;\nexports.MAX_IMAGE_SIZE_TO_CACHE = MAX_IMAGE_SIZE_TO_CACHE;\nconst LINE_FACTOR = 1.35;\nexports.LINE_FACTOR = LINE_FACTOR;\nconst LINE_DESCENT_FACTOR = 0.35;\nexports.LINE_DESCENT_FACTOR = LINE_DESCENT_FACTOR;\nconst BASELINE_FACTOR = LINE_DESCENT_FACTOR / LINE_FACTOR;\nexports.BASELINE_FACTOR = BASELINE_FACTOR;\nconst RenderingIntentFlag = {\n ANY: 0x01,\n DISPLAY: 0x02,\n PRINT: 0x04,\n SAVE: 0x08,\n ANNOTATIONS_FORMS: 0x10,\n ANNOTATIONS_STORAGE: 0x20,\n ANNOTATIONS_DISABLE: 0x40,\n OPLIST: 0x100\n};\nexports.RenderingIntentFlag = RenderingIntentFlag;\nconst AnnotationMode = {\n DISABLE: 0,\n ENABLE: 1,\n ENABLE_FORMS: 2,\n ENABLE_STORAGE: 3\n};\nexports.AnnotationMode = AnnotationMode;\nconst AnnotationEditorPrefix = \"pdfjs_internal_editor_\";\nexports.AnnotationEditorPrefix = AnnotationEditorPrefix;\nconst AnnotationEditorType = {\n DISABLE: -1,\n NONE: 0,\n FREETEXT: 3,\n INK: 15\n};\nexports.AnnotationEditorType = AnnotationEditorType;\nconst AnnotationEditorParamsType = {\n FREETEXT_SIZE: 1,\n FREETEXT_COLOR: 2,\n FREETEXT_OPACITY: 3,\n INK_COLOR: 11,\n INK_THICKNESS: 12,\n INK_OPACITY: 13\n};\nexports.AnnotationEditorParamsType = AnnotationEditorParamsType;\nconst PermissionFlag = {\n PRINT: 0x04,\n MODIFY_CONTENTS: 0x08,\n COPY: 0x10,\n MODIFY_ANNOTATIONS: 0x20,\n FILL_INTERACTIVE_FORMS: 0x100,\n COPY_FOR_ACCESSIBILITY: 0x200,\n ASSEMBLE: 0x400,\n PRINT_HIGH_QUALITY: 0x800\n};\nexports.PermissionFlag = PermissionFlag;\nconst TextRenderingMode = {\n FILL: 0,\n STROKE: 1,\n FILL_STROKE: 2,\n INVISIBLE: 3,\n FILL_ADD_TO_PATH: 4,\n STROKE_ADD_TO_PATH: 5,\n FILL_STROKE_ADD_TO_PATH: 6,\n ADD_TO_PATH: 7,\n FILL_STROKE_MASK: 3,\n ADD_TO_PATH_FLAG: 4\n};\nexports.TextRenderingMode = TextRenderingMode;\nconst ImageKind = {\n GRAYSCALE_1BPP: 1,\n RGB_24BPP: 2,\n RGBA_32BPP: 3\n};\nexports.ImageKind = ImageKind;\nconst AnnotationType = {\n TEXT: 1,\n LINK: 2,\n FREETEXT: 3,\n LINE: 4,\n SQUARE: 5,\n CIRCLE: 6,\n POLYGON: 7,\n POLYLINE: 8,\n HIGHLIGHT: 9,\n UNDERLINE: 10,\n SQUIGGLY: 11,\n STRIKEOUT: 12,\n STAMP: 13,\n CARET: 14,\n INK: 15,\n POPUP: 16,\n FILEATTACHMENT: 17,\n SOUND: 18,\n MOVIE: 19,\n WIDGET: 20,\n SCREEN: 21,\n PRINTERMARK: 22,\n TRAPNET: 23,\n WATERMARK: 24,\n THREED: 25,\n REDACT: 26\n};\nexports.AnnotationType = AnnotationType;\nconst AnnotationStateModelType = {\n MARKED: \"Marked\",\n REVIEW: \"Review\"\n};\nexports.AnnotationStateModelType = AnnotationStateModelType;\nconst AnnotationMarkedState = {\n MARKED: \"Marked\",\n UNMARKED: \"Unmarked\"\n};\nexports.AnnotationMarkedState = AnnotationMarkedState;\nconst AnnotationReviewState = {\n ACCEPTED: \"Accepted\",\n REJECTED: \"Rejected\",\n CANCELLED: \"Cancelled\",\n COMPLETED: \"Completed\",\n NONE: \"None\"\n};\nexports.AnnotationReviewState = AnnotationReviewState;\nconst AnnotationReplyType = {\n GROUP: \"Group\",\n REPLY: \"R\"\n};\nexports.AnnotationReplyType = AnnotationReplyType;\nconst AnnotationFlag = {\n INVISIBLE: 0x01,\n HIDDEN: 0x02,\n PRINT: 0x04,\n NOZOOM: 0x08,\n NOROTATE: 0x10,\n NOVIEW: 0x20,\n READONLY: 0x40,\n LOCKED: 0x80,\n TOGGLENOVIEW: 0x100,\n LOCKEDCONTENTS: 0x200\n};\nexports.AnnotationFlag = AnnotationFlag;\nconst AnnotationFieldFlag = {\n READONLY: 0x0000001,\n REQUIRED: 0x0000002,\n NOEXPORT: 0x0000004,\n MULTILINE: 0x0001000,\n PASSWORD: 0x0002000,\n NOTOGGLETOOFF: 0x0004000,\n RADIO: 0x0008000,\n PUSHBUTTON: 0x0010000,\n COMBO: 0x0020000,\n EDIT: 0x0040000,\n SORT: 0x0080000,\n FILESELECT: 0x0100000,\n MULTISELECT: 0x0200000,\n DONOTSPELLCHECK: 0x0400000,\n DONOTSCROLL: 0x0800000,\n COMB: 0x1000000,\n RICHTEXT: 0x2000000,\n RADIOSINUNISON: 0x2000000,\n COMMITONSELCHANGE: 0x4000000\n};\nexports.AnnotationFieldFlag = AnnotationFieldFlag;\nconst AnnotationBorderStyleType = {\n SOLID: 1,\n DASHED: 2,\n BEVELED: 3,\n INSET: 4,\n UNDERLINE: 5\n};\nexports.AnnotationBorderStyleType = AnnotationBorderStyleType;\nconst AnnotationActionEventType = {\n E: \"Mouse Enter\",\n X: \"Mouse Exit\",\n D: \"Mouse Down\",\n U: \"Mouse Up\",\n Fo: \"Focus\",\n Bl: \"Blur\",\n PO: \"PageOpen\",\n PC: \"PageClose\",\n PV: \"PageVisible\",\n PI: \"PageInvisible\",\n K: \"Keystroke\",\n F: \"Format\",\n V: \"Validate\",\n C: \"Calculate\"\n};\nexports.AnnotationActionEventType = AnnotationActionEventType;\nconst DocumentActionEventType = {\n WC: \"WillClose\",\n WS: \"WillSave\",\n DS: \"DidSave\",\n WP: \"WillPrint\",\n DP: \"DidPrint\"\n};\nexports.DocumentActionEventType = DocumentActionEventType;\nconst PageActionEventType = {\n O: \"PageOpen\",\n C: \"PageClose\"\n};\nexports.PageActionEventType = PageActionEventType;\nconst VerbosityLevel = {\n ERRORS: 0,\n WARNINGS: 1,\n INFOS: 5\n};\nexports.VerbosityLevel = VerbosityLevel;\nconst CMapCompressionType = {\n NONE: 0,\n BINARY: 1\n};\nexports.CMapCompressionType = CMapCompressionType;\nconst OPS = {\n dependency: 1,\n setLineWidth: 2,\n setLineCap: 3,\n setLineJoin: 4,\n setMiterLimit: 5,\n setDash: 6,\n setRenderingIntent: 7,\n setFlatness: 8,\n setGState: 9,\n save: 10,\n restore: 11,\n transform: 12,\n moveTo: 13,\n lineTo: 14,\n curveTo: 15,\n curveTo2: 16,\n curveTo3: 17,\n closePath: 18,\n rectangle: 19,\n stroke: 20,\n closeStroke: 21,\n fill: 22,\n eoFill: 23,\n fillStroke: 24,\n eoFillStroke: 25,\n closeFillStroke: 26,\n closeEOFillStroke: 27,\n endPath: 28,\n clip: 29,\n eoClip: 30,\n beginText: 31,\n endText: 32,\n setCharSpacing: 33,\n setWordSpacing: 34,\n setHScale: 35,\n setLeading: 36,\n setFont: 37,\n setTextRenderingMode: 38,\n setTextRise: 39,\n moveText: 40,\n setLeadingMoveText: 41,\n setTextMatrix: 42,\n nextLine: 43,\n showText: 44,\n showSpacedText: 45,\n nextLineShowText: 46,\n nextLineSetSpacingShowText: 47,\n setCharWidth: 48,\n setCharWidthAndBounds: 49,\n setStrokeColorSpace: 50,\n setFillColorSpace: 51,\n setStrokeColor: 52,\n setStrokeColorN: 53,\n setFillColor: 54,\n setFillColorN: 55,\n setStrokeGray: 56,\n setFillGray: 57,\n setStrokeRGBColor: 58,\n setFillRGBColor: 59,\n setStrokeCMYKColor: 60,\n setFillCMYKColor: 61,\n shadingFill: 62,\n beginInlineImage: 63,\n beginImageData: 64,\n endInlineImage: 65,\n paintXObject: 66,\n markPoint: 67,\n markPointProps: 68,\n beginMarkedContent: 69,\n beginMarkedContentProps: 70,\n endMarkedContent: 71,\n beginCompat: 72,\n endCompat: 73,\n paintFormXObjectBegin: 74,\n paintFormXObjectEnd: 75,\n beginGroup: 76,\n endGroup: 77,\n beginAnnotation: 80,\n endAnnotation: 81,\n paintImageMaskXObject: 83,\n paintImageMaskXObjectGroup: 84,\n paintImageXObject: 85,\n paintInlineImageXObject: 86,\n paintInlineImageXObjectGroup: 87,\n paintImageXObjectRepeat: 88,\n paintImageMaskXObjectRepeat: 89,\n paintSolidColorImageMask: 90,\n constructPath: 91\n};\nexports.OPS = OPS;\nconst PasswordResponses = {\n NEED_PASSWORD: 1,\n INCORRECT_PASSWORD: 2\n};\nexports.PasswordResponses = PasswordResponses;\nlet verbosity = VerbosityLevel.WARNINGS;\nfunction setVerbosityLevel(level) {\n if (Number.isInteger(level)) {\n verbosity = level;\n }\n}\nfunction getVerbosityLevel() {\n return verbosity;\n}\nfunction info(msg) {\n if (verbosity >= VerbosityLevel.INFOS) {\n console.log(`Info: ${msg}`);\n }\n}\nfunction warn(msg) {\n if (verbosity >= VerbosityLevel.WARNINGS) {\n console.log(`Warning: ${msg}`);\n }\n}\nfunction unreachable(msg) {\n throw new Error(msg);\n}\nfunction assert(cond, msg) {\n if (!cond) {\n unreachable(msg);\n }\n}\nfunction _isValidProtocol(url) {\n switch (url?.protocol) {\n case \"http:\":\n case \"https:\":\n case \"ftp:\":\n case \"mailto:\":\n case \"tel:\":\n return true;\n default:\n return false;\n }\n}\nfunction createValidAbsoluteUrl(url, baseUrl = null, options = null) {\n if (!url) {\n return null;\n }\n try {\n if (options && typeof url === \"string\") {\n if (options.addDefaultProtocol && url.startsWith(\"www.\")) {\n const dots = url.match(/\\./g);\n if (dots?.length >= 2) {\n url = `http://${url}`;\n }\n }\n if (options.tryConvertEncoding) {\n try {\n url = stringToUTF8String(url);\n } catch (ex) {}\n }\n }\n const absoluteUrl = baseUrl ? new URL(url, baseUrl) : new URL(url);\n if (_isValidProtocol(absoluteUrl)) {\n return absoluteUrl;\n }\n } catch (ex) {}\n return null;\n}\nfunction shadow(obj, prop, value, nonSerializable = false) {\n Object.defineProperty(obj, prop, {\n value,\n enumerable: !nonSerializable,\n configurable: true,\n writable: false\n });\n return value;\n}\nconst BaseException = function BaseExceptionClosure() {\n function BaseException(message, name) {\n if (this.constructor === BaseException) {\n unreachable(\"Cannot initialize BaseException.\");\n }\n this.message = message;\n this.name = name;\n }\n BaseException.prototype = new Error();\n BaseException.constructor = BaseException;\n return BaseException;\n}();\nexports.BaseException = BaseException;\nclass PasswordException extends BaseException {\n constructor(msg, code) {\n super(msg, \"PasswordException\");\n this.code = code;\n }\n}\nexports.PasswordException = PasswordException;\nclass UnknownErrorException extends BaseException {\n constructor(msg, details) {\n super(msg, \"UnknownErrorException\");\n this.details = details;\n }\n}\nexports.UnknownErrorException = UnknownErrorException;\nclass InvalidPDFException extends BaseException {\n constructor(msg) {\n super(msg, \"InvalidPDFException\");\n }\n}\nexports.InvalidPDFException = InvalidPDFException;\nclass MissingPDFException extends BaseException {\n constructor(msg) {\n super(msg, \"MissingPDFException\");\n }\n}\nexports.MissingPDFException = MissingPDFException;\nclass UnexpectedResponseException extends BaseException {\n constructor(msg, status) {\n super(msg, \"UnexpectedResponseException\");\n this.status = status;\n }\n}\nexports.UnexpectedResponseException = UnexpectedResponseException;\nclass FormatError extends BaseException {\n constructor(msg) {\n super(msg, \"FormatError\");\n }\n}\nexports.FormatError = FormatError;\nclass AbortException extends BaseException {\n constructor(msg) {\n super(msg, \"AbortException\");\n }\n}\nexports.AbortException = AbortException;\nfunction bytesToString(bytes) {\n if (typeof bytes !== \"object\" || bytes?.length === undefined) {\n unreachable(\"Invalid argument for bytesToString\");\n }\n const length = bytes.length;\n const MAX_ARGUMENT_COUNT = 8192;\n if (length < MAX_ARGUMENT_COUNT) {\n return String.fromCharCode.apply(null, bytes);\n }\n const strBuf = [];\n for (let i = 0; i < length; i += MAX_ARGUMENT_COUNT) {\n const chunkEnd = Math.min(i + MAX_ARGUMENT_COUNT, length);\n const chunk = bytes.subarray(i, chunkEnd);\n strBuf.push(String.fromCharCode.apply(null, chunk));\n }\n return strBuf.join(\"\");\n}\nfunction stringToBytes(str) {\n if (typeof str !== \"string\") {\n unreachable(\"Invalid argument for stringToBytes\");\n }\n const length = str.length;\n const bytes = new Uint8Array(length);\n for (let i = 0; i < length; ++i) {\n bytes[i] = str.charCodeAt(i) & 0xff;\n }\n return bytes;\n}\nfunction string32(value) {\n return String.fromCharCode(value >> 24 & 0xff, value >> 16 & 0xff, value >> 8 & 0xff, value & 0xff);\n}\nfunction objectSize(obj) {\n return Object.keys(obj).length;\n}\nfunction objectFromMap(map) {\n const obj = Object.create(null);\n for (const [key, value] of map) {\n obj[key] = value;\n }\n return obj;\n}\nfunction isLittleEndian() {\n const buffer8 = new Uint8Array(4);\n buffer8[0] = 1;\n const view32 = new Uint32Array(buffer8.buffer, 0, 1);\n return view32[0] === 1;\n}\nfunction isEvalSupported() {\n try {\n new Function(\"\");\n return true;\n } catch (e) {\n return false;\n }\n}\nclass FeatureTest {\n static get isLittleEndian() {\n return shadow(this, \"isLittleEndian\", isLittleEndian());\n }\n static get isEvalSupported() {\n return shadow(this, \"isEvalSupported\", isEvalSupported());\n }\n static get isOffscreenCanvasSupported() {\n return shadow(this, \"isOffscreenCanvasSupported\", typeof OffscreenCanvas !== \"undefined\");\n }\n static get platform() {\n if (typeof navigator === \"undefined\") {\n return shadow(this, \"platform\", {\n isWin: false,\n isMac: false\n });\n }\n return shadow(this, \"platform\", {\n isWin: navigator.platform.includes(\"Win\"),\n isMac: navigator.platform.includes(\"Mac\")\n });\n }\n}\nexports.FeatureTest = FeatureTest;\nconst hexNumbers = [...Array(256).keys()].map(n => n.toString(16).padStart(2, \"0\"));\nclass Util {\n static makeHexColor(r, g, b) {\n return `#${hexNumbers[r]}${hexNumbers[g]}${hexNumbers[b]}`;\n }\n static scaleMinMax(transform, minMax) {\n let temp;\n if (transform[0]) {\n if (transform[0] < 0) {\n temp = minMax[0];\n minMax[0] = minMax[1];\n minMax[1] = temp;\n }\n minMax[0] *= transform[0];\n minMax[1] *= transform[0];\n if (transform[3] < 0) {\n temp = minMax[2];\n minMax[2] = minMax[3];\n minMax[3] = temp;\n }\n minMax[2] *= transform[3];\n minMax[3] *= transform[3];\n } else {\n temp = minMax[0];\n minMax[0] = minMax[2];\n minMax[2] = temp;\n temp = minMax[1];\n minMax[1] = minMax[3];\n minMax[3] = temp;\n if (transform[1] < 0) {\n temp = minMax[2];\n minMax[2] = minMax[3];\n minMax[3] = temp;\n }\n minMax[2] *= transform[1];\n minMax[3] *= transform[1];\n if (transform[2] < 0) {\n temp = minMax[0];\n minMax[0] = minMax[1];\n minMax[1] = temp;\n }\n minMax[0] *= transform[2];\n minMax[1] *= transform[2];\n }\n minMax[0] += transform[4];\n minMax[1] += transform[4];\n minMax[2] += transform[5];\n minMax[3] += transform[5];\n }\n static transform(m1, m2) {\n return [m1[0] * m2[0] + m1[2] * m2[1], m1[1] * m2[0] + m1[3] * m2[1], m1[0] * m2[2] + m1[2] * m2[3], m1[1] * m2[2] + m1[3] * m2[3], m1[0] * m2[4] + m1[2] * m2[5] + m1[4], m1[1] * m2[4] + m1[3] * m2[5] + m1[5]];\n }\n static applyTransform(p, m) {\n const xt = p[0] * m[0] + p[1] * m[2] + m[4];\n const yt = p[0] * m[1] + p[1] * m[3] + m[5];\n return [xt, yt];\n }\n static applyInverseTransform(p, m) {\n const d = m[0] * m[3] - m[1] * m[2];\n const xt = (p[0] * m[3] - p[1] * m[2] + m[2] * m[5] - m[4] * m[3]) / d;\n const yt = (-p[0] * m[1] + p[1] * m[0] + m[4] * m[1] - m[5] * m[0]) / d;\n return [xt, yt];\n }\n static getAxialAlignedBoundingBox(r, m) {\n const p1 = Util.applyTransform(r, m);\n const p2 = Util.applyTransform(r.slice(2, 4), m);\n const p3 = Util.applyTransform([r[0], r[3]], m);\n const p4 = Util.applyTransform([r[2], r[1]], m);\n return [Math.min(p1[0], p2[0], p3[0], p4[0]), Math.min(p1[1], p2[1], p3[1], p4[1]), Math.max(p1[0], p2[0], p3[0], p4[0]), Math.max(p1[1], p2[1], p3[1], p4[1])];\n }\n static inverseTransform(m) {\n const d = m[0] * m[3] - m[1] * m[2];\n return [m[3] / d, -m[1] / d, -m[2] / d, m[0] / d, (m[2] * m[5] - m[4] * m[3]) / d, (m[4] * m[1] - m[5] * m[0]) / d];\n }\n static singularValueDecompose2dScale(m) {\n const transpose = [m[0], m[2], m[1], m[3]];\n const a = m[0] * transpose[0] + m[1] * transpose[2];\n const b = m[0] * transpose[1] + m[1] * transpose[3];\n const c = m[2] * transpose[0] + m[3] * transpose[2];\n const d = m[2] * transpose[1] + m[3] * transpose[3];\n const first = (a + d) / 2;\n const second = Math.sqrt((a + d) ** 2 - 4 * (a * d - c * b)) / 2;\n const sx = first + second || 1;\n const sy = first - second || 1;\n return [Math.sqrt(sx), Math.sqrt(sy)];\n }\n static normalizeRect(rect) {\n const r = rect.slice(0);\n if (rect[0] > rect[2]) {\n r[0] = rect[2];\n r[2] = rect[0];\n }\n if (rect[1] > rect[3]) {\n r[1] = rect[3];\n r[3] = rect[1];\n }\n return r;\n }\n static intersect(rect1, rect2) {\n const xLow = Math.max(Math.min(rect1[0], rect1[2]), Math.min(rect2[0], rect2[2]));\n const xHigh = Math.min(Math.max(rect1[0], rect1[2]), Math.max(rect2[0], rect2[2]));\n if (xLow > xHigh) {\n return null;\n }\n const yLow = Math.max(Math.min(rect1[1], rect1[3]), Math.min(rect2[1], rect2[3]));\n const yHigh = Math.min(Math.max(rect1[1], rect1[3]), Math.max(rect2[1], rect2[3]));\n if (yLow > yHigh) {\n return null;\n }\n return [xLow, yLow, xHigh, yHigh];\n }\n static bezierBoundingBox(x0, y0, x1, y1, x2, y2, x3, y3) {\n const tvalues = [],\n bounds = [[], []];\n let a, b, c, t, t1, t2, b2ac, sqrtb2ac;\n for (let i = 0; i < 2; ++i) {\n if (i === 0) {\n b = 6 * x0 - 12 * x1 + 6 * x2;\n a = -3 * x0 + 9 * x1 - 9 * x2 + 3 * x3;\n c = 3 * x1 - 3 * x0;\n } else {\n b = 6 * y0 - 12 * y1 + 6 * y2;\n a = -3 * y0 + 9 * y1 - 9 * y2 + 3 * y3;\n c = 3 * y1 - 3 * y0;\n }\n if (Math.abs(a) < 1e-12) {\n if (Math.abs(b) < 1e-12) {\n continue;\n }\n t = -c / b;\n if (0 < t && t < 1) {\n tvalues.push(t);\n }\n continue;\n }\n b2ac = b * b - 4 * c * a;\n sqrtb2ac = Math.sqrt(b2ac);\n if (b2ac < 0) {\n continue;\n }\n t1 = (-b + sqrtb2ac) / (2 * a);\n if (0 < t1 && t1 < 1) {\n tvalues.push(t1);\n }\n t2 = (-b - sqrtb2ac) / (2 * a);\n if (0 < t2 && t2 < 1) {\n tvalues.push(t2);\n }\n }\n let j = tvalues.length,\n mt;\n const jlen = j;\n while (j--) {\n t = tvalues[j];\n mt = 1 - t;\n bounds[0][j] = mt * mt * mt * x0 + 3 * mt * mt * t * x1 + 3 * mt * t * t * x2 + t * t * t * x3;\n bounds[1][j] = mt * mt * mt * y0 + 3 * mt * mt * t * y1 + 3 * mt * t * t * y2 + t * t * t * y3;\n }\n bounds[0][jlen] = x0;\n bounds[1][jlen] = y0;\n bounds[0][jlen + 1] = x3;\n bounds[1][jlen + 1] = y3;\n bounds[0].length = bounds[1].length = jlen + 2;\n return [Math.min(...bounds[0]), Math.min(...bounds[1]), Math.max(...bounds[0]), Math.max(...bounds[1])];\n }\n}\nexports.Util = Util;\nconst PDFStringTranslateTable = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x2d8, 0x2c7, 0x2c6, 0x2d9, 0x2dd, 0x2db, 0x2da, 0x2dc, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x2022, 0x2020, 0x2021, 0x2026, 0x2014, 0x2013, 0x192, 0x2044, 0x2039, 0x203a, 0x2212, 0x2030, 0x201e, 0x201c, 0x201d, 0x2018, 0x2019, 0x201a, 0x2122, 0xfb01, 0xfb02, 0x141, 0x152, 0x160, 0x178, 0x17d, 0x131, 0x142, 0x153, 0x161, 0x17e, 0, 0x20ac];\nfunction stringToPDFString(str) {\n if (str[0] >= \"\\xEF\") {\n let encoding;\n if (str[0] === \"\\xFE\" && str[1] === \"\\xFF\") {\n encoding = \"utf-16be\";\n } else if (str[0] === \"\\xFF\" && str[1] === \"\\xFE\") {\n encoding = \"utf-16le\";\n } else if (str[0] === \"\\xEF\" && str[1] === \"\\xBB\" && str[2] === \"\\xBF\") {\n encoding = \"utf-8\";\n }\n if (encoding) {\n try {\n const decoder = new TextDecoder(encoding, {\n fatal: true\n });\n const buffer = stringToBytes(str);\n return decoder.decode(buffer);\n } catch (ex) {\n warn(`stringToPDFString: \"${ex}\".`);\n }\n }\n }\n const strBuf = [];\n for (let i = 0, ii = str.length; i < ii; i++) {\n const code = PDFStringTranslateTable[str.charCodeAt(i)];\n strBuf.push(code ? String.fromCharCode(code) : str.charAt(i));\n }\n return strBuf.join(\"\");\n}\nfunction stringToUTF8String(str) {\n return decodeURIComponent(escape(str));\n}\nfunction utf8StringToString(str) {\n return unescape(encodeURIComponent(str));\n}\nfunction isArrayBuffer(v) {\n return typeof v === \"object\" && v?.byteLength !== undefined;\n}\nfunction isArrayEqual(arr1, arr2) {\n if (arr1.length !== arr2.length) {\n return false;\n }\n for (let i = 0, ii = arr1.length; i < ii; i++) {\n if (arr1[i] !== arr2[i]) {\n return false;\n }\n }\n return true;\n}\nfunction getModificationDate(date = new Date()) {\n const buffer = [date.getUTCFullYear().toString(), (date.getUTCMonth() + 1).toString().padStart(2, \"0\"), date.getUTCDate().toString().padStart(2, \"0\"), date.getUTCHours().toString().padStart(2, \"0\"), date.getUTCMinutes().toString().padStart(2, \"0\"), date.getUTCSeconds().toString().padStart(2, \"0\")];\n return buffer.join(\"\");\n}\nclass PromiseCapability {\n #settled = false;\n constructor() {\n this.promise = new Promise((resolve, reject) => {\n this.resolve = data => {\n this.#settled = true;\n resolve(data);\n };\n this.reject = reason => {\n this.#settled = true;\n reject(reason);\n };\n });\n }\n get settled() {\n return this.#settled;\n }\n}\nexports.PromiseCapability = PromiseCapability;\nlet NormalizeRegex = null;\nlet NormalizationMap = null;\nfunction normalizeUnicode(str) {\n if (!NormalizeRegex) {\n NormalizeRegex = /([\\u00a0\\u00b5\\u037e\\u0eb3\\u2000-\\u200a\\u202f\\u2126\\ufb00-\\ufb04\\ufb06\\ufb20-\\ufb36\\ufb38-\\ufb3c\\ufb3e\\ufb40-\\ufb41\\ufb43-\\ufb44\\ufb46-\\ufba1\\ufba4-\\ufba9\\ufbae-\\ufbb1\\ufbd3-\\ufbdc\\ufbde-\\ufbe7\\ufbea-\\ufbf8\\ufbfc-\\ufbfd\\ufc00-\\ufc5d\\ufc64-\\ufcf1\\ufcf5-\\ufd3d\\ufd88\\ufdf4\\ufdfa-\\ufdfb\\ufe71\\ufe77\\ufe79\\ufe7b\\ufe7d]+)|(\\ufb05+)/gu;\n NormalizationMap = new Map([[\"ſt\", \"ſt\"]]);\n }\n return str.replaceAll(NormalizeRegex, (_, p1, p2) => {\n return p1 ? p1.normalize(\"NFKC\") : NormalizationMap.get(p2);\n });\n}\n\n/***/ }),\n/* 2 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.build = exports.RenderTask = exports.PDFWorkerUtil = exports.PDFWorker = exports.PDFPageProxy = exports.PDFDocumentProxy = exports.PDFDocumentLoadingTask = exports.PDFDataRangeTransport = exports.LoopbackPort = exports.DefaultStandardFontDataFactory = exports.DefaultFilterFactory = exports.DefaultCanvasFactory = exports.DefaultCMapReaderFactory = void 0;\nexports.getDocument = getDocument;\nexports.version = void 0;\nvar _util = __w_pdfjs_require__(1);\nvar _annotation_storage = __w_pdfjs_require__(3);\nvar _display_utils = __w_pdfjs_require__(6);\nvar _font_loader = __w_pdfjs_require__(9);\nvar _canvas = __w_pdfjs_require__(11);\nvar _worker_options = __w_pdfjs_require__(14);\nvar _is_node = __w_pdfjs_require__(10);\nvar _message_handler = __w_pdfjs_require__(15);\nvar _metadata = __w_pdfjs_require__(16);\nvar _optional_content_config = __w_pdfjs_require__(17);\nvar _transport_stream = __w_pdfjs_require__(18);\nvar _xfa_text = __w_pdfjs_require__(19);\nconst DEFAULT_RANGE_CHUNK_SIZE = 65536;\nconst RENDERING_CANCELLED_TIMEOUT = 100;\nconst DELAYED_CLEANUP_TIMEOUT = 5000;\nlet DefaultCanvasFactory = _display_utils.DOMCanvasFactory;\nexports.DefaultCanvasFactory = DefaultCanvasFactory;\nlet DefaultCMapReaderFactory = _display_utils.DOMCMapReaderFactory;\nexports.DefaultCMapReaderFactory = DefaultCMapReaderFactory;\nlet DefaultFilterFactory = _display_utils.DOMFilterFactory;\nexports.DefaultFilterFactory = DefaultFilterFactory;\nlet DefaultStandardFontDataFactory = _display_utils.DOMStandardFontDataFactory;\nexports.DefaultStandardFontDataFactory = DefaultStandardFontDataFactory;\nif (_is_node.isNodeJS) {\n const {\n NodeCanvasFactory,\n NodeCMapReaderFactory,\n NodeFilterFactory,\n NodeStandardFontDataFactory\n } = __w_pdfjs_require__(20);\n exports.DefaultCanvasFactory = DefaultCanvasFactory = NodeCanvasFactory;\n exports.DefaultCMapReaderFactory = DefaultCMapReaderFactory = NodeCMapReaderFactory;\n exports.DefaultFilterFactory = DefaultFilterFactory = NodeFilterFactory;\n exports.DefaultStandardFontDataFactory = DefaultStandardFontDataFactory = NodeStandardFontDataFactory;\n}\nlet createPDFNetworkStream;\n{\n if (_is_node.isNodeJS) {\n const {\n PDFNodeStream\n } = __w_pdfjs_require__(21);\n createPDFNetworkStream = params => {\n return new PDFNodeStream(params);\n };\n } else {\n const {\n PDFNetworkStream\n } = __w_pdfjs_require__(24);\n const {\n PDFFetchStream\n } = __w_pdfjs_require__(25);\n createPDFNetworkStream = params => {\n return (0, _display_utils.isValidFetchUrl)(params.url) ? new PDFFetchStream(params) : new PDFNetworkStream(params);\n };\n }\n}\nfunction getDocument(src) {\n if (typeof src === \"string\" || src instanceof URL) {\n src = {\n url: src\n };\n } else if ((0, _util.isArrayBuffer)(src)) {\n src = {\n data: src\n };\n }\n if (typeof src !== \"object\") {\n throw new Error(\"Invalid parameter in getDocument, need parameter object.\");\n }\n if (!src.url && !src.data && !src.range) {\n throw new Error(\"Invalid parameter object: need either .data, .range or .url\");\n }\n const task = new PDFDocumentLoadingTask();\n const {\n docId\n } = task;\n const url = src.url ? getUrlProp(src.url) : null;\n const data = src.data ? getDataProp(src.data) : null;\n const httpHeaders = src.httpHeaders || null;\n const withCredentials = src.withCredentials === true;\n const password = src.password ?? null;\n const rangeTransport = src.range instanceof PDFDataRangeTransport ? src.range : null;\n const rangeChunkSize = Number.isInteger(src.rangeChunkSize) && src.rangeChunkSize > 0 ? src.rangeChunkSize : DEFAULT_RANGE_CHUNK_SIZE;\n let worker = src.worker instanceof PDFWorker ? src.worker : null;\n const verbosity = src.verbosity;\n const docBaseUrl = typeof src.docBaseUrl === \"string\" && !(0, _display_utils.isDataScheme)(src.docBaseUrl) ? src.docBaseUrl : null;\n const cMapUrl = typeof src.cMapUrl === \"string\" ? src.cMapUrl : null;\n const cMapPacked = src.cMapPacked !== false;\n const CMapReaderFactory = src.CMapReaderFactory || DefaultCMapReaderFactory;\n const standardFontDataUrl = typeof src.standardFontDataUrl === \"string\" ? src.standardFontDataUrl : null;\n const StandardFontDataFactory = src.StandardFontDataFactory || DefaultStandardFontDataFactory;\n const ignoreErrors = src.stopAtErrors !== true;\n const maxImageSize = Number.isInteger(src.maxImageSize) && src.maxImageSize > -1 ? src.maxImageSize : -1;\n const isEvalSupported = src.isEvalSupported !== false;\n const isOffscreenCanvasSupported = typeof src.isOffscreenCanvasSupported === \"boolean\" ? src.isOffscreenCanvasSupported : !_is_node.isNodeJS;\n const canvasMaxAreaInBytes = Number.isInteger(src.canvasMaxAreaInBytes) ? src.canvasMaxAreaInBytes : -1;\n const disableFontFace = typeof src.disableFontFace === \"boolean\" ? src.disableFontFace : _is_node.isNodeJS;\n const fontExtraProperties = src.fontExtraProperties === true;\n const enableXfa = src.enableXfa === true;\n const ownerDocument = src.ownerDocument || globalThis.document;\n const disableRange = src.disableRange === true;\n const disableStream = src.disableStream === true;\n const disableAutoFetch = src.disableAutoFetch === true;\n const pdfBug = src.pdfBug === true;\n const length = rangeTransport ? rangeTransport.length : src.length ?? NaN;\n const useSystemFonts = typeof src.useSystemFonts === \"boolean\" ? src.useSystemFonts : !_is_node.isNodeJS && !disableFontFace;\n const useWorkerFetch = typeof src.useWorkerFetch === \"boolean\" ? src.useWorkerFetch : CMapReaderFactory === _display_utils.DOMCMapReaderFactory && StandardFontDataFactory === _display_utils.DOMStandardFontDataFactory && (0, _display_utils.isValidFetchUrl)(cMapUrl, document.baseURI) && (0, _display_utils.isValidFetchUrl)(standardFontDataUrl, document.baseURI);\n const canvasFactory = src.canvasFactory || new DefaultCanvasFactory({\n ownerDocument\n });\n const filterFactory = src.filterFactory || new DefaultFilterFactory({\n docId,\n ownerDocument\n });\n const styleElement = null;\n (0, _util.setVerbosityLevel)(verbosity);\n const transportFactory = {\n canvasFactory,\n filterFactory\n };\n if (!useWorkerFetch) {\n transportFactory.cMapReaderFactory = new CMapReaderFactory({\n baseUrl: cMapUrl,\n isCompressed: cMapPacked\n });\n transportFactory.standardFontDataFactory = new StandardFontDataFactory({\n baseUrl: standardFontDataUrl\n });\n }\n if (!worker) {\n const workerParams = {\n verbosity,\n port: _worker_options.GlobalWorkerOptions.workerPort\n };\n worker = workerParams.port ? PDFWorker.fromPort(workerParams) : new PDFWorker(workerParams);\n task._worker = worker;\n }\n const fetchDocParams = {\n docId,\n apiVersion: '3.6.172',\n data,\n password,\n disableAutoFetch,\n rangeChunkSize,\n length,\n docBaseUrl,\n enableXfa,\n evaluatorOptions: {\n maxImageSize,\n disableFontFace,\n ignoreErrors,\n isEvalSupported,\n isOffscreenCanvasSupported,\n canvasMaxAreaInBytes,\n fontExtraProperties,\n useSystemFonts,\n cMapUrl: useWorkerFetch ? cMapUrl : null,\n standardFontDataUrl: useWorkerFetch ? standardFontDataUrl : null\n }\n };\n const transportParams = {\n ignoreErrors,\n isEvalSupported,\n disableFontFace,\n fontExtraProperties,\n enableXfa,\n ownerDocument,\n disableAutoFetch,\n pdfBug,\n styleElement\n };\n worker.promise.then(function () {\n if (task.destroyed) {\n throw new Error(\"Loading aborted\");\n }\n const workerIdPromise = _fetchDocument(worker, fetchDocParams);\n const networkStreamPromise = new Promise(function (resolve) {\n let networkStream;\n if (rangeTransport) {\n networkStream = new _transport_stream.PDFDataTransportStream({\n length,\n initialData: rangeTransport.initialData,\n progressiveDone: rangeTransport.progressiveDone,\n contentDispositionFilename: rangeTransport.contentDispositionFilename,\n disableRange,\n disableStream\n }, rangeTransport);\n } else if (!data) {\n networkStream = createPDFNetworkStream({\n url,\n length,\n httpHeaders,\n withCredentials,\n rangeChunkSize,\n disableRange,\n disableStream\n });\n }\n resolve(networkStream);\n });\n return Promise.all([workerIdPromise, networkStreamPromise]).then(function ([workerId, networkStream]) {\n if (task.destroyed) {\n throw new Error(\"Loading aborted\");\n }\n const messageHandler = new _message_handler.MessageHandler(docId, workerId, worker.port);\n const transport = new WorkerTransport(messageHandler, task, networkStream, transportParams, transportFactory);\n task._transport = transport;\n messageHandler.send(\"Ready\", null);\n });\n }).catch(task._capability.reject);\n return task;\n}\nasync function _fetchDocument(worker, source) {\n if (worker.destroyed) {\n throw new Error(\"Worker was destroyed\");\n }\n const workerId = await worker.messageHandler.sendWithPromise(\"GetDocRequest\", source, source.data ? [source.data.buffer] : null);\n if (worker.destroyed) {\n throw new Error(\"Worker was destroyed\");\n }\n return workerId;\n}\nfunction getUrlProp(val) {\n if (val instanceof URL) {\n return val.href;\n }\n try {\n return new URL(val, window.location).href;\n } catch (ex) {\n if (_is_node.isNodeJS && typeof val === \"string\") {\n return val;\n }\n }\n throw new Error(\"Invalid PDF url data: \" + \"either string or URL-object is expected in the url property.\");\n}\nfunction getDataProp(val) {\n if (_is_node.isNodeJS && typeof Buffer !== \"undefined\" && val instanceof Buffer) {\n (0, _display_utils.deprecated)(\"Please provide binary data as `Uint8Array`, rather than `Buffer`.\");\n return new Uint8Array(val);\n }\n if (val instanceof Uint8Array && val.byteLength === val.buffer.byteLength) {\n return val;\n }\n if (typeof val === \"string\") {\n return (0, _util.stringToBytes)(val);\n }\n if (typeof val === \"object\" && !isNaN(val?.length) || (0, _util.isArrayBuffer)(val)) {\n return new Uint8Array(val);\n }\n throw new Error(\"Invalid PDF binary data: either TypedArray, \" + \"string, or array-like object is expected in the data property.\");\n}\nclass PDFDocumentLoadingTask {\n static #docId = 0;\n constructor() {\n this._capability = new _util.PromiseCapability();\n this._transport = null;\n this._worker = null;\n this.docId = `d${PDFDocumentLoadingTask.#docId++}`;\n this.destroyed = false;\n this.onPassword = null;\n this.onProgress = null;\n }\n get promise() {\n return this._capability.promise;\n }\n async destroy() {\n this.destroyed = true;\n await this._transport?.destroy();\n this._transport = null;\n if (this._worker) {\n this._worker.destroy();\n this._worker = null;\n }\n }\n}\nexports.PDFDocumentLoadingTask = PDFDocumentLoadingTask;\nclass PDFDataRangeTransport {\n constructor(length, initialData, progressiveDone = false, contentDispositionFilename = null) {\n this.length = length;\n this.initialData = initialData;\n this.progressiveDone = progressiveDone;\n this.contentDispositionFilename = contentDispositionFilename;\n this._rangeListeners = [];\n this._progressListeners = [];\n this._progressiveReadListeners = [];\n this._progressiveDoneListeners = [];\n this._readyCapability = new _util.PromiseCapability();\n }\n addRangeListener(listener) {\n this._rangeListeners.push(listener);\n }\n addProgressListener(listener) {\n this._progressListeners.push(listener);\n }\n addProgressiveReadListener(listener) {\n this._progressiveReadListeners.push(listener);\n }\n addProgressiveDoneListener(listener) {\n this._progressiveDoneListeners.push(listener);\n }\n onDataRange(begin, chunk) {\n for (const listener of this._rangeListeners) {\n listener(begin, chunk);\n }\n }\n onDataProgress(loaded, total) {\n this._readyCapability.promise.then(() => {\n for (const listener of this._progressListeners) {\n listener(loaded, total);\n }\n });\n }\n onDataProgressiveRead(chunk) {\n this._readyCapability.promise.then(() => {\n for (const listener of this._progressiveReadListeners) {\n listener(chunk);\n }\n });\n }\n onDataProgressiveDone() {\n this._readyCapability.promise.then(() => {\n for (const listener of this._progressiveDoneListeners) {\n listener();\n }\n });\n }\n transportReady() {\n this._readyCapability.resolve();\n }\n requestDataRange(begin, end) {\n (0, _util.unreachable)(\"Abstract method PDFDataRangeTransport.requestDataRange\");\n }\n abort() {}\n}\nexports.PDFDataRangeTransport = PDFDataRangeTransport;\nclass PDFDocumentProxy {\n constructor(pdfInfo, transport) {\n this._pdfInfo = pdfInfo;\n this._transport = transport;\n }\n get annotationStorage() {\n return this._transport.annotationStorage;\n }\n get filterFactory() {\n return this._transport.filterFactory;\n }\n get numPages() {\n return this._pdfInfo.numPages;\n }\n get fingerprints() {\n return this._pdfInfo.fingerprints;\n }\n get isPureXfa() {\n return (0, _util.shadow)(this, \"isPureXfa\", !!this._transport._htmlForXfa);\n }\n get allXfaHtml() {\n return this._transport._htmlForXfa;\n }\n getPage(pageNumber) {\n return this._transport.getPage(pageNumber);\n }\n getPageIndex(ref) {\n return this._transport.getPageIndex(ref);\n }\n getDestinations() {\n return this._transport.getDestinations();\n }\n getDestination(id) {\n return this._transport.getDestination(id);\n }\n getPageLabels() {\n return this._transport.getPageLabels();\n }\n getPageLayout() {\n return this._transport.getPageLayout();\n }\n getPageMode() {\n return this._transport.getPageMode();\n }\n getViewerPreferences() {\n return this._transport.getViewerPreferences();\n }\n getOpenAction() {\n return this._transport.getOpenAction();\n }\n getAttachments() {\n return this._transport.getAttachments();\n }\n getJavaScript() {\n return this._transport.getJavaScript();\n }\n getJSActions() {\n return this._transport.getDocJSActions();\n }\n getOutline() {\n return this._transport.getOutline();\n }\n getOptionalContentConfig() {\n return this._transport.getOptionalContentConfig();\n }\n getPermissions() {\n return this._transport.getPermissions();\n }\n getMetadata() {\n return this._transport.getMetadata();\n }\n getMarkInfo() {\n return this._transport.getMarkInfo();\n }\n getData() {\n return this._transport.getData();\n }\n saveDocument() {\n return this._transport.saveDocument();\n }\n getDownloadInfo() {\n return this._transport.downloadInfoCapability.promise;\n }\n cleanup(keepLoadedFonts = false) {\n return this._transport.startCleanup(keepLoadedFonts || this.isPureXfa);\n }\n destroy() {\n return this.loadingTask.destroy();\n }\n get loadingParams() {\n return this._transport.loadingParams;\n }\n get loadingTask() {\n return this._transport.loadingTask;\n }\n getFieldObjects() {\n return this._transport.getFieldObjects();\n }\n hasJSActions() {\n return this._transport.hasJSActions();\n }\n getCalculationOrderIds() {\n return this._transport.getCalculationOrderIds();\n }\n}\nexports.PDFDocumentProxy = PDFDocumentProxy;\nclass PDFPageProxy {\n #delayedCleanupTimeout = null;\n #pendingCleanup = false;\n constructor(pageIndex, pageInfo, transport, pdfBug = false) {\n this._pageIndex = pageIndex;\n this._pageInfo = pageInfo;\n this._transport = transport;\n this._stats = pdfBug ? new _display_utils.StatTimer() : null;\n this._pdfBug = pdfBug;\n this.commonObjs = transport.commonObjs;\n this.objs = new PDFObjects();\n this._maybeCleanupAfterRender = false;\n this._intentStates = new Map();\n this.destroyed = false;\n }\n get pageNumber() {\n return this._pageIndex + 1;\n }\n get rotate() {\n return this._pageInfo.rotate;\n }\n get ref() {\n return this._pageInfo.ref;\n }\n get userUnit() {\n return this._pageInfo.userUnit;\n }\n get view() {\n return this._pageInfo.view;\n }\n getViewport({\n scale,\n rotation = this.rotate,\n offsetX = 0,\n offsetY = 0,\n dontFlip = false\n } = {}) {\n return new _display_utils.PageViewport({\n viewBox: this.view,\n scale,\n rotation,\n offsetX,\n offsetY,\n dontFlip\n });\n }\n getAnnotations({\n intent = \"display\"\n } = {}) {\n const intentArgs = this._transport.getRenderingIntent(intent);\n return this._transport.getAnnotations(this._pageIndex, intentArgs.renderingIntent);\n }\n getJSActions() {\n return this._transport.getPageJSActions(this._pageIndex);\n }\n get isPureXfa() {\n return (0, _util.shadow)(this, \"isPureXfa\", !!this._transport._htmlForXfa);\n }\n async getXfa() {\n return this._transport._htmlForXfa?.children[this._pageIndex] || null;\n }\n render({\n canvasContext,\n viewport,\n intent = \"display\",\n annotationMode = _util.AnnotationMode.ENABLE,\n transform = null,\n background = null,\n optionalContentConfigPromise = null,\n annotationCanvasMap = null,\n pageColors = null,\n printAnnotationStorage = null\n }) {\n if (arguments[0]?.canvasFactory) {\n throw new Error(\"render no longer accepts the `canvasFactory`-option, \" + \"please pass it to the `getDocument`-function instead.\");\n }\n this._stats?.time(\"Overall\");\n const intentArgs = this._transport.getRenderingIntent(intent, annotationMode, printAnnotationStorage);\n this.#pendingCleanup = false;\n this.#abortDelayedCleanup();\n if (!optionalContentConfigPromise) {\n optionalContentConfigPromise = this._transport.getOptionalContentConfig();\n }\n let intentState = this._intentStates.get(intentArgs.cacheKey);\n if (!intentState) {\n intentState = Object.create(null);\n this._intentStates.set(intentArgs.cacheKey, intentState);\n }\n if (intentState.streamReaderCancelTimeout) {\n clearTimeout(intentState.streamReaderCancelTimeout);\n intentState.streamReaderCancelTimeout = null;\n }\n const intentPrint = !!(intentArgs.renderingIntent & _util.RenderingIntentFlag.PRINT);\n if (!intentState.displayReadyCapability) {\n intentState.displayReadyCapability = new _util.PromiseCapability();\n intentState.operatorList = {\n fnArray: [],\n argsArray: [],\n lastChunk: false,\n separateAnnots: null\n };\n this._stats?.time(\"Page Request\");\n this._pumpOperatorList(intentArgs);\n }\n const complete = error => {\n intentState.renderTasks.delete(internalRenderTask);\n if (this._maybeCleanupAfterRender || intentPrint) {\n this.#pendingCleanup = true;\n }\n this.#tryCleanup(!intentPrint);\n if (error) {\n internalRenderTask.capability.reject(error);\n this._abortOperatorList({\n intentState,\n reason: error instanceof Error ? error : new Error(error)\n });\n } else {\n internalRenderTask.capability.resolve();\n }\n this._stats?.timeEnd(\"Rendering\");\n this._stats?.timeEnd(\"Overall\");\n };\n const internalRenderTask = new InternalRenderTask({\n callback: complete,\n params: {\n canvasContext,\n viewport,\n transform,\n background\n },\n objs: this.objs,\n commonObjs: this.commonObjs,\n annotationCanvasMap,\n operatorList: intentState.operatorList,\n pageIndex: this._pageIndex,\n canvasFactory: this._transport.canvasFactory,\n filterFactory: this._transport.filterFactory,\n useRequestAnimationFrame: !intentPrint,\n pdfBug: this._pdfBug,\n pageColors\n });\n (intentState.renderTasks ||= new Set()).add(internalRenderTask);\n const renderTask = internalRenderTask.task;\n Promise.all([intentState.displayReadyCapability.promise, optionalContentConfigPromise]).then(([transparency, optionalContentConfig]) => {\n if (this.#pendingCleanup) {\n complete();\n return;\n }\n this._stats?.time(\"Rendering\");\n internalRenderTask.initializeGraphics({\n transparency,\n optionalContentConfig\n });\n internalRenderTask.operatorListChanged();\n }).catch(complete);\n return renderTask;\n }\n getOperatorList({\n intent = \"display\",\n annotationMode = _util.AnnotationMode.ENABLE,\n printAnnotationStorage = null\n } = {}) {\n function operatorListChanged() {\n if (intentState.operatorList.lastChunk) {\n intentState.opListReadCapability.resolve(intentState.operatorList);\n intentState.renderTasks.delete(opListTask);\n }\n }\n const intentArgs = this._transport.getRenderingIntent(intent, annotationMode, printAnnotationStorage, true);\n let intentState = this._intentStates.get(intentArgs.cacheKey);\n if (!intentState) {\n intentState = Object.create(null);\n this._intentStates.set(intentArgs.cacheKey, intentState);\n }\n let opListTask;\n if (!intentState.opListReadCapability) {\n opListTask = Object.create(null);\n opListTask.operatorListChanged = operatorListChanged;\n intentState.opListReadCapability = new _util.PromiseCapability();\n (intentState.renderTasks ||= new Set()).add(opListTask);\n intentState.operatorList = {\n fnArray: [],\n argsArray: [],\n lastChunk: false,\n separateAnnots: null\n };\n this._stats?.time(\"Page Request\");\n this._pumpOperatorList(intentArgs);\n }\n return intentState.opListReadCapability.promise;\n }\n streamTextContent({\n includeMarkedContent = false,\n disableNormalization = false\n } = {}) {\n const TEXT_CONTENT_CHUNK_SIZE = 100;\n return this._transport.messageHandler.sendWithStream(\"GetTextContent\", {\n pageIndex: this._pageIndex,\n includeMarkedContent: includeMarkedContent === true,\n disableNormalization: disableNormalization === true\n }, {\n highWaterMark: TEXT_CONTENT_CHUNK_SIZE,\n size(textContent) {\n return textContent.items.length;\n }\n });\n }\n getTextContent(params = {}) {\n if (this._transport._htmlForXfa) {\n return this.getXfa().then(xfa => {\n return _xfa_text.XfaText.textContent(xfa);\n });\n }\n const readableStream = this.streamTextContent(params);\n return new Promise(function (resolve, reject) {\n function pump() {\n reader.read().then(function ({\n value,\n done\n }) {\n if (done) {\n resolve(textContent);\n return;\n }\n Object.assign(textContent.styles, value.styles);\n textContent.items.push(...value.items);\n pump();\n }, reject);\n }\n const reader = readableStream.getReader();\n const textContent = {\n items: [],\n styles: Object.create(null)\n };\n pump();\n });\n }\n getStructTree() {\n return this._transport.getStructTree(this._pageIndex);\n }\n _destroy() {\n this.destroyed = true;\n const waitOn = [];\n for (const intentState of this._intentStates.values()) {\n this._abortOperatorList({\n intentState,\n reason: new Error(\"Page was destroyed.\"),\n force: true\n });\n if (intentState.opListReadCapability) {\n continue;\n }\n for (const internalRenderTask of intentState.renderTasks) {\n waitOn.push(internalRenderTask.completed);\n internalRenderTask.cancel();\n }\n }\n this.objs.clear();\n this.#pendingCleanup = false;\n this.#abortDelayedCleanup();\n return Promise.all(waitOn);\n }\n cleanup(resetStats = false) {\n this.#pendingCleanup = true;\n const success = this.#tryCleanup(false);\n if (resetStats && success) {\n this._stats &&= new _display_utils.StatTimer();\n }\n return success;\n }\n #tryCleanup(delayed = false) {\n this.#abortDelayedCleanup();\n if (!this.#pendingCleanup) {\n return false;\n }\n if (delayed) {\n this.#delayedCleanupTimeout = setTimeout(() => {\n this.#delayedCleanupTimeout = null;\n this.#tryCleanup(false);\n }, DELAYED_CLEANUP_TIMEOUT);\n return false;\n }\n for (const {\n renderTasks,\n operatorList\n } of this._intentStates.values()) {\n if (renderTasks.size > 0 || !operatorList.lastChunk) {\n return false;\n }\n }\n this._intentStates.clear();\n this.objs.clear();\n this.#pendingCleanup = false;\n return true;\n }\n #abortDelayedCleanup() {\n if (this.#delayedCleanupTimeout) {\n clearTimeout(this.#delayedCleanupTimeout);\n this.#delayedCleanupTimeout = null;\n }\n }\n _startRenderPage(transparency, cacheKey) {\n const intentState = this._intentStates.get(cacheKey);\n if (!intentState) {\n return;\n }\n this._stats?.timeEnd(\"Page Request\");\n intentState.displayReadyCapability?.resolve(transparency);\n }\n _renderPageChunk(operatorListChunk, intentState) {\n for (let i = 0, ii = operatorListChunk.length; i < ii; i++) {\n intentState.operatorList.fnArray.push(operatorListChunk.fnArray[i]);\n intentState.operatorList.argsArray.push(operatorListChunk.argsArray[i]);\n }\n intentState.operatorList.lastChunk = operatorListChunk.lastChunk;\n intentState.operatorList.separateAnnots = operatorListChunk.separateAnnots;\n for (const internalRenderTask of intentState.renderTasks) {\n internalRenderTask.operatorListChanged();\n }\n if (operatorListChunk.lastChunk) {\n this.#tryCleanup(true);\n }\n }\n _pumpOperatorList({\n renderingIntent,\n cacheKey,\n annotationStorageMap\n }) {\n const readableStream = this._transport.messageHandler.sendWithStream(\"GetOperatorList\", {\n pageIndex: this._pageIndex,\n intent: renderingIntent,\n cacheKey,\n annotationStorage: annotationStorageMap\n });\n const reader = readableStream.getReader();\n const intentState = this._intentStates.get(cacheKey);\n intentState.streamReader = reader;\n const pump = () => {\n reader.read().then(({\n value,\n done\n }) => {\n if (done) {\n intentState.streamReader = null;\n return;\n }\n if (this._transport.destroyed) {\n return;\n }\n this._renderPageChunk(value, intentState);\n pump();\n }, reason => {\n intentState.streamReader = null;\n if (this._transport.destroyed) {\n return;\n }\n if (intentState.operatorList) {\n intentState.operatorList.lastChunk = true;\n for (const internalRenderTask of intentState.renderTasks) {\n internalRenderTask.operatorListChanged();\n }\n this.#tryCleanup(true);\n }\n if (intentState.displayReadyCapability) {\n intentState.displayReadyCapability.reject(reason);\n } else if (intentState.opListReadCapability) {\n intentState.opListReadCapability.reject(reason);\n } else {\n throw reason;\n }\n });\n };\n pump();\n }\n _abortOperatorList({\n intentState,\n reason,\n force = false\n }) {\n if (!intentState.streamReader) {\n return;\n }\n if (intentState.streamReaderCancelTimeout) {\n clearTimeout(intentState.streamReaderCancelTimeout);\n intentState.streamReaderCancelTimeout = null;\n }\n if (!force) {\n if (intentState.renderTasks.size > 0) {\n return;\n }\n if (reason instanceof _display_utils.RenderingCancelledException) {\n let delay = RENDERING_CANCELLED_TIMEOUT;\n if (reason.extraDelay > 0 && reason.extraDelay < 1000) {\n delay += reason.extraDelay;\n }\n intentState.streamReaderCancelTimeout = setTimeout(() => {\n intentState.streamReaderCancelTimeout = null;\n this._abortOperatorList({\n intentState,\n reason,\n force: true\n });\n }, delay);\n return;\n }\n }\n intentState.streamReader.cancel(new _util.AbortException(reason.message)).catch(() => {});\n intentState.streamReader = null;\n if (this._transport.destroyed) {\n return;\n }\n for (const [curCacheKey, curIntentState] of this._intentStates) {\n if (curIntentState === intentState) {\n this._intentStates.delete(curCacheKey);\n break;\n }\n }\n this.cleanup();\n }\n get stats() {\n return this._stats;\n }\n}\nexports.PDFPageProxy = PDFPageProxy;\nclass LoopbackPort {\n #listeners = new Set();\n #deferred = Promise.resolve();\n postMessage(obj, transfer) {\n const event = {\n data: structuredClone(obj, transfer ? {\n transfer\n } : null)\n };\n this.#deferred.then(() => {\n for (const listener of this.#listeners) {\n listener.call(this, event);\n }\n });\n }\n addEventListener(name, listener) {\n this.#listeners.add(listener);\n }\n removeEventListener(name, listener) {\n this.#listeners.delete(listener);\n }\n terminate() {\n this.#listeners.clear();\n }\n}\nexports.LoopbackPort = LoopbackPort;\nconst PDFWorkerUtil = {\n isWorkerDisabled: false,\n fallbackWorkerSrc: null,\n fakeWorkerId: 0\n};\nexports.PDFWorkerUtil = PDFWorkerUtil;\n{\n if (_is_node.isNodeJS && typeof require === \"function\") {\n PDFWorkerUtil.isWorkerDisabled = true;\n PDFWorkerUtil.fallbackWorkerSrc = \"./pdf.worker.js\";\n } else if (typeof document === \"object\") {\n const pdfjsFilePath = document?.currentScript?.src;\n if (pdfjsFilePath) {\n PDFWorkerUtil.fallbackWorkerSrc = pdfjsFilePath.replace(/(\\.(?:min\\.)?js)(\\?.*)?$/i, \".worker$1$2\");\n }\n }\n PDFWorkerUtil.isSameOrigin = function (baseUrl, otherUrl) {\n let base;\n try {\n base = new URL(baseUrl);\n if (!base.origin || base.origin === \"null\") {\n return false;\n }\n } catch (e) {\n return false;\n }\n const other = new URL(otherUrl, base);\n return base.origin === other.origin;\n };\n PDFWorkerUtil.createCDNWrapper = function (url) {\n const wrapper = `importScripts(\"${url}\");`;\n return URL.createObjectURL(new Blob([wrapper]));\n };\n}\nclass PDFWorker {\n static #workerPorts = new WeakMap();\n constructor({\n name = null,\n port = null,\n verbosity = (0, _util.getVerbosityLevel)()\n } = {}) {\n if (port && PDFWorker.#workerPorts.has(port)) {\n throw new Error(\"Cannot use more than one PDFWorker per port.\");\n }\n this.name = name;\n this.destroyed = false;\n this.verbosity = verbosity;\n this._readyCapability = new _util.PromiseCapability();\n this._port = null;\n this._webWorker = null;\n this._messageHandler = null;\n if (port) {\n PDFWorker.#workerPorts.set(port, this);\n this._initializeFromPort(port);\n return;\n }\n this._initialize();\n }\n get promise() {\n return this._readyCapability.promise;\n }\n get port() {\n return this._port;\n }\n get messageHandler() {\n return this._messageHandler;\n }\n _initializeFromPort(port) {\n this._port = port;\n this._messageHandler = new _message_handler.MessageHandler(\"main\", \"worker\", port);\n this._messageHandler.on(\"ready\", function () {});\n this._readyCapability.resolve();\n this._messageHandler.send(\"configure\", {\n verbosity: this.verbosity\n });\n }\n _initialize() {\n if (!PDFWorkerUtil.isWorkerDisabled && !PDFWorker._mainThreadWorkerMessageHandler) {\n let {\n workerSrc\n } = PDFWorker;\n try {\n if (!PDFWorkerUtil.isSameOrigin(window.location.href, workerSrc)) {\n workerSrc = PDFWorkerUtil.createCDNWrapper(new URL(workerSrc, window.location).href);\n }\n const worker = new Worker(workerSrc);\n const messageHandler = new _message_handler.MessageHandler(\"main\", \"worker\", worker);\n const terminateEarly = () => {\n worker.removeEventListener(\"error\", onWorkerError);\n messageHandler.destroy();\n worker.terminate();\n if (this.destroyed) {\n this._readyCapability.reject(new Error(\"Worker was destroyed\"));\n } else {\n this._setupFakeWorker();\n }\n };\n const onWorkerError = () => {\n if (!this._webWorker) {\n terminateEarly();\n }\n };\n worker.addEventListener(\"error\", onWorkerError);\n messageHandler.on(\"test\", data => {\n worker.removeEventListener(\"error\", onWorkerError);\n if (this.destroyed) {\n terminateEarly();\n return;\n }\n if (data) {\n this._messageHandler = messageHandler;\n this._port = worker;\n this._webWorker = worker;\n this._readyCapability.resolve();\n messageHandler.send(\"configure\", {\n verbosity: this.verbosity\n });\n } else {\n this._setupFakeWorker();\n messageHandler.destroy();\n worker.terminate();\n }\n });\n messageHandler.on(\"ready\", data => {\n worker.removeEventListener(\"error\", onWorkerError);\n if (this.destroyed) {\n terminateEarly();\n return;\n }\n try {\n sendTest();\n } catch (e) {\n this._setupFakeWorker();\n }\n });\n const sendTest = () => {\n const testObj = new Uint8Array();\n messageHandler.send(\"test\", testObj, [testObj.buffer]);\n };\n sendTest();\n return;\n } catch (e) {\n (0, _util.info)(\"The worker has been disabled.\");\n }\n }\n this._setupFakeWorker();\n }\n _setupFakeWorker() {\n if (!PDFWorkerUtil.isWorkerDisabled) {\n (0, _util.warn)(\"Setting up fake worker.\");\n PDFWorkerUtil.isWorkerDisabled = true;\n }\n PDFWorker._setupFakeWorkerGlobal.then(WorkerMessageHandler => {\n if (this.destroyed) {\n this._readyCapability.reject(new Error(\"Worker was destroyed\"));\n return;\n }\n const port = new LoopbackPort();\n this._port = port;\n const id = `fake${PDFWorkerUtil.fakeWorkerId++}`;\n const workerHandler = new _message_handler.MessageHandler(id + \"_worker\", id, port);\n WorkerMessageHandler.setup(workerHandler, port);\n const messageHandler = new _message_handler.MessageHandler(id, id + \"_worker\", port);\n this._messageHandler = messageHandler;\n this._readyCapability.resolve();\n messageHandler.send(\"configure\", {\n verbosity: this.verbosity\n });\n }).catch(reason => {\n this._readyCapability.reject(new Error(`Setting up fake worker failed: \"${reason.message}\".`));\n });\n }\n destroy() {\n this.destroyed = true;\n if (this._webWorker) {\n this._webWorker.terminate();\n this._webWorker = null;\n }\n PDFWorker.#workerPorts.delete(this._port);\n this._port = null;\n if (this._messageHandler) {\n this._messageHandler.destroy();\n this._messageHandler = null;\n }\n }\n static fromPort(params) {\n if (!params?.port) {\n throw new Error(\"PDFWorker.fromPort - invalid method signature.\");\n }\n if (this.#workerPorts.has(params.port)) {\n return this.#workerPorts.get(params.port);\n }\n return new PDFWorker(params);\n }\n static get workerSrc() {\n if (_worker_options.GlobalWorkerOptions.workerSrc) {\n return _worker_options.GlobalWorkerOptions.workerSrc;\n }\n if (PDFWorkerUtil.fallbackWorkerSrc !== null) {\n if (!_is_node.isNodeJS) {\n (0, _display_utils.deprecated)('No \"GlobalWorkerOptions.workerSrc\" specified.');\n }\n return PDFWorkerUtil.fallbackWorkerSrc;\n }\n throw new Error('No \"GlobalWorkerOptions.workerSrc\" specified.');\n }\n static get _mainThreadWorkerMessageHandler() {\n try {\n return globalThis.pdfjsWorker?.WorkerMessageHandler || null;\n } catch (ex) {\n return null;\n }\n }\n static get _setupFakeWorkerGlobal() {\n const loader = async () => {\n const mainWorkerMessageHandler = this._mainThreadWorkerMessageHandler;\n if (mainWorkerMessageHandler) {\n return mainWorkerMessageHandler;\n }\n if (_is_node.isNodeJS && typeof require === \"function\") {\n const worker = eval(\"require\")(this.workerSrc);\n return worker.WorkerMessageHandler;\n }\n await (0, _display_utils.loadScript)(this.workerSrc);\n return window.pdfjsWorker.WorkerMessageHandler;\n };\n return (0, _util.shadow)(this, \"_setupFakeWorkerGlobal\", loader());\n }\n}\nexports.PDFWorker = PDFWorker;\nclass WorkerTransport {\n #methodPromises = new Map();\n #pageCache = new Map();\n #pagePromises = new Map();\n constructor(messageHandler, loadingTask, networkStream, params, factory) {\n this.messageHandler = messageHandler;\n this.loadingTask = loadingTask;\n this.commonObjs = new PDFObjects();\n this.fontLoader = new _font_loader.FontLoader({\n ownerDocument: params.ownerDocument,\n styleElement: params.styleElement\n });\n this._params = params;\n this.canvasFactory = factory.canvasFactory;\n this.filterFactory = factory.filterFactory;\n this.cMapReaderFactory = factory.cMapReaderFactory;\n this.standardFontDataFactory = factory.standardFontDataFactory;\n this.destroyed = false;\n this.destroyCapability = null;\n this._passwordCapability = null;\n this._networkStream = networkStream;\n this._fullReader = null;\n this._lastProgress = null;\n this.downloadInfoCapability = new _util.PromiseCapability();\n this.setupMessageHandler();\n }\n #cacheSimpleMethod(name, data = null) {\n const cachedPromise = this.#methodPromises.get(name);\n if (cachedPromise) {\n return cachedPromise;\n }\n const promise = this.messageHandler.sendWithPromise(name, data);\n this.#methodPromises.set(name, promise);\n return promise;\n }\n get annotationStorage() {\n return (0, _util.shadow)(this, \"annotationStorage\", new _annotation_storage.AnnotationStorage());\n }\n getRenderingIntent(intent, annotationMode = _util.AnnotationMode.ENABLE, printAnnotationStorage = null, isOpList = false) {\n let renderingIntent = _util.RenderingIntentFlag.DISPLAY;\n let annotationMap = null;\n switch (intent) {\n case \"any\":\n renderingIntent = _util.RenderingIntentFlag.ANY;\n break;\n case \"display\":\n break;\n case \"print\":\n renderingIntent = _util.RenderingIntentFlag.PRINT;\n break;\n default:\n (0, _util.warn)(`getRenderingIntent - invalid intent: ${intent}`);\n }\n switch (annotationMode) {\n case _util.AnnotationMode.DISABLE:\n renderingIntent += _util.RenderingIntentFlag.ANNOTATIONS_DISABLE;\n break;\n case _util.AnnotationMode.ENABLE:\n break;\n case _util.AnnotationMode.ENABLE_FORMS:\n renderingIntent += _util.RenderingIntentFlag.ANNOTATIONS_FORMS;\n break;\n case _util.AnnotationMode.ENABLE_STORAGE:\n renderingIntent += _util.RenderingIntentFlag.ANNOTATIONS_STORAGE;\n const annotationStorage = renderingIntent & _util.RenderingIntentFlag.PRINT && printAnnotationStorage instanceof _annotation_storage.PrintAnnotationStorage ? printAnnotationStorage : this.annotationStorage;\n annotationMap = annotationStorage.serializable;\n break;\n default:\n (0, _util.warn)(`getRenderingIntent - invalid annotationMode: ${annotationMode}`);\n }\n if (isOpList) {\n renderingIntent += _util.RenderingIntentFlag.OPLIST;\n }\n return {\n renderingIntent,\n cacheKey: `${renderingIntent}_${_annotation_storage.AnnotationStorage.getHash(annotationMap)}`,\n annotationStorageMap: annotationMap\n };\n }\n destroy() {\n if (this.destroyCapability) {\n return this.destroyCapability.promise;\n }\n this.destroyed = true;\n this.destroyCapability = new _util.PromiseCapability();\n if (this._passwordCapability) {\n this._passwordCapability.reject(new Error(\"Worker was destroyed during onPassword callback\"));\n }\n const waitOn = [];\n for (const page of this.#pageCache.values()) {\n waitOn.push(page._destroy());\n }\n this.#pageCache.clear();\n this.#pagePromises.clear();\n if (this.hasOwnProperty(\"annotationStorage\")) {\n this.annotationStorage.resetModified();\n }\n const terminated = this.messageHandler.sendWithPromise(\"Terminate\", null);\n waitOn.push(terminated);\n Promise.all(waitOn).then(() => {\n this.commonObjs.clear();\n this.fontLoader.clear();\n this.#methodPromises.clear();\n this.filterFactory.destroy();\n if (this._networkStream) {\n this._networkStream.cancelAllRequests(new _util.AbortException(\"Worker was terminated.\"));\n }\n if (this.messageHandler) {\n this.messageHandler.destroy();\n this.messageHandler = null;\n }\n this.destroyCapability.resolve();\n }, this.destroyCapability.reject);\n return this.destroyCapability.promise;\n }\n setupMessageHandler() {\n const {\n messageHandler,\n loadingTask\n } = this;\n messageHandler.on(\"GetReader\", (data, sink) => {\n (0, _util.assert)(this._networkStream, \"GetReader - no `IPDFStream` instance available.\");\n this._fullReader = this._networkStream.getFullReader();\n this._fullReader.onProgress = evt => {\n this._lastProgress = {\n loaded: evt.loaded,\n total: evt.total\n };\n };\n sink.onPull = () => {\n this._fullReader.read().then(function ({\n value,\n done\n }) {\n if (done) {\n sink.close();\n return;\n }\n (0, _util.assert)(value instanceof ArrayBuffer, \"GetReader - expected an ArrayBuffer.\");\n sink.enqueue(new Uint8Array(value), 1, [value]);\n }).catch(reason => {\n sink.error(reason);\n });\n };\n sink.onCancel = reason => {\n this._fullReader.cancel(reason);\n sink.ready.catch(readyReason => {\n if (this.destroyed) {\n return;\n }\n throw readyReason;\n });\n };\n });\n messageHandler.on(\"ReaderHeadersReady\", data => {\n const headersCapability = new _util.PromiseCapability();\n const fullReader = this._fullReader;\n fullReader.headersReady.then(() => {\n if (!fullReader.isStreamingSupported || !fullReader.isRangeSupported) {\n if (this._lastProgress) {\n loadingTask.onProgress?.(this._lastProgress);\n }\n fullReader.onProgress = evt => {\n loadingTask.onProgress?.({\n loaded: evt.loaded,\n total: evt.total\n });\n };\n }\n headersCapability.resolve({\n isStreamingSupported: fullReader.isStreamingSupported,\n isRangeSupported: fullReader.isRangeSupported,\n contentLength: fullReader.contentLength\n });\n }, headersCapability.reject);\n return headersCapability.promise;\n });\n messageHandler.on(\"GetRangeReader\", (data, sink) => {\n (0, _util.assert)(this._networkStream, \"GetRangeReader - no `IPDFStream` instance available.\");\n const rangeReader = this._networkStream.getRangeReader(data.begin, data.end);\n if (!rangeReader) {\n sink.close();\n return;\n }\n sink.onPull = () => {\n rangeReader.read().then(function ({\n value,\n done\n }) {\n if (done) {\n sink.close();\n return;\n }\n (0, _util.assert)(value instanceof ArrayBuffer, \"GetRangeReader - expected an ArrayBuffer.\");\n sink.enqueue(new Uint8Array(value), 1, [value]);\n }).catch(reason => {\n sink.error(reason);\n });\n };\n sink.onCancel = reason => {\n rangeReader.cancel(reason);\n sink.ready.catch(readyReason => {\n if (this.destroyed) {\n return;\n }\n throw readyReason;\n });\n };\n });\n messageHandler.on(\"GetDoc\", ({\n pdfInfo\n }) => {\n this._numPages = pdfInfo.numPages;\n this._htmlForXfa = pdfInfo.htmlForXfa;\n delete pdfInfo.htmlForXfa;\n loadingTask._capability.resolve(new PDFDocumentProxy(pdfInfo, this));\n });\n messageHandler.on(\"DocException\", function (ex) {\n let reason;\n switch (ex.name) {\n case \"PasswordException\":\n reason = new _util.PasswordException(ex.message, ex.code);\n break;\n case \"InvalidPDFException\":\n reason = new _util.InvalidPDFException(ex.message);\n break;\n case \"MissingPDFException\":\n reason = new _util.MissingPDFException(ex.message);\n break;\n case \"UnexpectedResponseException\":\n reason = new _util.UnexpectedResponseException(ex.message, ex.status);\n break;\n case \"UnknownErrorException\":\n reason = new _util.UnknownErrorException(ex.message, ex.details);\n break;\n default:\n (0, _util.unreachable)(\"DocException - expected a valid Error.\");\n }\n loadingTask._capability.reject(reason);\n });\n messageHandler.on(\"PasswordRequest\", exception => {\n this._passwordCapability = new _util.PromiseCapability();\n if (loadingTask.onPassword) {\n const updatePassword = password => {\n if (password instanceof Error) {\n this._passwordCapability.reject(password);\n } else {\n this._passwordCapability.resolve({\n password\n });\n }\n };\n try {\n loadingTask.onPassword(updatePassword, exception.code);\n } catch (ex) {\n this._passwordCapability.reject(ex);\n }\n } else {\n this._passwordCapability.reject(new _util.PasswordException(exception.message, exception.code));\n }\n return this._passwordCapability.promise;\n });\n messageHandler.on(\"DataLoaded\", data => {\n loadingTask.onProgress?.({\n loaded: data.length,\n total: data.length\n });\n this.downloadInfoCapability.resolve(data);\n });\n messageHandler.on(\"StartRenderPage\", data => {\n if (this.destroyed) {\n return;\n }\n const page = this.#pageCache.get(data.pageIndex);\n page._startRenderPage(data.transparency, data.cacheKey);\n });\n messageHandler.on(\"commonobj\", ([id, type, exportedData]) => {\n if (this.destroyed) {\n return;\n }\n if (this.commonObjs.has(id)) {\n return;\n }\n switch (type) {\n case \"Font\":\n const params = this._params;\n if (\"error\" in exportedData) {\n const exportedError = exportedData.error;\n (0, _util.warn)(`Error during font loading: ${exportedError}`);\n this.commonObjs.resolve(id, exportedError);\n break;\n }\n const inspectFont = params.pdfBug && globalThis.FontInspector?.enabled ? (font, url) => globalThis.FontInspector.fontAdded(font, url) : null;\n const font = new _font_loader.FontFaceObject(exportedData, {\n isEvalSupported: params.isEvalSupported,\n disableFontFace: params.disableFontFace,\n ignoreErrors: params.ignoreErrors,\n inspectFont\n });\n this.fontLoader.bind(font).catch(reason => {\n return messageHandler.sendWithPromise(\"FontFallback\", {\n id\n });\n }).finally(() => {\n if (!params.fontExtraProperties && font.data) {\n font.data = null;\n }\n this.commonObjs.resolve(id, font);\n });\n break;\n case \"FontPath\":\n case \"Image\":\n case \"Pattern\":\n this.commonObjs.resolve(id, exportedData);\n break;\n default:\n throw new Error(`Got unknown common object type ${type}`);\n }\n });\n messageHandler.on(\"obj\", ([id, pageIndex, type, imageData]) => {\n if (this.destroyed) {\n return;\n }\n const pageProxy = this.#pageCache.get(pageIndex);\n if (pageProxy.objs.has(id)) {\n return;\n }\n switch (type) {\n case \"Image\":\n pageProxy.objs.resolve(id, imageData);\n if (imageData) {\n let length;\n if (imageData.bitmap) {\n const {\n width,\n height\n } = imageData;\n length = width * height * 4;\n } else {\n length = imageData.data?.length || 0;\n }\n if (length > _util.MAX_IMAGE_SIZE_TO_CACHE) {\n pageProxy._maybeCleanupAfterRender = true;\n }\n }\n break;\n case \"Pattern\":\n pageProxy.objs.resolve(id, imageData);\n break;\n default:\n throw new Error(`Got unknown object type ${type}`);\n }\n });\n messageHandler.on(\"DocProgress\", data => {\n if (this.destroyed) {\n return;\n }\n loadingTask.onProgress?.({\n loaded: data.loaded,\n total: data.total\n });\n });\n messageHandler.on(\"FetchBuiltInCMap\", data => {\n if (this.destroyed) {\n return Promise.reject(new Error(\"Worker was destroyed.\"));\n }\n if (!this.cMapReaderFactory) {\n return Promise.reject(new Error(\"CMapReaderFactory not initialized, see the `useWorkerFetch` parameter.\"));\n }\n return this.cMapReaderFactory.fetch(data);\n });\n messageHandler.on(\"FetchStandardFontData\", data => {\n if (this.destroyed) {\n return Promise.reject(new Error(\"Worker was destroyed.\"));\n }\n if (!this.standardFontDataFactory) {\n return Promise.reject(new Error(\"StandardFontDataFactory not initialized, see the `useWorkerFetch` parameter.\"));\n }\n return this.standardFontDataFactory.fetch(data);\n });\n }\n getData() {\n return this.messageHandler.sendWithPromise(\"GetData\", null);\n }\n saveDocument() {\n if (this.annotationStorage.size <= 0) {\n (0, _util.warn)(\"saveDocument called while `annotationStorage` is empty, \" + \"please use the getData-method instead.\");\n }\n return this.messageHandler.sendWithPromise(\"SaveDocument\", {\n isPureXfa: !!this._htmlForXfa,\n numPages: this._numPages,\n annotationStorage: this.annotationStorage.serializable,\n filename: this._fullReader?.filename ?? null\n }).finally(() => {\n this.annotationStorage.resetModified();\n });\n }\n getPage(pageNumber) {\n if (!Number.isInteger(pageNumber) || pageNumber <= 0 || pageNumber > this._numPages) {\n return Promise.reject(new Error(\"Invalid page request.\"));\n }\n const pageIndex = pageNumber - 1,\n cachedPromise = this.#pagePromises.get(pageIndex);\n if (cachedPromise) {\n return cachedPromise;\n }\n const promise = this.messageHandler.sendWithPromise(\"GetPage\", {\n pageIndex\n }).then(pageInfo => {\n if (this.destroyed) {\n throw new Error(\"Transport destroyed\");\n }\n const page = new PDFPageProxy(pageIndex, pageInfo, this, this._params.pdfBug);\n this.#pageCache.set(pageIndex, page);\n return page;\n });\n this.#pagePromises.set(pageIndex, promise);\n return promise;\n }\n getPageIndex(ref) {\n if (typeof ref !== \"object\" || ref === null || !Number.isInteger(ref.num) || ref.num < 0 || !Number.isInteger(ref.gen) || ref.gen < 0) {\n return Promise.reject(new Error(\"Invalid pageIndex request.\"));\n }\n return this.messageHandler.sendWithPromise(\"GetPageIndex\", {\n num: ref.num,\n gen: ref.gen\n });\n }\n getAnnotations(pageIndex, intent) {\n return this.messageHandler.sendWithPromise(\"GetAnnotations\", {\n pageIndex,\n intent\n });\n }\n getFieldObjects() {\n return this.#cacheSimpleMethod(\"GetFieldObjects\");\n }\n hasJSActions() {\n return this.#cacheSimpleMethod(\"HasJSActions\");\n }\n getCalculationOrderIds() {\n return this.messageHandler.sendWithPromise(\"GetCalculationOrderIds\", null);\n }\n getDestinations() {\n return this.messageHandler.sendWithPromise(\"GetDestinations\", null);\n }\n getDestination(id) {\n if (typeof id !== \"string\") {\n return Promise.reject(new Error(\"Invalid destination request.\"));\n }\n return this.messageHandler.sendWithPromise(\"GetDestination\", {\n id\n });\n }\n getPageLabels() {\n return this.messageHandler.sendWithPromise(\"GetPageLabels\", null);\n }\n getPageLayout() {\n return this.messageHandler.sendWithPromise(\"GetPageLayout\", null);\n }\n getPageMode() {\n return this.messageHandler.sendWithPromise(\"GetPageMode\", null);\n }\n getViewerPreferences() {\n return this.messageHandler.sendWithPromise(\"GetViewerPreferences\", null);\n }\n getOpenAction() {\n return this.messageHandler.sendWithPromise(\"GetOpenAction\", null);\n }\n getAttachments() {\n return this.messageHandler.sendWithPromise(\"GetAttachments\", null);\n }\n getJavaScript() {\n return this.messageHandler.sendWithPromise(\"GetJavaScript\", null);\n }\n getDocJSActions() {\n return this.messageHandler.sendWithPromise(\"GetDocJSActions\", null);\n }\n getPageJSActions(pageIndex) {\n return this.messageHandler.sendWithPromise(\"GetPageJSActions\", {\n pageIndex\n });\n }\n getStructTree(pageIndex) {\n return this.messageHandler.sendWithPromise(\"GetStructTree\", {\n pageIndex\n });\n }\n getOutline() {\n return this.messageHandler.sendWithPromise(\"GetOutline\", null);\n }\n getOptionalContentConfig() {\n return this.messageHandler.sendWithPromise(\"GetOptionalContentConfig\", null).then(results => {\n return new _optional_content_config.OptionalContentConfig(results);\n });\n }\n getPermissions() {\n return this.messageHandler.sendWithPromise(\"GetPermissions\", null);\n }\n getMetadata() {\n const name = \"GetMetadata\",\n cachedPromise = this.#methodPromises.get(name);\n if (cachedPromise) {\n return cachedPromise;\n }\n const promise = this.messageHandler.sendWithPromise(name, null).then(results => {\n return {\n info: results[0],\n metadata: results[1] ? new _metadata.Metadata(results[1]) : null,\n contentDispositionFilename: this._fullReader?.filename ?? null,\n contentLength: this._fullReader?.contentLength ?? null\n };\n });\n this.#methodPromises.set(name, promise);\n return promise;\n }\n getMarkInfo() {\n return this.messageHandler.sendWithPromise(\"GetMarkInfo\", null);\n }\n async startCleanup(keepLoadedFonts = false) {\n if (this.destroyed) {\n return;\n }\n await this.messageHandler.sendWithPromise(\"Cleanup\", null);\n for (const page of this.#pageCache.values()) {\n const cleanupSuccessful = page.cleanup();\n if (!cleanupSuccessful) {\n throw new Error(`startCleanup: Page ${page.pageNumber} is currently rendering.`);\n }\n }\n this.commonObjs.clear();\n if (!keepLoadedFonts) {\n this.fontLoader.clear();\n }\n this.#methodPromises.clear();\n this.filterFactory.destroy(true);\n }\n get loadingParams() {\n const {\n disableAutoFetch,\n enableXfa\n } = this._params;\n return (0, _util.shadow)(this, \"loadingParams\", {\n disableAutoFetch,\n enableXfa\n });\n }\n}\nclass PDFObjects {\n #objs = Object.create(null);\n #ensureObj(objId) {\n const obj = this.#objs[objId];\n if (obj) {\n return obj;\n }\n return this.#objs[objId] = {\n capability: new _util.PromiseCapability(),\n data: null\n };\n }\n get(objId, callback = null) {\n if (callback) {\n const obj = this.#ensureObj(objId);\n obj.capability.promise.then(() => callback(obj.data));\n return null;\n }\n const obj = this.#objs[objId];\n if (!obj?.capability.settled) {\n throw new Error(`Requesting object that isn't resolved yet ${objId}.`);\n }\n return obj.data;\n }\n has(objId) {\n const obj = this.#objs[objId];\n return obj?.capability.settled || false;\n }\n resolve(objId, data = null) {\n const obj = this.#ensureObj(objId);\n obj.data = data;\n obj.capability.resolve();\n }\n clear() {\n for (const objId in this.#objs) {\n const {\n data\n } = this.#objs[objId];\n data?.bitmap?.close();\n }\n this.#objs = Object.create(null);\n }\n}\nclass RenderTask {\n #internalRenderTask = null;\n constructor(internalRenderTask) {\n this.#internalRenderTask = internalRenderTask;\n this.onContinue = null;\n }\n get promise() {\n return this.#internalRenderTask.capability.promise;\n }\n cancel(extraDelay = 0) {\n this.#internalRenderTask.cancel(null, extraDelay);\n }\n get separateAnnots() {\n const {\n separateAnnots\n } = this.#internalRenderTask.operatorList;\n if (!separateAnnots) {\n return false;\n }\n const {\n annotationCanvasMap\n } = this.#internalRenderTask;\n return separateAnnots.form || separateAnnots.canvas && annotationCanvasMap?.size > 0;\n }\n}\nexports.RenderTask = RenderTask;\nclass InternalRenderTask {\n static #canvasInUse = new WeakSet();\n constructor({\n callback,\n params,\n objs,\n commonObjs,\n annotationCanvasMap,\n operatorList,\n pageIndex,\n canvasFactory,\n filterFactory,\n useRequestAnimationFrame = false,\n pdfBug = false,\n pageColors = null\n }) {\n this.callback = callback;\n this.params = params;\n this.objs = objs;\n this.commonObjs = commonObjs;\n this.annotationCanvasMap = annotationCanvasMap;\n this.operatorListIdx = null;\n this.operatorList = operatorList;\n this._pageIndex = pageIndex;\n this.canvasFactory = canvasFactory;\n this.filterFactory = filterFactory;\n this._pdfBug = pdfBug;\n this.pageColors = pageColors;\n this.running = false;\n this.graphicsReadyCallback = null;\n this.graphicsReady = false;\n this._useRequestAnimationFrame = useRequestAnimationFrame === true && typeof window !== \"undefined\";\n this.cancelled = false;\n this.capability = new _util.PromiseCapability();\n this.task = new RenderTask(this);\n this._cancelBound = this.cancel.bind(this);\n this._continueBound = this._continue.bind(this);\n this._scheduleNextBound = this._scheduleNext.bind(this);\n this._nextBound = this._next.bind(this);\n this._canvas = params.canvasContext.canvas;\n }\n get completed() {\n return this.capability.promise.catch(function () {});\n }\n initializeGraphics({\n transparency = false,\n optionalContentConfig\n }) {\n if (this.cancelled) {\n return;\n }\n if (this._canvas) {\n if (InternalRenderTask.#canvasInUse.has(this._canvas)) {\n throw new Error(\"Cannot use the same canvas during multiple render() operations. \" + \"Use different canvas or ensure previous operations were \" + \"cancelled or completed.\");\n }\n InternalRenderTask.#canvasInUse.add(this._canvas);\n }\n if (this._pdfBug && globalThis.StepperManager?.enabled) {\n this.stepper = globalThis.StepperManager.create(this._pageIndex);\n this.stepper.init(this.operatorList);\n this.stepper.nextBreakPoint = this.stepper.getNextBreakPoint();\n }\n const {\n canvasContext,\n viewport,\n transform,\n background\n } = this.params;\n this.gfx = new _canvas.CanvasGraphics(canvasContext, this.commonObjs, this.objs, this.canvasFactory, this.filterFactory, {\n optionalContentConfig\n }, this.annotationCanvasMap, this.pageColors);\n this.gfx.beginDrawing({\n transform,\n viewport,\n transparency,\n background\n });\n this.operatorListIdx = 0;\n this.graphicsReady = true;\n this.graphicsReadyCallback?.();\n }\n cancel(error = null, extraDelay = 0) {\n this.running = false;\n this.cancelled = true;\n this.gfx?.endDrawing();\n if (this._canvas) {\n InternalRenderTask.#canvasInUse.delete(this._canvas);\n }\n this.callback(error || new _display_utils.RenderingCancelledException(`Rendering cancelled, page ${this._pageIndex + 1}`, \"canvas\", extraDelay));\n }\n operatorListChanged() {\n if (!this.graphicsReady) {\n this.graphicsReadyCallback ||= this._continueBound;\n return;\n }\n this.stepper?.updateOperatorList(this.operatorList);\n if (this.running) {\n return;\n }\n this._continue();\n }\n _continue() {\n this.running = true;\n if (this.cancelled) {\n return;\n }\n if (this.task.onContinue) {\n this.task.onContinue(this._scheduleNextBound);\n } else {\n this._scheduleNext();\n }\n }\n _scheduleNext() {\n if (this._useRequestAnimationFrame) {\n window.requestAnimationFrame(() => {\n this._nextBound().catch(this._cancelBound);\n });\n } else {\n Promise.resolve().then(this._nextBound).catch(this._cancelBound);\n }\n }\n async _next() {\n if (this.cancelled) {\n return;\n }\n this.operatorListIdx = this.gfx.executeOperatorList(this.operatorList, this.operatorListIdx, this._continueBound, this.stepper);\n if (this.operatorListIdx === this.operatorList.argsArray.length) {\n this.running = false;\n if (this.operatorList.lastChunk) {\n this.gfx.endDrawing(this.pageColors);\n if (this._canvas) {\n InternalRenderTask.#canvasInUse.delete(this._canvas);\n }\n this.callback();\n }\n }\n }\n}\nconst version = '3.6.172';\nexports.version = version;\nconst build = '4d3dfe254';\nexports.build = build;\n\n/***/ }),\n/* 3 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.PrintAnnotationStorage = exports.AnnotationStorage = void 0;\nvar _util = __w_pdfjs_require__(1);\nvar _editor = __w_pdfjs_require__(4);\nvar _murmurhash = __w_pdfjs_require__(8);\nclass AnnotationStorage {\n #modified = false;\n #storage = new Map();\n constructor() {\n this.onSetModified = null;\n this.onResetModified = null;\n this.onAnnotationEditor = null;\n }\n getValue(key, defaultValue) {\n const value = this.#storage.get(key);\n if (value === undefined) {\n return defaultValue;\n }\n return Object.assign(defaultValue, value);\n }\n getRawValue(key) {\n return this.#storage.get(key);\n }\n remove(key) {\n this.#storage.delete(key);\n if (this.#storage.size === 0) {\n this.resetModified();\n }\n if (typeof this.onAnnotationEditor === \"function\") {\n for (const value of this.#storage.values()) {\n if (value instanceof _editor.AnnotationEditor) {\n return;\n }\n }\n this.onAnnotationEditor(null);\n }\n }\n setValue(key, value) {\n const obj = this.#storage.get(key);\n let modified = false;\n if (obj !== undefined) {\n for (const [entry, val] of Object.entries(value)) {\n if (obj[entry] !== val) {\n modified = true;\n obj[entry] = val;\n }\n }\n } else {\n modified = true;\n this.#storage.set(key, value);\n }\n if (modified) {\n this.#setModified();\n }\n if (value instanceof _editor.AnnotationEditor && typeof this.onAnnotationEditor === \"function\") {\n this.onAnnotationEditor(value.constructor._type);\n }\n }\n has(key) {\n return this.#storage.has(key);\n }\n getAll() {\n return this.#storage.size > 0 ? (0, _util.objectFromMap)(this.#storage) : null;\n }\n setAll(obj) {\n for (const [key, val] of Object.entries(obj)) {\n this.setValue(key, val);\n }\n }\n get size() {\n return this.#storage.size;\n }\n #setModified() {\n if (!this.#modified) {\n this.#modified = true;\n if (typeof this.onSetModified === \"function\") {\n this.onSetModified();\n }\n }\n }\n resetModified() {\n if (this.#modified) {\n this.#modified = false;\n if (typeof this.onResetModified === \"function\") {\n this.onResetModified();\n }\n }\n }\n get print() {\n return new PrintAnnotationStorage(this);\n }\n get serializable() {\n if (this.#storage.size === 0) {\n return null;\n }\n const clone = new Map();\n for (const [key, val] of this.#storage) {\n const serialized = val instanceof _editor.AnnotationEditor ? val.serialize() : val;\n if (serialized) {\n clone.set(key, serialized);\n }\n }\n return clone;\n }\n static getHash(map) {\n if (!map) {\n return \"\";\n }\n const hash = new _murmurhash.MurmurHash3_64();\n for (const [key, val] of map) {\n hash.update(`${key}:${JSON.stringify(val)}`);\n }\n return hash.hexdigest();\n }\n}\nexports.AnnotationStorage = AnnotationStorage;\nclass PrintAnnotationStorage extends AnnotationStorage {\n #serializable = null;\n constructor(parent) {\n super();\n this.#serializable = structuredClone(parent.serializable);\n }\n get print() {\n (0, _util.unreachable)(\"Should not call PrintAnnotationStorage.print\");\n }\n get serializable() {\n return this.#serializable;\n }\n}\nexports.PrintAnnotationStorage = PrintAnnotationStorage;\n\n/***/ }),\n/* 4 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.AnnotationEditor = void 0;\nvar _tools = __w_pdfjs_require__(5);\nvar _util = __w_pdfjs_require__(1);\nclass AnnotationEditor {\n #boundFocusin = this.focusin.bind(this);\n #boundFocusout = this.focusout.bind(this);\n #hasBeenSelected = false;\n #isEditing = false;\n #isInEditMode = false;\n _uiManager = null;\n #zIndex = AnnotationEditor._zIndex++;\n static _colorManager = new _tools.ColorManager();\n static _zIndex = 1;\n constructor(parameters) {\n if (this.constructor === AnnotationEditor) {\n (0, _util.unreachable)(\"Cannot initialize AnnotationEditor.\");\n }\n this.parent = parameters.parent;\n this.id = parameters.id;\n this.width = this.height = null;\n this.pageIndex = parameters.parent.pageIndex;\n this.name = parameters.name;\n this.div = null;\n this._uiManager = parameters.uiManager;\n const {\n rotation,\n rawDims: {\n pageWidth,\n pageHeight,\n pageX,\n pageY\n }\n } = this.parent.viewport;\n this.rotation = rotation;\n this.pageRotation = (360 + rotation - this._uiManager.viewParameters.rotation) % 360;\n this.pageDimensions = [pageWidth, pageHeight];\n this.pageTranslation = [pageX, pageY];\n const [width, height] = this.parentDimensions;\n this.x = parameters.x / width;\n this.y = parameters.y / height;\n this.isAttachedToDOM = false;\n }\n static get _defaultLineColor() {\n return (0, _util.shadow)(this, \"_defaultLineColor\", this._colorManager.getHexCode(\"CanvasText\"));\n }\n addCommands(params) {\n this._uiManager.addCommands(params);\n }\n get currentLayer() {\n return this._uiManager.currentLayer;\n }\n setInBackground() {\n this.div.style.zIndex = 0;\n }\n setInForeground() {\n this.div.style.zIndex = this.#zIndex;\n }\n setParent(parent) {\n if (parent !== null) {\n this.pageIndex = parent.pageIndex;\n this.pageDimensions = parent.pageDimensions;\n }\n this.parent = parent;\n }\n focusin(event) {\n if (!this.#hasBeenSelected) {\n this.parent.setSelected(this);\n } else {\n this.#hasBeenSelected = false;\n }\n }\n focusout(event) {\n if (!this.isAttachedToDOM) {\n return;\n }\n const target = event.relatedTarget;\n if (target?.closest(`#${this.id}`)) {\n return;\n }\n event.preventDefault();\n if (!this.parent?.isMultipleSelection) {\n this.commitOrRemove();\n }\n }\n commitOrRemove() {\n if (this.isEmpty()) {\n this.remove();\n } else {\n this.commit();\n }\n }\n commit() {\n this.addToAnnotationStorage();\n }\n addToAnnotationStorage() {\n this._uiManager.addToAnnotationStorage(this);\n }\n dragstart(event) {\n const rect = this.parent.div.getBoundingClientRect();\n this.startX = event.clientX - rect.x;\n this.startY = event.clientY - rect.y;\n event.dataTransfer.setData(\"text/plain\", this.id);\n event.dataTransfer.effectAllowed = \"move\";\n }\n setAt(x, y, tx, ty) {\n const [width, height] = this.parentDimensions;\n [tx, ty] = this.screenToPageTranslation(tx, ty);\n this.x = (x + tx) / width;\n this.y = (y + ty) / height;\n this.div.style.left = `${100 * this.x}%`;\n this.div.style.top = `${100 * this.y}%`;\n }\n translate(x, y) {\n const [width, height] = this.parentDimensions;\n [x, y] = this.screenToPageTranslation(x, y);\n this.x += x / width;\n this.y += y / height;\n this.div.style.left = `${100 * this.x}%`;\n this.div.style.top = `${100 * this.y}%`;\n }\n screenToPageTranslation(x, y) {\n switch (this.parentRotation) {\n case 90:\n return [y, -x];\n case 180:\n return [-x, -y];\n case 270:\n return [-y, x];\n default:\n return [x, y];\n }\n }\n get parentScale() {\n return this._uiManager.viewParameters.realScale;\n }\n get parentRotation() {\n return (this._uiManager.viewParameters.rotation + this.pageRotation) % 360;\n }\n get parentDimensions() {\n const {\n realScale\n } = this._uiManager.viewParameters;\n const [pageWidth, pageHeight] = this.pageDimensions;\n return [pageWidth * realScale, pageHeight * realScale];\n }\n setDims(width, height) {\n const [parentWidth, parentHeight] = this.parentDimensions;\n this.div.style.width = `${100 * width / parentWidth}%`;\n this.div.style.height = `${100 * height / parentHeight}%`;\n }\n fixDims() {\n const {\n style\n } = this.div;\n const {\n height,\n width\n } = style;\n const widthPercent = width.endsWith(\"%\");\n const heightPercent = height.endsWith(\"%\");\n if (widthPercent && heightPercent) {\n return;\n }\n const [parentWidth, parentHeight] = this.parentDimensions;\n if (!widthPercent) {\n style.width = `${100 * parseFloat(width) / parentWidth}%`;\n }\n if (!heightPercent) {\n style.height = `${100 * parseFloat(height) / parentHeight}%`;\n }\n }\n getInitialTranslation() {\n return [0, 0];\n }\n render() {\n this.div = document.createElement(\"div\");\n this.div.setAttribute(\"data-editor-rotation\", (360 - this.rotation) % 360);\n this.div.className = this.name;\n this.div.setAttribute(\"id\", this.id);\n this.div.setAttribute(\"tabIndex\", 0);\n this.setInForeground();\n this.div.addEventListener(\"focusin\", this.#boundFocusin);\n this.div.addEventListener(\"focusout\", this.#boundFocusout);\n const [tx, ty] = this.getInitialTranslation();\n this.translate(tx, ty);\n (0, _tools.bindEvents)(this, this.div, [\"dragstart\", \"pointerdown\"]);\n return this.div;\n }\n pointerdown(event) {\n const {\n isMac\n } = _util.FeatureTest.platform;\n if (event.button !== 0 || event.ctrlKey && isMac) {\n event.preventDefault();\n return;\n }\n if (event.ctrlKey && !isMac || event.shiftKey || event.metaKey && isMac) {\n this.parent.toggleSelected(this);\n } else {\n this.parent.setSelected(this);\n }\n this.#hasBeenSelected = true;\n }\n getRect(tx, ty) {\n const scale = this.parentScale;\n const [pageWidth, pageHeight] = this.pageDimensions;\n const [pageX, pageY] = this.pageTranslation;\n const shiftX = tx / scale;\n const shiftY = ty / scale;\n const x = this.x * pageWidth;\n const y = this.y * pageHeight;\n const width = this.width * pageWidth;\n const height = this.height * pageHeight;\n switch (this.rotation) {\n case 0:\n return [x + shiftX + pageX, pageHeight - y - shiftY - height + pageY, x + shiftX + width + pageX, pageHeight - y - shiftY + pageY];\n case 90:\n return [x + shiftY + pageX, pageHeight - y + shiftX + pageY, x + shiftY + height + pageX, pageHeight - y + shiftX + width + pageY];\n case 180:\n return [x - shiftX - width + pageX, pageHeight - y + shiftY + pageY, x - shiftX + pageX, pageHeight - y + shiftY + height + pageY];\n case 270:\n return [x - shiftY - height + pageX, pageHeight - y - shiftX - width + pageY, x - shiftY + pageX, pageHeight - y - shiftX + pageY];\n default:\n throw new Error(\"Invalid rotation\");\n }\n }\n getRectInCurrentCoords(rect, pageHeight) {\n const [x1, y1, x2, y2] = rect;\n const width = x2 - x1;\n const height = y2 - y1;\n switch (this.rotation) {\n case 0:\n return [x1, pageHeight - y2, width, height];\n case 90:\n return [x1, pageHeight - y1, height, width];\n case 180:\n return [x2, pageHeight - y1, width, height];\n case 270:\n return [x2, pageHeight - y2, height, width];\n default:\n throw new Error(\"Invalid rotation\");\n }\n }\n onceAdded() {}\n isEmpty() {\n return false;\n }\n enableEditMode() {\n this.#isInEditMode = true;\n }\n disableEditMode() {\n this.#isInEditMode = false;\n }\n isInEditMode() {\n return this.#isInEditMode;\n }\n shouldGetKeyboardEvents() {\n return false;\n }\n needsToBeRebuilt() {\n return this.div && !this.isAttachedToDOM;\n }\n rebuild() {\n this.div?.addEventListener(\"focusin\", this.#boundFocusin);\n }\n serialize() {\n (0, _util.unreachable)(\"An editor must be serializable\");\n }\n static deserialize(data, parent, uiManager) {\n const editor = new this.prototype.constructor({\n parent,\n id: parent.getNextId(),\n uiManager\n });\n editor.rotation = data.rotation;\n const [pageWidth, pageHeight] = editor.pageDimensions;\n const [x, y, width, height] = editor.getRectInCurrentCoords(data.rect, pageHeight);\n editor.x = x / pageWidth;\n editor.y = y / pageHeight;\n editor.width = width / pageWidth;\n editor.height = height / pageHeight;\n return editor;\n }\n remove() {\n this.div.removeEventListener(\"focusin\", this.#boundFocusin);\n this.div.removeEventListener(\"focusout\", this.#boundFocusout);\n if (!this.isEmpty()) {\n this.commit();\n }\n this.parent.remove(this);\n }\n select() {\n this.div?.classList.add(\"selectedEditor\");\n }\n unselect() {\n this.div?.classList.remove(\"selectedEditor\");\n }\n updateParams(type, value) {}\n disableEditing() {}\n enableEditing() {}\n get propertiesToUpdate() {\n return {};\n }\n get contentDiv() {\n return this.div;\n }\n get isEditing() {\n return this.#isEditing;\n }\n set isEditing(value) {\n this.#isEditing = value;\n if (value) {\n this.parent.setSelected(this);\n this.parent.setActiveEditor(this);\n } else {\n this.parent.setActiveEditor(null);\n }\n }\n}\nexports.AnnotationEditor = AnnotationEditor;\n\n/***/ }),\n/* 5 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.KeyboardManager = exports.CommandManager = exports.ColorManager = exports.AnnotationEditorUIManager = void 0;\nexports.bindEvents = bindEvents;\nexports.opacityToHex = opacityToHex;\nvar _util = __w_pdfjs_require__(1);\nvar _display_utils = __w_pdfjs_require__(6);\nfunction bindEvents(obj, element, names) {\n for (const name of names) {\n element.addEventListener(name, obj[name].bind(obj));\n }\n}\nfunction opacityToHex(opacity) {\n return Math.round(Math.min(255, Math.max(1, 255 * opacity))).toString(16).padStart(2, \"0\");\n}\nclass IdManager {\n #id = 0;\n getId() {\n return `${_util.AnnotationEditorPrefix}${this.#id++}`;\n }\n}\nclass CommandManager {\n #commands = [];\n #locked = false;\n #maxSize;\n #position = -1;\n constructor(maxSize = 128) {\n this.#maxSize = maxSize;\n }\n add({\n cmd,\n undo,\n mustExec,\n type = NaN,\n overwriteIfSameType = false,\n keepUndo = false\n }) {\n if (mustExec) {\n cmd();\n }\n if (this.#locked) {\n return;\n }\n const save = {\n cmd,\n undo,\n type\n };\n if (this.#position === -1) {\n if (this.#commands.length > 0) {\n this.#commands.length = 0;\n }\n this.#position = 0;\n this.#commands.push(save);\n return;\n }\n if (overwriteIfSameType && this.#commands[this.#position].type === type) {\n if (keepUndo) {\n save.undo = this.#commands[this.#position].undo;\n }\n this.#commands[this.#position] = save;\n return;\n }\n const next = this.#position + 1;\n if (next === this.#maxSize) {\n this.#commands.splice(0, 1);\n } else {\n this.#position = next;\n if (next < this.#commands.length) {\n this.#commands.splice(next);\n }\n }\n this.#commands.push(save);\n }\n undo() {\n if (this.#position === -1) {\n return;\n }\n this.#locked = true;\n this.#commands[this.#position].undo();\n this.#locked = false;\n this.#position -= 1;\n }\n redo() {\n if (this.#position < this.#commands.length - 1) {\n this.#position += 1;\n this.#locked = true;\n this.#commands[this.#position].cmd();\n this.#locked = false;\n }\n }\n hasSomethingToUndo() {\n return this.#position !== -1;\n }\n hasSomethingToRedo() {\n return this.#position < this.#commands.length - 1;\n }\n destroy() {\n this.#commands = null;\n }\n}\nexports.CommandManager = CommandManager;\nclass KeyboardManager {\n constructor(callbacks) {\n this.buffer = [];\n this.callbacks = new Map();\n this.allKeys = new Set();\n const {\n isMac\n } = _util.FeatureTest.platform;\n for (const [keys, callback] of callbacks) {\n for (const key of keys) {\n const isMacKey = key.startsWith(\"mac+\");\n if (isMac && isMacKey) {\n this.callbacks.set(key.slice(4), callback);\n this.allKeys.add(key.split(\"+\").at(-1));\n } else if (!isMac && !isMacKey) {\n this.callbacks.set(key, callback);\n this.allKeys.add(key.split(\"+\").at(-1));\n }\n }\n }\n }\n #serialize(event) {\n if (event.altKey) {\n this.buffer.push(\"alt\");\n }\n if (event.ctrlKey) {\n this.buffer.push(\"ctrl\");\n }\n if (event.metaKey) {\n this.buffer.push(\"meta\");\n }\n if (event.shiftKey) {\n this.buffer.push(\"shift\");\n }\n this.buffer.push(event.key);\n const str = this.buffer.join(\"+\");\n this.buffer.length = 0;\n return str;\n }\n exec(self, event) {\n if (!this.allKeys.has(event.key)) {\n return;\n }\n const callback = this.callbacks.get(this.#serialize(event));\n if (!callback) {\n return;\n }\n callback.bind(self)();\n event.stopPropagation();\n event.preventDefault();\n }\n}\nexports.KeyboardManager = KeyboardManager;\nclass ColorManager {\n static _colorsMapping = new Map([[\"CanvasText\", [0, 0, 0]], [\"Canvas\", [255, 255, 255]]]);\n get _colors() {\n const colors = new Map([[\"CanvasText\", null], [\"Canvas\", null]]);\n (0, _display_utils.getColorValues)(colors);\n return (0, _util.shadow)(this, \"_colors\", colors);\n }\n convert(color) {\n const rgb = (0, _display_utils.getRGB)(color);\n if (!window.matchMedia(\"(forced-colors: active)\").matches) {\n return rgb;\n }\n for (const [name, RGB] of this._colors) {\n if (RGB.every((x, i) => x === rgb[i])) {\n return ColorManager._colorsMapping.get(name);\n }\n }\n return rgb;\n }\n getHexCode(name) {\n const rgb = this._colors.get(name);\n if (!rgb) {\n return name;\n }\n return _util.Util.makeHexColor(...rgb);\n }\n}\nexports.ColorManager = ColorManager;\nclass AnnotationEditorUIManager {\n #activeEditor = null;\n #allEditors = new Map();\n #allLayers = new Map();\n #annotationStorage = null;\n #commandManager = new CommandManager();\n #currentPageIndex = 0;\n #editorTypes = null;\n #editorsToRescale = new Set();\n #eventBus = null;\n #idManager = new IdManager();\n #isEnabled = false;\n #mode = _util.AnnotationEditorType.NONE;\n #selectedEditors = new Set();\n #boundCopy = this.copy.bind(this);\n #boundCut = this.cut.bind(this);\n #boundPaste = this.paste.bind(this);\n #boundKeydown = this.keydown.bind(this);\n #boundOnEditingAction = this.onEditingAction.bind(this);\n #boundOnPageChanging = this.onPageChanging.bind(this);\n #boundOnScaleChanging = this.onScaleChanging.bind(this);\n #boundOnRotationChanging = this.onRotationChanging.bind(this);\n #previousStates = {\n isEditing: false,\n isEmpty: true,\n hasSomethingToUndo: false,\n hasSomethingToRedo: false,\n hasSelectedEditor: false\n };\n #container = null;\n static _keyboardManager = new KeyboardManager([[[\"ctrl+a\", \"mac+meta+a\"], AnnotationEditorUIManager.prototype.selectAll], [[\"ctrl+z\", \"mac+meta+z\"], AnnotationEditorUIManager.prototype.undo], [[\"ctrl+y\", \"ctrl+shift+Z\", \"mac+meta+shift+Z\"], AnnotationEditorUIManager.prototype.redo], [[\"Backspace\", \"alt+Backspace\", \"ctrl+Backspace\", \"shift+Backspace\", \"mac+Backspace\", \"mac+alt+Backspace\", \"mac+ctrl+Backspace\", \"Delete\", \"ctrl+Delete\", \"shift+Delete\"], AnnotationEditorUIManager.prototype.delete], [[\"Escape\", \"mac+Escape\"], AnnotationEditorUIManager.prototype.unselectAll]]);\n constructor(container, eventBus, annotationStorage) {\n this.#container = container;\n this.#eventBus = eventBus;\n this.#eventBus._on(\"editingaction\", this.#boundOnEditingAction);\n this.#eventBus._on(\"pagechanging\", this.#boundOnPageChanging);\n this.#eventBus._on(\"scalechanging\", this.#boundOnScaleChanging);\n this.#eventBus._on(\"rotationchanging\", this.#boundOnRotationChanging);\n this.#annotationStorage = annotationStorage;\n this.viewParameters = {\n realScale: _display_utils.PixelsPerInch.PDF_TO_CSS_UNITS,\n rotation: 0\n };\n }\n destroy() {\n this.#removeKeyboardManager();\n this.#eventBus._off(\"editingaction\", this.#boundOnEditingAction);\n this.#eventBus._off(\"pagechanging\", this.#boundOnPageChanging);\n this.#eventBus._off(\"scalechanging\", this.#boundOnScaleChanging);\n this.#eventBus._off(\"rotationchanging\", this.#boundOnRotationChanging);\n for (const layer of this.#allLayers.values()) {\n layer.destroy();\n }\n this.#allLayers.clear();\n this.#allEditors.clear();\n this.#editorsToRescale.clear();\n this.#activeEditor = null;\n this.#selectedEditors.clear();\n this.#commandManager.destroy();\n }\n onPageChanging({\n pageNumber\n }) {\n this.#currentPageIndex = pageNumber - 1;\n }\n focusMainContainer() {\n this.#container.focus();\n }\n addShouldRescale(editor) {\n this.#editorsToRescale.add(editor);\n }\n removeShouldRescale(editor) {\n this.#editorsToRescale.delete(editor);\n }\n onScaleChanging({\n scale\n }) {\n this.commitOrRemove();\n this.viewParameters.realScale = scale * _display_utils.PixelsPerInch.PDF_TO_CSS_UNITS;\n for (const editor of this.#editorsToRescale) {\n editor.onScaleChanging();\n }\n }\n onRotationChanging({\n pagesRotation\n }) {\n this.commitOrRemove();\n this.viewParameters.rotation = pagesRotation;\n }\n addToAnnotationStorage(editor) {\n if (!editor.isEmpty() && this.#annotationStorage && !this.#annotationStorage.has(editor.id)) {\n this.#annotationStorage.setValue(editor.id, editor);\n }\n }\n #addKeyboardManager() {\n this.#container.addEventListener(\"keydown\", this.#boundKeydown);\n }\n #removeKeyboardManager() {\n this.#container.removeEventListener(\"keydown\", this.#boundKeydown);\n }\n #addCopyPasteListeners() {\n document.addEventListener(\"copy\", this.#boundCopy);\n document.addEventListener(\"cut\", this.#boundCut);\n document.addEventListener(\"paste\", this.#boundPaste);\n }\n #removeCopyPasteListeners() {\n document.removeEventListener(\"copy\", this.#boundCopy);\n document.removeEventListener(\"cut\", this.#boundCut);\n document.removeEventListener(\"paste\", this.#boundPaste);\n }\n copy(event) {\n event.preventDefault();\n if (this.#activeEditor) {\n this.#activeEditor.commitOrRemove();\n }\n if (!this.hasSelection) {\n return;\n }\n const editors = [];\n for (const editor of this.#selectedEditors) {\n if (!editor.isEmpty()) {\n editors.push(editor.serialize());\n }\n }\n if (editors.length === 0) {\n return;\n }\n event.clipboardData.setData(\"application/pdfjs\", JSON.stringify(editors));\n }\n cut(event) {\n this.copy(event);\n this.delete();\n }\n paste(event) {\n event.preventDefault();\n let data = event.clipboardData.getData(\"application/pdfjs\");\n if (!data) {\n return;\n }\n try {\n data = JSON.parse(data);\n } catch (ex) {\n (0, _util.warn)(`paste: \"${ex.message}\".`);\n return;\n }\n if (!Array.isArray(data)) {\n return;\n }\n this.unselectAll();\n const layer = this.#allLayers.get(this.#currentPageIndex);\n try {\n const newEditors = [];\n for (const editor of data) {\n const deserializedEditor = layer.deserialize(editor);\n if (!deserializedEditor) {\n return;\n }\n newEditors.push(deserializedEditor);\n }\n const cmd = () => {\n for (const editor of newEditors) {\n this.#addEditorToLayer(editor);\n }\n this.#selectEditors(newEditors);\n };\n const undo = () => {\n for (const editor of newEditors) {\n editor.remove();\n }\n };\n this.addCommands({\n cmd,\n undo,\n mustExec: true\n });\n } catch (ex) {\n (0, _util.warn)(`paste: \"${ex.message}\".`);\n }\n }\n keydown(event) {\n if (!this.getActive()?.shouldGetKeyboardEvents()) {\n AnnotationEditorUIManager._keyboardManager.exec(this, event);\n }\n }\n onEditingAction(details) {\n if ([\"undo\", \"redo\", \"delete\", \"selectAll\"].includes(details.name)) {\n this[details.name]();\n }\n }\n #dispatchUpdateStates(details) {\n const hasChanged = Object.entries(details).some(([key, value]) => this.#previousStates[key] !== value);\n if (hasChanged) {\n this.#eventBus.dispatch(\"annotationeditorstateschanged\", {\n source: this,\n details: Object.assign(this.#previousStates, details)\n });\n }\n }\n #dispatchUpdateUI(details) {\n this.#eventBus.dispatch(\"annotationeditorparamschanged\", {\n source: this,\n details\n });\n }\n setEditingState(isEditing) {\n if (isEditing) {\n this.#addKeyboardManager();\n this.#addCopyPasteListeners();\n this.#dispatchUpdateStates({\n isEditing: this.#mode !== _util.AnnotationEditorType.NONE,\n isEmpty: this.#isEmpty(),\n hasSomethingToUndo: this.#commandManager.hasSomethingToUndo(),\n hasSomethingToRedo: this.#commandManager.hasSomethingToRedo(),\n hasSelectedEditor: false\n });\n } else {\n this.#removeKeyboardManager();\n this.#removeCopyPasteListeners();\n this.#dispatchUpdateStates({\n isEditing: false\n });\n }\n }\n registerEditorTypes(types) {\n if (this.#editorTypes) {\n return;\n }\n this.#editorTypes = types;\n for (const editorType of this.#editorTypes) {\n this.#dispatchUpdateUI(editorType.defaultPropertiesToUpdate);\n }\n }\n getId() {\n return this.#idManager.getId();\n }\n get currentLayer() {\n return this.#allLayers.get(this.#currentPageIndex);\n }\n get currentPageIndex() {\n return this.#currentPageIndex;\n }\n addLayer(layer) {\n this.#allLayers.set(layer.pageIndex, layer);\n if (this.#isEnabled) {\n layer.enable();\n } else {\n layer.disable();\n }\n }\n removeLayer(layer) {\n this.#allLayers.delete(layer.pageIndex);\n }\n updateMode(mode) {\n this.#mode = mode;\n if (mode === _util.AnnotationEditorType.NONE) {\n this.setEditingState(false);\n this.#disableAll();\n } else {\n this.setEditingState(true);\n this.#enableAll();\n for (const layer of this.#allLayers.values()) {\n layer.updateMode(mode);\n }\n }\n }\n updateToolbar(mode) {\n if (mode === this.#mode) {\n return;\n }\n this.#eventBus.dispatch(\"switchannotationeditormode\", {\n source: this,\n mode\n });\n }\n updateParams(type, value) {\n if (!this.#editorTypes) {\n return;\n }\n for (const editor of this.#selectedEditors) {\n editor.updateParams(type, value);\n }\n for (const editorType of this.#editorTypes) {\n editorType.updateDefaultParams(type, value);\n }\n }\n #enableAll() {\n if (!this.#isEnabled) {\n this.#isEnabled = true;\n for (const layer of this.#allLayers.values()) {\n layer.enable();\n }\n }\n }\n #disableAll() {\n this.unselectAll();\n if (this.#isEnabled) {\n this.#isEnabled = false;\n for (const layer of this.#allLayers.values()) {\n layer.disable();\n }\n }\n }\n getEditors(pageIndex) {\n const editors = [];\n for (const editor of this.#allEditors.values()) {\n if (editor.pageIndex === pageIndex) {\n editors.push(editor);\n }\n }\n return editors;\n }\n getEditor(id) {\n return this.#allEditors.get(id);\n }\n addEditor(editor) {\n this.#allEditors.set(editor.id, editor);\n }\n removeEditor(editor) {\n this.#allEditors.delete(editor.id);\n this.unselect(editor);\n this.#annotationStorage?.remove(editor.id);\n }\n #addEditorToLayer(editor) {\n const layer = this.#allLayers.get(editor.pageIndex);\n if (layer) {\n layer.addOrRebuild(editor);\n } else {\n this.addEditor(editor);\n }\n }\n setActiveEditor(editor) {\n if (this.#activeEditor === editor) {\n return;\n }\n this.#activeEditor = editor;\n if (editor) {\n this.#dispatchUpdateUI(editor.propertiesToUpdate);\n }\n }\n toggleSelected(editor) {\n if (this.#selectedEditors.has(editor)) {\n this.#selectedEditors.delete(editor);\n editor.unselect();\n this.#dispatchUpdateStates({\n hasSelectedEditor: this.hasSelection\n });\n return;\n }\n this.#selectedEditors.add(editor);\n editor.select();\n this.#dispatchUpdateUI(editor.propertiesToUpdate);\n this.#dispatchUpdateStates({\n hasSelectedEditor: true\n });\n }\n setSelected(editor) {\n for (const ed of this.#selectedEditors) {\n if (ed !== editor) {\n ed.unselect();\n }\n }\n this.#selectedEditors.clear();\n this.#selectedEditors.add(editor);\n editor.select();\n this.#dispatchUpdateUI(editor.propertiesToUpdate);\n this.#dispatchUpdateStates({\n hasSelectedEditor: true\n });\n }\n isSelected(editor) {\n return this.#selectedEditors.has(editor);\n }\n unselect(editor) {\n editor.unselect();\n this.#selectedEditors.delete(editor);\n this.#dispatchUpdateStates({\n hasSelectedEditor: this.hasSelection\n });\n }\n get hasSelection() {\n return this.#selectedEditors.size !== 0;\n }\n undo() {\n this.#commandManager.undo();\n this.#dispatchUpdateStates({\n hasSomethingToUndo: this.#commandManager.hasSomethingToUndo(),\n hasSomethingToRedo: true,\n isEmpty: this.#isEmpty()\n });\n }\n redo() {\n this.#commandManager.redo();\n this.#dispatchUpdateStates({\n hasSomethingToUndo: true,\n hasSomethingToRedo: this.#commandManager.hasSomethingToRedo(),\n isEmpty: this.#isEmpty()\n });\n }\n addCommands(params) {\n this.#commandManager.add(params);\n this.#dispatchUpdateStates({\n hasSomethingToUndo: true,\n hasSomethingToRedo: false,\n isEmpty: this.#isEmpty()\n });\n }\n #isEmpty() {\n if (this.#allEditors.size === 0) {\n return true;\n }\n if (this.#allEditors.size === 1) {\n for (const editor of this.#allEditors.values()) {\n return editor.isEmpty();\n }\n }\n return false;\n }\n delete() {\n this.commitOrRemove();\n if (!this.hasSelection) {\n return;\n }\n const editors = [...this.#selectedEditors];\n const cmd = () => {\n for (const editor of editors) {\n editor.remove();\n }\n };\n const undo = () => {\n for (const editor of editors) {\n this.#addEditorToLayer(editor);\n }\n };\n this.addCommands({\n cmd,\n undo,\n mustExec: true\n });\n }\n commitOrRemove() {\n this.#activeEditor?.commitOrRemove();\n }\n #selectEditors(editors) {\n this.#selectedEditors.clear();\n for (const editor of editors) {\n if (editor.isEmpty()) {\n continue;\n }\n this.#selectedEditors.add(editor);\n editor.select();\n }\n this.#dispatchUpdateStates({\n hasSelectedEditor: true\n });\n }\n selectAll() {\n for (const editor of this.#selectedEditors) {\n editor.commit();\n }\n this.#selectEditors(this.#allEditors.values());\n }\n unselectAll() {\n if (this.#activeEditor) {\n this.#activeEditor.commitOrRemove();\n return;\n }\n if (this.#selectedEditors.size === 0) {\n return;\n }\n for (const editor of this.#selectedEditors) {\n editor.unselect();\n }\n this.#selectedEditors.clear();\n this.#dispatchUpdateStates({\n hasSelectedEditor: false\n });\n }\n isActive(editor) {\n return this.#activeEditor === editor;\n }\n getActive() {\n return this.#activeEditor;\n }\n getMode() {\n return this.#mode;\n }\n}\nexports.AnnotationEditorUIManager = AnnotationEditorUIManager;\n\n/***/ }),\n/* 6 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.StatTimer = exports.RenderingCancelledException = exports.PixelsPerInch = exports.PageViewport = exports.PDFDateString = exports.DOMStandardFontDataFactory = exports.DOMSVGFactory = exports.DOMFilterFactory = exports.DOMCanvasFactory = exports.DOMCMapReaderFactory = exports.AnnotationPrefix = void 0;\nexports.deprecated = deprecated;\nexports.getColorValues = getColorValues;\nexports.getCurrentTransform = getCurrentTransform;\nexports.getCurrentTransformInverse = getCurrentTransformInverse;\nexports.getFilenameFromUrl = getFilenameFromUrl;\nexports.getPdfFilenameFromUrl = getPdfFilenameFromUrl;\nexports.getRGB = getRGB;\nexports.getXfaPageViewport = getXfaPageViewport;\nexports.isDataScheme = isDataScheme;\nexports.isPdfFile = isPdfFile;\nexports.isValidFetchUrl = isValidFetchUrl;\nexports.loadScript = loadScript;\nexports.setLayerDimensions = setLayerDimensions;\nvar _base_factory = __w_pdfjs_require__(7);\nvar _util = __w_pdfjs_require__(1);\nconst SVG_NS = \"http://www.w3.org/2000/svg\";\nconst AnnotationPrefix = \"pdfjs_internal_id_\";\nexports.AnnotationPrefix = AnnotationPrefix;\nclass PixelsPerInch {\n static CSS = 96.0;\n static PDF = 72.0;\n static PDF_TO_CSS_UNITS = this.CSS / this.PDF;\n}\nexports.PixelsPerInch = PixelsPerInch;\nclass DOMFilterFactory extends _base_factory.BaseFilterFactory {\n #_cache;\n #_defs;\n #docId;\n #document;\n #hcmFilter;\n #hcmKey;\n #hcmUrl;\n #id = 0;\n constructor({\n docId,\n ownerDocument = globalThis.document\n } = {}) {\n super();\n this.#docId = docId;\n this.#document = ownerDocument;\n }\n get #cache() {\n return this.#_cache ||= new Map();\n }\n get #defs() {\n if (!this.#_defs) {\n const div = this.#document.createElement(\"div\");\n const {\n style\n } = div;\n style.visibility = \"hidden\";\n style.contain = \"strict\";\n style.width = style.height = 0;\n style.position = \"absolute\";\n style.top = style.left = 0;\n style.zIndex = -1;\n const svg = this.#document.createElementNS(SVG_NS, \"svg\");\n svg.setAttribute(\"width\", 0);\n svg.setAttribute(\"height\", 0);\n this.#_defs = this.#document.createElementNS(SVG_NS, \"defs\");\n div.append(svg);\n svg.append(this.#_defs);\n this.#document.body.append(div);\n }\n return this.#_defs;\n }\n #appendFeFunc(feComponentTransfer, func, table) {\n const feFunc = this.#document.createElementNS(SVG_NS, func);\n feFunc.setAttribute(\"type\", \"discrete\");\n feFunc.setAttribute(\"tableValues\", table);\n feComponentTransfer.append(feFunc);\n }\n addFilter(maps) {\n if (!maps) {\n return \"none\";\n }\n let value = this.#cache.get(maps);\n if (value) {\n return value;\n }\n let tableR, tableG, tableB, key;\n if (maps.length === 1) {\n const mapR = maps[0];\n const buffer = new Array(256);\n for (let i = 0; i < 256; i++) {\n buffer[i] = mapR[i] / 255;\n }\n key = tableR = tableG = tableB = buffer.join(\",\");\n } else {\n const [mapR, mapG, mapB] = maps;\n const bufferR = new Array(256);\n const bufferG = new Array(256);\n const bufferB = new Array(256);\n for (let i = 0; i < 256; i++) {\n bufferR[i] = mapR[i] / 255;\n bufferG[i] = mapG[i] / 255;\n bufferB[i] = mapB[i] / 255;\n }\n tableR = bufferR.join(\",\");\n tableG = bufferG.join(\",\");\n tableB = bufferB.join(\",\");\n key = `${tableR}${tableG}${tableB}`;\n }\n value = this.#cache.get(key);\n if (value) {\n this.#cache.set(maps, value);\n return value;\n }\n const id = `g_${this.#docId}_transfer_map_${this.#id++}`;\n const url = `url(#${id})`;\n this.#cache.set(maps, url);\n this.#cache.set(key, url);\n const filter = this.#document.createElementNS(SVG_NS, \"filter\", SVG_NS);\n filter.setAttribute(\"id\", id);\n filter.setAttribute(\"color-interpolation-filters\", \"sRGB\");\n const feComponentTransfer = this.#document.createElementNS(SVG_NS, \"feComponentTransfer\");\n filter.append(feComponentTransfer);\n this.#appendFeFunc(feComponentTransfer, \"feFuncR\", tableR);\n this.#appendFeFunc(feComponentTransfer, \"feFuncG\", tableG);\n this.#appendFeFunc(feComponentTransfer, \"feFuncB\", tableB);\n this.#defs.append(filter);\n return url;\n }\n addHCMFilter(fgColor, bgColor) {\n const key = `${fgColor}-${bgColor}`;\n if (this.#hcmKey === key) {\n return this.#hcmUrl;\n }\n this.#hcmKey = key;\n this.#hcmUrl = \"none\";\n this.#hcmFilter?.remove();\n if (!fgColor || !bgColor) {\n return this.#hcmUrl;\n }\n this.#defs.style.color = fgColor;\n fgColor = getComputedStyle(this.#defs).getPropertyValue(\"color\");\n const fgRGB = getRGB(fgColor);\n fgColor = _util.Util.makeHexColor(...fgRGB);\n this.#defs.style.color = bgColor;\n bgColor = getComputedStyle(this.#defs).getPropertyValue(\"color\");\n const bgRGB = getRGB(bgColor);\n bgColor = _util.Util.makeHexColor(...bgRGB);\n this.#defs.style.color = \"\";\n if (fgColor === \"#000000\" && bgColor === \"#ffffff\" || fgColor === bgColor) {\n return this.#hcmUrl;\n }\n const map = new Array(256);\n for (let i = 0; i <= 255; i++) {\n const x = i / 255;\n map[i] = x <= 0.03928 ? x / 12.92 : ((x + 0.055) / 1.055) ** 2.4;\n }\n const table = map.join(\",\");\n const id = `g_${this.#docId}_hcm_filter`;\n const filter = this.#hcmFilter = this.#document.createElementNS(SVG_NS, \"filter\", SVG_NS);\n filter.setAttribute(\"id\", id);\n filter.setAttribute(\"color-interpolation-filters\", \"sRGB\");\n let feComponentTransfer = this.#document.createElementNS(SVG_NS, \"feComponentTransfer\");\n filter.append(feComponentTransfer);\n this.#appendFeFunc(feComponentTransfer, \"feFuncR\", table);\n this.#appendFeFunc(feComponentTransfer, \"feFuncG\", table);\n this.#appendFeFunc(feComponentTransfer, \"feFuncB\", table);\n const feColorMatrix = this.#document.createElementNS(SVG_NS, \"feColorMatrix\");\n feColorMatrix.setAttribute(\"type\", \"matrix\");\n feColorMatrix.setAttribute(\"values\", \"0.2126 0.7152 0.0722 0 0 0.2126 0.7152 0.0722 0 0 0.2126 0.7152 0.0722 0 0 0 0 0 1 0\");\n filter.append(feColorMatrix);\n feComponentTransfer = this.#document.createElementNS(SVG_NS, \"feComponentTransfer\");\n filter.append(feComponentTransfer);\n const getSteps = (c, n) => {\n const start = fgRGB[c] / 255;\n const end = bgRGB[c] / 255;\n const arr = new Array(n + 1);\n for (let i = 0; i <= n; i++) {\n arr[i] = start + i / n * (end - start);\n }\n return arr.join(\",\");\n };\n this.#appendFeFunc(feComponentTransfer, \"feFuncR\", getSteps(0, 5));\n this.#appendFeFunc(feComponentTransfer, \"feFuncG\", getSteps(1, 5));\n this.#appendFeFunc(feComponentTransfer, \"feFuncB\", getSteps(2, 5));\n this.#defs.append(filter);\n this.#hcmUrl = `url(#${id})`;\n return this.#hcmUrl;\n }\n destroy(keepHCM = false) {\n if (keepHCM && this.#hcmUrl) {\n return;\n }\n if (this.#_defs) {\n this.#_defs.parentNode.parentNode.remove();\n this.#_defs = null;\n }\n if (this.#_cache) {\n this.#_cache.clear();\n this.#_cache = null;\n }\n this.#id = 0;\n }\n}\nexports.DOMFilterFactory = DOMFilterFactory;\nclass DOMCanvasFactory extends _base_factory.BaseCanvasFactory {\n constructor({\n ownerDocument = globalThis.document\n } = {}) {\n super();\n this._document = ownerDocument;\n }\n _createCanvas(width, height) {\n const canvas = this._document.createElement(\"canvas\");\n canvas.width = width;\n canvas.height = height;\n return canvas;\n }\n}\nexports.DOMCanvasFactory = DOMCanvasFactory;\nasync function fetchData(url, asTypedArray = false) {\n if (isValidFetchUrl(url, document.baseURI)) {\n const response = await fetch(url);\n if (!response.ok) {\n throw new Error(response.statusText);\n }\n return asTypedArray ? new Uint8Array(await response.arrayBuffer()) : (0, _util.stringToBytes)(await response.text());\n }\n return new Promise((resolve, reject) => {\n const request = new XMLHttpRequest();\n request.open(\"GET\", url, true);\n if (asTypedArray) {\n request.responseType = \"arraybuffer\";\n }\n request.onreadystatechange = () => {\n if (request.readyState !== XMLHttpRequest.DONE) {\n return;\n }\n if (request.status === 200 || request.status === 0) {\n let data;\n if (asTypedArray && request.response) {\n data = new Uint8Array(request.response);\n } else if (!asTypedArray && request.responseText) {\n data = (0, _util.stringToBytes)(request.responseText);\n }\n if (data) {\n resolve(data);\n return;\n }\n }\n reject(new Error(request.statusText));\n };\n request.send(null);\n });\n}\nclass DOMCMapReaderFactory extends _base_factory.BaseCMapReaderFactory {\n _fetchData(url, compressionType) {\n return fetchData(url, this.isCompressed).then(data => {\n return {\n cMapData: data,\n compressionType\n };\n });\n }\n}\nexports.DOMCMapReaderFactory = DOMCMapReaderFactory;\nclass DOMStandardFontDataFactory extends _base_factory.BaseStandardFontDataFactory {\n _fetchData(url) {\n return fetchData(url, true);\n }\n}\nexports.DOMStandardFontDataFactory = DOMStandardFontDataFactory;\nclass DOMSVGFactory extends _base_factory.BaseSVGFactory {\n _createSVG(type) {\n return document.createElementNS(SVG_NS, type);\n }\n}\nexports.DOMSVGFactory = DOMSVGFactory;\nclass PageViewport {\n constructor({\n viewBox,\n scale,\n rotation,\n offsetX = 0,\n offsetY = 0,\n dontFlip = false\n }) {\n this.viewBox = viewBox;\n this.scale = scale;\n this.rotation = rotation;\n this.offsetX = offsetX;\n this.offsetY = offsetY;\n const centerX = (viewBox[2] + viewBox[0]) / 2;\n const centerY = (viewBox[3] + viewBox[1]) / 2;\n let rotateA, rotateB, rotateC, rotateD;\n rotation %= 360;\n if (rotation < 0) {\n rotation += 360;\n }\n switch (rotation) {\n case 180:\n rotateA = -1;\n rotateB = 0;\n rotateC = 0;\n rotateD = 1;\n break;\n case 90:\n rotateA = 0;\n rotateB = 1;\n rotateC = 1;\n rotateD = 0;\n break;\n case 270:\n rotateA = 0;\n rotateB = -1;\n rotateC = -1;\n rotateD = 0;\n break;\n case 0:\n rotateA = 1;\n rotateB = 0;\n rotateC = 0;\n rotateD = -1;\n break;\n default:\n throw new Error(\"PageViewport: Invalid rotation, must be a multiple of 90 degrees.\");\n }\n if (dontFlip) {\n rotateC = -rotateC;\n rotateD = -rotateD;\n }\n let offsetCanvasX, offsetCanvasY;\n let width, height;\n if (rotateA === 0) {\n offsetCanvasX = Math.abs(centerY - viewBox[1]) * scale + offsetX;\n offsetCanvasY = Math.abs(centerX - viewBox[0]) * scale + offsetY;\n width = (viewBox[3] - viewBox[1]) * scale;\n height = (viewBox[2] - viewBox[0]) * scale;\n } else {\n offsetCanvasX = Math.abs(centerX - viewBox[0]) * scale + offsetX;\n offsetCanvasY = Math.abs(centerY - viewBox[1]) * scale + offsetY;\n width = (viewBox[2] - viewBox[0]) * scale;\n height = (viewBox[3] - viewBox[1]) * scale;\n }\n this.transform = [rotateA * scale, rotateB * scale, rotateC * scale, rotateD * scale, offsetCanvasX - rotateA * scale * centerX - rotateC * scale * centerY, offsetCanvasY - rotateB * scale * centerX - rotateD * scale * centerY];\n this.width = width;\n this.height = height;\n }\n get rawDims() {\n const {\n viewBox\n } = this;\n return (0, _util.shadow)(this, \"rawDims\", {\n pageWidth: viewBox[2] - viewBox[0],\n pageHeight: viewBox[3] - viewBox[1],\n pageX: viewBox[0],\n pageY: viewBox[1]\n });\n }\n clone({\n scale = this.scale,\n rotation = this.rotation,\n offsetX = this.offsetX,\n offsetY = this.offsetY,\n dontFlip = false\n } = {}) {\n return new PageViewport({\n viewBox: this.viewBox.slice(),\n scale,\n rotation,\n offsetX,\n offsetY,\n dontFlip\n });\n }\n convertToViewportPoint(x, y) {\n return _util.Util.applyTransform([x, y], this.transform);\n }\n convertToViewportRectangle(rect) {\n const topLeft = _util.Util.applyTransform([rect[0], rect[1]], this.transform);\n const bottomRight = _util.Util.applyTransform([rect[2], rect[3]], this.transform);\n return [topLeft[0], topLeft[1], bottomRight[0], bottomRight[1]];\n }\n convertToPdfPoint(x, y) {\n return _util.Util.applyInverseTransform([x, y], this.transform);\n }\n}\nexports.PageViewport = PageViewport;\nclass RenderingCancelledException extends _util.BaseException {\n constructor(msg, type, extraDelay = 0) {\n super(msg, \"RenderingCancelledException\");\n this.type = type;\n this.extraDelay = extraDelay;\n }\n}\nexports.RenderingCancelledException = RenderingCancelledException;\nfunction isDataScheme(url) {\n const ii = url.length;\n let i = 0;\n while (i < ii && url[i].trim() === \"\") {\n i++;\n }\n return url.substring(i, i + 5).toLowerCase() === \"data:\";\n}\nfunction isPdfFile(filename) {\n return typeof filename === \"string\" && /\\.pdf$/i.test(filename);\n}\nfunction getFilenameFromUrl(url, onlyStripPath = false) {\n if (!onlyStripPath) {\n [url] = url.split(/[#?]/, 1);\n }\n return url.substring(url.lastIndexOf(\"/\") + 1);\n}\nfunction getPdfFilenameFromUrl(url, defaultFilename = \"document.pdf\") {\n if (typeof url !== \"string\") {\n return defaultFilename;\n }\n if (isDataScheme(url)) {\n (0, _util.warn)('getPdfFilenameFromUrl: ignore \"data:\"-URL for performance reasons.');\n return defaultFilename;\n }\n const reURI = /^(?:(?:[^:]+:)?\\/\\/[^/]+)?([^?#]*)(\\?[^#]*)?(#.*)?$/;\n const reFilename = /[^/?#=]+\\.pdf\\b(?!.*\\.pdf\\b)/i;\n const splitURI = reURI.exec(url);\n let suggestedFilename = reFilename.exec(splitURI[1]) || reFilename.exec(splitURI[2]) || reFilename.exec(splitURI[3]);\n if (suggestedFilename) {\n suggestedFilename = suggestedFilename[0];\n if (suggestedFilename.includes(\"%\")) {\n try {\n suggestedFilename = reFilename.exec(decodeURIComponent(suggestedFilename))[0];\n } catch (ex) {}\n }\n }\n return suggestedFilename || defaultFilename;\n}\nclass StatTimer {\n started = Object.create(null);\n times = [];\n time(name) {\n if (name in this.started) {\n (0, _util.warn)(`Timer is already running for ${name}`);\n }\n this.started[name] = Date.now();\n }\n timeEnd(name) {\n if (!(name in this.started)) {\n (0, _util.warn)(`Timer has not been started for ${name}`);\n }\n this.times.push({\n name,\n start: this.started[name],\n end: Date.now()\n });\n delete this.started[name];\n }\n toString() {\n const outBuf = [];\n let longest = 0;\n for (const {\n name\n } of this.times) {\n longest = Math.max(name.length, longest);\n }\n for (const {\n name,\n start,\n end\n } of this.times) {\n outBuf.push(`${name.padEnd(longest)} ${end - start}ms\\n`);\n }\n return outBuf.join(\"\");\n }\n}\nexports.StatTimer = StatTimer;\nfunction isValidFetchUrl(url, baseUrl) {\n try {\n const {\n protocol\n } = baseUrl ? new URL(url, baseUrl) : new URL(url);\n return protocol === \"http:\" || protocol === \"https:\";\n } catch (ex) {\n return false;\n }\n}\nfunction loadScript(src, removeScriptElement = false) {\n return new Promise((resolve, reject) => {\n const script = document.createElement(\"script\");\n script.src = src;\n script.onload = function (evt) {\n if (removeScriptElement) {\n script.remove();\n }\n resolve(evt);\n };\n script.onerror = function () {\n reject(new Error(`Cannot load script at: ${script.src}`));\n };\n (document.head || document.documentElement).append(script);\n });\n}\nfunction deprecated(details) {\n console.log(\"Deprecated API usage: \" + details);\n}\nlet pdfDateStringRegex;\nclass PDFDateString {\n static toDateObject(input) {\n if (!input || typeof input !== \"string\") {\n return null;\n }\n if (!pdfDateStringRegex) {\n pdfDateStringRegex = new RegExp(\"^D:\" + \"(\\\\d{4})\" + \"(\\\\d{2})?\" + \"(\\\\d{2})?\" + \"(\\\\d{2})?\" + \"(\\\\d{2})?\" + \"(\\\\d{2})?\" + \"([Z|+|-])?\" + \"(\\\\d{2})?\" + \"'?\" + \"(\\\\d{2})?\" + \"'?\");\n }\n const matches = pdfDateStringRegex.exec(input);\n if (!matches) {\n return null;\n }\n const year = parseInt(matches[1], 10);\n let month = parseInt(matches[2], 10);\n month = month >= 1 && month <= 12 ? month - 1 : 0;\n let day = parseInt(matches[3], 10);\n day = day >= 1 && day <= 31 ? day : 1;\n let hour = parseInt(matches[4], 10);\n hour = hour >= 0 && hour <= 23 ? hour : 0;\n let minute = parseInt(matches[5], 10);\n minute = minute >= 0 && minute <= 59 ? minute : 0;\n let second = parseInt(matches[6], 10);\n second = second >= 0 && second <= 59 ? second : 0;\n const universalTimeRelation = matches[7] || \"Z\";\n let offsetHour = parseInt(matches[8], 10);\n offsetHour = offsetHour >= 0 && offsetHour <= 23 ? offsetHour : 0;\n let offsetMinute = parseInt(matches[9], 10) || 0;\n offsetMinute = offsetMinute >= 0 && offsetMinute <= 59 ? offsetMinute : 0;\n if (universalTimeRelation === \"-\") {\n hour += offsetHour;\n minute += offsetMinute;\n } else if (universalTimeRelation === \"+\") {\n hour -= offsetHour;\n minute -= offsetMinute;\n }\n return new Date(Date.UTC(year, month, day, hour, minute, second));\n }\n}\nexports.PDFDateString = PDFDateString;\nfunction getXfaPageViewport(xfaPage, {\n scale = 1,\n rotation = 0\n}) {\n const {\n width,\n height\n } = xfaPage.attributes.style;\n const viewBox = [0, 0, parseInt(width), parseInt(height)];\n return new PageViewport({\n viewBox,\n scale,\n rotation\n });\n}\nfunction getRGB(color) {\n if (color.startsWith(\"#\")) {\n const colorRGB = parseInt(color.slice(1), 16);\n return [(colorRGB & 0xff0000) >> 16, (colorRGB & 0x00ff00) >> 8, colorRGB & 0x0000ff];\n }\n if (color.startsWith(\"rgb(\")) {\n return color.slice(4, -1).split(\",\").map(x => parseInt(x));\n }\n if (color.startsWith(\"rgba(\")) {\n return color.slice(5, -1).split(\",\").map(x => parseInt(x)).slice(0, 3);\n }\n (0, _util.warn)(`Not a valid color format: \"${color}\"`);\n return [0, 0, 0];\n}\nfunction getColorValues(colors) {\n const span = document.createElement(\"span\");\n span.style.visibility = \"hidden\";\n document.body.append(span);\n for (const name of colors.keys()) {\n span.style.color = name;\n const computedColor = window.getComputedStyle(span).color;\n colors.set(name, getRGB(computedColor));\n }\n span.remove();\n}\nfunction getCurrentTransform(ctx) {\n const {\n a,\n b,\n c,\n d,\n e,\n f\n } = ctx.getTransform();\n return [a, b, c, d, e, f];\n}\nfunction getCurrentTransformInverse(ctx) {\n const {\n a,\n b,\n c,\n d,\n e,\n f\n } = ctx.getTransform().invertSelf();\n return [a, b, c, d, e, f];\n}\nfunction setLayerDimensions(div, viewport, mustFlip = false, mustRotate = true) {\n if (viewport instanceof PageViewport) {\n const {\n pageWidth,\n pageHeight\n } = viewport.rawDims;\n const {\n style\n } = div;\n const widthStr = `calc(var(--scale-factor) * ${pageWidth}px)`;\n const heightStr = `calc(var(--scale-factor) * ${pageHeight}px)`;\n if (!mustFlip || viewport.rotation % 180 === 0) {\n style.width = widthStr;\n style.height = heightStr;\n } else {\n style.width = heightStr;\n style.height = widthStr;\n }\n }\n if (mustRotate) {\n div.setAttribute(\"data-main-rotation\", viewport.rotation);\n }\n}\n\n/***/ }),\n/* 7 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.BaseStandardFontDataFactory = exports.BaseSVGFactory = exports.BaseFilterFactory = exports.BaseCanvasFactory = exports.BaseCMapReaderFactory = void 0;\nvar _util = __w_pdfjs_require__(1);\nclass BaseFilterFactory {\n constructor() {\n if (this.constructor === BaseFilterFactory) {\n (0, _util.unreachable)(\"Cannot initialize BaseFilterFactory.\");\n }\n }\n addFilter(maps) {\n return \"none\";\n }\n addHCMFilter(fgColor, bgColor) {\n return \"none\";\n }\n destroy(keepHCM = false) {}\n}\nexports.BaseFilterFactory = BaseFilterFactory;\nclass BaseCanvasFactory {\n constructor() {\n if (this.constructor === BaseCanvasFactory) {\n (0, _util.unreachable)(\"Cannot initialize BaseCanvasFactory.\");\n }\n }\n create(width, height) {\n if (width <= 0 || height <= 0) {\n throw new Error(\"Invalid canvas size\");\n }\n const canvas = this._createCanvas(width, height);\n return {\n canvas,\n context: canvas.getContext(\"2d\")\n };\n }\n reset(canvasAndContext, width, height) {\n if (!canvasAndContext.canvas) {\n throw new Error(\"Canvas is not specified\");\n }\n if (width <= 0 || height <= 0) {\n throw new Error(\"Invalid canvas size\");\n }\n canvasAndContext.canvas.width = width;\n canvasAndContext.canvas.height = height;\n }\n destroy(canvasAndContext) {\n if (!canvasAndContext.canvas) {\n throw new Error(\"Canvas is not specified\");\n }\n canvasAndContext.canvas.width = 0;\n canvasAndContext.canvas.height = 0;\n canvasAndContext.canvas = null;\n canvasAndContext.context = null;\n }\n _createCanvas(width, height) {\n (0, _util.unreachable)(\"Abstract method `_createCanvas` called.\");\n }\n}\nexports.BaseCanvasFactory = BaseCanvasFactory;\nclass BaseCMapReaderFactory {\n constructor({\n baseUrl = null,\n isCompressed = true\n }) {\n if (this.constructor === BaseCMapReaderFactory) {\n (0, _util.unreachable)(\"Cannot initialize BaseCMapReaderFactory.\");\n }\n this.baseUrl = baseUrl;\n this.isCompressed = isCompressed;\n }\n async fetch({\n name\n }) {\n if (!this.baseUrl) {\n throw new Error('The CMap \"baseUrl\" parameter must be specified, ensure that ' + 'the \"cMapUrl\" and \"cMapPacked\" API parameters are provided.');\n }\n if (!name) {\n throw new Error(\"CMap name must be specified.\");\n }\n const url = this.baseUrl + name + (this.isCompressed ? \".bcmap\" : \"\");\n const compressionType = this.isCompressed ? _util.CMapCompressionType.BINARY : _util.CMapCompressionType.NONE;\n return this._fetchData(url, compressionType).catch(reason => {\n throw new Error(`Unable to load ${this.isCompressed ? \"binary \" : \"\"}CMap at: ${url}`);\n });\n }\n _fetchData(url, compressionType) {\n (0, _util.unreachable)(\"Abstract method `_fetchData` called.\");\n }\n}\nexports.BaseCMapReaderFactory = BaseCMapReaderFactory;\nclass BaseStandardFontDataFactory {\n constructor({\n baseUrl = null\n }) {\n if (this.constructor === BaseStandardFontDataFactory) {\n (0, _util.unreachable)(\"Cannot initialize BaseStandardFontDataFactory.\");\n }\n this.baseUrl = baseUrl;\n }\n async fetch({\n filename\n }) {\n if (!this.baseUrl) {\n throw new Error('The standard font \"baseUrl\" parameter must be specified, ensure that ' + 'the \"standardFontDataUrl\" API parameter is provided.');\n }\n if (!filename) {\n throw new Error(\"Font filename must be specified.\");\n }\n const url = `${this.baseUrl}${filename}`;\n return this._fetchData(url).catch(reason => {\n throw new Error(`Unable to load font data at: ${url}`);\n });\n }\n _fetchData(url) {\n (0, _util.unreachable)(\"Abstract method `_fetchData` called.\");\n }\n}\nexports.BaseStandardFontDataFactory = BaseStandardFontDataFactory;\nclass BaseSVGFactory {\n constructor() {\n if (this.constructor === BaseSVGFactory) {\n (0, _util.unreachable)(\"Cannot initialize BaseSVGFactory.\");\n }\n }\n create(width, height, skipDimensions = false) {\n if (width <= 0 || height <= 0) {\n throw new Error(\"Invalid SVG dimensions\");\n }\n const svg = this._createSVG(\"svg:svg\");\n svg.setAttribute(\"version\", \"1.1\");\n if (!skipDimensions) {\n svg.setAttribute(\"width\", `${width}px`);\n svg.setAttribute(\"height\", `${height}px`);\n }\n svg.setAttribute(\"preserveAspectRatio\", \"none\");\n svg.setAttribute(\"viewBox\", `0 0 ${width} ${height}`);\n return svg;\n }\n createElement(type) {\n if (typeof type !== \"string\") {\n throw new Error(\"Invalid SVG element type\");\n }\n return this._createSVG(type);\n }\n _createSVG(type) {\n (0, _util.unreachable)(\"Abstract method `_createSVG` called.\");\n }\n}\nexports.BaseSVGFactory = BaseSVGFactory;\n\n/***/ }),\n/* 8 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.MurmurHash3_64 = void 0;\nvar _util = __w_pdfjs_require__(1);\nconst SEED = 0xc3d2e1f0;\nconst MASK_HIGH = 0xffff0000;\nconst MASK_LOW = 0xffff;\nclass MurmurHash3_64 {\n constructor(seed) {\n this.h1 = seed ? seed & 0xffffffff : SEED;\n this.h2 = seed ? seed & 0xffffffff : SEED;\n }\n update(input) {\n let data, length;\n if (typeof input === \"string\") {\n data = new Uint8Array(input.length * 2);\n length = 0;\n for (let i = 0, ii = input.length; i < ii; i++) {\n const code = input.charCodeAt(i);\n if (code <= 0xff) {\n data[length++] = code;\n } else {\n data[length++] = code >>> 8;\n data[length++] = code & 0xff;\n }\n }\n } else if ((0, _util.isArrayBuffer)(input)) {\n data = input.slice();\n length = data.byteLength;\n } else {\n throw new Error(\"Wrong data format in MurmurHash3_64_update. \" + \"Input must be a string or array.\");\n }\n const blockCounts = length >> 2;\n const tailLength = length - blockCounts * 4;\n const dataUint32 = new Uint32Array(data.buffer, 0, blockCounts);\n let k1 = 0,\n k2 = 0;\n let h1 = this.h1,\n h2 = this.h2;\n const C1 = 0xcc9e2d51,\n C2 = 0x1b873593;\n const C1_LOW = C1 & MASK_LOW,\n C2_LOW = C2 & MASK_LOW;\n for (let i = 0; i < blockCounts; i++) {\n if (i & 1) {\n k1 = dataUint32[i];\n k1 = k1 * C1 & MASK_HIGH | k1 * C1_LOW & MASK_LOW;\n k1 = k1 << 15 | k1 >>> 17;\n k1 = k1 * C2 & MASK_HIGH | k1 * C2_LOW & MASK_LOW;\n h1 ^= k1;\n h1 = h1 << 13 | h1 >>> 19;\n h1 = h1 * 5 + 0xe6546b64;\n } else {\n k2 = dataUint32[i];\n k2 = k2 * C1 & MASK_HIGH | k2 * C1_LOW & MASK_LOW;\n k2 = k2 << 15 | k2 >>> 17;\n k2 = k2 * C2 & MASK_HIGH | k2 * C2_LOW & MASK_LOW;\n h2 ^= k2;\n h2 = h2 << 13 | h2 >>> 19;\n h2 = h2 * 5 + 0xe6546b64;\n }\n }\n k1 = 0;\n switch (tailLength) {\n case 3:\n k1 ^= data[blockCounts * 4 + 2] << 16;\n case 2:\n k1 ^= data[blockCounts * 4 + 1] << 8;\n case 1:\n k1 ^= data[blockCounts * 4];\n k1 = k1 * C1 & MASK_HIGH | k1 * C1_LOW & MASK_LOW;\n k1 = k1 << 15 | k1 >>> 17;\n k1 = k1 * C2 & MASK_HIGH | k1 * C2_LOW & MASK_LOW;\n if (blockCounts & 1) {\n h1 ^= k1;\n } else {\n h2 ^= k1;\n }\n }\n this.h1 = h1;\n this.h2 = h2;\n }\n hexdigest() {\n let h1 = this.h1,\n h2 = this.h2;\n h1 ^= h2 >>> 1;\n h1 = h1 * 0xed558ccd & MASK_HIGH | h1 * 0x8ccd & MASK_LOW;\n h2 = h2 * 0xff51afd7 & MASK_HIGH | ((h2 << 16 | h1 >>> 16) * 0xafd7ed55 & MASK_HIGH) >>> 16;\n h1 ^= h2 >>> 1;\n h1 = h1 * 0x1a85ec53 & MASK_HIGH | h1 * 0xec53 & MASK_LOW;\n h2 = h2 * 0xc4ceb9fe & MASK_HIGH | ((h2 << 16 | h1 >>> 16) * 0xb9fe1a85 & MASK_HIGH) >>> 16;\n h1 ^= h2 >>> 1;\n return (h1 >>> 0).toString(16).padStart(8, \"0\") + (h2 >>> 0).toString(16).padStart(8, \"0\");\n }\n}\nexports.MurmurHash3_64 = MurmurHash3_64;\n\n/***/ }),\n/* 9 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.FontLoader = exports.FontFaceObject = void 0;\nvar _util = __w_pdfjs_require__(1);\nvar _is_node = __w_pdfjs_require__(10);\nclass FontLoader {\n constructor({\n ownerDocument = globalThis.document,\n styleElement = null\n }) {\n this._document = ownerDocument;\n this.nativeFontFaces = [];\n this.styleElement = null;\n this.loadingRequests = [];\n this.loadTestFontId = 0;\n }\n addNativeFontFace(nativeFontFace) {\n this.nativeFontFaces.push(nativeFontFace);\n this._document.fonts.add(nativeFontFace);\n }\n insertRule(rule) {\n if (!this.styleElement) {\n this.styleElement = this._document.createElement(\"style\");\n this._document.documentElement.getElementsByTagName(\"head\")[0].append(this.styleElement);\n }\n const styleSheet = this.styleElement.sheet;\n styleSheet.insertRule(rule, styleSheet.cssRules.length);\n }\n clear() {\n for (const nativeFontFace of this.nativeFontFaces) {\n this._document.fonts.delete(nativeFontFace);\n }\n this.nativeFontFaces.length = 0;\n if (this.styleElement) {\n this.styleElement.remove();\n this.styleElement = null;\n }\n }\n async bind(font) {\n if (font.attached || font.missingFile) {\n return;\n }\n font.attached = true;\n if (this.isFontLoadingAPISupported) {\n const nativeFontFace = font.createNativeFontFace();\n if (nativeFontFace) {\n this.addNativeFontFace(nativeFontFace);\n try {\n await nativeFontFace.loaded;\n } catch (ex) {\n (0, _util.warn)(`Failed to load font '${nativeFontFace.family}': '${ex}'.`);\n font.disableFontFace = true;\n throw ex;\n }\n }\n return;\n }\n const rule = font.createFontFaceRule();\n if (rule) {\n this.insertRule(rule);\n if (this.isSyncFontLoadingSupported) {\n return;\n }\n await new Promise(resolve => {\n const request = this._queueLoadingCallback(resolve);\n this._prepareFontLoadEvent(font, request);\n });\n }\n }\n get isFontLoadingAPISupported() {\n const hasFonts = !!this._document?.fonts;\n return (0, _util.shadow)(this, \"isFontLoadingAPISupported\", hasFonts);\n }\n get isSyncFontLoadingSupported() {\n let supported = false;\n if (_is_node.isNodeJS) {\n supported = true;\n } else if (typeof navigator !== \"undefined\" && /Mozilla\\/5.0.*?rv:\\d+.*? Gecko/.test(navigator.userAgent)) {\n supported = true;\n }\n return (0, _util.shadow)(this, \"isSyncFontLoadingSupported\", supported);\n }\n _queueLoadingCallback(callback) {\n function completeRequest() {\n (0, _util.assert)(!request.done, \"completeRequest() cannot be called twice.\");\n request.done = true;\n while (loadingRequests.length > 0 && loadingRequests[0].done) {\n const otherRequest = loadingRequests.shift();\n setTimeout(otherRequest.callback, 0);\n }\n }\n const {\n loadingRequests\n } = this;\n const request = {\n done: false,\n complete: completeRequest,\n callback\n };\n loadingRequests.push(request);\n return request;\n }\n get _loadTestFont() {\n 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==\");\n return (0, _util.shadow)(this, \"_loadTestFont\", testFont);\n }\n _prepareFontLoadEvent(font, request) {\n function int32(data, offset) {\n return data.charCodeAt(offset) << 24 | data.charCodeAt(offset + 1) << 16 | data.charCodeAt(offset + 2) << 8 | data.charCodeAt(offset + 3) & 0xff;\n }\n function spliceString(s, offset, remove, insert) {\n const chunk1 = s.substring(0, offset);\n const chunk2 = s.substring(offset + remove);\n return chunk1 + insert + chunk2;\n }\n let i, ii;\n const canvas = this._document.createElement(\"canvas\");\n canvas.width = 1;\n canvas.height = 1;\n const ctx = canvas.getContext(\"2d\");\n let called = 0;\n function isFontReady(name, callback) {\n if (++called > 30) {\n (0, _util.warn)(\"Load test font never loaded.\");\n callback();\n return;\n }\n ctx.font = \"30px \" + name;\n ctx.fillText(\".\", 0, 20);\n const imageData = ctx.getImageData(0, 0, 1, 1);\n if (imageData.data[3] > 0) {\n callback();\n return;\n }\n setTimeout(isFontReady.bind(null, name, callback));\n }\n const loadTestFontId = `lt${Date.now()}${this.loadTestFontId++}`;\n let data = this._loadTestFont;\n const COMMENT_OFFSET = 976;\n data = spliceString(data, COMMENT_OFFSET, loadTestFontId.length, loadTestFontId);\n const CFF_CHECKSUM_OFFSET = 16;\n const XXXX_VALUE = 0x58585858;\n let checksum = int32(data, CFF_CHECKSUM_OFFSET);\n for (i = 0, ii = loadTestFontId.length - 3; i < ii; i += 4) {\n checksum = checksum - XXXX_VALUE + int32(loadTestFontId, i) | 0;\n }\n if (i < loadTestFontId.length) {\n checksum = checksum - XXXX_VALUE + int32(loadTestFontId + \"XXX\", i) | 0;\n }\n data = spliceString(data, CFF_CHECKSUM_OFFSET, 4, (0, _util.string32)(checksum));\n const url = `url(data:font/opentype;base64,${btoa(data)});`;\n const rule = `@font-face {font-family:\"${loadTestFontId}\";src:${url}}`;\n this.insertRule(rule);\n const div = this._document.createElement(\"div\");\n div.style.visibility = \"hidden\";\n div.style.width = div.style.height = \"10px\";\n div.style.position = \"absolute\";\n div.style.top = div.style.left = \"0px\";\n for (const name of [font.loadedName, loadTestFontId]) {\n const span = this._document.createElement(\"span\");\n span.textContent = \"Hi\";\n span.style.fontFamily = name;\n div.append(span);\n }\n this._document.body.append(div);\n isFontReady(loadTestFontId, () => {\n div.remove();\n request.complete();\n });\n }\n}\nexports.FontLoader = FontLoader;\nclass FontFaceObject {\n constructor(translatedData, {\n isEvalSupported = true,\n disableFontFace = false,\n ignoreErrors = false,\n inspectFont = null\n }) {\n this.compiledGlyphs = Object.create(null);\n for (const i in translatedData) {\n this[i] = translatedData[i];\n }\n this.isEvalSupported = isEvalSupported !== false;\n this.disableFontFace = disableFontFace === true;\n this.ignoreErrors = ignoreErrors === true;\n this._inspectFont = inspectFont;\n }\n createNativeFontFace() {\n if (!this.data || this.disableFontFace) {\n return null;\n }\n let nativeFontFace;\n if (!this.cssFontInfo) {\n nativeFontFace = new FontFace(this.loadedName, this.data, {});\n } else {\n const css = {\n weight: this.cssFontInfo.fontWeight\n };\n if (this.cssFontInfo.italicAngle) {\n css.style = `oblique ${this.cssFontInfo.italicAngle}deg`;\n }\n nativeFontFace = new FontFace(this.cssFontInfo.fontFamily, this.data, css);\n }\n this._inspectFont?.(this);\n return nativeFontFace;\n }\n createFontFaceRule() {\n if (!this.data || this.disableFontFace) {\n return null;\n }\n const data = (0, _util.bytesToString)(this.data);\n const url = `url(data:${this.mimetype};base64,${btoa(data)});`;\n let rule;\n if (!this.cssFontInfo) {\n rule = `@font-face {font-family:\"${this.loadedName}\";src:${url}}`;\n } else {\n let css = `font-weight: ${this.cssFontInfo.fontWeight};`;\n if (this.cssFontInfo.italicAngle) {\n css += `font-style: oblique ${this.cssFontInfo.italicAngle}deg;`;\n }\n rule = `@font-face {font-family:\"${this.cssFontInfo.fontFamily}\";${css}src:${url}}`;\n }\n this._inspectFont?.(this, url);\n return rule;\n }\n getPathGenerator(objs, character) {\n if (this.compiledGlyphs[character] !== undefined) {\n return this.compiledGlyphs[character];\n }\n let cmds;\n try {\n cmds = objs.get(this.loadedName + \"_path_\" + character);\n } catch (ex) {\n if (!this.ignoreErrors) {\n throw ex;\n }\n (0, _util.warn)(`getPathGenerator - ignoring character: \"${ex}\".`);\n return this.compiledGlyphs[character] = function (c, size) {};\n }\n if (this.isEvalSupported && _util.FeatureTest.isEvalSupported) {\n const jsBuf = [];\n for (const current of cmds) {\n const args = current.args !== undefined ? current.args.join(\",\") : \"\";\n jsBuf.push(\"c.\", current.cmd, \"(\", args, \");\\n\");\n }\n return this.compiledGlyphs[character] = new Function(\"c\", \"size\", jsBuf.join(\"\"));\n }\n return this.compiledGlyphs[character] = function (c, size) {\n for (const current of cmds) {\n if (current.cmd === \"scale\") {\n current.args = [size, -size];\n }\n c[current.cmd].apply(c, current.args);\n }\n };\n }\n}\nexports.FontFaceObject = FontFaceObject;\n\n/***/ }),\n/* 10 */\n/***/ ((__unused_webpack_module, exports) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.isNodeJS = void 0;\nconst isNodeJS = typeof process === \"object\" && process + \"\" === \"[object process]\" && !process.versions.nw && !(process.versions.electron && process.type && process.type !== \"browser\");\nexports.isNodeJS = isNodeJS;\n\n/***/ }),\n/* 11 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.CanvasGraphics = void 0;\nvar _util = __w_pdfjs_require__(1);\nvar _display_utils = __w_pdfjs_require__(6);\nvar _pattern_helper = __w_pdfjs_require__(12);\nvar _image_utils = __w_pdfjs_require__(13);\nvar _is_node = __w_pdfjs_require__(10);\nconst MIN_FONT_SIZE = 16;\nconst MAX_FONT_SIZE = 100;\nconst MAX_GROUP_SIZE = 4096;\nconst EXECUTION_TIME = 15;\nconst EXECUTION_STEPS = 10;\nconst MAX_SIZE_TO_COMPILE = 1000;\nconst FULL_CHUNK_HEIGHT = 16;\nfunction mirrorContextOperations(ctx, destCtx) {\n if (ctx._removeMirroring) {\n throw new Error(\"Context is already forwarding operations.\");\n }\n ctx.__originalSave = ctx.save;\n ctx.__originalRestore = ctx.restore;\n ctx.__originalRotate = ctx.rotate;\n ctx.__originalScale = ctx.scale;\n ctx.__originalTranslate = ctx.translate;\n ctx.__originalTransform = ctx.transform;\n ctx.__originalSetTransform = ctx.setTransform;\n ctx.__originalResetTransform = ctx.resetTransform;\n ctx.__originalClip = ctx.clip;\n ctx.__originalMoveTo = ctx.moveTo;\n ctx.__originalLineTo = ctx.lineTo;\n ctx.__originalBezierCurveTo = ctx.bezierCurveTo;\n ctx.__originalRect = ctx.rect;\n ctx.__originalClosePath = ctx.closePath;\n ctx.__originalBeginPath = ctx.beginPath;\n ctx._removeMirroring = () => {\n ctx.save = ctx.__originalSave;\n ctx.restore = ctx.__originalRestore;\n ctx.rotate = ctx.__originalRotate;\n ctx.scale = ctx.__originalScale;\n ctx.translate = ctx.__originalTranslate;\n ctx.transform = ctx.__originalTransform;\n ctx.setTransform = ctx.__originalSetTransform;\n ctx.resetTransform = ctx.__originalResetTransform;\n ctx.clip = ctx.__originalClip;\n ctx.moveTo = ctx.__originalMoveTo;\n ctx.lineTo = ctx.__originalLineTo;\n ctx.bezierCurveTo = ctx.__originalBezierCurveTo;\n ctx.rect = ctx.__originalRect;\n ctx.closePath = ctx.__originalClosePath;\n ctx.beginPath = ctx.__originalBeginPath;\n delete ctx._removeMirroring;\n };\n ctx.save = function ctxSave() {\n destCtx.save();\n this.__originalSave();\n };\n ctx.restore = function ctxRestore() {\n destCtx.restore();\n this.__originalRestore();\n };\n ctx.translate = function ctxTranslate(x, y) {\n destCtx.translate(x, y);\n this.__originalTranslate(x, y);\n };\n ctx.scale = function ctxScale(x, y) {\n destCtx.scale(x, y);\n this.__originalScale(x, y);\n };\n ctx.transform = function ctxTransform(a, b, c, d, e, f) {\n destCtx.transform(a, b, c, d, e, f);\n this.__originalTransform(a, b, c, d, e, f);\n };\n ctx.setTransform = function ctxSetTransform(a, b, c, d, e, f) {\n destCtx.setTransform(a, b, c, d, e, f);\n this.__originalSetTransform(a, b, c, d, e, f);\n };\n ctx.resetTransform = function ctxResetTransform() {\n destCtx.resetTransform();\n this.__originalResetTransform();\n };\n ctx.rotate = function ctxRotate(angle) {\n destCtx.rotate(angle);\n this.__originalRotate(angle);\n };\n ctx.clip = function ctxRotate(rule) {\n destCtx.clip(rule);\n this.__originalClip(rule);\n };\n ctx.moveTo = function (x, y) {\n destCtx.moveTo(x, y);\n this.__originalMoveTo(x, y);\n };\n ctx.lineTo = function (x, y) {\n destCtx.lineTo(x, y);\n this.__originalLineTo(x, y);\n };\n ctx.bezierCurveTo = function (cp1x, cp1y, cp2x, cp2y, x, y) {\n destCtx.bezierCurveTo(cp1x, cp1y, cp2x, cp2y, x, y);\n this.__originalBezierCurveTo(cp1x, cp1y, cp2x, cp2y, x, y);\n };\n ctx.rect = function (x, y, width, height) {\n destCtx.rect(x, y, width, height);\n this.__originalRect(x, y, width, height);\n };\n ctx.closePath = function () {\n destCtx.closePath();\n this.__originalClosePath();\n };\n ctx.beginPath = function () {\n destCtx.beginPath();\n this.__originalBeginPath();\n };\n}\nclass CachedCanvases {\n constructor(canvasFactory) {\n this.canvasFactory = canvasFactory;\n this.cache = Object.create(null);\n }\n getCanvas(id, width, height) {\n let canvasEntry;\n if (this.cache[id] !== undefined) {\n canvasEntry = this.cache[id];\n this.canvasFactory.reset(canvasEntry, width, height);\n } else {\n canvasEntry = this.canvasFactory.create(width, height);\n this.cache[id] = canvasEntry;\n }\n return canvasEntry;\n }\n delete(id) {\n delete this.cache[id];\n }\n clear() {\n for (const id in this.cache) {\n const canvasEntry = this.cache[id];\n this.canvasFactory.destroy(canvasEntry);\n delete this.cache[id];\n }\n }\n}\nfunction drawImageAtIntegerCoords(ctx, srcImg, srcX, srcY, srcW, srcH, destX, destY, destW, destH) {\n const [a, b, c, d, tx, ty] = (0, _display_utils.getCurrentTransform)(ctx);\n if (b === 0 && c === 0) {\n const tlX = destX * a + tx;\n const rTlX = Math.round(tlX);\n const tlY = destY * d + ty;\n const rTlY = Math.round(tlY);\n const brX = (destX + destW) * a + tx;\n const rWidth = Math.abs(Math.round(brX) - rTlX) || 1;\n const brY = (destY + destH) * d + ty;\n const rHeight = Math.abs(Math.round(brY) - rTlY) || 1;\n ctx.setTransform(Math.sign(a), 0, 0, Math.sign(d), rTlX, rTlY);\n ctx.drawImage(srcImg, srcX, srcY, srcW, srcH, 0, 0, rWidth, rHeight);\n ctx.setTransform(a, b, c, d, tx, ty);\n return [rWidth, rHeight];\n }\n if (a === 0 && d === 0) {\n const tlX = destY * c + tx;\n const rTlX = Math.round(tlX);\n const tlY = destX * b + ty;\n const rTlY = Math.round(tlY);\n const brX = (destY + destH) * c + tx;\n const rWidth = Math.abs(Math.round(brX) - rTlX) || 1;\n const brY = (destX + destW) * b + ty;\n const rHeight = Math.abs(Math.round(brY) - rTlY) || 1;\n ctx.setTransform(0, Math.sign(b), Math.sign(c), 0, rTlX, rTlY);\n ctx.drawImage(srcImg, srcX, srcY, srcW, srcH, 0, 0, rHeight, rWidth);\n ctx.setTransform(a, b, c, d, tx, ty);\n return [rHeight, rWidth];\n }\n ctx.drawImage(srcImg, srcX, srcY, srcW, srcH, destX, destY, destW, destH);\n const scaleX = Math.hypot(a, b);\n const scaleY = Math.hypot(c, d);\n return [scaleX * destW, scaleY * destH];\n}\nfunction compileType3Glyph(imgData) {\n const {\n width,\n height\n } = imgData;\n if (width > MAX_SIZE_TO_COMPILE || height > MAX_SIZE_TO_COMPILE) {\n return null;\n }\n const POINT_TO_PROCESS_LIMIT = 1000;\n const POINT_TYPES = new Uint8Array([0, 2, 4, 0, 1, 0, 5, 4, 8, 10, 0, 8, 0, 2, 1, 0]);\n const width1 = width + 1;\n let points = new Uint8Array(width1 * (height + 1));\n let i, j, j0;\n const lineSize = width + 7 & ~7;\n let data = new Uint8Array(lineSize * height),\n pos = 0;\n for (const elem of imgData.data) {\n let mask = 128;\n while (mask > 0) {\n data[pos++] = elem & mask ? 0 : 255;\n mask >>= 1;\n }\n }\n let count = 0;\n pos = 0;\n if (data[pos] !== 0) {\n points[0] = 1;\n ++count;\n }\n for (j = 1; j < width; j++) {\n if (data[pos] !== data[pos + 1]) {\n points[j] = data[pos] ? 2 : 1;\n ++count;\n }\n pos++;\n }\n if (data[pos] !== 0) {\n points[j] = 2;\n ++count;\n }\n for (i = 1; i < height; i++) {\n pos = i * lineSize;\n j0 = i * width1;\n if (data[pos - lineSize] !== data[pos]) {\n points[j0] = data[pos] ? 1 : 8;\n ++count;\n }\n let sum = (data[pos] ? 4 : 0) + (data[pos - lineSize] ? 8 : 0);\n for (j = 1; j < width; j++) {\n sum = (sum >> 2) + (data[pos + 1] ? 4 : 0) + (data[pos - lineSize + 1] ? 8 : 0);\n if (POINT_TYPES[sum]) {\n points[j0 + j] = POINT_TYPES[sum];\n ++count;\n }\n pos++;\n }\n if (data[pos - lineSize] !== data[pos]) {\n points[j0 + j] = data[pos] ? 2 : 4;\n ++count;\n }\n if (count > POINT_TO_PROCESS_LIMIT) {\n return null;\n }\n }\n pos = lineSize * (height - 1);\n j0 = i * width1;\n if (data[pos] !== 0) {\n points[j0] = 8;\n ++count;\n }\n for (j = 1; j < width; j++) {\n if (data[pos] !== data[pos + 1]) {\n points[j0 + j] = data[pos] ? 4 : 8;\n ++count;\n }\n pos++;\n }\n if (data[pos] !== 0) {\n points[j0 + j] = 4;\n ++count;\n }\n if (count > POINT_TO_PROCESS_LIMIT) {\n return null;\n }\n const steps = new Int32Array([0, width1, -1, 0, -width1, 0, 0, 0, 1]);\n const path = new Path2D();\n for (i = 0; count && i <= height; i++) {\n let p = i * width1;\n const end = p + width;\n while (p < end && !points[p]) {\n p++;\n }\n if (p === end) {\n continue;\n }\n path.moveTo(p % width1, i);\n const p0 = p;\n let type = points[p];\n do {\n const step = steps[type];\n do {\n p += step;\n } while (!points[p]);\n const pp = points[p];\n if (pp !== 5 && pp !== 10) {\n type = pp;\n points[p] = 0;\n } else {\n type = pp & 0x33 * type >> 4;\n points[p] &= type >> 2 | type << 2;\n }\n path.lineTo(p % width1, p / width1 | 0);\n if (!points[p]) {\n --count;\n }\n } while (p0 !== p);\n --i;\n }\n data = null;\n points = null;\n const drawOutline = function (c) {\n c.save();\n c.scale(1 / width, -1 / height);\n c.translate(0, -height);\n c.fill(path);\n c.beginPath();\n c.restore();\n };\n return drawOutline;\n}\nclass CanvasExtraState {\n constructor(width, height) {\n this.alphaIsShape = false;\n this.fontSize = 0;\n this.fontSizeScale = 1;\n this.textMatrix = _util.IDENTITY_MATRIX;\n this.textMatrixScale = 1;\n this.fontMatrix = _util.FONT_IDENTITY_MATRIX;\n this.leading = 0;\n this.x = 0;\n this.y = 0;\n this.lineX = 0;\n this.lineY = 0;\n this.charSpacing = 0;\n this.wordSpacing = 0;\n this.textHScale = 1;\n this.textRenderingMode = _util.TextRenderingMode.FILL;\n this.textRise = 0;\n this.fillColor = \"#000000\";\n this.strokeColor = \"#000000\";\n this.patternFill = false;\n this.fillAlpha = 1;\n this.strokeAlpha = 1;\n this.lineWidth = 1;\n this.activeSMask = null;\n this.transferMaps = \"none\";\n this.startNewPathAndClipBox([0, 0, width, height]);\n }\n clone() {\n const clone = Object.create(this);\n clone.clipBox = this.clipBox.slice();\n return clone;\n }\n setCurrentPoint(x, y) {\n this.x = x;\n this.y = y;\n }\n updatePathMinMax(transform, x, y) {\n [x, y] = _util.Util.applyTransform([x, y], transform);\n this.minX = Math.min(this.minX, x);\n this.minY = Math.min(this.minY, y);\n this.maxX = Math.max(this.maxX, x);\n this.maxY = Math.max(this.maxY, y);\n }\n updateRectMinMax(transform, rect) {\n const p1 = _util.Util.applyTransform(rect, transform);\n const p2 = _util.Util.applyTransform(rect.slice(2), transform);\n this.minX = Math.min(this.minX, p1[0], p2[0]);\n this.minY = Math.min(this.minY, p1[1], p2[1]);\n this.maxX = Math.max(this.maxX, p1[0], p2[0]);\n this.maxY = Math.max(this.maxY, p1[1], p2[1]);\n }\n updateScalingPathMinMax(transform, minMax) {\n _util.Util.scaleMinMax(transform, minMax);\n this.minX = Math.min(this.minX, minMax[0]);\n this.maxX = Math.max(this.maxX, minMax[1]);\n this.minY = Math.min(this.minY, minMax[2]);\n this.maxY = Math.max(this.maxY, minMax[3]);\n }\n updateCurvePathMinMax(transform, x0, y0, x1, y1, x2, y2, x3, y3, minMax) {\n const box = _util.Util.bezierBoundingBox(x0, y0, x1, y1, x2, y2, x3, y3);\n if (minMax) {\n minMax[0] = Math.min(minMax[0], box[0], box[2]);\n minMax[1] = Math.max(minMax[1], box[0], box[2]);\n minMax[2] = Math.min(minMax[2], box[1], box[3]);\n minMax[3] = Math.max(minMax[3], box[1], box[3]);\n return;\n }\n this.updateRectMinMax(transform, box);\n }\n getPathBoundingBox(pathType = _pattern_helper.PathType.FILL, transform = null) {\n const box = [this.minX, this.minY, this.maxX, this.maxY];\n if (pathType === _pattern_helper.PathType.STROKE) {\n if (!transform) {\n (0, _util.unreachable)(\"Stroke bounding box must include transform.\");\n }\n const scale = _util.Util.singularValueDecompose2dScale(transform);\n const xStrokePad = scale[0] * this.lineWidth / 2;\n const yStrokePad = scale[1] * this.lineWidth / 2;\n box[0] -= xStrokePad;\n box[1] -= yStrokePad;\n box[2] += xStrokePad;\n box[3] += yStrokePad;\n }\n return box;\n }\n updateClipFromPath() {\n const intersect = _util.Util.intersect(this.clipBox, this.getPathBoundingBox());\n this.startNewPathAndClipBox(intersect || [0, 0, 0, 0]);\n }\n isEmptyClip() {\n return this.minX === Infinity;\n }\n startNewPathAndClipBox(box) {\n this.clipBox = box;\n this.minX = Infinity;\n this.minY = Infinity;\n this.maxX = 0;\n this.maxY = 0;\n }\n getClippedPathBoundingBox(pathType = _pattern_helper.PathType.FILL, transform = null) {\n return _util.Util.intersect(this.clipBox, this.getPathBoundingBox(pathType, transform));\n }\n}\nfunction putBinaryImageData(ctx, imgData) {\n if (typeof ImageData !== \"undefined\" && imgData instanceof ImageData) {\n ctx.putImageData(imgData, 0, 0);\n return;\n }\n const height = imgData.height,\n width = imgData.width;\n const partialChunkHeight = height % FULL_CHUNK_HEIGHT;\n const fullChunks = (height - partialChunkHeight) / FULL_CHUNK_HEIGHT;\n const totalChunks = partialChunkHeight === 0 ? fullChunks : fullChunks + 1;\n const chunkImgData = ctx.createImageData(width, FULL_CHUNK_HEIGHT);\n let srcPos = 0,\n destPos;\n const src = imgData.data;\n const dest = chunkImgData.data;\n let i, j, thisChunkHeight, elemsInThisChunk;\n if (imgData.kind === _util.ImageKind.GRAYSCALE_1BPP) {\n const srcLength = src.byteLength;\n const dest32 = new Uint32Array(dest.buffer, 0, dest.byteLength >> 2);\n const dest32DataLength = dest32.length;\n const fullSrcDiff = width + 7 >> 3;\n const white = 0xffffffff;\n const black = _util.FeatureTest.isLittleEndian ? 0xff000000 : 0x000000ff;\n for (i = 0; i < totalChunks; i++) {\n thisChunkHeight = i < fullChunks ? FULL_CHUNK_HEIGHT : partialChunkHeight;\n destPos = 0;\n for (j = 0; j < thisChunkHeight; j++) {\n const srcDiff = srcLength - srcPos;\n let k = 0;\n const kEnd = srcDiff > fullSrcDiff ? width : srcDiff * 8 - 7;\n const kEndUnrolled = kEnd & ~7;\n let mask = 0;\n let srcByte = 0;\n for (; k < kEndUnrolled; k += 8) {\n srcByte = src[srcPos++];\n dest32[destPos++] = srcByte & 128 ? white : black;\n dest32[destPos++] = srcByte & 64 ? white : black;\n dest32[destPos++] = srcByte & 32 ? white : black;\n dest32[destPos++] = srcByte & 16 ? white : black;\n dest32[destPos++] = srcByte & 8 ? white : black;\n dest32[destPos++] = srcByte & 4 ? white : black;\n dest32[destPos++] = srcByte & 2 ? white : black;\n dest32[destPos++] = srcByte & 1 ? white : black;\n }\n for (; k < kEnd; k++) {\n if (mask === 0) {\n srcByte = src[srcPos++];\n mask = 128;\n }\n dest32[destPos++] = srcByte & mask ? white : black;\n mask >>= 1;\n }\n }\n while (destPos < dest32DataLength) {\n dest32[destPos++] = 0;\n }\n ctx.putImageData(chunkImgData, 0, i * FULL_CHUNK_HEIGHT);\n }\n } else if (imgData.kind === _util.ImageKind.RGBA_32BPP) {\n j = 0;\n elemsInThisChunk = width * FULL_CHUNK_HEIGHT * 4;\n for (i = 0; i < fullChunks; i++) {\n dest.set(src.subarray(srcPos, srcPos + elemsInThisChunk));\n srcPos += elemsInThisChunk;\n ctx.putImageData(chunkImgData, 0, j);\n j += FULL_CHUNK_HEIGHT;\n }\n if (i < totalChunks) {\n elemsInThisChunk = width * partialChunkHeight * 4;\n dest.set(src.subarray(srcPos, srcPos + elemsInThisChunk));\n ctx.putImageData(chunkImgData, 0, j);\n }\n } else if (imgData.kind === _util.ImageKind.RGB_24BPP) {\n thisChunkHeight = FULL_CHUNK_HEIGHT;\n elemsInThisChunk = width * thisChunkHeight;\n for (i = 0; i < totalChunks; i++) {\n if (i >= fullChunks) {\n thisChunkHeight = partialChunkHeight;\n elemsInThisChunk = width * thisChunkHeight;\n }\n destPos = 0;\n for (j = elemsInThisChunk; j--;) {\n dest[destPos++] = src[srcPos++];\n dest[destPos++] = src[srcPos++];\n dest[destPos++] = src[srcPos++];\n dest[destPos++] = 255;\n }\n ctx.putImageData(chunkImgData, 0, i * FULL_CHUNK_HEIGHT);\n }\n } else {\n throw new Error(`bad image kind: ${imgData.kind}`);\n }\n}\nfunction putBinaryImageMask(ctx, imgData) {\n if (imgData.bitmap) {\n ctx.drawImage(imgData.bitmap, 0, 0);\n return;\n }\n const height = imgData.height,\n width = imgData.width;\n const partialChunkHeight = height % FULL_CHUNK_HEIGHT;\n const fullChunks = (height - partialChunkHeight) / FULL_CHUNK_HEIGHT;\n const totalChunks = partialChunkHeight === 0 ? fullChunks : fullChunks + 1;\n const chunkImgData = ctx.createImageData(width, FULL_CHUNK_HEIGHT);\n let srcPos = 0;\n const src = imgData.data;\n const dest = chunkImgData.data;\n for (let i = 0; i < totalChunks; i++) {\n const thisChunkHeight = i < fullChunks ? FULL_CHUNK_HEIGHT : partialChunkHeight;\n ({\n srcPos\n } = (0, _image_utils.convertBlackAndWhiteToRGBA)({\n src,\n srcPos,\n dest,\n width,\n height: thisChunkHeight,\n nonBlackColor: 0\n }));\n ctx.putImageData(chunkImgData, 0, i * FULL_CHUNK_HEIGHT);\n }\n}\nfunction copyCtxState(sourceCtx, destCtx) {\n const properties = [\"strokeStyle\", \"fillStyle\", \"fillRule\", \"globalAlpha\", \"lineWidth\", \"lineCap\", \"lineJoin\", \"miterLimit\", \"globalCompositeOperation\", \"font\", \"filter\"];\n for (const property of properties) {\n if (sourceCtx[property] !== undefined) {\n destCtx[property] = sourceCtx[property];\n }\n }\n if (sourceCtx.setLineDash !== undefined) {\n destCtx.setLineDash(sourceCtx.getLineDash());\n destCtx.lineDashOffset = sourceCtx.lineDashOffset;\n }\n}\nfunction resetCtxToDefault(ctx) {\n ctx.strokeStyle = ctx.fillStyle = \"#000000\";\n ctx.fillRule = \"nonzero\";\n ctx.globalAlpha = 1;\n ctx.lineWidth = 1;\n ctx.lineCap = \"butt\";\n ctx.lineJoin = \"miter\";\n ctx.miterLimit = 10;\n ctx.globalCompositeOperation = \"source-over\";\n ctx.font = \"10px sans-serif\";\n if (ctx.setLineDash !== undefined) {\n ctx.setLineDash([]);\n ctx.lineDashOffset = 0;\n }\n if (!_is_node.isNodeJS) {\n ctx.filter = \"none\";\n }\n}\nfunction composeSMaskBackdrop(bytes, r0, g0, b0) {\n const length = bytes.length;\n for (let i = 3; i < length; i += 4) {\n const alpha = bytes[i];\n if (alpha === 0) {\n bytes[i - 3] = r0;\n bytes[i - 2] = g0;\n bytes[i - 1] = b0;\n } else if (alpha < 255) {\n const alpha_ = 255 - alpha;\n bytes[i - 3] = bytes[i - 3] * alpha + r0 * alpha_ >> 8;\n bytes[i - 2] = bytes[i - 2] * alpha + g0 * alpha_ >> 8;\n bytes[i - 1] = bytes[i - 1] * alpha + b0 * alpha_ >> 8;\n }\n }\n}\nfunction composeSMaskAlpha(maskData, layerData, transferMap) {\n const length = maskData.length;\n const scale = 1 / 255;\n for (let i = 3; i < length; i += 4) {\n const alpha = transferMap ? transferMap[maskData[i]] : maskData[i];\n layerData[i] = layerData[i] * alpha * scale | 0;\n }\n}\nfunction composeSMaskLuminosity(maskData, layerData, transferMap) {\n const length = maskData.length;\n for (let i = 3; i < length; i += 4) {\n const y = maskData[i - 3] * 77 + maskData[i - 2] * 152 + maskData[i - 1] * 28;\n layerData[i] = transferMap ? layerData[i] * transferMap[y >> 8] >> 8 : layerData[i] * y >> 16;\n }\n}\nfunction genericComposeSMask(maskCtx, layerCtx, width, height, subtype, backdrop, transferMap, layerOffsetX, layerOffsetY, maskOffsetX, maskOffsetY) {\n const hasBackdrop = !!backdrop;\n const r0 = hasBackdrop ? backdrop[0] : 0;\n const g0 = hasBackdrop ? backdrop[1] : 0;\n const b0 = hasBackdrop ? backdrop[2] : 0;\n let composeFn;\n if (subtype === \"Luminosity\") {\n composeFn = composeSMaskLuminosity;\n } else {\n composeFn = composeSMaskAlpha;\n }\n const PIXELS_TO_PROCESS = 1048576;\n const chunkSize = Math.min(height, Math.ceil(PIXELS_TO_PROCESS / width));\n for (let row = 0; row < height; row += chunkSize) {\n const chunkHeight = Math.min(chunkSize, height - row);\n const maskData = maskCtx.getImageData(layerOffsetX - maskOffsetX, row + (layerOffsetY - maskOffsetY), width, chunkHeight);\n const layerData = layerCtx.getImageData(layerOffsetX, row + layerOffsetY, width, chunkHeight);\n if (hasBackdrop) {\n composeSMaskBackdrop(maskData.data, r0, g0, b0);\n }\n composeFn(maskData.data, layerData.data, transferMap);\n layerCtx.putImageData(layerData, layerOffsetX, row + layerOffsetY);\n }\n}\nfunction composeSMask(ctx, smask, layerCtx, layerBox) {\n const layerOffsetX = layerBox[0];\n const layerOffsetY = layerBox[1];\n const layerWidth = layerBox[2] - layerOffsetX;\n const layerHeight = layerBox[3] - layerOffsetY;\n if (layerWidth === 0 || layerHeight === 0) {\n return;\n }\n genericComposeSMask(smask.context, layerCtx, layerWidth, layerHeight, smask.subtype, smask.backdrop, smask.transferMap, layerOffsetX, layerOffsetY, smask.offsetX, smask.offsetY);\n ctx.save();\n ctx.globalAlpha = 1;\n ctx.globalCompositeOperation = \"source-over\";\n ctx.setTransform(1, 0, 0, 1, 0, 0);\n ctx.drawImage(layerCtx.canvas, 0, 0);\n ctx.restore();\n}\nfunction getImageSmoothingEnabled(transform, interpolate) {\n const scale = _util.Util.singularValueDecompose2dScale(transform);\n scale[0] = Math.fround(scale[0]);\n scale[1] = Math.fround(scale[1]);\n const actualScale = Math.fround((globalThis.devicePixelRatio || 1) * _display_utils.PixelsPerInch.PDF_TO_CSS_UNITS);\n if (interpolate !== undefined) {\n return interpolate;\n } else if (scale[0] <= actualScale || scale[1] <= actualScale) {\n return true;\n }\n return false;\n}\nconst LINE_CAP_STYLES = [\"butt\", \"round\", \"square\"];\nconst LINE_JOIN_STYLES = [\"miter\", \"round\", \"bevel\"];\nconst NORMAL_CLIP = {};\nconst EO_CLIP = {};\nclass CanvasGraphics {\n constructor(canvasCtx, commonObjs, objs, canvasFactory, filterFactory, {\n optionalContentConfig,\n markedContentStack = null\n }, annotationCanvasMap, pageColors) {\n this.ctx = canvasCtx;\n this.current = new CanvasExtraState(this.ctx.canvas.width, this.ctx.canvas.height);\n this.stateStack = [];\n this.pendingClip = null;\n this.pendingEOFill = false;\n this.res = null;\n this.xobjs = null;\n this.commonObjs = commonObjs;\n this.objs = objs;\n this.canvasFactory = canvasFactory;\n this.filterFactory = filterFactory;\n this.groupStack = [];\n this.processingType3 = null;\n this.baseTransform = null;\n this.baseTransformStack = [];\n this.groupLevel = 0;\n this.smaskStack = [];\n this.smaskCounter = 0;\n this.tempSMask = null;\n this.suspendedCtx = null;\n this.contentVisible = true;\n this.markedContentStack = markedContentStack || [];\n this.optionalContentConfig = optionalContentConfig;\n this.cachedCanvases = new CachedCanvases(this.canvasFactory);\n this.cachedPatterns = new Map();\n this.annotationCanvasMap = annotationCanvasMap;\n this.viewportScale = 1;\n this.outputScaleX = 1;\n this.outputScaleY = 1;\n this.pageColors = pageColors;\n this._cachedScaleForStroking = null;\n this._cachedGetSinglePixelWidth = null;\n this._cachedBitmapsMap = new Map();\n }\n getObject(data, fallback = null) {\n if (typeof data === \"string\") {\n return data.startsWith(\"g_\") ? this.commonObjs.get(data) : this.objs.get(data);\n }\n return fallback;\n }\n beginDrawing({\n transform,\n viewport,\n transparency = false,\n background = null\n }) {\n const width = this.ctx.canvas.width;\n const height = this.ctx.canvas.height;\n const savedFillStyle = this.ctx.fillStyle;\n this.ctx.fillStyle = background || \"#ffffff\";\n this.ctx.fillRect(0, 0, width, height);\n this.ctx.fillStyle = savedFillStyle;\n if (transparency) {\n const transparentCanvas = this.cachedCanvases.getCanvas(\"transparent\", width, height);\n this.compositeCtx = this.ctx;\n this.transparentCanvas = transparentCanvas.canvas;\n this.ctx = transparentCanvas.context;\n this.ctx.save();\n this.ctx.transform(...(0, _display_utils.getCurrentTransform)(this.compositeCtx));\n }\n this.ctx.save();\n resetCtxToDefault(this.ctx);\n if (transform) {\n this.ctx.transform(...transform);\n this.outputScaleX = transform[0];\n this.outputScaleY = transform[0];\n }\n this.ctx.transform(...viewport.transform);\n this.viewportScale = viewport.scale;\n this.baseTransform = (0, _display_utils.getCurrentTransform)(this.ctx);\n }\n executeOperatorList(operatorList, executionStartIdx, continueCallback, stepper) {\n const argsArray = operatorList.argsArray;\n const fnArray = operatorList.fnArray;\n let i = executionStartIdx || 0;\n const argsArrayLen = argsArray.length;\n if (argsArrayLen === i) {\n return i;\n }\n const chunkOperations = argsArrayLen - i > EXECUTION_STEPS && typeof continueCallback === \"function\";\n const endTime = chunkOperations ? Date.now() + EXECUTION_TIME : 0;\n let steps = 0;\n const commonObjs = this.commonObjs;\n const objs = this.objs;\n let fnId;\n while (true) {\n if (stepper !== undefined && i === stepper.nextBreakPoint) {\n stepper.breakIt(i, continueCallback);\n return i;\n }\n fnId = fnArray[i];\n if (fnId !== _util.OPS.dependency) {\n this[fnId].apply(this, argsArray[i]);\n } else {\n for (const depObjId of argsArray[i]) {\n const objsPool = depObjId.startsWith(\"g_\") ? commonObjs : objs;\n if (!objsPool.has(depObjId)) {\n objsPool.get(depObjId, continueCallback);\n return i;\n }\n }\n }\n i++;\n if (i === argsArrayLen) {\n return i;\n }\n if (chunkOperations && ++steps > EXECUTION_STEPS) {\n if (Date.now() > endTime) {\n continueCallback();\n return i;\n }\n steps = 0;\n }\n }\n }\n #restoreInitialState() {\n while (this.stateStack.length || this.inSMaskMode) {\n this.restore();\n }\n this.ctx.restore();\n if (this.transparentCanvas) {\n this.ctx = this.compositeCtx;\n this.ctx.save();\n this.ctx.setTransform(1, 0, 0, 1, 0, 0);\n this.ctx.drawImage(this.transparentCanvas, 0, 0);\n this.ctx.restore();\n this.transparentCanvas = null;\n }\n }\n endDrawing() {\n this.#restoreInitialState();\n this.cachedCanvases.clear();\n this.cachedPatterns.clear();\n for (const cache of this._cachedBitmapsMap.values()) {\n for (const canvas of cache.values()) {\n if (typeof HTMLCanvasElement !== \"undefined\" && canvas instanceof HTMLCanvasElement) {\n canvas.width = canvas.height = 0;\n }\n }\n cache.clear();\n }\n this._cachedBitmapsMap.clear();\n this.#drawFilter();\n }\n #drawFilter() {\n if (this.pageColors) {\n const hcmFilterId = this.filterFactory.addHCMFilter(this.pageColors.foreground, this.pageColors.background);\n if (hcmFilterId !== \"none\") {\n const savedFilter = this.ctx.filter;\n this.ctx.filter = hcmFilterId;\n this.ctx.drawImage(this.ctx.canvas, 0, 0);\n this.ctx.filter = savedFilter;\n }\n }\n }\n _scaleImage(img, inverseTransform) {\n const width = img.width;\n const height = img.height;\n let widthScale = Math.max(Math.hypot(inverseTransform[0], inverseTransform[1]), 1);\n let heightScale = Math.max(Math.hypot(inverseTransform[2], inverseTransform[3]), 1);\n let paintWidth = width,\n paintHeight = height;\n let tmpCanvasId = \"prescale1\";\n let tmpCanvas, tmpCtx;\n while (widthScale > 2 && paintWidth > 1 || heightScale > 2 && paintHeight > 1) {\n let newWidth = paintWidth,\n newHeight = paintHeight;\n if (widthScale > 2 && paintWidth > 1) {\n newWidth = paintWidth >= 16384 ? Math.floor(paintWidth / 2) - 1 || 1 : Math.ceil(paintWidth / 2);\n widthScale /= paintWidth / newWidth;\n }\n if (heightScale > 2 && paintHeight > 1) {\n newHeight = paintHeight >= 16384 ? Math.floor(paintHeight / 2) - 1 || 1 : Math.ceil(paintHeight) / 2;\n heightScale /= paintHeight / newHeight;\n }\n tmpCanvas = this.cachedCanvases.getCanvas(tmpCanvasId, newWidth, newHeight);\n tmpCtx = tmpCanvas.context;\n tmpCtx.clearRect(0, 0, newWidth, newHeight);\n tmpCtx.drawImage(img, 0, 0, paintWidth, paintHeight, 0, 0, newWidth, newHeight);\n img = tmpCanvas.canvas;\n paintWidth = newWidth;\n paintHeight = newHeight;\n tmpCanvasId = tmpCanvasId === \"prescale1\" ? \"prescale2\" : \"prescale1\";\n }\n return {\n img,\n paintWidth,\n paintHeight\n };\n }\n _createMaskCanvas(img) {\n const ctx = this.ctx;\n const {\n width,\n height\n } = img;\n const fillColor = this.current.fillColor;\n const isPatternFill = this.current.patternFill;\n const currentTransform = (0, _display_utils.getCurrentTransform)(ctx);\n let cache, cacheKey, scaled, maskCanvas;\n if ((img.bitmap || img.data) && img.count > 1) {\n const mainKey = img.bitmap || img.data.buffer;\n cacheKey = JSON.stringify(isPatternFill ? currentTransform : [currentTransform.slice(0, 4), fillColor]);\n cache = this._cachedBitmapsMap.get(mainKey);\n if (!cache) {\n cache = new Map();\n this._cachedBitmapsMap.set(mainKey, cache);\n }\n const cachedImage = cache.get(cacheKey);\n if (cachedImage && !isPatternFill) {\n const offsetX = Math.round(Math.min(currentTransform[0], currentTransform[2]) + currentTransform[4]);\n const offsetY = Math.round(Math.min(currentTransform[1], currentTransform[3]) + currentTransform[5]);\n return {\n canvas: cachedImage,\n offsetX,\n offsetY\n };\n }\n scaled = cachedImage;\n }\n if (!scaled) {\n maskCanvas = this.cachedCanvases.getCanvas(\"maskCanvas\", width, height);\n putBinaryImageMask(maskCanvas.context, img);\n }\n let maskToCanvas = _util.Util.transform(currentTransform, [1 / width, 0, 0, -1 / height, 0, 0]);\n maskToCanvas = _util.Util.transform(maskToCanvas, [1, 0, 0, 1, 0, -height]);\n const cord1 = _util.Util.applyTransform([0, 0], maskToCanvas);\n const cord2 = _util.Util.applyTransform([width, height], maskToCanvas);\n const rect = _util.Util.normalizeRect([cord1[0], cord1[1], cord2[0], cord2[1]]);\n const drawnWidth = Math.round(rect[2] - rect[0]) || 1;\n const drawnHeight = Math.round(rect[3] - rect[1]) || 1;\n const fillCanvas = this.cachedCanvases.getCanvas(\"fillCanvas\", drawnWidth, drawnHeight);\n const fillCtx = fillCanvas.context;\n const offsetX = Math.min(cord1[0], cord2[0]);\n const offsetY = Math.min(cord1[1], cord2[1]);\n fillCtx.translate(-offsetX, -offsetY);\n fillCtx.transform(...maskToCanvas);\n if (!scaled) {\n scaled = this._scaleImage(maskCanvas.canvas, (0, _display_utils.getCurrentTransformInverse)(fillCtx));\n scaled = scaled.img;\n if (cache && isPatternFill) {\n cache.set(cacheKey, scaled);\n }\n }\n fillCtx.imageSmoothingEnabled = getImageSmoothingEnabled((0, _display_utils.getCurrentTransform)(fillCtx), img.interpolate);\n drawImageAtIntegerCoords(fillCtx, scaled, 0, 0, scaled.width, scaled.height, 0, 0, width, height);\n fillCtx.globalCompositeOperation = \"source-in\";\n const inverse = _util.Util.transform((0, _display_utils.getCurrentTransformInverse)(fillCtx), [1, 0, 0, 1, -offsetX, -offsetY]);\n fillCtx.fillStyle = isPatternFill ? fillColor.getPattern(ctx, this, inverse, _pattern_helper.PathType.FILL) : fillColor;\n fillCtx.fillRect(0, 0, width, height);\n if (cache && !isPatternFill) {\n this.cachedCanvases.delete(\"fillCanvas\");\n cache.set(cacheKey, fillCanvas.canvas);\n }\n return {\n canvas: fillCanvas.canvas,\n offsetX: Math.round(offsetX),\n offsetY: Math.round(offsetY)\n };\n }\n setLineWidth(width) {\n if (width !== this.current.lineWidth) {\n this._cachedScaleForStroking = null;\n }\n this.current.lineWidth = width;\n this.ctx.lineWidth = width;\n }\n setLineCap(style) {\n this.ctx.lineCap = LINE_CAP_STYLES[style];\n }\n setLineJoin(style) {\n this.ctx.lineJoin = LINE_JOIN_STYLES[style];\n }\n setMiterLimit(limit) {\n this.ctx.miterLimit = limit;\n }\n setDash(dashArray, dashPhase) {\n const ctx = this.ctx;\n if (ctx.setLineDash !== undefined) {\n ctx.setLineDash(dashArray);\n ctx.lineDashOffset = dashPhase;\n }\n }\n setRenderingIntent(intent) {}\n setFlatness(flatness) {}\n setGState(states) {\n for (const [key, value] of states) {\n switch (key) {\n case \"LW\":\n this.setLineWidth(value);\n break;\n case \"LC\":\n this.setLineCap(value);\n break;\n case \"LJ\":\n this.setLineJoin(value);\n break;\n case \"ML\":\n this.setMiterLimit(value);\n break;\n case \"D\":\n this.setDash(value[0], value[1]);\n break;\n case \"RI\":\n this.setRenderingIntent(value);\n break;\n case \"FL\":\n this.setFlatness(value);\n break;\n case \"Font\":\n this.setFont(value[0], value[1]);\n break;\n case \"CA\":\n this.current.strokeAlpha = value;\n break;\n case \"ca\":\n this.current.fillAlpha = value;\n this.ctx.globalAlpha = value;\n break;\n case \"BM\":\n this.ctx.globalCompositeOperation = value;\n break;\n case \"SMask\":\n this.current.activeSMask = value ? this.tempSMask : null;\n this.tempSMask = null;\n this.checkSMaskState();\n break;\n case \"TR\":\n this.ctx.filter = this.current.transferMaps = this.filterFactory.addFilter(value);\n break;\n }\n }\n }\n get inSMaskMode() {\n return !!this.suspendedCtx;\n }\n checkSMaskState() {\n const inSMaskMode = this.inSMaskMode;\n if (this.current.activeSMask && !inSMaskMode) {\n this.beginSMaskMode();\n } else if (!this.current.activeSMask && inSMaskMode) {\n this.endSMaskMode();\n }\n }\n beginSMaskMode() {\n if (this.inSMaskMode) {\n throw new Error(\"beginSMaskMode called while already in smask mode\");\n }\n const drawnWidth = this.ctx.canvas.width;\n const drawnHeight = this.ctx.canvas.height;\n const cacheId = \"smaskGroupAt\" + this.groupLevel;\n const scratchCanvas = this.cachedCanvases.getCanvas(cacheId, drawnWidth, drawnHeight);\n this.suspendedCtx = this.ctx;\n this.ctx = scratchCanvas.context;\n const ctx = this.ctx;\n ctx.setTransform(...(0, _display_utils.getCurrentTransform)(this.suspendedCtx));\n copyCtxState(this.suspendedCtx, ctx);\n mirrorContextOperations(ctx, this.suspendedCtx);\n this.setGState([[\"BM\", \"source-over\"], [\"ca\", 1], [\"CA\", 1]]);\n }\n endSMaskMode() {\n if (!this.inSMaskMode) {\n throw new Error(\"endSMaskMode called while not in smask mode\");\n }\n this.ctx._removeMirroring();\n copyCtxState(this.ctx, this.suspendedCtx);\n this.ctx = this.suspendedCtx;\n this.suspendedCtx = null;\n }\n compose(dirtyBox) {\n if (!this.current.activeSMask) {\n return;\n }\n if (!dirtyBox) {\n dirtyBox = [0, 0, this.ctx.canvas.width, this.ctx.canvas.height];\n } else {\n dirtyBox[0] = Math.floor(dirtyBox[0]);\n dirtyBox[1] = Math.floor(dirtyBox[1]);\n dirtyBox[2] = Math.ceil(dirtyBox[2]);\n dirtyBox[3] = Math.ceil(dirtyBox[3]);\n }\n const smask = this.current.activeSMask;\n const suspendedCtx = this.suspendedCtx;\n composeSMask(suspendedCtx, smask, this.ctx, dirtyBox);\n this.ctx.save();\n this.ctx.setTransform(1, 0, 0, 1, 0, 0);\n this.ctx.clearRect(0, 0, this.ctx.canvas.width, this.ctx.canvas.height);\n this.ctx.restore();\n }\n save() {\n if (this.inSMaskMode) {\n copyCtxState(this.ctx, this.suspendedCtx);\n this.suspendedCtx.save();\n } else {\n this.ctx.save();\n }\n const old = this.current;\n this.stateStack.push(old);\n this.current = old.clone();\n }\n restore() {\n if (this.stateStack.length === 0 && this.inSMaskMode) {\n this.endSMaskMode();\n }\n if (this.stateStack.length !== 0) {\n this.current = this.stateStack.pop();\n if (this.inSMaskMode) {\n this.suspendedCtx.restore();\n copyCtxState(this.suspendedCtx, this.ctx);\n } else {\n this.ctx.restore();\n }\n this.checkSMaskState();\n this.pendingClip = null;\n this._cachedScaleForStroking = null;\n this._cachedGetSinglePixelWidth = null;\n }\n }\n transform(a, b, c, d, e, f) {\n this.ctx.transform(a, b, c, d, e, f);\n this._cachedScaleForStroking = null;\n this._cachedGetSinglePixelWidth = null;\n }\n constructPath(ops, args, minMax) {\n const ctx = this.ctx;\n const current = this.current;\n let x = current.x,\n y = current.y;\n let startX, startY;\n const currentTransform = (0, _display_utils.getCurrentTransform)(ctx);\n const isScalingMatrix = currentTransform[0] === 0 && currentTransform[3] === 0 || currentTransform[1] === 0 && currentTransform[2] === 0;\n const minMaxForBezier = isScalingMatrix ? minMax.slice(0) : null;\n for (let i = 0, j = 0, ii = ops.length; i < ii; i++) {\n switch (ops[i] | 0) {\n case _util.OPS.rectangle:\n x = args[j++];\n y = args[j++];\n const width = args[j++];\n const height = args[j++];\n const xw = x + width;\n const yh = y + height;\n ctx.moveTo(x, y);\n if (width === 0 || height === 0) {\n ctx.lineTo(xw, yh);\n } else {\n ctx.lineTo(xw, y);\n ctx.lineTo(xw, yh);\n ctx.lineTo(x, yh);\n }\n if (!isScalingMatrix) {\n current.updateRectMinMax(currentTransform, [x, y, xw, yh]);\n }\n ctx.closePath();\n break;\n case _util.OPS.moveTo:\n x = args[j++];\n y = args[j++];\n ctx.moveTo(x, y);\n if (!isScalingMatrix) {\n current.updatePathMinMax(currentTransform, x, y);\n }\n break;\n case _util.OPS.lineTo:\n x = args[j++];\n y = args[j++];\n ctx.lineTo(x, y);\n if (!isScalingMatrix) {\n current.updatePathMinMax(currentTransform, x, y);\n }\n break;\n case _util.OPS.curveTo:\n startX = x;\n startY = y;\n x = args[j + 4];\n y = args[j + 5];\n ctx.bezierCurveTo(args[j], args[j + 1], args[j + 2], args[j + 3], x, y);\n current.updateCurvePathMinMax(currentTransform, startX, startY, args[j], args[j + 1], args[j + 2], args[j + 3], x, y, minMaxForBezier);\n j += 6;\n break;\n case _util.OPS.curveTo2:\n startX = x;\n startY = y;\n ctx.bezierCurveTo(x, y, args[j], args[j + 1], args[j + 2], args[j + 3]);\n current.updateCurvePathMinMax(currentTransform, startX, startY, x, y, args[j], args[j + 1], args[j + 2], args[j + 3], minMaxForBezier);\n x = args[j + 2];\n y = args[j + 3];\n j += 4;\n break;\n case _util.OPS.curveTo3:\n startX = x;\n startY = y;\n x = args[j + 2];\n y = args[j + 3];\n ctx.bezierCurveTo(args[j], args[j + 1], x, y, x, y);\n current.updateCurvePathMinMax(currentTransform, startX, startY, args[j], args[j + 1], x, y, x, y, minMaxForBezier);\n j += 4;\n break;\n case _util.OPS.closePath:\n ctx.closePath();\n break;\n }\n }\n if (isScalingMatrix) {\n current.updateScalingPathMinMax(currentTransform, minMaxForBezier);\n }\n current.setCurrentPoint(x, y);\n }\n closePath() {\n this.ctx.closePath();\n }\n stroke(consumePath = true) {\n const ctx = this.ctx;\n const strokeColor = this.current.strokeColor;\n ctx.globalAlpha = this.current.strokeAlpha;\n if (this.contentVisible) {\n if (typeof strokeColor === \"object\" && strokeColor?.getPattern) {\n ctx.save();\n ctx.strokeStyle = strokeColor.getPattern(ctx, this, (0, _display_utils.getCurrentTransformInverse)(ctx), _pattern_helper.PathType.STROKE);\n this.rescaleAndStroke(false);\n ctx.restore();\n } else {\n this.rescaleAndStroke(true);\n }\n }\n if (consumePath) {\n this.consumePath(this.current.getClippedPathBoundingBox());\n }\n ctx.globalAlpha = this.current.fillAlpha;\n }\n closeStroke() {\n this.closePath();\n this.stroke();\n }\n fill(consumePath = true) {\n const ctx = this.ctx;\n const fillColor = this.current.fillColor;\n const isPatternFill = this.current.patternFill;\n let needRestore = false;\n if (isPatternFill) {\n ctx.save();\n ctx.fillStyle = fillColor.getPattern(ctx, this, (0, _display_utils.getCurrentTransformInverse)(ctx), _pattern_helper.PathType.FILL);\n needRestore = true;\n }\n const intersect = this.current.getClippedPathBoundingBox();\n if (this.contentVisible && intersect !== null) {\n if (this.pendingEOFill) {\n ctx.fill(\"evenodd\");\n this.pendingEOFill = false;\n } else {\n ctx.fill();\n }\n }\n if (needRestore) {\n ctx.restore();\n }\n if (consumePath) {\n this.consumePath(intersect);\n }\n }\n eoFill() {\n this.pendingEOFill = true;\n this.fill();\n }\n fillStroke() {\n this.fill(false);\n this.stroke(false);\n this.consumePath();\n }\n eoFillStroke() {\n this.pendingEOFill = true;\n this.fillStroke();\n }\n closeFillStroke() {\n this.closePath();\n this.fillStroke();\n }\n closeEOFillStroke() {\n this.pendingEOFill = true;\n this.closePath();\n this.fillStroke();\n }\n endPath() {\n this.consumePath();\n }\n clip() {\n this.pendingClip = NORMAL_CLIP;\n }\n eoClip() {\n this.pendingClip = EO_CLIP;\n }\n beginText() {\n this.current.textMatrix = _util.IDENTITY_MATRIX;\n this.current.textMatrixScale = 1;\n this.current.x = this.current.lineX = 0;\n this.current.y = this.current.lineY = 0;\n }\n endText() {\n const paths = this.pendingTextPaths;\n const ctx = this.ctx;\n if (paths === undefined) {\n ctx.beginPath();\n return;\n }\n ctx.save();\n ctx.beginPath();\n for (const path of paths) {\n ctx.setTransform(...path.transform);\n ctx.translate(path.x, path.y);\n path.addToPath(ctx, path.fontSize);\n }\n ctx.restore();\n ctx.clip();\n ctx.beginPath();\n delete this.pendingTextPaths;\n }\n setCharSpacing(spacing) {\n this.current.charSpacing = spacing;\n }\n setWordSpacing(spacing) {\n this.current.wordSpacing = spacing;\n }\n setHScale(scale) {\n this.current.textHScale = scale / 100;\n }\n setLeading(leading) {\n this.current.leading = -leading;\n }\n setFont(fontRefName, size) {\n const fontObj = this.commonObjs.get(fontRefName);\n const current = this.current;\n if (!fontObj) {\n throw new Error(`Can't find font for ${fontRefName}`);\n }\n current.fontMatrix = fontObj.fontMatrix || _util.FONT_IDENTITY_MATRIX;\n if (current.fontMatrix[0] === 0 || current.fontMatrix[3] === 0) {\n (0, _util.warn)(\"Invalid font matrix for font \" + fontRefName);\n }\n if (size < 0) {\n size = -size;\n current.fontDirection = -1;\n } else {\n current.fontDirection = 1;\n }\n this.current.font = fontObj;\n this.current.fontSize = size;\n if (fontObj.isType3Font) {\n return;\n }\n const name = fontObj.loadedName || \"sans-serif\";\n let bold = \"normal\";\n if (fontObj.black) {\n bold = \"900\";\n } else if (fontObj.bold) {\n bold = \"bold\";\n }\n const italic = fontObj.italic ? \"italic\" : \"normal\";\n const typeface = `\"${name}\", ${fontObj.fallbackName}`;\n let browserFontSize = size;\n if (size < MIN_FONT_SIZE) {\n browserFontSize = MIN_FONT_SIZE;\n } else if (size > MAX_FONT_SIZE) {\n browserFontSize = MAX_FONT_SIZE;\n }\n this.current.fontSizeScale = size / browserFontSize;\n this.ctx.font = `${italic} ${bold} ${browserFontSize}px ${typeface}`;\n }\n setTextRenderingMode(mode) {\n this.current.textRenderingMode = mode;\n }\n setTextRise(rise) {\n this.current.textRise = rise;\n }\n moveText(x, y) {\n this.current.x = this.current.lineX += x;\n this.current.y = this.current.lineY += y;\n }\n setLeadingMoveText(x, y) {\n this.setLeading(-y);\n this.moveText(x, y);\n }\n setTextMatrix(a, b, c, d, e, f) {\n this.current.textMatrix = [a, b, c, d, e, f];\n this.current.textMatrixScale = Math.hypot(a, b);\n this.current.x = this.current.lineX = 0;\n this.current.y = this.current.lineY = 0;\n }\n nextLine() {\n this.moveText(0, this.current.leading);\n }\n paintChar(character, x, y, patternTransform) {\n const ctx = this.ctx;\n const current = this.current;\n const font = current.font;\n const textRenderingMode = current.textRenderingMode;\n const fontSize = current.fontSize / current.fontSizeScale;\n const fillStrokeMode = textRenderingMode & _util.TextRenderingMode.FILL_STROKE_MASK;\n const isAddToPathSet = !!(textRenderingMode & _util.TextRenderingMode.ADD_TO_PATH_FLAG);\n const patternFill = current.patternFill && !font.missingFile;\n let addToPath;\n if (font.disableFontFace || isAddToPathSet || patternFill) {\n addToPath = font.getPathGenerator(this.commonObjs, character);\n }\n if (font.disableFontFace || patternFill) {\n ctx.save();\n ctx.translate(x, y);\n ctx.beginPath();\n addToPath(ctx, fontSize);\n if (patternTransform) {\n ctx.setTransform(...patternTransform);\n }\n if (fillStrokeMode === _util.TextRenderingMode.FILL || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) {\n ctx.fill();\n }\n if (fillStrokeMode === _util.TextRenderingMode.STROKE || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) {\n ctx.stroke();\n }\n ctx.restore();\n } else {\n if (fillStrokeMode === _util.TextRenderingMode.FILL || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) {\n ctx.fillText(character, x, y);\n }\n if (fillStrokeMode === _util.TextRenderingMode.STROKE || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) {\n ctx.strokeText(character, x, y);\n }\n }\n if (isAddToPathSet) {\n const paths = this.pendingTextPaths || (this.pendingTextPaths = []);\n paths.push({\n transform: (0, _display_utils.getCurrentTransform)(ctx),\n x,\n y,\n fontSize,\n addToPath\n });\n }\n }\n get isFontSubpixelAAEnabled() {\n const {\n context: ctx\n } = this.cachedCanvases.getCanvas(\"isFontSubpixelAAEnabled\", 10, 10);\n ctx.scale(1.5, 1);\n ctx.fillText(\"I\", 0, 10);\n const data = ctx.getImageData(0, 0, 10, 10).data;\n let enabled = false;\n for (let i = 3; i < data.length; i += 4) {\n if (data[i] > 0 && data[i] < 255) {\n enabled = true;\n break;\n }\n }\n return (0, _util.shadow)(this, \"isFontSubpixelAAEnabled\", enabled);\n }\n showText(glyphs) {\n const current = this.current;\n const font = current.font;\n if (font.isType3Font) {\n return this.showType3Text(glyphs);\n }\n const fontSize = current.fontSize;\n if (fontSize === 0) {\n return undefined;\n }\n const ctx = this.ctx;\n const fontSizeScale = current.fontSizeScale;\n const charSpacing = current.charSpacing;\n const wordSpacing = current.wordSpacing;\n const fontDirection = current.fontDirection;\n const textHScale = current.textHScale * fontDirection;\n const glyphsLength = glyphs.length;\n const vertical = font.vertical;\n const spacingDir = vertical ? 1 : -1;\n const defaultVMetrics = font.defaultVMetrics;\n const widthAdvanceScale = fontSize * current.fontMatrix[0];\n const simpleFillText = current.textRenderingMode === _util.TextRenderingMode.FILL && !font.disableFontFace && !current.patternFill;\n ctx.save();\n ctx.transform(...current.textMatrix);\n ctx.translate(current.x, current.y + current.textRise);\n if (fontDirection > 0) {\n ctx.scale(textHScale, -1);\n } else {\n ctx.scale(textHScale, 1);\n }\n let patternTransform;\n if (current.patternFill) {\n ctx.save();\n const pattern = current.fillColor.getPattern(ctx, this, (0, _display_utils.getCurrentTransformInverse)(ctx), _pattern_helper.PathType.FILL);\n patternTransform = (0, _display_utils.getCurrentTransform)(ctx);\n ctx.restore();\n ctx.fillStyle = pattern;\n }\n let lineWidth = current.lineWidth;\n const scale = current.textMatrixScale;\n if (scale === 0 || lineWidth === 0) {\n const fillStrokeMode = current.textRenderingMode & _util.TextRenderingMode.FILL_STROKE_MASK;\n if (fillStrokeMode === _util.TextRenderingMode.STROKE || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) {\n lineWidth = this.getSinglePixelWidth();\n }\n } else {\n lineWidth /= scale;\n }\n if (fontSizeScale !== 1.0) {\n ctx.scale(fontSizeScale, fontSizeScale);\n lineWidth /= fontSizeScale;\n }\n ctx.lineWidth = lineWidth;\n if (font.isInvalidPDFjsFont) {\n const chars = [];\n let width = 0;\n for (const glyph of glyphs) {\n chars.push(glyph.unicode);\n width += glyph.width;\n }\n ctx.fillText(chars.join(\"\"), 0, 0);\n current.x += width * widthAdvanceScale * textHScale;\n ctx.restore();\n this.compose();\n return undefined;\n }\n let x = 0,\n i;\n for (i = 0; i < glyphsLength; ++i) {\n const glyph = glyphs[i];\n if (typeof glyph === \"number\") {\n x += spacingDir * glyph * fontSize / 1000;\n continue;\n }\n let restoreNeeded = false;\n const spacing = (glyph.isSpace ? wordSpacing : 0) + charSpacing;\n const character = glyph.fontChar;\n const accent = glyph.accent;\n let scaledX, scaledY;\n let width = glyph.width;\n if (vertical) {\n const vmetric = glyph.vmetric || defaultVMetrics;\n const vx = -(glyph.vmetric ? vmetric[1] : width * 0.5) * widthAdvanceScale;\n const vy = vmetric[2] * widthAdvanceScale;\n width = vmetric ? -vmetric[0] : width;\n scaledX = vx / fontSizeScale;\n scaledY = (x + vy) / fontSizeScale;\n } else {\n scaledX = x / fontSizeScale;\n scaledY = 0;\n }\n if (font.remeasure && width > 0) {\n const measuredWidth = ctx.measureText(character).width * 1000 / fontSize * fontSizeScale;\n if (width < measuredWidth && this.isFontSubpixelAAEnabled) {\n const characterScaleX = width / measuredWidth;\n restoreNeeded = true;\n ctx.save();\n ctx.scale(characterScaleX, 1);\n scaledX /= characterScaleX;\n } else if (width !== measuredWidth) {\n scaledX += (width - measuredWidth) / 2000 * fontSize / fontSizeScale;\n }\n }\n if (this.contentVisible && (glyph.isInFont || font.missingFile)) {\n if (simpleFillText && !accent) {\n ctx.fillText(character, scaledX, scaledY);\n } else {\n this.paintChar(character, scaledX, scaledY, patternTransform);\n if (accent) {\n const scaledAccentX = scaledX + fontSize * accent.offset.x / fontSizeScale;\n const scaledAccentY = scaledY - fontSize * accent.offset.y / fontSizeScale;\n this.paintChar(accent.fontChar, scaledAccentX, scaledAccentY, patternTransform);\n }\n }\n }\n let charWidth;\n if (vertical) {\n charWidth = width * widthAdvanceScale - spacing * fontDirection;\n } else {\n charWidth = width * widthAdvanceScale + spacing * fontDirection;\n }\n x += charWidth;\n if (restoreNeeded) {\n ctx.restore();\n }\n }\n if (vertical) {\n current.y -= x;\n } else {\n current.x += x * textHScale;\n }\n ctx.restore();\n this.compose();\n return undefined;\n }\n showType3Text(glyphs) {\n const ctx = this.ctx;\n const current = this.current;\n const font = current.font;\n const fontSize = current.fontSize;\n const fontDirection = current.fontDirection;\n const spacingDir = font.vertical ? 1 : -1;\n const charSpacing = current.charSpacing;\n const wordSpacing = current.wordSpacing;\n const textHScale = current.textHScale * fontDirection;\n const fontMatrix = current.fontMatrix || _util.FONT_IDENTITY_MATRIX;\n const glyphsLength = glyphs.length;\n const isTextInvisible = current.textRenderingMode === _util.TextRenderingMode.INVISIBLE;\n let i, glyph, width, spacingLength;\n if (isTextInvisible || fontSize === 0) {\n return;\n }\n this._cachedScaleForStroking = null;\n this._cachedGetSinglePixelWidth = null;\n ctx.save();\n ctx.transform(...current.textMatrix);\n ctx.translate(current.x, current.y);\n ctx.scale(textHScale, fontDirection);\n for (i = 0; i < glyphsLength; ++i) {\n glyph = glyphs[i];\n if (typeof glyph === \"number\") {\n spacingLength = spacingDir * glyph * fontSize / 1000;\n this.ctx.translate(spacingLength, 0);\n current.x += spacingLength * textHScale;\n continue;\n }\n const spacing = (glyph.isSpace ? wordSpacing : 0) + charSpacing;\n const operatorList = font.charProcOperatorList[glyph.operatorListId];\n if (!operatorList) {\n (0, _util.warn)(`Type3 character \"${glyph.operatorListId}\" is not available.`);\n continue;\n }\n if (this.contentVisible) {\n this.processingType3 = glyph;\n this.save();\n ctx.scale(fontSize, fontSize);\n ctx.transform(...fontMatrix);\n this.executeOperatorList(operatorList);\n this.restore();\n }\n const transformed = _util.Util.applyTransform([glyph.width, 0], fontMatrix);\n width = transformed[0] * fontSize + spacing;\n ctx.translate(width, 0);\n current.x += width * textHScale;\n }\n ctx.restore();\n this.processingType3 = null;\n }\n setCharWidth(xWidth, yWidth) {}\n setCharWidthAndBounds(xWidth, yWidth, llx, lly, urx, ury) {\n this.ctx.rect(llx, lly, urx - llx, ury - lly);\n this.ctx.clip();\n this.endPath();\n }\n getColorN_Pattern(IR) {\n let pattern;\n if (IR[0] === \"TilingPattern\") {\n const color = IR[1];\n const baseTransform = this.baseTransform || (0, _display_utils.getCurrentTransform)(this.ctx);\n const canvasGraphicsFactory = {\n createCanvasGraphics: ctx => {\n return new CanvasGraphics(ctx, this.commonObjs, this.objs, this.canvasFactory, this.filterFactory, {\n optionalContentConfig: this.optionalContentConfig,\n markedContentStack: this.markedContentStack\n });\n }\n };\n pattern = new _pattern_helper.TilingPattern(IR, color, this.ctx, canvasGraphicsFactory, baseTransform);\n } else {\n pattern = this._getPattern(IR[1], IR[2]);\n }\n return pattern;\n }\n setStrokeColorN() {\n this.current.strokeColor = this.getColorN_Pattern(arguments);\n }\n setFillColorN() {\n this.current.fillColor = this.getColorN_Pattern(arguments);\n this.current.patternFill = true;\n }\n setStrokeRGBColor(r, g, b) {\n const color = _util.Util.makeHexColor(r, g, b);\n this.ctx.strokeStyle = color;\n this.current.strokeColor = color;\n }\n setFillRGBColor(r, g, b) {\n const color = _util.Util.makeHexColor(r, g, b);\n this.ctx.fillStyle = color;\n this.current.fillColor = color;\n this.current.patternFill = false;\n }\n _getPattern(objId, matrix = null) {\n let pattern;\n if (this.cachedPatterns.has(objId)) {\n pattern = this.cachedPatterns.get(objId);\n } else {\n pattern = (0, _pattern_helper.getShadingPattern)(this.getObject(objId));\n this.cachedPatterns.set(objId, pattern);\n }\n if (matrix) {\n pattern.matrix = matrix;\n }\n return pattern;\n }\n shadingFill(objId) {\n if (!this.contentVisible) {\n return;\n }\n const ctx = this.ctx;\n this.save();\n const pattern = this._getPattern(objId);\n ctx.fillStyle = pattern.getPattern(ctx, this, (0, _display_utils.getCurrentTransformInverse)(ctx), _pattern_helper.PathType.SHADING);\n const inv = (0, _display_utils.getCurrentTransformInverse)(ctx);\n if (inv) {\n const canvas = ctx.canvas;\n const width = canvas.width;\n const height = canvas.height;\n const bl = _util.Util.applyTransform([0, 0], inv);\n const br = _util.Util.applyTransform([0, height], inv);\n const ul = _util.Util.applyTransform([width, 0], inv);\n const ur = _util.Util.applyTransform([width, height], inv);\n const x0 = Math.min(bl[0], br[0], ul[0], ur[0]);\n const y0 = Math.min(bl[1], br[1], ul[1], ur[1]);\n const x1 = Math.max(bl[0], br[0], ul[0], ur[0]);\n const y1 = Math.max(bl[1], br[1], ul[1], ur[1]);\n this.ctx.fillRect(x0, y0, x1 - x0, y1 - y0);\n } else {\n this.ctx.fillRect(-1e10, -1e10, 2e10, 2e10);\n }\n this.compose(this.current.getClippedPathBoundingBox());\n this.restore();\n }\n beginInlineImage() {\n (0, _util.unreachable)(\"Should not call beginInlineImage\");\n }\n beginImageData() {\n (0, _util.unreachable)(\"Should not call beginImageData\");\n }\n paintFormXObjectBegin(matrix, bbox) {\n if (!this.contentVisible) {\n return;\n }\n this.save();\n this.baseTransformStack.push(this.baseTransform);\n if (Array.isArray(matrix) && matrix.length === 6) {\n this.transform(...matrix);\n }\n this.baseTransform = (0, _display_utils.getCurrentTransform)(this.ctx);\n if (bbox) {\n const width = bbox[2] - bbox[0];\n const height = bbox[3] - bbox[1];\n this.ctx.rect(bbox[0], bbox[1], width, height);\n this.current.updateRectMinMax((0, _display_utils.getCurrentTransform)(this.ctx), bbox);\n this.clip();\n this.endPath();\n }\n }\n paintFormXObjectEnd() {\n if (!this.contentVisible) {\n return;\n }\n this.restore();\n this.baseTransform = this.baseTransformStack.pop();\n }\n beginGroup(group) {\n if (!this.contentVisible) {\n return;\n }\n this.save();\n if (this.inSMaskMode) {\n this.endSMaskMode();\n this.current.activeSMask = null;\n }\n const currentCtx = this.ctx;\n if (!group.isolated) {\n (0, _util.info)(\"TODO: Support non-isolated groups.\");\n }\n if (group.knockout) {\n (0, _util.warn)(\"Knockout groups not supported.\");\n }\n const currentTransform = (0, _display_utils.getCurrentTransform)(currentCtx);\n if (group.matrix) {\n currentCtx.transform(...group.matrix);\n }\n if (!group.bbox) {\n throw new Error(\"Bounding box is required.\");\n }\n let bounds = _util.Util.getAxialAlignedBoundingBox(group.bbox, (0, _display_utils.getCurrentTransform)(currentCtx));\n const canvasBounds = [0, 0, currentCtx.canvas.width, currentCtx.canvas.height];\n bounds = _util.Util.intersect(bounds, canvasBounds) || [0, 0, 0, 0];\n const offsetX = Math.floor(bounds[0]);\n const offsetY = Math.floor(bounds[1]);\n let drawnWidth = Math.max(Math.ceil(bounds[2]) - offsetX, 1);\n let drawnHeight = Math.max(Math.ceil(bounds[3]) - offsetY, 1);\n let scaleX = 1,\n scaleY = 1;\n if (drawnWidth > MAX_GROUP_SIZE) {\n scaleX = drawnWidth / MAX_GROUP_SIZE;\n drawnWidth = MAX_GROUP_SIZE;\n }\n if (drawnHeight > MAX_GROUP_SIZE) {\n scaleY = drawnHeight / MAX_GROUP_SIZE;\n drawnHeight = MAX_GROUP_SIZE;\n }\n this.current.startNewPathAndClipBox([0, 0, drawnWidth, drawnHeight]);\n let cacheId = \"groupAt\" + this.groupLevel;\n if (group.smask) {\n cacheId += \"_smask_\" + this.smaskCounter++ % 2;\n }\n const scratchCanvas = this.cachedCanvases.getCanvas(cacheId, drawnWidth, drawnHeight);\n const groupCtx = scratchCanvas.context;\n groupCtx.scale(1 / scaleX, 1 / scaleY);\n groupCtx.translate(-offsetX, -offsetY);\n groupCtx.transform(...currentTransform);\n if (group.smask) {\n this.smaskStack.push({\n canvas: scratchCanvas.canvas,\n context: groupCtx,\n offsetX,\n offsetY,\n scaleX,\n scaleY,\n subtype: group.smask.subtype,\n backdrop: group.smask.backdrop,\n transferMap: group.smask.transferMap || null,\n startTransformInverse: null\n });\n } else {\n currentCtx.setTransform(1, 0, 0, 1, 0, 0);\n currentCtx.translate(offsetX, offsetY);\n currentCtx.scale(scaleX, scaleY);\n currentCtx.save();\n }\n copyCtxState(currentCtx, groupCtx);\n this.ctx = groupCtx;\n this.setGState([[\"BM\", \"source-over\"], [\"ca\", 1], [\"CA\", 1]]);\n this.groupStack.push(currentCtx);\n this.groupLevel++;\n }\n endGroup(group) {\n if (!this.contentVisible) {\n return;\n }\n this.groupLevel--;\n const groupCtx = this.ctx;\n const ctx = this.groupStack.pop();\n this.ctx = ctx;\n this.ctx.imageSmoothingEnabled = false;\n if (group.smask) {\n this.tempSMask = this.smaskStack.pop();\n this.restore();\n } else {\n this.ctx.restore();\n const currentMtx = (0, _display_utils.getCurrentTransform)(this.ctx);\n this.restore();\n this.ctx.save();\n this.ctx.setTransform(...currentMtx);\n const dirtyBox = _util.Util.getAxialAlignedBoundingBox([0, 0, groupCtx.canvas.width, groupCtx.canvas.height], currentMtx);\n this.ctx.drawImage(groupCtx.canvas, 0, 0);\n this.ctx.restore();\n this.compose(dirtyBox);\n }\n }\n beginAnnotation(id, rect, transform, matrix, hasOwnCanvas) {\n this.#restoreInitialState();\n resetCtxToDefault(this.ctx);\n this.ctx.save();\n this.save();\n if (this.baseTransform) {\n this.ctx.setTransform(...this.baseTransform);\n }\n if (Array.isArray(rect) && rect.length === 4) {\n const width = rect[2] - rect[0];\n const height = rect[3] - rect[1];\n if (hasOwnCanvas && this.annotationCanvasMap) {\n transform = transform.slice();\n transform[4] -= rect[0];\n transform[5] -= rect[1];\n rect = rect.slice();\n rect[0] = rect[1] = 0;\n rect[2] = width;\n rect[3] = height;\n const [scaleX, scaleY] = _util.Util.singularValueDecompose2dScale((0, _display_utils.getCurrentTransform)(this.ctx));\n const {\n viewportScale\n } = this;\n const canvasWidth = Math.ceil(width * this.outputScaleX * viewportScale);\n const canvasHeight = Math.ceil(height * this.outputScaleY * viewportScale);\n this.annotationCanvas = this.canvasFactory.create(canvasWidth, canvasHeight);\n const {\n canvas,\n context\n } = this.annotationCanvas;\n this.annotationCanvasMap.set(id, canvas);\n this.annotationCanvas.savedCtx = this.ctx;\n this.ctx = context;\n this.ctx.save();\n this.ctx.setTransform(scaleX, 0, 0, -scaleY, 0, height * scaleY);\n resetCtxToDefault(this.ctx);\n } else {\n resetCtxToDefault(this.ctx);\n this.ctx.rect(rect[0], rect[1], width, height);\n this.ctx.clip();\n this.endPath();\n }\n }\n this.current = new CanvasExtraState(this.ctx.canvas.width, this.ctx.canvas.height);\n this.transform(...transform);\n this.transform(...matrix);\n }\n endAnnotation() {\n if (this.annotationCanvas) {\n this.ctx.restore();\n this.#drawFilter();\n this.ctx = this.annotationCanvas.savedCtx;\n delete this.annotationCanvas.savedCtx;\n delete this.annotationCanvas;\n }\n }\n paintImageMaskXObject(img) {\n if (!this.contentVisible) {\n return;\n }\n const count = img.count;\n img = this.getObject(img.data, img);\n img.count = count;\n const ctx = this.ctx;\n const glyph = this.processingType3;\n if (glyph) {\n if (glyph.compiled === undefined) {\n glyph.compiled = compileType3Glyph(img);\n }\n if (glyph.compiled) {\n glyph.compiled(ctx);\n return;\n }\n }\n const mask = this._createMaskCanvas(img);\n const maskCanvas = mask.canvas;\n ctx.save();\n ctx.setTransform(1, 0, 0, 1, 0, 0);\n ctx.drawImage(maskCanvas, mask.offsetX, mask.offsetY);\n ctx.restore();\n this.compose();\n }\n paintImageMaskXObjectRepeat(img, scaleX, skewX = 0, skewY = 0, scaleY, positions) {\n if (!this.contentVisible) {\n return;\n }\n img = this.getObject(img.data, img);\n const ctx = this.ctx;\n ctx.save();\n const currentTransform = (0, _display_utils.getCurrentTransform)(ctx);\n ctx.transform(scaleX, skewX, skewY, scaleY, 0, 0);\n const mask = this._createMaskCanvas(img);\n ctx.setTransform(1, 0, 0, 1, mask.offsetX - currentTransform[4], mask.offsetY - currentTransform[5]);\n for (let i = 0, ii = positions.length; i < ii; i += 2) {\n const trans = _util.Util.transform(currentTransform, [scaleX, skewX, skewY, scaleY, positions[i], positions[i + 1]]);\n const [x, y] = _util.Util.applyTransform([0, 0], trans);\n ctx.drawImage(mask.canvas, x, y);\n }\n ctx.restore();\n this.compose();\n }\n paintImageMaskXObjectGroup(images) {\n if (!this.contentVisible) {\n return;\n }\n const ctx = this.ctx;\n const fillColor = this.current.fillColor;\n const isPatternFill = this.current.patternFill;\n for (const image of images) {\n const {\n data,\n width,\n height,\n transform\n } = image;\n const maskCanvas = this.cachedCanvases.getCanvas(\"maskCanvas\", width, height);\n const maskCtx = maskCanvas.context;\n maskCtx.save();\n const img = this.getObject(data, image);\n putBinaryImageMask(maskCtx, img);\n maskCtx.globalCompositeOperation = \"source-in\";\n maskCtx.fillStyle = isPatternFill ? fillColor.getPattern(maskCtx, this, (0, _display_utils.getCurrentTransformInverse)(ctx), _pattern_helper.PathType.FILL) : fillColor;\n maskCtx.fillRect(0, 0, width, height);\n maskCtx.restore();\n ctx.save();\n ctx.transform(...transform);\n ctx.scale(1, -1);\n drawImageAtIntegerCoords(ctx, maskCanvas.canvas, 0, 0, width, height, 0, -1, 1, 1);\n ctx.restore();\n }\n this.compose();\n }\n paintImageXObject(objId) {\n if (!this.contentVisible) {\n return;\n }\n const imgData = this.getObject(objId);\n if (!imgData) {\n (0, _util.warn)(\"Dependent image isn't ready yet\");\n return;\n }\n this.paintInlineImageXObject(imgData);\n }\n paintImageXObjectRepeat(objId, scaleX, scaleY, positions) {\n if (!this.contentVisible) {\n return;\n }\n const imgData = this.getObject(objId);\n if (!imgData) {\n (0, _util.warn)(\"Dependent image isn't ready yet\");\n return;\n }\n const width = imgData.width;\n const height = imgData.height;\n const map = [];\n for (let i = 0, ii = positions.length; i < ii; i += 2) {\n map.push({\n transform: [scaleX, 0, 0, scaleY, positions[i], positions[i + 1]],\n x: 0,\n y: 0,\n w: width,\n h: height\n });\n }\n this.paintInlineImageXObjectGroup(imgData, map);\n }\n applyTransferMapsToCanvas(ctx) {\n if (this.current.transferMaps !== \"none\") {\n ctx.filter = this.current.transferMaps;\n ctx.drawImage(ctx.canvas, 0, 0);\n ctx.filter = \"none\";\n }\n return ctx.canvas;\n }\n applyTransferMapsToBitmap(imgData) {\n if (this.current.transferMaps === \"none\") {\n return imgData.bitmap;\n }\n const {\n bitmap,\n width,\n height\n } = imgData;\n const tmpCanvas = this.cachedCanvases.getCanvas(\"inlineImage\", width, height);\n const tmpCtx = tmpCanvas.context;\n tmpCtx.filter = this.current.transferMaps;\n tmpCtx.drawImage(bitmap, 0, 0);\n tmpCtx.filter = \"none\";\n return tmpCanvas.canvas;\n }\n paintInlineImageXObject(imgData) {\n if (!this.contentVisible) {\n return;\n }\n const width = imgData.width;\n const height = imgData.height;\n const ctx = this.ctx;\n this.save();\n if (!_is_node.isNodeJS) {\n ctx.filter = \"none\";\n }\n ctx.scale(1 / width, -1 / height);\n let imgToPaint;\n if (imgData.bitmap) {\n imgToPaint = this.applyTransferMapsToBitmap(imgData);\n } else if (typeof HTMLElement === \"function\" && imgData instanceof HTMLElement || !imgData.data) {\n imgToPaint = imgData;\n } else {\n const tmpCanvas = this.cachedCanvases.getCanvas(\"inlineImage\", width, height);\n const tmpCtx = tmpCanvas.context;\n putBinaryImageData(tmpCtx, imgData);\n imgToPaint = this.applyTransferMapsToCanvas(tmpCtx);\n }\n const scaled = this._scaleImage(imgToPaint, (0, _display_utils.getCurrentTransformInverse)(ctx));\n ctx.imageSmoothingEnabled = getImageSmoothingEnabled((0, _display_utils.getCurrentTransform)(ctx), imgData.interpolate);\n drawImageAtIntegerCoords(ctx, scaled.img, 0, 0, scaled.paintWidth, scaled.paintHeight, 0, -height, width, height);\n this.compose();\n this.restore();\n }\n paintInlineImageXObjectGroup(imgData, map) {\n if (!this.contentVisible) {\n return;\n }\n const ctx = this.ctx;\n let imgToPaint;\n if (imgData.bitmap) {\n imgToPaint = imgData.bitmap;\n } else {\n const w = imgData.width;\n const h = imgData.height;\n const tmpCanvas = this.cachedCanvases.getCanvas(\"inlineImage\", w, h);\n const tmpCtx = tmpCanvas.context;\n putBinaryImageData(tmpCtx, imgData);\n imgToPaint = this.applyTransferMapsToCanvas(tmpCtx);\n }\n for (const entry of map) {\n ctx.save();\n ctx.transform(...entry.transform);\n ctx.scale(1, -1);\n drawImageAtIntegerCoords(ctx, imgToPaint, entry.x, entry.y, entry.w, entry.h, 0, -1, 1, 1);\n ctx.restore();\n }\n this.compose();\n }\n paintSolidColorImageMask() {\n if (!this.contentVisible) {\n return;\n }\n this.ctx.fillRect(0, 0, 1, 1);\n this.compose();\n }\n markPoint(tag) {}\n markPointProps(tag, properties) {}\n beginMarkedContent(tag) {\n this.markedContentStack.push({\n visible: true\n });\n }\n beginMarkedContentProps(tag, properties) {\n if (tag === \"OC\") {\n this.markedContentStack.push({\n visible: this.optionalContentConfig.isVisible(properties)\n });\n } else {\n this.markedContentStack.push({\n visible: true\n });\n }\n this.contentVisible = this.isContentVisible();\n }\n endMarkedContent() {\n this.markedContentStack.pop();\n this.contentVisible = this.isContentVisible();\n }\n beginCompat() {}\n endCompat() {}\n consumePath(clipBox) {\n const isEmpty = this.current.isEmptyClip();\n if (this.pendingClip) {\n this.current.updateClipFromPath();\n }\n if (!this.pendingClip) {\n this.compose(clipBox);\n }\n const ctx = this.ctx;\n if (this.pendingClip) {\n if (!isEmpty) {\n if (this.pendingClip === EO_CLIP) {\n ctx.clip(\"evenodd\");\n } else {\n ctx.clip();\n }\n }\n this.pendingClip = null;\n }\n this.current.startNewPathAndClipBox(this.current.clipBox);\n ctx.beginPath();\n }\n getSinglePixelWidth() {\n if (!this._cachedGetSinglePixelWidth) {\n const m = (0, _display_utils.getCurrentTransform)(this.ctx);\n if (m[1] === 0 && m[2] === 0) {\n this._cachedGetSinglePixelWidth = 1 / Math.min(Math.abs(m[0]), Math.abs(m[3]));\n } else {\n const absDet = Math.abs(m[0] * m[3] - m[2] * m[1]);\n const normX = Math.hypot(m[0], m[2]);\n const normY = Math.hypot(m[1], m[3]);\n this._cachedGetSinglePixelWidth = Math.max(normX, normY) / absDet;\n }\n }\n return this._cachedGetSinglePixelWidth;\n }\n getScaleForStroking() {\n if (!this._cachedScaleForStroking) {\n const {\n lineWidth\n } = this.current;\n const m = (0, _display_utils.getCurrentTransform)(this.ctx);\n let scaleX, scaleY;\n if (m[1] === 0 && m[2] === 0) {\n const normX = Math.abs(m[0]);\n const normY = Math.abs(m[3]);\n if (lineWidth === 0) {\n scaleX = 1 / normX;\n scaleY = 1 / normY;\n } else {\n const scaledXLineWidth = normX * lineWidth;\n const scaledYLineWidth = normY * lineWidth;\n scaleX = scaledXLineWidth < 1 ? 1 / scaledXLineWidth : 1;\n scaleY = scaledYLineWidth < 1 ? 1 / scaledYLineWidth : 1;\n }\n } else {\n const absDet = Math.abs(m[0] * m[3] - m[2] * m[1]);\n const normX = Math.hypot(m[0], m[1]);\n const normY = Math.hypot(m[2], m[3]);\n if (lineWidth === 0) {\n scaleX = normY / absDet;\n scaleY = normX / absDet;\n } else {\n const baseArea = lineWidth * absDet;\n scaleX = normY > baseArea ? normY / baseArea : 1;\n scaleY = normX > baseArea ? normX / baseArea : 1;\n }\n }\n this._cachedScaleForStroking = [scaleX, scaleY];\n }\n return this._cachedScaleForStroking;\n }\n rescaleAndStroke(saveRestore) {\n const {\n ctx\n } = this;\n const {\n lineWidth\n } = this.current;\n const [scaleX, scaleY] = this.getScaleForStroking();\n ctx.lineWidth = lineWidth || 1;\n if (scaleX === 1 && scaleY === 1) {\n ctx.stroke();\n return;\n }\n let savedMatrix, savedDashes, savedDashOffset;\n if (saveRestore) {\n savedMatrix = (0, _display_utils.getCurrentTransform)(ctx);\n savedDashes = ctx.getLineDash().slice();\n savedDashOffset = ctx.lineDashOffset;\n }\n ctx.scale(scaleX, scaleY);\n const scale = Math.max(scaleX, scaleY);\n ctx.setLineDash(ctx.getLineDash().map(x => x / scale));\n ctx.lineDashOffset /= scale;\n ctx.stroke();\n if (saveRestore) {\n ctx.setTransform(...savedMatrix);\n ctx.setLineDash(savedDashes);\n ctx.lineDashOffset = savedDashOffset;\n }\n }\n isContentVisible() {\n for (let i = this.markedContentStack.length - 1; i >= 0; i--) {\n if (!this.markedContentStack[i].visible) {\n return false;\n }\n }\n return true;\n }\n}\nexports.CanvasGraphics = CanvasGraphics;\nfor (const op in _util.OPS) {\n if (CanvasGraphics.prototype[op] !== undefined) {\n CanvasGraphics.prototype[_util.OPS[op]] = CanvasGraphics.prototype[op];\n }\n}\n\n/***/ }),\n/* 12 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.TilingPattern = exports.PathType = void 0;\nexports.getShadingPattern = getShadingPattern;\nvar _util = __w_pdfjs_require__(1);\nvar _display_utils = __w_pdfjs_require__(6);\nconst PathType = {\n FILL: \"Fill\",\n STROKE: \"Stroke\",\n SHADING: \"Shading\"\n};\nexports.PathType = PathType;\nfunction applyBoundingBox(ctx, bbox) {\n if (!bbox) {\n return;\n }\n const width = bbox[2] - bbox[0];\n const height = bbox[3] - bbox[1];\n const region = new Path2D();\n region.rect(bbox[0], bbox[1], width, height);\n ctx.clip(region);\n}\nclass BaseShadingPattern {\n constructor() {\n if (this.constructor === BaseShadingPattern) {\n (0, _util.unreachable)(\"Cannot initialize BaseShadingPattern.\");\n }\n }\n getPattern() {\n (0, _util.unreachable)(\"Abstract method `getPattern` called.\");\n }\n}\nclass RadialAxialShadingPattern extends BaseShadingPattern {\n constructor(IR) {\n super();\n this._type = IR[1];\n this._bbox = IR[2];\n this._colorStops = IR[3];\n this._p0 = IR[4];\n this._p1 = IR[5];\n this._r0 = IR[6];\n this._r1 = IR[7];\n this.matrix = null;\n }\n _createGradient(ctx) {\n let grad;\n if (this._type === \"axial\") {\n grad = ctx.createLinearGradient(this._p0[0], this._p0[1], this._p1[0], this._p1[1]);\n } else if (this._type === \"radial\") {\n grad = ctx.createRadialGradient(this._p0[0], this._p0[1], this._r0, this._p1[0], this._p1[1], this._r1);\n }\n for (const colorStop of this._colorStops) {\n grad.addColorStop(colorStop[0], colorStop[1]);\n }\n return grad;\n }\n getPattern(ctx, owner, inverse, pathType) {\n let pattern;\n if (pathType === PathType.STROKE || pathType === PathType.FILL) {\n const ownerBBox = owner.current.getClippedPathBoundingBox(pathType, (0, _display_utils.getCurrentTransform)(ctx)) || [0, 0, 0, 0];\n const width = Math.ceil(ownerBBox[2] - ownerBBox[0]) || 1;\n const height = Math.ceil(ownerBBox[3] - ownerBBox[1]) || 1;\n const tmpCanvas = owner.cachedCanvases.getCanvas(\"pattern\", width, height, true);\n const tmpCtx = tmpCanvas.context;\n tmpCtx.clearRect(0, 0, tmpCtx.canvas.width, tmpCtx.canvas.height);\n tmpCtx.beginPath();\n tmpCtx.rect(0, 0, tmpCtx.canvas.width, tmpCtx.canvas.height);\n tmpCtx.translate(-ownerBBox[0], -ownerBBox[1]);\n inverse = _util.Util.transform(inverse, [1, 0, 0, 1, ownerBBox[0], ownerBBox[1]]);\n tmpCtx.transform(...owner.baseTransform);\n if (this.matrix) {\n tmpCtx.transform(...this.matrix);\n }\n applyBoundingBox(tmpCtx, this._bbox);\n tmpCtx.fillStyle = this._createGradient(tmpCtx);\n tmpCtx.fill();\n pattern = ctx.createPattern(tmpCanvas.canvas, \"no-repeat\");\n const domMatrix = new DOMMatrix(inverse);\n pattern.setTransform(domMatrix);\n } else {\n applyBoundingBox(ctx, this._bbox);\n pattern = this._createGradient(ctx);\n }\n return pattern;\n }\n}\nfunction drawTriangle(data, context, p1, p2, p3, c1, c2, c3) {\n const coords = context.coords,\n colors = context.colors;\n const bytes = data.data,\n rowSize = data.width * 4;\n let tmp;\n if (coords[p1 + 1] > coords[p2 + 1]) {\n tmp = p1;\n p1 = p2;\n p2 = tmp;\n tmp = c1;\n c1 = c2;\n c2 = tmp;\n }\n if (coords[p2 + 1] > coords[p3 + 1]) {\n tmp = p2;\n p2 = p3;\n p3 = tmp;\n tmp = c2;\n c2 = c3;\n c3 = tmp;\n }\n if (coords[p1 + 1] > coords[p2 + 1]) {\n tmp = p1;\n p1 = p2;\n p2 = tmp;\n tmp = c1;\n c1 = c2;\n c2 = tmp;\n }\n const x1 = (coords[p1] + context.offsetX) * context.scaleX;\n const y1 = (coords[p1 + 1] + context.offsetY) * context.scaleY;\n const x2 = (coords[p2] + context.offsetX) * context.scaleX;\n const y2 = (coords[p2 + 1] + context.offsetY) * context.scaleY;\n const x3 = (coords[p3] + context.offsetX) * context.scaleX;\n const y3 = (coords[p3 + 1] + context.offsetY) * context.scaleY;\n if (y1 >= y3) {\n return;\n }\n const c1r = colors[c1],\n c1g = colors[c1 + 1],\n c1b = colors[c1 + 2];\n const c2r = colors[c2],\n c2g = colors[c2 + 1],\n c2b = colors[c2 + 2];\n const c3r = colors[c3],\n c3g = colors[c3 + 1],\n c3b = colors[c3 + 2];\n const minY = Math.round(y1),\n maxY = Math.round(y3);\n let xa, car, cag, cab;\n let xb, cbr, cbg, cbb;\n for (let y = minY; y <= maxY; y++) {\n if (y < y2) {\n let k;\n if (y < y1) {\n k = 0;\n } else {\n k = (y1 - y) / (y1 - y2);\n }\n xa = x1 - (x1 - x2) * k;\n car = c1r - (c1r - c2r) * k;\n cag = c1g - (c1g - c2g) * k;\n cab = c1b - (c1b - c2b) * k;\n } else {\n let k;\n if (y > y3) {\n k = 1;\n } else if (y2 === y3) {\n k = 0;\n } else {\n k = (y2 - y) / (y2 - y3);\n }\n xa = x2 - (x2 - x3) * k;\n car = c2r - (c2r - c3r) * k;\n cag = c2g - (c2g - c3g) * k;\n cab = c2b - (c2b - c3b) * k;\n }\n let k;\n if (y < y1) {\n k = 0;\n } else if (y > y3) {\n k = 1;\n } else {\n k = (y1 - y) / (y1 - y3);\n }\n xb = x1 - (x1 - x3) * k;\n cbr = c1r - (c1r - c3r) * k;\n cbg = c1g - (c1g - c3g) * k;\n cbb = c1b - (c1b - c3b) * k;\n const x1_ = Math.round(Math.min(xa, xb));\n const x2_ = Math.round(Math.max(xa, xb));\n let j = rowSize * y + x1_ * 4;\n for (let x = x1_; x <= x2_; x++) {\n k = (xa - x) / (xa - xb);\n if (k < 0) {\n k = 0;\n } else if (k > 1) {\n k = 1;\n }\n bytes[j++] = car - (car - cbr) * k | 0;\n bytes[j++] = cag - (cag - cbg) * k | 0;\n bytes[j++] = cab - (cab - cbb) * k | 0;\n bytes[j++] = 255;\n }\n }\n}\nfunction drawFigure(data, figure, context) {\n const ps = figure.coords;\n const cs = figure.colors;\n let i, ii;\n switch (figure.type) {\n case \"lattice\":\n const verticesPerRow = figure.verticesPerRow;\n const rows = Math.floor(ps.length / verticesPerRow) - 1;\n const cols = verticesPerRow - 1;\n for (i = 0; i < rows; i++) {\n let q = i * verticesPerRow;\n for (let j = 0; j < cols; j++, q++) {\n drawTriangle(data, context, ps[q], ps[q + 1], ps[q + verticesPerRow], cs[q], cs[q + 1], cs[q + verticesPerRow]);\n drawTriangle(data, context, ps[q + verticesPerRow + 1], ps[q + 1], ps[q + verticesPerRow], cs[q + verticesPerRow + 1], cs[q + 1], cs[q + verticesPerRow]);\n }\n }\n break;\n case \"triangles\":\n for (i = 0, ii = ps.length; i < ii; i += 3) {\n drawTriangle(data, context, ps[i], ps[i + 1], ps[i + 2], cs[i], cs[i + 1], cs[i + 2]);\n }\n break;\n default:\n throw new Error(\"illegal figure\");\n }\n}\nclass MeshShadingPattern extends BaseShadingPattern {\n constructor(IR) {\n super();\n this._coords = IR[2];\n this._colors = IR[3];\n this._figures = IR[4];\n this._bounds = IR[5];\n this._bbox = IR[7];\n this._background = IR[8];\n this.matrix = null;\n }\n _createMeshCanvas(combinedScale, backgroundColor, cachedCanvases) {\n const EXPECTED_SCALE = 1.1;\n const MAX_PATTERN_SIZE = 3000;\n const BORDER_SIZE = 2;\n const offsetX = Math.floor(this._bounds[0]);\n const offsetY = Math.floor(this._bounds[1]);\n const boundsWidth = Math.ceil(this._bounds[2]) - offsetX;\n const boundsHeight = Math.ceil(this._bounds[3]) - offsetY;\n const width = Math.min(Math.ceil(Math.abs(boundsWidth * combinedScale[0] * EXPECTED_SCALE)), MAX_PATTERN_SIZE);\n const height = Math.min(Math.ceil(Math.abs(boundsHeight * combinedScale[1] * EXPECTED_SCALE)), MAX_PATTERN_SIZE);\n const scaleX = boundsWidth / width;\n const scaleY = boundsHeight / height;\n const context = {\n coords: this._coords,\n colors: this._colors,\n offsetX: -offsetX,\n offsetY: -offsetY,\n scaleX: 1 / scaleX,\n scaleY: 1 / scaleY\n };\n const paddedWidth = width + BORDER_SIZE * 2;\n const paddedHeight = height + BORDER_SIZE * 2;\n const tmpCanvas = cachedCanvases.getCanvas(\"mesh\", paddedWidth, paddedHeight, false);\n const tmpCtx = tmpCanvas.context;\n const data = tmpCtx.createImageData(width, height);\n if (backgroundColor) {\n const bytes = data.data;\n for (let i = 0, ii = bytes.length; i < ii; i += 4) {\n bytes[i] = backgroundColor[0];\n bytes[i + 1] = backgroundColor[1];\n bytes[i + 2] = backgroundColor[2];\n bytes[i + 3] = 255;\n }\n }\n for (const figure of this._figures) {\n drawFigure(data, figure, context);\n }\n tmpCtx.putImageData(data, BORDER_SIZE, BORDER_SIZE);\n const canvas = tmpCanvas.canvas;\n return {\n canvas,\n offsetX: offsetX - BORDER_SIZE * scaleX,\n offsetY: offsetY - BORDER_SIZE * scaleY,\n scaleX,\n scaleY\n };\n }\n getPattern(ctx, owner, inverse, pathType) {\n applyBoundingBox(ctx, this._bbox);\n let scale;\n if (pathType === PathType.SHADING) {\n scale = _util.Util.singularValueDecompose2dScale((0, _display_utils.getCurrentTransform)(ctx));\n } else {\n scale = _util.Util.singularValueDecompose2dScale(owner.baseTransform);\n if (this.matrix) {\n const matrixScale = _util.Util.singularValueDecompose2dScale(this.matrix);\n scale = [scale[0] * matrixScale[0], scale[1] * matrixScale[1]];\n }\n }\n const temporaryPatternCanvas = this._createMeshCanvas(scale, pathType === PathType.SHADING ? null : this._background, owner.cachedCanvases);\n if (pathType !== PathType.SHADING) {\n ctx.setTransform(...owner.baseTransform);\n if (this.matrix) {\n ctx.transform(...this.matrix);\n }\n }\n ctx.translate(temporaryPatternCanvas.offsetX, temporaryPatternCanvas.offsetY);\n ctx.scale(temporaryPatternCanvas.scaleX, temporaryPatternCanvas.scaleY);\n return ctx.createPattern(temporaryPatternCanvas.canvas, \"no-repeat\");\n }\n}\nclass DummyShadingPattern extends BaseShadingPattern {\n getPattern() {\n return \"hotpink\";\n }\n}\nfunction getShadingPattern(IR) {\n switch (IR[0]) {\n case \"RadialAxial\":\n return new RadialAxialShadingPattern(IR);\n case \"Mesh\":\n return new MeshShadingPattern(IR);\n case \"Dummy\":\n return new DummyShadingPattern();\n }\n throw new Error(`Unknown IR type: ${IR[0]}`);\n}\nconst PaintType = {\n COLORED: 1,\n UNCOLORED: 2\n};\nclass TilingPattern {\n static MAX_PATTERN_SIZE = 3000;\n constructor(IR, color, ctx, canvasGraphicsFactory, baseTransform) {\n this.operatorList = IR[2];\n this.matrix = IR[3] || [1, 0, 0, 1, 0, 0];\n this.bbox = IR[4];\n this.xstep = IR[5];\n this.ystep = IR[6];\n this.paintType = IR[7];\n this.tilingType = IR[8];\n this.color = color;\n this.ctx = ctx;\n this.canvasGraphicsFactory = canvasGraphicsFactory;\n this.baseTransform = baseTransform;\n }\n createPatternCanvas(owner) {\n const operatorList = this.operatorList;\n const bbox = this.bbox;\n const xstep = this.xstep;\n const ystep = this.ystep;\n const paintType = this.paintType;\n const tilingType = this.tilingType;\n const color = this.color;\n const canvasGraphicsFactory = this.canvasGraphicsFactory;\n (0, _util.info)(\"TilingType: \" + tilingType);\n const x0 = bbox[0],\n y0 = bbox[1],\n x1 = bbox[2],\n y1 = bbox[3];\n const matrixScale = _util.Util.singularValueDecompose2dScale(this.matrix);\n const curMatrixScale = _util.Util.singularValueDecompose2dScale(this.baseTransform);\n const combinedScale = [matrixScale[0] * curMatrixScale[0], matrixScale[1] * curMatrixScale[1]];\n const dimx = this.getSizeAndScale(xstep, this.ctx.canvas.width, combinedScale[0]);\n const dimy = this.getSizeAndScale(ystep, this.ctx.canvas.height, combinedScale[1]);\n const tmpCanvas = owner.cachedCanvases.getCanvas(\"pattern\", dimx.size, dimy.size, true);\n const tmpCtx = tmpCanvas.context;\n const graphics = canvasGraphicsFactory.createCanvasGraphics(tmpCtx);\n graphics.groupLevel = owner.groupLevel;\n this.setFillAndStrokeStyleToContext(graphics, paintType, color);\n let adjustedX0 = x0;\n let adjustedY0 = y0;\n let adjustedX1 = x1;\n let adjustedY1 = y1;\n if (x0 < 0) {\n adjustedX0 = 0;\n adjustedX1 += Math.abs(x0);\n }\n if (y0 < 0) {\n adjustedY0 = 0;\n adjustedY1 += Math.abs(y0);\n }\n tmpCtx.translate(-(dimx.scale * adjustedX0), -(dimy.scale * adjustedY0));\n graphics.transform(dimx.scale, 0, 0, dimy.scale, 0, 0);\n tmpCtx.save();\n this.clipBbox(graphics, adjustedX0, adjustedY0, adjustedX1, adjustedY1);\n graphics.baseTransform = (0, _display_utils.getCurrentTransform)(graphics.ctx);\n graphics.executeOperatorList(operatorList);\n graphics.endDrawing();\n return {\n canvas: tmpCanvas.canvas,\n scaleX: dimx.scale,\n scaleY: dimy.scale,\n offsetX: adjustedX0,\n offsetY: adjustedY0\n };\n }\n getSizeAndScale(step, realOutputSize, scale) {\n step = Math.abs(step);\n const maxSize = Math.max(TilingPattern.MAX_PATTERN_SIZE, realOutputSize);\n let size = Math.ceil(step * scale);\n if (size >= maxSize) {\n size = maxSize;\n } else {\n scale = size / step;\n }\n return {\n scale,\n size\n };\n }\n clipBbox(graphics, x0, y0, x1, y1) {\n const bboxWidth = x1 - x0;\n const bboxHeight = y1 - y0;\n graphics.ctx.rect(x0, y0, bboxWidth, bboxHeight);\n graphics.current.updateRectMinMax((0, _display_utils.getCurrentTransform)(graphics.ctx), [x0, y0, x1, y1]);\n graphics.clip();\n graphics.endPath();\n }\n setFillAndStrokeStyleToContext(graphics, paintType, color) {\n const context = graphics.ctx,\n current = graphics.current;\n switch (paintType) {\n case PaintType.COLORED:\n const ctx = this.ctx;\n context.fillStyle = ctx.fillStyle;\n context.strokeStyle = ctx.strokeStyle;\n current.fillColor = ctx.fillStyle;\n current.strokeColor = ctx.strokeStyle;\n break;\n case PaintType.UNCOLORED:\n const cssColor = _util.Util.makeHexColor(color[0], color[1], color[2]);\n context.fillStyle = cssColor;\n context.strokeStyle = cssColor;\n current.fillColor = cssColor;\n current.strokeColor = cssColor;\n break;\n default:\n throw new _util.FormatError(`Unsupported paint type: ${paintType}`);\n }\n }\n getPattern(ctx, owner, inverse, pathType) {\n let matrix = inverse;\n if (pathType !== PathType.SHADING) {\n matrix = _util.Util.transform(matrix, owner.baseTransform);\n if (this.matrix) {\n matrix = _util.Util.transform(matrix, this.matrix);\n }\n }\n const temporaryPatternCanvas = this.createPatternCanvas(owner);\n let domMatrix = new DOMMatrix(matrix);\n domMatrix = domMatrix.translate(temporaryPatternCanvas.offsetX, temporaryPatternCanvas.offsetY);\n domMatrix = domMatrix.scale(1 / temporaryPatternCanvas.scaleX, 1 / temporaryPatternCanvas.scaleY);\n const pattern = ctx.createPattern(temporaryPatternCanvas.canvas, \"repeat\");\n pattern.setTransform(domMatrix);\n return pattern;\n }\n}\nexports.TilingPattern = TilingPattern;\n\n/***/ }),\n/* 13 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.convertBlackAndWhiteToRGBA = convertBlackAndWhiteToRGBA;\nexports.convertToRGBA = convertToRGBA;\nexports.grayToRGBA = grayToRGBA;\nvar _util = __w_pdfjs_require__(1);\nfunction convertToRGBA(params) {\n switch (params.kind) {\n case _util.ImageKind.GRAYSCALE_1BPP:\n return convertBlackAndWhiteToRGBA(params);\n case _util.ImageKind.RGB_24BPP:\n return convertRGBToRGBA(params);\n }\n return null;\n}\nfunction convertBlackAndWhiteToRGBA({\n src,\n srcPos = 0,\n dest,\n width,\n height,\n nonBlackColor = 0xffffffff,\n inverseDecode = false\n}) {\n const black = _util.FeatureTest.isLittleEndian ? 0xff000000 : 0x000000ff;\n const [zeroMapping, oneMapping] = inverseDecode ? [nonBlackColor, black] : [black, nonBlackColor];\n const widthInSource = width >> 3;\n const widthRemainder = width & 7;\n const srcLength = src.length;\n dest = new Uint32Array(dest.buffer);\n let destPos = 0;\n for (let i = 0; i < height; i++) {\n for (const max = srcPos + widthInSource; srcPos < max; srcPos++) {\n const elem = srcPos < srcLength ? src[srcPos] : 255;\n dest[destPos++] = elem & 0b10000000 ? oneMapping : zeroMapping;\n dest[destPos++] = elem & 0b1000000 ? oneMapping : zeroMapping;\n dest[destPos++] = elem & 0b100000 ? oneMapping : zeroMapping;\n dest[destPos++] = elem & 0b10000 ? oneMapping : zeroMapping;\n dest[destPos++] = elem & 0b1000 ? oneMapping : zeroMapping;\n dest[destPos++] = elem & 0b100 ? oneMapping : zeroMapping;\n dest[destPos++] = elem & 0b10 ? oneMapping : zeroMapping;\n dest[destPos++] = elem & 0b1 ? oneMapping : zeroMapping;\n }\n if (widthRemainder === 0) {\n continue;\n }\n const elem = srcPos < srcLength ? src[srcPos++] : 255;\n for (let j = 0; j < widthRemainder; j++) {\n dest[destPos++] = elem & 1 << 7 - j ? oneMapping : zeroMapping;\n }\n }\n return {\n srcPos,\n destPos\n };\n}\nfunction convertRGBToRGBA({\n src,\n srcPos = 0,\n dest,\n destPos = 0,\n width,\n height\n}) {\n let i = 0;\n const len32 = src.length >> 2;\n const src32 = new Uint32Array(src.buffer, srcPos, len32);\n if (_util.FeatureTest.isLittleEndian) {\n for (; i < len32 - 2; i += 3, destPos += 4) {\n const s1 = src32[i];\n const s2 = src32[i + 1];\n const s3 = src32[i + 2];\n dest[destPos] = s1 | 0xff000000;\n dest[destPos + 1] = s1 >>> 24 | s2 << 8 | 0xff000000;\n dest[destPos + 2] = s2 >>> 16 | s3 << 16 | 0xff000000;\n dest[destPos + 3] = s3 >>> 8 | 0xff000000;\n }\n for (let j = i * 4, jj = src.length; j < jj; j += 3) {\n dest[destPos++] = src[j] | src[j + 1] << 8 | src[j + 2] << 16 | 0xff000000;\n }\n } else {\n for (; i < len32 - 2; i += 3, destPos += 4) {\n const s1 = src32[i];\n const s2 = src32[i + 1];\n const s3 = src32[i + 2];\n dest[destPos] = s1 | 0xff;\n dest[destPos + 1] = s1 << 24 | s2 >>> 8 | 0xff;\n dest[destPos + 2] = s2 << 16 | s3 >>> 16 | 0xff;\n dest[destPos + 3] = s3 << 8 | 0xff;\n }\n for (let j = i * 4, jj = src.length; j < jj; j += 3) {\n dest[destPos++] = src[j] << 24 | src[j + 1] << 16 | src[j + 2] << 8 | 0xff;\n }\n }\n return {\n srcPos,\n destPos\n };\n}\nfunction grayToRGBA(src, dest) {\n if (_util.FeatureTest.isLittleEndian) {\n for (let i = 0, ii = src.length; i < ii; i++) {\n dest[i] = src[i] * 0x10101 | 0xff000000;\n }\n } else {\n for (let i = 0, ii = src.length; i < ii; i++) {\n dest[i] = src[i] * 0x1010100 | 0x000000ff;\n }\n }\n}\n\n/***/ }),\n/* 14 */\n/***/ ((__unused_webpack_module, exports) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.GlobalWorkerOptions = void 0;\nconst GlobalWorkerOptions = Object.create(null);\nexports.GlobalWorkerOptions = GlobalWorkerOptions;\nGlobalWorkerOptions.workerPort = null;\nGlobalWorkerOptions.workerSrc = \"\";\n\n/***/ }),\n/* 15 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.MessageHandler = void 0;\nvar _util = __w_pdfjs_require__(1);\nconst CallbackKind = {\n UNKNOWN: 0,\n DATA: 1,\n ERROR: 2\n};\nconst StreamKind = {\n UNKNOWN: 0,\n CANCEL: 1,\n CANCEL_COMPLETE: 2,\n CLOSE: 3,\n ENQUEUE: 4,\n ERROR: 5,\n PULL: 6,\n PULL_COMPLETE: 7,\n START_COMPLETE: 8\n};\nfunction wrapReason(reason) {\n if (!(reason instanceof Error || typeof reason === \"object\" && reason !== null)) {\n (0, _util.unreachable)('wrapReason: Expected \"reason\" to be a (possibly cloned) Error.');\n }\n switch (reason.name) {\n case \"AbortException\":\n return new _util.AbortException(reason.message);\n case \"MissingPDFException\":\n return new _util.MissingPDFException(reason.message);\n case \"PasswordException\":\n return new _util.PasswordException(reason.message, reason.code);\n case \"UnexpectedResponseException\":\n return new _util.UnexpectedResponseException(reason.message, reason.status);\n case \"UnknownErrorException\":\n return new _util.UnknownErrorException(reason.message, reason.details);\n default:\n return new _util.UnknownErrorException(reason.message, reason.toString());\n }\n}\nclass MessageHandler {\n constructor(sourceName, targetName, comObj) {\n this.sourceName = sourceName;\n this.targetName = targetName;\n this.comObj = comObj;\n this.callbackId = 1;\n this.streamId = 1;\n this.streamSinks = Object.create(null);\n this.streamControllers = Object.create(null);\n this.callbackCapabilities = Object.create(null);\n this.actionHandler = Object.create(null);\n this._onComObjOnMessage = event => {\n const data = event.data;\n if (data.targetName !== this.sourceName) {\n return;\n }\n if (data.stream) {\n this.#processStreamMessage(data);\n return;\n }\n if (data.callback) {\n const callbackId = data.callbackId;\n const capability = this.callbackCapabilities[callbackId];\n if (!capability) {\n throw new Error(`Cannot resolve callback ${callbackId}`);\n }\n delete this.callbackCapabilities[callbackId];\n if (data.callback === CallbackKind.DATA) {\n capability.resolve(data.data);\n } else if (data.callback === CallbackKind.ERROR) {\n capability.reject(wrapReason(data.reason));\n } else {\n throw new Error(\"Unexpected callback case\");\n }\n return;\n }\n const action = this.actionHandler[data.action];\n if (!action) {\n throw new Error(`Unknown action from worker: ${data.action}`);\n }\n if (data.callbackId) {\n const cbSourceName = this.sourceName;\n const cbTargetName = data.sourceName;\n new Promise(function (resolve) {\n resolve(action(data.data));\n }).then(function (result) {\n comObj.postMessage({\n sourceName: cbSourceName,\n targetName: cbTargetName,\n callback: CallbackKind.DATA,\n callbackId: data.callbackId,\n data: result\n });\n }, function (reason) {\n comObj.postMessage({\n sourceName: cbSourceName,\n targetName: cbTargetName,\n callback: CallbackKind.ERROR,\n callbackId: data.callbackId,\n reason: wrapReason(reason)\n });\n });\n return;\n }\n if (data.streamId) {\n this.#createStreamSink(data);\n return;\n }\n action(data.data);\n };\n comObj.addEventListener(\"message\", this._onComObjOnMessage);\n }\n on(actionName, handler) {\n const ah = this.actionHandler;\n if (ah[actionName]) {\n throw new Error(`There is already an actionName called \"${actionName}\"`);\n }\n ah[actionName] = handler;\n }\n send(actionName, data, transfers) {\n this.comObj.postMessage({\n sourceName: this.sourceName,\n targetName: this.targetName,\n action: actionName,\n data\n }, transfers);\n }\n sendWithPromise(actionName, data, transfers) {\n const callbackId = this.callbackId++;\n const capability = new _util.PromiseCapability();\n this.callbackCapabilities[callbackId] = capability;\n try {\n this.comObj.postMessage({\n sourceName: this.sourceName,\n targetName: this.targetName,\n action: actionName,\n callbackId,\n data\n }, transfers);\n } catch (ex) {\n capability.reject(ex);\n }\n return capability.promise;\n }\n sendWithStream(actionName, data, queueingStrategy, transfers) {\n const streamId = this.streamId++,\n sourceName = this.sourceName,\n targetName = this.targetName,\n comObj = this.comObj;\n return new ReadableStream({\n start: controller => {\n const startCapability = new _util.PromiseCapability();\n this.streamControllers[streamId] = {\n controller,\n startCall: startCapability,\n pullCall: null,\n cancelCall: null,\n isClosed: false\n };\n comObj.postMessage({\n sourceName,\n targetName,\n action: actionName,\n streamId,\n data,\n desiredSize: controller.desiredSize\n }, transfers);\n return startCapability.promise;\n },\n pull: controller => {\n const pullCapability = new _util.PromiseCapability();\n this.streamControllers[streamId].pullCall = pullCapability;\n comObj.postMessage({\n sourceName,\n targetName,\n stream: StreamKind.PULL,\n streamId,\n desiredSize: controller.desiredSize\n });\n return pullCapability.promise;\n },\n cancel: reason => {\n (0, _util.assert)(reason instanceof Error, \"cancel must have a valid reason\");\n const cancelCapability = new _util.PromiseCapability();\n this.streamControllers[streamId].cancelCall = cancelCapability;\n this.streamControllers[streamId].isClosed = true;\n comObj.postMessage({\n sourceName,\n targetName,\n stream: StreamKind.CANCEL,\n streamId,\n reason: wrapReason(reason)\n });\n return cancelCapability.promise;\n }\n }, queueingStrategy);\n }\n #createStreamSink(data) {\n const streamId = data.streamId,\n sourceName = this.sourceName,\n targetName = data.sourceName,\n comObj = this.comObj;\n const self = this,\n action = this.actionHandler[data.action];\n const streamSink = {\n enqueue(chunk, size = 1, transfers) {\n if (this.isCancelled) {\n return;\n }\n const lastDesiredSize = this.desiredSize;\n this.desiredSize -= size;\n if (lastDesiredSize > 0 && this.desiredSize <= 0) {\n this.sinkCapability = new _util.PromiseCapability();\n this.ready = this.sinkCapability.promise;\n }\n comObj.postMessage({\n sourceName,\n targetName,\n stream: StreamKind.ENQUEUE,\n streamId,\n chunk\n }, transfers);\n },\n close() {\n if (this.isCancelled) {\n return;\n }\n this.isCancelled = true;\n comObj.postMessage({\n sourceName,\n targetName,\n stream: StreamKind.CLOSE,\n streamId\n });\n delete self.streamSinks[streamId];\n },\n error(reason) {\n (0, _util.assert)(reason instanceof Error, \"error must have a valid reason\");\n if (this.isCancelled) {\n return;\n }\n this.isCancelled = true;\n comObj.postMessage({\n sourceName,\n targetName,\n stream: StreamKind.ERROR,\n streamId,\n reason: wrapReason(reason)\n });\n },\n sinkCapability: new _util.PromiseCapability(),\n onPull: null,\n onCancel: null,\n isCancelled: false,\n desiredSize: data.desiredSize,\n ready: null\n };\n streamSink.sinkCapability.resolve();\n streamSink.ready = streamSink.sinkCapability.promise;\n this.streamSinks[streamId] = streamSink;\n new Promise(function (resolve) {\n resolve(action(data.data, streamSink));\n }).then(function () {\n comObj.postMessage({\n sourceName,\n targetName,\n stream: StreamKind.START_COMPLETE,\n streamId,\n success: true\n });\n }, function (reason) {\n comObj.postMessage({\n sourceName,\n targetName,\n stream: StreamKind.START_COMPLETE,\n streamId,\n reason: wrapReason(reason)\n });\n });\n }\n #processStreamMessage(data) {\n const streamId = data.streamId,\n sourceName = this.sourceName,\n targetName = data.sourceName,\n comObj = this.comObj;\n const streamController = this.streamControllers[streamId],\n streamSink = this.streamSinks[streamId];\n switch (data.stream) {\n case StreamKind.START_COMPLETE:\n if (data.success) {\n streamController.startCall.resolve();\n } else {\n streamController.startCall.reject(wrapReason(data.reason));\n }\n break;\n case StreamKind.PULL_COMPLETE:\n if (data.success) {\n streamController.pullCall.resolve();\n } else {\n streamController.pullCall.reject(wrapReason(data.reason));\n }\n break;\n case StreamKind.PULL:\n if (!streamSink) {\n comObj.postMessage({\n sourceName,\n targetName,\n stream: StreamKind.PULL_COMPLETE,\n streamId,\n success: true\n });\n break;\n }\n if (streamSink.desiredSize <= 0 && data.desiredSize > 0) {\n streamSink.sinkCapability.resolve();\n }\n streamSink.desiredSize = data.desiredSize;\n new Promise(function (resolve) {\n resolve(streamSink.onPull?.());\n }).then(function () {\n comObj.postMessage({\n sourceName,\n targetName,\n stream: StreamKind.PULL_COMPLETE,\n streamId,\n success: true\n });\n }, function (reason) {\n comObj.postMessage({\n sourceName,\n targetName,\n stream: StreamKind.PULL_COMPLETE,\n streamId,\n reason: wrapReason(reason)\n });\n });\n break;\n case StreamKind.ENQUEUE:\n (0, _util.assert)(streamController, \"enqueue should have stream controller\");\n if (streamController.isClosed) {\n break;\n }\n streamController.controller.enqueue(data.chunk);\n break;\n case StreamKind.CLOSE:\n (0, _util.assert)(streamController, \"close should have stream controller\");\n if (streamController.isClosed) {\n break;\n }\n streamController.isClosed = true;\n streamController.controller.close();\n this.#deleteStreamController(streamController, streamId);\n break;\n case StreamKind.ERROR:\n (0, _util.assert)(streamController, \"error should have stream controller\");\n streamController.controller.error(wrapReason(data.reason));\n this.#deleteStreamController(streamController, streamId);\n break;\n case StreamKind.CANCEL_COMPLETE:\n if (data.success) {\n streamController.cancelCall.resolve();\n } else {\n streamController.cancelCall.reject(wrapReason(data.reason));\n }\n this.#deleteStreamController(streamController, streamId);\n break;\n case StreamKind.CANCEL:\n if (!streamSink) {\n break;\n }\n new Promise(function (resolve) {\n resolve(streamSink.onCancel?.(wrapReason(data.reason)));\n }).then(function () {\n comObj.postMessage({\n sourceName,\n targetName,\n stream: StreamKind.CANCEL_COMPLETE,\n streamId,\n success: true\n });\n }, function (reason) {\n comObj.postMessage({\n sourceName,\n targetName,\n stream: StreamKind.CANCEL_COMPLETE,\n streamId,\n reason: wrapReason(reason)\n });\n });\n streamSink.sinkCapability.reject(wrapReason(data.reason));\n streamSink.isCancelled = true;\n delete this.streamSinks[streamId];\n break;\n default:\n throw new Error(\"Unexpected stream case\");\n }\n }\n async #deleteStreamController(streamController, streamId) {\n await Promise.allSettled([streamController.startCall?.promise, streamController.pullCall?.promise, streamController.cancelCall?.promise]);\n delete this.streamControllers[streamId];\n }\n destroy() {\n this.comObj.removeEventListener(\"message\", this._onComObjOnMessage);\n }\n}\nexports.MessageHandler = MessageHandler;\n\n/***/ }),\n/* 16 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.Metadata = void 0;\nvar _util = __w_pdfjs_require__(1);\nclass Metadata {\n #metadataMap;\n #data;\n constructor({\n parsedData,\n rawData\n }) {\n this.#metadataMap = parsedData;\n this.#data = rawData;\n }\n getRaw() {\n return this.#data;\n }\n get(name) {\n return this.#metadataMap.get(name) ?? null;\n }\n getAll() {\n return (0, _util.objectFromMap)(this.#metadataMap);\n }\n has(name) {\n return this.#metadataMap.has(name);\n }\n}\nexports.Metadata = Metadata;\n\n/***/ }),\n/* 17 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.OptionalContentConfig = void 0;\nvar _util = __w_pdfjs_require__(1);\nvar _murmurhash = __w_pdfjs_require__(8);\nconst INTERNAL = Symbol(\"INTERNAL\");\nclass OptionalContentGroup {\n #visible = true;\n constructor(name, intent) {\n this.name = name;\n this.intent = intent;\n }\n get visible() {\n return this.#visible;\n }\n _setVisible(internal, visible) {\n if (internal !== INTERNAL) {\n (0, _util.unreachable)(\"Internal method `_setVisible` called.\");\n }\n this.#visible = visible;\n }\n}\nclass OptionalContentConfig {\n #cachedGetHash = null;\n #groups = new Map();\n #initialHash = null;\n #order = null;\n constructor(data) {\n this.name = null;\n this.creator = null;\n if (data === null) {\n return;\n }\n this.name = data.name;\n this.creator = data.creator;\n this.#order = data.order;\n for (const group of data.groups) {\n this.#groups.set(group.id, new OptionalContentGroup(group.name, group.intent));\n }\n if (data.baseState === \"OFF\") {\n for (const group of this.#groups.values()) {\n group._setVisible(INTERNAL, false);\n }\n }\n for (const on of data.on) {\n this.#groups.get(on)._setVisible(INTERNAL, true);\n }\n for (const off of data.off) {\n this.#groups.get(off)._setVisible(INTERNAL, false);\n }\n this.#initialHash = this.getHash();\n }\n #evaluateVisibilityExpression(array) {\n const length = array.length;\n if (length < 2) {\n return true;\n }\n const operator = array[0];\n for (let i = 1; i < length; i++) {\n const element = array[i];\n let state;\n if (Array.isArray(element)) {\n state = this.#evaluateVisibilityExpression(element);\n } else if (this.#groups.has(element)) {\n state = this.#groups.get(element).visible;\n } else {\n (0, _util.warn)(`Optional content group not found: ${element}`);\n return true;\n }\n switch (operator) {\n case \"And\":\n if (!state) {\n return false;\n }\n break;\n case \"Or\":\n if (state) {\n return true;\n }\n break;\n case \"Not\":\n return !state;\n default:\n return true;\n }\n }\n return operator === \"And\";\n }\n isVisible(group) {\n if (this.#groups.size === 0) {\n return true;\n }\n if (!group) {\n (0, _util.warn)(\"Optional content group not defined.\");\n return true;\n }\n if (group.type === \"OCG\") {\n if (!this.#groups.has(group.id)) {\n (0, _util.warn)(`Optional content group not found: ${group.id}`);\n return true;\n }\n return this.#groups.get(group.id).visible;\n } else if (group.type === \"OCMD\") {\n if (group.expression) {\n return this.#evaluateVisibilityExpression(group.expression);\n }\n if (!group.policy || group.policy === \"AnyOn\") {\n for (const id of group.ids) {\n if (!this.#groups.has(id)) {\n (0, _util.warn)(`Optional content group not found: ${id}`);\n return true;\n }\n if (this.#groups.get(id).visible) {\n return true;\n }\n }\n return false;\n } else if (group.policy === \"AllOn\") {\n for (const id of group.ids) {\n if (!this.#groups.has(id)) {\n (0, _util.warn)(`Optional content group not found: ${id}`);\n return true;\n }\n if (!this.#groups.get(id).visible) {\n return false;\n }\n }\n return true;\n } else if (group.policy === \"AnyOff\") {\n for (const id of group.ids) {\n if (!this.#groups.has(id)) {\n (0, _util.warn)(`Optional content group not found: ${id}`);\n return true;\n }\n if (!this.#groups.get(id).visible) {\n return true;\n }\n }\n return false;\n } else if (group.policy === \"AllOff\") {\n for (const id of group.ids) {\n if (!this.#groups.has(id)) {\n (0, _util.warn)(`Optional content group not found: ${id}`);\n return true;\n }\n if (this.#groups.get(id).visible) {\n return false;\n }\n }\n return true;\n }\n (0, _util.warn)(`Unknown optional content policy ${group.policy}.`);\n return true;\n }\n (0, _util.warn)(`Unknown group type ${group.type}.`);\n return true;\n }\n setVisibility(id, visible = true) {\n if (!this.#groups.has(id)) {\n (0, _util.warn)(`Optional content group not found: ${id}`);\n return;\n }\n this.#groups.get(id)._setVisible(INTERNAL, !!visible);\n this.#cachedGetHash = null;\n }\n get hasInitialVisibility() {\n return this.getHash() === this.#initialHash;\n }\n getOrder() {\n if (!this.#groups.size) {\n return null;\n }\n if (this.#order) {\n return this.#order.slice();\n }\n return [...this.#groups.keys()];\n }\n getGroups() {\n return this.#groups.size > 0 ? (0, _util.objectFromMap)(this.#groups) : null;\n }\n getGroup(id) {\n return this.#groups.get(id) || null;\n }\n getHash() {\n if (this.#cachedGetHash !== null) {\n return this.#cachedGetHash;\n }\n const hash = new _murmurhash.MurmurHash3_64();\n for (const [id, group] of this.#groups) {\n hash.update(`${id}:${group.visible}`);\n }\n return this.#cachedGetHash = hash.hexdigest();\n }\n}\nexports.OptionalContentConfig = OptionalContentConfig;\n\n/***/ }),\n/* 18 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.PDFDataTransportStream = void 0;\nvar _util = __w_pdfjs_require__(1);\nvar _display_utils = __w_pdfjs_require__(6);\nclass PDFDataTransportStream {\n constructor({\n length,\n initialData,\n progressiveDone = false,\n contentDispositionFilename = null,\n disableRange = false,\n disableStream = false\n }, pdfDataRangeTransport) {\n (0, _util.assert)(pdfDataRangeTransport, 'PDFDataTransportStream - missing required \"pdfDataRangeTransport\" argument.');\n this._queuedChunks = [];\n this._progressiveDone = progressiveDone;\n this._contentDispositionFilename = contentDispositionFilename;\n if (initialData?.length > 0) {\n const buffer = initialData instanceof Uint8Array && initialData.byteLength === initialData.buffer.byteLength ? initialData.buffer : new Uint8Array(initialData).buffer;\n this._queuedChunks.push(buffer);\n }\n this._pdfDataRangeTransport = pdfDataRangeTransport;\n this._isStreamingSupported = !disableStream;\n this._isRangeSupported = !disableRange;\n this._contentLength = length;\n this._fullRequestReader = null;\n this._rangeReaders = [];\n this._pdfDataRangeTransport.addRangeListener((begin, chunk) => {\n this._onReceiveData({\n begin,\n chunk\n });\n });\n this._pdfDataRangeTransport.addProgressListener((loaded, total) => {\n this._onProgress({\n loaded,\n total\n });\n });\n this._pdfDataRangeTransport.addProgressiveReadListener(chunk => {\n this._onReceiveData({\n chunk\n });\n });\n this._pdfDataRangeTransport.addProgressiveDoneListener(() => {\n this._onProgressiveDone();\n });\n this._pdfDataRangeTransport.transportReady();\n }\n _onReceiveData({\n begin,\n chunk\n }) {\n const buffer = chunk instanceof Uint8Array && chunk.byteLength === chunk.buffer.byteLength ? chunk.buffer : new Uint8Array(chunk).buffer;\n if (begin === undefined) {\n if (this._fullRequestReader) {\n this._fullRequestReader._enqueue(buffer);\n } else {\n this._queuedChunks.push(buffer);\n }\n } else {\n const found = this._rangeReaders.some(function (rangeReader) {\n if (rangeReader._begin !== begin) {\n return false;\n }\n rangeReader._enqueue(buffer);\n return true;\n });\n (0, _util.assert)(found, \"_onReceiveData - no `PDFDataTransportStreamRangeReader` instance found.\");\n }\n }\n get _progressiveDataLength() {\n return this._fullRequestReader?._loaded ?? 0;\n }\n _onProgress(evt) {\n if (evt.total === undefined) {\n this._rangeReaders[0]?.onProgress?.({\n loaded: evt.loaded\n });\n } else {\n this._fullRequestReader?.onProgress?.({\n loaded: evt.loaded,\n total: evt.total\n });\n }\n }\n _onProgressiveDone() {\n this._fullRequestReader?.progressiveDone();\n this._progressiveDone = true;\n }\n _removeRangeReader(reader) {\n const i = this._rangeReaders.indexOf(reader);\n if (i >= 0) {\n this._rangeReaders.splice(i, 1);\n }\n }\n getFullReader() {\n (0, _util.assert)(!this._fullRequestReader, \"PDFDataTransportStream.getFullReader can only be called once.\");\n const queuedChunks = this._queuedChunks;\n this._queuedChunks = null;\n return new PDFDataTransportStreamReader(this, queuedChunks, this._progressiveDone, this._contentDispositionFilename);\n }\n getRangeReader(begin, end) {\n if (end <= this._progressiveDataLength) {\n return null;\n }\n const reader = new PDFDataTransportStreamRangeReader(this, begin, end);\n this._pdfDataRangeTransport.requestDataRange(begin, end);\n this._rangeReaders.push(reader);\n return reader;\n }\n cancelAllRequests(reason) {\n this._fullRequestReader?.cancel(reason);\n for (const reader of this._rangeReaders.slice(0)) {\n reader.cancel(reason);\n }\n this._pdfDataRangeTransport.abort();\n }\n}\nexports.PDFDataTransportStream = PDFDataTransportStream;\nclass PDFDataTransportStreamReader {\n constructor(stream, queuedChunks, progressiveDone = false, contentDispositionFilename = null) {\n this._stream = stream;\n this._done = progressiveDone || false;\n this._filename = (0, _display_utils.isPdfFile)(contentDispositionFilename) ? contentDispositionFilename : null;\n this._queuedChunks = queuedChunks || [];\n this._loaded = 0;\n for (const chunk of this._queuedChunks) {\n this._loaded += chunk.byteLength;\n }\n this._requests = [];\n this._headersReady = Promise.resolve();\n stream._fullRequestReader = this;\n this.onProgress = null;\n }\n _enqueue(chunk) {\n if (this._done) {\n return;\n }\n if (this._requests.length > 0) {\n const requestCapability = this._requests.shift();\n requestCapability.resolve({\n value: chunk,\n done: false\n });\n } else {\n this._queuedChunks.push(chunk);\n }\n this._loaded += chunk.byteLength;\n }\n get headersReady() {\n return this._headersReady;\n }\n get filename() {\n return this._filename;\n }\n get isRangeSupported() {\n return this._stream._isRangeSupported;\n }\n get isStreamingSupported() {\n return this._stream._isStreamingSupported;\n }\n get contentLength() {\n return this._stream._contentLength;\n }\n async read() {\n if (this._queuedChunks.length > 0) {\n const chunk = this._queuedChunks.shift();\n return {\n value: chunk,\n done: false\n };\n }\n if (this._done) {\n return {\n value: undefined,\n done: true\n };\n }\n const requestCapability = new _util.PromiseCapability();\n this._requests.push(requestCapability);\n return requestCapability.promise;\n }\n cancel(reason) {\n this._done = true;\n for (const requestCapability of this._requests) {\n requestCapability.resolve({\n value: undefined,\n done: true\n });\n }\n this._requests.length = 0;\n }\n progressiveDone() {\n if (this._done) {\n return;\n }\n this._done = true;\n }\n}\nclass PDFDataTransportStreamRangeReader {\n constructor(stream, begin, end) {\n this._stream = stream;\n this._begin = begin;\n this._end = end;\n this._queuedChunk = null;\n this._requests = [];\n this._done = false;\n this.onProgress = null;\n }\n _enqueue(chunk) {\n if (this._done) {\n return;\n }\n if (this._requests.length === 0) {\n this._queuedChunk = chunk;\n } else {\n const requestsCapability = this._requests.shift();\n requestsCapability.resolve({\n value: chunk,\n done: false\n });\n for (const requestCapability of this._requests) {\n requestCapability.resolve({\n value: undefined,\n done: true\n });\n }\n this._requests.length = 0;\n }\n this._done = true;\n this._stream._removeRangeReader(this);\n }\n get isStreamingSupported() {\n return false;\n }\n async read() {\n if (this._queuedChunk) {\n const chunk = this._queuedChunk;\n this._queuedChunk = null;\n return {\n value: chunk,\n done: false\n };\n }\n if (this._done) {\n return {\n value: undefined,\n done: true\n };\n }\n const requestCapability = new _util.PromiseCapability();\n this._requests.push(requestCapability);\n return requestCapability.promise;\n }\n cancel(reason) {\n this._done = true;\n for (const requestCapability of this._requests) {\n requestCapability.resolve({\n value: undefined,\n done: true\n });\n }\n this._requests.length = 0;\n this._stream._removeRangeReader(this);\n }\n}\n\n/***/ }),\n/* 19 */\n/***/ ((__unused_webpack_module, exports) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.XfaText = void 0;\nclass XfaText {\n static textContent(xfa) {\n const items = [];\n const output = {\n items,\n styles: Object.create(null)\n };\n function walk(node) {\n if (!node) {\n return;\n }\n let str = null;\n const name = node.name;\n if (name === \"#text\") {\n str = node.value;\n } else if (!XfaText.shouldBuildText(name)) {\n return;\n } else if (node?.attributes?.textContent) {\n str = node.attributes.textContent;\n } else if (node.value) {\n str = node.value;\n }\n if (str !== null) {\n items.push({\n str\n });\n }\n if (!node.children) {\n return;\n }\n for (const child of node.children) {\n walk(child);\n }\n }\n walk(xfa);\n return output;\n }\n static shouldBuildText(name) {\n return !(name === \"textarea\" || name === \"input\" || name === \"option\" || name === \"select\");\n }\n}\nexports.XfaText = XfaText;\n\n/***/ }),\n/* 20 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.NodeStandardFontDataFactory = exports.NodeFilterFactory = exports.NodeCanvasFactory = exports.NodeCMapReaderFactory = void 0;\nvar _base_factory = __w_pdfjs_require__(7);\n;\nconst fetchData = function (url) {\n return new Promise((resolve, reject) => {\n const fs = require(\"fs\");\n fs.readFile(url, (error, data) => {\n if (error || !data) {\n reject(new Error(error));\n return;\n }\n resolve(new Uint8Array(data));\n });\n });\n};\nclass NodeFilterFactory extends _base_factory.BaseFilterFactory {}\nexports.NodeFilterFactory = NodeFilterFactory;\nclass NodeCanvasFactory extends _base_factory.BaseCanvasFactory {\n _createCanvas(width, height) {\n const Canvas = require(\"canvas\");\n return Canvas.createCanvas(width, height);\n }\n}\nexports.NodeCanvasFactory = NodeCanvasFactory;\nclass NodeCMapReaderFactory extends _base_factory.BaseCMapReaderFactory {\n _fetchData(url, compressionType) {\n return fetchData(url).then(data => {\n return {\n cMapData: data,\n compressionType\n };\n });\n }\n}\nexports.NodeCMapReaderFactory = NodeCMapReaderFactory;\nclass NodeStandardFontDataFactory extends _base_factory.BaseStandardFontDataFactory {\n _fetchData(url) {\n return fetchData(url);\n }\n}\nexports.NodeStandardFontDataFactory = NodeStandardFontDataFactory;\n\n/***/ }),\n/* 21 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.PDFNodeStream = void 0;\nvar _util = __w_pdfjs_require__(1);\nvar _network_utils = __w_pdfjs_require__(22);\n;\nconst fs = require(\"fs\");\nconst http = require(\"http\");\nconst https = require(\"https\");\nconst url = require(\"url\");\nconst fileUriRegex = /^file:\\/\\/\\/[a-zA-Z]:\\//;\nfunction parseUrl(sourceUrl) {\n const parsedUrl = url.parse(sourceUrl);\n if (parsedUrl.protocol === \"file:\" || parsedUrl.host) {\n return parsedUrl;\n }\n if (/^[a-z]:[/\\\\]/i.test(sourceUrl)) {\n return url.parse(`file:///${sourceUrl}`);\n }\n if (!parsedUrl.host) {\n parsedUrl.protocol = \"file:\";\n }\n return parsedUrl;\n}\nclass PDFNodeStream {\n constructor(source) {\n this.source = source;\n this.url = parseUrl(source.url);\n this.isHttp = this.url.protocol === \"http:\" || this.url.protocol === \"https:\";\n this.isFsUrl = this.url.protocol === \"file:\";\n this.httpHeaders = this.isHttp && source.httpHeaders || {};\n this._fullRequestReader = null;\n this._rangeRequestReaders = [];\n }\n get _progressiveDataLength() {\n return this._fullRequestReader?._loaded ?? 0;\n }\n getFullReader() {\n (0, _util.assert)(!this._fullRequestReader, \"PDFNodeStream.getFullReader can only be called once.\");\n this._fullRequestReader = this.isFsUrl ? new PDFNodeStreamFsFullReader(this) : new PDFNodeStreamFullReader(this);\n return this._fullRequestReader;\n }\n getRangeReader(start, end) {\n if (end <= this._progressiveDataLength) {\n return null;\n }\n const rangeReader = this.isFsUrl ? new PDFNodeStreamFsRangeReader(this, start, end) : new PDFNodeStreamRangeReader(this, start, end);\n this._rangeRequestReaders.push(rangeReader);\n return rangeReader;\n }\n cancelAllRequests(reason) {\n this._fullRequestReader?.cancel(reason);\n for (const reader of this._rangeRequestReaders.slice(0)) {\n reader.cancel(reason);\n }\n }\n}\nexports.PDFNodeStream = PDFNodeStream;\nclass BaseFullReader {\n constructor(stream) {\n this._url = stream.url;\n this._done = false;\n this._storedError = null;\n this.onProgress = null;\n const source = stream.source;\n this._contentLength = source.length;\n this._loaded = 0;\n this._filename = null;\n this._disableRange = source.disableRange || false;\n this._rangeChunkSize = source.rangeChunkSize;\n if (!this._rangeChunkSize && !this._disableRange) {\n this._disableRange = true;\n }\n this._isStreamingSupported = !source.disableStream;\n this._isRangeSupported = !source.disableRange;\n this._readableStream = null;\n this._readCapability = new _util.PromiseCapability();\n this._headersCapability = new _util.PromiseCapability();\n }\n get headersReady() {\n return this._headersCapability.promise;\n }\n get filename() {\n return this._filename;\n }\n get contentLength() {\n return this._contentLength;\n }\n get isRangeSupported() {\n return this._isRangeSupported;\n }\n get isStreamingSupported() {\n return this._isStreamingSupported;\n }\n async read() {\n await this._readCapability.promise;\n if (this._done) {\n return {\n value: undefined,\n done: true\n };\n }\n if (this._storedError) {\n throw this._storedError;\n }\n const chunk = this._readableStream.read();\n if (chunk === null) {\n this._readCapability = new _util.PromiseCapability();\n return this.read();\n }\n this._loaded += chunk.length;\n this.onProgress?.({\n loaded: this._loaded,\n total: this._contentLength\n });\n const buffer = new Uint8Array(chunk).buffer;\n return {\n value: buffer,\n done: false\n };\n }\n cancel(reason) {\n if (!this._readableStream) {\n this._error(reason);\n return;\n }\n this._readableStream.destroy(reason);\n }\n _error(reason) {\n this._storedError = reason;\n this._readCapability.resolve();\n }\n _setReadableStream(readableStream) {\n this._readableStream = readableStream;\n readableStream.on(\"readable\", () => {\n this._readCapability.resolve();\n });\n readableStream.on(\"end\", () => {\n readableStream.destroy();\n this._done = true;\n this._readCapability.resolve();\n });\n readableStream.on(\"error\", reason => {\n this._error(reason);\n });\n if (!this._isStreamingSupported && this._isRangeSupported) {\n this._error(new _util.AbortException(\"streaming is disabled\"));\n }\n if (this._storedError) {\n this._readableStream.destroy(this._storedError);\n }\n }\n}\nclass BaseRangeReader {\n constructor(stream) {\n this._url = stream.url;\n this._done = false;\n this._storedError = null;\n this.onProgress = null;\n this._loaded = 0;\n this._readableStream = null;\n this._readCapability = new _util.PromiseCapability();\n const source = stream.source;\n this._isStreamingSupported = !source.disableStream;\n }\n get isStreamingSupported() {\n return this._isStreamingSupported;\n }\n async read() {\n await this._readCapability.promise;\n if (this._done) {\n return {\n value: undefined,\n done: true\n };\n }\n if (this._storedError) {\n throw this._storedError;\n }\n const chunk = this._readableStream.read();\n if (chunk === null) {\n this._readCapability = new _util.PromiseCapability();\n return this.read();\n }\n this._loaded += chunk.length;\n this.onProgress?.({\n loaded: this._loaded\n });\n const buffer = new Uint8Array(chunk).buffer;\n return {\n value: buffer,\n done: false\n };\n }\n cancel(reason) {\n if (!this._readableStream) {\n this._error(reason);\n return;\n }\n this._readableStream.destroy(reason);\n }\n _error(reason) {\n this._storedError = reason;\n this._readCapability.resolve();\n }\n _setReadableStream(readableStream) {\n this._readableStream = readableStream;\n readableStream.on(\"readable\", () => {\n this._readCapability.resolve();\n });\n readableStream.on(\"end\", () => {\n readableStream.destroy();\n this._done = true;\n this._readCapability.resolve();\n });\n readableStream.on(\"error\", reason => {\n this._error(reason);\n });\n if (this._storedError) {\n this._readableStream.destroy(this._storedError);\n }\n }\n}\nfunction createRequestOptions(parsedUrl, headers) {\n return {\n protocol: parsedUrl.protocol,\n auth: parsedUrl.auth,\n host: parsedUrl.hostname,\n port: parsedUrl.port,\n path: parsedUrl.path,\n method: \"GET\",\n headers\n };\n}\nclass PDFNodeStreamFullReader extends BaseFullReader {\n constructor(stream) {\n super(stream);\n const handleResponse = response => {\n if (response.statusCode === 404) {\n const error = new _util.MissingPDFException(`Missing PDF \"${this._url}\".`);\n this._storedError = error;\n this._headersCapability.reject(error);\n return;\n }\n this._headersCapability.resolve();\n this._setReadableStream(response);\n const getResponseHeader = name => {\n return this._readableStream.headers[name.toLowerCase()];\n };\n const {\n allowRangeRequests,\n suggestedLength\n } = (0, _network_utils.validateRangeRequestCapabilities)({\n getResponseHeader,\n isHttp: stream.isHttp,\n rangeChunkSize: this._rangeChunkSize,\n disableRange: this._disableRange\n });\n this._isRangeSupported = allowRangeRequests;\n this._contentLength = suggestedLength || this._contentLength;\n this._filename = (0, _network_utils.extractFilenameFromHeader)(getResponseHeader);\n };\n this._request = null;\n if (this._url.protocol === \"http:\") {\n this._request = http.request(createRequestOptions(this._url, stream.httpHeaders), handleResponse);\n } else {\n this._request = https.request(createRequestOptions(this._url, stream.httpHeaders), handleResponse);\n }\n this._request.on(\"error\", reason => {\n this._storedError = reason;\n this._headersCapability.reject(reason);\n });\n this._request.end();\n }\n}\nclass PDFNodeStreamRangeReader extends BaseRangeReader {\n constructor(stream, start, end) {\n super(stream);\n this._httpHeaders = {};\n for (const property in stream.httpHeaders) {\n const value = stream.httpHeaders[property];\n if (value === undefined) {\n continue;\n }\n this._httpHeaders[property] = value;\n }\n this._httpHeaders.Range = `bytes=${start}-${end - 1}`;\n const handleResponse = response => {\n if (response.statusCode === 404) {\n const error = new _util.MissingPDFException(`Missing PDF \"${this._url}\".`);\n this._storedError = error;\n return;\n }\n this._setReadableStream(response);\n };\n this._request = null;\n if (this._url.protocol === \"http:\") {\n this._request = http.request(createRequestOptions(this._url, this._httpHeaders), handleResponse);\n } else {\n this._request = https.request(createRequestOptions(this._url, this._httpHeaders), handleResponse);\n }\n this._request.on(\"error\", reason => {\n this._storedError = reason;\n });\n this._request.end();\n }\n}\nclass PDFNodeStreamFsFullReader extends BaseFullReader {\n constructor(stream) {\n super(stream);\n let path = decodeURIComponent(this._url.path);\n if (fileUriRegex.test(this._url.href)) {\n path = path.replace(/^\\//, \"\");\n }\n fs.lstat(path, (error, stat) => {\n if (error) {\n if (error.code === \"ENOENT\") {\n error = new _util.MissingPDFException(`Missing PDF \"${path}\".`);\n }\n this._storedError = error;\n this._headersCapability.reject(error);\n return;\n }\n this._contentLength = stat.size;\n this._setReadableStream(fs.createReadStream(path));\n this._headersCapability.resolve();\n });\n }\n}\nclass PDFNodeStreamFsRangeReader extends BaseRangeReader {\n constructor(stream, start, end) {\n super(stream);\n let path = decodeURIComponent(this._url.path);\n if (fileUriRegex.test(this._url.href)) {\n path = path.replace(/^\\//, \"\");\n }\n this._setReadableStream(fs.createReadStream(path, {\n start,\n end: end - 1\n }));\n }\n}\n\n/***/ }),\n/* 22 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.createResponseStatusError = createResponseStatusError;\nexports.extractFilenameFromHeader = extractFilenameFromHeader;\nexports.validateRangeRequestCapabilities = validateRangeRequestCapabilities;\nexports.validateResponseStatus = validateResponseStatus;\nvar _util = __w_pdfjs_require__(1);\nvar _content_disposition = __w_pdfjs_require__(23);\nvar _display_utils = __w_pdfjs_require__(6);\nfunction validateRangeRequestCapabilities({\n getResponseHeader,\n isHttp,\n rangeChunkSize,\n disableRange\n}) {\n const returnValues = {\n allowRangeRequests: false,\n suggestedLength: undefined\n };\n const length = parseInt(getResponseHeader(\"Content-Length\"), 10);\n if (!Number.isInteger(length)) {\n return returnValues;\n }\n returnValues.suggestedLength = length;\n if (length <= 2 * rangeChunkSize) {\n return returnValues;\n }\n if (disableRange || !isHttp) {\n return returnValues;\n }\n if (getResponseHeader(\"Accept-Ranges\") !== \"bytes\") {\n return returnValues;\n }\n const contentEncoding = getResponseHeader(\"Content-Encoding\") || \"identity\";\n if (contentEncoding !== \"identity\") {\n return returnValues;\n }\n returnValues.allowRangeRequests = true;\n return returnValues;\n}\nfunction extractFilenameFromHeader(getResponseHeader) {\n const contentDisposition = getResponseHeader(\"Content-Disposition\");\n if (contentDisposition) {\n let filename = (0, _content_disposition.getFilenameFromContentDispositionHeader)(contentDisposition);\n if (filename.includes(\"%\")) {\n try {\n filename = decodeURIComponent(filename);\n } catch (ex) {}\n }\n if ((0, _display_utils.isPdfFile)(filename)) {\n return filename;\n }\n }\n return null;\n}\nfunction createResponseStatusError(status, url) {\n if (status === 404 || status === 0 && url.startsWith(\"file:\")) {\n return new _util.MissingPDFException('Missing PDF \"' + url + '\".');\n }\n return new _util.UnexpectedResponseException(`Unexpected server response (${status}) while retrieving PDF \"${url}\".`, status);\n}\nfunction validateResponseStatus(status) {\n return status === 200 || status === 206;\n}\n\n/***/ }),\n/* 23 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.getFilenameFromContentDispositionHeader = getFilenameFromContentDispositionHeader;\nvar _util = __w_pdfjs_require__(1);\nfunction getFilenameFromContentDispositionHeader(contentDisposition) {\n let needsEncodingFixup = true;\n let tmp = toParamRegExp(\"filename\\\\*\", \"i\").exec(contentDisposition);\n if (tmp) {\n tmp = tmp[1];\n let filename = rfc2616unquote(tmp);\n filename = unescape(filename);\n filename = rfc5987decode(filename);\n filename = rfc2047decode(filename);\n return fixupEncoding(filename);\n }\n tmp = rfc2231getparam(contentDisposition);\n if (tmp) {\n const filename = rfc2047decode(tmp);\n return fixupEncoding(filename);\n }\n tmp = toParamRegExp(\"filename\", \"i\").exec(contentDisposition);\n if (tmp) {\n tmp = tmp[1];\n let filename = rfc2616unquote(tmp);\n filename = rfc2047decode(filename);\n return fixupEncoding(filename);\n }\n function toParamRegExp(attributePattern, flags) {\n return new RegExp(\"(?:^|;)\\\\s*\" + attributePattern + \"\\\\s*=\\\\s*\" + \"(\" + '[^\";\\\\s][^;\\\\s]*' + \"|\" + '\"(?:[^\"\\\\\\\\]|\\\\\\\\\"?)+\"?' + \")\", flags);\n }\n function textdecode(encoding, value) {\n if (encoding) {\n if (!/^[\\x00-\\xFF]+$/.test(value)) {\n return value;\n }\n try {\n const decoder = new TextDecoder(encoding, {\n fatal: true\n });\n const buffer = (0, _util.stringToBytes)(value);\n value = decoder.decode(buffer);\n needsEncodingFixup = false;\n } catch (e) {}\n }\n return value;\n }\n function fixupEncoding(value) {\n if (needsEncodingFixup && /[\\x80-\\xff]/.test(value)) {\n value = textdecode(\"utf-8\", value);\n if (needsEncodingFixup) {\n value = textdecode(\"iso-8859-1\", value);\n }\n }\n return value;\n }\n function rfc2231getparam(contentDispositionStr) {\n const matches = [];\n let match;\n const iter = toParamRegExp(\"filename\\\\*((?!0\\\\d)\\\\d+)(\\\\*?)\", \"ig\");\n while ((match = iter.exec(contentDispositionStr)) !== null) {\n let [, n, quot, part] = match;\n n = parseInt(n, 10);\n if (n in matches) {\n if (n === 0) {\n break;\n }\n continue;\n }\n matches[n] = [quot, part];\n }\n const parts = [];\n for (let n = 0; n < matches.length; ++n) {\n if (!(n in matches)) {\n break;\n }\n let [quot, part] = matches[n];\n part = rfc2616unquote(part);\n if (quot) {\n part = unescape(part);\n if (n === 0) {\n part = rfc5987decode(part);\n }\n }\n parts.push(part);\n }\n return parts.join(\"\");\n }\n function rfc2616unquote(value) {\n if (value.startsWith('\"')) {\n const parts = value.slice(1).split('\\\\\"');\n for (let i = 0; i < parts.length; ++i) {\n const quotindex = parts[i].indexOf('\"');\n if (quotindex !== -1) {\n parts[i] = parts[i].slice(0, quotindex);\n parts.length = i + 1;\n }\n parts[i] = parts[i].replaceAll(/\\\\(.)/g, \"$1\");\n }\n value = parts.join('\"');\n }\n return value;\n }\n function rfc5987decode(extvalue) {\n const encodingend = extvalue.indexOf(\"'\");\n if (encodingend === -1) {\n return extvalue;\n }\n const encoding = extvalue.slice(0, encodingend);\n const langvalue = extvalue.slice(encodingend + 1);\n const value = langvalue.replace(/^[^']*'/, \"\");\n return textdecode(encoding, value);\n }\n function rfc2047decode(value) {\n if (!value.startsWith(\"=?\") || /[\\x00-\\x19\\x80-\\xff]/.test(value)) {\n return value;\n }\n return value.replaceAll(/=\\?([\\w-]*)\\?([QqBb])\\?((?:[^?]|\\?(?!=))*)\\?=/g, function (matches, charset, encoding, text) {\n if (encoding === \"q\" || encoding === \"Q\") {\n text = text.replaceAll(\"_\", \" \");\n text = text.replaceAll(/=([0-9a-fA-F]{2})/g, function (match, hex) {\n return String.fromCharCode(parseInt(hex, 16));\n });\n return textdecode(charset, text);\n }\n try {\n text = atob(text);\n } catch (e) {}\n return textdecode(charset, text);\n });\n }\n return \"\";\n}\n\n/***/ }),\n/* 24 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.PDFNetworkStream = void 0;\nvar _util = __w_pdfjs_require__(1);\nvar _network_utils = __w_pdfjs_require__(22);\n;\nconst OK_RESPONSE = 200;\nconst PARTIAL_CONTENT_RESPONSE = 206;\nfunction getArrayBuffer(xhr) {\n const data = xhr.response;\n if (typeof data !== \"string\") {\n return data;\n }\n return (0, _util.stringToBytes)(data).buffer;\n}\nclass NetworkManager {\n constructor(url, args = {}) {\n this.url = url;\n this.isHttp = /^https?:/i.test(url);\n this.httpHeaders = this.isHttp && args.httpHeaders || Object.create(null);\n this.withCredentials = args.withCredentials || false;\n this.currXhrId = 0;\n this.pendingRequests = Object.create(null);\n }\n requestRange(begin, end, listeners) {\n const args = {\n begin,\n end\n };\n for (const prop in listeners) {\n args[prop] = listeners[prop];\n }\n return this.request(args);\n }\n requestFull(listeners) {\n return this.request(listeners);\n }\n request(args) {\n const xhr = new XMLHttpRequest();\n const xhrId = this.currXhrId++;\n const pendingRequest = this.pendingRequests[xhrId] = {\n xhr\n };\n xhr.open(\"GET\", this.url);\n xhr.withCredentials = this.withCredentials;\n for (const property in this.httpHeaders) {\n const value = this.httpHeaders[property];\n if (value === undefined) {\n continue;\n }\n xhr.setRequestHeader(property, value);\n }\n if (this.isHttp && \"begin\" in args && \"end\" in args) {\n xhr.setRequestHeader(\"Range\", `bytes=${args.begin}-${args.end - 1}`);\n pendingRequest.expectedStatus = PARTIAL_CONTENT_RESPONSE;\n } else {\n pendingRequest.expectedStatus = OK_RESPONSE;\n }\n xhr.responseType = \"arraybuffer\";\n if (args.onError) {\n xhr.onerror = function (evt) {\n args.onError(xhr.status);\n };\n }\n xhr.onreadystatechange = this.onStateChange.bind(this, xhrId);\n xhr.onprogress = this.onProgress.bind(this, xhrId);\n pendingRequest.onHeadersReceived = args.onHeadersReceived;\n pendingRequest.onDone = args.onDone;\n pendingRequest.onError = args.onError;\n pendingRequest.onProgress = args.onProgress;\n xhr.send(null);\n return xhrId;\n }\n onProgress(xhrId, evt) {\n const pendingRequest = this.pendingRequests[xhrId];\n if (!pendingRequest) {\n return;\n }\n pendingRequest.onProgress?.(evt);\n }\n onStateChange(xhrId, evt) {\n const pendingRequest = this.pendingRequests[xhrId];\n if (!pendingRequest) {\n return;\n }\n const xhr = pendingRequest.xhr;\n if (xhr.readyState >= 2 && pendingRequest.onHeadersReceived) {\n pendingRequest.onHeadersReceived();\n delete pendingRequest.onHeadersReceived;\n }\n if (xhr.readyState !== 4) {\n return;\n }\n if (!(xhrId in this.pendingRequests)) {\n return;\n }\n delete this.pendingRequests[xhrId];\n if (xhr.status === 0 && this.isHttp) {\n pendingRequest.onError?.(xhr.status);\n return;\n }\n const xhrStatus = xhr.status || OK_RESPONSE;\n const ok_response_on_range_request = xhrStatus === OK_RESPONSE && pendingRequest.expectedStatus === PARTIAL_CONTENT_RESPONSE;\n if (!ok_response_on_range_request && xhrStatus !== pendingRequest.expectedStatus) {\n pendingRequest.onError?.(xhr.status);\n return;\n }\n const chunk = getArrayBuffer(xhr);\n if (xhrStatus === PARTIAL_CONTENT_RESPONSE) {\n const rangeHeader = xhr.getResponseHeader(\"Content-Range\");\n const matches = /bytes (\\d+)-(\\d+)\\/(\\d+)/.exec(rangeHeader);\n pendingRequest.onDone({\n begin: parseInt(matches[1], 10),\n chunk\n });\n } else if (chunk) {\n pendingRequest.onDone({\n begin: 0,\n chunk\n });\n } else {\n pendingRequest.onError?.(xhr.status);\n }\n }\n getRequestXhr(xhrId) {\n return this.pendingRequests[xhrId].xhr;\n }\n isPendingRequest(xhrId) {\n return xhrId in this.pendingRequests;\n }\n abortRequest(xhrId) {\n const xhr = this.pendingRequests[xhrId].xhr;\n delete this.pendingRequests[xhrId];\n xhr.abort();\n }\n}\nclass PDFNetworkStream {\n constructor(source) {\n this._source = source;\n this._manager = new NetworkManager(source.url, {\n httpHeaders: source.httpHeaders,\n withCredentials: source.withCredentials\n });\n this._rangeChunkSize = source.rangeChunkSize;\n this._fullRequestReader = null;\n this._rangeRequestReaders = [];\n }\n _onRangeRequestReaderClosed(reader) {\n const i = this._rangeRequestReaders.indexOf(reader);\n if (i >= 0) {\n this._rangeRequestReaders.splice(i, 1);\n }\n }\n getFullReader() {\n (0, _util.assert)(!this._fullRequestReader, \"PDFNetworkStream.getFullReader can only be called once.\");\n this._fullRequestReader = new PDFNetworkStreamFullRequestReader(this._manager, this._source);\n return this._fullRequestReader;\n }\n getRangeReader(begin, end) {\n const reader = new PDFNetworkStreamRangeRequestReader(this._manager, begin, end);\n reader.onClosed = this._onRangeRequestReaderClosed.bind(this);\n this._rangeRequestReaders.push(reader);\n return reader;\n }\n cancelAllRequests(reason) {\n this._fullRequestReader?.cancel(reason);\n for (const reader of this._rangeRequestReaders.slice(0)) {\n reader.cancel(reason);\n }\n }\n}\nexports.PDFNetworkStream = PDFNetworkStream;\nclass PDFNetworkStreamFullRequestReader {\n constructor(manager, source) {\n this._manager = manager;\n const args = {\n onHeadersReceived: this._onHeadersReceived.bind(this),\n onDone: this._onDone.bind(this),\n onError: this._onError.bind(this),\n onProgress: this._onProgress.bind(this)\n };\n this._url = source.url;\n this._fullRequestId = manager.requestFull(args);\n this._headersReceivedCapability = new _util.PromiseCapability();\n this._disableRange = source.disableRange || false;\n this._contentLength = source.length;\n this._rangeChunkSize = source.rangeChunkSize;\n if (!this._rangeChunkSize && !this._disableRange) {\n this._disableRange = true;\n }\n this._isStreamingSupported = false;\n this._isRangeSupported = false;\n this._cachedChunks = [];\n this._requests = [];\n this._done = false;\n this._storedError = undefined;\n this._filename = null;\n this.onProgress = null;\n }\n _onHeadersReceived() {\n const fullRequestXhrId = this._fullRequestId;\n const fullRequestXhr = this._manager.getRequestXhr(fullRequestXhrId);\n const getResponseHeader = name => {\n return fullRequestXhr.getResponseHeader(name);\n };\n const {\n allowRangeRequests,\n suggestedLength\n } = (0, _network_utils.validateRangeRequestCapabilities)({\n getResponseHeader,\n isHttp: this._manager.isHttp,\n rangeChunkSize: this._rangeChunkSize,\n disableRange: this._disableRange\n });\n if (allowRangeRequests) {\n this._isRangeSupported = true;\n }\n this._contentLength = suggestedLength || this._contentLength;\n this._filename = (0, _network_utils.extractFilenameFromHeader)(getResponseHeader);\n if (this._isRangeSupported) {\n this._manager.abortRequest(fullRequestXhrId);\n }\n this._headersReceivedCapability.resolve();\n }\n _onDone(data) {\n if (data) {\n if (this._requests.length > 0) {\n const requestCapability = this._requests.shift();\n requestCapability.resolve({\n value: data.chunk,\n done: false\n });\n } else {\n this._cachedChunks.push(data.chunk);\n }\n }\n this._done = true;\n if (this._cachedChunks.length > 0) {\n return;\n }\n for (const requestCapability of this._requests) {\n requestCapability.resolve({\n value: undefined,\n done: true\n });\n }\n this._requests.length = 0;\n }\n _onError(status) {\n this._storedError = (0, _network_utils.createResponseStatusError)(status, this._url);\n this._headersReceivedCapability.reject(this._storedError);\n for (const requestCapability of this._requests) {\n requestCapability.reject(this._storedError);\n }\n this._requests.length = 0;\n this._cachedChunks.length = 0;\n }\n _onProgress(evt) {\n this.onProgress?.({\n loaded: evt.loaded,\n total: evt.lengthComputable ? evt.total : this._contentLength\n });\n }\n get filename() {\n return this._filename;\n }\n get isRangeSupported() {\n return this._isRangeSupported;\n }\n get isStreamingSupported() {\n return this._isStreamingSupported;\n }\n get contentLength() {\n return this._contentLength;\n }\n get headersReady() {\n return this._headersReceivedCapability.promise;\n }\n async read() {\n if (this._storedError) {\n throw this._storedError;\n }\n if (this._cachedChunks.length > 0) {\n const chunk = this._cachedChunks.shift();\n return {\n value: chunk,\n done: false\n };\n }\n if (this._done) {\n return {\n value: undefined,\n done: true\n };\n }\n const requestCapability = new _util.PromiseCapability();\n this._requests.push(requestCapability);\n return requestCapability.promise;\n }\n cancel(reason) {\n this._done = true;\n this._headersReceivedCapability.reject(reason);\n for (const requestCapability of this._requests) {\n requestCapability.resolve({\n value: undefined,\n done: true\n });\n }\n this._requests.length = 0;\n if (this._manager.isPendingRequest(this._fullRequestId)) {\n this._manager.abortRequest(this._fullRequestId);\n }\n this._fullRequestReader = null;\n }\n}\nclass PDFNetworkStreamRangeRequestReader {\n constructor(manager, begin, end) {\n this._manager = manager;\n const args = {\n onDone: this._onDone.bind(this),\n onError: this._onError.bind(this),\n onProgress: this._onProgress.bind(this)\n };\n this._url = manager.url;\n this._requestId = manager.requestRange(begin, end, args);\n this._requests = [];\n this._queuedChunk = null;\n this._done = false;\n this._storedError = undefined;\n this.onProgress = null;\n this.onClosed = null;\n }\n _close() {\n this.onClosed?.(this);\n }\n _onDone(data) {\n const chunk = data.chunk;\n if (this._requests.length > 0) {\n const requestCapability = this._requests.shift();\n requestCapability.resolve({\n value: chunk,\n done: false\n });\n } else {\n this._queuedChunk = chunk;\n }\n this._done = true;\n for (const requestCapability of this._requests) {\n requestCapability.resolve({\n value: undefined,\n done: true\n });\n }\n this._requests.length = 0;\n this._close();\n }\n _onError(status) {\n this._storedError = (0, _network_utils.createResponseStatusError)(status, this._url);\n for (const requestCapability of this._requests) {\n requestCapability.reject(this._storedError);\n }\n this._requests.length = 0;\n this._queuedChunk = null;\n }\n _onProgress(evt) {\n if (!this.isStreamingSupported) {\n this.onProgress?.({\n loaded: evt.loaded\n });\n }\n }\n get isStreamingSupported() {\n return false;\n }\n async read() {\n if (this._storedError) {\n throw this._storedError;\n }\n if (this._queuedChunk !== null) {\n const chunk = this._queuedChunk;\n this._queuedChunk = null;\n return {\n value: chunk,\n done: false\n };\n }\n if (this._done) {\n return {\n value: undefined,\n done: true\n };\n }\n const requestCapability = new _util.PromiseCapability();\n this._requests.push(requestCapability);\n return requestCapability.promise;\n }\n cancel(reason) {\n this._done = true;\n for (const requestCapability of this._requests) {\n requestCapability.resolve({\n value: undefined,\n done: true\n });\n }\n this._requests.length = 0;\n if (this._manager.isPendingRequest(this._requestId)) {\n this._manager.abortRequest(this._requestId);\n }\n this._close();\n }\n}\n\n/***/ }),\n/* 25 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.PDFFetchStream = void 0;\nvar _util = __w_pdfjs_require__(1);\nvar _network_utils = __w_pdfjs_require__(22);\n;\nfunction createFetchOptions(headers, withCredentials, abortController) {\n return {\n method: \"GET\",\n headers,\n signal: abortController.signal,\n mode: \"cors\",\n credentials: withCredentials ? \"include\" : \"same-origin\",\n redirect: \"follow\"\n };\n}\nfunction createHeaders(httpHeaders) {\n const headers = new Headers();\n for (const property in httpHeaders) {\n const value = httpHeaders[property];\n if (value === undefined) {\n continue;\n }\n headers.append(property, value);\n }\n return headers;\n}\nfunction getArrayBuffer(val) {\n if (val instanceof Uint8Array) {\n return val.buffer;\n }\n if (val instanceof ArrayBuffer) {\n return val;\n }\n (0, _util.warn)(`getArrayBuffer - unexpected data format: ${val}`);\n return new Uint8Array(val).buffer;\n}\nclass PDFFetchStream {\n constructor(source) {\n this.source = source;\n this.isHttp = /^https?:/i.test(source.url);\n this.httpHeaders = this.isHttp && source.httpHeaders || {};\n this._fullRequestReader = null;\n this._rangeRequestReaders = [];\n }\n get _progressiveDataLength() {\n return this._fullRequestReader?._loaded ?? 0;\n }\n getFullReader() {\n (0, _util.assert)(!this._fullRequestReader, \"PDFFetchStream.getFullReader can only be called once.\");\n this._fullRequestReader = new PDFFetchStreamReader(this);\n return this._fullRequestReader;\n }\n getRangeReader(begin, end) {\n if (end <= this._progressiveDataLength) {\n return null;\n }\n const reader = new PDFFetchStreamRangeReader(this, begin, end);\n this._rangeRequestReaders.push(reader);\n return reader;\n }\n cancelAllRequests(reason) {\n this._fullRequestReader?.cancel(reason);\n for (const reader of this._rangeRequestReaders.slice(0)) {\n reader.cancel(reason);\n }\n }\n}\nexports.PDFFetchStream = PDFFetchStream;\nclass PDFFetchStreamReader {\n constructor(stream) {\n this._stream = stream;\n this._reader = null;\n this._loaded = 0;\n this._filename = null;\n const source = stream.source;\n this._withCredentials = source.withCredentials || false;\n this._contentLength = source.length;\n this._headersCapability = new _util.PromiseCapability();\n this._disableRange = source.disableRange || false;\n this._rangeChunkSize = source.rangeChunkSize;\n if (!this._rangeChunkSize && !this._disableRange) {\n this._disableRange = true;\n }\n this._abortController = new AbortController();\n this._isStreamingSupported = !source.disableStream;\n this._isRangeSupported = !source.disableRange;\n this._headers = createHeaders(this._stream.httpHeaders);\n const url = source.url;\n fetch(url, createFetchOptions(this._headers, this._withCredentials, this._abortController)).then(response => {\n if (!(0, _network_utils.validateResponseStatus)(response.status)) {\n throw (0, _network_utils.createResponseStatusError)(response.status, url);\n }\n this._reader = response.body.getReader();\n this._headersCapability.resolve();\n const getResponseHeader = name => {\n return response.headers.get(name);\n };\n const {\n allowRangeRequests,\n suggestedLength\n } = (0, _network_utils.validateRangeRequestCapabilities)({\n getResponseHeader,\n isHttp: this._stream.isHttp,\n rangeChunkSize: this._rangeChunkSize,\n disableRange: this._disableRange\n });\n this._isRangeSupported = allowRangeRequests;\n this._contentLength = suggestedLength || this._contentLength;\n this._filename = (0, _network_utils.extractFilenameFromHeader)(getResponseHeader);\n if (!this._isStreamingSupported && this._isRangeSupported) {\n this.cancel(new _util.AbortException(\"Streaming is disabled.\"));\n }\n }).catch(this._headersCapability.reject);\n this.onProgress = null;\n }\n get headersReady() {\n return this._headersCapability.promise;\n }\n get filename() {\n return this._filename;\n }\n get contentLength() {\n return this._contentLength;\n }\n get isRangeSupported() {\n return this._isRangeSupported;\n }\n get isStreamingSupported() {\n return this._isStreamingSupported;\n }\n async read() {\n await this._headersCapability.promise;\n const {\n value,\n done\n } = await this._reader.read();\n if (done) {\n return {\n value,\n done\n };\n }\n this._loaded += value.byteLength;\n this.onProgress?.({\n loaded: this._loaded,\n total: this._contentLength\n });\n return {\n value: getArrayBuffer(value),\n done: false\n };\n }\n cancel(reason) {\n this._reader?.cancel(reason);\n this._abortController.abort();\n }\n}\nclass PDFFetchStreamRangeReader {\n constructor(stream, begin, end) {\n this._stream = stream;\n this._reader = null;\n this._loaded = 0;\n const source = stream.source;\n this._withCredentials = source.withCredentials || false;\n this._readCapability = new _util.PromiseCapability();\n this._isStreamingSupported = !source.disableStream;\n this._abortController = new AbortController();\n this._headers = createHeaders(this._stream.httpHeaders);\n this._headers.append(\"Range\", `bytes=${begin}-${end - 1}`);\n const url = source.url;\n fetch(url, createFetchOptions(this._headers, this._withCredentials, this._abortController)).then(response => {\n if (!(0, _network_utils.validateResponseStatus)(response.status)) {\n throw (0, _network_utils.createResponseStatusError)(response.status, url);\n }\n this._readCapability.resolve();\n this._reader = response.body.getReader();\n }).catch(this._readCapability.reject);\n this.onProgress = null;\n }\n get isStreamingSupported() {\n return this._isStreamingSupported;\n }\n async read() {\n await this._readCapability.promise;\n const {\n value,\n done\n } = await this._reader.read();\n if (done) {\n return {\n value,\n done\n };\n }\n this._loaded += value.byteLength;\n this.onProgress?.({\n loaded: this._loaded\n });\n return {\n value: getArrayBuffer(value),\n done: false\n };\n }\n cancel(reason) {\n this._reader?.cancel(reason);\n this._abortController.abort();\n }\n}\n\n/***/ }),\n/* 26 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.TextLayerRenderTask = void 0;\nexports.renderTextLayer = renderTextLayer;\nexports.updateTextLayer = updateTextLayer;\nvar _util = __w_pdfjs_require__(1);\nvar _display_utils = __w_pdfjs_require__(6);\nconst MAX_TEXT_DIVS_TO_RENDER = 100000;\nconst DEFAULT_FONT_SIZE = 30;\nconst DEFAULT_FONT_ASCENT = 0.8;\nconst ascentCache = new Map();\nfunction getCtx(size, isOffscreenCanvasSupported) {\n let ctx;\n if (isOffscreenCanvasSupported && _util.FeatureTest.isOffscreenCanvasSupported) {\n ctx = new OffscreenCanvas(size, size).getContext(\"2d\", {\n alpha: false\n });\n } else {\n const canvas = document.createElement(\"canvas\");\n canvas.width = canvas.height = size;\n ctx = canvas.getContext(\"2d\", {\n alpha: false\n });\n }\n return ctx;\n}\nfunction getAscent(fontFamily, isOffscreenCanvasSupported) {\n const cachedAscent = ascentCache.get(fontFamily);\n if (cachedAscent) {\n return cachedAscent;\n }\n const ctx = getCtx(DEFAULT_FONT_SIZE, isOffscreenCanvasSupported);\n ctx.font = `${DEFAULT_FONT_SIZE}px ${fontFamily}`;\n const metrics = ctx.measureText(\"\");\n let ascent = metrics.fontBoundingBoxAscent;\n let descent = Math.abs(metrics.fontBoundingBoxDescent);\n if (ascent) {\n const ratio = ascent / (ascent + descent);\n ascentCache.set(fontFamily, ratio);\n ctx.canvas.width = ctx.canvas.height = 0;\n return ratio;\n }\n ctx.strokeStyle = \"red\";\n ctx.clearRect(0, 0, DEFAULT_FONT_SIZE, DEFAULT_FONT_SIZE);\n ctx.strokeText(\"g\", 0, 0);\n let pixels = ctx.getImageData(0, 0, DEFAULT_FONT_SIZE, DEFAULT_FONT_SIZE).data;\n descent = 0;\n for (let i = pixels.length - 1 - 3; i >= 0; i -= 4) {\n if (pixels[i] > 0) {\n descent = Math.ceil(i / 4 / DEFAULT_FONT_SIZE);\n break;\n }\n }\n ctx.clearRect(0, 0, DEFAULT_FONT_SIZE, DEFAULT_FONT_SIZE);\n ctx.strokeText(\"A\", 0, DEFAULT_FONT_SIZE);\n pixels = ctx.getImageData(0, 0, DEFAULT_FONT_SIZE, DEFAULT_FONT_SIZE).data;\n ascent = 0;\n for (let i = 0, ii = pixels.length; i < ii; i += 4) {\n if (pixels[i] > 0) {\n ascent = DEFAULT_FONT_SIZE - Math.floor(i / 4 / DEFAULT_FONT_SIZE);\n break;\n }\n }\n ctx.canvas.width = ctx.canvas.height = 0;\n if (ascent) {\n const ratio = ascent / (ascent + descent);\n ascentCache.set(fontFamily, ratio);\n return ratio;\n }\n ascentCache.set(fontFamily, DEFAULT_FONT_ASCENT);\n return DEFAULT_FONT_ASCENT;\n}\nfunction appendText(task, geom, styles) {\n const textDiv = document.createElement(\"span\");\n const textDivProperties = {\n angle: 0,\n canvasWidth: 0,\n hasText: geom.str !== \"\",\n hasEOL: geom.hasEOL,\n fontSize: 0\n };\n task._textDivs.push(textDiv);\n const tx = _util.Util.transform(task._transform, geom.transform);\n let angle = Math.atan2(tx[1], tx[0]);\n const style = styles[geom.fontName];\n if (style.vertical) {\n angle += Math.PI / 2;\n }\n const fontHeight = Math.hypot(tx[2], tx[3]);\n const fontAscent = fontHeight * getAscent(style.fontFamily, task._isOffscreenCanvasSupported);\n let left, top;\n if (angle === 0) {\n left = tx[4];\n top = tx[5] - fontAscent;\n } else {\n left = tx[4] + fontAscent * Math.sin(angle);\n top = tx[5] - fontAscent * Math.cos(angle);\n }\n const scaleFactorStr = \"calc(var(--scale-factor)*\";\n const divStyle = textDiv.style;\n if (task._container === task._rootContainer) {\n divStyle.left = `${(100 * left / task._pageWidth).toFixed(2)}%`;\n divStyle.top = `${(100 * top / task._pageHeight).toFixed(2)}%`;\n } else {\n divStyle.left = `${scaleFactorStr}${left.toFixed(2)}px)`;\n divStyle.top = `${scaleFactorStr}${top.toFixed(2)}px)`;\n }\n divStyle.fontSize = `${scaleFactorStr}${fontHeight.toFixed(2)}px)`;\n divStyle.fontFamily = style.fontFamily;\n textDivProperties.fontSize = fontHeight;\n textDiv.setAttribute(\"role\", \"presentation\");\n textDiv.textContent = geom.str;\n textDiv.dir = geom.dir;\n if (task._fontInspectorEnabled) {\n textDiv.dataset.fontName = geom.fontName;\n }\n if (angle !== 0) {\n textDivProperties.angle = angle * (180 / Math.PI);\n }\n let shouldScaleText = false;\n if (geom.str.length > 1) {\n shouldScaleText = true;\n } else if (geom.str !== \" \" && geom.transform[0] !== geom.transform[3]) {\n const absScaleX = Math.abs(geom.transform[0]),\n absScaleY = Math.abs(geom.transform[3]);\n if (absScaleX !== absScaleY && Math.max(absScaleX, absScaleY) / Math.min(absScaleX, absScaleY) > 1.5) {\n shouldScaleText = true;\n }\n }\n if (shouldScaleText) {\n textDivProperties.canvasWidth = style.vertical ? geom.height : geom.width;\n }\n task._textDivProperties.set(textDiv, textDivProperties);\n if (task._isReadableStream) {\n task._layoutText(textDiv);\n }\n}\nfunction layout(params) {\n const {\n div,\n scale,\n properties,\n ctx,\n prevFontSize,\n prevFontFamily\n } = params;\n const {\n style\n } = div;\n let transform = \"\";\n if (properties.canvasWidth !== 0 && properties.hasText) {\n const {\n fontFamily\n } = style;\n const {\n canvasWidth,\n fontSize\n } = properties;\n if (prevFontSize !== fontSize || prevFontFamily !== fontFamily) {\n ctx.font = `${fontSize * scale}px ${fontFamily}`;\n params.prevFontSize = fontSize;\n params.prevFontFamily = fontFamily;\n }\n const {\n width\n } = ctx.measureText(div.textContent);\n if (width > 0) {\n transform = `scaleX(${canvasWidth * scale / width})`;\n }\n }\n if (properties.angle !== 0) {\n transform = `rotate(${properties.angle}deg) ${transform}`;\n }\n if (transform.length > 0) {\n style.transform = transform;\n }\n}\nfunction render(task) {\n if (task._canceled) {\n return;\n }\n const textDivs = task._textDivs;\n const capability = task._capability;\n const textDivsLength = textDivs.length;\n if (textDivsLength > MAX_TEXT_DIVS_TO_RENDER) {\n capability.resolve();\n return;\n }\n if (!task._isReadableStream) {\n for (const textDiv of textDivs) {\n task._layoutText(textDiv);\n }\n }\n capability.resolve();\n}\nclass TextLayerRenderTask {\n constructor({\n textContentSource,\n container,\n viewport,\n textDivs,\n textDivProperties,\n textContentItemsStr,\n isOffscreenCanvasSupported\n }) {\n this._textContentSource = textContentSource;\n this._isReadableStream = textContentSource instanceof ReadableStream;\n this._container = this._rootContainer = container;\n this._textDivs = textDivs || [];\n this._textContentItemsStr = textContentItemsStr || [];\n this._isOffscreenCanvasSupported = isOffscreenCanvasSupported;\n this._fontInspectorEnabled = !!globalThis.FontInspector?.enabled;\n this._reader = null;\n this._textDivProperties = textDivProperties || new WeakMap();\n this._canceled = false;\n this._capability = new _util.PromiseCapability();\n this._layoutTextParams = {\n prevFontSize: null,\n prevFontFamily: null,\n div: null,\n scale: viewport.scale * (globalThis.devicePixelRatio || 1),\n properties: null,\n ctx: getCtx(0, isOffscreenCanvasSupported)\n };\n const {\n pageWidth,\n pageHeight,\n pageX,\n pageY\n } = viewport.rawDims;\n this._transform = [1, 0, 0, -1, -pageX, pageY + pageHeight];\n this._pageWidth = pageWidth;\n this._pageHeight = pageHeight;\n (0, _display_utils.setLayerDimensions)(container, viewport);\n this._capability.promise.finally(() => {\n this._layoutTextParams = null;\n }).catch(() => {});\n }\n get promise() {\n return this._capability.promise;\n }\n cancel() {\n this._canceled = true;\n if (this._reader) {\n this._reader.cancel(new _util.AbortException(\"TextLayer task cancelled.\")).catch(() => {});\n this._reader = null;\n }\n this._capability.reject(new _util.AbortException(\"TextLayer task cancelled.\"));\n }\n _processItems(items, styleCache) {\n for (const item of items) {\n if (item.str === undefined) {\n if (item.type === \"beginMarkedContentProps\" || item.type === \"beginMarkedContent\") {\n const parent = this._container;\n this._container = document.createElement(\"span\");\n this._container.classList.add(\"markedContent\");\n if (item.id !== null) {\n this._container.setAttribute(\"id\", `${item.id}`);\n }\n parent.append(this._container);\n } else if (item.type === \"endMarkedContent\") {\n this._container = this._container.parentNode;\n }\n continue;\n }\n this._textContentItemsStr.push(item.str);\n appendText(this, item, styleCache);\n }\n }\n _layoutText(textDiv) {\n const textDivProperties = this._layoutTextParams.properties = this._textDivProperties.get(textDiv);\n this._layoutTextParams.div = textDiv;\n layout(this._layoutTextParams);\n if (textDivProperties.hasText) {\n this._container.append(textDiv);\n }\n if (textDivProperties.hasEOL) {\n const br = document.createElement(\"br\");\n br.setAttribute(\"role\", \"presentation\");\n this._container.append(br);\n }\n }\n _render() {\n const capability = new _util.PromiseCapability();\n let styleCache = Object.create(null);\n if (this._isReadableStream) {\n const pump = () => {\n this._reader.read().then(({\n value,\n done\n }) => {\n if (done) {\n capability.resolve();\n return;\n }\n Object.assign(styleCache, value.styles);\n this._processItems(value.items, styleCache);\n pump();\n }, capability.reject);\n };\n this._reader = this._textContentSource.getReader();\n pump();\n } else if (this._textContentSource) {\n const {\n items,\n styles\n } = this._textContentSource;\n this._processItems(items, styles);\n capability.resolve();\n } else {\n throw new Error('No \"textContentSource\" parameter specified.');\n }\n capability.promise.then(() => {\n styleCache = null;\n render(this);\n }, this._capability.reject);\n }\n}\nexports.TextLayerRenderTask = TextLayerRenderTask;\nfunction renderTextLayer(params) {\n if (!params.textContentSource && (params.textContent || params.textContentStream)) {\n (0, _display_utils.deprecated)(\"The TextLayerRender `textContent`/`textContentStream` parameters \" + \"will be removed in the future, please use `textContentSource` instead.\");\n params.textContentSource = params.textContent || params.textContentStream;\n }\n const {\n container,\n viewport\n } = params;\n const style = getComputedStyle(container);\n const visibility = style.getPropertyValue(\"visibility\");\n const scaleFactor = parseFloat(style.getPropertyValue(\"--scale-factor\"));\n if (visibility === \"visible\" && (!scaleFactor || Math.abs(scaleFactor - viewport.scale) > 1e-5)) {\n console.error(\"The `--scale-factor` CSS-variable must be set, \" + \"to the same value as `viewport.scale`, \" + \"either on the `container`-element itself or higher up in the DOM.\");\n }\n const task = new TextLayerRenderTask(params);\n task._render();\n return task;\n}\nfunction updateTextLayer({\n container,\n viewport,\n textDivs,\n textDivProperties,\n isOffscreenCanvasSupported,\n mustRotate = true,\n mustRescale = true\n}) {\n if (mustRotate) {\n (0, _display_utils.setLayerDimensions)(container, {\n rotation: viewport.rotation\n });\n }\n if (mustRescale) {\n const ctx = getCtx(0, isOffscreenCanvasSupported);\n const scale = viewport.scale * (globalThis.devicePixelRatio || 1);\n const params = {\n prevFontSize: null,\n prevFontFamily: null,\n div: null,\n scale,\n properties: null,\n ctx\n };\n for (const div of textDivs) {\n params.properties = textDivProperties.get(div);\n params.div = div;\n layout(params);\n }\n }\n}\n\n/***/ }),\n/* 27 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.AnnotationEditorLayer = void 0;\nvar _util = __w_pdfjs_require__(1);\nvar _tools = __w_pdfjs_require__(5);\nvar _freetext = __w_pdfjs_require__(28);\nvar _ink = __w_pdfjs_require__(29);\nvar _display_utils = __w_pdfjs_require__(6);\nclass AnnotationEditorLayer {\n #accessibilityManager;\n #allowClick = false;\n #boundPointerup = this.pointerup.bind(this);\n #boundPointerdown = this.pointerdown.bind(this);\n #editors = new Map();\n #hadPointerDown = false;\n #isCleaningUp = false;\n #uiManager;\n static _initialized = false;\n constructor(options) {\n if (!AnnotationEditorLayer._initialized) {\n AnnotationEditorLayer._initialized = true;\n _freetext.FreeTextEditor.initialize(options.l10n);\n _ink.InkEditor.initialize(options.l10n);\n }\n options.uiManager.registerEditorTypes([_freetext.FreeTextEditor, _ink.InkEditor]);\n this.#uiManager = options.uiManager;\n this.pageIndex = options.pageIndex;\n this.div = options.div;\n this.#accessibilityManager = options.accessibilityManager;\n this.#uiManager.addLayer(this);\n }\n get isEmpty() {\n return this.#editors.size === 0;\n }\n updateToolbar(mode) {\n this.#uiManager.updateToolbar(mode);\n }\n updateMode(mode = this.#uiManager.getMode()) {\n this.#cleanup();\n if (mode === _util.AnnotationEditorType.INK) {\n this.addInkEditorIfNeeded(false);\n this.disableClick();\n } else {\n this.enableClick();\n }\n this.#uiManager.unselectAll();\n if (mode !== _util.AnnotationEditorType.NONE) {\n this.div.classList.toggle(\"freeTextEditing\", mode === _util.AnnotationEditorType.FREETEXT);\n this.div.classList.toggle(\"inkEditing\", mode === _util.AnnotationEditorType.INK);\n this.div.hidden = false;\n }\n }\n addInkEditorIfNeeded(isCommitting) {\n if (!isCommitting && this.#uiManager.getMode() !== _util.AnnotationEditorType.INK) {\n return;\n }\n if (!isCommitting) {\n for (const editor of this.#editors.values()) {\n if (editor.isEmpty()) {\n editor.setInBackground();\n return;\n }\n }\n }\n const editor = this.#createAndAddNewEditor({\n offsetX: 0,\n offsetY: 0\n });\n editor.setInBackground();\n }\n setEditingState(isEditing) {\n this.#uiManager.setEditingState(isEditing);\n }\n addCommands(params) {\n this.#uiManager.addCommands(params);\n }\n enable() {\n this.div.style.pointerEvents = \"auto\";\n for (const editor of this.#editors.values()) {\n editor.enableEditing();\n }\n }\n disable() {\n this.div.style.pointerEvents = \"none\";\n for (const editor of this.#editors.values()) {\n editor.disableEditing();\n }\n this.#cleanup();\n if (this.isEmpty) {\n this.div.hidden = true;\n }\n }\n setActiveEditor(editor) {\n const currentActive = this.#uiManager.getActive();\n if (currentActive === editor) {\n return;\n }\n this.#uiManager.setActiveEditor(editor);\n }\n enableClick() {\n this.div.addEventListener(\"pointerdown\", this.#boundPointerdown);\n this.div.addEventListener(\"pointerup\", this.#boundPointerup);\n }\n disableClick() {\n this.div.removeEventListener(\"pointerdown\", this.#boundPointerdown);\n this.div.removeEventListener(\"pointerup\", this.#boundPointerup);\n }\n attach(editor) {\n this.#editors.set(editor.id, editor);\n }\n detach(editor) {\n this.#editors.delete(editor.id);\n this.#accessibilityManager?.removePointerInTextLayer(editor.contentDiv);\n }\n remove(editor) {\n this.#uiManager.removeEditor(editor);\n this.detach(editor);\n editor.div.style.display = \"none\";\n setTimeout(() => {\n editor.div.style.display = \"\";\n editor.div.remove();\n editor.isAttachedToDOM = false;\n if (document.activeElement === document.body) {\n this.#uiManager.focusMainContainer();\n }\n }, 0);\n if (!this.#isCleaningUp) {\n this.addInkEditorIfNeeded(false);\n }\n }\n #changeParent(editor) {\n if (editor.parent === this) {\n return;\n }\n this.attach(editor);\n editor.parent?.detach(editor);\n editor.setParent(this);\n if (editor.div && editor.isAttachedToDOM) {\n editor.div.remove();\n this.div.append(editor.div);\n }\n }\n add(editor) {\n this.#changeParent(editor);\n this.#uiManager.addEditor(editor);\n this.attach(editor);\n if (!editor.isAttachedToDOM) {\n const div = editor.render();\n this.div.append(div);\n editor.isAttachedToDOM = true;\n }\n this.moveEditorInDOM(editor);\n editor.onceAdded();\n this.#uiManager.addToAnnotationStorage(editor);\n }\n moveEditorInDOM(editor) {\n this.#accessibilityManager?.moveElementInDOM(this.div, editor.div, editor.contentDiv, true);\n }\n addOrRebuild(editor) {\n if (editor.needsToBeRebuilt()) {\n editor.rebuild();\n } else {\n this.add(editor);\n }\n }\n addANewEditor(editor) {\n const cmd = () => {\n this.addOrRebuild(editor);\n };\n const undo = () => {\n editor.remove();\n };\n this.addCommands({\n cmd,\n undo,\n mustExec: true\n });\n }\n addUndoableEditor(editor) {\n const cmd = () => {\n this.addOrRebuild(editor);\n };\n const undo = () => {\n editor.remove();\n };\n this.addCommands({\n cmd,\n undo,\n mustExec: false\n });\n }\n getNextId() {\n return this.#uiManager.getId();\n }\n #createNewEditor(params) {\n switch (this.#uiManager.getMode()) {\n case _util.AnnotationEditorType.FREETEXT:\n return new _freetext.FreeTextEditor(params);\n case _util.AnnotationEditorType.INK:\n return new _ink.InkEditor(params);\n }\n return null;\n }\n deserialize(data) {\n switch (data.annotationType) {\n case _util.AnnotationEditorType.FREETEXT:\n return _freetext.FreeTextEditor.deserialize(data, this, this.#uiManager);\n case _util.AnnotationEditorType.INK:\n return _ink.InkEditor.deserialize(data, this, this.#uiManager);\n }\n return null;\n }\n #createAndAddNewEditor(event) {\n const id = this.getNextId();\n const editor = this.#createNewEditor({\n parent: this,\n id,\n x: event.offsetX,\n y: event.offsetY,\n uiManager: this.#uiManager\n });\n if (editor) {\n this.add(editor);\n }\n return editor;\n }\n setSelected(editor) {\n this.#uiManager.setSelected(editor);\n }\n toggleSelected(editor) {\n this.#uiManager.toggleSelected(editor);\n }\n isSelected(editor) {\n return this.#uiManager.isSelected(editor);\n }\n unselect(editor) {\n this.#uiManager.unselect(editor);\n }\n pointerup(event) {\n const {\n isMac\n } = _util.FeatureTest.platform;\n if (event.button !== 0 || event.ctrlKey && isMac) {\n return;\n }\n if (event.target !== this.div) {\n return;\n }\n if (!this.#hadPointerDown) {\n return;\n }\n this.#hadPointerDown = false;\n if (!this.#allowClick) {\n this.#allowClick = true;\n return;\n }\n this.#createAndAddNewEditor(event);\n }\n pointerdown(event) {\n const {\n isMac\n } = _util.FeatureTest.platform;\n if (event.button !== 0 || event.ctrlKey && isMac) {\n return;\n }\n if (event.target !== this.div) {\n return;\n }\n this.#hadPointerDown = true;\n const editor = this.#uiManager.getActive();\n this.#allowClick = !editor || editor.isEmpty();\n }\n drop(event) {\n const id = event.dataTransfer.getData(\"text/plain\");\n const editor = this.#uiManager.getEditor(id);\n if (!editor) {\n return;\n }\n event.preventDefault();\n event.dataTransfer.dropEffect = \"move\";\n this.#changeParent(editor);\n const rect = this.div.getBoundingClientRect();\n const endX = event.clientX - rect.x;\n const endY = event.clientY - rect.y;\n editor.translate(endX - editor.startX, endY - editor.startY);\n this.moveEditorInDOM(editor);\n editor.div.focus();\n }\n dragover(event) {\n event.preventDefault();\n }\n destroy() {\n if (this.#uiManager.getActive()?.parent === this) {\n this.#uiManager.setActiveEditor(null);\n }\n for (const editor of this.#editors.values()) {\n this.#accessibilityManager?.removePointerInTextLayer(editor.contentDiv);\n editor.setParent(null);\n editor.isAttachedToDOM = false;\n editor.div.remove();\n }\n this.div = null;\n this.#editors.clear();\n this.#uiManager.removeLayer(this);\n }\n #cleanup() {\n this.#isCleaningUp = true;\n for (const editor of this.#editors.values()) {\n if (editor.isEmpty()) {\n editor.remove();\n }\n }\n this.#isCleaningUp = false;\n }\n render({\n viewport\n }) {\n this.viewport = viewport;\n (0, _display_utils.setLayerDimensions)(this.div, viewport);\n (0, _tools.bindEvents)(this, this.div, [\"dragover\", \"drop\"]);\n for (const editor of this.#uiManager.getEditors(this.pageIndex)) {\n this.add(editor);\n }\n this.updateMode();\n }\n update({\n viewport\n }) {\n this.#uiManager.commitOrRemove();\n this.viewport = viewport;\n (0, _display_utils.setLayerDimensions)(this.div, {\n rotation: viewport.rotation\n });\n this.updateMode();\n }\n get pageDimensions() {\n const {\n pageWidth,\n pageHeight\n } = this.viewport.rawDims;\n return [pageWidth, pageHeight];\n }\n}\nexports.AnnotationEditorLayer = AnnotationEditorLayer;\n\n/***/ }),\n/* 28 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.FreeTextEditor = void 0;\nvar _util = __w_pdfjs_require__(1);\nvar _tools = __w_pdfjs_require__(5);\nvar _editor = __w_pdfjs_require__(4);\nclass FreeTextEditor extends _editor.AnnotationEditor {\n #boundEditorDivBlur = this.editorDivBlur.bind(this);\n #boundEditorDivFocus = this.editorDivFocus.bind(this);\n #boundEditorDivInput = this.editorDivInput.bind(this);\n #boundEditorDivKeydown = this.editorDivKeydown.bind(this);\n #color;\n #content = \"\";\n #editorDivId = `${this.id}-editor`;\n #hasAlreadyBeenCommitted = false;\n #fontSize;\n static _freeTextDefaultContent = \"\";\n static _l10nPromise;\n static _internalPadding = 0;\n static _defaultColor = null;\n static _defaultFontSize = 10;\n static _keyboardManager = new _tools.KeyboardManager([[[\"ctrl+Enter\", \"mac+meta+Enter\", \"Escape\", \"mac+Escape\"], FreeTextEditor.prototype.commitOrRemove]]);\n static _type = \"freetext\";\n constructor(params) {\n super({\n ...params,\n name: \"freeTextEditor\"\n });\n this.#color = params.color || FreeTextEditor._defaultColor || _editor.AnnotationEditor._defaultLineColor;\n this.#fontSize = params.fontSize || FreeTextEditor._defaultFontSize;\n }\n static initialize(l10n) {\n this._l10nPromise = new Map([\"free_text2_default_content\", \"editor_free_text2_aria_label\"].map(str => [str, l10n.get(str)]));\n const style = getComputedStyle(document.documentElement);\n this._internalPadding = parseFloat(style.getPropertyValue(\"--freetext-padding\"));\n }\n static updateDefaultParams(type, value) {\n switch (type) {\n case _util.AnnotationEditorParamsType.FREETEXT_SIZE:\n FreeTextEditor._defaultFontSize = value;\n break;\n case _util.AnnotationEditorParamsType.FREETEXT_COLOR:\n FreeTextEditor._defaultColor = value;\n break;\n }\n }\n updateParams(type, value) {\n switch (type) {\n case _util.AnnotationEditorParamsType.FREETEXT_SIZE:\n this.#updateFontSize(value);\n break;\n case _util.AnnotationEditorParamsType.FREETEXT_COLOR:\n this.#updateColor(value);\n break;\n }\n }\n static get defaultPropertiesToUpdate() {\n return [[_util.AnnotationEditorParamsType.FREETEXT_SIZE, FreeTextEditor._defaultFontSize], [_util.AnnotationEditorParamsType.FREETEXT_COLOR, FreeTextEditor._defaultColor || _editor.AnnotationEditor._defaultLineColor]];\n }\n get propertiesToUpdate() {\n return [[_util.AnnotationEditorParamsType.FREETEXT_SIZE, this.#fontSize], [_util.AnnotationEditorParamsType.FREETEXT_COLOR, this.#color]];\n }\n #updateFontSize(fontSize) {\n const setFontsize = size => {\n this.editorDiv.style.fontSize = `calc(${size}px * var(--scale-factor))`;\n this.translate(0, -(size - this.#fontSize) * this.parentScale);\n this.#fontSize = size;\n this.#setEditorDimensions();\n };\n const savedFontsize = this.#fontSize;\n this.addCommands({\n cmd: () => {\n setFontsize(fontSize);\n },\n undo: () => {\n setFontsize(savedFontsize);\n },\n mustExec: true,\n type: _util.AnnotationEditorParamsType.FREETEXT_SIZE,\n overwriteIfSameType: true,\n keepUndo: true\n });\n }\n #updateColor(color) {\n const savedColor = this.#color;\n this.addCommands({\n cmd: () => {\n this.#color = this.editorDiv.style.color = color;\n },\n undo: () => {\n this.#color = this.editorDiv.style.color = savedColor;\n },\n mustExec: true,\n type: _util.AnnotationEditorParamsType.FREETEXT_COLOR,\n overwriteIfSameType: true,\n keepUndo: true\n });\n }\n getInitialTranslation() {\n const scale = this.parentScale;\n return [-FreeTextEditor._internalPadding * scale, -(FreeTextEditor._internalPadding + this.#fontSize) * scale];\n }\n rebuild() {\n super.rebuild();\n if (this.div === null) {\n return;\n }\n if (!this.isAttachedToDOM) {\n this.parent.add(this);\n }\n }\n enableEditMode() {\n if (this.isInEditMode()) {\n return;\n }\n this.parent.setEditingState(false);\n this.parent.updateToolbar(_util.AnnotationEditorType.FREETEXT);\n super.enableEditMode();\n this.overlayDiv.classList.remove(\"enabled\");\n this.editorDiv.contentEditable = true;\n this.div.draggable = false;\n this.div.removeAttribute(\"aria-activedescendant\");\n this.editorDiv.addEventListener(\"keydown\", this.#boundEditorDivKeydown);\n this.editorDiv.addEventListener(\"focus\", this.#boundEditorDivFocus);\n this.editorDiv.addEventListener(\"blur\", this.#boundEditorDivBlur);\n this.editorDiv.addEventListener(\"input\", this.#boundEditorDivInput);\n }\n disableEditMode() {\n if (!this.isInEditMode()) {\n return;\n }\n this.parent.setEditingState(true);\n super.disableEditMode();\n this.overlayDiv.classList.add(\"enabled\");\n this.editorDiv.contentEditable = false;\n this.div.setAttribute(\"aria-activedescendant\", this.#editorDivId);\n this.div.draggable = true;\n this.editorDiv.removeEventListener(\"keydown\", this.#boundEditorDivKeydown);\n this.editorDiv.removeEventListener(\"focus\", this.#boundEditorDivFocus);\n this.editorDiv.removeEventListener(\"blur\", this.#boundEditorDivBlur);\n this.editorDiv.removeEventListener(\"input\", this.#boundEditorDivInput);\n this.div.focus({\n preventScroll: true\n });\n this.isEditing = false;\n this.parent.div.classList.add(\"freeTextEditing\");\n }\n focusin(event) {\n super.focusin(event);\n if (event.target !== this.editorDiv) {\n this.editorDiv.focus();\n }\n }\n onceAdded() {\n if (this.width) {\n return;\n }\n this.enableEditMode();\n this.editorDiv.focus();\n }\n isEmpty() {\n return !this.editorDiv || this.editorDiv.innerText.trim() === \"\";\n }\n remove() {\n this.isEditing = false;\n this.parent.setEditingState(true);\n this.parent.div.classList.add(\"freeTextEditing\");\n super.remove();\n }\n #extractText() {\n const divs = this.editorDiv.getElementsByTagName(\"div\");\n if (divs.length === 0) {\n return this.editorDiv.innerText;\n }\n const buffer = [];\n for (const div of divs) {\n buffer.push(div.innerText.replace(/\\r\\n?|\\n/, \"\"));\n }\n return buffer.join(\"\\n\");\n }\n #setEditorDimensions() {\n const [parentWidth, parentHeight] = this.parentDimensions;\n let rect;\n if (this.isAttachedToDOM) {\n rect = this.div.getBoundingClientRect();\n } else {\n const {\n currentLayer,\n div\n } = this;\n const savedDisplay = div.style.display;\n div.style.display = \"hidden\";\n currentLayer.div.append(this.div);\n rect = div.getBoundingClientRect();\n div.remove();\n div.style.display = savedDisplay;\n }\n this.width = rect.width / parentWidth;\n this.height = rect.height / parentHeight;\n }\n commit() {\n if (!this.isInEditMode()) {\n return;\n }\n super.commit();\n if (!this.#hasAlreadyBeenCommitted) {\n this.#hasAlreadyBeenCommitted = true;\n this.parent.addUndoableEditor(this);\n }\n this.disableEditMode();\n this.#content = this.#extractText().trimEnd();\n this.#setEditorDimensions();\n }\n shouldGetKeyboardEvents() {\n return this.isInEditMode();\n }\n dblclick(event) {\n this.enableEditMode();\n this.editorDiv.focus();\n }\n keydown(event) {\n if (event.target === this.div && event.key === \"Enter\") {\n this.enableEditMode();\n this.editorDiv.focus();\n }\n }\n editorDivKeydown(event) {\n FreeTextEditor._keyboardManager.exec(this, event);\n }\n editorDivFocus(event) {\n this.isEditing = true;\n }\n editorDivBlur(event) {\n this.isEditing = false;\n }\n editorDivInput(event) {\n this.parent.div.classList.toggle(\"freeTextEditing\", this.isEmpty());\n }\n disableEditing() {\n this.editorDiv.setAttribute(\"role\", \"comment\");\n this.editorDiv.removeAttribute(\"aria-multiline\");\n }\n enableEditing() {\n this.editorDiv.setAttribute(\"role\", \"textbox\");\n this.editorDiv.setAttribute(\"aria-multiline\", true);\n }\n render() {\n if (this.div) {\n return this.div;\n }\n let baseX, baseY;\n if (this.width) {\n baseX = this.x;\n baseY = this.y;\n }\n super.render();\n this.editorDiv = document.createElement(\"div\");\n this.editorDiv.className = \"internal\";\n this.editorDiv.setAttribute(\"id\", this.#editorDivId);\n this.enableEditing();\n FreeTextEditor._l10nPromise.get(\"editor_free_text2_aria_label\").then(msg => this.editorDiv?.setAttribute(\"aria-label\", msg));\n FreeTextEditor._l10nPromise.get(\"free_text2_default_content\").then(msg => this.editorDiv?.setAttribute(\"default-content\", msg));\n this.editorDiv.contentEditable = true;\n const {\n style\n } = this.editorDiv;\n style.fontSize = `calc(${this.#fontSize}px * var(--scale-factor))`;\n style.color = this.#color;\n this.div.append(this.editorDiv);\n this.overlayDiv = document.createElement(\"div\");\n this.overlayDiv.classList.add(\"overlay\", \"enabled\");\n this.div.append(this.overlayDiv);\n (0, _tools.bindEvents)(this, this.div, [\"dblclick\", \"keydown\"]);\n if (this.width) {\n const [parentWidth, parentHeight] = this.parentDimensions;\n this.setAt(baseX * parentWidth, baseY * parentHeight, this.width * parentWidth, this.height * parentHeight);\n for (const line of this.#content.split(\"\\n\")) {\n const div = document.createElement(\"div\");\n div.append(line ? document.createTextNode(line) : document.createElement(\"br\"));\n this.editorDiv.append(div);\n }\n this.div.draggable = true;\n this.editorDiv.contentEditable = false;\n } else {\n this.div.draggable = false;\n this.editorDiv.contentEditable = true;\n }\n return this.div;\n }\n get contentDiv() {\n return this.editorDiv;\n }\n static deserialize(data, parent, uiManager) {\n const editor = super.deserialize(data, parent, uiManager);\n editor.#fontSize = data.fontSize;\n editor.#color = _util.Util.makeHexColor(...data.color);\n editor.#content = data.value;\n return editor;\n }\n serialize() {\n if (this.isEmpty()) {\n return null;\n }\n const padding = FreeTextEditor._internalPadding * this.parentScale;\n const rect = this.getRect(padding, padding);\n const color = _editor.AnnotationEditor._colorManager.convert(this.isAttachedToDOM ? getComputedStyle(this.editorDiv).color : this.#color);\n return {\n annotationType: _util.AnnotationEditorType.FREETEXT,\n color,\n fontSize: this.#fontSize,\n value: this.#content,\n pageIndex: this.pageIndex,\n rect,\n rotation: this.rotation\n };\n }\n}\nexports.FreeTextEditor = FreeTextEditor;\n\n/***/ }),\n/* 29 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.InkEditor = void 0;\nObject.defineProperty(exports, \"fitCurve\", ({\n enumerable: true,\n get: function () {\n return _pdfjsFitCurve.fitCurve;\n }\n}));\nvar _util = __w_pdfjs_require__(1);\nvar _editor = __w_pdfjs_require__(4);\nvar _pdfjsFitCurve = __w_pdfjs_require__(30);\nvar _tools = __w_pdfjs_require__(5);\nconst RESIZER_SIZE = 16;\nclass InkEditor extends _editor.AnnotationEditor {\n #aspectRatio = 0;\n #baseHeight = 0;\n #baseWidth = 0;\n #boundCanvasPointermove = this.canvasPointermove.bind(this);\n #boundCanvasPointerleave = this.canvasPointerleave.bind(this);\n #boundCanvasPointerup = this.canvasPointerup.bind(this);\n #boundCanvasPointerdown = this.canvasPointerdown.bind(this);\n #disableEditing = false;\n #isCanvasInitialized = false;\n #lastPoint = null;\n #observer = null;\n #realWidth = 0;\n #realHeight = 0;\n #requestFrameCallback = null;\n static _defaultColor = null;\n static _defaultOpacity = 1;\n static _defaultThickness = 1;\n static _l10nPromise;\n static _type = \"ink\";\n constructor(params) {\n super({\n ...params,\n name: \"inkEditor\"\n });\n this.color = params.color || null;\n this.thickness = params.thickness || null;\n this.opacity = params.opacity || null;\n this.paths = [];\n this.bezierPath2D = [];\n this.currentPath = [];\n this.scaleFactor = 1;\n this.translationX = this.translationY = 0;\n this.x = 0;\n this.y = 0;\n }\n static initialize(l10n) {\n this._l10nPromise = new Map([\"editor_ink_canvas_aria_label\", \"editor_ink2_aria_label\"].map(str => [str, l10n.get(str)]));\n }\n static updateDefaultParams(type, value) {\n switch (type) {\n case _util.AnnotationEditorParamsType.INK_THICKNESS:\n InkEditor._defaultThickness = value;\n break;\n case _util.AnnotationEditorParamsType.INK_COLOR:\n InkEditor._defaultColor = value;\n break;\n case _util.AnnotationEditorParamsType.INK_OPACITY:\n InkEditor._defaultOpacity = value / 100;\n break;\n }\n }\n updateParams(type, value) {\n switch (type) {\n case _util.AnnotationEditorParamsType.INK_THICKNESS:\n this.#updateThickness(value);\n break;\n case _util.AnnotationEditorParamsType.INK_COLOR:\n this.#updateColor(value);\n break;\n case _util.AnnotationEditorParamsType.INK_OPACITY:\n this.#updateOpacity(value);\n break;\n }\n }\n static get defaultPropertiesToUpdate() {\n 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)]];\n }\n get propertiesToUpdate() {\n 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))]];\n }\n #updateThickness(thickness) {\n const savedThickness = this.thickness;\n this.addCommands({\n cmd: () => {\n this.thickness = thickness;\n this.#fitToContent();\n },\n undo: () => {\n this.thickness = savedThickness;\n this.#fitToContent();\n },\n mustExec: true,\n type: _util.AnnotationEditorParamsType.INK_THICKNESS,\n overwriteIfSameType: true,\n keepUndo: true\n });\n }\n #updateColor(color) {\n const savedColor = this.color;\n this.addCommands({\n cmd: () => {\n this.color = color;\n this.#redraw();\n },\n undo: () => {\n this.color = savedColor;\n this.#redraw();\n },\n mustExec: true,\n type: _util.AnnotationEditorParamsType.INK_COLOR,\n overwriteIfSameType: true,\n keepUndo: true\n });\n }\n #updateOpacity(opacity) {\n opacity /= 100;\n const savedOpacity = this.opacity;\n this.addCommands({\n cmd: () => {\n this.opacity = opacity;\n this.#redraw();\n },\n undo: () => {\n this.opacity = savedOpacity;\n this.#redraw();\n },\n mustExec: true,\n type: _util.AnnotationEditorParamsType.INK_OPACITY,\n overwriteIfSameType: true,\n keepUndo: true\n });\n }\n rebuild() {\n super.rebuild();\n if (this.div === null) {\n return;\n }\n if (!this.canvas) {\n this.#createCanvas();\n this.#createObserver();\n }\n if (!this.isAttachedToDOM) {\n this.parent.add(this);\n this.#setCanvasDims();\n }\n this.#fitToContent();\n }\n remove() {\n if (this.canvas === null) {\n return;\n }\n if (!this.isEmpty()) {\n this.commit();\n }\n this.canvas.width = this.canvas.height = 0;\n this.canvas.remove();\n this.canvas = null;\n this.#observer.disconnect();\n this.#observer = null;\n super.remove();\n }\n setParent(parent) {\n if (!this.parent && parent) {\n this._uiManager.removeShouldRescale(this);\n } else if (this.parent && parent === null) {\n this._uiManager.addShouldRescale(this);\n }\n super.setParent(parent);\n }\n onScaleChanging() {\n const [parentWidth, parentHeight] = this.parentDimensions;\n const width = this.width * parentWidth;\n const height = this.height * parentHeight;\n this.setDimensions(width, height);\n }\n enableEditMode() {\n if (this.#disableEditing || this.canvas === null) {\n return;\n }\n super.enableEditMode();\n this.div.draggable = false;\n this.canvas.addEventListener(\"pointerdown\", this.#boundCanvasPointerdown);\n this.canvas.addEventListener(\"pointerup\", this.#boundCanvasPointerup);\n }\n disableEditMode() {\n if (!this.isInEditMode() || this.canvas === null) {\n return;\n }\n super.disableEditMode();\n this.div.draggable = !this.isEmpty();\n this.div.classList.remove(\"editing\");\n this.canvas.removeEventListener(\"pointerdown\", this.#boundCanvasPointerdown);\n this.canvas.removeEventListener(\"pointerup\", this.#boundCanvasPointerup);\n }\n onceAdded() {\n this.div.draggable = !this.isEmpty();\n }\n isEmpty() {\n return this.paths.length === 0 || this.paths.length === 1 && this.paths[0].length === 0;\n }\n #getInitialBBox() {\n const {\n parentRotation,\n parentDimensions: [width, height]\n } = this;\n switch (parentRotation) {\n case 90:\n return [0, height, height, width];\n case 180:\n return [width, height, width, height];\n case 270:\n return [width, 0, height, width];\n default:\n return [0, 0, width, height];\n }\n }\n #setStroke() {\n const {\n ctx,\n color,\n opacity,\n thickness,\n parentScale,\n scaleFactor\n } = this;\n ctx.lineWidth = thickness * parentScale / scaleFactor;\n ctx.lineCap = \"round\";\n ctx.lineJoin = \"round\";\n ctx.miterLimit = 10;\n ctx.strokeStyle = `${color}${(0, _tools.opacityToHex)(opacity)}`;\n }\n #startDrawing(x, y) {\n this.isEditing = true;\n if (!this.#isCanvasInitialized) {\n this.#isCanvasInitialized = true;\n this.#setCanvasDims();\n this.thickness ||= InkEditor._defaultThickness;\n this.color ||= InkEditor._defaultColor || _editor.AnnotationEditor._defaultLineColor;\n this.opacity ??= InkEditor._defaultOpacity;\n }\n this.currentPath.push([x, y]);\n this.#lastPoint = null;\n this.#setStroke();\n this.ctx.beginPath();\n this.ctx.moveTo(x, y);\n this.#requestFrameCallback = () => {\n if (!this.#requestFrameCallback) {\n return;\n }\n if (this.#lastPoint) {\n if (this.isEmpty()) {\n this.ctx.setTransform(1, 0, 0, 1, 0, 0);\n this.ctx.clearRect(0, 0, this.canvas.width, this.canvas.height);\n } else {\n this.#redraw();\n }\n this.ctx.lineTo(...this.#lastPoint);\n this.#lastPoint = null;\n this.ctx.stroke();\n }\n window.requestAnimationFrame(this.#requestFrameCallback);\n };\n window.requestAnimationFrame(this.#requestFrameCallback);\n }\n #draw(x, y) {\n const [lastX, lastY] = this.currentPath.at(-1);\n if (x === lastX && y === lastY) {\n return;\n }\n this.currentPath.push([x, y]);\n this.#lastPoint = [x, y];\n }\n #stopDrawing(x, y) {\n this.ctx.closePath();\n this.#requestFrameCallback = null;\n x = Math.min(Math.max(x, 0), this.canvas.width);\n y = Math.min(Math.max(y, 0), this.canvas.height);\n const [lastX, lastY] = this.currentPath.at(-1);\n if (x !== lastX || y !== lastY) {\n this.currentPath.push([x, y]);\n }\n let bezier;\n if (this.currentPath.length !== 1) {\n bezier = (0, _pdfjsFitCurve.fitCurve)(this.currentPath, 30, null);\n } else {\n const xy = [x, y];\n bezier = [[xy, xy.slice(), xy.slice(), xy]];\n }\n const path2D = InkEditor.#buildPath2D(bezier);\n this.currentPath.length = 0;\n const cmd = () => {\n this.paths.push(bezier);\n this.bezierPath2D.push(path2D);\n this.rebuild();\n };\n const undo = () => {\n this.paths.pop();\n this.bezierPath2D.pop();\n if (this.paths.length === 0) {\n this.remove();\n } else {\n if (!this.canvas) {\n this.#createCanvas();\n this.#createObserver();\n }\n this.#fitToContent();\n }\n };\n this.addCommands({\n cmd,\n undo,\n mustExec: true\n });\n }\n #redraw() {\n if (this.isEmpty()) {\n this.#updateTransform();\n return;\n }\n this.#setStroke();\n const {\n canvas,\n ctx\n } = this;\n ctx.setTransform(1, 0, 0, 1, 0, 0);\n ctx.clearRect(0, 0, canvas.width, canvas.height);\n this.#updateTransform();\n for (const path of this.bezierPath2D) {\n ctx.stroke(path);\n }\n }\n commit() {\n if (this.#disableEditing) {\n return;\n }\n super.commit();\n this.isEditing = false;\n this.disableEditMode();\n this.setInForeground();\n this.#disableEditing = true;\n this.div.classList.add(\"disabled\");\n this.#fitToContent(true);\n this.parent.addInkEditorIfNeeded(true);\n this.parent.moveEditorInDOM(this);\n this.div.focus({\n preventScroll: true\n });\n }\n focusin(event) {\n super.focusin(event);\n this.enableEditMode();\n }\n canvasPointerdown(event) {\n if (event.button !== 0 || !this.isInEditMode() || this.#disableEditing) {\n return;\n }\n this.setInForeground();\n if (event.type !== \"mouse\") {\n this.div.focus();\n }\n event.stopPropagation();\n this.canvas.addEventListener(\"pointerleave\", this.#boundCanvasPointerleave);\n this.canvas.addEventListener(\"pointermove\", this.#boundCanvasPointermove);\n this.#startDrawing(event.offsetX, event.offsetY);\n }\n canvasPointermove(event) {\n event.stopPropagation();\n this.#draw(event.offsetX, event.offsetY);\n }\n canvasPointerup(event) {\n if (event.button !== 0) {\n return;\n }\n if (this.isInEditMode() && this.currentPath.length !== 0) {\n event.stopPropagation();\n this.#endDrawing(event);\n this.setInBackground();\n }\n }\n canvasPointerleave(event) {\n this.#endDrawing(event);\n this.setInBackground();\n }\n #endDrawing(event) {\n this.#stopDrawing(event.offsetX, event.offsetY);\n this.canvas.removeEventListener(\"pointerleave\", this.#boundCanvasPointerleave);\n this.canvas.removeEventListener(\"pointermove\", this.#boundCanvasPointermove);\n this.addToAnnotationStorage();\n }\n #createCanvas() {\n this.canvas = document.createElement(\"canvas\");\n this.canvas.width = this.canvas.height = 0;\n this.canvas.className = \"inkEditorCanvas\";\n InkEditor._l10nPromise.get(\"editor_ink_canvas_aria_label\").then(msg => this.canvas?.setAttribute(\"aria-label\", msg));\n this.div.append(this.canvas);\n this.ctx = this.canvas.getContext(\"2d\");\n }\n #createObserver() {\n this.#observer = new ResizeObserver(entries => {\n const rect = entries[0].contentRect;\n if (rect.width && rect.height) {\n this.setDimensions(rect.width, rect.height);\n }\n });\n this.#observer.observe(this.div);\n }\n render() {\n if (this.div) {\n return this.div;\n }\n let baseX, baseY;\n if (this.width) {\n baseX = this.x;\n baseY = this.y;\n }\n super.render();\n InkEditor._l10nPromise.get(\"editor_ink2_aria_label\").then(msg => this.div?.setAttribute(\"aria-label\", msg));\n const [x, y, w, h] = this.#getInitialBBox();\n this.setAt(x, y, 0, 0);\n this.setDims(w, h);\n this.#createCanvas();\n if (this.width) {\n const [parentWidth, parentHeight] = this.parentDimensions;\n this.setAt(baseX * parentWidth, baseY * parentHeight, this.width * parentWidth, this.height * parentHeight);\n this.#isCanvasInitialized = true;\n this.#setCanvasDims();\n this.setDims(this.width * parentWidth, this.height * parentHeight);\n this.#redraw();\n this.#setMinDims();\n this.div.classList.add(\"disabled\");\n } else {\n this.div.classList.add(\"editing\");\n this.enableEditMode();\n }\n this.#createObserver();\n return this.div;\n }\n #setCanvasDims() {\n if (!this.#isCanvasInitialized) {\n return;\n }\n const [parentWidth, parentHeight] = this.parentDimensions;\n this.canvas.width = Math.ceil(this.width * parentWidth);\n this.canvas.height = Math.ceil(this.height * parentHeight);\n this.#updateTransform();\n }\n setDimensions(width, height) {\n const roundedWidth = Math.round(width);\n const roundedHeight = Math.round(height);\n if (this.#realWidth === roundedWidth && this.#realHeight === roundedHeight) {\n return;\n }\n this.#realWidth = roundedWidth;\n this.#realHeight = roundedHeight;\n this.canvas.style.visibility = \"hidden\";\n if (this.#aspectRatio && Math.abs(this.#aspectRatio - width / height) > 1e-2) {\n height = Math.ceil(width / this.#aspectRatio);\n this.setDims(width, height);\n }\n const [parentWidth, parentHeight] = this.parentDimensions;\n this.width = width / parentWidth;\n this.height = height / parentHeight;\n if (this.#disableEditing) {\n this.#setScaleFactor(width, height);\n }\n this.#setCanvasDims();\n this.#redraw();\n this.canvas.style.visibility = \"visible\";\n this.fixDims();\n }\n #setScaleFactor(width, height) {\n const padding = this.#getPadding();\n const scaleFactorW = (width - padding) / this.#baseWidth;\n const scaleFactorH = (height - padding) / this.#baseHeight;\n this.scaleFactor = Math.min(scaleFactorW, scaleFactorH);\n }\n #updateTransform() {\n const padding = this.#getPadding() / 2;\n this.ctx.setTransform(this.scaleFactor, 0, 0, this.scaleFactor, this.translationX * this.scaleFactor + padding, this.translationY * this.scaleFactor + padding);\n }\n static #buildPath2D(bezier) {\n const path2D = new Path2D();\n for (let i = 0, ii = bezier.length; i < ii; i++) {\n const [first, control1, control2, second] = bezier[i];\n if (i === 0) {\n path2D.moveTo(...first);\n }\n path2D.bezierCurveTo(control1[0], control1[1], control2[0], control2[1], second[0], second[1]);\n }\n return path2D;\n }\n #serializePaths(s, tx, ty, h) {\n const NUMBER_OF_POINTS_ON_BEZIER_CURVE = 4;\n const paths = [];\n const padding = this.thickness / 2;\n let buffer, points;\n for (const bezier of this.paths) {\n buffer = [];\n points = [];\n for (let i = 0, ii = bezier.length; i < ii; i++) {\n const [first, control1, control2, second] = bezier[i];\n const p10 = s * (first[0] + tx) + padding;\n const p11 = h - s * (first[1] + ty) - padding;\n const p20 = s * (control1[0] + tx) + padding;\n const p21 = h - s * (control1[1] + ty) - padding;\n const p30 = s * (control2[0] + tx) + padding;\n const p31 = h - s * (control2[1] + ty) - padding;\n const p40 = s * (second[0] + tx) + padding;\n const p41 = h - s * (second[1] + ty) - padding;\n if (i === 0) {\n buffer.push(p10, p11);\n points.push(p10, p11);\n }\n buffer.push(p20, p21, p30, p31, p40, p41);\n this.#extractPointsOnBezier(p10, p11, p20, p21, p30, p31, p40, p41, NUMBER_OF_POINTS_ON_BEZIER_CURVE, points);\n }\n paths.push({\n bezier: buffer,\n points\n });\n }\n return paths;\n }\n #extractPointsOnBezier(p10, p11, p20, p21, p30, p31, p40, p41, n, points) {\n if (this.#isAlmostFlat(p10, p11, p20, p21, p30, p31, p40, p41)) {\n points.push(p40, p41);\n return;\n }\n for (let i = 1; i < n - 1; i++) {\n const t = i / n;\n const mt = 1 - t;\n let q10 = t * p10 + mt * p20;\n let q11 = t * p11 + mt * p21;\n let q20 = t * p20 + mt * p30;\n let q21 = t * p21 + mt * p31;\n const q30 = t * p30 + mt * p40;\n const q31 = t * p31 + mt * p41;\n q10 = t * q10 + mt * q20;\n q11 = t * q11 + mt * q21;\n q20 = t * q20 + mt * q30;\n q21 = t * q21 + mt * q31;\n q10 = t * q10 + mt * q20;\n q11 = t * q11 + mt * q21;\n points.push(q10, q11);\n }\n points.push(p40, p41);\n }\n #isAlmostFlat(p10, p11, p20, p21, p30, p31, p40, p41) {\n const tol = 10;\n const ax = (3 * p20 - 2 * p10 - p40) ** 2;\n const ay = (3 * p21 - 2 * p11 - p41) ** 2;\n const bx = (3 * p30 - p10 - 2 * p40) ** 2;\n const by = (3 * p31 - p11 - 2 * p41) ** 2;\n return Math.max(ax, bx) + Math.max(ay, by) <= tol;\n }\n #getBbox() {\n let xMin = Infinity;\n let xMax = -Infinity;\n let yMin = Infinity;\n let yMax = -Infinity;\n for (const path of this.paths) {\n for (const [first, control1, control2, second] of path) {\n const bbox = _util.Util.bezierBoundingBox(...first, ...control1, ...control2, ...second);\n xMin = Math.min(xMin, bbox[0]);\n yMin = Math.min(yMin, bbox[1]);\n xMax = Math.max(xMax, bbox[2]);\n yMax = Math.max(yMax, bbox[3]);\n }\n }\n return [xMin, yMin, xMax, yMax];\n }\n #getPadding() {\n return this.#disableEditing ? Math.ceil(this.thickness * this.parentScale) : 0;\n }\n #fitToContent(firstTime = false) {\n if (this.isEmpty()) {\n return;\n }\n if (!this.#disableEditing) {\n this.#redraw();\n return;\n }\n const bbox = this.#getBbox();\n const padding = this.#getPadding();\n this.#baseWidth = Math.max(RESIZER_SIZE, bbox[2] - bbox[0]);\n this.#baseHeight = Math.max(RESIZER_SIZE, bbox[3] - bbox[1]);\n const width = Math.ceil(padding + this.#baseWidth * this.scaleFactor);\n const height = Math.ceil(padding + this.#baseHeight * this.scaleFactor);\n const [parentWidth, parentHeight] = this.parentDimensions;\n this.width = width / parentWidth;\n this.height = height / parentHeight;\n this.#aspectRatio = width / height;\n this.#setMinDims();\n const prevTranslationX = this.translationX;\n const prevTranslationY = this.translationY;\n this.translationX = -bbox[0];\n this.translationY = -bbox[1];\n this.#setCanvasDims();\n this.#redraw();\n this.#realWidth = width;\n this.#realHeight = height;\n this.setDims(width, height);\n const unscaledPadding = firstTime ? padding / this.scaleFactor / 2 : 0;\n this.translate(prevTranslationX - this.translationX - unscaledPadding, prevTranslationY - this.translationY - unscaledPadding);\n }\n #setMinDims() {\n const {\n style\n } = this.div;\n if (this.#aspectRatio >= 1) {\n style.minHeight = `${RESIZER_SIZE}px`;\n style.minWidth = `${Math.round(this.#aspectRatio * RESIZER_SIZE)}px`;\n } else {\n style.minWidth = `${RESIZER_SIZE}px`;\n style.minHeight = `${Math.round(RESIZER_SIZE / this.#aspectRatio)}px`;\n }\n }\n static deserialize(data, parent, uiManager) {\n const editor = super.deserialize(data, parent, uiManager);\n editor.thickness = data.thickness;\n editor.color = _util.Util.makeHexColor(...data.color);\n editor.opacity = data.opacity;\n const [pageWidth, pageHeight] = editor.pageDimensions;\n const width = editor.width * pageWidth;\n const height = editor.height * pageHeight;\n const scaleFactor = editor.parentScale;\n const padding = data.thickness / 2;\n editor.#aspectRatio = width / height;\n editor.#disableEditing = true;\n editor.#realWidth = Math.round(width);\n editor.#realHeight = Math.round(height);\n for (const {\n bezier\n } of data.paths) {\n const path = [];\n editor.paths.push(path);\n let p0 = scaleFactor * (bezier[0] - padding);\n let p1 = scaleFactor * (height - bezier[1] - padding);\n for (let i = 2, ii = bezier.length; i < ii; i += 6) {\n const p10 = scaleFactor * (bezier[i] - padding);\n const p11 = scaleFactor * (height - bezier[i + 1] - padding);\n const p20 = scaleFactor * (bezier[i + 2] - padding);\n const p21 = scaleFactor * (height - bezier[i + 3] - padding);\n const p30 = scaleFactor * (bezier[i + 4] - padding);\n const p31 = scaleFactor * (height - bezier[i + 5] - padding);\n path.push([[p0, p1], [p10, p11], [p20, p21], [p30, p31]]);\n p0 = p30;\n p1 = p31;\n }\n const path2D = this.#buildPath2D(path);\n editor.bezierPath2D.push(path2D);\n }\n const bbox = editor.#getBbox();\n editor.#baseWidth = Math.max(RESIZER_SIZE, bbox[2] - bbox[0]);\n editor.#baseHeight = Math.max(RESIZER_SIZE, bbox[3] - bbox[1]);\n editor.#setScaleFactor(width, height);\n return editor;\n }\n serialize() {\n if (this.isEmpty()) {\n return null;\n }\n const rect = this.getRect(0, 0);\n const height = this.rotation % 180 === 0 ? rect[3] - rect[1] : rect[2] - rect[0];\n const color = _editor.AnnotationEditor._colorManager.convert(this.ctx.strokeStyle);\n return {\n annotationType: _util.AnnotationEditorType.INK,\n color,\n thickness: this.thickness,\n opacity: this.opacity,\n paths: this.#serializePaths(this.scaleFactor / this.parentScale, this.translationX, this.translationY, height),\n pageIndex: this.pageIndex,\n rect,\n rotation: this.rotation\n };\n }\n}\nexports.InkEditor = InkEditor;\n\n/***/ }),\n/* 30 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.fitCurve = void 0;\nconst fitCurve = __w_pdfjs_require__(31);\nexports.fitCurve = fitCurve;\n\n/***/ }),\n/* 31 */\n/***/ ((module) => {\n\n\n\nfunction fitCurve(points, maxError, progressCallback) {\n if (!Array.isArray(points)) {\n throw new TypeError(\"First argument should be an array\");\n }\n points.forEach(point => {\n if (!Array.isArray(point) || point.some(item => typeof item !== 'number') || point.length !== points[0].length) {\n throw Error(\"Each point should be an array of numbers. Each point should have the same amount of numbers.\");\n }\n });\n points = points.filter((point, i) => i === 0 || !point.every((val, j) => val === points[i - 1][j]));\n if (points.length < 2) {\n return [];\n }\n const len = points.length;\n const leftTangent = createTangent(points[1], points[0]);\n const rightTangent = createTangent(points[len - 2], points[len - 1]);\n return fitCubic(points, leftTangent, rightTangent, maxError, progressCallback);\n}\nfunction fitCubic(points, leftTangent, rightTangent, error, progressCallback) {\n const MaxIterations = 20;\n var bezCurve, u, uPrime, maxError, prevErr, splitPoint, prevSplit, centerVector, toCenterTangent, fromCenterTangent, beziers, dist, i;\n if (points.length === 2) {\n dist = maths.vectorLen(maths.subtract(points[0], points[1])) / 3.0;\n bezCurve = [points[0], maths.addArrays(points[0], maths.mulItems(leftTangent, dist)), maths.addArrays(points[1], maths.mulItems(rightTangent, dist)), points[1]];\n return [bezCurve];\n }\n u = chordLengthParameterize(points);\n [bezCurve, maxError, splitPoint] = generateAndReport(points, u, u, leftTangent, rightTangent, progressCallback);\n if (maxError === 0 || maxError < error) {\n return [bezCurve];\n }\n if (maxError < error * error) {\n uPrime = u;\n prevErr = maxError;\n prevSplit = splitPoint;\n for (i = 0; i < MaxIterations; i++) {\n uPrime = reparameterize(bezCurve, points, uPrime);\n [bezCurve, maxError, splitPoint] = generateAndReport(points, u, uPrime, leftTangent, rightTangent, progressCallback);\n if (maxError < error) {\n return [bezCurve];\n } else if (splitPoint === prevSplit) {\n let errChange = maxError / prevErr;\n if (errChange > .9999 && errChange < 1.0001) {\n break;\n }\n }\n prevErr = maxError;\n prevSplit = splitPoint;\n }\n }\n beziers = [];\n centerVector = maths.subtract(points[splitPoint - 1], points[splitPoint + 1]);\n if (centerVector.every(val => val === 0)) {\n centerVector = maths.subtract(points[splitPoint - 1], points[splitPoint]);\n [centerVector[0], centerVector[1]] = [-centerVector[1], centerVector[0]];\n }\n toCenterTangent = maths.normalize(centerVector);\n fromCenterTangent = maths.mulItems(toCenterTangent, -1);\n beziers = beziers.concat(fitCubic(points.slice(0, splitPoint + 1), leftTangent, toCenterTangent, error, progressCallback));\n beziers = beziers.concat(fitCubic(points.slice(splitPoint), fromCenterTangent, rightTangent, error, progressCallback));\n return beziers;\n}\n;\nfunction generateAndReport(points, paramsOrig, paramsPrime, leftTangent, rightTangent, progressCallback) {\n var bezCurve, maxError, splitPoint;\n bezCurve = generateBezier(points, paramsPrime, leftTangent, rightTangent, progressCallback);\n [maxError, splitPoint] = computeMaxError(points, bezCurve, paramsOrig);\n if (progressCallback) {\n progressCallback({\n bez: bezCurve,\n points: points,\n params: paramsOrig,\n maxErr: maxError,\n maxPoint: splitPoint\n });\n }\n return [bezCurve, maxError, splitPoint];\n}\nfunction generateBezier(points, parameters, leftTangent, rightTangent) {\n var bezCurve,\n A,\n a,\n C,\n X,\n det_C0_C1,\n det_C0_X,\n det_X_C1,\n alpha_l,\n alpha_r,\n epsilon,\n segLength,\n i,\n len,\n tmp,\n u,\n ux,\n firstPoint = points[0],\n lastPoint = points[points.length - 1];\n bezCurve = [firstPoint, null, null, lastPoint];\n A = maths.zeros_Xx2x2(parameters.length);\n for (i = 0, len = parameters.length; i < len; i++) {\n u = parameters[i];\n ux = 1 - u;\n a = A[i];\n a[0] = maths.mulItems(leftTangent, 3 * u * (ux * ux));\n a[1] = maths.mulItems(rightTangent, 3 * ux * (u * u));\n }\n C = [[0, 0], [0, 0]];\n X = [0, 0];\n for (i = 0, len = points.length; i < len; i++) {\n u = parameters[i];\n a = A[i];\n C[0][0] += maths.dot(a[0], a[0]);\n C[0][1] += maths.dot(a[0], a[1]);\n C[1][0] += maths.dot(a[0], a[1]);\n C[1][1] += maths.dot(a[1], a[1]);\n tmp = maths.subtract(points[i], bezier.q([firstPoint, firstPoint, lastPoint, lastPoint], u));\n X[0] += maths.dot(a[0], tmp);\n X[1] += maths.dot(a[1], tmp);\n }\n det_C0_C1 = C[0][0] * C[1][1] - C[1][0] * C[0][1];\n det_C0_X = C[0][0] * X[1] - C[1][0] * X[0];\n det_X_C1 = X[0] * C[1][1] - X[1] * C[0][1];\n alpha_l = det_C0_C1 === 0 ? 0 : det_X_C1 / det_C0_C1;\n alpha_r = det_C0_C1 === 0 ? 0 : det_C0_X / det_C0_C1;\n segLength = maths.vectorLen(maths.subtract(firstPoint, lastPoint));\n epsilon = 1.0e-6 * segLength;\n if (alpha_l < epsilon || alpha_r < epsilon) {\n bezCurve[1] = maths.addArrays(firstPoint, maths.mulItems(leftTangent, segLength / 3.0));\n bezCurve[2] = maths.addArrays(lastPoint, maths.mulItems(rightTangent, segLength / 3.0));\n } else {\n bezCurve[1] = maths.addArrays(firstPoint, maths.mulItems(leftTangent, alpha_l));\n bezCurve[2] = maths.addArrays(lastPoint, maths.mulItems(rightTangent, alpha_r));\n }\n return bezCurve;\n}\n;\nfunction reparameterize(bezier, points, parameters) {\n return parameters.map((p, i) => newtonRaphsonRootFind(bezier, points[i], p));\n}\n;\nfunction newtonRaphsonRootFind(bez, point, u) {\n var d = maths.subtract(bezier.q(bez, u), point),\n qprime = bezier.qprime(bez, u),\n numerator = maths.mulMatrix(d, qprime),\n denominator = maths.sum(maths.squareItems(qprime)) + 2 * maths.mulMatrix(d, bezier.qprimeprime(bez, u));\n if (denominator === 0) {\n return u;\n } else {\n return u - numerator / denominator;\n }\n}\n;\nfunction chordLengthParameterize(points) {\n var u = [],\n currU,\n prevU,\n prevP;\n points.forEach((p, i) => {\n currU = i ? prevU + maths.vectorLen(maths.subtract(p, prevP)) : 0;\n u.push(currU);\n prevU = currU;\n prevP = p;\n });\n u = u.map(x => x / prevU);\n return u;\n}\n;\nfunction computeMaxError(points, bez, parameters) {\n var dist, maxDist, splitPoint, v, i, count, point, t;\n maxDist = 0;\n splitPoint = Math.floor(points.length / 2);\n const t_distMap = mapTtoRelativeDistances(bez, 10);\n for (i = 0, count = points.length; i < count; i++) {\n point = points[i];\n t = find_t(bez, parameters[i], t_distMap, 10);\n v = maths.subtract(bezier.q(bez, t), point);\n dist = v[0] * v[0] + v[1] * v[1];\n if (dist > maxDist) {\n maxDist = dist;\n splitPoint = i;\n }\n }\n return [maxDist, splitPoint];\n}\n;\nvar mapTtoRelativeDistances = function (bez, B_parts) {\n var B_t_curr;\n var B_t_dist = [0];\n var B_t_prev = bez[0];\n var sumLen = 0;\n for (var i = 1; i <= B_parts; i++) {\n B_t_curr = bezier.q(bez, i / B_parts);\n sumLen += maths.vectorLen(maths.subtract(B_t_curr, B_t_prev));\n B_t_dist.push(sumLen);\n B_t_prev = B_t_curr;\n }\n B_t_dist = B_t_dist.map(x => x / sumLen);\n return B_t_dist;\n};\nfunction find_t(bez, param, t_distMap, B_parts) {\n if (param < 0) {\n return 0;\n }\n if (param > 1) {\n return 1;\n }\n var lenMax, lenMin, tMax, tMin, t;\n for (var i = 1; i <= B_parts; i++) {\n if (param <= t_distMap[i]) {\n tMin = (i - 1) / B_parts;\n tMax = i / B_parts;\n lenMin = t_distMap[i - 1];\n lenMax = t_distMap[i];\n t = (param - lenMin) / (lenMax - lenMin) * (tMax - tMin) + tMin;\n break;\n }\n }\n return t;\n}\nfunction createTangent(pointA, pointB) {\n return maths.normalize(maths.subtract(pointA, pointB));\n}\nclass maths {\n static zeros_Xx2x2(x) {\n var zs = [];\n while (x--) {\n zs.push([0, 0]);\n }\n return zs;\n }\n static mulItems(items, multiplier) {\n return items.map(x => x * multiplier);\n }\n static mulMatrix(m1, m2) {\n return m1.reduce((sum, x1, i) => sum + x1 * m2[i], 0);\n }\n static subtract(arr1, arr2) {\n return arr1.map((x1, i) => x1 - arr2[i]);\n }\n static addArrays(arr1, arr2) {\n return arr1.map((x1, i) => x1 + arr2[i]);\n }\n static addItems(items, addition) {\n return items.map(x => x + addition);\n }\n static sum(items) {\n return items.reduce((sum, x) => sum + x);\n }\n static dot(m1, m2) {\n return maths.mulMatrix(m1, m2);\n }\n static vectorLen(v) {\n return Math.hypot(...v);\n }\n static divItems(items, divisor) {\n return items.map(x => x / divisor);\n }\n static squareItems(items) {\n return items.map(x => x * x);\n }\n static normalize(v) {\n return this.divItems(v, this.vectorLen(v));\n }\n}\nclass bezier {\n static q(ctrlPoly, t) {\n var tx = 1.0 - t;\n var pA = maths.mulItems(ctrlPoly[0], tx * tx * tx),\n pB = maths.mulItems(ctrlPoly[1], 3 * tx * tx * t),\n pC = maths.mulItems(ctrlPoly[2], 3 * tx * t * t),\n pD = maths.mulItems(ctrlPoly[3], t * t * t);\n return maths.addArrays(maths.addArrays(pA, pB), maths.addArrays(pC, pD));\n }\n static qprime(ctrlPoly, t) {\n var tx = 1.0 - t;\n var pA = maths.mulItems(maths.subtract(ctrlPoly[1], ctrlPoly[0]), 3 * tx * tx),\n pB = maths.mulItems(maths.subtract(ctrlPoly[2], ctrlPoly[1]), 6 * tx * t),\n pC = maths.mulItems(maths.subtract(ctrlPoly[3], ctrlPoly[2]), 3 * t * t);\n return maths.addArrays(maths.addArrays(pA, pB), pC);\n }\n static qprimeprime(ctrlPoly, t) {\n return maths.addArrays(maths.mulItems(maths.addArrays(maths.subtract(ctrlPoly[2], maths.mulItems(ctrlPoly[1], 2)), ctrlPoly[0]), 6 * (1.0 - t)), maths.mulItems(maths.addArrays(maths.subtract(ctrlPoly[3], maths.mulItems(ctrlPoly[2], 2)), ctrlPoly[1]), 6 * t));\n }\n}\nmodule.exports = fitCurve;\nmodule.exports.fitCubic = fitCubic;\nmodule.exports.createTangent = createTangent;\n\n/***/ }),\n/* 32 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.AnnotationLayer = void 0;\nvar _util = __w_pdfjs_require__(1);\nvar _display_utils = __w_pdfjs_require__(6);\nvar _annotation_storage = __w_pdfjs_require__(3);\nvar _scripting_utils = __w_pdfjs_require__(33);\nvar _xfa_layer = __w_pdfjs_require__(34);\nconst DEFAULT_TAB_INDEX = 1000;\nconst DEFAULT_FONT_SIZE = 9;\nconst GetElementsByNameSet = new WeakSet();\nfunction getRectDims(rect) {\n return {\n width: rect[2] - rect[0],\n height: rect[3] - rect[1]\n };\n}\nclass AnnotationElementFactory {\n static create(parameters) {\n const subtype = parameters.data.annotationType;\n switch (subtype) {\n case _util.AnnotationType.LINK:\n return new LinkAnnotationElement(parameters);\n case _util.AnnotationType.TEXT:\n return new TextAnnotationElement(parameters);\n case _util.AnnotationType.WIDGET:\n const fieldType = parameters.data.fieldType;\n switch (fieldType) {\n case \"Tx\":\n return new TextWidgetAnnotationElement(parameters);\n case \"Btn\":\n if (parameters.data.radioButton) {\n return new RadioButtonWidgetAnnotationElement(parameters);\n } else if (parameters.data.checkBox) {\n return new CheckboxWidgetAnnotationElement(parameters);\n }\n return new PushButtonWidgetAnnotationElement(parameters);\n case \"Ch\":\n return new ChoiceWidgetAnnotationElement(parameters);\n }\n return new WidgetAnnotationElement(parameters);\n case _util.AnnotationType.POPUP:\n return new PopupAnnotationElement(parameters);\n case _util.AnnotationType.FREETEXT:\n return new FreeTextAnnotationElement(parameters);\n case _util.AnnotationType.LINE:\n return new LineAnnotationElement(parameters);\n case _util.AnnotationType.SQUARE:\n return new SquareAnnotationElement(parameters);\n case _util.AnnotationType.CIRCLE:\n return new CircleAnnotationElement(parameters);\n case _util.AnnotationType.POLYLINE:\n return new PolylineAnnotationElement(parameters);\n case _util.AnnotationType.CARET:\n return new CaretAnnotationElement(parameters);\n case _util.AnnotationType.INK:\n return new InkAnnotationElement(parameters);\n case _util.AnnotationType.POLYGON:\n return new PolygonAnnotationElement(parameters);\n case _util.AnnotationType.HIGHLIGHT:\n return new HighlightAnnotationElement(parameters);\n case _util.AnnotationType.UNDERLINE:\n return new UnderlineAnnotationElement(parameters);\n case _util.AnnotationType.SQUIGGLY:\n return new SquigglyAnnotationElement(parameters);\n case _util.AnnotationType.STRIKEOUT:\n return new StrikeOutAnnotationElement(parameters);\n case _util.AnnotationType.STAMP:\n return new StampAnnotationElement(parameters);\n case _util.AnnotationType.FILEATTACHMENT:\n return new FileAttachmentAnnotationElement(parameters);\n default:\n return new AnnotationElement(parameters);\n }\n }\n}\nclass AnnotationElement {\n constructor(parameters, {\n isRenderable = false,\n ignoreBorder = false,\n createQuadrilaterals = false\n } = {}) {\n this.isRenderable = isRenderable;\n this.data = parameters.data;\n this.layer = parameters.layer;\n this.page = parameters.page;\n this.viewport = parameters.viewport;\n this.linkService = parameters.linkService;\n this.downloadManager = parameters.downloadManager;\n this.imageResourcesPath = parameters.imageResourcesPath;\n this.renderForms = parameters.renderForms;\n this.svgFactory = parameters.svgFactory;\n this.annotationStorage = parameters.annotationStorage;\n this.enableScripting = parameters.enableScripting;\n this.hasJSActions = parameters.hasJSActions;\n this._fieldObjects = parameters.fieldObjects;\n if (isRenderable) {\n this.container = this._createContainer(ignoreBorder);\n }\n if (createQuadrilaterals) {\n this.quadrilaterals = this._createQuadrilaterals(ignoreBorder);\n }\n }\n _createContainer(ignoreBorder = false) {\n const {\n data,\n page,\n viewport\n } = this;\n const container = document.createElement(\"section\");\n container.setAttribute(\"data-annotation-id\", data.id);\n if (data.noRotate) {\n container.classList.add(\"norotate\");\n }\n const {\n pageWidth,\n pageHeight,\n pageX,\n pageY\n } = viewport.rawDims;\n const {\n width,\n height\n } = getRectDims(data.rect);\n const rect = _util.Util.normalizeRect([data.rect[0], page.view[3] - data.rect[1] + page.view[1], data.rect[2], page.view[3] - data.rect[3] + page.view[1]]);\n if (!ignoreBorder && data.borderStyle.width > 0) {\n container.style.borderWidth = `${data.borderStyle.width}px`;\n const horizontalRadius = data.borderStyle.horizontalCornerRadius;\n const verticalRadius = data.borderStyle.verticalCornerRadius;\n if (horizontalRadius > 0 || verticalRadius > 0) {\n const radius = `calc(${horizontalRadius}px * var(--scale-factor)) / calc(${verticalRadius}px * var(--scale-factor))`;\n container.style.borderRadius = radius;\n } else if (this instanceof RadioButtonWidgetAnnotationElement) {\n const radius = `calc(${width}px * var(--scale-factor)) / calc(${height}px * var(--scale-factor))`;\n container.style.borderRadius = radius;\n }\n switch (data.borderStyle.style) {\n case _util.AnnotationBorderStyleType.SOLID:\n container.style.borderStyle = \"solid\";\n break;\n case _util.AnnotationBorderStyleType.DASHED:\n container.style.borderStyle = \"dashed\";\n break;\n case _util.AnnotationBorderStyleType.BEVELED:\n (0, _util.warn)(\"Unimplemented border style: beveled\");\n break;\n case _util.AnnotationBorderStyleType.INSET:\n (0, _util.warn)(\"Unimplemented border style: inset\");\n break;\n case _util.AnnotationBorderStyleType.UNDERLINE:\n container.style.borderBottomStyle = \"solid\";\n break;\n default:\n break;\n }\n const borderColor = data.borderColor || null;\n if (borderColor) {\n container.style.borderColor = _util.Util.makeHexColor(borderColor[0] | 0, borderColor[1] | 0, borderColor[2] | 0);\n } else {\n container.style.borderWidth = 0;\n }\n }\n container.style.left = `${100 * (rect[0] - pageX) / pageWidth}%`;\n container.style.top = `${100 * (rect[1] - pageY) / pageHeight}%`;\n const {\n rotation\n } = data;\n if (data.hasOwnCanvas || rotation === 0) {\n container.style.width = `${100 * width / pageWidth}%`;\n container.style.height = `${100 * height / pageHeight}%`;\n } else {\n this.setRotation(rotation, container);\n }\n return container;\n }\n setRotation(angle, container = this.container) {\n const {\n pageWidth,\n pageHeight\n } = this.viewport.rawDims;\n const {\n width,\n height\n } = getRectDims(this.data.rect);\n let elementWidth, elementHeight;\n if (angle % 180 === 0) {\n elementWidth = 100 * width / pageWidth;\n elementHeight = 100 * height / pageHeight;\n } else {\n elementWidth = 100 * height / pageWidth;\n elementHeight = 100 * width / pageHeight;\n }\n container.style.width = `${elementWidth}%`;\n container.style.height = `${elementHeight}%`;\n container.setAttribute(\"data-main-rotation\", (360 - angle) % 360);\n }\n get _commonActions() {\n const setColor = (jsName, styleName, event) => {\n const color = event.detail[jsName];\n event.target.style[styleName] = _scripting_utils.ColorConverters[`${color[0]}_HTML`](color.slice(1));\n };\n return (0, _util.shadow)(this, \"_commonActions\", {\n display: event => {\n const hidden = event.detail.display % 2 === 1;\n this.container.style.visibility = hidden ? \"hidden\" : \"visible\";\n this.annotationStorage.setValue(this.data.id, {\n hidden,\n print: event.detail.display === 0 || event.detail.display === 3\n });\n },\n print: event => {\n this.annotationStorage.setValue(this.data.id, {\n print: event.detail.print\n });\n },\n hidden: event => {\n this.container.style.visibility = event.detail.hidden ? \"hidden\" : \"visible\";\n this.annotationStorage.setValue(this.data.id, {\n hidden: event.detail.hidden\n });\n },\n focus: event => {\n setTimeout(() => event.target.focus({\n preventScroll: false\n }), 0);\n },\n userName: event => {\n event.target.title = event.detail.userName;\n },\n readonly: event => {\n if (event.detail.readonly) {\n event.target.setAttribute(\"readonly\", \"\");\n } else {\n event.target.removeAttribute(\"readonly\");\n }\n },\n required: event => {\n this._setRequired(event.target, event.detail.required);\n },\n bgColor: event => {\n setColor(\"bgColor\", \"backgroundColor\", event);\n },\n fillColor: event => {\n setColor(\"fillColor\", \"backgroundColor\", event);\n },\n fgColor: event => {\n setColor(\"fgColor\", \"color\", event);\n },\n textColor: event => {\n setColor(\"textColor\", \"color\", event);\n },\n borderColor: event => {\n setColor(\"borderColor\", \"borderColor\", event);\n },\n strokeColor: event => {\n setColor(\"strokeColor\", \"borderColor\", event);\n },\n rotation: event => {\n const angle = event.detail.rotation;\n this.setRotation(angle);\n this.annotationStorage.setValue(this.data.id, {\n rotation: angle\n });\n }\n });\n }\n _dispatchEventFromSandbox(actions, jsEvent) {\n const commonActions = this._commonActions;\n for (const name of Object.keys(jsEvent.detail)) {\n const action = actions[name] || commonActions[name];\n action?.(jsEvent);\n }\n }\n _setDefaultPropertiesFromJS(element) {\n if (!this.enableScripting) {\n return;\n }\n const storedData = this.annotationStorage.getRawValue(this.data.id);\n if (!storedData) {\n return;\n }\n const commonActions = this._commonActions;\n for (const [actionName, detail] of Object.entries(storedData)) {\n const action = commonActions[actionName];\n if (action) {\n const eventProxy = {\n detail: {\n [actionName]: detail\n },\n target: element\n };\n action(eventProxy);\n delete storedData[actionName];\n }\n }\n }\n _createQuadrilaterals(ignoreBorder = false) {\n if (!this.data.quadPoints) {\n return null;\n }\n const quadrilaterals = [];\n const savedRect = this.data.rect;\n for (const quadPoint of this.data.quadPoints) {\n this.data.rect = [quadPoint[2].x, quadPoint[2].y, quadPoint[1].x, quadPoint[1].y];\n quadrilaterals.push(this._createContainer(ignoreBorder));\n }\n this.data.rect = savedRect;\n return quadrilaterals;\n }\n _createPopup(trigger, data) {\n let container = this.container;\n if (this.quadrilaterals) {\n trigger ||= this.quadrilaterals;\n container = this.quadrilaterals[0];\n }\n if (!trigger) {\n trigger = document.createElement(\"div\");\n trigger.classList.add(\"popupTriggerArea\");\n container.append(trigger);\n }\n const popupElement = new PopupElement({\n container,\n trigger,\n color: data.color,\n titleObj: data.titleObj,\n modificationDate: data.modificationDate,\n contentsObj: data.contentsObj,\n richText: data.richText,\n hideWrapper: true\n });\n const popup = popupElement.render();\n popup.style.left = \"100%\";\n container.append(popup);\n }\n _renderQuadrilaterals(className) {\n for (const quadrilateral of this.quadrilaterals) {\n quadrilateral.classList.add(className);\n }\n return this.quadrilaterals;\n }\n render() {\n (0, _util.unreachable)(\"Abstract method `AnnotationElement.render` called\");\n }\n _getElementsByName(name, skipId = null) {\n const fields = [];\n if (this._fieldObjects) {\n const fieldObj = this._fieldObjects[name];\n if (fieldObj) {\n for (const {\n page,\n id,\n exportValues\n } of fieldObj) {\n if (page === -1) {\n continue;\n }\n if (id === skipId) {\n continue;\n }\n const exportValue = typeof exportValues === \"string\" ? exportValues : null;\n const domElement = document.querySelector(`[data-element-id=\"${id}\"]`);\n if (domElement && !GetElementsByNameSet.has(domElement)) {\n (0, _util.warn)(`_getElementsByName - element not allowed: ${id}`);\n continue;\n }\n fields.push({\n id,\n exportValue,\n domElement\n });\n }\n }\n return fields;\n }\n for (const domElement of document.getElementsByName(name)) {\n const {\n exportValue\n } = domElement;\n const id = domElement.getAttribute(\"data-element-id\");\n if (id === skipId) {\n continue;\n }\n if (!GetElementsByNameSet.has(domElement)) {\n continue;\n }\n fields.push({\n id,\n exportValue,\n domElement\n });\n }\n return fields;\n }\n}\nclass LinkAnnotationElement extends AnnotationElement {\n constructor(parameters, options = null) {\n super(parameters, {\n isRenderable: true,\n ignoreBorder: !!options?.ignoreBorder,\n createQuadrilaterals: true\n });\n this.isTooltipOnly = parameters.data.isTooltipOnly;\n }\n render() {\n const {\n data,\n linkService\n } = this;\n const link = document.createElement(\"a\");\n link.setAttribute(\"data-element-id\", data.id);\n let isBound = false;\n if (data.url) {\n linkService.addLinkAttributes(link, data.url, data.newWindow);\n isBound = true;\n } else if (data.action) {\n this._bindNamedAction(link, data.action);\n isBound = true;\n } else if (data.attachment) {\n this._bindAttachment(link, data.attachment);\n isBound = true;\n } else if (data.setOCGState) {\n this.#bindSetOCGState(link, data.setOCGState);\n isBound = true;\n } else if (data.dest) {\n this._bindLink(link, data.dest);\n isBound = true;\n } else {\n if (data.actions && (data.actions.Action || data.actions[\"Mouse Up\"] || data.actions[\"Mouse Down\"]) && this.enableScripting && this.hasJSActions) {\n this._bindJSAction(link, data);\n isBound = true;\n }\n if (data.resetForm) {\n this._bindResetFormAction(link, data.resetForm);\n isBound = true;\n } else if (this.isTooltipOnly && !isBound) {\n this._bindLink(link, \"\");\n isBound = true;\n }\n }\n if (this.quadrilaterals) {\n return this._renderQuadrilaterals(\"linkAnnotation\").map((quadrilateral, index) => {\n const linkElement = index === 0 ? link : link.cloneNode();\n quadrilateral.append(linkElement);\n return quadrilateral;\n });\n }\n this.container.classList.add(\"linkAnnotation\");\n if (isBound) {\n this.container.append(link);\n }\n return this.container;\n }\n #setInternalLink() {\n this.container.setAttribute(\"data-internal-link\", \"\");\n }\n _bindLink(link, destination) {\n link.href = this.linkService.getDestinationHash(destination);\n link.onclick = () => {\n if (destination) {\n this.linkService.goToDestination(destination);\n }\n return false;\n };\n if (destination || destination === \"\") {\n this.#setInternalLink();\n }\n }\n _bindNamedAction(link, action) {\n link.href = this.linkService.getAnchorUrl(\"\");\n link.onclick = () => {\n this.linkService.executeNamedAction(action);\n return false;\n };\n this.#setInternalLink();\n }\n _bindAttachment(link, attachment) {\n link.href = this.linkService.getAnchorUrl(\"\");\n link.onclick = () => {\n this.downloadManager?.openOrDownloadData(this.container, attachment.content, attachment.filename);\n return false;\n };\n this.#setInternalLink();\n }\n #bindSetOCGState(link, action) {\n link.href = this.linkService.getAnchorUrl(\"\");\n link.onclick = () => {\n this.linkService.executeSetOCGState(action);\n return false;\n };\n this.#setInternalLink();\n }\n _bindJSAction(link, data) {\n link.href = this.linkService.getAnchorUrl(\"\");\n const map = new Map([[\"Action\", \"onclick\"], [\"Mouse Up\", \"onmouseup\"], [\"Mouse Down\", \"onmousedown\"]]);\n for (const name of Object.keys(data.actions)) {\n const jsName = map.get(name);\n if (!jsName) {\n continue;\n }\n link[jsName] = () => {\n this.linkService.eventBus?.dispatch(\"dispatcheventinsandbox\", {\n source: this,\n detail: {\n id: data.id,\n name\n }\n });\n return false;\n };\n }\n if (!link.onclick) {\n link.onclick = () => false;\n }\n this.#setInternalLink();\n }\n _bindResetFormAction(link, resetForm) {\n const otherClickAction = link.onclick;\n if (!otherClickAction) {\n link.href = this.linkService.getAnchorUrl(\"\");\n }\n this.#setInternalLink();\n if (!this._fieldObjects) {\n (0, _util.warn)(`_bindResetFormAction - \"resetForm\" action not supported, ` + \"ensure that the `fieldObjects` parameter is provided.\");\n if (!otherClickAction) {\n link.onclick = () => false;\n }\n return;\n }\n link.onclick = () => {\n otherClickAction?.();\n const {\n fields: resetFormFields,\n refs: resetFormRefs,\n include\n } = resetForm;\n const allFields = [];\n if (resetFormFields.length !== 0 || resetFormRefs.length !== 0) {\n const fieldIds = new Set(resetFormRefs);\n for (const fieldName of resetFormFields) {\n const fields = this._fieldObjects[fieldName] || [];\n for (const {\n id\n } of fields) {\n fieldIds.add(id);\n }\n }\n for (const fields of Object.values(this._fieldObjects)) {\n for (const field of fields) {\n if (fieldIds.has(field.id) === include) {\n allFields.push(field);\n }\n }\n }\n } else {\n for (const fields of Object.values(this._fieldObjects)) {\n allFields.push(...fields);\n }\n }\n const storage = this.annotationStorage;\n const allIds = [];\n for (const field of allFields) {\n const {\n id\n } = field;\n allIds.push(id);\n switch (field.type) {\n case \"text\":\n {\n const value = field.defaultValue || \"\";\n storage.setValue(id, {\n value\n });\n break;\n }\n case \"checkbox\":\n case \"radiobutton\":\n {\n const value = field.defaultValue === field.exportValues;\n storage.setValue(id, {\n value\n });\n break;\n }\n case \"combobox\":\n case \"listbox\":\n {\n const value = field.defaultValue || \"\";\n storage.setValue(id, {\n value\n });\n break;\n }\n default:\n continue;\n }\n const domElement = document.querySelector(`[data-element-id=\"${id}\"]`);\n if (!domElement) {\n continue;\n } else if (!GetElementsByNameSet.has(domElement)) {\n (0, _util.warn)(`_bindResetFormAction - element not allowed: ${id}`);\n continue;\n }\n domElement.dispatchEvent(new Event(\"resetform\"));\n }\n if (this.enableScripting) {\n this.linkService.eventBus?.dispatch(\"dispatcheventinsandbox\", {\n source: this,\n detail: {\n id: \"app\",\n ids: allIds,\n name: \"ResetForm\"\n }\n });\n }\n return false;\n };\n }\n}\nclass TextAnnotationElement extends AnnotationElement {\n constructor(parameters) {\n const isRenderable = !!(parameters.data.hasPopup || parameters.data.titleObj?.str || parameters.data.contentsObj?.str || parameters.data.richText?.str);\n super(parameters, {\n isRenderable\n });\n }\n render() {\n this.container.classList.add(\"textAnnotation\");\n const image = document.createElement(\"img\");\n image.src = this.imageResourcesPath + \"annotation-\" + this.data.name.toLowerCase() + \".svg\";\n image.alt = \"[{{type}} Annotation]\";\n image.dataset.l10nId = \"text_annotation_type\";\n image.dataset.l10nArgs = JSON.stringify({\n type: this.data.name\n });\n if (!this.data.hasPopup) {\n this._createPopup(image, this.data);\n }\n this.container.append(image);\n return this.container;\n }\n}\nclass WidgetAnnotationElement extends AnnotationElement {\n render() {\n if (this.data.alternativeText) {\n this.container.title = this.data.alternativeText;\n }\n return this.container;\n }\n showElementAndHideCanvas(element) {\n if (this.data.hasOwnCanvas) {\n if (element.previousSibling?.nodeName === \"CANVAS\") {\n element.previousSibling.hidden = true;\n }\n element.hidden = false;\n }\n }\n _getKeyModifier(event) {\n const {\n isWin,\n isMac\n } = _util.FeatureTest.platform;\n return isWin && event.ctrlKey || isMac && event.metaKey;\n }\n _setEventListener(element, baseName, eventName, valueGetter) {\n if (baseName.includes(\"mouse\")) {\n element.addEventListener(baseName, event => {\n this.linkService.eventBus?.dispatch(\"dispatcheventinsandbox\", {\n source: this,\n detail: {\n id: this.data.id,\n name: eventName,\n value: valueGetter(event),\n shift: event.shiftKey,\n modifier: this._getKeyModifier(event)\n }\n });\n });\n } else {\n element.addEventListener(baseName, event => {\n this.linkService.eventBus?.dispatch(\"dispatcheventinsandbox\", {\n source: this,\n detail: {\n id: this.data.id,\n name: eventName,\n value: valueGetter(event)\n }\n });\n });\n }\n }\n _setEventListeners(element, names, getter) {\n for (const [baseName, eventName] of names) {\n if (eventName === \"Action\" || this.data.actions?.[eventName]) {\n this._setEventListener(element, baseName, eventName, getter);\n }\n }\n }\n _setBackgroundColor(element) {\n const color = this.data.backgroundColor || null;\n element.style.backgroundColor = color === null ? \"transparent\" : _util.Util.makeHexColor(color[0], color[1], color[2]);\n }\n _setTextStyle(element) {\n const TEXT_ALIGNMENT = [\"left\", \"center\", \"right\"];\n const {\n fontColor\n } = this.data.defaultAppearanceData;\n const fontSize = this.data.defaultAppearanceData.fontSize || DEFAULT_FONT_SIZE;\n const style = element.style;\n let computedFontSize;\n const BORDER_SIZE = 2;\n const roundToOneDecimal = x => Math.round(10 * x) / 10;\n if (this.data.multiLine) {\n const height = Math.abs(this.data.rect[3] - this.data.rect[1] - BORDER_SIZE);\n const numberOfLines = Math.round(height / (_util.LINE_FACTOR * fontSize)) || 1;\n const lineHeight = height / numberOfLines;\n computedFontSize = Math.min(fontSize, roundToOneDecimal(lineHeight / _util.LINE_FACTOR));\n } else {\n const height = Math.abs(this.data.rect[3] - this.data.rect[1] - BORDER_SIZE);\n computedFontSize = Math.min(fontSize, roundToOneDecimal(height / _util.LINE_FACTOR));\n }\n style.fontSize = `calc(${computedFontSize}px * var(--scale-factor))`;\n style.color = _util.Util.makeHexColor(fontColor[0], fontColor[1], fontColor[2]);\n if (this.data.textAlignment !== null) {\n style.textAlign = TEXT_ALIGNMENT[this.data.textAlignment];\n }\n }\n _setRequired(element, isRequired) {\n if (isRequired) {\n element.setAttribute(\"required\", true);\n } else {\n element.removeAttribute(\"required\");\n }\n element.setAttribute(\"aria-required\", isRequired);\n }\n}\nclass TextWidgetAnnotationElement extends WidgetAnnotationElement {\n constructor(parameters) {\n const isRenderable = parameters.renderForms || !parameters.data.hasAppearance && !!parameters.data.fieldValue;\n super(parameters, {\n isRenderable\n });\n }\n setPropertyOnSiblings(base, key, value, keyInStorage) {\n const storage = this.annotationStorage;\n for (const element of this._getElementsByName(base.name, base.id)) {\n if (element.domElement) {\n element.domElement[key] = value;\n }\n storage.setValue(element.id, {\n [keyInStorage]: value\n });\n }\n }\n render() {\n const storage = this.annotationStorage;\n const id = this.data.id;\n this.container.classList.add(\"textWidgetAnnotation\");\n let element = null;\n if (this.renderForms) {\n const storedData = storage.getValue(id, {\n value: this.data.fieldValue\n });\n let textContent = storedData.formattedValue || storedData.value || \"\";\n const maxLen = storage.getValue(id, {\n charLimit: this.data.maxLen\n }).charLimit;\n if (maxLen && textContent.length > maxLen) {\n textContent = textContent.slice(0, maxLen);\n }\n const elementData = {\n userValue: textContent,\n formattedValue: null,\n lastCommittedValue: null,\n commitKey: 1\n };\n if (this.data.multiLine) {\n element = document.createElement(\"textarea\");\n element.textContent = textContent;\n if (this.data.doNotScroll) {\n element.style.overflowY = \"hidden\";\n }\n } else {\n element = document.createElement(\"input\");\n element.type = \"text\";\n element.setAttribute(\"value\", textContent);\n if (this.data.doNotScroll) {\n element.style.overflowX = \"hidden\";\n }\n }\n if (this.data.hasOwnCanvas) {\n element.hidden = true;\n }\n GetElementsByNameSet.add(element);\n element.setAttribute(\"data-element-id\", id);\n element.disabled = this.data.readOnly;\n element.name = this.data.fieldName;\n element.tabIndex = DEFAULT_TAB_INDEX;\n this._setRequired(element, this.data.required);\n if (maxLen) {\n element.maxLength = maxLen;\n }\n element.addEventListener(\"input\", event => {\n storage.setValue(id, {\n value: event.target.value\n });\n this.setPropertyOnSiblings(element, \"value\", event.target.value, \"value\");\n });\n element.addEventListener(\"resetform\", event => {\n const defaultValue = this.data.defaultFieldValue ?? \"\";\n element.value = elementData.userValue = defaultValue;\n elementData.formattedValue = null;\n });\n let blurListener = event => {\n const {\n formattedValue\n } = elementData;\n if (formattedValue !== null && formattedValue !== undefined) {\n event.target.value = formattedValue;\n }\n event.target.scrollLeft = 0;\n };\n if (this.enableScripting && this.hasJSActions) {\n element.addEventListener(\"focus\", event => {\n const {\n target\n } = event;\n if (elementData.userValue) {\n target.value = elementData.userValue;\n }\n elementData.lastCommittedValue = target.value;\n elementData.commitKey = 1;\n });\n element.addEventListener(\"updatefromsandbox\", jsEvent => {\n this.showElementAndHideCanvas(jsEvent.target);\n const actions = {\n value(event) {\n elementData.userValue = event.detail.value ?? \"\";\n storage.setValue(id, {\n value: elementData.userValue.toString()\n });\n event.target.value = elementData.userValue;\n },\n formattedValue(event) {\n const {\n formattedValue\n } = event.detail;\n elementData.formattedValue = formattedValue;\n if (formattedValue !== null && formattedValue !== undefined && event.target !== document.activeElement) {\n event.target.value = formattedValue;\n }\n storage.setValue(id, {\n formattedValue\n });\n },\n selRange(event) {\n event.target.setSelectionRange(...event.detail.selRange);\n },\n charLimit: event => {\n const {\n charLimit\n } = event.detail;\n const {\n target\n } = event;\n if (charLimit === 0) {\n target.removeAttribute(\"maxLength\");\n return;\n }\n target.setAttribute(\"maxLength\", charLimit);\n let value = elementData.userValue;\n if (!value || value.length <= charLimit) {\n return;\n }\n value = value.slice(0, charLimit);\n target.value = elementData.userValue = value;\n storage.setValue(id, {\n value\n });\n this.linkService.eventBus?.dispatch(\"dispatcheventinsandbox\", {\n source: this,\n detail: {\n id,\n name: \"Keystroke\",\n value,\n willCommit: true,\n commitKey: 1,\n selStart: target.selectionStart,\n selEnd: target.selectionEnd\n }\n });\n }\n };\n this._dispatchEventFromSandbox(actions, jsEvent);\n });\n element.addEventListener(\"keydown\", event => {\n elementData.commitKey = 1;\n let commitKey = -1;\n if (event.key === \"Escape\") {\n commitKey = 0;\n } else if (event.key === \"Enter\" && !this.data.multiLine) {\n commitKey = 2;\n } else if (event.key === \"Tab\") {\n elementData.commitKey = 3;\n }\n if (commitKey === -1) {\n return;\n }\n const {\n value\n } = event.target;\n if (elementData.lastCommittedValue === value) {\n return;\n }\n elementData.lastCommittedValue = value;\n elementData.userValue = value;\n this.linkService.eventBus?.dispatch(\"dispatcheventinsandbox\", {\n source: this,\n detail: {\n id,\n name: \"Keystroke\",\n value,\n willCommit: true,\n commitKey,\n selStart: event.target.selectionStart,\n selEnd: event.target.selectionEnd\n }\n });\n });\n const _blurListener = blurListener;\n blurListener = null;\n element.addEventListener(\"blur\", event => {\n if (!event.relatedTarget) {\n return;\n }\n const {\n value\n } = event.target;\n elementData.userValue = value;\n if (elementData.lastCommittedValue !== value) {\n this.linkService.eventBus?.dispatch(\"dispatcheventinsandbox\", {\n source: this,\n detail: {\n id,\n name: \"Keystroke\",\n value,\n willCommit: true,\n commitKey: elementData.commitKey,\n selStart: event.target.selectionStart,\n selEnd: event.target.selectionEnd\n }\n });\n }\n _blurListener(event);\n });\n if (this.data.actions?.Keystroke) {\n element.addEventListener(\"beforeinput\", event => {\n elementData.lastCommittedValue = null;\n const {\n data,\n target\n } = event;\n const {\n value,\n selectionStart,\n selectionEnd\n } = target;\n let selStart = selectionStart,\n selEnd = selectionEnd;\n switch (event.inputType) {\n case \"deleteWordBackward\":\n {\n const match = value.substring(0, selectionStart).match(/\\w*[^\\w]*$/);\n if (match) {\n selStart -= match[0].length;\n }\n break;\n }\n case \"deleteWordForward\":\n {\n const match = value.substring(selectionStart).match(/^[^\\w]*\\w*/);\n if (match) {\n selEnd += match[0].length;\n }\n break;\n }\n case \"deleteContentBackward\":\n if (selectionStart === selectionEnd) {\n selStart -= 1;\n }\n break;\n case \"deleteContentForward\":\n if (selectionStart === selectionEnd) {\n selEnd += 1;\n }\n break;\n }\n event.preventDefault();\n this.linkService.eventBus?.dispatch(\"dispatcheventinsandbox\", {\n source: this,\n detail: {\n id,\n name: \"Keystroke\",\n value,\n change: data || \"\",\n willCommit: false,\n selStart,\n selEnd\n }\n });\n });\n }\n this._setEventListeners(element, [[\"focus\", \"Focus\"], [\"blur\", \"Blur\"], [\"mousedown\", \"Mouse Down\"], [\"mouseenter\", \"Mouse Enter\"], [\"mouseleave\", \"Mouse Exit\"], [\"mouseup\", \"Mouse Up\"]], event => event.target.value);\n }\n if (blurListener) {\n element.addEventListener(\"blur\", blurListener);\n }\n if (this.data.comb) {\n const fieldWidth = this.data.rect[2] - this.data.rect[0];\n const combWidth = fieldWidth / maxLen;\n element.classList.add(\"comb\");\n element.style.letterSpacing = `calc(${combWidth}px * var(--scale-factor) - 1ch)`;\n }\n } else {\n element = document.createElement(\"div\");\n element.textContent = this.data.fieldValue;\n element.style.verticalAlign = \"middle\";\n element.style.display = \"table-cell\";\n }\n this._setTextStyle(element);\n this._setBackgroundColor(element);\n this._setDefaultPropertiesFromJS(element);\n this.container.append(element);\n return this.container;\n }\n}\nclass CheckboxWidgetAnnotationElement extends WidgetAnnotationElement {\n constructor(parameters) {\n super(parameters, {\n isRenderable: parameters.renderForms\n });\n }\n render() {\n const storage = this.annotationStorage;\n const data = this.data;\n const id = data.id;\n let value = storage.getValue(id, {\n value: data.exportValue === data.fieldValue\n }).value;\n if (typeof value === \"string\") {\n value = value !== \"Off\";\n storage.setValue(id, {\n value\n });\n }\n this.container.classList.add(\"buttonWidgetAnnotation\", \"checkBox\");\n const element = document.createElement(\"input\");\n GetElementsByNameSet.add(element);\n element.setAttribute(\"data-element-id\", id);\n element.disabled = data.readOnly;\n this._setRequired(element, this.data.required);\n element.type = \"checkbox\";\n element.name = data.fieldName;\n if (value) {\n element.setAttribute(\"checked\", true);\n }\n element.setAttribute(\"exportValue\", data.exportValue);\n element.tabIndex = DEFAULT_TAB_INDEX;\n element.addEventListener(\"change\", event => {\n const {\n name,\n checked\n } = event.target;\n for (const checkbox of this._getElementsByName(name, id)) {\n const curChecked = checked && checkbox.exportValue === data.exportValue;\n if (checkbox.domElement) {\n checkbox.domElement.checked = curChecked;\n }\n storage.setValue(checkbox.id, {\n value: curChecked\n });\n }\n storage.setValue(id, {\n value: checked\n });\n });\n element.addEventListener(\"resetform\", event => {\n const defaultValue = data.defaultFieldValue || \"Off\";\n event.target.checked = defaultValue === data.exportValue;\n });\n if (this.enableScripting && this.hasJSActions) {\n element.addEventListener(\"updatefromsandbox\", jsEvent => {\n const actions = {\n value(event) {\n event.target.checked = event.detail.value !== \"Off\";\n storage.setValue(id, {\n value: event.target.checked\n });\n }\n };\n this._dispatchEventFromSandbox(actions, jsEvent);\n });\n this._setEventListeners(element, [[\"change\", \"Validate\"], [\"change\", \"Action\"], [\"focus\", \"Focus\"], [\"blur\", \"Blur\"], [\"mousedown\", \"Mouse Down\"], [\"mouseenter\", \"Mouse Enter\"], [\"mouseleave\", \"Mouse Exit\"], [\"mouseup\", \"Mouse Up\"]], event => event.target.checked);\n }\n this._setBackgroundColor(element);\n this._setDefaultPropertiesFromJS(element);\n this.container.append(element);\n return this.container;\n }\n}\nclass RadioButtonWidgetAnnotationElement extends WidgetAnnotationElement {\n constructor(parameters) {\n super(parameters, {\n isRenderable: parameters.renderForms\n });\n }\n render() {\n this.container.classList.add(\"buttonWidgetAnnotation\", \"radioButton\");\n const storage = this.annotationStorage;\n const data = this.data;\n const id = data.id;\n let value = storage.getValue(id, {\n value: data.fieldValue === data.buttonValue\n }).value;\n if (typeof value === \"string\") {\n value = value !== data.buttonValue;\n storage.setValue(id, {\n value\n });\n }\n const element = document.createElement(\"input\");\n GetElementsByNameSet.add(element);\n element.setAttribute(\"data-element-id\", id);\n element.disabled = data.readOnly;\n this._setRequired(element, this.data.required);\n element.type = \"radio\";\n element.name = data.fieldName;\n if (value) {\n element.setAttribute(\"checked\", true);\n }\n element.tabIndex = DEFAULT_TAB_INDEX;\n element.addEventListener(\"change\", event => {\n const {\n name,\n checked\n } = event.target;\n for (const radio of this._getElementsByName(name, id)) {\n storage.setValue(radio.id, {\n value: false\n });\n }\n storage.setValue(id, {\n value: checked\n });\n });\n element.addEventListener(\"resetform\", event => {\n const defaultValue = data.defaultFieldValue;\n event.target.checked = defaultValue !== null && defaultValue !== undefined && defaultValue === data.buttonValue;\n });\n if (this.enableScripting && this.hasJSActions) {\n const pdfButtonValue = data.buttonValue;\n element.addEventListener(\"updatefromsandbox\", jsEvent => {\n const actions = {\n value: event => {\n const checked = pdfButtonValue === event.detail.value;\n for (const radio of this._getElementsByName(event.target.name)) {\n const curChecked = checked && radio.id === id;\n if (radio.domElement) {\n radio.domElement.checked = curChecked;\n }\n storage.setValue(radio.id, {\n value: curChecked\n });\n }\n }\n };\n this._dispatchEventFromSandbox(actions, jsEvent);\n });\n this._setEventListeners(element, [[\"change\", \"Validate\"], [\"change\", \"Action\"], [\"focus\", \"Focus\"], [\"blur\", \"Blur\"], [\"mousedown\", \"Mouse Down\"], [\"mouseenter\", \"Mouse Enter\"], [\"mouseleave\", \"Mouse Exit\"], [\"mouseup\", \"Mouse Up\"]], event => event.target.checked);\n }\n this._setBackgroundColor(element);\n this._setDefaultPropertiesFromJS(element);\n this.container.append(element);\n return this.container;\n }\n}\nclass PushButtonWidgetAnnotationElement extends LinkAnnotationElement {\n constructor(parameters) {\n super(parameters, {\n ignoreBorder: parameters.data.hasAppearance\n });\n }\n render() {\n const container = super.render();\n container.classList.add(\"buttonWidgetAnnotation\", \"pushButton\");\n if (this.data.alternativeText) {\n container.title = this.data.alternativeText;\n }\n const linkElement = container.lastChild;\n if (this.enableScripting && this.hasJSActions && linkElement) {\n this._setDefaultPropertiesFromJS(linkElement);\n linkElement.addEventListener(\"updatefromsandbox\", jsEvent => {\n this._dispatchEventFromSandbox({}, jsEvent);\n });\n }\n return container;\n }\n}\nclass ChoiceWidgetAnnotationElement extends WidgetAnnotationElement {\n constructor(parameters) {\n super(parameters, {\n isRenderable: parameters.renderForms\n });\n }\n render() {\n this.container.classList.add(\"choiceWidgetAnnotation\");\n const storage = this.annotationStorage;\n const id = this.data.id;\n const storedData = storage.getValue(id, {\n value: this.data.fieldValue\n });\n const selectElement = document.createElement(\"select\");\n GetElementsByNameSet.add(selectElement);\n selectElement.setAttribute(\"data-element-id\", id);\n selectElement.disabled = this.data.readOnly;\n this._setRequired(selectElement, this.data.required);\n selectElement.name = this.data.fieldName;\n selectElement.tabIndex = DEFAULT_TAB_INDEX;\n let addAnEmptyEntry = this.data.combo && this.data.options.length > 0;\n if (!this.data.combo) {\n selectElement.size = this.data.options.length;\n if (this.data.multiSelect) {\n selectElement.multiple = true;\n }\n }\n selectElement.addEventListener(\"resetform\", event => {\n const defaultValue = this.data.defaultFieldValue;\n for (const option of selectElement.options) {\n option.selected = option.value === defaultValue;\n }\n });\n for (const option of this.data.options) {\n const optionElement = document.createElement(\"option\");\n optionElement.textContent = option.displayValue;\n optionElement.value = option.exportValue;\n if (storedData.value.includes(option.exportValue)) {\n optionElement.setAttribute(\"selected\", true);\n addAnEmptyEntry = false;\n }\n selectElement.append(optionElement);\n }\n let removeEmptyEntry = null;\n if (addAnEmptyEntry) {\n const noneOptionElement = document.createElement(\"option\");\n noneOptionElement.value = \" \";\n noneOptionElement.setAttribute(\"hidden\", true);\n noneOptionElement.setAttribute(\"selected\", true);\n selectElement.prepend(noneOptionElement);\n removeEmptyEntry = () => {\n noneOptionElement.remove();\n selectElement.removeEventListener(\"input\", removeEmptyEntry);\n removeEmptyEntry = null;\n };\n selectElement.addEventListener(\"input\", removeEmptyEntry);\n }\n const getValue = isExport => {\n const name = isExport ? \"value\" : \"textContent\";\n const {\n options,\n multiple\n } = selectElement;\n if (!multiple) {\n return options.selectedIndex === -1 ? null : options[options.selectedIndex][name];\n }\n return Array.prototype.filter.call(options, option => option.selected).map(option => option[name]);\n };\n let selectedValues = getValue(false);\n const getItems = event => {\n const options = event.target.options;\n return Array.prototype.map.call(options, option => {\n return {\n displayValue: option.textContent,\n exportValue: option.value\n };\n });\n };\n if (this.enableScripting && this.hasJSActions) {\n selectElement.addEventListener(\"updatefromsandbox\", jsEvent => {\n const actions = {\n value(event) {\n removeEmptyEntry?.();\n const value = event.detail.value;\n const values = new Set(Array.isArray(value) ? value : [value]);\n for (const option of selectElement.options) {\n option.selected = values.has(option.value);\n }\n storage.setValue(id, {\n value: getValue(true)\n });\n selectedValues = getValue(false);\n },\n multipleSelection(event) {\n selectElement.multiple = true;\n },\n remove(event) {\n const options = selectElement.options;\n const index = event.detail.remove;\n options[index].selected = false;\n selectElement.remove(index);\n if (options.length > 0) {\n const i = Array.prototype.findIndex.call(options, option => option.selected);\n if (i === -1) {\n options[0].selected = true;\n }\n }\n storage.setValue(id, {\n value: getValue(true),\n items: getItems(event)\n });\n selectedValues = getValue(false);\n },\n clear(event) {\n while (selectElement.length !== 0) {\n selectElement.remove(0);\n }\n storage.setValue(id, {\n value: null,\n items: []\n });\n selectedValues = getValue(false);\n },\n insert(event) {\n const {\n index,\n displayValue,\n exportValue\n } = event.detail.insert;\n const selectChild = selectElement.children[index];\n const optionElement = document.createElement(\"option\");\n optionElement.textContent = displayValue;\n optionElement.value = exportValue;\n if (selectChild) {\n selectChild.before(optionElement);\n } else {\n selectElement.append(optionElement);\n }\n storage.setValue(id, {\n value: getValue(true),\n items: getItems(event)\n });\n selectedValues = getValue(false);\n },\n items(event) {\n const {\n items\n } = event.detail;\n while (selectElement.length !== 0) {\n selectElement.remove(0);\n }\n for (const item of items) {\n const {\n displayValue,\n exportValue\n } = item;\n const optionElement = document.createElement(\"option\");\n optionElement.textContent = displayValue;\n optionElement.value = exportValue;\n selectElement.append(optionElement);\n }\n if (selectElement.options.length > 0) {\n selectElement.options[0].selected = true;\n }\n storage.setValue(id, {\n value: getValue(true),\n items: getItems(event)\n });\n selectedValues = getValue(false);\n },\n indices(event) {\n const indices = new Set(event.detail.indices);\n for (const option of event.target.options) {\n option.selected = indices.has(option.index);\n }\n storage.setValue(id, {\n value: getValue(true)\n });\n selectedValues = getValue(false);\n },\n editable(event) {\n event.target.disabled = !event.detail.editable;\n }\n };\n this._dispatchEventFromSandbox(actions, jsEvent);\n });\n selectElement.addEventListener(\"input\", event => {\n const exportValue = getValue(true);\n storage.setValue(id, {\n value: exportValue\n });\n event.preventDefault();\n this.linkService.eventBus?.dispatch(\"dispatcheventinsandbox\", {\n source: this,\n detail: {\n id,\n name: \"Keystroke\",\n value: selectedValues,\n changeEx: exportValue,\n willCommit: false,\n commitKey: 1,\n keyDown: false\n }\n });\n });\n this._setEventListeners(selectElement, [[\"focus\", \"Focus\"], [\"blur\", \"Blur\"], [\"mousedown\", \"Mouse Down\"], [\"mouseenter\", \"Mouse Enter\"], [\"mouseleave\", \"Mouse Exit\"], [\"mouseup\", \"Mouse Up\"], [\"input\", \"Action\"], [\"input\", \"Validate\"]], event => event.target.value);\n } else {\n selectElement.addEventListener(\"input\", function (event) {\n storage.setValue(id, {\n value: getValue(true)\n });\n });\n }\n if (this.data.combo) {\n this._setTextStyle(selectElement);\n } else {}\n this._setBackgroundColor(selectElement);\n this._setDefaultPropertiesFromJS(selectElement);\n this.container.append(selectElement);\n return this.container;\n }\n}\nclass PopupAnnotationElement extends AnnotationElement {\n static IGNORE_TYPES = new Set([\"Line\", \"Square\", \"Circle\", \"PolyLine\", \"Polygon\", \"Ink\"]);\n constructor(parameters) {\n const {\n data\n } = parameters;\n const isRenderable = !PopupAnnotationElement.IGNORE_TYPES.has(data.parentType) && !!(data.titleObj?.str || data.contentsObj?.str || data.richText?.str);\n super(parameters, {\n isRenderable\n });\n }\n render() {\n this.container.classList.add(\"popupAnnotation\");\n const parentElements = this.layer.querySelectorAll(`[data-annotation-id=\"${this.data.parentId}\"]`);\n if (parentElements.length === 0) {\n return this.container;\n }\n const popup = new PopupElement({\n container: this.container,\n trigger: Array.from(parentElements),\n color: this.data.color,\n titleObj: this.data.titleObj,\n modificationDate: this.data.modificationDate,\n contentsObj: this.data.contentsObj,\n richText: this.data.richText\n });\n const page = this.page;\n const rect = _util.Util.normalizeRect([this.data.parentRect[0], page.view[3] - this.data.parentRect[1] + page.view[1], this.data.parentRect[2], page.view[3] - this.data.parentRect[3] + page.view[1]]);\n const popupLeft = rect[0] + this.data.parentRect[2] - this.data.parentRect[0];\n const popupTop = rect[1];\n const {\n pageWidth,\n pageHeight,\n pageX,\n pageY\n } = this.viewport.rawDims;\n this.container.style.left = `${100 * (popupLeft - pageX) / pageWidth}%`;\n this.container.style.top = `${100 * (popupTop - pageY) / pageHeight}%`;\n this.container.append(popup.render());\n return this.container;\n }\n}\nclass PopupElement {\n constructor(parameters) {\n this.container = parameters.container;\n this.trigger = parameters.trigger;\n this.color = parameters.color;\n this.titleObj = parameters.titleObj;\n this.modificationDate = parameters.modificationDate;\n this.contentsObj = parameters.contentsObj;\n this.richText = parameters.richText;\n this.hideWrapper = parameters.hideWrapper || false;\n this.pinned = false;\n }\n render() {\n const BACKGROUND_ENLIGHT = 0.7;\n const wrapper = document.createElement(\"div\");\n wrapper.classList.add(\"popupWrapper\");\n this.hideElement = this.hideWrapper ? wrapper : this.container;\n this.hideElement.hidden = true;\n const popup = document.createElement(\"div\");\n popup.classList.add(\"popup\");\n const color = this.color;\n if (color) {\n const r = BACKGROUND_ENLIGHT * (255 - color[0]) + color[0];\n const g = BACKGROUND_ENLIGHT * (255 - color[1]) + color[1];\n const b = BACKGROUND_ENLIGHT * (255 - color[2]) + color[2];\n popup.style.backgroundColor = _util.Util.makeHexColor(r | 0, g | 0, b | 0);\n }\n const title = document.createElement(\"h1\");\n title.dir = this.titleObj.dir;\n title.textContent = this.titleObj.str;\n popup.append(title);\n const dateObject = _display_utils.PDFDateString.toDateObject(this.modificationDate);\n if (dateObject) {\n const modificationDate = document.createElement(\"span\");\n modificationDate.classList.add(\"popupDate\");\n modificationDate.textContent = \"{{date}}, {{time}}\";\n modificationDate.dataset.l10nId = \"annotation_date_string\";\n modificationDate.dataset.l10nArgs = JSON.stringify({\n date: dateObject.toLocaleDateString(),\n time: dateObject.toLocaleTimeString()\n });\n popup.append(modificationDate);\n }\n if (this.richText?.str && (!this.contentsObj?.str || this.contentsObj.str === this.richText.str)) {\n _xfa_layer.XfaLayer.render({\n xfaHtml: this.richText.html,\n intent: \"richText\",\n div: popup\n });\n popup.lastChild.classList.add(\"richText\", \"popupContent\");\n } else {\n const contents = this._formatContents(this.contentsObj);\n popup.append(contents);\n }\n if (!Array.isArray(this.trigger)) {\n this.trigger = [this.trigger];\n }\n for (const element of this.trigger) {\n element.addEventListener(\"click\", this._toggle.bind(this));\n element.addEventListener(\"mouseover\", this._show.bind(this, false));\n element.addEventListener(\"mouseout\", this._hide.bind(this, false));\n }\n popup.addEventListener(\"click\", this._hide.bind(this, true));\n wrapper.append(popup);\n return wrapper;\n }\n _formatContents({\n str,\n dir\n }) {\n const p = document.createElement(\"p\");\n p.classList.add(\"popupContent\");\n p.dir = dir;\n const lines = str.split(/(?:\\r\\n?|\\n)/);\n for (let i = 0, ii = lines.length; i < ii; ++i) {\n const line = lines[i];\n p.append(document.createTextNode(line));\n if (i < ii - 1) {\n p.append(document.createElement(\"br\"));\n }\n }\n return p;\n }\n _toggle() {\n if (this.pinned) {\n this._hide(true);\n } else {\n this._show(true);\n }\n }\n _show(pin = false) {\n if (pin) {\n this.pinned = true;\n }\n if (this.hideElement.hidden) {\n this.hideElement.hidden = false;\n this.container.style.zIndex = parseInt(this.container.style.zIndex) + 1000;\n }\n }\n _hide(unpin = true) {\n if (unpin) {\n this.pinned = false;\n }\n if (!this.hideElement.hidden && !this.pinned) {\n this.hideElement.hidden = true;\n this.container.style.zIndex = parseInt(this.container.style.zIndex) - 1000;\n }\n }\n}\nclass FreeTextAnnotationElement extends AnnotationElement {\n constructor(parameters) {\n const isRenderable = !!(parameters.data.hasPopup || parameters.data.titleObj?.str || parameters.data.contentsObj?.str || parameters.data.richText?.str);\n super(parameters, {\n isRenderable,\n ignoreBorder: true\n });\n this.textContent = parameters.data.textContent;\n }\n render() {\n this.container.classList.add(\"freeTextAnnotation\");\n if (this.textContent) {\n const content = document.createElement(\"div\");\n content.classList.add(\"annotationTextContent\");\n content.setAttribute(\"role\", \"comment\");\n for (const line of this.textContent) {\n const lineSpan = document.createElement(\"span\");\n lineSpan.textContent = line;\n content.append(lineSpan);\n }\n this.container.append(content);\n }\n if (!this.data.hasPopup) {\n this._createPopup(null, this.data);\n }\n return this.container;\n }\n}\nclass LineAnnotationElement extends AnnotationElement {\n constructor(parameters) {\n const isRenderable = !!(parameters.data.hasPopup || parameters.data.titleObj?.str || parameters.data.contentsObj?.str || parameters.data.richText?.str);\n super(parameters, {\n isRenderable,\n ignoreBorder: true\n });\n }\n render() {\n this.container.classList.add(\"lineAnnotation\");\n const data = this.data;\n const {\n width,\n height\n } = getRectDims(data.rect);\n const svg = this.svgFactory.create(width, height, true);\n const line = this.svgFactory.createElement(\"svg:line\");\n line.setAttribute(\"x1\", data.rect[2] - data.lineCoordinates[0]);\n line.setAttribute(\"y1\", data.rect[3] - data.lineCoordinates[1]);\n line.setAttribute(\"x2\", data.rect[2] - data.lineCoordinates[2]);\n line.setAttribute(\"y2\", data.rect[3] - data.lineCoordinates[3]);\n line.setAttribute(\"stroke-width\", data.borderStyle.width || 1);\n line.setAttribute(\"stroke\", \"transparent\");\n line.setAttribute(\"fill\", \"transparent\");\n svg.append(line);\n this.container.append(svg);\n this._createPopup(line, data);\n return this.container;\n }\n}\nclass SquareAnnotationElement extends AnnotationElement {\n constructor(parameters) {\n const isRenderable = !!(parameters.data.hasPopup || parameters.data.titleObj?.str || parameters.data.contentsObj?.str || parameters.data.richText?.str);\n super(parameters, {\n isRenderable,\n ignoreBorder: true\n });\n }\n render() {\n this.container.classList.add(\"squareAnnotation\");\n const data = this.data;\n const {\n width,\n height\n } = getRectDims(data.rect);\n const svg = this.svgFactory.create(width, height, true);\n const borderWidth = data.borderStyle.width;\n const square = this.svgFactory.createElement(\"svg:rect\");\n square.setAttribute(\"x\", borderWidth / 2);\n square.setAttribute(\"y\", borderWidth / 2);\n square.setAttribute(\"width\", width - borderWidth);\n square.setAttribute(\"height\", height - borderWidth);\n square.setAttribute(\"stroke-width\", borderWidth || 1);\n square.setAttribute(\"stroke\", \"transparent\");\n square.setAttribute(\"fill\", \"transparent\");\n svg.append(square);\n this.container.append(svg);\n this._createPopup(square, data);\n return this.container;\n }\n}\nclass CircleAnnotationElement extends AnnotationElement {\n constructor(parameters) {\n const isRenderable = !!(parameters.data.hasPopup || parameters.data.titleObj?.str || parameters.data.contentsObj?.str || parameters.data.richText?.str);\n super(parameters, {\n isRenderable,\n ignoreBorder: true\n });\n }\n render() {\n this.container.classList.add(\"circleAnnotation\");\n const data = this.data;\n const {\n width,\n height\n } = getRectDims(data.rect);\n const svg = this.svgFactory.create(width, height, true);\n const borderWidth = data.borderStyle.width;\n const circle = this.svgFactory.createElement(\"svg:ellipse\");\n circle.setAttribute(\"cx\", width / 2);\n circle.setAttribute(\"cy\", height / 2);\n circle.setAttribute(\"rx\", width / 2 - borderWidth / 2);\n circle.setAttribute(\"ry\", height / 2 - borderWidth / 2);\n circle.setAttribute(\"stroke-width\", borderWidth || 1);\n circle.setAttribute(\"stroke\", \"transparent\");\n circle.setAttribute(\"fill\", \"transparent\");\n svg.append(circle);\n this.container.append(svg);\n this._createPopup(circle, data);\n return this.container;\n }\n}\nclass PolylineAnnotationElement extends AnnotationElement {\n constructor(parameters) {\n const isRenderable = !!(parameters.data.hasPopup || parameters.data.titleObj?.str || parameters.data.contentsObj?.str || parameters.data.richText?.str);\n super(parameters, {\n isRenderable,\n ignoreBorder: true\n });\n this.containerClassName = \"polylineAnnotation\";\n this.svgElementName = \"svg:polyline\";\n }\n render() {\n this.container.classList.add(this.containerClassName);\n const data = this.data;\n const {\n width,\n height\n } = getRectDims(data.rect);\n const svg = this.svgFactory.create(width, height, true);\n let points = [];\n for (const coordinate of data.vertices) {\n const x = coordinate.x - data.rect[0];\n const y = data.rect[3] - coordinate.y;\n points.push(x + \",\" + y);\n }\n points = points.join(\" \");\n const polyline = this.svgFactory.createElement(this.svgElementName);\n polyline.setAttribute(\"points\", points);\n polyline.setAttribute(\"stroke-width\", data.borderStyle.width || 1);\n polyline.setAttribute(\"stroke\", \"transparent\");\n polyline.setAttribute(\"fill\", \"transparent\");\n svg.append(polyline);\n this.container.append(svg);\n this._createPopup(polyline, data);\n return this.container;\n }\n}\nclass PolygonAnnotationElement extends PolylineAnnotationElement {\n constructor(parameters) {\n super(parameters);\n this.containerClassName = \"polygonAnnotation\";\n this.svgElementName = \"svg:polygon\";\n }\n}\nclass CaretAnnotationElement extends AnnotationElement {\n constructor(parameters) {\n const isRenderable = !!(parameters.data.hasPopup || parameters.data.titleObj?.str || parameters.data.contentsObj?.str || parameters.data.richText?.str);\n super(parameters, {\n isRenderable,\n ignoreBorder: true\n });\n }\n render() {\n this.container.classList.add(\"caretAnnotation\");\n if (!this.data.hasPopup) {\n this._createPopup(null, this.data);\n }\n return this.container;\n }\n}\nclass InkAnnotationElement extends AnnotationElement {\n constructor(parameters) {\n const isRenderable = !!(parameters.data.hasPopup || parameters.data.titleObj?.str || parameters.data.contentsObj?.str || parameters.data.richText?.str);\n super(parameters, {\n isRenderable,\n ignoreBorder: true\n });\n this.containerClassName = \"inkAnnotation\";\n this.svgElementName = \"svg:polyline\";\n }\n render() {\n this.container.classList.add(this.containerClassName);\n const data = this.data;\n const {\n width,\n height\n } = getRectDims(data.rect);\n const svg = this.svgFactory.create(width, height, true);\n for (const inkList of data.inkLists) {\n let points = [];\n for (const coordinate of inkList) {\n const x = coordinate.x - data.rect[0];\n const y = data.rect[3] - coordinate.y;\n points.push(`${x},${y}`);\n }\n points = points.join(\" \");\n const polyline = this.svgFactory.createElement(this.svgElementName);\n polyline.setAttribute(\"points\", points);\n polyline.setAttribute(\"stroke-width\", data.borderStyle.width || 1);\n polyline.setAttribute(\"stroke\", \"transparent\");\n polyline.setAttribute(\"fill\", \"transparent\");\n this._createPopup(polyline, data);\n svg.append(polyline);\n }\n this.container.append(svg);\n return this.container;\n }\n}\nclass HighlightAnnotationElement extends AnnotationElement {\n constructor(parameters) {\n const isRenderable = !!(parameters.data.hasPopup || parameters.data.titleObj?.str || parameters.data.contentsObj?.str || parameters.data.richText?.str);\n super(parameters, {\n isRenderable,\n ignoreBorder: true,\n createQuadrilaterals: true\n });\n }\n render() {\n if (!this.data.hasPopup) {\n this._createPopup(null, this.data);\n }\n if (this.quadrilaterals) {\n return this._renderQuadrilaterals(\"highlightAnnotation\");\n }\n this.container.classList.add(\"highlightAnnotation\");\n return this.container;\n }\n}\nclass UnderlineAnnotationElement extends AnnotationElement {\n constructor(parameters) {\n const isRenderable = !!(parameters.data.hasPopup || parameters.data.titleObj?.str || parameters.data.contentsObj?.str || parameters.data.richText?.str);\n super(parameters, {\n isRenderable,\n ignoreBorder: true,\n createQuadrilaterals: true\n });\n }\n render() {\n if (!this.data.hasPopup) {\n this._createPopup(null, this.data);\n }\n if (this.quadrilaterals) {\n return this._renderQuadrilaterals(\"underlineAnnotation\");\n }\n this.container.classList.add(\"underlineAnnotation\");\n return this.container;\n }\n}\nclass SquigglyAnnotationElement extends AnnotationElement {\n constructor(parameters) {\n const isRenderable = !!(parameters.data.hasPopup || parameters.data.titleObj?.str || parameters.data.contentsObj?.str || parameters.data.richText?.str);\n super(parameters, {\n isRenderable,\n ignoreBorder: true,\n createQuadrilaterals: true\n });\n }\n render() {\n if (!this.data.hasPopup) {\n this._createPopup(null, this.data);\n }\n if (this.quadrilaterals) {\n return this._renderQuadrilaterals(\"squigglyAnnotation\");\n }\n this.container.classList.add(\"squigglyAnnotation\");\n return this.container;\n }\n}\nclass StrikeOutAnnotationElement extends AnnotationElement {\n constructor(parameters) {\n const isRenderable = !!(parameters.data.hasPopup || parameters.data.titleObj?.str || parameters.data.contentsObj?.str || parameters.data.richText?.str);\n super(parameters, {\n isRenderable,\n ignoreBorder: true,\n createQuadrilaterals: true\n });\n }\n render() {\n if (!this.data.hasPopup) {\n this._createPopup(null, this.data);\n }\n if (this.quadrilaterals) {\n return this._renderQuadrilaterals(\"strikeoutAnnotation\");\n }\n this.container.classList.add(\"strikeoutAnnotation\");\n return this.container;\n }\n}\nclass StampAnnotationElement extends AnnotationElement {\n constructor(parameters) {\n const isRenderable = !!(parameters.data.hasPopup || parameters.data.titleObj?.str || parameters.data.contentsObj?.str || parameters.data.richText?.str);\n super(parameters, {\n isRenderable,\n ignoreBorder: true\n });\n }\n render() {\n this.container.classList.add(\"stampAnnotation\");\n if (!this.data.hasPopup) {\n this._createPopup(null, this.data);\n }\n return this.container;\n }\n}\nclass FileAttachmentAnnotationElement extends AnnotationElement {\n constructor(parameters) {\n super(parameters, {\n isRenderable: true\n });\n const {\n filename,\n content\n } = this.data.file;\n this.filename = (0, _display_utils.getFilenameFromUrl)(filename, true);\n this.content = content;\n this.linkService.eventBus?.dispatch(\"fileattachmentannotation\", {\n source: this,\n filename,\n content\n });\n }\n render() {\n this.container.classList.add(\"fileAttachmentAnnotation\");\n let trigger;\n if (this.data.hasAppearance) {\n trigger = document.createElement(\"div\");\n } else {\n trigger = document.createElement(\"img\");\n trigger.src = `${this.imageResourcesPath}annotation-${/paperclip/i.test(this.data.name) ? \"paperclip\" : \"pushpin\"}.svg`;\n }\n trigger.classList.add(\"popupTriggerArea\");\n trigger.addEventListener(\"dblclick\", this._download.bind(this));\n if (!this.data.hasPopup && (this.data.titleObj?.str || this.data.contentsObj?.str || this.data.richText)) {\n this._createPopup(trigger, this.data);\n }\n this.container.append(trigger);\n return this.container;\n }\n _download() {\n this.downloadManager?.openOrDownloadData(this.container, this.content, this.filename);\n }\n}\nclass AnnotationLayer {\n static #appendElement(element, id, div, accessibilityManager) {\n const contentElement = element.firstChild || element;\n contentElement.id = `${_display_utils.AnnotationPrefix}${id}`;\n div.append(element);\n accessibilityManager?.moveElementInDOM(div, element, contentElement, false);\n }\n static render(params) {\n const {\n annotations,\n div,\n viewport,\n accessibilityManager\n } = params;\n (0, _display_utils.setLayerDimensions)(div, viewport);\n const elementParams = {\n data: null,\n layer: div,\n page: params.page,\n viewport,\n linkService: params.linkService,\n downloadManager: params.downloadManager,\n imageResourcesPath: params.imageResourcesPath || \"\",\n renderForms: params.renderForms !== false,\n svgFactory: new _display_utils.DOMSVGFactory(),\n annotationStorage: params.annotationStorage || new _annotation_storage.AnnotationStorage(),\n enableScripting: params.enableScripting === true,\n hasJSActions: params.hasJSActions,\n fieldObjects: params.fieldObjects\n };\n let zIndex = 0;\n for (const data of annotations) {\n if (data.noHTML) {\n continue;\n }\n if (data.annotationType !== _util.AnnotationType.POPUP) {\n const {\n width,\n height\n } = getRectDims(data.rect);\n if (width <= 0 || height <= 0) {\n continue;\n }\n }\n elementParams.data = data;\n const element = AnnotationElementFactory.create(elementParams);\n if (!element.isRenderable) {\n continue;\n }\n const rendered = element.render();\n if (data.hidden) {\n rendered.style.visibility = \"hidden\";\n }\n if (Array.isArray(rendered)) {\n for (const renderedElement of rendered) {\n renderedElement.style.zIndex = zIndex++;\n AnnotationLayer.#appendElement(renderedElement, data.id, div, accessibilityManager);\n }\n } else {\n rendered.style.zIndex = zIndex++;\n if (element instanceof PopupAnnotationElement) {\n div.prepend(rendered);\n } else {\n AnnotationLayer.#appendElement(rendered, data.id, div, accessibilityManager);\n }\n }\n }\n this.#setAnnotationCanvasMap(div, params.annotationCanvasMap);\n }\n static update(params) {\n const {\n annotationCanvasMap,\n div,\n viewport\n } = params;\n (0, _display_utils.setLayerDimensions)(div, {\n rotation: viewport.rotation\n });\n this.#setAnnotationCanvasMap(div, annotationCanvasMap);\n div.hidden = false;\n }\n static #setAnnotationCanvasMap(div, annotationCanvasMap) {\n if (!annotationCanvasMap) {\n return;\n }\n for (const [id, canvas] of annotationCanvasMap) {\n const element = div.querySelector(`[data-annotation-id=\"${id}\"]`);\n if (!element) {\n continue;\n }\n const {\n firstChild\n } = element;\n if (!firstChild) {\n element.append(canvas);\n } else if (firstChild.nodeName === \"CANVAS\") {\n firstChild.replaceWith(canvas);\n } else {\n firstChild.before(canvas);\n }\n }\n annotationCanvasMap.clear();\n }\n}\nexports.AnnotationLayer = AnnotationLayer;\n\n/***/ }),\n/* 33 */\n/***/ ((__unused_webpack_module, exports) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.ColorConverters = void 0;\nfunction makeColorComp(n) {\n return Math.floor(Math.max(0, Math.min(1, n)) * 255).toString(16).padStart(2, \"0\");\n}\nclass ColorConverters {\n static CMYK_G([c, y, m, k]) {\n return [\"G\", 1 - Math.min(1, 0.3 * c + 0.59 * m + 0.11 * y + k)];\n }\n static G_CMYK([g]) {\n return [\"CMYK\", 0, 0, 0, 1 - g];\n }\n static G_RGB([g]) {\n return [\"RGB\", g, g, g];\n }\n static G_HTML([g]) {\n const G = makeColorComp(g);\n return `#${G}${G}${G}`;\n }\n static RGB_G([r, g, b]) {\n return [\"G\", 0.3 * r + 0.59 * g + 0.11 * b];\n }\n static RGB_HTML([r, g, b]) {\n const R = makeColorComp(r);\n const G = makeColorComp(g);\n const B = makeColorComp(b);\n return `#${R}${G}${B}`;\n }\n static T_HTML() {\n return \"#00000000\";\n }\n static CMYK_RGB([c, y, m, k]) {\n return [\"RGB\", 1 - Math.min(1, c + k), 1 - Math.min(1, m + k), 1 - Math.min(1, y + k)];\n }\n static CMYK_HTML(components) {\n const rgb = this.CMYK_RGB(components).slice(1);\n return this.RGB_HTML(rgb);\n }\n static RGB_CMYK([r, g, b]) {\n const c = 1 - r;\n const m = 1 - g;\n const y = 1 - b;\n const k = Math.min(c, m, y);\n return [\"CMYK\", c, m, y, k];\n }\n}\nexports.ColorConverters = ColorConverters;\n\n/***/ }),\n/* 34 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.XfaLayer = void 0;\nvar _xfa_text = __w_pdfjs_require__(19);\nclass XfaLayer {\n static setupStorage(html, id, element, storage, intent) {\n const storedData = storage.getValue(id, {\n value: null\n });\n switch (element.name) {\n case \"textarea\":\n if (storedData.value !== null) {\n html.textContent = storedData.value;\n }\n if (intent === \"print\") {\n break;\n }\n html.addEventListener(\"input\", event => {\n storage.setValue(id, {\n value: event.target.value\n });\n });\n break;\n case \"input\":\n if (element.attributes.type === \"radio\" || element.attributes.type === \"checkbox\") {\n if (storedData.value === element.attributes.xfaOn) {\n html.setAttribute(\"checked\", true);\n } else if (storedData.value === element.attributes.xfaOff) {\n html.removeAttribute(\"checked\");\n }\n if (intent === \"print\") {\n break;\n }\n html.addEventListener(\"change\", event => {\n storage.setValue(id, {\n value: event.target.checked ? event.target.getAttribute(\"xfaOn\") : event.target.getAttribute(\"xfaOff\")\n });\n });\n } else {\n if (storedData.value !== null) {\n html.setAttribute(\"value\", storedData.value);\n }\n if (intent === \"print\") {\n break;\n }\n html.addEventListener(\"input\", event => {\n storage.setValue(id, {\n value: event.target.value\n });\n });\n }\n break;\n case \"select\":\n if (storedData.value !== null) {\n for (const option of element.children) {\n if (option.attributes.value === storedData.value) {\n option.attributes.selected = true;\n }\n }\n }\n html.addEventListener(\"input\", event => {\n const options = event.target.options;\n const value = options.selectedIndex === -1 ? \"\" : options[options.selectedIndex].value;\n storage.setValue(id, {\n value\n });\n });\n break;\n }\n }\n static setAttributes({\n html,\n element,\n storage = null,\n intent,\n linkService\n }) {\n const {\n attributes\n } = element;\n const isHTMLAnchorElement = html instanceof HTMLAnchorElement;\n if (attributes.type === \"radio\") {\n attributes.name = `${attributes.name}-${intent}`;\n }\n for (const [key, value] of Object.entries(attributes)) {\n if (value === null || value === undefined) {\n continue;\n }\n switch (key) {\n case \"class\":\n if (value.length) {\n html.setAttribute(key, value.join(\" \"));\n }\n break;\n case \"dataId\":\n break;\n case \"id\":\n html.setAttribute(\"data-element-id\", value);\n break;\n case \"style\":\n Object.assign(html.style, value);\n break;\n case \"textContent\":\n html.textContent = value;\n break;\n default:\n if (!isHTMLAnchorElement || key !== \"href\" && key !== \"newWindow\") {\n html.setAttribute(key, value);\n }\n }\n }\n if (isHTMLAnchorElement) {\n linkService.addLinkAttributes(html, attributes.href, attributes.newWindow);\n }\n if (storage && attributes.dataId) {\n this.setupStorage(html, attributes.dataId, element, storage);\n }\n }\n static render(parameters) {\n const storage = parameters.annotationStorage;\n const linkService = parameters.linkService;\n const root = parameters.xfaHtml;\n const intent = parameters.intent || \"display\";\n const rootHtml = document.createElement(root.name);\n if (root.attributes) {\n this.setAttributes({\n html: rootHtml,\n element: root,\n intent,\n linkService\n });\n }\n const stack = [[root, -1, rootHtml]];\n const rootDiv = parameters.div;\n rootDiv.append(rootHtml);\n if (parameters.viewport) {\n const transform = `matrix(${parameters.viewport.transform.join(\",\")})`;\n rootDiv.style.transform = transform;\n }\n if (intent !== \"richText\") {\n rootDiv.setAttribute(\"class\", \"xfaLayer xfaFont\");\n }\n const textDivs = [];\n while (stack.length > 0) {\n const [parent, i, html] = stack.at(-1);\n if (i + 1 === parent.children.length) {\n stack.pop();\n continue;\n }\n const child = parent.children[++stack.at(-1)[1]];\n if (child === null) {\n continue;\n }\n const {\n name\n } = child;\n if (name === \"#text\") {\n const node = document.createTextNode(child.value);\n textDivs.push(node);\n html.append(node);\n continue;\n }\n let childHtml;\n if (child?.attributes?.xmlns) {\n childHtml = document.createElementNS(child.attributes.xmlns, name);\n } else {\n childHtml = document.createElement(name);\n }\n html.append(childHtml);\n if (child.attributes) {\n this.setAttributes({\n html: childHtml,\n element: child,\n storage,\n intent,\n linkService\n });\n }\n if (child.children && child.children.length > 0) {\n stack.push([child, -1, childHtml]);\n } else if (child.value) {\n const node = document.createTextNode(child.value);\n if (_xfa_text.XfaText.shouldBuildText(name)) {\n textDivs.push(node);\n }\n childHtml.append(node);\n }\n }\n for (const el of rootDiv.querySelectorAll(\".xfaNonInteractive input, .xfaNonInteractive textarea\")) {\n el.setAttribute(\"readOnly\", true);\n }\n return {\n textDivs\n };\n }\n static update(parameters) {\n const transform = `matrix(${parameters.viewport.transform.join(\",\")})`;\n parameters.div.style.transform = transform;\n parameters.div.hidden = false;\n }\n}\nexports.XfaLayer = XfaLayer;\n\n/***/ }),\n/* 35 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.SVGGraphics = void 0;\nvar _display_utils = __w_pdfjs_require__(6);\nvar _util = __w_pdfjs_require__(1);\nvar _is_node = __w_pdfjs_require__(10);\nlet SVGGraphics = class {\n constructor() {\n (0, _util.unreachable)(\"Not implemented: SVGGraphics\");\n }\n};\nexports.SVGGraphics = SVGGraphics;\n{\n const SVG_DEFAULTS = {\n fontStyle: \"normal\",\n fontWeight: \"normal\",\n fillColor: \"#000000\"\n };\n const XML_NS = \"http://www.w3.org/XML/1998/namespace\";\n const XLINK_NS = \"http://www.w3.org/1999/xlink\";\n const LINE_CAP_STYLES = [\"butt\", \"round\", \"square\"];\n const LINE_JOIN_STYLES = [\"miter\", \"round\", \"bevel\"];\n const createObjectURL = function (data, contentType = \"\", forceDataSchema = false) {\n if (URL.createObjectURL && typeof Blob !== \"undefined\" && !forceDataSchema) {\n return URL.createObjectURL(new Blob([data], {\n type: contentType\n }));\n }\n const digits = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\";\n let buffer = `data:${contentType};base64,`;\n for (let i = 0, ii = data.length; i < ii; i += 3) {\n const b1 = data[i] & 0xff;\n const b2 = data[i + 1] & 0xff;\n const b3 = data[i + 2] & 0xff;\n const d1 = b1 >> 2,\n d2 = (b1 & 3) << 4 | b2 >> 4;\n const d3 = i + 1 < ii ? (b2 & 0xf) << 2 | b3 >> 6 : 64;\n const d4 = i + 2 < ii ? b3 & 0x3f : 64;\n buffer += digits[d1] + digits[d2] + digits[d3] + digits[d4];\n }\n return buffer;\n };\n const convertImgDataToPng = function () {\n const PNG_HEADER = new Uint8Array([0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a]);\n const CHUNK_WRAPPER_SIZE = 12;\n const crcTable = new Int32Array(256);\n for (let i = 0; i < 256; i++) {\n let c = i;\n for (let h = 0; h < 8; h++) {\n if (c & 1) {\n c = 0xedb88320 ^ c >> 1 & 0x7fffffff;\n } else {\n c = c >> 1 & 0x7fffffff;\n }\n }\n crcTable[i] = c;\n }\n function crc32(data, start, end) {\n let crc = -1;\n for (let i = start; i < end; i++) {\n const a = (crc ^ data[i]) & 0xff;\n const b = crcTable[a];\n crc = crc >>> 8 ^ b;\n }\n return crc ^ -1;\n }\n function writePngChunk(type, body, data, offset) {\n let p = offset;\n const len = body.length;\n data[p] = len >> 24 & 0xff;\n data[p + 1] = len >> 16 & 0xff;\n data[p + 2] = len >> 8 & 0xff;\n data[p + 3] = len & 0xff;\n p += 4;\n data[p] = type.charCodeAt(0) & 0xff;\n data[p + 1] = type.charCodeAt(1) & 0xff;\n data[p + 2] = type.charCodeAt(2) & 0xff;\n data[p + 3] = type.charCodeAt(3) & 0xff;\n p += 4;\n data.set(body, p);\n p += body.length;\n const crc = crc32(data, offset + 4, p);\n data[p] = crc >> 24 & 0xff;\n data[p + 1] = crc >> 16 & 0xff;\n data[p + 2] = crc >> 8 & 0xff;\n data[p + 3] = crc & 0xff;\n }\n function adler32(data, start, end) {\n let a = 1;\n let b = 0;\n for (let i = start; i < end; ++i) {\n a = (a + (data[i] & 0xff)) % 65521;\n b = (b + a) % 65521;\n }\n return b << 16 | a;\n }\n function deflateSync(literals) {\n if (!_is_node.isNodeJS) {\n return deflateSyncUncompressed(literals);\n }\n try {\n let input;\n if (parseInt(process.versions.node) >= 8) {\n input = literals;\n } else {\n input = Buffer.from(literals);\n }\n const output = require(\"zlib\").deflateSync(input, {\n level: 9\n });\n return output instanceof Uint8Array ? output : new Uint8Array(output);\n } catch (e) {\n (0, _util.warn)(\"Not compressing PNG because zlib.deflateSync is unavailable: \" + e);\n }\n return deflateSyncUncompressed(literals);\n }\n function deflateSyncUncompressed(literals) {\n let len = literals.length;\n const maxBlockLength = 0xffff;\n const deflateBlocks = Math.ceil(len / maxBlockLength);\n const idat = new Uint8Array(2 + len + deflateBlocks * 5 + 4);\n let pi = 0;\n idat[pi++] = 0x78;\n idat[pi++] = 0x9c;\n let pos = 0;\n while (len > maxBlockLength) {\n idat[pi++] = 0x00;\n idat[pi++] = 0xff;\n idat[pi++] = 0xff;\n idat[pi++] = 0x00;\n idat[pi++] = 0x00;\n idat.set(literals.subarray(pos, pos + maxBlockLength), pi);\n pi += maxBlockLength;\n pos += maxBlockLength;\n len -= maxBlockLength;\n }\n idat[pi++] = 0x01;\n idat[pi++] = len & 0xff;\n idat[pi++] = len >> 8 & 0xff;\n idat[pi++] = ~len & 0xffff & 0xff;\n idat[pi++] = (~len & 0xffff) >> 8 & 0xff;\n idat.set(literals.subarray(pos), pi);\n pi += literals.length - pos;\n const adler = adler32(literals, 0, literals.length);\n idat[pi++] = adler >> 24 & 0xff;\n idat[pi++] = adler >> 16 & 0xff;\n idat[pi++] = adler >> 8 & 0xff;\n idat[pi++] = adler & 0xff;\n return idat;\n }\n function encode(imgData, kind, forceDataSchema, isMask) {\n const width = imgData.width;\n const height = imgData.height;\n let bitDepth, colorType, lineSize;\n const bytes = imgData.data;\n switch (kind) {\n case _util.ImageKind.GRAYSCALE_1BPP:\n colorType = 0;\n bitDepth = 1;\n lineSize = width + 7 >> 3;\n break;\n case _util.ImageKind.RGB_24BPP:\n colorType = 2;\n bitDepth = 8;\n lineSize = width * 3;\n break;\n case _util.ImageKind.RGBA_32BPP:\n colorType = 6;\n bitDepth = 8;\n lineSize = width * 4;\n break;\n default:\n throw new Error(\"invalid format\");\n }\n const literals = new Uint8Array((1 + lineSize) * height);\n let offsetLiterals = 0,\n offsetBytes = 0;\n for (let y = 0; y < height; ++y) {\n literals[offsetLiterals++] = 0;\n literals.set(bytes.subarray(offsetBytes, offsetBytes + lineSize), offsetLiterals);\n offsetBytes += lineSize;\n offsetLiterals += lineSize;\n }\n if (kind === _util.ImageKind.GRAYSCALE_1BPP && isMask) {\n offsetLiterals = 0;\n for (let y = 0; y < height; y++) {\n offsetLiterals++;\n for (let i = 0; i < lineSize; i++) {\n literals[offsetLiterals++] ^= 0xff;\n }\n }\n }\n const ihdr = new Uint8Array([width >> 24 & 0xff, width >> 16 & 0xff, width >> 8 & 0xff, width & 0xff, height >> 24 & 0xff, height >> 16 & 0xff, height >> 8 & 0xff, height & 0xff, bitDepth, colorType, 0x00, 0x00, 0x00]);\n const idat = deflateSync(literals);\n const pngLength = PNG_HEADER.length + CHUNK_WRAPPER_SIZE * 3 + ihdr.length + idat.length;\n const data = new Uint8Array(pngLength);\n let offset = 0;\n data.set(PNG_HEADER, offset);\n offset += PNG_HEADER.length;\n writePngChunk(\"IHDR\", ihdr, data, offset);\n offset += CHUNK_WRAPPER_SIZE + ihdr.length;\n writePngChunk(\"IDATA\", idat, data, offset);\n offset += CHUNK_WRAPPER_SIZE + idat.length;\n writePngChunk(\"IEND\", new Uint8Array(0), data, offset);\n return createObjectURL(data, \"image/png\", forceDataSchema);\n }\n return function convertImgDataToPng(imgData, forceDataSchema, isMask) {\n const kind = imgData.kind === undefined ? _util.ImageKind.GRAYSCALE_1BPP : imgData.kind;\n return encode(imgData, kind, forceDataSchema, isMask);\n };\n }();\n class SVGExtraState {\n constructor() {\n this.fontSizeScale = 1;\n this.fontWeight = SVG_DEFAULTS.fontWeight;\n this.fontSize = 0;\n this.textMatrix = _util.IDENTITY_MATRIX;\n this.fontMatrix = _util.FONT_IDENTITY_MATRIX;\n this.leading = 0;\n this.textRenderingMode = _util.TextRenderingMode.FILL;\n this.textMatrixScale = 1;\n this.x = 0;\n this.y = 0;\n this.lineX = 0;\n this.lineY = 0;\n this.charSpacing = 0;\n this.wordSpacing = 0;\n this.textHScale = 1;\n this.textRise = 0;\n this.fillColor = SVG_DEFAULTS.fillColor;\n this.strokeColor = \"#000000\";\n this.fillAlpha = 1;\n this.strokeAlpha = 1;\n this.lineWidth = 1;\n this.lineJoin = \"\";\n this.lineCap = \"\";\n this.miterLimit = 0;\n this.dashArray = [];\n this.dashPhase = 0;\n this.dependencies = [];\n this.activeClipUrl = null;\n this.clipGroup = null;\n this.maskId = \"\";\n }\n clone() {\n return Object.create(this);\n }\n setCurrentPoint(x, y) {\n this.x = x;\n this.y = y;\n }\n }\n function opListToTree(opList) {\n let opTree = [];\n const tmp = [];\n for (const opListElement of opList) {\n if (opListElement.fn === \"save\") {\n opTree.push({\n fnId: 92,\n fn: \"group\",\n items: []\n });\n tmp.push(opTree);\n opTree = opTree.at(-1).items;\n continue;\n }\n if (opListElement.fn === \"restore\") {\n opTree = tmp.pop();\n } else {\n opTree.push(opListElement);\n }\n }\n return opTree;\n }\n function pf(value) {\n if (Number.isInteger(value)) {\n return value.toString();\n }\n const s = value.toFixed(10);\n let i = s.length - 1;\n if (s[i] !== \"0\") {\n return s;\n }\n do {\n i--;\n } while (s[i] === \"0\");\n return s.substring(0, s[i] === \".\" ? i : i + 1);\n }\n function pm(m) {\n if (m[4] === 0 && m[5] === 0) {\n if (m[1] === 0 && m[2] === 0) {\n if (m[0] === 1 && m[3] === 1) {\n return \"\";\n }\n return `scale(${pf(m[0])} ${pf(m[3])})`;\n }\n if (m[0] === m[3] && m[1] === -m[2]) {\n const a = Math.acos(m[0]) * 180 / Math.PI;\n return `rotate(${pf(a)})`;\n }\n } else {\n if (m[0] === 1 && m[1] === 0 && m[2] === 0 && m[3] === 1) {\n return `translate(${pf(m[4])} ${pf(m[5])})`;\n }\n }\n return `matrix(${pf(m[0])} ${pf(m[1])} ${pf(m[2])} ${pf(m[3])} ${pf(m[4])} ` + `${pf(m[5])})`;\n }\n let clipCount = 0;\n let maskCount = 0;\n let shadingCount = 0;\n exports.SVGGraphics = SVGGraphics = class {\n constructor(commonObjs, objs, forceDataSchema = false) {\n (0, _display_utils.deprecated)(\"The SVG back-end is no longer maintained and *may* be removed in the future.\");\n this.svgFactory = new _display_utils.DOMSVGFactory();\n this.current = new SVGExtraState();\n this.transformMatrix = _util.IDENTITY_MATRIX;\n this.transformStack = [];\n this.extraStack = [];\n this.commonObjs = commonObjs;\n this.objs = objs;\n this.pendingClip = null;\n this.pendingEOFill = false;\n this.embedFonts = false;\n this.embeddedFonts = Object.create(null);\n this.cssStyle = null;\n this.forceDataSchema = !!forceDataSchema;\n this._operatorIdMapping = [];\n for (const op in _util.OPS) {\n this._operatorIdMapping[_util.OPS[op]] = op;\n }\n }\n getObject(data, fallback = null) {\n if (typeof data === \"string\") {\n return data.startsWith(\"g_\") ? this.commonObjs.get(data) : this.objs.get(data);\n }\n return fallback;\n }\n save() {\n this.transformStack.push(this.transformMatrix);\n const old = this.current;\n this.extraStack.push(old);\n this.current = old.clone();\n }\n restore() {\n this.transformMatrix = this.transformStack.pop();\n this.current = this.extraStack.pop();\n this.pendingClip = null;\n this.tgrp = null;\n }\n group(items) {\n this.save();\n this.executeOpTree(items);\n this.restore();\n }\n loadDependencies(operatorList) {\n const fnArray = operatorList.fnArray;\n const argsArray = operatorList.argsArray;\n for (let i = 0, ii = fnArray.length; i < ii; i++) {\n if (fnArray[i] !== _util.OPS.dependency) {\n continue;\n }\n for (const obj of argsArray[i]) {\n const objsPool = obj.startsWith(\"g_\") ? this.commonObjs : this.objs;\n const promise = new Promise(resolve => {\n objsPool.get(obj, resolve);\n });\n this.current.dependencies.push(promise);\n }\n }\n return Promise.all(this.current.dependencies);\n }\n transform(a, b, c, d, e, f) {\n const transformMatrix = [a, b, c, d, e, f];\n this.transformMatrix = _util.Util.transform(this.transformMatrix, transformMatrix);\n this.tgrp = null;\n }\n getSVG(operatorList, viewport) {\n this.viewport = viewport;\n const svgElement = this._initialize(viewport);\n return this.loadDependencies(operatorList).then(() => {\n this.transformMatrix = _util.IDENTITY_MATRIX;\n this.executeOpTree(this.convertOpList(operatorList));\n return svgElement;\n });\n }\n convertOpList(operatorList) {\n const operatorIdMapping = this._operatorIdMapping;\n const argsArray = operatorList.argsArray;\n const fnArray = operatorList.fnArray;\n const opList = [];\n for (let i = 0, ii = fnArray.length; i < ii; i++) {\n const fnId = fnArray[i];\n opList.push({\n fnId,\n fn: operatorIdMapping[fnId],\n args: argsArray[i]\n });\n }\n return opListToTree(opList);\n }\n executeOpTree(opTree) {\n for (const opTreeElement of opTree) {\n const fn = opTreeElement.fn;\n const fnId = opTreeElement.fnId;\n const args = opTreeElement.args;\n switch (fnId | 0) {\n case _util.OPS.beginText:\n this.beginText();\n break;\n case _util.OPS.dependency:\n break;\n case _util.OPS.setLeading:\n this.setLeading(args);\n break;\n case _util.OPS.setLeadingMoveText:\n this.setLeadingMoveText(args[0], args[1]);\n break;\n case _util.OPS.setFont:\n this.setFont(args);\n break;\n case _util.OPS.showText:\n this.showText(args[0]);\n break;\n case _util.OPS.showSpacedText:\n this.showText(args[0]);\n break;\n case _util.OPS.endText:\n this.endText();\n break;\n case _util.OPS.moveText:\n this.moveText(args[0], args[1]);\n break;\n case _util.OPS.setCharSpacing:\n this.setCharSpacing(args[0]);\n break;\n case _util.OPS.setWordSpacing:\n this.setWordSpacing(args[0]);\n break;\n case _util.OPS.setHScale:\n this.setHScale(args[0]);\n break;\n case _util.OPS.setTextMatrix:\n this.setTextMatrix(args[0], args[1], args[2], args[3], args[4], args[5]);\n break;\n case _util.OPS.setTextRise:\n this.setTextRise(args[0]);\n break;\n case _util.OPS.setTextRenderingMode:\n this.setTextRenderingMode(args[0]);\n break;\n case _util.OPS.setLineWidth:\n this.setLineWidth(args[0]);\n break;\n case _util.OPS.setLineJoin:\n this.setLineJoin(args[0]);\n break;\n case _util.OPS.setLineCap:\n this.setLineCap(args[0]);\n break;\n case _util.OPS.setMiterLimit:\n this.setMiterLimit(args[0]);\n break;\n case _util.OPS.setFillRGBColor:\n this.setFillRGBColor(args[0], args[1], args[2]);\n break;\n case _util.OPS.setStrokeRGBColor:\n this.setStrokeRGBColor(args[0], args[1], args[2]);\n break;\n case _util.OPS.setStrokeColorN:\n this.setStrokeColorN(args);\n break;\n case _util.OPS.setFillColorN:\n this.setFillColorN(args);\n break;\n case _util.OPS.shadingFill:\n this.shadingFill(args[0]);\n break;\n case _util.OPS.setDash:\n this.setDash(args[0], args[1]);\n break;\n case _util.OPS.setRenderingIntent:\n this.setRenderingIntent(args[0]);\n break;\n case _util.OPS.setFlatness:\n this.setFlatness(args[0]);\n break;\n case _util.OPS.setGState:\n this.setGState(args[0]);\n break;\n case _util.OPS.fill:\n this.fill();\n break;\n case _util.OPS.eoFill:\n this.eoFill();\n break;\n case _util.OPS.stroke:\n this.stroke();\n break;\n case _util.OPS.fillStroke:\n this.fillStroke();\n break;\n case _util.OPS.eoFillStroke:\n this.eoFillStroke();\n break;\n case _util.OPS.clip:\n this.clip(\"nonzero\");\n break;\n case _util.OPS.eoClip:\n this.clip(\"evenodd\");\n break;\n case _util.OPS.paintSolidColorImageMask:\n this.paintSolidColorImageMask();\n break;\n case _util.OPS.paintImageXObject:\n this.paintImageXObject(args[0]);\n break;\n case _util.OPS.paintInlineImageXObject:\n this.paintInlineImageXObject(args[0]);\n break;\n case _util.OPS.paintImageMaskXObject:\n this.paintImageMaskXObject(args[0]);\n break;\n case _util.OPS.paintFormXObjectBegin:\n this.paintFormXObjectBegin(args[0], args[1]);\n break;\n case _util.OPS.paintFormXObjectEnd:\n this.paintFormXObjectEnd();\n break;\n case _util.OPS.closePath:\n this.closePath();\n break;\n case _util.OPS.closeStroke:\n this.closeStroke();\n break;\n case _util.OPS.closeFillStroke:\n this.closeFillStroke();\n break;\n case _util.OPS.closeEOFillStroke:\n this.closeEOFillStroke();\n break;\n case _util.OPS.nextLine:\n this.nextLine();\n break;\n case _util.OPS.transform:\n this.transform(args[0], args[1], args[2], args[3], args[4], args[5]);\n break;\n case _util.OPS.constructPath:\n this.constructPath(args[0], args[1]);\n break;\n case _util.OPS.endPath:\n this.endPath();\n break;\n case 92:\n this.group(opTreeElement.items);\n break;\n default:\n (0, _util.warn)(`Unimplemented operator ${fn}`);\n break;\n }\n }\n }\n setWordSpacing(wordSpacing) {\n this.current.wordSpacing = wordSpacing;\n }\n setCharSpacing(charSpacing) {\n this.current.charSpacing = charSpacing;\n }\n nextLine() {\n this.moveText(0, this.current.leading);\n }\n setTextMatrix(a, b, c, d, e, f) {\n const current = this.current;\n current.textMatrix = current.lineMatrix = [a, b, c, d, e, f];\n current.textMatrixScale = Math.hypot(a, b);\n current.x = current.lineX = 0;\n current.y = current.lineY = 0;\n current.xcoords = [];\n current.ycoords = [];\n current.tspan = this.svgFactory.createElement(\"svg:tspan\");\n current.tspan.setAttributeNS(null, \"font-family\", current.fontFamily);\n current.tspan.setAttributeNS(null, \"font-size\", `${pf(current.fontSize)}px`);\n current.tspan.setAttributeNS(null, \"y\", pf(-current.y));\n current.txtElement = this.svgFactory.createElement(\"svg:text\");\n current.txtElement.append(current.tspan);\n }\n beginText() {\n const current = this.current;\n current.x = current.lineX = 0;\n current.y = current.lineY = 0;\n current.textMatrix = _util.IDENTITY_MATRIX;\n current.lineMatrix = _util.IDENTITY_MATRIX;\n current.textMatrixScale = 1;\n current.tspan = this.svgFactory.createElement(\"svg:tspan\");\n current.txtElement = this.svgFactory.createElement(\"svg:text\");\n current.txtgrp = this.svgFactory.createElement(\"svg:g\");\n current.xcoords = [];\n current.ycoords = [];\n }\n moveText(x, y) {\n const current = this.current;\n current.x = current.lineX += x;\n current.y = current.lineY += y;\n current.xcoords = [];\n current.ycoords = [];\n current.tspan = this.svgFactory.createElement(\"svg:tspan\");\n current.tspan.setAttributeNS(null, \"font-family\", current.fontFamily);\n current.tspan.setAttributeNS(null, \"font-size\", `${pf(current.fontSize)}px`);\n current.tspan.setAttributeNS(null, \"y\", pf(-current.y));\n }\n showText(glyphs) {\n const current = this.current;\n const font = current.font;\n const fontSize = current.fontSize;\n if (fontSize === 0) {\n return;\n }\n const fontSizeScale = current.fontSizeScale;\n const charSpacing = current.charSpacing;\n const wordSpacing = current.wordSpacing;\n const fontDirection = current.fontDirection;\n const textHScale = current.textHScale * fontDirection;\n const vertical = font.vertical;\n const spacingDir = vertical ? 1 : -1;\n const defaultVMetrics = font.defaultVMetrics;\n const widthAdvanceScale = fontSize * current.fontMatrix[0];\n let x = 0;\n for (const glyph of glyphs) {\n if (glyph === null) {\n x += fontDirection * wordSpacing;\n continue;\n } else if (typeof glyph === \"number\") {\n x += spacingDir * glyph * fontSize / 1000;\n continue;\n }\n const spacing = (glyph.isSpace ? wordSpacing : 0) + charSpacing;\n const character = glyph.fontChar;\n let scaledX, scaledY;\n let width = glyph.width;\n if (vertical) {\n let vx;\n const vmetric = glyph.vmetric || defaultVMetrics;\n vx = glyph.vmetric ? vmetric[1] : width * 0.5;\n vx = -vx * widthAdvanceScale;\n const vy = vmetric[2] * widthAdvanceScale;\n width = vmetric ? -vmetric[0] : width;\n scaledX = vx / fontSizeScale;\n scaledY = (x + vy) / fontSizeScale;\n } else {\n scaledX = x / fontSizeScale;\n scaledY = 0;\n }\n if (glyph.isInFont || font.missingFile) {\n current.xcoords.push(current.x + scaledX);\n if (vertical) {\n current.ycoords.push(-current.y + scaledY);\n }\n current.tspan.textContent += character;\n } else {}\n let charWidth;\n if (vertical) {\n charWidth = width * widthAdvanceScale - spacing * fontDirection;\n } else {\n charWidth = width * widthAdvanceScale + spacing * fontDirection;\n }\n x += charWidth;\n }\n current.tspan.setAttributeNS(null, \"x\", current.xcoords.map(pf).join(\" \"));\n if (vertical) {\n current.tspan.setAttributeNS(null, \"y\", current.ycoords.map(pf).join(\" \"));\n } else {\n current.tspan.setAttributeNS(null, \"y\", pf(-current.y));\n }\n if (vertical) {\n current.y -= x;\n } else {\n current.x += x * textHScale;\n }\n current.tspan.setAttributeNS(null, \"font-family\", current.fontFamily);\n current.tspan.setAttributeNS(null, \"font-size\", `${pf(current.fontSize)}px`);\n if (current.fontStyle !== SVG_DEFAULTS.fontStyle) {\n current.tspan.setAttributeNS(null, \"font-style\", current.fontStyle);\n }\n if (current.fontWeight !== SVG_DEFAULTS.fontWeight) {\n current.tspan.setAttributeNS(null, \"font-weight\", current.fontWeight);\n }\n const fillStrokeMode = current.textRenderingMode & _util.TextRenderingMode.FILL_STROKE_MASK;\n if (fillStrokeMode === _util.TextRenderingMode.FILL || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) {\n if (current.fillColor !== SVG_DEFAULTS.fillColor) {\n current.tspan.setAttributeNS(null, \"fill\", current.fillColor);\n }\n if (current.fillAlpha < 1) {\n current.tspan.setAttributeNS(null, \"fill-opacity\", current.fillAlpha);\n }\n } else if (current.textRenderingMode === _util.TextRenderingMode.ADD_TO_PATH) {\n current.tspan.setAttributeNS(null, \"fill\", \"transparent\");\n } else {\n current.tspan.setAttributeNS(null, \"fill\", \"none\");\n }\n if (fillStrokeMode === _util.TextRenderingMode.STROKE || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) {\n const lineWidthScale = 1 / (current.textMatrixScale || 1);\n this._setStrokeAttributes(current.tspan, lineWidthScale);\n }\n let textMatrix = current.textMatrix;\n if (current.textRise !== 0) {\n textMatrix = textMatrix.slice();\n textMatrix[5] += current.textRise;\n }\n current.txtElement.setAttributeNS(null, \"transform\", `${pm(textMatrix)} scale(${pf(textHScale)}, -1)`);\n current.txtElement.setAttributeNS(XML_NS, \"xml:space\", \"preserve\");\n current.txtElement.append(current.tspan);\n current.txtgrp.append(current.txtElement);\n this._ensureTransformGroup().append(current.txtElement);\n }\n setLeadingMoveText(x, y) {\n this.setLeading(-y);\n this.moveText(x, y);\n }\n addFontStyle(fontObj) {\n if (!fontObj.data) {\n throw new Error(\"addFontStyle: No font data available, \" + 'ensure that the \"fontExtraProperties\" API parameter is set.');\n }\n if (!this.cssStyle) {\n this.cssStyle = this.svgFactory.createElement(\"svg:style\");\n this.cssStyle.setAttributeNS(null, \"type\", \"text/css\");\n this.defs.append(this.cssStyle);\n }\n const url = createObjectURL(fontObj.data, fontObj.mimetype, this.forceDataSchema);\n this.cssStyle.textContent += `@font-face { font-family: \"${fontObj.loadedName}\";` + ` src: url(${url}); }\\n`;\n }\n setFont(details) {\n const current = this.current;\n const fontObj = this.commonObjs.get(details[0]);\n let size = details[1];\n current.font = fontObj;\n if (this.embedFonts && !fontObj.missingFile && !this.embeddedFonts[fontObj.loadedName]) {\n this.addFontStyle(fontObj);\n this.embeddedFonts[fontObj.loadedName] = fontObj;\n }\n current.fontMatrix = fontObj.fontMatrix || _util.FONT_IDENTITY_MATRIX;\n let bold = \"normal\";\n if (fontObj.black) {\n bold = \"900\";\n } else if (fontObj.bold) {\n bold = \"bold\";\n }\n const italic = fontObj.italic ? \"italic\" : \"normal\";\n if (size < 0) {\n size = -size;\n current.fontDirection = -1;\n } else {\n current.fontDirection = 1;\n }\n current.fontSize = size;\n current.fontFamily = fontObj.loadedName;\n current.fontWeight = bold;\n current.fontStyle = italic;\n current.tspan = this.svgFactory.createElement(\"svg:tspan\");\n current.tspan.setAttributeNS(null, \"y\", pf(-current.y));\n current.xcoords = [];\n current.ycoords = [];\n }\n endText() {\n const current = this.current;\n if (current.textRenderingMode & _util.TextRenderingMode.ADD_TO_PATH_FLAG && current.txtElement?.hasChildNodes()) {\n current.element = current.txtElement;\n this.clip(\"nonzero\");\n this.endPath();\n }\n }\n setLineWidth(width) {\n if (width > 0) {\n this.current.lineWidth = width;\n }\n }\n setLineCap(style) {\n this.current.lineCap = LINE_CAP_STYLES[style];\n }\n setLineJoin(style) {\n this.current.lineJoin = LINE_JOIN_STYLES[style];\n }\n setMiterLimit(limit) {\n this.current.miterLimit = limit;\n }\n setStrokeAlpha(strokeAlpha) {\n this.current.strokeAlpha = strokeAlpha;\n }\n setStrokeRGBColor(r, g, b) {\n this.current.strokeColor = _util.Util.makeHexColor(r, g, b);\n }\n setFillAlpha(fillAlpha) {\n this.current.fillAlpha = fillAlpha;\n }\n setFillRGBColor(r, g, b) {\n this.current.fillColor = _util.Util.makeHexColor(r, g, b);\n this.current.tspan = this.svgFactory.createElement(\"svg:tspan\");\n this.current.xcoords = [];\n this.current.ycoords = [];\n }\n setStrokeColorN(args) {\n this.current.strokeColor = this._makeColorN_Pattern(args);\n }\n setFillColorN(args) {\n this.current.fillColor = this._makeColorN_Pattern(args);\n }\n shadingFill(args) {\n const width = this.viewport.width;\n const height = this.viewport.height;\n const inv = _util.Util.inverseTransform(this.transformMatrix);\n const bl = _util.Util.applyTransform([0, 0], inv);\n const br = _util.Util.applyTransform([0, height], inv);\n const ul = _util.Util.applyTransform([width, 0], inv);\n const ur = _util.Util.applyTransform([width, height], inv);\n const x0 = Math.min(bl[0], br[0], ul[0], ur[0]);\n const y0 = Math.min(bl[1], br[1], ul[1], ur[1]);\n const x1 = Math.max(bl[0], br[0], ul[0], ur[0]);\n const y1 = Math.max(bl[1], br[1], ul[1], ur[1]);\n const rect = this.svgFactory.createElement(\"svg:rect\");\n rect.setAttributeNS(null, \"x\", x0);\n rect.setAttributeNS(null, \"y\", y0);\n rect.setAttributeNS(null, \"width\", x1 - x0);\n rect.setAttributeNS(null, \"height\", y1 - y0);\n rect.setAttributeNS(null, \"fill\", this._makeShadingPattern(args));\n if (this.current.fillAlpha < 1) {\n rect.setAttributeNS(null, \"fill-opacity\", this.current.fillAlpha);\n }\n this._ensureTransformGroup().append(rect);\n }\n _makeColorN_Pattern(args) {\n if (args[0] === \"TilingPattern\") {\n return this._makeTilingPattern(args);\n }\n return this._makeShadingPattern(args);\n }\n _makeTilingPattern(args) {\n const color = args[1];\n const operatorList = args[2];\n const matrix = args[3] || _util.IDENTITY_MATRIX;\n const [x0, y0, x1, y1] = args[4];\n const xstep = args[5];\n const ystep = args[6];\n const paintType = args[7];\n const tilingId = `shading${shadingCount++}`;\n const [tx0, ty0, tx1, ty1] = _util.Util.normalizeRect([..._util.Util.applyTransform([x0, y0], matrix), ..._util.Util.applyTransform([x1, y1], matrix)]);\n const [xscale, yscale] = _util.Util.singularValueDecompose2dScale(matrix);\n const txstep = xstep * xscale;\n const tystep = ystep * yscale;\n const tiling = this.svgFactory.createElement(\"svg:pattern\");\n tiling.setAttributeNS(null, \"id\", tilingId);\n tiling.setAttributeNS(null, \"patternUnits\", \"userSpaceOnUse\");\n tiling.setAttributeNS(null, \"width\", txstep);\n tiling.setAttributeNS(null, \"height\", tystep);\n tiling.setAttributeNS(null, \"x\", `${tx0}`);\n tiling.setAttributeNS(null, \"y\", `${ty0}`);\n const svg = this.svg;\n const transformMatrix = this.transformMatrix;\n const fillColor = this.current.fillColor;\n const strokeColor = this.current.strokeColor;\n const bbox = this.svgFactory.create(tx1 - tx0, ty1 - ty0);\n this.svg = bbox;\n this.transformMatrix = matrix;\n if (paintType === 2) {\n const cssColor = _util.Util.makeHexColor(...color);\n this.current.fillColor = cssColor;\n this.current.strokeColor = cssColor;\n }\n this.executeOpTree(this.convertOpList(operatorList));\n this.svg = svg;\n this.transformMatrix = transformMatrix;\n this.current.fillColor = fillColor;\n this.current.strokeColor = strokeColor;\n tiling.append(bbox.childNodes[0]);\n this.defs.append(tiling);\n return `url(#${tilingId})`;\n }\n _makeShadingPattern(args) {\n if (typeof args === \"string\") {\n args = this.objs.get(args);\n }\n switch (args[0]) {\n case \"RadialAxial\":\n const shadingId = `shading${shadingCount++}`;\n const colorStops = args[3];\n let gradient;\n switch (args[1]) {\n case \"axial\":\n const point0 = args[4];\n const point1 = args[5];\n gradient = this.svgFactory.createElement(\"svg:linearGradient\");\n gradient.setAttributeNS(null, \"id\", shadingId);\n gradient.setAttributeNS(null, \"gradientUnits\", \"userSpaceOnUse\");\n gradient.setAttributeNS(null, \"x1\", point0[0]);\n gradient.setAttributeNS(null, \"y1\", point0[1]);\n gradient.setAttributeNS(null, \"x2\", point1[0]);\n gradient.setAttributeNS(null, \"y2\", point1[1]);\n break;\n case \"radial\":\n const focalPoint = args[4];\n const circlePoint = args[5];\n const focalRadius = args[6];\n const circleRadius = args[7];\n gradient = this.svgFactory.createElement(\"svg:radialGradient\");\n gradient.setAttributeNS(null, \"id\", shadingId);\n gradient.setAttributeNS(null, \"gradientUnits\", \"userSpaceOnUse\");\n gradient.setAttributeNS(null, \"cx\", circlePoint[0]);\n gradient.setAttributeNS(null, \"cy\", circlePoint[1]);\n gradient.setAttributeNS(null, \"r\", circleRadius);\n gradient.setAttributeNS(null, \"fx\", focalPoint[0]);\n gradient.setAttributeNS(null, \"fy\", focalPoint[1]);\n gradient.setAttributeNS(null, \"fr\", focalRadius);\n break;\n default:\n throw new Error(`Unknown RadialAxial type: ${args[1]}`);\n }\n for (const colorStop of colorStops) {\n const stop = this.svgFactory.createElement(\"svg:stop\");\n stop.setAttributeNS(null, \"offset\", colorStop[0]);\n stop.setAttributeNS(null, \"stop-color\", colorStop[1]);\n gradient.append(stop);\n }\n this.defs.append(gradient);\n return `url(#${shadingId})`;\n case \"Mesh\":\n (0, _util.warn)(\"Unimplemented pattern Mesh\");\n return null;\n case \"Dummy\":\n return \"hotpink\";\n default:\n throw new Error(`Unknown IR type: ${args[0]}`);\n }\n }\n setDash(dashArray, dashPhase) {\n this.current.dashArray = dashArray;\n this.current.dashPhase = dashPhase;\n }\n constructPath(ops, args) {\n const current = this.current;\n let x = current.x,\n y = current.y;\n let d = [];\n let j = 0;\n for (const op of ops) {\n switch (op | 0) {\n case _util.OPS.rectangle:\n x = args[j++];\n y = args[j++];\n const width = args[j++];\n const height = args[j++];\n const xw = x + width;\n const yh = y + height;\n d.push(\"M\", pf(x), pf(y), \"L\", pf(xw), pf(y), \"L\", pf(xw), pf(yh), \"L\", pf(x), pf(yh), \"Z\");\n break;\n case _util.OPS.moveTo:\n x = args[j++];\n y = args[j++];\n d.push(\"M\", pf(x), pf(y));\n break;\n case _util.OPS.lineTo:\n x = args[j++];\n y = args[j++];\n d.push(\"L\", pf(x), pf(y));\n break;\n case _util.OPS.curveTo:\n x = args[j + 4];\n y = args[j + 5];\n d.push(\"C\", pf(args[j]), pf(args[j + 1]), pf(args[j + 2]), pf(args[j + 3]), pf(x), pf(y));\n j += 6;\n break;\n case _util.OPS.curveTo2:\n d.push(\"C\", pf(x), pf(y), pf(args[j]), pf(args[j + 1]), pf(args[j + 2]), pf(args[j + 3]));\n x = args[j + 2];\n y = args[j + 3];\n j += 4;\n break;\n case _util.OPS.curveTo3:\n x = args[j + 2];\n y = args[j + 3];\n d.push(\"C\", pf(args[j]), pf(args[j + 1]), pf(x), pf(y), pf(x), pf(y));\n j += 4;\n break;\n case _util.OPS.closePath:\n d.push(\"Z\");\n break;\n }\n }\n d = d.join(\" \");\n if (current.path && ops.length > 0 && ops[0] !== _util.OPS.rectangle && ops[0] !== _util.OPS.moveTo) {\n d = current.path.getAttributeNS(null, \"d\") + d;\n } else {\n current.path = this.svgFactory.createElement(\"svg:path\");\n this._ensureTransformGroup().append(current.path);\n }\n current.path.setAttributeNS(null, \"d\", d);\n current.path.setAttributeNS(null, \"fill\", \"none\");\n current.element = current.path;\n current.setCurrentPoint(x, y);\n }\n endPath() {\n const current = this.current;\n current.path = null;\n if (!this.pendingClip) {\n return;\n }\n if (!current.element) {\n this.pendingClip = null;\n return;\n }\n const clipId = `clippath${clipCount++}`;\n const clipPath = this.svgFactory.createElement(\"svg:clipPath\");\n clipPath.setAttributeNS(null, \"id\", clipId);\n clipPath.setAttributeNS(null, \"transform\", pm(this.transformMatrix));\n const clipElement = current.element.cloneNode(true);\n if (this.pendingClip === \"evenodd\") {\n clipElement.setAttributeNS(null, \"clip-rule\", \"evenodd\");\n } else {\n clipElement.setAttributeNS(null, \"clip-rule\", \"nonzero\");\n }\n this.pendingClip = null;\n clipPath.append(clipElement);\n this.defs.append(clipPath);\n if (current.activeClipUrl) {\n current.clipGroup = null;\n for (const prev of this.extraStack) {\n prev.clipGroup = null;\n }\n clipPath.setAttributeNS(null, \"clip-path\", current.activeClipUrl);\n }\n current.activeClipUrl = `url(#${clipId})`;\n this.tgrp = null;\n }\n clip(type) {\n this.pendingClip = type;\n }\n closePath() {\n const current = this.current;\n if (current.path) {\n const d = `${current.path.getAttributeNS(null, \"d\")}Z`;\n current.path.setAttributeNS(null, \"d\", d);\n }\n }\n setLeading(leading) {\n this.current.leading = -leading;\n }\n setTextRise(textRise) {\n this.current.textRise = textRise;\n }\n setTextRenderingMode(textRenderingMode) {\n this.current.textRenderingMode = textRenderingMode;\n }\n setHScale(scale) {\n this.current.textHScale = scale / 100;\n }\n setRenderingIntent(intent) {}\n setFlatness(flatness) {}\n setGState(states) {\n for (const [key, value] of states) {\n switch (key) {\n case \"LW\":\n this.setLineWidth(value);\n break;\n case \"LC\":\n this.setLineCap(value);\n break;\n case \"LJ\":\n this.setLineJoin(value);\n break;\n case \"ML\":\n this.setMiterLimit(value);\n break;\n case \"D\":\n this.setDash(value[0], value[1]);\n break;\n case \"RI\":\n this.setRenderingIntent(value);\n break;\n case \"FL\":\n this.setFlatness(value);\n break;\n case \"Font\":\n this.setFont(value);\n break;\n case \"CA\":\n this.setStrokeAlpha(value);\n break;\n case \"ca\":\n this.setFillAlpha(value);\n break;\n default:\n (0, _util.warn)(`Unimplemented graphic state operator ${key}`);\n break;\n }\n }\n }\n fill() {\n const current = this.current;\n if (current.element) {\n current.element.setAttributeNS(null, \"fill\", current.fillColor);\n current.element.setAttributeNS(null, \"fill-opacity\", current.fillAlpha);\n this.endPath();\n }\n }\n stroke() {\n const current = this.current;\n if (current.element) {\n this._setStrokeAttributes(current.element);\n current.element.setAttributeNS(null, \"fill\", \"none\");\n this.endPath();\n }\n }\n _setStrokeAttributes(element, lineWidthScale = 1) {\n const current = this.current;\n let dashArray = current.dashArray;\n if (lineWidthScale !== 1 && dashArray.length > 0) {\n dashArray = dashArray.map(function (value) {\n return lineWidthScale * value;\n });\n }\n element.setAttributeNS(null, \"stroke\", current.strokeColor);\n element.setAttributeNS(null, \"stroke-opacity\", current.strokeAlpha);\n element.setAttributeNS(null, \"stroke-miterlimit\", pf(current.miterLimit));\n element.setAttributeNS(null, \"stroke-linecap\", current.lineCap);\n element.setAttributeNS(null, \"stroke-linejoin\", current.lineJoin);\n element.setAttributeNS(null, \"stroke-width\", pf(lineWidthScale * current.lineWidth) + \"px\");\n element.setAttributeNS(null, \"stroke-dasharray\", dashArray.map(pf).join(\" \"));\n element.setAttributeNS(null, \"stroke-dashoffset\", pf(lineWidthScale * current.dashPhase) + \"px\");\n }\n eoFill() {\n this.current.element?.setAttributeNS(null, \"fill-rule\", \"evenodd\");\n this.fill();\n }\n fillStroke() {\n this.stroke();\n this.fill();\n }\n eoFillStroke() {\n this.current.element?.setAttributeNS(null, \"fill-rule\", \"evenodd\");\n this.fillStroke();\n }\n closeStroke() {\n this.closePath();\n this.stroke();\n }\n closeFillStroke() {\n this.closePath();\n this.fillStroke();\n }\n closeEOFillStroke() {\n this.closePath();\n this.eoFillStroke();\n }\n paintSolidColorImageMask() {\n const rect = this.svgFactory.createElement(\"svg:rect\");\n rect.setAttributeNS(null, \"x\", \"0\");\n rect.setAttributeNS(null, \"y\", \"0\");\n rect.setAttributeNS(null, \"width\", \"1px\");\n rect.setAttributeNS(null, \"height\", \"1px\");\n rect.setAttributeNS(null, \"fill\", this.current.fillColor);\n this._ensureTransformGroup().append(rect);\n }\n paintImageXObject(objId) {\n const imgData = this.getObject(objId);\n if (!imgData) {\n (0, _util.warn)(`Dependent image with object ID ${objId} is not ready yet`);\n return;\n }\n this.paintInlineImageXObject(imgData);\n }\n paintInlineImageXObject(imgData, mask) {\n const width = imgData.width;\n const height = imgData.height;\n const imgSrc = convertImgDataToPng(imgData, this.forceDataSchema, !!mask);\n const cliprect = this.svgFactory.createElement(\"svg:rect\");\n cliprect.setAttributeNS(null, \"x\", \"0\");\n cliprect.setAttributeNS(null, \"y\", \"0\");\n cliprect.setAttributeNS(null, \"width\", pf(width));\n cliprect.setAttributeNS(null, \"height\", pf(height));\n this.current.element = cliprect;\n this.clip(\"nonzero\");\n const imgEl = this.svgFactory.createElement(\"svg:image\");\n imgEl.setAttributeNS(XLINK_NS, \"xlink:href\", imgSrc);\n imgEl.setAttributeNS(null, \"x\", \"0\");\n imgEl.setAttributeNS(null, \"y\", pf(-height));\n imgEl.setAttributeNS(null, \"width\", pf(width) + \"px\");\n imgEl.setAttributeNS(null, \"height\", pf(height) + \"px\");\n imgEl.setAttributeNS(null, \"transform\", `scale(${pf(1 / width)} ${pf(-1 / height)})`);\n if (mask) {\n mask.append(imgEl);\n } else {\n this._ensureTransformGroup().append(imgEl);\n }\n }\n paintImageMaskXObject(img) {\n const imgData = this.getObject(img.data, img);\n if (imgData.bitmap) {\n (0, _util.warn)(\"paintImageMaskXObject: ImageBitmap support is not implemented, \" + \"ensure that the `isOffscreenCanvasSupported` API parameter is disabled.\");\n return;\n }\n const current = this.current;\n const width = imgData.width;\n const height = imgData.height;\n const fillColor = current.fillColor;\n current.maskId = `mask${maskCount++}`;\n const mask = this.svgFactory.createElement(\"svg:mask\");\n mask.setAttributeNS(null, \"id\", current.maskId);\n const rect = this.svgFactory.createElement(\"svg:rect\");\n rect.setAttributeNS(null, \"x\", \"0\");\n rect.setAttributeNS(null, \"y\", \"0\");\n rect.setAttributeNS(null, \"width\", pf(width));\n rect.setAttributeNS(null, \"height\", pf(height));\n rect.setAttributeNS(null, \"fill\", fillColor);\n rect.setAttributeNS(null, \"mask\", `url(#${current.maskId})`);\n this.defs.append(mask);\n this._ensureTransformGroup().append(rect);\n this.paintInlineImageXObject(imgData, mask);\n }\n paintFormXObjectBegin(matrix, bbox) {\n if (Array.isArray(matrix) && matrix.length === 6) {\n this.transform(matrix[0], matrix[1], matrix[2], matrix[3], matrix[4], matrix[5]);\n }\n if (bbox) {\n const width = bbox[2] - bbox[0];\n const height = bbox[3] - bbox[1];\n const cliprect = this.svgFactory.createElement(\"svg:rect\");\n cliprect.setAttributeNS(null, \"x\", bbox[0]);\n cliprect.setAttributeNS(null, \"y\", bbox[1]);\n cliprect.setAttributeNS(null, \"width\", pf(width));\n cliprect.setAttributeNS(null, \"height\", pf(height));\n this.current.element = cliprect;\n this.clip(\"nonzero\");\n this.endPath();\n }\n }\n paintFormXObjectEnd() {}\n _initialize(viewport) {\n const svg = this.svgFactory.create(viewport.width, viewport.height);\n const definitions = this.svgFactory.createElement(\"svg:defs\");\n svg.append(definitions);\n this.defs = definitions;\n const rootGroup = this.svgFactory.createElement(\"svg:g\");\n rootGroup.setAttributeNS(null, \"transform\", pm(viewport.transform));\n svg.append(rootGroup);\n this.svg = rootGroup;\n return svg;\n }\n _ensureClipGroup() {\n if (!this.current.clipGroup) {\n const clipGroup = this.svgFactory.createElement(\"svg:g\");\n clipGroup.setAttributeNS(null, \"clip-path\", this.current.activeClipUrl);\n this.svg.append(clipGroup);\n this.current.clipGroup = clipGroup;\n }\n return this.current.clipGroup;\n }\n _ensureTransformGroup() {\n if (!this.tgrp) {\n this.tgrp = this.svgFactory.createElement(\"svg:g\");\n this.tgrp.setAttributeNS(null, \"transform\", pm(this.transformMatrix));\n if (this.current.activeClipUrl) {\n this._ensureClipGroup().append(this.tgrp);\n } else {\n this.svg.append(this.tgrp);\n }\n }\n return this.tgrp;\n }\n };\n}\n\n/***/ })\n/******/ \t]);\n/************************************************************************/\n/******/ \t// The module cache\n/******/ \tvar __webpack_module_cache__ = {};\n/******/ \t\n/******/ \t// The require function\n/******/ \tfunction __w_pdfjs_require__(moduleId) {\n/******/ \t\t// Check if module is in cache\n/******/ \t\tvar cachedModule = __webpack_module_cache__[moduleId];\n/******/ \t\tif (cachedModule !== undefined) {\n/******/ \t\t\treturn cachedModule.exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = __webpack_module_cache__[moduleId] = {\n/******/ \t\t\t// no module.id needed\n/******/ \t\t\t// no module.loaded needed\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/ \t\n/******/ \t\t// Execute the module function\n/******/ \t\t__webpack_modules__[moduleId](module, module.exports, __w_pdfjs_require__);\n/******/ \t\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/ \t\n/************************************************************************/\nvar __webpack_exports__ = {};\n// This entry need to be wrapped in an IIFE because it need to be isolated against other modules in the chunk.\n(() => {\nvar exports = __webpack_exports__;\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"AbortException\", ({\n enumerable: true,\n get: function () {\n return _util.AbortException;\n }\n}));\nObject.defineProperty(exports, \"AnnotationEditorLayer\", ({\n enumerable: true,\n get: function () {\n return _annotation_editor_layer.AnnotationEditorLayer;\n }\n}));\nObject.defineProperty(exports, \"AnnotationEditorParamsType\", ({\n enumerable: true,\n get: function () {\n return _util.AnnotationEditorParamsType;\n }\n}));\nObject.defineProperty(exports, \"AnnotationEditorType\", ({\n enumerable: true,\n get: function () {\n return _util.AnnotationEditorType;\n }\n}));\nObject.defineProperty(exports, \"AnnotationEditorUIManager\", ({\n enumerable: true,\n get: function () {\n return _tools.AnnotationEditorUIManager;\n }\n}));\nObject.defineProperty(exports, \"AnnotationLayer\", ({\n enumerable: true,\n get: function () {\n return _annotation_layer.AnnotationLayer;\n }\n}));\nObject.defineProperty(exports, \"AnnotationMode\", ({\n enumerable: true,\n get: function () {\n return _util.AnnotationMode;\n }\n}));\nObject.defineProperty(exports, \"CMapCompressionType\", ({\n enumerable: true,\n get: function () {\n return _util.CMapCompressionType;\n }\n}));\nObject.defineProperty(exports, \"FeatureTest\", ({\n enumerable: true,\n get: function () {\n return _util.FeatureTest;\n }\n}));\nObject.defineProperty(exports, \"GlobalWorkerOptions\", ({\n enumerable: true,\n get: function () {\n return _worker_options.GlobalWorkerOptions;\n }\n}));\nObject.defineProperty(exports, \"InvalidPDFException\", ({\n enumerable: true,\n get: function () {\n return _util.InvalidPDFException;\n }\n}));\nObject.defineProperty(exports, \"MissingPDFException\", ({\n enumerable: true,\n get: function () {\n return _util.MissingPDFException;\n }\n}));\nObject.defineProperty(exports, \"OPS\", ({\n enumerable: true,\n get: function () {\n return _util.OPS;\n }\n}));\nObject.defineProperty(exports, \"PDFDataRangeTransport\", ({\n enumerable: true,\n get: function () {\n return _api.PDFDataRangeTransport;\n }\n}));\nObject.defineProperty(exports, \"PDFDateString\", ({\n enumerable: true,\n get: function () {\n return _display_utils.PDFDateString;\n }\n}));\nObject.defineProperty(exports, \"PDFWorker\", ({\n enumerable: true,\n get: function () {\n return _api.PDFWorker;\n }\n}));\nObject.defineProperty(exports, \"PasswordResponses\", ({\n enumerable: true,\n get: function () {\n return _util.PasswordResponses;\n }\n}));\nObject.defineProperty(exports, \"PermissionFlag\", ({\n enumerable: true,\n get: function () {\n return _util.PermissionFlag;\n }\n}));\nObject.defineProperty(exports, \"PixelsPerInch\", ({\n enumerable: true,\n get: function () {\n return _display_utils.PixelsPerInch;\n }\n}));\nObject.defineProperty(exports, \"PromiseCapability\", ({\n enumerable: true,\n get: function () {\n return _util.PromiseCapability;\n }\n}));\nObject.defineProperty(exports, \"RenderingCancelledException\", ({\n enumerable: true,\n get: function () {\n return _display_utils.RenderingCancelledException;\n }\n}));\nObject.defineProperty(exports, \"SVGGraphics\", ({\n enumerable: true,\n get: function () {\n return _svg.SVGGraphics;\n }\n}));\nObject.defineProperty(exports, \"UnexpectedResponseException\", ({\n enumerable: true,\n get: function () {\n return _util.UnexpectedResponseException;\n }\n}));\nObject.defineProperty(exports, \"Util\", ({\n enumerable: true,\n get: function () {\n return _util.Util;\n }\n}));\nObject.defineProperty(exports, \"VerbosityLevel\", ({\n enumerable: true,\n get: function () {\n return _util.VerbosityLevel;\n }\n}));\nObject.defineProperty(exports, \"XfaLayer\", ({\n enumerable: true,\n get: function () {\n return _xfa_layer.XfaLayer;\n }\n}));\nObject.defineProperty(exports, \"build\", ({\n enumerable: true,\n get: function () {\n return _api.build;\n }\n}));\nObject.defineProperty(exports, \"createValidAbsoluteUrl\", ({\n enumerable: true,\n get: function () {\n return _util.createValidAbsoluteUrl;\n }\n}));\nObject.defineProperty(exports, \"getDocument\", ({\n enumerable: true,\n get: function () {\n return _api.getDocument;\n }\n}));\nObject.defineProperty(exports, \"getFilenameFromUrl\", ({\n enumerable: true,\n get: function () {\n return _display_utils.getFilenameFromUrl;\n }\n}));\nObject.defineProperty(exports, \"getPdfFilenameFromUrl\", ({\n enumerable: true,\n get: function () {\n return _display_utils.getPdfFilenameFromUrl;\n }\n}));\nObject.defineProperty(exports, \"getXfaPageViewport\", ({\n enumerable: true,\n get: function () {\n return _display_utils.getXfaPageViewport;\n }\n}));\nObject.defineProperty(exports, \"isDataScheme\", ({\n enumerable: true,\n get: function () {\n return _display_utils.isDataScheme;\n }\n}));\nObject.defineProperty(exports, \"isPdfFile\", ({\n enumerable: true,\n get: function () {\n return _display_utils.isPdfFile;\n }\n}));\nObject.defineProperty(exports, \"loadScript\", ({\n enumerable: true,\n get: function () {\n return _display_utils.loadScript;\n }\n}));\nObject.defineProperty(exports, \"normalizeUnicode\", ({\n enumerable: true,\n get: function () {\n return _util.normalizeUnicode;\n }\n}));\nObject.defineProperty(exports, \"renderTextLayer\", ({\n enumerable: true,\n get: function () {\n return _text_layer.renderTextLayer;\n }\n}));\nObject.defineProperty(exports, \"setLayerDimensions\", ({\n enumerable: true,\n get: function () {\n return _display_utils.setLayerDimensions;\n }\n}));\nObject.defineProperty(exports, \"shadow\", ({\n enumerable: true,\n get: function () {\n return _util.shadow;\n }\n}));\nObject.defineProperty(exports, \"updateTextLayer\", ({\n enumerable: true,\n get: function () {\n return _text_layer.updateTextLayer;\n }\n}));\nObject.defineProperty(exports, \"version\", ({\n enumerable: true,\n get: function () {\n return _api.version;\n }\n}));\nvar _util = __w_pdfjs_require__(1);\nvar _api = __w_pdfjs_require__(2);\nvar _display_utils = __w_pdfjs_require__(6);\nvar _text_layer = __w_pdfjs_require__(26);\nvar _annotation_editor_layer = __w_pdfjs_require__(27);\nvar _tools = __w_pdfjs_require__(5);\nvar _annotation_layer = __w_pdfjs_require__(32);\nvar _worker_options = __w_pdfjs_require__(14);\nvar _svg = __w_pdfjs_require__(35);\nvar _xfa_layer = __w_pdfjs_require__(34);\nconst pdfjsVersion = '3.6.172';\nconst pdfjsBuild = '4d3dfe254';\n})();\n\n/******/ \treturn __webpack_exports__;\n/******/ })()\n;\n});\n//# sourceMappingURL=pdf.js.map","/**\n * @licstart The following is the entire license notice for the\n * JavaScript code in this page\n *\n * Copyright 2023 Mozilla Foundation\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n * @licend The above is the entire license notice for the\n * JavaScript code in this page\n */\n\n(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine(\"pdfjs-dist/web/pdf_viewer\", [], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"pdfjs-dist/web/pdf_viewer\"] = factory();\n\telse\n\t\troot[\"pdfjs-dist/web/pdf_viewer\"] = root.pdfjsViewer = factory();\n})(globalThis, () => {\nreturn /******/ (() => { // webpackBootstrap\n/******/ \t\"use strict\";\n/******/ \tvar __webpack_modules__ = ([\n/* 0 */,\n/* 1 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.SimpleLinkService = exports.PDFLinkService = exports.LinkTarget = void 0;\nvar _ui_utils = __w_pdfjs_require__(2);\nconst DEFAULT_LINK_REL = \"noopener noreferrer nofollow\";\nconst LinkTarget = {\n NONE: 0,\n SELF: 1,\n BLANK: 2,\n PARENT: 3,\n TOP: 4\n};\nexports.LinkTarget = LinkTarget;\nfunction addLinkAttributes(link, {\n url,\n target,\n rel,\n enabled = true\n} = {}) {\n if (!url || typeof url !== \"string\") {\n throw new Error('A valid \"url\" parameter must provided.');\n }\n const urlNullRemoved = (0, _ui_utils.removeNullCharacters)(url);\n if (enabled) {\n link.href = link.title = urlNullRemoved;\n } else {\n link.href = \"\";\n link.title = `Disabled: ${urlNullRemoved}`;\n link.onclick = () => {\n return false;\n };\n }\n let targetStr = \"\";\n switch (target) {\n case LinkTarget.NONE:\n break;\n case LinkTarget.SELF:\n targetStr = \"_self\";\n break;\n case LinkTarget.BLANK:\n targetStr = \"_blank\";\n break;\n case LinkTarget.PARENT:\n targetStr = \"_parent\";\n break;\n case LinkTarget.TOP:\n targetStr = \"_top\";\n break;\n }\n link.target = targetStr;\n link.rel = typeof rel === \"string\" ? rel : DEFAULT_LINK_REL;\n}\nclass PDFLinkService {\n #pagesRefCache = new Map();\n constructor({\n eventBus,\n externalLinkTarget = null,\n externalLinkRel = null,\n ignoreDestinationZoom = false\n } = {}) {\n this.eventBus = eventBus;\n this.externalLinkTarget = externalLinkTarget;\n this.externalLinkRel = externalLinkRel;\n this.externalLinkEnabled = true;\n this._ignoreDestinationZoom = ignoreDestinationZoom;\n this.baseUrl = null;\n this.pdfDocument = null;\n this.pdfViewer = null;\n this.pdfHistory = null;\n }\n setDocument(pdfDocument, baseUrl = null) {\n this.baseUrl = baseUrl;\n this.pdfDocument = pdfDocument;\n this.#pagesRefCache.clear();\n }\n setViewer(pdfViewer) {\n this.pdfViewer = pdfViewer;\n }\n setHistory(pdfHistory) {\n this.pdfHistory = pdfHistory;\n }\n get pagesCount() {\n return this.pdfDocument ? this.pdfDocument.numPages : 0;\n }\n get page() {\n return this.pdfViewer.currentPageNumber;\n }\n set page(value) {\n this.pdfViewer.currentPageNumber = value;\n }\n get rotation() {\n return this.pdfViewer.pagesRotation;\n }\n set rotation(value) {\n this.pdfViewer.pagesRotation = value;\n }\n get isInPresentationMode() {\n return this.pdfViewer.isInPresentationMode;\n }\n #goToDestinationHelper(rawDest, namedDest = null, explicitDest) {\n const destRef = explicitDest[0];\n let pageNumber;\n if (typeof destRef === \"object\" && destRef !== null) {\n pageNumber = this._cachedPageNumber(destRef);\n if (!pageNumber) {\n this.pdfDocument.getPageIndex(destRef).then(pageIndex => {\n this.cachePageRef(pageIndex + 1, destRef);\n this.#goToDestinationHelper(rawDest, namedDest, explicitDest);\n }).catch(() => {\n console.error(`PDFLinkService.#goToDestinationHelper: \"${destRef}\" is not ` + `a valid page reference, for dest=\"${rawDest}\".`);\n });\n return;\n }\n } else if (Number.isInteger(destRef)) {\n pageNumber = destRef + 1;\n } else {\n console.error(`PDFLinkService.#goToDestinationHelper: \"${destRef}\" is not ` + `a valid destination reference, for dest=\"${rawDest}\".`);\n return;\n }\n if (!pageNumber || pageNumber < 1 || pageNumber > this.pagesCount) {\n console.error(`PDFLinkService.#goToDestinationHelper: \"${pageNumber}\" is not ` + `a valid page number, for dest=\"${rawDest}\".`);\n return;\n }\n if (this.pdfHistory) {\n this.pdfHistory.pushCurrentPosition();\n this.pdfHistory.push({\n namedDest,\n explicitDest,\n pageNumber\n });\n }\n this.pdfViewer.scrollPageIntoView({\n pageNumber,\n destArray: explicitDest,\n ignoreDestinationZoom: this._ignoreDestinationZoom\n });\n }\n async goToDestination(dest) {\n if (!this.pdfDocument) {\n return;\n }\n let namedDest, explicitDest;\n if (typeof dest === \"string\") {\n namedDest = dest;\n explicitDest = await this.pdfDocument.getDestination(dest);\n } else {\n namedDest = null;\n explicitDest = await dest;\n }\n if (!Array.isArray(explicitDest)) {\n console.error(`PDFLinkService.goToDestination: \"${explicitDest}\" is not ` + `a valid destination array, for dest=\"${dest}\".`);\n return;\n }\n this.#goToDestinationHelper(dest, namedDest, explicitDest);\n }\n goToPage(val) {\n if (!this.pdfDocument) {\n return;\n }\n const pageNumber = typeof val === \"string\" && this.pdfViewer.pageLabelToPageNumber(val) || val | 0;\n if (!(Number.isInteger(pageNumber) && pageNumber > 0 && pageNumber <= this.pagesCount)) {\n console.error(`PDFLinkService.goToPage: \"${val}\" is not a valid page.`);\n return;\n }\n if (this.pdfHistory) {\n this.pdfHistory.pushCurrentPosition();\n this.pdfHistory.pushPage(pageNumber);\n }\n this.pdfViewer.scrollPageIntoView({\n pageNumber\n });\n }\n addLinkAttributes(link, url, newWindow = false) {\n addLinkAttributes(link, {\n url,\n target: newWindow ? LinkTarget.BLANK : this.externalLinkTarget,\n rel: this.externalLinkRel,\n enabled: this.externalLinkEnabled\n });\n }\n getDestinationHash(dest) {\n if (typeof dest === \"string\") {\n if (dest.length > 0) {\n return this.getAnchorUrl(\"#\" + escape(dest));\n }\n } else if (Array.isArray(dest)) {\n const str = JSON.stringify(dest);\n if (str.length > 0) {\n return this.getAnchorUrl(\"#\" + escape(str));\n }\n }\n return this.getAnchorUrl(\"\");\n }\n getAnchorUrl(anchor) {\n return this.baseUrl ? this.baseUrl + anchor : anchor;\n }\n setHash(hash) {\n if (!this.pdfDocument) {\n return;\n }\n let pageNumber, dest;\n if (hash.includes(\"=\")) {\n const params = (0, _ui_utils.parseQueryString)(hash);\n if (params.has(\"search\")) {\n const query = params.get(\"search\").replaceAll('\"', \"\"),\n phrase = params.get(\"phrase\") === \"true\";\n this.eventBus.dispatch(\"findfromurlhash\", {\n source: this,\n query: phrase ? query : query.match(/\\S+/g)\n });\n }\n if (params.has(\"page\")) {\n pageNumber = params.get(\"page\") | 0 || 1;\n }\n if (params.has(\"zoom\")) {\n const zoomArgs = params.get(\"zoom\").split(\",\");\n const zoomArg = zoomArgs[0];\n const zoomArgNumber = parseFloat(zoomArg);\n if (!zoomArg.includes(\"Fit\")) {\n dest = [null, {\n name: \"XYZ\"\n }, zoomArgs.length > 1 ? zoomArgs[1] | 0 : null, zoomArgs.length > 2 ? zoomArgs[2] | 0 : null, zoomArgNumber ? zoomArgNumber / 100 : zoomArg];\n } else {\n if (zoomArg === \"Fit\" || zoomArg === \"FitB\") {\n dest = [null, {\n name: zoomArg\n }];\n } else if (zoomArg === \"FitH\" || zoomArg === \"FitBH\" || zoomArg === \"FitV\" || zoomArg === \"FitBV\") {\n dest = [null, {\n name: zoomArg\n }, zoomArgs.length > 1 ? zoomArgs[1] | 0 : null];\n } else if (zoomArg === \"FitR\") {\n if (zoomArgs.length !== 5) {\n console.error('PDFLinkService.setHash: Not enough parameters for \"FitR\".');\n } else {\n dest = [null, {\n name: zoomArg\n }, zoomArgs[1] | 0, zoomArgs[2] | 0, zoomArgs[3] | 0, zoomArgs[4] | 0];\n }\n } else {\n console.error(`PDFLinkService.setHash: \"${zoomArg}\" is not a valid zoom value.`);\n }\n }\n }\n if (dest) {\n this.pdfViewer.scrollPageIntoView({\n pageNumber: pageNumber || this.page,\n destArray: dest,\n allowNegativeOffset: true\n });\n } else if (pageNumber) {\n this.page = pageNumber;\n }\n if (params.has(\"pagemode\")) {\n this.eventBus.dispatch(\"pagemode\", {\n source: this,\n mode: params.get(\"pagemode\")\n });\n }\n if (params.has(\"nameddest\")) {\n this.goToDestination(params.get(\"nameddest\"));\n }\n } else {\n dest = unescape(hash);\n try {\n dest = JSON.parse(dest);\n if (!Array.isArray(dest)) {\n dest = dest.toString();\n }\n } catch (ex) {}\n if (typeof dest === \"string\" || PDFLinkService.#isValidExplicitDestination(dest)) {\n this.goToDestination(dest);\n return;\n }\n console.error(`PDFLinkService.setHash: \"${unescape(hash)}\" is not a valid destination.`);\n }\n }\n executeNamedAction(action) {\n switch (action) {\n case \"GoBack\":\n this.pdfHistory?.back();\n break;\n case \"GoForward\":\n this.pdfHistory?.forward();\n break;\n case \"NextPage\":\n this.pdfViewer.nextPage();\n break;\n case \"PrevPage\":\n this.pdfViewer.previousPage();\n break;\n case \"LastPage\":\n this.page = this.pagesCount;\n break;\n case \"FirstPage\":\n this.page = 1;\n break;\n default:\n break;\n }\n this.eventBus.dispatch(\"namedaction\", {\n source: this,\n action\n });\n }\n async executeSetOCGState(action) {\n const pdfDocument = this.pdfDocument;\n const optionalContentConfig = await this.pdfViewer.optionalContentConfigPromise;\n if (pdfDocument !== this.pdfDocument) {\n return;\n }\n let operator;\n for (const elem of action.state) {\n switch (elem) {\n case \"ON\":\n case \"OFF\":\n case \"Toggle\":\n operator = elem;\n continue;\n }\n switch (operator) {\n case \"ON\":\n optionalContentConfig.setVisibility(elem, true);\n break;\n case \"OFF\":\n optionalContentConfig.setVisibility(elem, false);\n break;\n case \"Toggle\":\n const group = optionalContentConfig.getGroup(elem);\n if (group) {\n optionalContentConfig.setVisibility(elem, !group.visible);\n }\n break;\n }\n }\n this.pdfViewer.optionalContentConfigPromise = Promise.resolve(optionalContentConfig);\n }\n cachePageRef(pageNum, pageRef) {\n if (!pageRef) {\n return;\n }\n const refStr = pageRef.gen === 0 ? `${pageRef.num}R` : `${pageRef.num}R${pageRef.gen}`;\n this.#pagesRefCache.set(refStr, pageNum);\n }\n _cachedPageNumber(pageRef) {\n if (!pageRef) {\n return null;\n }\n const refStr = pageRef.gen === 0 ? `${pageRef.num}R` : `${pageRef.num}R${pageRef.gen}`;\n return this.#pagesRefCache.get(refStr) || null;\n }\n isPageVisible(pageNumber) {\n return this.pdfViewer.isPageVisible(pageNumber);\n }\n isPageCached(pageNumber) {\n return this.pdfViewer.isPageCached(pageNumber);\n }\n static #isValidExplicitDestination(dest) {\n if (!Array.isArray(dest)) {\n return false;\n }\n const destLength = dest.length;\n if (destLength < 2) {\n return false;\n }\n const page = dest[0];\n if (!(typeof page === \"object\" && Number.isInteger(page.num) && Number.isInteger(page.gen)) && !(Number.isInteger(page) && page >= 0)) {\n return false;\n }\n const zoom = dest[1];\n if (!(typeof zoom === \"object\" && typeof zoom.name === \"string\")) {\n return false;\n }\n let allowNull = true;\n switch (zoom.name) {\n case \"XYZ\":\n if (destLength !== 5) {\n return false;\n }\n break;\n case \"Fit\":\n case \"FitB\":\n return destLength === 2;\n case \"FitH\":\n case \"FitBH\":\n case \"FitV\":\n case \"FitBV\":\n if (destLength !== 3) {\n return false;\n }\n break;\n case \"FitR\":\n if (destLength !== 6) {\n return false;\n }\n allowNull = false;\n break;\n default:\n return false;\n }\n for (let i = 2; i < destLength; i++) {\n const param = dest[i];\n if (!(typeof param === \"number\" || allowNull && param === null)) {\n return false;\n }\n }\n return true;\n }\n}\nexports.PDFLinkService = PDFLinkService;\nclass SimpleLinkService {\n constructor() {\n this.externalLinkEnabled = true;\n }\n get pagesCount() {\n return 0;\n }\n get page() {\n return 0;\n }\n set page(value) {}\n get rotation() {\n return 0;\n }\n set rotation(value) {}\n get isInPresentationMode() {\n return false;\n }\n async goToDestination(dest) {}\n goToPage(val) {}\n addLinkAttributes(link, url, newWindow = false) {\n addLinkAttributes(link, {\n url,\n enabled: this.externalLinkEnabled\n });\n }\n getDestinationHash(dest) {\n return \"#\";\n }\n getAnchorUrl(hash) {\n return \"#\";\n }\n setHash(hash) {}\n executeNamedAction(action) {}\n executeSetOCGState(action) {}\n cachePageRef(pageNum, pageRef) {}\n isPageVisible(pageNumber) {\n return true;\n }\n isPageCached(pageNumber) {\n return true;\n }\n}\nexports.SimpleLinkService = SimpleLinkService;\n\n/***/ }),\n/* 2 */\n/***/ ((__unused_webpack_module, exports) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.animationStarted = exports.VERTICAL_PADDING = exports.UNKNOWN_SCALE = exports.TextLayerMode = exports.SpreadMode = exports.SidebarView = exports.ScrollMode = exports.SCROLLBAR_PADDING = exports.RenderingStates = exports.ProgressBar = exports.PresentationModeState = exports.OutputScale = exports.MIN_SCALE = exports.MAX_SCALE = exports.MAX_AUTO_SCALE = exports.DEFAULT_SCALE_VALUE = exports.DEFAULT_SCALE_DELTA = exports.DEFAULT_SCALE = exports.CursorTool = exports.AutoPrintRegExp = void 0;\nexports.apiPageLayoutToViewerModes = apiPageLayoutToViewerModes;\nexports.apiPageModeToSidebarView = apiPageModeToSidebarView;\nexports.approximateFraction = approximateFraction;\nexports.backtrackBeforeAllVisibleElements = backtrackBeforeAllVisibleElements;\nexports.binarySearchFirstItem = binarySearchFirstItem;\nexports.docStyle = void 0;\nexports.getActiveOrFocusedElement = getActiveOrFocusedElement;\nexports.getPageSizeInches = getPageSizeInches;\nexports.getVisibleElements = getVisibleElements;\nexports.isPortraitOrientation = isPortraitOrientation;\nexports.isValidRotation = isValidRotation;\nexports.isValidScrollMode = isValidScrollMode;\nexports.isValidSpreadMode = isValidSpreadMode;\nexports.noContextMenuHandler = noContextMenuHandler;\nexports.normalizeWheelEventDelta = normalizeWheelEventDelta;\nexports.normalizeWheelEventDirection = normalizeWheelEventDirection;\nexports.parseQueryString = parseQueryString;\nexports.removeNullCharacters = removeNullCharacters;\nexports.roundToDivide = roundToDivide;\nexports.scrollIntoView = scrollIntoView;\nexports.toggleCheckedBtn = toggleCheckedBtn;\nexports.watchScroll = watchScroll;\nconst DEFAULT_SCALE_VALUE = \"auto\";\nexports.DEFAULT_SCALE_VALUE = DEFAULT_SCALE_VALUE;\nconst DEFAULT_SCALE = 1.0;\nexports.DEFAULT_SCALE = DEFAULT_SCALE;\nconst DEFAULT_SCALE_DELTA = 1.1;\nexports.DEFAULT_SCALE_DELTA = DEFAULT_SCALE_DELTA;\nconst MIN_SCALE = 0.1;\nexports.MIN_SCALE = MIN_SCALE;\nconst MAX_SCALE = 10.0;\nexports.MAX_SCALE = MAX_SCALE;\nconst UNKNOWN_SCALE = 0;\nexports.UNKNOWN_SCALE = UNKNOWN_SCALE;\nconst MAX_AUTO_SCALE = 1.25;\nexports.MAX_AUTO_SCALE = MAX_AUTO_SCALE;\nconst SCROLLBAR_PADDING = 40;\nexports.SCROLLBAR_PADDING = SCROLLBAR_PADDING;\nconst VERTICAL_PADDING = 5;\nexports.VERTICAL_PADDING = VERTICAL_PADDING;\nconst RenderingStates = {\n INITIAL: 0,\n RUNNING: 1,\n PAUSED: 2,\n FINISHED: 3\n};\nexports.RenderingStates = RenderingStates;\nconst PresentationModeState = {\n UNKNOWN: 0,\n NORMAL: 1,\n CHANGING: 2,\n FULLSCREEN: 3\n};\nexports.PresentationModeState = PresentationModeState;\nconst SidebarView = {\n UNKNOWN: -1,\n NONE: 0,\n THUMBS: 1,\n OUTLINE: 2,\n ATTACHMENTS: 3,\n LAYERS: 4\n};\nexports.SidebarView = SidebarView;\nconst TextLayerMode = {\n DISABLE: 0,\n ENABLE: 1,\n ENABLE_PERMISSIONS: 2\n};\nexports.TextLayerMode = TextLayerMode;\nconst ScrollMode = {\n UNKNOWN: -1,\n VERTICAL: 0,\n HORIZONTAL: 1,\n WRAPPED: 2,\n PAGE: 3\n};\nexports.ScrollMode = ScrollMode;\nconst SpreadMode = {\n UNKNOWN: -1,\n NONE: 0,\n ODD: 1,\n EVEN: 2\n};\nexports.SpreadMode = SpreadMode;\nconst CursorTool = {\n SELECT: 0,\n HAND: 1,\n ZOOM: 2\n};\nexports.CursorTool = CursorTool;\nconst AutoPrintRegExp = /\\bprint\\s*\\(/;\nexports.AutoPrintRegExp = AutoPrintRegExp;\nclass OutputScale {\n constructor() {\n const pixelRatio = window.devicePixelRatio || 1;\n this.sx = pixelRatio;\n this.sy = pixelRatio;\n }\n get scaled() {\n return this.sx !== 1 || this.sy !== 1;\n }\n}\nexports.OutputScale = OutputScale;\nfunction scrollIntoView(element, spot, scrollMatches = false) {\n let parent = element.offsetParent;\n if (!parent) {\n console.error(\"offsetParent is not set -- cannot scroll\");\n return;\n }\n let offsetY = element.offsetTop + element.clientTop;\n let offsetX = element.offsetLeft + element.clientLeft;\n while (parent.clientHeight === parent.scrollHeight && parent.clientWidth === parent.scrollWidth || scrollMatches && (parent.classList.contains(\"markedContent\") || getComputedStyle(parent).overflow === \"hidden\")) {\n offsetY += parent.offsetTop;\n offsetX += parent.offsetLeft;\n parent = parent.offsetParent;\n if (!parent) {\n return;\n }\n }\n if (spot) {\n if (spot.top !== undefined) {\n offsetY += spot.top;\n }\n if (spot.left !== undefined) {\n offsetX += spot.left;\n parent.scrollLeft = offsetX;\n }\n }\n parent.scrollTop = offsetY;\n}\nfunction watchScroll(viewAreaElement, callback) {\n const debounceScroll = function (evt) {\n if (rAF) {\n return;\n }\n rAF = window.requestAnimationFrame(function viewAreaElementScrolled() {\n rAF = null;\n const currentX = viewAreaElement.scrollLeft;\n const lastX = state.lastX;\n if (currentX !== lastX) {\n state.right = currentX > lastX;\n }\n state.lastX = currentX;\n const currentY = viewAreaElement.scrollTop;\n const lastY = state.lastY;\n if (currentY !== lastY) {\n state.down = currentY > lastY;\n }\n state.lastY = currentY;\n callback(state);\n });\n };\n const state = {\n right: true,\n down: true,\n lastX: viewAreaElement.scrollLeft,\n lastY: viewAreaElement.scrollTop,\n _eventHandler: debounceScroll\n };\n let rAF = null;\n viewAreaElement.addEventListener(\"scroll\", debounceScroll, true);\n return state;\n}\nfunction parseQueryString(query) {\n const params = new Map();\n for (const [key, value] of new URLSearchParams(query)) {\n params.set(key.toLowerCase(), value);\n }\n return params;\n}\nconst InvisibleCharactersRegExp = /[\\x01-\\x1F]/g;\nfunction removeNullCharacters(str, replaceInvisible = false) {\n if (typeof str !== \"string\") {\n console.error(`The argument must be a string.`);\n return str;\n }\n if (replaceInvisible) {\n str = str.replaceAll(InvisibleCharactersRegExp, \" \");\n }\n return str.replaceAll(\"\\x00\", \"\");\n}\nfunction binarySearchFirstItem(items, condition, start = 0) {\n let minIndex = start;\n let maxIndex = items.length - 1;\n if (maxIndex < 0 || !condition(items[maxIndex])) {\n return items.length;\n }\n if (condition(items[minIndex])) {\n return minIndex;\n }\n while (minIndex < maxIndex) {\n const currentIndex = minIndex + maxIndex >> 1;\n const currentItem = items[currentIndex];\n if (condition(currentItem)) {\n maxIndex = currentIndex;\n } else {\n minIndex = currentIndex + 1;\n }\n }\n return minIndex;\n}\nfunction approximateFraction(x) {\n if (Math.floor(x) === x) {\n return [x, 1];\n }\n const xinv = 1 / x;\n const limit = 8;\n if (xinv > limit) {\n return [1, limit];\n } else if (Math.floor(xinv) === xinv) {\n return [1, xinv];\n }\n const x_ = x > 1 ? xinv : x;\n let a = 0,\n b = 1,\n c = 1,\n d = 1;\n while (true) {\n const p = a + c,\n q = b + d;\n if (q > limit) {\n break;\n }\n if (x_ <= p / q) {\n c = p;\n d = q;\n } else {\n a = p;\n b = q;\n }\n }\n let result;\n if (x_ - a / b < c / d - x_) {\n result = x_ === x ? [a, b] : [b, a];\n } else {\n result = x_ === x ? [c, d] : [d, c];\n }\n return result;\n}\nfunction roundToDivide(x, div) {\n const r = x % div;\n return r === 0 ? x : Math.round(x - r + div);\n}\nfunction getPageSizeInches({\n view,\n userUnit,\n rotate\n}) {\n const [x1, y1, x2, y2] = view;\n const changeOrientation = rotate % 180 !== 0;\n const width = (x2 - x1) / 72 * userUnit;\n const height = (y2 - y1) / 72 * userUnit;\n return {\n width: changeOrientation ? height : width,\n height: changeOrientation ? width : height\n };\n}\nfunction backtrackBeforeAllVisibleElements(index, views, top) {\n if (index < 2) {\n return index;\n }\n let elt = views[index].div;\n let pageTop = elt.offsetTop + elt.clientTop;\n if (pageTop >= top) {\n elt = views[index - 1].div;\n pageTop = elt.offsetTop + elt.clientTop;\n }\n for (let i = index - 2; i >= 0; --i) {\n elt = views[i].div;\n if (elt.offsetTop + elt.clientTop + elt.clientHeight <= pageTop) {\n break;\n }\n index = i;\n }\n return index;\n}\nfunction getVisibleElements({\n scrollEl,\n views,\n sortByVisibility = false,\n horizontal = false,\n rtl = false\n}) {\n const top = scrollEl.scrollTop,\n bottom = top + scrollEl.clientHeight;\n const left = scrollEl.scrollLeft,\n right = left + scrollEl.clientWidth;\n function isElementBottomAfterViewTop(view) {\n const element = view.div;\n const elementBottom = element.offsetTop + element.clientTop + element.clientHeight;\n return elementBottom > top;\n }\n function isElementNextAfterViewHorizontally(view) {\n const element = view.div;\n const elementLeft = element.offsetLeft + element.clientLeft;\n const elementRight = elementLeft + element.clientWidth;\n return rtl ? elementLeft < right : elementRight > left;\n }\n const visible = [],\n ids = new Set(),\n numViews = views.length;\n let firstVisibleElementInd = binarySearchFirstItem(views, horizontal ? isElementNextAfterViewHorizontally : isElementBottomAfterViewTop);\n if (firstVisibleElementInd > 0 && firstVisibleElementInd < numViews && !horizontal) {\n firstVisibleElementInd = backtrackBeforeAllVisibleElements(firstVisibleElementInd, views, top);\n }\n let lastEdge = horizontal ? right : -1;\n for (let i = firstVisibleElementInd; i < numViews; i++) {\n const view = views[i],\n element = view.div;\n const currentWidth = element.offsetLeft + element.clientLeft;\n const currentHeight = element.offsetTop + element.clientTop;\n const viewWidth = element.clientWidth,\n viewHeight = element.clientHeight;\n const viewRight = currentWidth + viewWidth;\n const viewBottom = currentHeight + viewHeight;\n if (lastEdge === -1) {\n if (viewBottom >= bottom) {\n lastEdge = viewBottom;\n }\n } else if ((horizontal ? currentWidth : currentHeight) > lastEdge) {\n break;\n }\n if (viewBottom <= top || currentHeight >= bottom || viewRight <= left || currentWidth >= right) {\n continue;\n }\n const hiddenHeight = Math.max(0, top - currentHeight) + Math.max(0, viewBottom - bottom);\n const hiddenWidth = Math.max(0, left - currentWidth) + Math.max(0, viewRight - right);\n const fractionHeight = (viewHeight - hiddenHeight) / viewHeight,\n fractionWidth = (viewWidth - hiddenWidth) / viewWidth;\n const percent = fractionHeight * fractionWidth * 100 | 0;\n visible.push({\n id: view.id,\n x: currentWidth,\n y: currentHeight,\n view,\n percent,\n widthPercent: fractionWidth * 100 | 0\n });\n ids.add(view.id);\n }\n const first = visible[0],\n last = visible.at(-1);\n if (sortByVisibility) {\n visible.sort(function (a, b) {\n const pc = a.percent - b.percent;\n if (Math.abs(pc) > 0.001) {\n return -pc;\n }\n return a.id - b.id;\n });\n }\n return {\n first,\n last,\n views: visible,\n ids\n };\n}\nfunction noContextMenuHandler(evt) {\n evt.preventDefault();\n}\nfunction normalizeWheelEventDirection(evt) {\n let delta = Math.hypot(evt.deltaX, evt.deltaY);\n const angle = Math.atan2(evt.deltaY, evt.deltaX);\n if (-0.25 * Math.PI < angle && angle < 0.75 * Math.PI) {\n delta = -delta;\n }\n return delta;\n}\nfunction normalizeWheelEventDelta(evt) {\n const deltaMode = evt.deltaMode;\n let delta = normalizeWheelEventDirection(evt);\n const MOUSE_PIXELS_PER_LINE = 30;\n const MOUSE_LINES_PER_PAGE = 30;\n if (deltaMode === WheelEvent.DOM_DELTA_PIXEL) {\n delta /= MOUSE_PIXELS_PER_LINE * MOUSE_LINES_PER_PAGE;\n } else if (deltaMode === WheelEvent.DOM_DELTA_LINE) {\n delta /= MOUSE_LINES_PER_PAGE;\n }\n return delta;\n}\nfunction isValidRotation(angle) {\n return Number.isInteger(angle) && angle % 90 === 0;\n}\nfunction isValidScrollMode(mode) {\n return Number.isInteger(mode) && Object.values(ScrollMode).includes(mode) && mode !== ScrollMode.UNKNOWN;\n}\nfunction isValidSpreadMode(mode) {\n return Number.isInteger(mode) && Object.values(SpreadMode).includes(mode) && mode !== SpreadMode.UNKNOWN;\n}\nfunction isPortraitOrientation(size) {\n return size.width <= size.height;\n}\nconst animationStarted = new Promise(function (resolve) {\n window.requestAnimationFrame(resolve);\n});\nexports.animationStarted = animationStarted;\nconst docStyle = document.documentElement.style;\nexports.docStyle = docStyle;\nfunction clamp(v, min, max) {\n return Math.min(Math.max(v, min), max);\n}\nclass ProgressBar {\n #classList = null;\n #disableAutoFetchTimeout = null;\n #percent = 0;\n #style = null;\n #visible = true;\n constructor(bar) {\n this.#classList = bar.classList;\n this.#style = bar.style;\n }\n get percent() {\n return this.#percent;\n }\n set percent(val) {\n this.#percent = clamp(val, 0, 100);\n if (isNaN(val)) {\n this.#classList.add(\"indeterminate\");\n return;\n }\n this.#classList.remove(\"indeterminate\");\n this.#style.setProperty(\"--progressBar-percent\", `${this.#percent}%`);\n }\n setWidth(viewer) {\n if (!viewer) {\n return;\n }\n const container = viewer.parentNode;\n const scrollbarWidth = container.offsetWidth - viewer.offsetWidth;\n if (scrollbarWidth > 0) {\n this.#style.setProperty(\"--progressBar-end-offset\", `${scrollbarWidth}px`);\n }\n }\n setDisableAutoFetch(delay = 5000) {\n if (isNaN(this.#percent)) {\n return;\n }\n if (this.#disableAutoFetchTimeout) {\n clearTimeout(this.#disableAutoFetchTimeout);\n }\n this.show();\n this.#disableAutoFetchTimeout = setTimeout(() => {\n this.#disableAutoFetchTimeout = null;\n this.hide();\n }, delay);\n }\n hide() {\n if (!this.#visible) {\n return;\n }\n this.#visible = false;\n this.#classList.add(\"hidden\");\n }\n show() {\n if (this.#visible) {\n return;\n }\n this.#visible = true;\n this.#classList.remove(\"hidden\");\n }\n}\nexports.ProgressBar = ProgressBar;\nfunction getActiveOrFocusedElement() {\n let curRoot = document;\n let curActiveOrFocused = curRoot.activeElement || curRoot.querySelector(\":focus\");\n while (curActiveOrFocused?.shadowRoot) {\n curRoot = curActiveOrFocused.shadowRoot;\n curActiveOrFocused = curRoot.activeElement || curRoot.querySelector(\":focus\");\n }\n return curActiveOrFocused;\n}\nfunction apiPageLayoutToViewerModes(layout) {\n let scrollMode = ScrollMode.VERTICAL,\n spreadMode = SpreadMode.NONE;\n switch (layout) {\n case \"SinglePage\":\n scrollMode = ScrollMode.PAGE;\n break;\n case \"OneColumn\":\n break;\n case \"TwoPageLeft\":\n scrollMode = ScrollMode.PAGE;\n case \"TwoColumnLeft\":\n spreadMode = SpreadMode.ODD;\n break;\n case \"TwoPageRight\":\n scrollMode = ScrollMode.PAGE;\n case \"TwoColumnRight\":\n spreadMode = SpreadMode.EVEN;\n break;\n }\n return {\n scrollMode,\n spreadMode\n };\n}\nfunction apiPageModeToSidebarView(mode) {\n switch (mode) {\n case \"UseNone\":\n return SidebarView.NONE;\n case \"UseThumbs\":\n return SidebarView.THUMBS;\n case \"UseOutlines\":\n return SidebarView.OUTLINE;\n case \"UseAttachments\":\n return SidebarView.ATTACHMENTS;\n case \"UseOC\":\n return SidebarView.LAYERS;\n }\n return SidebarView.NONE;\n}\nfunction toggleCheckedBtn(button, toggle, view = null) {\n button.classList.toggle(\"toggled\", toggle);\n button.setAttribute(\"aria-checked\", toggle);\n view?.classList.toggle(\"hidden\", !toggle);\n}\n\n/***/ }),\n/* 3 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.AnnotationLayerBuilder = void 0;\nvar _pdfjsLib = __w_pdfjs_require__(4);\nvar _l10n_utils = __w_pdfjs_require__(5);\nvar _ui_utils = __w_pdfjs_require__(2);\nclass AnnotationLayerBuilder {\n #numAnnotations = 0;\n #onPresentationModeChanged = null;\n constructor({\n pageDiv,\n pdfPage,\n linkService,\n downloadManager,\n annotationStorage = null,\n imageResourcesPath = \"\",\n renderForms = true,\n l10n = _l10n_utils.NullL10n,\n enableScripting = false,\n hasJSActionsPromise = null,\n fieldObjectsPromise = null,\n annotationCanvasMap = null,\n accessibilityManager = null\n }) {\n this.pageDiv = pageDiv;\n this.pdfPage = pdfPage;\n this.linkService = linkService;\n this.downloadManager = downloadManager;\n this.imageResourcesPath = imageResourcesPath;\n this.renderForms = renderForms;\n this.l10n = l10n;\n this.annotationStorage = annotationStorage;\n this.enableScripting = enableScripting;\n this._hasJSActionsPromise = hasJSActionsPromise || Promise.resolve(false);\n this._fieldObjectsPromise = fieldObjectsPromise || Promise.resolve(null);\n this._annotationCanvasMap = annotationCanvasMap;\n this._accessibilityManager = accessibilityManager;\n this.div = null;\n this._cancelled = false;\n this._eventBus = linkService.eventBus;\n }\n async render(viewport, intent = \"display\") {\n if (this.div) {\n if (this._cancelled || this.#numAnnotations === 0) {\n return;\n }\n _pdfjsLib.AnnotationLayer.update({\n viewport: viewport.clone({\n dontFlip: true\n }),\n div: this.div,\n annotationCanvasMap: this._annotationCanvasMap\n });\n return;\n }\n const [annotations, hasJSActions, fieldObjects] = await Promise.all([this.pdfPage.getAnnotations({\n intent\n }), this._hasJSActionsPromise, this._fieldObjectsPromise]);\n if (this._cancelled) {\n return;\n }\n this.#numAnnotations = annotations.length;\n this.div = document.createElement(\"div\");\n this.div.className = \"annotationLayer\";\n this.pageDiv.append(this.div);\n if (this.#numAnnotations === 0) {\n this.hide();\n return;\n }\n _pdfjsLib.AnnotationLayer.render({\n viewport: viewport.clone({\n dontFlip: true\n }),\n div: this.div,\n annotations,\n page: this.pdfPage,\n imageResourcesPath: this.imageResourcesPath,\n renderForms: this.renderForms,\n linkService: this.linkService,\n downloadManager: this.downloadManager,\n annotationStorage: this.annotationStorage,\n enableScripting: this.enableScripting,\n hasJSActions,\n fieldObjects,\n annotationCanvasMap: this._annotationCanvasMap,\n accessibilityManager: this._accessibilityManager\n });\n this.l10n.translate(this.div);\n if (this.linkService.isInPresentationMode) {\n this.#updatePresentationModeState(_ui_utils.PresentationModeState.FULLSCREEN);\n }\n if (!this.#onPresentationModeChanged) {\n this.#onPresentationModeChanged = evt => {\n this.#updatePresentationModeState(evt.state);\n };\n this._eventBus?._on(\"presentationmodechanged\", this.#onPresentationModeChanged);\n }\n }\n cancel() {\n this._cancelled = true;\n if (this.#onPresentationModeChanged) {\n this._eventBus?._off(\"presentationmodechanged\", this.#onPresentationModeChanged);\n this.#onPresentationModeChanged = null;\n }\n }\n hide() {\n if (!this.div) {\n return;\n }\n this.div.hidden = true;\n }\n #updatePresentationModeState(state) {\n if (!this.div) {\n return;\n }\n let disableFormElements = false;\n switch (state) {\n case _ui_utils.PresentationModeState.FULLSCREEN:\n disableFormElements = true;\n break;\n case _ui_utils.PresentationModeState.NORMAL:\n break;\n default:\n return;\n }\n for (const section of this.div.childNodes) {\n if (section.hasAttribute(\"data-internal-link\")) {\n continue;\n }\n section.inert = disableFormElements;\n }\n }\n}\nexports.AnnotationLayerBuilder = AnnotationLayerBuilder;\n\n/***/ }),\n/* 4 */\n/***/ ((module) => {\n\n\n\nlet pdfjsLib;\nif (typeof window !== \"undefined\" && window[\"pdfjs-dist/build/pdf\"]) {\n pdfjsLib = window[\"pdfjs-dist/build/pdf\"];\n} else {\n pdfjsLib = require(\"../build/pdf.js\");\n}\nmodule.exports = pdfjsLib;\n\n/***/ }),\n/* 5 */\n/***/ ((__unused_webpack_module, exports) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.NullL10n = void 0;\nexports.fixupLangCode = fixupLangCode;\nexports.getL10nFallback = getL10nFallback;\nconst DEFAULT_L10N_STRINGS = {\n of_pages: \"of {{pagesCount}}\",\n page_of_pages: \"({{pageNumber}} of {{pagesCount}})\",\n document_properties_kb: \"{{size_kb}} KB ({{size_b}} bytes)\",\n document_properties_mb: \"{{size_mb}} MB ({{size_b}} bytes)\",\n document_properties_date_string: \"{{date}}, {{time}}\",\n document_properties_page_size_unit_inches: \"in\",\n document_properties_page_size_unit_millimeters: \"mm\",\n document_properties_page_size_orientation_portrait: \"portrait\",\n document_properties_page_size_orientation_landscape: \"landscape\",\n document_properties_page_size_name_a3: \"A3\",\n document_properties_page_size_name_a4: \"A4\",\n document_properties_page_size_name_letter: \"Letter\",\n document_properties_page_size_name_legal: \"Legal\",\n document_properties_page_size_dimension_string: \"{{width}} × {{height}} {{unit}} ({{orientation}})\",\n document_properties_page_size_dimension_name_string: \"{{width}} × {{height}} {{unit}} ({{name}}, {{orientation}})\",\n document_properties_linearized_yes: \"Yes\",\n document_properties_linearized_no: \"No\",\n additional_layers: \"Additional Layers\",\n page_landmark: \"Page {{page}}\",\n thumb_page_title: \"Page {{page}}\",\n thumb_page_canvas: \"Thumbnail of Page {{page}}\",\n find_reached_top: \"Reached top of document, continued from bottom\",\n find_reached_bottom: \"Reached end of document, continued from top\",\n \"find_match_count[one]\": \"{{current}} of {{total}} match\",\n \"find_match_count[other]\": \"{{current}} of {{total}} matches\",\n \"find_match_count_limit[one]\": \"More than {{limit}} match\",\n \"find_match_count_limit[other]\": \"More than {{limit}} matches\",\n find_not_found: \"Phrase not found\",\n page_scale_width: \"Page Width\",\n page_scale_fit: \"Page Fit\",\n page_scale_auto: \"Automatic Zoom\",\n page_scale_actual: \"Actual Size\",\n page_scale_percent: \"{{scale}}%\",\n loading_error: \"An error occurred while loading the PDF.\",\n invalid_file_error: \"Invalid or corrupted PDF file.\",\n missing_file_error: \"Missing PDF file.\",\n unexpected_response_error: \"Unexpected server response.\",\n rendering_error: \"An error occurred while rendering the page.\",\n printing_not_supported: \"Warning: Printing is not fully supported by this browser.\",\n printing_not_ready: \"Warning: The PDF is not fully loaded for printing.\",\n web_fonts_disabled: \"Web fonts are disabled: unable to use embedded PDF fonts.\",\n free_text2_default_content: \"Start typing…\",\n editor_free_text2_aria_label: \"Text Editor\",\n editor_ink2_aria_label: \"Draw Editor\",\n editor_ink_canvas_aria_label: \"User-created image\"\n};\n{\n DEFAULT_L10N_STRINGS.print_progress_percent = \"{{progress}}%\";\n}\nfunction getL10nFallback(key, args) {\n switch (key) {\n case \"find_match_count\":\n key = `find_match_count[${args.total === 1 ? \"one\" : \"other\"}]`;\n break;\n case \"find_match_count_limit\":\n key = `find_match_count_limit[${args.limit === 1 ? \"one\" : \"other\"}]`;\n break;\n }\n return DEFAULT_L10N_STRINGS[key] || \"\";\n}\nconst PARTIAL_LANG_CODES = {\n en: \"en-US\",\n es: \"es-ES\",\n fy: \"fy-NL\",\n ga: \"ga-IE\",\n gu: \"gu-IN\",\n hi: \"hi-IN\",\n hy: \"hy-AM\",\n nb: \"nb-NO\",\n ne: \"ne-NP\",\n nn: \"nn-NO\",\n pa: \"pa-IN\",\n pt: \"pt-PT\",\n sv: \"sv-SE\",\n zh: \"zh-CN\"\n};\nfunction fixupLangCode(langCode) {\n return PARTIAL_LANG_CODES[langCode?.toLowerCase()] || langCode;\n}\nfunction formatL10nValue(text, args) {\n if (!args) {\n return text;\n }\n return text.replaceAll(/\\{\\{\\s*(\\w+)\\s*\\}\\}/g, (all, name) => {\n return name in args ? args[name] : \"{{\" + name + \"}}\";\n });\n}\nconst NullL10n = {\n async getLanguage() {\n return \"en-us\";\n },\n async getDirection() {\n return \"ltr\";\n },\n async get(key, args = null, fallback = getL10nFallback(key, args)) {\n return formatL10nValue(fallback, args);\n },\n async translate(element) {}\n};\nexports.NullL10n = NullL10n;\n\n/***/ }),\n/* 6 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.DownloadManager = void 0;\nvar _pdfjsLib = __w_pdfjs_require__(4);\n;\nfunction download(blobUrl, filename) {\n const a = document.createElement(\"a\");\n if (!a.click) {\n throw new Error('DownloadManager: \"a.click()\" is not supported.');\n }\n a.href = blobUrl;\n a.target = \"_parent\";\n if (\"download\" in a) {\n a.download = filename;\n }\n (document.body || document.documentElement).append(a);\n a.click();\n a.remove();\n}\nclass DownloadManager {\n #openBlobUrls = new WeakMap();\n downloadUrl(url, filename, _options) {\n if (!(0, _pdfjsLib.createValidAbsoluteUrl)(url, \"http://example.com\")) {\n console.error(`downloadUrl - not a valid URL: ${url}`);\n return;\n }\n download(url + \"#pdfjs.action=download\", filename);\n }\n downloadData(data, filename, contentType) {\n const blobUrl = URL.createObjectURL(new Blob([data], {\n type: contentType\n }));\n download(blobUrl, filename);\n }\n openOrDownloadData(element, data, filename) {\n const isPdfData = (0, _pdfjsLib.isPdfFile)(filename);\n const contentType = isPdfData ? \"application/pdf\" : \"\";\n this.downloadData(data, filename, contentType);\n return false;\n }\n download(blob, url, filename, _options) {\n const blobUrl = URL.createObjectURL(blob);\n download(blobUrl, filename);\n }\n}\nexports.DownloadManager = DownloadManager;\n\n/***/ }),\n/* 7 */\n/***/ ((__unused_webpack_module, exports) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.WaitOnType = exports.EventBus = exports.AutomationEventBus = void 0;\nexports.waitOnEventOrTimeout = waitOnEventOrTimeout;\nconst WaitOnType = {\n EVENT: \"event\",\n TIMEOUT: \"timeout\"\n};\nexports.WaitOnType = WaitOnType;\nfunction waitOnEventOrTimeout({\n target,\n name,\n delay = 0\n}) {\n return new Promise(function (resolve, reject) {\n if (typeof target !== \"object\" || !(name && typeof name === \"string\") || !(Number.isInteger(delay) && delay >= 0)) {\n throw new Error(\"waitOnEventOrTimeout - invalid parameters.\");\n }\n function handler(type) {\n if (target instanceof EventBus) {\n target._off(name, eventHandler);\n } else {\n target.removeEventListener(name, eventHandler);\n }\n if (timeout) {\n clearTimeout(timeout);\n }\n resolve(type);\n }\n const eventHandler = handler.bind(null, WaitOnType.EVENT);\n if (target instanceof EventBus) {\n target._on(name, eventHandler);\n } else {\n target.addEventListener(name, eventHandler);\n }\n const timeoutHandler = handler.bind(null, WaitOnType.TIMEOUT);\n const timeout = setTimeout(timeoutHandler, delay);\n });\n}\nclass EventBus {\n #listeners = Object.create(null);\n on(eventName, listener, options = null) {\n this._on(eventName, listener, {\n external: true,\n once: options?.once\n });\n }\n off(eventName, listener, options = null) {\n this._off(eventName, listener, {\n external: true,\n once: options?.once\n });\n }\n dispatch(eventName, data) {\n const eventListeners = this.#listeners[eventName];\n if (!eventListeners || eventListeners.length === 0) {\n return;\n }\n let externalListeners;\n for (const {\n listener,\n external,\n once\n } of eventListeners.slice(0)) {\n if (once) {\n this._off(eventName, listener);\n }\n if (external) {\n (externalListeners ||= []).push(listener);\n continue;\n }\n listener(data);\n }\n if (externalListeners) {\n for (const listener of externalListeners) {\n listener(data);\n }\n externalListeners = null;\n }\n }\n _on(eventName, listener, options = null) {\n const eventListeners = this.#listeners[eventName] ||= [];\n eventListeners.push({\n listener,\n external: options?.external === true,\n once: options?.once === true\n });\n }\n _off(eventName, listener, options = null) {\n const eventListeners = this.#listeners[eventName];\n if (!eventListeners) {\n return;\n }\n for (let i = 0, ii = eventListeners.length; i < ii; i++) {\n if (eventListeners[i].listener === listener) {\n eventListeners.splice(i, 1);\n return;\n }\n }\n }\n}\nexports.EventBus = EventBus;\nclass AutomationEventBus extends EventBus {\n dispatch(eventName, data) {\n throw new Error(\"Not implemented: AutomationEventBus.dispatch\");\n }\n}\nexports.AutomationEventBus = AutomationEventBus;\n\n/***/ }),\n/* 8 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.GenericL10n = void 0;\n__w_pdfjs_require__(9);\nvar _l10n_utils = __w_pdfjs_require__(5);\nconst webL10n = document.webL10n;\nclass GenericL10n {\n constructor(lang) {\n this._lang = lang;\n this._ready = new Promise((resolve, reject) => {\n webL10n.setLanguage((0, _l10n_utils.fixupLangCode)(lang), () => {\n resolve(webL10n);\n });\n });\n }\n async getLanguage() {\n const l10n = await this._ready;\n return l10n.getLanguage();\n }\n async getDirection() {\n const l10n = await this._ready;\n return l10n.getDirection();\n }\n async get(key, args = null, fallback = (0, _l10n_utils.getL10nFallback)(key, args)) {\n const l10n = await this._ready;\n return l10n.get(key, args, fallback);\n }\n async translate(element) {\n const l10n = await this._ready;\n return l10n.translate(element);\n }\n}\nexports.GenericL10n = GenericL10n;\n\n/***/ }),\n/* 9 */\n/***/ (() => {\n\n\n\ndocument.webL10n = function (window, document, undefined) {\n var gL10nData = {};\n var gTextData = '';\n var gTextProp = 'textContent';\n var gLanguage = '';\n var gMacros = {};\n var gReadyState = 'loading';\n var gAsyncResourceLoading = true;\n function getL10nResourceLinks() {\n return document.querySelectorAll('link[type=\"application/l10n\"]');\n }\n function getL10nDictionary() {\n var script = document.querySelector('script[type=\"application/l10n\"]');\n return script ? JSON.parse(script.innerHTML) : null;\n }\n function getTranslatableChildren(element) {\n return element ? element.querySelectorAll('*[data-l10n-id]') : [];\n }\n function getL10nAttributes(element) {\n if (!element) return {};\n var l10nId = element.getAttribute('data-l10n-id');\n var l10nArgs = element.getAttribute('data-l10n-args');\n var args = {};\n if (l10nArgs) {\n try {\n args = JSON.parse(l10nArgs);\n } catch (e) {\n console.warn('could not parse arguments for #' + l10nId);\n }\n }\n return {\n id: l10nId,\n args: args\n };\n }\n function xhrLoadText(url, onSuccess, onFailure) {\n onSuccess = onSuccess || function _onSuccess(data) {};\n onFailure = onFailure || function _onFailure() {};\n var xhr = new XMLHttpRequest();\n xhr.open('GET', url, gAsyncResourceLoading);\n if (xhr.overrideMimeType) {\n xhr.overrideMimeType('text/plain; charset=utf-8');\n }\n xhr.onreadystatechange = function () {\n if (xhr.readyState == 4) {\n if (xhr.status == 200 || xhr.status === 0) {\n onSuccess(xhr.responseText);\n } else {\n onFailure();\n }\n }\n };\n xhr.onerror = onFailure;\n xhr.ontimeout = onFailure;\n try {\n xhr.send(null);\n } catch (e) {\n onFailure();\n }\n }\n function parseResource(href, lang, successCallback, failureCallback) {\n var baseURL = href.replace(/[^\\/]*$/, '') || './';\n function evalString(text) {\n if (text.lastIndexOf('\\\\') < 0) return text;\n return text.replace(/\\\\\\\\/g, '\\\\').replace(/\\\\n/g, '\\n').replace(/\\\\r/g, '\\r').replace(/\\\\t/g, '\\t').replace(/\\\\b/g, '\\b').replace(/\\\\f/g, '\\f').replace(/\\\\{/g, '{').replace(/\\\\}/g, '}').replace(/\\\\\"/g, '\"').replace(/\\\\'/g, \"'\");\n }\n function parseProperties(text, parsedPropertiesCallback) {\n var dictionary = {};\n var reBlank = /^\\s*|\\s*$/;\n var reComment = /^\\s*#|^\\s*$/;\n var reSection = /^\\s*\\[(.*)\\]\\s*$/;\n var reImport = /^\\s*@import\\s+url\\((.*)\\)\\s*$/i;\n var reSplit = /^([^=\\s]*)\\s*=\\s*(.+)$/;\n function parseRawLines(rawText, extendedSyntax, parsedRawLinesCallback) {\n var entries = rawText.replace(reBlank, '').split(/[\\r\\n]+/);\n var currentLang = '*';\n var genericLang = lang.split('-', 1)[0];\n var skipLang = false;\n var match = '';\n function nextEntry() {\n while (true) {\n if (!entries.length) {\n parsedRawLinesCallback();\n return;\n }\n var line = entries.shift();\n if (reComment.test(line)) continue;\n if (extendedSyntax) {\n match = reSection.exec(line);\n if (match) {\n currentLang = match[1].toLowerCase();\n skipLang = currentLang !== '*' && currentLang !== lang && currentLang !== genericLang;\n continue;\n } else if (skipLang) {\n continue;\n }\n match = reImport.exec(line);\n if (match) {\n loadImport(baseURL + match[1], nextEntry);\n return;\n }\n }\n var tmp = line.match(reSplit);\n if (tmp && tmp.length == 3) {\n dictionary[tmp[1]] = evalString(tmp[2]);\n }\n }\n }\n nextEntry();\n }\n function loadImport(url, callback) {\n xhrLoadText(url, function (content) {\n parseRawLines(content, false, callback);\n }, function () {\n console.warn(url + ' not found.');\n callback();\n });\n }\n parseRawLines(text, true, function () {\n parsedPropertiesCallback(dictionary);\n });\n }\n xhrLoadText(href, function (response) {\n gTextData += response;\n parseProperties(response, function (data) {\n for (var key in data) {\n var id,\n prop,\n index = key.lastIndexOf('.');\n if (index > 0) {\n id = key.substring(0, index);\n prop = key.substring(index + 1);\n } else {\n id = key;\n prop = gTextProp;\n }\n if (!gL10nData[id]) {\n gL10nData[id] = {};\n }\n gL10nData[id][prop] = data[key];\n }\n if (successCallback) {\n successCallback();\n }\n });\n }, failureCallback);\n }\n function loadLocale(lang, callback) {\n if (lang) {\n lang = lang.toLowerCase();\n }\n callback = callback || function _callback() {};\n clear();\n gLanguage = lang;\n var langLinks = getL10nResourceLinks();\n var langCount = langLinks.length;\n if (langCount === 0) {\n var dict = getL10nDictionary();\n if (dict && dict.locales && dict.default_locale) {\n console.log('using the embedded JSON directory, early way out');\n gL10nData = dict.locales[lang];\n if (!gL10nData) {\n var defaultLocale = dict.default_locale.toLowerCase();\n for (var anyCaseLang in dict.locales) {\n anyCaseLang = anyCaseLang.toLowerCase();\n if (anyCaseLang === lang) {\n gL10nData = dict.locales[lang];\n break;\n } else if (anyCaseLang === defaultLocale) {\n gL10nData = dict.locales[defaultLocale];\n }\n }\n }\n callback();\n } else {\n console.log('no resource to load, early way out');\n }\n gReadyState = 'complete';\n return;\n }\n var onResourceLoaded = null;\n var gResourceCount = 0;\n onResourceLoaded = function () {\n gResourceCount++;\n if (gResourceCount >= langCount) {\n callback();\n gReadyState = 'complete';\n }\n };\n function L10nResourceLink(link) {\n var href = link.href;\n this.load = function (lang, callback) {\n parseResource(href, lang, callback, function () {\n console.warn(href + ' not found.');\n console.warn('\"' + lang + '\" resource not found');\n gLanguage = '';\n callback();\n });\n };\n }\n for (var i = 0; i < langCount; i++) {\n var resource = new L10nResourceLink(langLinks[i]);\n resource.load(lang, onResourceLoaded);\n }\n }\n function clear() {\n gL10nData = {};\n gTextData = '';\n gLanguage = '';\n }\n function getPluralRules(lang) {\n var locales2rules = {\n 'af': 3,\n 'ak': 4,\n 'am': 4,\n 'ar': 1,\n 'asa': 3,\n 'az': 0,\n 'be': 11,\n 'bem': 3,\n 'bez': 3,\n 'bg': 3,\n 'bh': 4,\n 'bm': 0,\n 'bn': 3,\n 'bo': 0,\n 'br': 20,\n 'brx': 3,\n 'bs': 11,\n 'ca': 3,\n 'cgg': 3,\n 'chr': 3,\n 'cs': 12,\n 'cy': 17,\n 'da': 3,\n 'de': 3,\n 'dv': 3,\n 'dz': 0,\n 'ee': 3,\n 'el': 3,\n 'en': 3,\n 'eo': 3,\n 'es': 3,\n 'et': 3,\n 'eu': 3,\n 'fa': 0,\n 'ff': 5,\n 'fi': 3,\n 'fil': 4,\n 'fo': 3,\n 'fr': 5,\n 'fur': 3,\n 'fy': 3,\n 'ga': 8,\n 'gd': 24,\n 'gl': 3,\n 'gsw': 3,\n 'gu': 3,\n 'guw': 4,\n 'gv': 23,\n 'ha': 3,\n 'haw': 3,\n 'he': 2,\n 'hi': 4,\n 'hr': 11,\n 'hu': 0,\n 'id': 0,\n 'ig': 0,\n 'ii': 0,\n 'is': 3,\n 'it': 3,\n 'iu': 7,\n 'ja': 0,\n 'jmc': 3,\n 'jv': 0,\n 'ka': 0,\n 'kab': 5,\n 'kaj': 3,\n 'kcg': 3,\n 'kde': 0,\n 'kea': 0,\n 'kk': 3,\n 'kl': 3,\n 'km': 0,\n 'kn': 0,\n 'ko': 0,\n 'ksb': 3,\n 'ksh': 21,\n 'ku': 3,\n 'kw': 7,\n 'lag': 18,\n 'lb': 3,\n 'lg': 3,\n 'ln': 4,\n 'lo': 0,\n 'lt': 10,\n 'lv': 6,\n 'mas': 3,\n 'mg': 4,\n 'mk': 16,\n 'ml': 3,\n 'mn': 3,\n 'mo': 9,\n 'mr': 3,\n 'ms': 0,\n 'mt': 15,\n 'my': 0,\n 'nah': 3,\n 'naq': 7,\n 'nb': 3,\n 'nd': 3,\n 'ne': 3,\n 'nl': 3,\n 'nn': 3,\n 'no': 3,\n 'nr': 3,\n 'nso': 4,\n 'ny': 3,\n 'nyn': 3,\n 'om': 3,\n 'or': 3,\n 'pa': 3,\n 'pap': 3,\n 'pl': 13,\n 'ps': 3,\n 'pt': 3,\n 'rm': 3,\n 'ro': 9,\n 'rof': 3,\n 'ru': 11,\n 'rwk': 3,\n 'sah': 0,\n 'saq': 3,\n 'se': 7,\n 'seh': 3,\n 'ses': 0,\n 'sg': 0,\n 'sh': 11,\n 'shi': 19,\n 'sk': 12,\n 'sl': 14,\n 'sma': 7,\n 'smi': 7,\n 'smj': 7,\n 'smn': 7,\n 'sms': 7,\n 'sn': 3,\n 'so': 3,\n 'sq': 3,\n 'sr': 11,\n 'ss': 3,\n 'ssy': 3,\n 'st': 3,\n 'sv': 3,\n 'sw': 3,\n 'syr': 3,\n 'ta': 3,\n 'te': 3,\n 'teo': 3,\n 'th': 0,\n 'ti': 4,\n 'tig': 3,\n 'tk': 3,\n 'tl': 4,\n 'tn': 3,\n 'to': 0,\n 'tr': 0,\n 'ts': 3,\n 'tzm': 22,\n 'uk': 11,\n 'ur': 3,\n 've': 3,\n 'vi': 0,\n 'vun': 3,\n 'wa': 4,\n 'wae': 3,\n 'wo': 0,\n 'xh': 3,\n 'xog': 3,\n 'yo': 0,\n 'zh': 0,\n 'zu': 3\n };\n function isIn(n, list) {\n return list.indexOf(n) !== -1;\n }\n function isBetween(n, start, end) {\n return start <= n && n <= end;\n }\n var pluralRules = {\n '0': function (n) {\n return 'other';\n },\n '1': function (n) {\n if (isBetween(n % 100, 3, 10)) return 'few';\n if (n === 0) return 'zero';\n if (isBetween(n % 100, 11, 99)) return 'many';\n if (n == 2) return 'two';\n if (n == 1) return 'one';\n return 'other';\n },\n '2': function (n) {\n if (n !== 0 && n % 10 === 0) return 'many';\n if (n == 2) return 'two';\n if (n == 1) return 'one';\n return 'other';\n },\n '3': function (n) {\n if (n == 1) return 'one';\n return 'other';\n },\n '4': function (n) {\n if (isBetween(n, 0, 1)) return 'one';\n return 'other';\n },\n '5': function (n) {\n if (isBetween(n, 0, 2) && n != 2) return 'one';\n return 'other';\n },\n '6': function (n) {\n if (n === 0) return 'zero';\n if (n % 10 == 1 && n % 100 != 11) return 'one';\n return 'other';\n },\n '7': function (n) {\n if (n == 2) return 'two';\n if (n == 1) return 'one';\n return 'other';\n },\n '8': function (n) {\n if (isBetween(n, 3, 6)) return 'few';\n if (isBetween(n, 7, 10)) return 'many';\n if (n == 2) return 'two';\n if (n == 1) return 'one';\n return 'other';\n },\n '9': function (n) {\n if (n === 0 || n != 1 && isBetween(n % 100, 1, 19)) return 'few';\n if (n == 1) return 'one';\n return 'other';\n },\n '10': function (n) {\n if (isBetween(n % 10, 2, 9) && !isBetween(n % 100, 11, 19)) return 'few';\n if (n % 10 == 1 && !isBetween(n % 100, 11, 19)) return 'one';\n return 'other';\n },\n '11': function (n) {\n if (isBetween(n % 10, 2, 4) && !isBetween(n % 100, 12, 14)) return 'few';\n if (n % 10 === 0 || isBetween(n % 10, 5, 9) || isBetween(n % 100, 11, 14)) return 'many';\n if (n % 10 == 1 && n % 100 != 11) return 'one';\n return 'other';\n },\n '12': function (n) {\n if (isBetween(n, 2, 4)) return 'few';\n if (n == 1) return 'one';\n return 'other';\n },\n '13': function (n) {\n if (isBetween(n % 10, 2, 4) && !isBetween(n % 100, 12, 14)) return 'few';\n if (n != 1 && isBetween(n % 10, 0, 1) || isBetween(n % 10, 5, 9) || isBetween(n % 100, 12, 14)) return 'many';\n if (n == 1) return 'one';\n return 'other';\n },\n '14': function (n) {\n if (isBetween(n % 100, 3, 4)) return 'few';\n if (n % 100 == 2) return 'two';\n if (n % 100 == 1) return 'one';\n return 'other';\n },\n '15': function (n) {\n if (n === 0 || isBetween(n % 100, 2, 10)) return 'few';\n if (isBetween(n % 100, 11, 19)) return 'many';\n if (n == 1) return 'one';\n return 'other';\n },\n '16': function (n) {\n if (n % 10 == 1 && n != 11) return 'one';\n return 'other';\n },\n '17': function (n) {\n if (n == 3) return 'few';\n if (n === 0) return 'zero';\n if (n == 6) return 'many';\n if (n == 2) return 'two';\n if (n == 1) return 'one';\n return 'other';\n },\n '18': function (n) {\n if (n === 0) return 'zero';\n if (isBetween(n, 0, 2) && n !== 0 && n != 2) return 'one';\n return 'other';\n },\n '19': function (n) {\n if (isBetween(n, 2, 10)) return 'few';\n if (isBetween(n, 0, 1)) return 'one';\n return 'other';\n },\n '20': function (n) {\n if ((isBetween(n % 10, 3, 4) || n % 10 == 9) && !(isBetween(n % 100, 10, 19) || isBetween(n % 100, 70, 79) || isBetween(n % 100, 90, 99))) return 'few';\n if (n % 1000000 === 0 && n !== 0) return 'many';\n if (n % 10 == 2 && !isIn(n % 100, [12, 72, 92])) return 'two';\n if (n % 10 == 1 && !isIn(n % 100, [11, 71, 91])) return 'one';\n return 'other';\n },\n '21': function (n) {\n if (n === 0) return 'zero';\n if (n == 1) return 'one';\n return 'other';\n },\n '22': function (n) {\n if (isBetween(n, 0, 1) || isBetween(n, 11, 99)) return 'one';\n return 'other';\n },\n '23': function (n) {\n if (isBetween(n % 10, 1, 2) || n % 20 === 0) return 'one';\n return 'other';\n },\n '24': function (n) {\n if (isBetween(n, 3, 10) || isBetween(n, 13, 19)) return 'few';\n if (isIn(n, [2, 12])) return 'two';\n if (isIn(n, [1, 11])) return 'one';\n return 'other';\n }\n };\n var index = locales2rules[lang.replace(/-.*$/, '')];\n if (!(index in pluralRules)) {\n console.warn('plural form unknown for [' + lang + ']');\n return function () {\n return 'other';\n };\n }\n return pluralRules[index];\n }\n gMacros.plural = function (str, param, key, prop) {\n var n = parseFloat(param);\n if (isNaN(n)) return str;\n if (prop != gTextProp) return str;\n if (!gMacros._pluralRules) {\n gMacros._pluralRules = getPluralRules(gLanguage);\n }\n var index = '[' + gMacros._pluralRules(n) + ']';\n if (n === 0 && key + '[zero]' in gL10nData) {\n str = gL10nData[key + '[zero]'][prop];\n } else if (n == 1 && key + '[one]' in gL10nData) {\n str = gL10nData[key + '[one]'][prop];\n } else if (n == 2 && key + '[two]' in gL10nData) {\n str = gL10nData[key + '[two]'][prop];\n } else if (key + index in gL10nData) {\n str = gL10nData[key + index][prop];\n } else if (key + '[other]' in gL10nData) {\n str = gL10nData[key + '[other]'][prop];\n }\n return str;\n };\n function getL10nData(key, args, fallback) {\n var data = gL10nData[key];\n if (!data) {\n console.warn('#' + key + ' is undefined.');\n if (!fallback) {\n return null;\n }\n data = fallback;\n }\n var rv = {};\n for (var prop in data) {\n var str = data[prop];\n str = substIndexes(str, args, key, prop);\n str = substArguments(str, args, key);\n rv[prop] = str;\n }\n return rv;\n }\n function substIndexes(str, args, key, prop) {\n var reIndex = /\\{\\[\\s*([a-zA-Z]+)\\(([a-zA-Z]+)\\)\\s*\\]\\}/;\n var reMatch = reIndex.exec(str);\n if (!reMatch || !reMatch.length) return str;\n var macroName = reMatch[1];\n var paramName = reMatch[2];\n var param;\n if (args && paramName in args) {\n param = args[paramName];\n } else if (paramName in gL10nData) {\n param = gL10nData[paramName];\n }\n if (macroName in gMacros) {\n var macro = gMacros[macroName];\n str = macro(str, param, key, prop);\n }\n return str;\n }\n function substArguments(str, args, key) {\n var reArgs = /\\{\\{\\s*(.+?)\\s*\\}\\}/g;\n return str.replace(reArgs, function (matched_text, arg) {\n if (args && arg in args) {\n return args[arg];\n }\n if (arg in gL10nData) {\n return gL10nData[arg];\n }\n console.log('argument {{' + arg + '}} for #' + key + ' is undefined.');\n return matched_text;\n });\n }\n function translateElement(element) {\n var l10n = getL10nAttributes(element);\n if (!l10n.id) return;\n var data = getL10nData(l10n.id, l10n.args);\n if (!data) {\n console.warn('#' + l10n.id + ' is undefined.');\n return;\n }\n if (data[gTextProp]) {\n if (getChildElementCount(element) === 0) {\n element[gTextProp] = data[gTextProp];\n } else {\n var children = element.childNodes;\n var found = false;\n for (var i = 0, l = children.length; i < l; i++) {\n if (children[i].nodeType === 3 && /\\S/.test(children[i].nodeValue)) {\n if (found) {\n children[i].nodeValue = '';\n } else {\n children[i].nodeValue = data[gTextProp];\n found = true;\n }\n }\n }\n if (!found) {\n var textNode = document.createTextNode(data[gTextProp]);\n element.prepend(textNode);\n }\n }\n delete data[gTextProp];\n }\n for (var k in data) {\n element[k] = data[k];\n }\n }\n function getChildElementCount(element) {\n if (element.children) {\n return element.children.length;\n }\n if (typeof element.childElementCount !== 'undefined') {\n return element.childElementCount;\n }\n var count = 0;\n for (var i = 0; i < element.childNodes.length; i++) {\n count += element.nodeType === 1 ? 1 : 0;\n }\n return count;\n }\n function translateFragment(element) {\n element = element || document.documentElement;\n var children = getTranslatableChildren(element);\n var elementCount = children.length;\n for (var i = 0; i < elementCount; i++) {\n translateElement(children[i]);\n }\n translateElement(element);\n }\n return {\n get: function (key, args, fallbackString) {\n var index = key.lastIndexOf('.');\n var prop = gTextProp;\n if (index > 0) {\n prop = key.substring(index + 1);\n key = key.substring(0, index);\n }\n var fallback;\n if (fallbackString) {\n fallback = {};\n fallback[prop] = fallbackString;\n }\n var data = getL10nData(key, args, fallback);\n if (data && prop in data) {\n return data[prop];\n }\n return '{{' + key + '}}';\n },\n getData: function () {\n return gL10nData;\n },\n getText: function () {\n return gTextData;\n },\n getLanguage: function () {\n return gLanguage;\n },\n setLanguage: function (lang, callback) {\n loadLocale(lang, function () {\n if (callback) callback();\n });\n },\n getDirection: function () {\n var rtlList = ['ar', 'he', 'fa', 'ps', 'ur'];\n var shortCode = gLanguage.split('-', 1)[0];\n return rtlList.indexOf(shortCode) >= 0 ? 'rtl' : 'ltr';\n },\n translate: translateFragment,\n getReadyState: function () {\n return gReadyState;\n },\n ready: function (callback) {\n if (!callback) {\n return;\n } else if (gReadyState == 'complete' || gReadyState == 'interactive') {\n window.setTimeout(function () {\n callback();\n });\n } else if (document.addEventListener) {\n document.addEventListener('localized', function once() {\n document.removeEventListener('localized', once);\n callback();\n });\n }\n }\n };\n}(window, document);\n\n/***/ }),\n/* 10 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.PDFFindController = exports.FindState = void 0;\nvar _ui_utils = __w_pdfjs_require__(2);\nvar _pdf_find_utils = __w_pdfjs_require__(11);\nvar _pdfjsLib = __w_pdfjs_require__(4);\nconst FindState = {\n FOUND: 0,\n NOT_FOUND: 1,\n WRAPPED: 2,\n PENDING: 3\n};\nexports.FindState = FindState;\nconst FIND_TIMEOUT = 250;\nconst MATCH_SCROLL_OFFSET_TOP = -50;\nconst MATCH_SCROLL_OFFSET_LEFT = -400;\nconst CHARACTERS_TO_NORMALIZE = {\n \"\\u2010\": \"-\",\n \"\\u2018\": \"'\",\n \"\\u2019\": \"'\",\n \"\\u201A\": \"'\",\n \"\\u201B\": \"'\",\n \"\\u201C\": '\"',\n \"\\u201D\": '\"',\n \"\\u201E\": '\"',\n \"\\u201F\": '\"',\n \"\\u00BC\": \"1/4\",\n \"\\u00BD\": \"1/2\",\n \"\\u00BE\": \"3/4\"\n};\nconst DIACRITICS_EXCEPTION = new Set([0x3099, 0x309a, 0x094d, 0x09cd, 0x0a4d, 0x0acd, 0x0b4d, 0x0bcd, 0x0c4d, 0x0ccd, 0x0d3b, 0x0d3c, 0x0d4d, 0x0dca, 0x0e3a, 0x0eba, 0x0f84, 0x1039, 0x103a, 0x1714, 0x1734, 0x17d2, 0x1a60, 0x1b44, 0x1baa, 0x1bab, 0x1bf2, 0x1bf3, 0x2d7f, 0xa806, 0xa82c, 0xa8c4, 0xa953, 0xa9c0, 0xaaf6, 0xabed, 0x0c56, 0x0f71, 0x0f72, 0x0f7a, 0x0f7b, 0x0f7c, 0x0f7d, 0x0f80, 0x0f74]);\nlet DIACRITICS_EXCEPTION_STR;\nconst DIACRITICS_REG_EXP = /\\p{M}+/gu;\nconst SPECIAL_CHARS_REG_EXP = /([.*+?^${}()|[\\]\\\\])|(\\p{P})|(\\s+)|(\\p{M})|(\\p{L})/gu;\nconst NOT_DIACRITIC_FROM_END_REG_EXP = /([^\\p{M}])\\p{M}*$/u;\nconst NOT_DIACRITIC_FROM_START_REG_EXP = /^\\p{M}*([^\\p{M}])/u;\nconst SYLLABLES_REG_EXP = /[\\uAC00-\\uD7AF\\uFA6C\\uFACF-\\uFAD1\\uFAD5-\\uFAD7]+/g;\nconst SYLLABLES_LENGTHS = new Map();\nconst FIRST_CHAR_SYLLABLES_REG_EXP = \"[\\\\u1100-\\\\u1112\\\\ud7a4-\\\\ud7af\\\\ud84a\\\\ud84c\\\\ud850\\\\ud854\\\\ud857\\\\ud85f]\";\nconst NFKC_CHARS_TO_NORMALIZE = new Map();\nlet noSyllablesRegExp = null;\nlet withSyllablesRegExp = null;\nfunction normalize(text) {\n const syllablePositions = [];\n let m;\n while ((m = SYLLABLES_REG_EXP.exec(text)) !== null) {\n let {\n index\n } = m;\n for (const char of m[0]) {\n let len = SYLLABLES_LENGTHS.get(char);\n if (!len) {\n len = char.normalize(\"NFD\").length;\n SYLLABLES_LENGTHS.set(char, len);\n }\n syllablePositions.push([len, index++]);\n }\n }\n let normalizationRegex;\n if (syllablePositions.length === 0 && noSyllablesRegExp) {\n normalizationRegex = noSyllablesRegExp;\n } else if (syllablePositions.length > 0 && withSyllablesRegExp) {\n normalizationRegex = withSyllablesRegExp;\n } else {\n const replace = Object.keys(CHARACTERS_TO_NORMALIZE).join(\"\");\n const toNormalizeWithNFKC = (0, _pdf_find_utils.getNormalizeWithNFKC)();\n const CJK = \"(?:\\\\p{Ideographic}|[\\u3040-\\u30FF])\";\n const HKDiacritics = \"(?:\\u3099|\\u309A)\";\n const regexp = `([${replace}])|([${toNormalizeWithNFKC}])|(${HKDiacritics}\\\\n)|(\\\\p{M}+(?:-\\\\n)?)|(\\\\S-\\\\n)|(${CJK}\\\\n)|(\\\\n)`;\n if (syllablePositions.length === 0) {\n normalizationRegex = noSyllablesRegExp = new RegExp(regexp + \"|(\\\\u0000)\", \"gum\");\n } else {\n normalizationRegex = withSyllablesRegExp = new RegExp(regexp + `|(${FIRST_CHAR_SYLLABLES_REG_EXP})`, \"gum\");\n }\n }\n const rawDiacriticsPositions = [];\n while ((m = DIACRITICS_REG_EXP.exec(text)) !== null) {\n rawDiacriticsPositions.push([m[0].length, m.index]);\n }\n let normalized = text.normalize(\"NFD\");\n const positions = [[0, 0]];\n let rawDiacriticsIndex = 0;\n let syllableIndex = 0;\n let shift = 0;\n let shiftOrigin = 0;\n let eol = 0;\n let hasDiacritics = false;\n normalized = normalized.replace(normalizationRegex, (match, p1, p2, p3, p4, p5, p6, p7, p8, i) => {\n i -= shiftOrigin;\n if (p1) {\n const replacement = CHARACTERS_TO_NORMALIZE[p1];\n const jj = replacement.length;\n for (let j = 1; j < jj; j++) {\n positions.push([i - shift + j, shift - j]);\n }\n shift -= jj - 1;\n return replacement;\n }\n if (p2) {\n let replacement = NFKC_CHARS_TO_NORMALIZE.get(p2);\n if (!replacement) {\n replacement = p2.normalize(\"NFKC\");\n NFKC_CHARS_TO_NORMALIZE.set(p2, replacement);\n }\n const jj = replacement.length;\n for (let j = 1; j < jj; j++) {\n positions.push([i - shift + j, shift - j]);\n }\n shift -= jj - 1;\n return replacement;\n }\n if (p3) {\n hasDiacritics = true;\n if (i + eol === rawDiacriticsPositions[rawDiacriticsIndex]?.[1]) {\n ++rawDiacriticsIndex;\n } else {\n positions.push([i - 1 - shift + 1, shift - 1]);\n shift -= 1;\n shiftOrigin += 1;\n }\n positions.push([i - shift + 1, shift]);\n shiftOrigin += 1;\n eol += 1;\n return p3.charAt(0);\n }\n if (p4) {\n const hasTrailingDashEOL = p4.endsWith(\"\\n\");\n const len = hasTrailingDashEOL ? p4.length - 2 : p4.length;\n hasDiacritics = true;\n let jj = len;\n if (i + eol === rawDiacriticsPositions[rawDiacriticsIndex]?.[1]) {\n jj -= rawDiacriticsPositions[rawDiacriticsIndex][0];\n ++rawDiacriticsIndex;\n }\n for (let j = 1; j <= jj; j++) {\n positions.push([i - 1 - shift + j, shift - j]);\n }\n shift -= jj;\n shiftOrigin += jj;\n if (hasTrailingDashEOL) {\n i += len - 1;\n positions.push([i - shift + 1, 1 + shift]);\n shift += 1;\n shiftOrigin += 1;\n eol += 1;\n return p4.slice(0, len);\n }\n return p4;\n }\n if (p5) {\n const len = p5.length - 2;\n positions.push([i - shift + len, 1 + shift]);\n shift += 1;\n shiftOrigin += 1;\n eol += 1;\n return p5.slice(0, -2);\n }\n if (p6) {\n const len = p6.length - 1;\n positions.push([i - shift + len, shift]);\n shiftOrigin += 1;\n eol += 1;\n return p6.slice(0, -1);\n }\n if (p7) {\n positions.push([i - shift + 1, shift - 1]);\n shift -= 1;\n shiftOrigin += 1;\n eol += 1;\n return \" \";\n }\n if (i + eol === syllablePositions[syllableIndex]?.[1]) {\n const newCharLen = syllablePositions[syllableIndex][0] - 1;\n ++syllableIndex;\n for (let j = 1; j <= newCharLen; j++) {\n positions.push([i - (shift - j), shift - j]);\n }\n shift -= newCharLen;\n shiftOrigin += newCharLen;\n }\n return p8;\n });\n positions.push([normalized.length, shift]);\n return [normalized, positions, hasDiacritics];\n}\nfunction getOriginalIndex(diffs, pos, len) {\n if (!diffs) {\n return [pos, len];\n }\n const start = pos;\n const end = pos + len - 1;\n let i = (0, _ui_utils.binarySearchFirstItem)(diffs, x => x[0] >= start);\n if (diffs[i][0] > start) {\n --i;\n }\n let j = (0, _ui_utils.binarySearchFirstItem)(diffs, x => x[0] >= end, i);\n if (diffs[j][0] > end) {\n --j;\n }\n const oldStart = start + diffs[i][1];\n const oldEnd = end + diffs[j][1];\n const oldLen = oldEnd + 1 - oldStart;\n return [oldStart, oldLen];\n}\nclass PDFFindController {\n #state = null;\n #updateMatchesCountOnProgress = true;\n #visitedPagesCount = 0;\n constructor({\n linkService,\n eventBus,\n updateMatchesCountOnProgress = true\n }) {\n this._linkService = linkService;\n this._eventBus = eventBus;\n this.#updateMatchesCountOnProgress = updateMatchesCountOnProgress;\n this.#reset();\n eventBus._on(\"find\", this.#onFind.bind(this));\n eventBus._on(\"findbarclose\", this.#onFindBarClose.bind(this));\n }\n get highlightMatches() {\n return this._highlightMatches;\n }\n get pageMatches() {\n return this._pageMatches;\n }\n get pageMatchesLength() {\n return this._pageMatchesLength;\n }\n get selected() {\n return this._selected;\n }\n get state() {\n return this.#state;\n }\n setDocument(pdfDocument) {\n if (this._pdfDocument) {\n this.#reset();\n }\n if (!pdfDocument) {\n return;\n }\n this._pdfDocument = pdfDocument;\n this._firstPageCapability.resolve();\n }\n #onFind(state) {\n if (!state) {\n return;\n }\n if (state.phraseSearch === false) {\n console.error(\"The `phraseSearch`-parameter was removed, please provide \" + \"an Array of strings in the `query`-parameter instead.\");\n if (typeof state.query === \"string\") {\n state.query = state.query.match(/\\S+/g);\n }\n }\n const pdfDocument = this._pdfDocument;\n const {\n type\n } = state;\n if (this.#state === null || this.#shouldDirtyMatch(state)) {\n this._dirtyMatch = true;\n }\n this.#state = state;\n if (type !== \"highlightallchange\") {\n this.#updateUIState(FindState.PENDING);\n }\n this._firstPageCapability.promise.then(() => {\n if (!this._pdfDocument || pdfDocument && this._pdfDocument !== pdfDocument) {\n return;\n }\n this.#extractText();\n const findbarClosed = !this._highlightMatches;\n const pendingTimeout = !!this._findTimeout;\n if (this._findTimeout) {\n clearTimeout(this._findTimeout);\n this._findTimeout = null;\n }\n if (!type) {\n this._findTimeout = setTimeout(() => {\n this.#nextMatch();\n this._findTimeout = null;\n }, FIND_TIMEOUT);\n } else if (this._dirtyMatch) {\n this.#nextMatch();\n } else if (type === \"again\") {\n this.#nextMatch();\n if (findbarClosed && this.#state.highlightAll) {\n this.#updateAllPages();\n }\n } else if (type === \"highlightallchange\") {\n if (pendingTimeout) {\n this.#nextMatch();\n } else {\n this._highlightMatches = true;\n }\n this.#updateAllPages();\n } else {\n this.#nextMatch();\n }\n });\n }\n scrollMatchIntoView({\n element = null,\n selectedLeft = 0,\n pageIndex = -1,\n matchIndex = -1\n }) {\n if (!this._scrollMatches || !element) {\n return;\n } else if (matchIndex === -1 || matchIndex !== this._selected.matchIdx) {\n return;\n } else if (pageIndex === -1 || pageIndex !== this._selected.pageIdx) {\n return;\n }\n this._scrollMatches = false;\n const spot = {\n top: MATCH_SCROLL_OFFSET_TOP,\n left: selectedLeft + MATCH_SCROLL_OFFSET_LEFT\n };\n (0, _ui_utils.scrollIntoView)(element, spot, true);\n }\n #reset() {\n this._highlightMatches = false;\n this._scrollMatches = false;\n this._pdfDocument = null;\n this._pageMatches = [];\n this._pageMatchesLength = [];\n this.#visitedPagesCount = 0;\n this.#state = null;\n this._selected = {\n pageIdx: -1,\n matchIdx: -1\n };\n this._offset = {\n pageIdx: null,\n matchIdx: null,\n wrapped: false\n };\n this._extractTextPromises = [];\n this._pageContents = [];\n this._pageDiffs = [];\n this._hasDiacritics = [];\n this._matchesCountTotal = 0;\n this._pagesToSearch = null;\n this._pendingFindMatches = new Set();\n this._resumePageIdx = null;\n this._dirtyMatch = false;\n clearTimeout(this._findTimeout);\n this._findTimeout = null;\n this._firstPageCapability = new _pdfjsLib.PromiseCapability();\n }\n get #query() {\n const {\n query\n } = this.#state;\n if (typeof query === \"string\") {\n if (query !== this._rawQuery) {\n this._rawQuery = query;\n [this._normalizedQuery] = normalize(query);\n }\n return this._normalizedQuery;\n }\n return (query || []).filter(q => !!q).map(q => normalize(q)[0]);\n }\n #shouldDirtyMatch(state) {\n const newQuery = state.query,\n prevQuery = this.#state.query;\n const newType = typeof newQuery,\n prevType = typeof prevQuery;\n if (newType !== prevType) {\n return true;\n }\n if (newType === \"string\") {\n if (newQuery !== prevQuery) {\n return true;\n }\n } else {\n if (JSON.stringify(newQuery) !== JSON.stringify(prevQuery)) {\n return true;\n }\n }\n switch (state.type) {\n case \"again\":\n const pageNumber = this._selected.pageIdx + 1;\n const linkService = this._linkService;\n if (pageNumber >= 1 && pageNumber <= linkService.pagesCount && pageNumber !== linkService.page && !linkService.isPageVisible(pageNumber)) {\n return true;\n }\n return false;\n case \"highlightallchange\":\n return false;\n }\n return true;\n }\n #isEntireWord(content, startIdx, length) {\n let match = content.slice(0, startIdx).match(NOT_DIACRITIC_FROM_END_REG_EXP);\n if (match) {\n const first = content.charCodeAt(startIdx);\n const limit = match[1].charCodeAt(0);\n if ((0, _pdf_find_utils.getCharacterType)(first) === (0, _pdf_find_utils.getCharacterType)(limit)) {\n return false;\n }\n }\n match = content.slice(startIdx + length).match(NOT_DIACRITIC_FROM_START_REG_EXP);\n if (match) {\n const last = content.charCodeAt(startIdx + length - 1);\n const limit = match[1].charCodeAt(0);\n if ((0, _pdf_find_utils.getCharacterType)(last) === (0, _pdf_find_utils.getCharacterType)(limit)) {\n return false;\n }\n }\n return true;\n }\n #calculateRegExpMatch(query, entireWord, pageIndex, pageContent) {\n const matches = this._pageMatches[pageIndex] = [];\n const matchesLength = this._pageMatchesLength[pageIndex] = [];\n if (!query) {\n return;\n }\n const diffs = this._pageDiffs[pageIndex];\n let match;\n while ((match = query.exec(pageContent)) !== null) {\n if (entireWord && !this.#isEntireWord(pageContent, match.index, match[0].length)) {\n continue;\n }\n const [matchPos, matchLen] = getOriginalIndex(diffs, match.index, match[0].length);\n if (matchLen) {\n matches.push(matchPos);\n matchesLength.push(matchLen);\n }\n }\n }\n #convertToRegExpString(query, hasDiacritics) {\n const {\n matchDiacritics\n } = this.#state;\n let isUnicode = false;\n query = query.replaceAll(SPECIAL_CHARS_REG_EXP, (match, p1, p2, p3, p4, p5) => {\n if (p1) {\n return `[ ]*\\\\${p1}[ ]*`;\n }\n if (p2) {\n return `[ ]*${p2}[ ]*`;\n }\n if (p3) {\n return \"[ ]+\";\n }\n if (matchDiacritics) {\n return p4 || p5;\n }\n if (p4) {\n return DIACRITICS_EXCEPTION.has(p4.charCodeAt(0)) ? p4 : \"\";\n }\n if (hasDiacritics) {\n isUnicode = true;\n return `${p5}\\\\p{M}*`;\n }\n return p5;\n });\n const trailingSpaces = \"[ ]*\";\n if (query.endsWith(trailingSpaces)) {\n query = query.slice(0, query.length - trailingSpaces.length);\n }\n if (matchDiacritics) {\n if (hasDiacritics) {\n DIACRITICS_EXCEPTION_STR ||= String.fromCharCode(...DIACRITICS_EXCEPTION);\n isUnicode = true;\n query = `${query}(?=[${DIACRITICS_EXCEPTION_STR}]|[^\\\\p{M}]|$)`;\n }\n }\n return [isUnicode, query];\n }\n #calculateMatch(pageIndex) {\n let query = this.#query;\n if (query.length === 0) {\n return;\n }\n const {\n caseSensitive,\n entireWord\n } = this.#state;\n const pageContent = this._pageContents[pageIndex];\n const hasDiacritics = this._hasDiacritics[pageIndex];\n let isUnicode = false;\n if (typeof query === \"string\") {\n [isUnicode, query] = this.#convertToRegExpString(query, hasDiacritics);\n } else {\n query = query.sort().reverse().map(q => {\n const [isUnicodePart, queryPart] = this.#convertToRegExpString(q, hasDiacritics);\n isUnicode ||= isUnicodePart;\n return `(${queryPart})`;\n }).join(\"|\");\n }\n const flags = `g${isUnicode ? \"u\" : \"\"}${caseSensitive ? \"\" : \"i\"}`;\n query = query ? new RegExp(query, flags) : null;\n this.#calculateRegExpMatch(query, entireWord, pageIndex, pageContent);\n if (this.#state.highlightAll) {\n this.#updatePage(pageIndex);\n }\n if (this._resumePageIdx === pageIndex) {\n this._resumePageIdx = null;\n this.#nextPageMatch();\n }\n const pageMatchesCount = this._pageMatches[pageIndex].length;\n this._matchesCountTotal += pageMatchesCount;\n if (this.#updateMatchesCountOnProgress) {\n if (pageMatchesCount > 0) {\n this.#updateUIResultsCount();\n }\n } else if (++this.#visitedPagesCount === this._linkService.pagesCount) {\n this.#updateUIResultsCount();\n }\n }\n #extractText() {\n if (this._extractTextPromises.length > 0) {\n return;\n }\n let promise = Promise.resolve();\n const textOptions = {\n disableNormalization: true\n };\n for (let i = 0, ii = this._linkService.pagesCount; i < ii; i++) {\n const extractTextCapability = new _pdfjsLib.PromiseCapability();\n this._extractTextPromises[i] = extractTextCapability.promise;\n promise = promise.then(() => {\n return this._pdfDocument.getPage(i + 1).then(pdfPage => {\n return pdfPage.getTextContent(textOptions);\n }).then(textContent => {\n const strBuf = [];\n for (const textItem of textContent.items) {\n strBuf.push(textItem.str);\n if (textItem.hasEOL) {\n strBuf.push(\"\\n\");\n }\n }\n [this._pageContents[i], this._pageDiffs[i], this._hasDiacritics[i]] = normalize(strBuf.join(\"\"));\n extractTextCapability.resolve();\n }, reason => {\n console.error(`Unable to get text content for page ${i + 1}`, reason);\n this._pageContents[i] = \"\";\n this._pageDiffs[i] = null;\n this._hasDiacritics[i] = false;\n extractTextCapability.resolve();\n });\n });\n }\n }\n #updatePage(index) {\n if (this._scrollMatches && this._selected.pageIdx === index) {\n this._linkService.page = index + 1;\n }\n this._eventBus.dispatch(\"updatetextlayermatches\", {\n source: this,\n pageIndex: index\n });\n }\n #updateAllPages() {\n this._eventBus.dispatch(\"updatetextlayermatches\", {\n source: this,\n pageIndex: -1\n });\n }\n #nextMatch() {\n const previous = this.#state.findPrevious;\n const currentPageIndex = this._linkService.page - 1;\n const numPages = this._linkService.pagesCount;\n this._highlightMatches = true;\n if (this._dirtyMatch) {\n this._dirtyMatch = false;\n this._selected.pageIdx = this._selected.matchIdx = -1;\n this._offset.pageIdx = currentPageIndex;\n this._offset.matchIdx = null;\n this._offset.wrapped = false;\n this._resumePageIdx = null;\n this._pageMatches.length = 0;\n this._pageMatchesLength.length = 0;\n this.#visitedPagesCount = 0;\n this._matchesCountTotal = 0;\n this.#updateAllPages();\n for (let i = 0; i < numPages; i++) {\n if (this._pendingFindMatches.has(i)) {\n continue;\n }\n this._pendingFindMatches.add(i);\n this._extractTextPromises[i].then(() => {\n this._pendingFindMatches.delete(i);\n this.#calculateMatch(i);\n });\n }\n }\n const query = this.#query;\n if (query.length === 0) {\n this.#updateUIState(FindState.FOUND);\n return;\n }\n if (this._resumePageIdx) {\n return;\n }\n const offset = this._offset;\n this._pagesToSearch = numPages;\n if (offset.matchIdx !== null) {\n const numPageMatches = this._pageMatches[offset.pageIdx].length;\n if (!previous && offset.matchIdx + 1 < numPageMatches || previous && offset.matchIdx > 0) {\n offset.matchIdx = previous ? offset.matchIdx - 1 : offset.matchIdx + 1;\n this.#updateMatch(true);\n return;\n }\n this.#advanceOffsetPage(previous);\n }\n this.#nextPageMatch();\n }\n #matchesReady(matches) {\n const offset = this._offset;\n const numMatches = matches.length;\n const previous = this.#state.findPrevious;\n if (numMatches) {\n offset.matchIdx = previous ? numMatches - 1 : 0;\n this.#updateMatch(true);\n return true;\n }\n this.#advanceOffsetPage(previous);\n if (offset.wrapped) {\n offset.matchIdx = null;\n if (this._pagesToSearch < 0) {\n this.#updateMatch(false);\n return true;\n }\n }\n return false;\n }\n #nextPageMatch() {\n if (this._resumePageIdx !== null) {\n console.error(\"There can only be one pending page.\");\n }\n let matches = null;\n do {\n const pageIdx = this._offset.pageIdx;\n matches = this._pageMatches[pageIdx];\n if (!matches) {\n this._resumePageIdx = pageIdx;\n break;\n }\n } while (!this.#matchesReady(matches));\n }\n #advanceOffsetPage(previous) {\n const offset = this._offset;\n const numPages = this._linkService.pagesCount;\n offset.pageIdx = previous ? offset.pageIdx - 1 : offset.pageIdx + 1;\n offset.matchIdx = null;\n this._pagesToSearch--;\n if (offset.pageIdx >= numPages || offset.pageIdx < 0) {\n offset.pageIdx = previous ? numPages - 1 : 0;\n offset.wrapped = true;\n }\n }\n #updateMatch(found = false) {\n let state = FindState.NOT_FOUND;\n const wrapped = this._offset.wrapped;\n this._offset.wrapped = false;\n if (found) {\n const previousPage = this._selected.pageIdx;\n this._selected.pageIdx = this._offset.pageIdx;\n this._selected.matchIdx = this._offset.matchIdx;\n state = wrapped ? FindState.WRAPPED : FindState.FOUND;\n if (previousPage !== -1 && previousPage !== this._selected.pageIdx) {\n this.#updatePage(previousPage);\n }\n }\n this.#updateUIState(state, this.#state.findPrevious);\n if (this._selected.pageIdx !== -1) {\n this._scrollMatches = true;\n this.#updatePage(this._selected.pageIdx);\n }\n }\n #onFindBarClose(evt) {\n const pdfDocument = this._pdfDocument;\n this._firstPageCapability.promise.then(() => {\n if (!this._pdfDocument || pdfDocument && this._pdfDocument !== pdfDocument) {\n return;\n }\n if (this._findTimeout) {\n clearTimeout(this._findTimeout);\n this._findTimeout = null;\n }\n if (this._resumePageIdx) {\n this._resumePageIdx = null;\n this._dirtyMatch = true;\n }\n this.#updateUIState(FindState.FOUND);\n this._highlightMatches = false;\n this.#updateAllPages();\n });\n }\n #requestMatchesCount() {\n const {\n pageIdx,\n matchIdx\n } = this._selected;\n let current = 0,\n total = this._matchesCountTotal;\n if (matchIdx !== -1) {\n for (let i = 0; i < pageIdx; i++) {\n current += this._pageMatches[i]?.length || 0;\n }\n current += matchIdx + 1;\n }\n if (current < 1 || current > total) {\n current = total = 0;\n }\n return {\n current,\n total\n };\n }\n #updateUIResultsCount() {\n this._eventBus.dispatch(\"updatefindmatchescount\", {\n source: this,\n matchesCount: this.#requestMatchesCount()\n });\n }\n #updateUIState(state, previous = false) {\n if (!this.#updateMatchesCountOnProgress && (this.#visitedPagesCount !== this._linkService.pagesCount || state === FindState.PENDING)) {\n return;\n }\n this._eventBus.dispatch(\"updatefindcontrolstate\", {\n source: this,\n state,\n previous,\n matchesCount: this.#requestMatchesCount(),\n rawQuery: this.#state?.query ?? null\n });\n }\n}\nexports.PDFFindController = PDFFindController;\n\n/***/ }),\n/* 11 */\n/***/ ((__unused_webpack_module, exports) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.CharacterType = void 0;\nexports.getCharacterType = getCharacterType;\nexports.getNormalizeWithNFKC = getNormalizeWithNFKC;\nconst CharacterType = {\n SPACE: 0,\n ALPHA_LETTER: 1,\n PUNCT: 2,\n HAN_LETTER: 3,\n KATAKANA_LETTER: 4,\n HIRAGANA_LETTER: 5,\n HALFWIDTH_KATAKANA_LETTER: 6,\n THAI_LETTER: 7\n};\nexports.CharacterType = CharacterType;\nfunction isAlphabeticalScript(charCode) {\n return charCode < 0x2e80;\n}\nfunction isAscii(charCode) {\n return (charCode & 0xff80) === 0;\n}\nfunction isAsciiAlpha(charCode) {\n return charCode >= 0x61 && charCode <= 0x7a || charCode >= 0x41 && charCode <= 0x5a;\n}\nfunction isAsciiDigit(charCode) {\n return charCode >= 0x30 && charCode <= 0x39;\n}\nfunction isAsciiSpace(charCode) {\n return charCode === 0x20 || charCode === 0x09 || charCode === 0x0d || charCode === 0x0a;\n}\nfunction isHan(charCode) {\n return charCode >= 0x3400 && charCode <= 0x9fff || charCode >= 0xf900 && charCode <= 0xfaff;\n}\nfunction isKatakana(charCode) {\n return charCode >= 0x30a0 && charCode <= 0x30ff;\n}\nfunction isHiragana(charCode) {\n return charCode >= 0x3040 && charCode <= 0x309f;\n}\nfunction isHalfwidthKatakana(charCode) {\n return charCode >= 0xff60 && charCode <= 0xff9f;\n}\nfunction isThai(charCode) {\n return (charCode & 0xff80) === 0x0e00;\n}\nfunction getCharacterType(charCode) {\n if (isAlphabeticalScript(charCode)) {\n if (isAscii(charCode)) {\n if (isAsciiSpace(charCode)) {\n return CharacterType.SPACE;\n } else if (isAsciiAlpha(charCode) || isAsciiDigit(charCode) || charCode === 0x5f) {\n return CharacterType.ALPHA_LETTER;\n }\n return CharacterType.PUNCT;\n } else if (isThai(charCode)) {\n return CharacterType.THAI_LETTER;\n } else if (charCode === 0xa0) {\n return CharacterType.SPACE;\n }\n return CharacterType.ALPHA_LETTER;\n }\n if (isHan(charCode)) {\n return CharacterType.HAN_LETTER;\n } else if (isKatakana(charCode)) {\n return CharacterType.KATAKANA_LETTER;\n } else if (isHiragana(charCode)) {\n return CharacterType.HIRAGANA_LETTER;\n } else if (isHalfwidthKatakana(charCode)) {\n return CharacterType.HALFWIDTH_KATAKANA_LETTER;\n }\n return CharacterType.ALPHA_LETTER;\n}\nlet NormalizeWithNFKC;\nfunction getNormalizeWithNFKC() {\n NormalizeWithNFKC ||= ` ¨ª¯²-µ¸-º¼-¾IJ-ijĿ-ŀʼnſDŽ-njDZ-dzʰ-ʸ˘-˝ˠ-ˤʹͺ;΄-΅·ϐ-ϖϰ-ϲϴ-ϵϹևٵ-ٸक़-य़ড়-ঢ়য়ਲ਼ਸ਼ਖ਼-ਜ਼ਫ਼ଡ଼-ଢ଼ำຳໜ-ໝ༌གྷཌྷདྷབྷཛྷཀྵჼᴬ-ᴮᴰ-ᴺᴼ-ᵍᵏ-ᵪᵸᶛ-ᶿẚ-ẛάέήίόύώΆ᾽-῁ΈΉ῍-῏ΐΊ῝-῟ΰΎ῭-`ΌΏ´-῾ - ‑‗․-… ″-‴‶-‷‼‾⁇-⁉⁗ ⁰-ⁱ⁴-₎ₐ-ₜ₨℀-℃℅-ℇ℉-ℓℕ-№ℙ-ℝ℠-™ℤΩℨK-ℭℯ-ℱℳ-ℹ℻-⅀ⅅ-ⅉ⅐-ⅿ↉∬-∭∯-∰〈-〉①-⓪⨌⩴-⩶⫝̸ⱼ-ⱽⵯ⺟⻳⼀-⿕ 〶〸-〺゛-゜ゟヿㄱ-ㆎ㆒-㆟㈀-㈞㈠-㉇㉐-㉾㊀-㏿ꚜ-ꚝꝰꟲ-ꟴꟸ-ꟹꭜ-ꭟꭩ豈-嗀塚晴凞-羽蘒諸逸-都飯-舘並-龎ff-stﬓ-ﬗיִײַ-זּטּ-לּמּנּ-סּףּ-פּצּ-ﮱﯓ-ﴽﵐ-ﶏﶒ-ﷇﷰ-﷼︐-︙︰-﹄﹇-﹒﹔-﹦﹨-﹫ﹰ-ﹲﹴﹶ-ﻼ!-하-ᅦᅧ-ᅬᅭ-ᅲᅳ-ᅵ¢-₩`;\n return NormalizeWithNFKC;\n}\n\n/***/ }),\n/* 12 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.PDFHistory = void 0;\nexports.isDestArraysEqual = isDestArraysEqual;\nexports.isDestHashesEqual = isDestHashesEqual;\nvar _ui_utils = __w_pdfjs_require__(2);\nvar _event_utils = __w_pdfjs_require__(7);\nconst HASH_CHANGE_TIMEOUT = 1000;\nconst POSITION_UPDATED_THRESHOLD = 50;\nconst UPDATE_VIEWAREA_TIMEOUT = 1000;\nfunction getCurrentHash() {\n return document.location.hash;\n}\nclass PDFHistory {\n constructor({\n linkService,\n eventBus\n }) {\n this.linkService = linkService;\n this.eventBus = eventBus;\n this._initialized = false;\n this._fingerprint = \"\";\n this.reset();\n this._boundEvents = null;\n this.eventBus._on(\"pagesinit\", () => {\n this._isPagesLoaded = false;\n this.eventBus._on(\"pagesloaded\", evt => {\n this._isPagesLoaded = !!evt.pagesCount;\n }, {\n once: true\n });\n });\n }\n initialize({\n fingerprint,\n resetHistory = false,\n updateUrl = false\n }) {\n if (!fingerprint || typeof fingerprint !== \"string\") {\n console.error('PDFHistory.initialize: The \"fingerprint\" must be a non-empty string.');\n return;\n }\n if (this._initialized) {\n this.reset();\n }\n const reInitialized = this._fingerprint !== \"\" && this._fingerprint !== fingerprint;\n this._fingerprint = fingerprint;\n this._updateUrl = updateUrl === true;\n this._initialized = true;\n this._bindEvents();\n const state = window.history.state;\n this._popStateInProgress = false;\n this._blockHashChange = 0;\n this._currentHash = getCurrentHash();\n this._numPositionUpdates = 0;\n this._uid = this._maxUid = 0;\n this._destination = null;\n this._position = null;\n if (!this._isValidState(state, true) || resetHistory) {\n const {\n hash,\n page,\n rotation\n } = this._parseCurrentHash(true);\n if (!hash || reInitialized || resetHistory) {\n this._pushOrReplaceState(null, true);\n return;\n }\n this._pushOrReplaceState({\n hash,\n page,\n rotation\n }, true);\n return;\n }\n const destination = state.destination;\n this._updateInternalState(destination, state.uid, true);\n if (destination.rotation !== undefined) {\n this._initialRotation = destination.rotation;\n }\n if (destination.dest) {\n this._initialBookmark = JSON.stringify(destination.dest);\n this._destination.page = null;\n } else if (destination.hash) {\n this._initialBookmark = destination.hash;\n } else if (destination.page) {\n this._initialBookmark = `page=${destination.page}`;\n }\n }\n reset() {\n if (this._initialized) {\n this._pageHide();\n this._initialized = false;\n this._unbindEvents();\n }\n if (this._updateViewareaTimeout) {\n clearTimeout(this._updateViewareaTimeout);\n this._updateViewareaTimeout = null;\n }\n this._initialBookmark = null;\n this._initialRotation = null;\n }\n push({\n namedDest = null,\n explicitDest,\n pageNumber\n }) {\n if (!this._initialized) {\n return;\n }\n if (namedDest && typeof namedDest !== \"string\") {\n console.error(\"PDFHistory.push: \" + `\"${namedDest}\" is not a valid namedDest parameter.`);\n return;\n } else if (!Array.isArray(explicitDest)) {\n console.error(\"PDFHistory.push: \" + `\"${explicitDest}\" is not a valid explicitDest parameter.`);\n return;\n } else if (!this._isValidPage(pageNumber)) {\n if (pageNumber !== null || this._destination) {\n console.error(\"PDFHistory.push: \" + `\"${pageNumber}\" is not a valid pageNumber parameter.`);\n return;\n }\n }\n const hash = namedDest || JSON.stringify(explicitDest);\n if (!hash) {\n return;\n }\n let forceReplace = false;\n if (this._destination && (isDestHashesEqual(this._destination.hash, hash) || isDestArraysEqual(this._destination.dest, explicitDest))) {\n if (this._destination.page) {\n return;\n }\n forceReplace = true;\n }\n if (this._popStateInProgress && !forceReplace) {\n return;\n }\n this._pushOrReplaceState({\n dest: explicitDest,\n hash,\n page: pageNumber,\n rotation: this.linkService.rotation\n }, forceReplace);\n if (!this._popStateInProgress) {\n this._popStateInProgress = true;\n Promise.resolve().then(() => {\n this._popStateInProgress = false;\n });\n }\n }\n pushPage(pageNumber) {\n if (!this._initialized) {\n return;\n }\n if (!this._isValidPage(pageNumber)) {\n console.error(`PDFHistory.pushPage: \"${pageNumber}\" is not a valid page number.`);\n return;\n }\n if (this._destination?.page === pageNumber) {\n return;\n }\n if (this._popStateInProgress) {\n return;\n }\n this._pushOrReplaceState({\n dest: null,\n hash: `page=${pageNumber}`,\n page: pageNumber,\n rotation: this.linkService.rotation\n });\n if (!this._popStateInProgress) {\n this._popStateInProgress = true;\n Promise.resolve().then(() => {\n this._popStateInProgress = false;\n });\n }\n }\n pushCurrentPosition() {\n if (!this._initialized || this._popStateInProgress) {\n return;\n }\n this._tryPushCurrentPosition();\n }\n back() {\n if (!this._initialized || this._popStateInProgress) {\n return;\n }\n const state = window.history.state;\n if (this._isValidState(state) && state.uid > 0) {\n window.history.back();\n }\n }\n forward() {\n if (!this._initialized || this._popStateInProgress) {\n return;\n }\n const state = window.history.state;\n if (this._isValidState(state) && state.uid < this._maxUid) {\n window.history.forward();\n }\n }\n get popStateInProgress() {\n return this._initialized && (this._popStateInProgress || this._blockHashChange > 0);\n }\n get initialBookmark() {\n return this._initialized ? this._initialBookmark : null;\n }\n get initialRotation() {\n return this._initialized ? this._initialRotation : null;\n }\n _pushOrReplaceState(destination, forceReplace = false) {\n const shouldReplace = forceReplace || !this._destination;\n const newState = {\n fingerprint: this._fingerprint,\n uid: shouldReplace ? this._uid : this._uid + 1,\n destination\n };\n this._updateInternalState(destination, newState.uid);\n let newUrl;\n if (this._updateUrl && destination?.hash) {\n const baseUrl = document.location.href.split(\"#\")[0];\n if (!baseUrl.startsWith(\"file://\")) {\n newUrl = `${baseUrl}#${destination.hash}`;\n }\n }\n if (shouldReplace) {\n window.history.replaceState(newState, \"\", newUrl);\n } else {\n window.history.pushState(newState, \"\", newUrl);\n }\n }\n _tryPushCurrentPosition(temporary = false) {\n if (!this._position) {\n return;\n }\n let position = this._position;\n if (temporary) {\n position = Object.assign(Object.create(null), this._position);\n position.temporary = true;\n }\n if (!this._destination) {\n this._pushOrReplaceState(position);\n return;\n }\n if (this._destination.temporary) {\n this._pushOrReplaceState(position, true);\n return;\n }\n if (this._destination.hash === position.hash) {\n return;\n }\n if (!this._destination.page && (POSITION_UPDATED_THRESHOLD <= 0 || this._numPositionUpdates <= POSITION_UPDATED_THRESHOLD)) {\n return;\n }\n let forceReplace = false;\n if (this._destination.page >= position.first && this._destination.page <= position.page) {\n if (this._destination.dest !== undefined || !this._destination.first) {\n return;\n }\n forceReplace = true;\n }\n this._pushOrReplaceState(position, forceReplace);\n }\n _isValidPage(val) {\n return Number.isInteger(val) && val > 0 && val <= this.linkService.pagesCount;\n }\n _isValidState(state, checkReload = false) {\n if (!state) {\n return false;\n }\n if (state.fingerprint !== this._fingerprint) {\n if (checkReload) {\n if (typeof state.fingerprint !== \"string\" || state.fingerprint.length !== this._fingerprint.length) {\n return false;\n }\n const [perfEntry] = performance.getEntriesByType(\"navigation\");\n if (perfEntry?.type !== \"reload\") {\n return false;\n }\n } else {\n return false;\n }\n }\n if (!Number.isInteger(state.uid) || state.uid < 0) {\n return false;\n }\n if (state.destination === null || typeof state.destination !== \"object\") {\n return false;\n }\n return true;\n }\n _updateInternalState(destination, uid, removeTemporary = false) {\n if (this._updateViewareaTimeout) {\n clearTimeout(this._updateViewareaTimeout);\n this._updateViewareaTimeout = null;\n }\n if (removeTemporary && destination?.temporary) {\n delete destination.temporary;\n }\n this._destination = destination;\n this._uid = uid;\n this._maxUid = Math.max(this._maxUid, uid);\n this._numPositionUpdates = 0;\n }\n _parseCurrentHash(checkNameddest = false) {\n const hash = unescape(getCurrentHash()).substring(1);\n const params = (0, _ui_utils.parseQueryString)(hash);\n const nameddest = params.get(\"nameddest\") || \"\";\n let page = params.get(\"page\") | 0;\n if (!this._isValidPage(page) || checkNameddest && nameddest.length > 0) {\n page = null;\n }\n return {\n hash,\n page,\n rotation: this.linkService.rotation\n };\n }\n _updateViewarea({\n location\n }) {\n if (this._updateViewareaTimeout) {\n clearTimeout(this._updateViewareaTimeout);\n this._updateViewareaTimeout = null;\n }\n this._position = {\n hash: location.pdfOpenParams.substring(1),\n page: this.linkService.page,\n first: location.pageNumber,\n rotation: location.rotation\n };\n if (this._popStateInProgress) {\n return;\n }\n if (POSITION_UPDATED_THRESHOLD > 0 && this._isPagesLoaded && this._destination && !this._destination.page) {\n this._numPositionUpdates++;\n }\n if (UPDATE_VIEWAREA_TIMEOUT > 0) {\n this._updateViewareaTimeout = setTimeout(() => {\n if (!this._popStateInProgress) {\n this._tryPushCurrentPosition(true);\n }\n this._updateViewareaTimeout = null;\n }, UPDATE_VIEWAREA_TIMEOUT);\n }\n }\n _popState({\n state\n }) {\n const newHash = getCurrentHash(),\n hashChanged = this._currentHash !== newHash;\n this._currentHash = newHash;\n if (!state) {\n this._uid++;\n const {\n hash,\n page,\n rotation\n } = this._parseCurrentHash();\n this._pushOrReplaceState({\n hash,\n page,\n rotation\n }, true);\n return;\n }\n if (!this._isValidState(state)) {\n return;\n }\n this._popStateInProgress = true;\n if (hashChanged) {\n this._blockHashChange++;\n (0, _event_utils.waitOnEventOrTimeout)({\n target: window,\n name: \"hashchange\",\n delay: HASH_CHANGE_TIMEOUT\n }).then(() => {\n this._blockHashChange--;\n });\n }\n const destination = state.destination;\n this._updateInternalState(destination, state.uid, true);\n if ((0, _ui_utils.isValidRotation)(destination.rotation)) {\n this.linkService.rotation = destination.rotation;\n }\n if (destination.dest) {\n this.linkService.goToDestination(destination.dest);\n } else if (destination.hash) {\n this.linkService.setHash(destination.hash);\n } else if (destination.page) {\n this.linkService.page = destination.page;\n }\n Promise.resolve().then(() => {\n this._popStateInProgress = false;\n });\n }\n _pageHide() {\n if (!this._destination || this._destination.temporary) {\n this._tryPushCurrentPosition();\n }\n }\n _bindEvents() {\n if (this._boundEvents) {\n return;\n }\n this._boundEvents = {\n updateViewarea: this._updateViewarea.bind(this),\n popState: this._popState.bind(this),\n pageHide: this._pageHide.bind(this)\n };\n this.eventBus._on(\"updateviewarea\", this._boundEvents.updateViewarea);\n window.addEventListener(\"popstate\", this._boundEvents.popState);\n window.addEventListener(\"pagehide\", this._boundEvents.pageHide);\n }\n _unbindEvents() {\n if (!this._boundEvents) {\n return;\n }\n this.eventBus._off(\"updateviewarea\", this._boundEvents.updateViewarea);\n window.removeEventListener(\"popstate\", this._boundEvents.popState);\n window.removeEventListener(\"pagehide\", this._boundEvents.pageHide);\n this._boundEvents = null;\n }\n}\nexports.PDFHistory = PDFHistory;\nfunction isDestHashesEqual(destHash, pushHash) {\n if (typeof destHash !== \"string\" || typeof pushHash !== \"string\") {\n return false;\n }\n if (destHash === pushHash) {\n return true;\n }\n const nameddest = (0, _ui_utils.parseQueryString)(destHash).get(\"nameddest\");\n if (nameddest === pushHash) {\n return true;\n }\n return false;\n}\nfunction isDestArraysEqual(firstDest, secondDest) {\n function isEntryEqual(first, second) {\n if (typeof first !== typeof second) {\n return false;\n }\n if (Array.isArray(first) || Array.isArray(second)) {\n return false;\n }\n if (first !== null && typeof first === \"object\" && second !== null) {\n if (Object.keys(first).length !== Object.keys(second).length) {\n return false;\n }\n for (const key in first) {\n if (!isEntryEqual(first[key], second[key])) {\n return false;\n }\n }\n return true;\n }\n return first === second || Number.isNaN(first) && Number.isNaN(second);\n }\n if (!(Array.isArray(firstDest) && Array.isArray(secondDest))) {\n return false;\n }\n if (firstDest.length !== secondDest.length) {\n return false;\n }\n for (let i = 0, ii = firstDest.length; i < ii; i++) {\n if (!isEntryEqual(firstDest[i], secondDest[i])) {\n return false;\n }\n }\n return true;\n}\n\n/***/ }),\n/* 13 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.PDFPageView = void 0;\nvar _pdfjsLib = __w_pdfjs_require__(4);\nvar _ui_utils = __w_pdfjs_require__(2);\nvar _annotation_editor_layer_builder = __w_pdfjs_require__(14);\nvar _annotation_layer_builder = __w_pdfjs_require__(3);\nvar _app_options = __w_pdfjs_require__(15);\nvar _l10n_utils = __w_pdfjs_require__(5);\nvar _pdf_link_service = __w_pdfjs_require__(1);\nvar _struct_tree_layer_builder = __w_pdfjs_require__(16);\nvar _text_accessibility = __w_pdfjs_require__(17);\nvar _text_highlighter = __w_pdfjs_require__(18);\nvar _text_layer_builder = __w_pdfjs_require__(19);\nvar _xfa_layer_builder = __w_pdfjs_require__(20);\nconst MAX_CANVAS_PIXELS = _app_options.compatibilityParams.maxCanvasPixels || 16777216;\nconst DEFAULT_LAYER_PROPERTIES = () => {\n return {\n annotationEditorUIManager: null,\n annotationStorage: null,\n downloadManager: null,\n enableScripting: false,\n fieldObjectsPromise: null,\n findController: null,\n hasJSActionsPromise: null,\n get linkService() {\n return new _pdf_link_service.SimpleLinkService();\n }\n };\n};\nclass PDFPageView {\n #annotationMode = _pdfjsLib.AnnotationMode.ENABLE_FORMS;\n #layerProperties = null;\n #loadingId = null;\n #previousRotation = null;\n #renderError = null;\n #renderingState = _ui_utils.RenderingStates.INITIAL;\n #textLayerMode = _ui_utils.TextLayerMode.ENABLE;\n #useThumbnailCanvas = {\n initialOptionalContent: true,\n regularAnnotations: true\n };\n #viewportMap = new WeakMap();\n constructor(options) {\n const container = options.container;\n const defaultViewport = options.defaultViewport;\n this.id = options.id;\n this.renderingId = \"page\" + this.id;\n this.#layerProperties = options.layerProperties || DEFAULT_LAYER_PROPERTIES;\n this.pdfPage = null;\n this.pageLabel = null;\n this.rotation = 0;\n this.scale = options.scale || _ui_utils.DEFAULT_SCALE;\n this.viewport = defaultViewport;\n this.pdfPageRotate = defaultViewport.rotation;\n this._optionalContentConfigPromise = options.optionalContentConfigPromise || null;\n this.hasRestrictedScaling = false;\n this.#textLayerMode = options.textLayerMode ?? _ui_utils.TextLayerMode.ENABLE;\n this.#annotationMode = options.annotationMode ?? _pdfjsLib.AnnotationMode.ENABLE_FORMS;\n this.imageResourcesPath = options.imageResourcesPath || \"\";\n this.useOnlyCssZoom = options.useOnlyCssZoom || false;\n this.isOffscreenCanvasSupported = options.isOffscreenCanvasSupported ?? true;\n this.maxCanvasPixels = options.maxCanvasPixels || MAX_CANVAS_PIXELS;\n this.pageColors = options.pageColors || null;\n this.eventBus = options.eventBus;\n this.renderingQueue = options.renderingQueue;\n this.l10n = options.l10n || _l10n_utils.NullL10n;\n this.renderTask = null;\n this.resume = null;\n this._isStandalone = !this.renderingQueue?.hasViewer();\n this._annotationCanvasMap = null;\n this.annotationLayer = null;\n this.annotationEditorLayer = null;\n this.textLayer = null;\n this.zoomLayer = null;\n this.xfaLayer = null;\n this.structTreeLayer = null;\n const div = document.createElement(\"div\");\n div.className = \"page\";\n div.setAttribute(\"data-page-number\", this.id);\n div.setAttribute(\"role\", \"region\");\n this.l10n.get(\"page_landmark\", {\n page: this.id\n }).then(msg => {\n div.setAttribute(\"aria-label\", msg);\n });\n this.div = div;\n this.#setDimensions();\n container?.append(div);\n if (this._isStandalone) {\n container?.style.setProperty(\"--scale-factor\", this.scale * _pdfjsLib.PixelsPerInch.PDF_TO_CSS_UNITS);\n const {\n optionalContentConfigPromise\n } = options;\n if (optionalContentConfigPromise) {\n optionalContentConfigPromise.then(optionalContentConfig => {\n if (optionalContentConfigPromise !== this._optionalContentConfigPromise) {\n return;\n }\n this.#useThumbnailCanvas.initialOptionalContent = optionalContentConfig.hasInitialVisibility;\n });\n }\n }\n }\n get renderingState() {\n return this.#renderingState;\n }\n set renderingState(state) {\n if (state === this.#renderingState) {\n return;\n }\n this.#renderingState = state;\n if (this.#loadingId) {\n clearTimeout(this.#loadingId);\n this.#loadingId = null;\n }\n switch (state) {\n case _ui_utils.RenderingStates.PAUSED:\n this.div.classList.remove(\"loading\");\n break;\n case _ui_utils.RenderingStates.RUNNING:\n this.div.classList.add(\"loadingIcon\");\n this.#loadingId = setTimeout(() => {\n this.div.classList.add(\"loading\");\n this.#loadingId = null;\n }, 0);\n break;\n case _ui_utils.RenderingStates.INITIAL:\n case _ui_utils.RenderingStates.FINISHED:\n this.div.classList.remove(\"loadingIcon\", \"loading\");\n break;\n }\n }\n #setDimensions() {\n const {\n viewport\n } = this;\n if (this.pdfPage) {\n if (this.#previousRotation === viewport.rotation) {\n return;\n }\n this.#previousRotation = viewport.rotation;\n }\n (0, _pdfjsLib.setLayerDimensions)(this.div, viewport, true, false);\n }\n setPdfPage(pdfPage) {\n this.pdfPage = pdfPage;\n this.pdfPageRotate = pdfPage.rotate;\n const totalRotation = (this.rotation + this.pdfPageRotate) % 360;\n this.viewport = pdfPage.getViewport({\n scale: this.scale * _pdfjsLib.PixelsPerInch.PDF_TO_CSS_UNITS,\n rotation: totalRotation\n });\n this.#setDimensions();\n this.reset();\n }\n destroy() {\n this.reset();\n this.pdfPage?.cleanup();\n }\n get _textHighlighter() {\n return (0, _pdfjsLib.shadow)(this, \"_textHighlighter\", new _text_highlighter.TextHighlighter({\n pageIndex: this.id - 1,\n eventBus: this.eventBus,\n findController: this.#layerProperties().findController\n }));\n }\n async #renderAnnotationLayer() {\n let error = null;\n try {\n await this.annotationLayer.render(this.viewport, \"display\");\n } catch (ex) {\n console.error(`#renderAnnotationLayer: \"${ex}\".`);\n error = ex;\n } finally {\n this.eventBus.dispatch(\"annotationlayerrendered\", {\n source: this,\n pageNumber: this.id,\n error\n });\n }\n }\n async #renderAnnotationEditorLayer() {\n let error = null;\n try {\n await this.annotationEditorLayer.render(this.viewport, \"display\");\n } catch (ex) {\n console.error(`#renderAnnotationEditorLayer: \"${ex}\".`);\n error = ex;\n } finally {\n this.eventBus.dispatch(\"annotationeditorlayerrendered\", {\n source: this,\n pageNumber: this.id,\n error\n });\n }\n }\n async #renderXfaLayer() {\n let error = null;\n try {\n const result = await this.xfaLayer.render(this.viewport, \"display\");\n if (result?.textDivs && this._textHighlighter) {\n this.#buildXfaTextContentItems(result.textDivs);\n }\n } catch (ex) {\n console.error(`#renderXfaLayer: \"${ex}\".`);\n error = ex;\n } finally {\n this.eventBus.dispatch(\"xfalayerrendered\", {\n source: this,\n pageNumber: this.id,\n error\n });\n }\n }\n async #renderTextLayer() {\n const {\n pdfPage,\n textLayer,\n viewport\n } = this;\n if (!textLayer) {\n return;\n }\n let error = null;\n try {\n if (!textLayer.renderingDone) {\n const readableStream = pdfPage.streamTextContent({\n includeMarkedContent: true,\n disableNormalization: true\n });\n textLayer.setTextContentSource(readableStream);\n }\n await textLayer.render(viewport);\n } catch (ex) {\n if (ex instanceof _pdfjsLib.AbortException) {\n return;\n }\n console.error(`#renderTextLayer: \"${ex}\".`);\n error = ex;\n }\n this.eventBus.dispatch(\"textlayerrendered\", {\n source: this,\n pageNumber: this.id,\n numTextDivs: textLayer.numTextDivs,\n error\n });\n this.#renderStructTreeLayer();\n }\n async #renderStructTreeLayer() {\n if (!this.textLayer) {\n return;\n }\n this.structTreeLayer ||= new _struct_tree_layer_builder.StructTreeLayerBuilder();\n const tree = await (!this.structTreeLayer.renderingDone ? this.pdfPage.getStructTree() : null);\n const treeDom = this.structTreeLayer?.render(tree);\n if (treeDom) {\n this.canvas?.append(treeDom);\n }\n this.structTreeLayer?.show();\n }\n async #buildXfaTextContentItems(textDivs) {\n const text = await this.pdfPage.getTextContent();\n const items = [];\n for (const item of text.items) {\n items.push(item.str);\n }\n this._textHighlighter.setTextMapping(textDivs, items);\n this._textHighlighter.enable();\n }\n _resetZoomLayer(removeFromDOM = false) {\n if (!this.zoomLayer) {\n return;\n }\n const zoomLayerCanvas = this.zoomLayer.firstChild;\n this.#viewportMap.delete(zoomLayerCanvas);\n zoomLayerCanvas.width = 0;\n zoomLayerCanvas.height = 0;\n if (removeFromDOM) {\n this.zoomLayer.remove();\n }\n this.zoomLayer = null;\n }\n reset({\n keepZoomLayer = false,\n keepAnnotationLayer = false,\n keepAnnotationEditorLayer = false,\n keepXfaLayer = false,\n keepTextLayer = false\n } = {}) {\n this.cancelRendering({\n keepAnnotationLayer,\n keepAnnotationEditorLayer,\n keepXfaLayer,\n keepTextLayer\n });\n this.renderingState = _ui_utils.RenderingStates.INITIAL;\n const div = this.div;\n const childNodes = div.childNodes,\n zoomLayerNode = keepZoomLayer && this.zoomLayer || null,\n annotationLayerNode = keepAnnotationLayer && this.annotationLayer?.div || null,\n annotationEditorLayerNode = keepAnnotationEditorLayer && this.annotationEditorLayer?.div || null,\n xfaLayerNode = keepXfaLayer && this.xfaLayer?.div || null,\n textLayerNode = keepTextLayer && this.textLayer?.div || null;\n for (let i = childNodes.length - 1; i >= 0; i--) {\n const node = childNodes[i];\n switch (node) {\n case zoomLayerNode:\n case annotationLayerNode:\n case annotationEditorLayerNode:\n case xfaLayerNode:\n case textLayerNode:\n continue;\n }\n node.remove();\n }\n div.removeAttribute(\"data-loaded\");\n if (annotationLayerNode) {\n this.annotationLayer.hide();\n }\n if (annotationEditorLayerNode) {\n this.annotationEditorLayer.hide();\n }\n if (xfaLayerNode) {\n this.xfaLayer.hide();\n }\n if (textLayerNode) {\n this.textLayer.hide();\n }\n this.structTreeLayer?.hide();\n if (!zoomLayerNode) {\n if (this.canvas) {\n this.#viewportMap.delete(this.canvas);\n this.canvas.width = 0;\n this.canvas.height = 0;\n delete this.canvas;\n }\n this._resetZoomLayer();\n }\n }\n update({\n scale = 0,\n rotation = null,\n optionalContentConfigPromise = null,\n drawingDelay = -1\n }) {\n this.scale = scale || this.scale;\n if (typeof rotation === \"number\") {\n this.rotation = rotation;\n }\n if (optionalContentConfigPromise instanceof Promise) {\n this._optionalContentConfigPromise = optionalContentConfigPromise;\n optionalContentConfigPromise.then(optionalContentConfig => {\n if (optionalContentConfigPromise !== this._optionalContentConfigPromise) {\n return;\n }\n this.#useThumbnailCanvas.initialOptionalContent = optionalContentConfig.hasInitialVisibility;\n });\n }\n const totalRotation = (this.rotation + this.pdfPageRotate) % 360;\n this.viewport = this.viewport.clone({\n scale: this.scale * _pdfjsLib.PixelsPerInch.PDF_TO_CSS_UNITS,\n rotation: totalRotation\n });\n this.#setDimensions();\n if (this._isStandalone) {\n this.div.parentNode?.style.setProperty(\"--scale-factor\", this.viewport.scale);\n }\n let isScalingRestricted = false;\n if (this.canvas && this.maxCanvasPixels > 0) {\n const {\n width,\n height\n } = this.viewport;\n const {\n sx,\n sy\n } = this.outputScale;\n if ((Math.floor(width) * sx | 0) * (Math.floor(height) * sy | 0) > this.maxCanvasPixels) {\n isScalingRestricted = true;\n }\n }\n const onlyCssZoom = this.useOnlyCssZoom || this.hasRestrictedScaling && isScalingRestricted;\n const postponeDrawing = !onlyCssZoom && drawingDelay >= 0 && drawingDelay < 1000;\n if (this.canvas) {\n if (postponeDrawing || onlyCssZoom) {\n if (postponeDrawing && this.renderingState !== _ui_utils.RenderingStates.FINISHED) {\n this.cancelRendering({\n keepZoomLayer: true,\n keepAnnotationLayer: true,\n keepAnnotationEditorLayer: true,\n keepXfaLayer: true,\n keepTextLayer: true,\n cancelExtraDelay: drawingDelay\n });\n this.renderingState = _ui_utils.RenderingStates.FINISHED;\n }\n this.cssTransform({\n target: this.canvas,\n redrawAnnotationLayer: true,\n redrawAnnotationEditorLayer: true,\n redrawXfaLayer: true,\n redrawTextLayer: !postponeDrawing,\n hideTextLayer: postponeDrawing\n });\n this.eventBus.dispatch(\"pagerendered\", {\n source: this,\n pageNumber: this.id,\n cssTransform: true,\n timestamp: performance.now(),\n error: this.#renderError\n });\n return;\n }\n if (!this.zoomLayer && !this.canvas.hidden) {\n this.zoomLayer = this.canvas.parentNode;\n this.zoomLayer.style.position = \"absolute\";\n }\n }\n if (this.zoomLayer) {\n this.cssTransform({\n target: this.zoomLayer.firstChild\n });\n }\n this.reset({\n keepZoomLayer: true,\n keepAnnotationLayer: true,\n keepAnnotationEditorLayer: true,\n keepXfaLayer: true,\n keepTextLayer: true\n });\n }\n cancelRendering({\n keepAnnotationLayer = false,\n keepAnnotationEditorLayer = false,\n keepXfaLayer = false,\n keepTextLayer = false,\n cancelExtraDelay = 0\n } = {}) {\n if (this.renderTask) {\n this.renderTask.cancel(cancelExtraDelay);\n this.renderTask = null;\n }\n this.resume = null;\n if (this.textLayer && (!keepTextLayer || !this.textLayer.div)) {\n this.textLayer.cancel();\n this.textLayer = null;\n }\n if (this.structTreeLayer && !this.textLayer) {\n this.structTreeLayer = null;\n }\n if (this.annotationLayer && (!keepAnnotationLayer || !this.annotationLayer.div)) {\n this.annotationLayer.cancel();\n this.annotationLayer = null;\n this._annotationCanvasMap = null;\n }\n if (this.annotationEditorLayer && (!keepAnnotationEditorLayer || !this.annotationEditorLayer.div)) {\n this.annotationEditorLayer.cancel();\n this.annotationEditorLayer = null;\n }\n if (this.xfaLayer && (!keepXfaLayer || !this.xfaLayer.div)) {\n this.xfaLayer.cancel();\n this.xfaLayer = null;\n this._textHighlighter?.disable();\n }\n }\n cssTransform({\n target,\n redrawAnnotationLayer = false,\n redrawAnnotationEditorLayer = false,\n redrawXfaLayer = false,\n redrawTextLayer = false,\n hideTextLayer = false\n }) {\n if (!target.hasAttribute(\"zooming\")) {\n target.setAttribute(\"zooming\", true);\n const {\n style\n } = target;\n style.width = style.height = \"\";\n }\n const originalViewport = this.#viewportMap.get(target);\n if (this.viewport !== originalViewport) {\n const relativeRotation = this.viewport.rotation - originalViewport.rotation;\n const absRotation = Math.abs(relativeRotation);\n let scaleX = 1,\n scaleY = 1;\n if (absRotation === 90 || absRotation === 270) {\n const {\n width,\n height\n } = this.viewport;\n scaleX = height / width;\n scaleY = width / height;\n }\n target.style.transform = `rotate(${relativeRotation}deg) scale(${scaleX}, ${scaleY})`;\n }\n if (redrawAnnotationLayer && this.annotationLayer) {\n this.#renderAnnotationLayer();\n }\n if (redrawAnnotationEditorLayer && this.annotationEditorLayer) {\n this.#renderAnnotationEditorLayer();\n }\n if (redrawXfaLayer && this.xfaLayer) {\n this.#renderXfaLayer();\n }\n if (this.textLayer) {\n if (hideTextLayer) {\n this.textLayer.hide();\n this.structTreeLayer?.hide();\n } else if (redrawTextLayer) {\n this.#renderTextLayer();\n }\n }\n }\n get width() {\n return this.viewport.width;\n }\n get height() {\n return this.viewport.height;\n }\n getPagePoint(x, y) {\n return this.viewport.convertToPdfPoint(x, y);\n }\n async #finishRenderTask(renderTask, error = null) {\n if (renderTask === this.renderTask) {\n this.renderTask = null;\n }\n if (error instanceof _pdfjsLib.RenderingCancelledException) {\n this.#renderError = null;\n return;\n }\n this.#renderError = error;\n this.renderingState = _ui_utils.RenderingStates.FINISHED;\n this._resetZoomLayer(true);\n this.#useThumbnailCanvas.regularAnnotations = !renderTask.separateAnnots;\n this.eventBus.dispatch(\"pagerendered\", {\n source: this,\n pageNumber: this.id,\n cssTransform: false,\n timestamp: performance.now(),\n error: this.#renderError\n });\n if (error) {\n throw error;\n }\n }\n async draw() {\n if (this.renderingState !== _ui_utils.RenderingStates.INITIAL) {\n console.error(\"Must be in new state before drawing\");\n this.reset();\n }\n const {\n div,\n l10n,\n pageColors,\n pdfPage,\n viewport\n } = this;\n if (!pdfPage) {\n this.renderingState = _ui_utils.RenderingStates.FINISHED;\n throw new Error(\"pdfPage is not loaded\");\n }\n this.renderingState = _ui_utils.RenderingStates.RUNNING;\n const canvasWrapper = document.createElement(\"div\");\n canvasWrapper.classList.add(\"canvasWrapper\");\n div.append(canvasWrapper);\n if (!this.textLayer && this.#textLayerMode !== _ui_utils.TextLayerMode.DISABLE && !pdfPage.isPureXfa) {\n this._accessibilityManager ||= new _text_accessibility.TextAccessibilityManager();\n this.textLayer = new _text_layer_builder.TextLayerBuilder({\n highlighter: this._textHighlighter,\n accessibilityManager: this._accessibilityManager,\n isOffscreenCanvasSupported: this.isOffscreenCanvasSupported,\n enablePermissions: this.#textLayerMode === _ui_utils.TextLayerMode.ENABLE_PERMISSIONS\n });\n div.append(this.textLayer.div);\n }\n if (!this.annotationLayer && this.#annotationMode !== _pdfjsLib.AnnotationMode.DISABLE) {\n const {\n annotationStorage,\n downloadManager,\n enableScripting,\n fieldObjectsPromise,\n hasJSActionsPromise,\n linkService\n } = this.#layerProperties();\n this._annotationCanvasMap ||= new Map();\n this.annotationLayer = new _annotation_layer_builder.AnnotationLayerBuilder({\n pageDiv: div,\n pdfPage,\n annotationStorage,\n imageResourcesPath: this.imageResourcesPath,\n renderForms: this.#annotationMode === _pdfjsLib.AnnotationMode.ENABLE_FORMS,\n linkService,\n downloadManager,\n l10n,\n enableScripting,\n hasJSActionsPromise,\n fieldObjectsPromise,\n annotationCanvasMap: this._annotationCanvasMap,\n accessibilityManager: this._accessibilityManager\n });\n }\n const renderContinueCallback = cont => {\n showCanvas?.(false);\n if (this.renderingQueue && !this.renderingQueue.isHighestPriority(this)) {\n this.renderingState = _ui_utils.RenderingStates.PAUSED;\n this.resume = () => {\n this.renderingState = _ui_utils.RenderingStates.RUNNING;\n cont();\n };\n return;\n }\n cont();\n };\n const {\n width,\n height\n } = viewport;\n const canvas = document.createElement(\"canvas\");\n canvas.setAttribute(\"role\", \"presentation\");\n canvas.hidden = true;\n const hasHCM = !!(pageColors?.background && pageColors?.foreground);\n let showCanvas = isLastShow => {\n if (!hasHCM || isLastShow) {\n canvas.hidden = false;\n showCanvas = null;\n }\n };\n canvasWrapper.append(canvas);\n this.canvas = canvas;\n const ctx = canvas.getContext(\"2d\", {\n alpha: false\n });\n const outputScale = this.outputScale = new _ui_utils.OutputScale();\n if (this.useOnlyCssZoom) {\n const actualSizeViewport = viewport.clone({\n scale: _pdfjsLib.PixelsPerInch.PDF_TO_CSS_UNITS\n });\n outputScale.sx *= actualSizeViewport.width / width;\n outputScale.sy *= actualSizeViewport.height / height;\n }\n if (this.maxCanvasPixels > 0) {\n const pixelsInViewport = width * height;\n const maxScale = Math.sqrt(this.maxCanvasPixels / pixelsInViewport);\n if (outputScale.sx > maxScale || outputScale.sy > maxScale) {\n outputScale.sx = maxScale;\n outputScale.sy = maxScale;\n this.hasRestrictedScaling = true;\n } else {\n this.hasRestrictedScaling = false;\n }\n }\n const sfx = (0, _ui_utils.approximateFraction)(outputScale.sx);\n const sfy = (0, _ui_utils.approximateFraction)(outputScale.sy);\n canvas.width = (0, _ui_utils.roundToDivide)(width * outputScale.sx, sfx[0]);\n canvas.height = (0, _ui_utils.roundToDivide)(height * outputScale.sy, sfy[0]);\n const {\n style\n } = canvas;\n style.width = (0, _ui_utils.roundToDivide)(width, sfx[1]) + \"px\";\n style.height = (0, _ui_utils.roundToDivide)(height, sfy[1]) + \"px\";\n this.#viewportMap.set(canvas, viewport);\n const transform = outputScale.scaled ? [outputScale.sx, 0, 0, outputScale.sy, 0, 0] : null;\n const renderContext = {\n canvasContext: ctx,\n transform,\n viewport,\n annotationMode: this.#annotationMode,\n optionalContentConfigPromise: this._optionalContentConfigPromise,\n annotationCanvasMap: this._annotationCanvasMap,\n pageColors\n };\n const renderTask = this.renderTask = this.pdfPage.render(renderContext);\n renderTask.onContinue = renderContinueCallback;\n const resultPromise = renderTask.promise.then(async () => {\n showCanvas?.(true);\n await this.#finishRenderTask(renderTask);\n this.#renderTextLayer();\n if (this.annotationLayer) {\n await this.#renderAnnotationLayer();\n }\n if (!this.annotationEditorLayer) {\n const {\n annotationEditorUIManager\n } = this.#layerProperties();\n if (!annotationEditorUIManager) {\n return;\n }\n this.annotationEditorLayer = new _annotation_editor_layer_builder.AnnotationEditorLayerBuilder({\n uiManager: annotationEditorUIManager,\n pageDiv: div,\n pdfPage,\n l10n,\n accessibilityManager: this._accessibilityManager\n });\n }\n this.#renderAnnotationEditorLayer();\n }, error => {\n if (!(error instanceof _pdfjsLib.RenderingCancelledException)) {\n showCanvas?.(true);\n }\n return this.#finishRenderTask(renderTask, error);\n });\n if (pdfPage.isPureXfa) {\n if (!this.xfaLayer) {\n const {\n annotationStorage,\n linkService\n } = this.#layerProperties();\n this.xfaLayer = new _xfa_layer_builder.XfaLayerBuilder({\n pageDiv: div,\n pdfPage,\n annotationStorage,\n linkService\n });\n } else if (this.xfaLayer.div) {\n div.append(this.xfaLayer.div);\n }\n this.#renderXfaLayer();\n }\n div.setAttribute(\"data-loaded\", true);\n this.eventBus.dispatch(\"pagerender\", {\n source: this,\n pageNumber: this.id\n });\n return resultPromise;\n }\n setPageLabel(label) {\n this.pageLabel = typeof label === \"string\" ? label : null;\n if (this.pageLabel !== null) {\n this.div.setAttribute(\"data-page-label\", this.pageLabel);\n } else {\n this.div.removeAttribute(\"data-page-label\");\n }\n }\n get thumbnailCanvas() {\n const {\n initialOptionalContent,\n regularAnnotations\n } = this.#useThumbnailCanvas;\n return initialOptionalContent && regularAnnotations ? this.canvas : null;\n }\n}\nexports.PDFPageView = PDFPageView;\n\n/***/ }),\n/* 14 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.AnnotationEditorLayerBuilder = void 0;\nvar _pdfjsLib = __w_pdfjs_require__(4);\nvar _l10n_utils = __w_pdfjs_require__(5);\nclass AnnotationEditorLayerBuilder {\n #uiManager;\n constructor(options) {\n this.pageDiv = options.pageDiv;\n this.pdfPage = options.pdfPage;\n this.accessibilityManager = options.accessibilityManager;\n this.l10n = options.l10n || _l10n_utils.NullL10n;\n this.annotationEditorLayer = null;\n this.div = null;\n this._cancelled = false;\n this.#uiManager = options.uiManager;\n }\n async render(viewport, intent = \"display\") {\n if (intent !== \"display\") {\n return;\n }\n if (this._cancelled) {\n return;\n }\n const clonedViewport = viewport.clone({\n dontFlip: true\n });\n if (this.div) {\n this.annotationEditorLayer.update({\n viewport: clonedViewport\n });\n this.show();\n return;\n }\n const div = this.div = document.createElement(\"div\");\n div.className = \"annotationEditorLayer\";\n div.tabIndex = 0;\n div.hidden = true;\n this.pageDiv.append(div);\n this.annotationEditorLayer = new _pdfjsLib.AnnotationEditorLayer({\n uiManager: this.#uiManager,\n div,\n accessibilityManager: this.accessibilityManager,\n pageIndex: this.pdfPage.pageNumber - 1,\n l10n: this.l10n,\n viewport: clonedViewport\n });\n const parameters = {\n viewport: clonedViewport,\n div,\n annotations: null,\n intent\n };\n this.annotationEditorLayer.render(parameters);\n this.show();\n }\n cancel() {\n this._cancelled = true;\n if (!this.div) {\n return;\n }\n this.pageDiv = null;\n this.annotationEditorLayer.destroy();\n this.div.remove();\n }\n hide() {\n if (!this.div) {\n return;\n }\n this.div.hidden = true;\n }\n show() {\n if (!this.div || this.annotationEditorLayer.isEmpty) {\n return;\n }\n this.div.hidden = false;\n }\n}\nexports.AnnotationEditorLayerBuilder = AnnotationEditorLayerBuilder;\n\n/***/ }),\n/* 15 */\n/***/ ((__unused_webpack_module, exports) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.compatibilityParams = exports.OptionKind = exports.AppOptions = void 0;\nconst compatibilityParams = Object.create(null);\nexports.compatibilityParams = compatibilityParams;\n{\n const userAgent = navigator.userAgent || \"\";\n const platform = navigator.platform || \"\";\n const maxTouchPoints = navigator.maxTouchPoints || 1;\n const isAndroid = /Android/.test(userAgent);\n const isIOS = /\\b(iPad|iPhone|iPod)(?=;)/.test(userAgent) || platform === \"MacIntel\" && maxTouchPoints > 1;\n (function checkCanvasSizeLimitation() {\n if (isIOS || isAndroid) {\n compatibilityParams.maxCanvasPixels = 5242880;\n }\n })();\n}\nconst OptionKind = {\n VIEWER: 0x02,\n API: 0x04,\n WORKER: 0x08,\n PREFERENCE: 0x80\n};\nexports.OptionKind = OptionKind;\nconst defaultOptions = {\n annotationEditorMode: {\n value: 0,\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE\n },\n annotationMode: {\n value: 2,\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE\n },\n cursorToolOnLoad: {\n value: 0,\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE\n },\n defaultZoomDelay: {\n value: 400,\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE\n },\n defaultZoomValue: {\n value: \"\",\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE\n },\n disableHistory: {\n value: false,\n kind: OptionKind.VIEWER\n },\n disablePageLabels: {\n value: false,\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE\n },\n enableFloatingToolbar: {\n value: false,\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE\n },\n enablePermissions: {\n value: false,\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE\n },\n enablePrintAutoRotate: {\n value: true,\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE\n },\n enableScripting: {\n value: true,\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE\n },\n externalLinkRel: {\n value: \"noopener noreferrer nofollow\",\n kind: OptionKind.VIEWER\n },\n externalLinkTarget: {\n value: 0,\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE\n },\n historyUpdateUrl: {\n value: false,\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE\n },\n ignoreDestinationZoom: {\n value: false,\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE\n },\n imageResourcesPath: {\n value: \"./images/\",\n kind: OptionKind.VIEWER\n },\n maxCanvasPixels: {\n value: 16777216,\n kind: OptionKind.VIEWER\n },\n forcePageColors: {\n value: false,\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE\n },\n pageColorsBackground: {\n value: \"Canvas\",\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE\n },\n pageColorsForeground: {\n value: \"CanvasText\",\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE\n },\n pdfBugEnabled: {\n value: false,\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE\n },\n printResolution: {\n value: 150,\n kind: OptionKind.VIEWER\n },\n sidebarViewOnLoad: {\n value: -1,\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE\n },\n scrollModeOnLoad: {\n value: -1,\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE\n },\n spreadModeOnLoad: {\n value: -1,\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE\n },\n textLayerMode: {\n value: 1,\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE\n },\n useOnlyCssZoom: {\n value: false,\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE\n },\n viewerCssTheme: {\n value: 0,\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE\n },\n viewOnLoad: {\n value: 0,\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE\n },\n cMapPacked: {\n value: true,\n kind: OptionKind.API\n },\n cMapUrl: {\n value: \"../web/cmaps/\",\n kind: OptionKind.API\n },\n disableAutoFetch: {\n value: false,\n kind: OptionKind.API + OptionKind.PREFERENCE\n },\n disableFontFace: {\n value: false,\n kind: OptionKind.API + OptionKind.PREFERENCE\n },\n disableRange: {\n value: false,\n kind: OptionKind.API + OptionKind.PREFERENCE\n },\n disableStream: {\n value: false,\n kind: OptionKind.API + OptionKind.PREFERENCE\n },\n docBaseUrl: {\n value: \"\",\n kind: OptionKind.API\n },\n enableXfa: {\n value: true,\n kind: OptionKind.API + OptionKind.PREFERENCE\n },\n fontExtraProperties: {\n value: false,\n kind: OptionKind.API\n },\n isEvalSupported: {\n value: true,\n kind: OptionKind.API\n },\n isOffscreenCanvasSupported: {\n value: true,\n kind: OptionKind.API\n },\n maxImageSize: {\n value: -1,\n kind: OptionKind.API\n },\n pdfBug: {\n value: false,\n kind: OptionKind.API\n },\n standardFontDataUrl: {\n value: \"../web/standard_fonts/\",\n kind: OptionKind.API\n },\n verbosity: {\n value: 1,\n kind: OptionKind.API\n },\n workerPort: {\n value: null,\n kind: OptionKind.WORKER\n },\n workerSrc: {\n value: \"../build/pdf.worker.js\",\n kind: OptionKind.WORKER\n }\n};\n{\n defaultOptions.defaultUrl = {\n value: \"compressed.tracemonkey-pldi-09.pdf\",\n kind: OptionKind.VIEWER\n };\n defaultOptions.disablePreferences = {\n value: false,\n kind: OptionKind.VIEWER\n };\n defaultOptions.locale = {\n value: navigator.language || \"en-US\",\n kind: OptionKind.VIEWER\n };\n defaultOptions.sandboxBundleSrc = {\n value: \"../build/pdf.sandbox.js\",\n kind: OptionKind.VIEWER\n };\n}\nconst userOptions = Object.create(null);\nclass AppOptions {\n constructor() {\n throw new Error(\"Cannot initialize AppOptions.\");\n }\n static get(name) {\n const userOption = userOptions[name];\n if (userOption !== undefined) {\n return userOption;\n }\n const defaultOption = defaultOptions[name];\n if (defaultOption !== undefined) {\n return compatibilityParams[name] ?? defaultOption.value;\n }\n return undefined;\n }\n static getAll(kind = null) {\n const options = Object.create(null);\n for (const name in defaultOptions) {\n const defaultOption = defaultOptions[name];\n if (kind) {\n if ((kind & defaultOption.kind) === 0) {\n continue;\n }\n if (kind === OptionKind.PREFERENCE) {\n const value = defaultOption.value,\n valueType = typeof value;\n if (valueType === \"boolean\" || valueType === \"string\" || valueType === \"number\" && Number.isInteger(value)) {\n options[name] = value;\n continue;\n }\n throw new Error(`Invalid type for preference: ${name}`);\n }\n }\n const userOption = userOptions[name];\n options[name] = userOption !== undefined ? userOption : compatibilityParams[name] ?? defaultOption.value;\n }\n return options;\n }\n static set(name, value) {\n userOptions[name] = value;\n }\n static setAll(options) {\n for (const name in options) {\n userOptions[name] = options[name];\n }\n }\n static remove(name) {\n delete userOptions[name];\n }\n}\nexports.AppOptions = AppOptions;\n{\n AppOptions._hasUserOptions = function () {\n return Object.keys(userOptions).length > 0;\n };\n}\n\n/***/ }),\n/* 16 */\n/***/ ((__unused_webpack_module, exports) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.StructTreeLayerBuilder = void 0;\nconst PDF_ROLE_TO_HTML_ROLE = {\n Document: null,\n DocumentFragment: null,\n Part: \"group\",\n Sect: \"group\",\n Div: \"group\",\n Aside: \"note\",\n NonStruct: \"none\",\n P: null,\n H: \"heading\",\n Title: null,\n FENote: \"note\",\n Sub: \"group\",\n Lbl: null,\n Span: null,\n Em: null,\n Strong: null,\n Link: \"link\",\n Annot: \"note\",\n Form: \"form\",\n Ruby: null,\n RB: null,\n RT: null,\n RP: null,\n Warichu: null,\n WT: null,\n WP: null,\n L: \"list\",\n LI: \"listitem\",\n LBody: null,\n Table: \"table\",\n TR: \"row\",\n TH: \"columnheader\",\n TD: \"cell\",\n THead: \"columnheader\",\n TBody: null,\n TFoot: null,\n Caption: null,\n Figure: \"figure\",\n Formula: null,\n Artifact: null\n};\nconst HEADING_PATTERN = /^H(\\d+)$/;\nclass StructTreeLayerBuilder {\n #treeDom = undefined;\n get renderingDone() {\n return this.#treeDom !== undefined;\n }\n render(structTree) {\n if (this.#treeDom !== undefined) {\n return this.#treeDom;\n }\n const treeDom = this.#walk(structTree);\n treeDom?.classList.add(\"structTree\");\n return this.#treeDom = treeDom;\n }\n hide() {\n if (this.#treeDom && !this.#treeDom.hidden) {\n this.#treeDom.hidden = true;\n }\n }\n show() {\n if (this.#treeDom?.hidden) {\n this.#treeDom.hidden = false;\n }\n }\n #setAttributes(structElement, htmlElement) {\n if (structElement.alt !== undefined) {\n htmlElement.setAttribute(\"aria-label\", structElement.alt);\n }\n if (structElement.id !== undefined) {\n htmlElement.setAttribute(\"aria-owns\", structElement.id);\n }\n if (structElement.lang !== undefined) {\n htmlElement.setAttribute(\"lang\", structElement.lang);\n }\n }\n #walk(node) {\n if (!node) {\n return null;\n }\n const element = document.createElement(\"span\");\n if (\"role\" in node) {\n const {\n role\n } = node;\n const match = role.match(HEADING_PATTERN);\n if (match) {\n element.setAttribute(\"role\", \"heading\");\n element.setAttribute(\"aria-level\", match[1]);\n } else if (PDF_ROLE_TO_HTML_ROLE[role]) {\n element.setAttribute(\"role\", PDF_ROLE_TO_HTML_ROLE[role]);\n }\n }\n this.#setAttributes(node, element);\n if (node.children) {\n if (node.children.length === 1 && \"id\" in node.children[0]) {\n this.#setAttributes(node.children[0], element);\n } else {\n for (const kid of node.children) {\n element.append(this.#walk(kid));\n }\n }\n }\n return element;\n }\n}\nexports.StructTreeLayerBuilder = StructTreeLayerBuilder;\n\n/***/ }),\n/* 17 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.TextAccessibilityManager = void 0;\nvar _ui_utils = __w_pdfjs_require__(2);\nclass TextAccessibilityManager {\n #enabled = false;\n #textChildren = null;\n #textNodes = new Map();\n #waitingElements = new Map();\n setTextMapping(textDivs) {\n this.#textChildren = textDivs;\n }\n static #compareElementPositions(e1, e2) {\n const rect1 = e1.getBoundingClientRect();\n const rect2 = e2.getBoundingClientRect();\n if (rect1.width === 0 && rect1.height === 0) {\n return +1;\n }\n if (rect2.width === 0 && rect2.height === 0) {\n return -1;\n }\n const top1 = rect1.y;\n const bot1 = rect1.y + rect1.height;\n const mid1 = rect1.y + rect1.height / 2;\n const top2 = rect2.y;\n const bot2 = rect2.y + rect2.height;\n const mid2 = rect2.y + rect2.height / 2;\n if (mid1 <= top2 && mid2 >= bot1) {\n return -1;\n }\n if (mid2 <= top1 && mid1 >= bot2) {\n return +1;\n }\n const centerX1 = rect1.x + rect1.width / 2;\n const centerX2 = rect2.x + rect2.width / 2;\n return centerX1 - centerX2;\n }\n enable() {\n if (this.#enabled) {\n throw new Error(\"TextAccessibilityManager is already enabled.\");\n }\n if (!this.#textChildren) {\n throw new Error(\"Text divs and strings have not been set.\");\n }\n this.#enabled = true;\n this.#textChildren = this.#textChildren.slice();\n this.#textChildren.sort(TextAccessibilityManager.#compareElementPositions);\n if (this.#textNodes.size > 0) {\n const textChildren = this.#textChildren;\n for (const [id, nodeIndex] of this.#textNodes) {\n const element = document.getElementById(id);\n if (!element) {\n this.#textNodes.delete(id);\n continue;\n }\n this.#addIdToAriaOwns(id, textChildren[nodeIndex]);\n }\n }\n for (const [element, isRemovable] of this.#waitingElements) {\n this.addPointerInTextLayer(element, isRemovable);\n }\n this.#waitingElements.clear();\n }\n disable() {\n if (!this.#enabled) {\n return;\n }\n this.#waitingElements.clear();\n this.#textChildren = null;\n this.#enabled = false;\n }\n removePointerInTextLayer(element) {\n if (!this.#enabled) {\n this.#waitingElements.delete(element);\n return;\n }\n const children = this.#textChildren;\n if (!children || children.length === 0) {\n return;\n }\n const {\n id\n } = element;\n const nodeIndex = this.#textNodes.get(id);\n if (nodeIndex === undefined) {\n return;\n }\n const node = children[nodeIndex];\n this.#textNodes.delete(id);\n let owns = node.getAttribute(\"aria-owns\");\n if (owns?.includes(id)) {\n owns = owns.split(\" \").filter(x => x !== id).join(\" \");\n if (owns) {\n node.setAttribute(\"aria-owns\", owns);\n } else {\n node.removeAttribute(\"aria-owns\");\n node.setAttribute(\"role\", \"presentation\");\n }\n }\n }\n #addIdToAriaOwns(id, node) {\n const owns = node.getAttribute(\"aria-owns\");\n if (!owns?.includes(id)) {\n node.setAttribute(\"aria-owns\", owns ? `${owns} ${id}` : id);\n }\n node.removeAttribute(\"role\");\n }\n addPointerInTextLayer(element, isRemovable) {\n const {\n id\n } = element;\n if (!id) {\n return;\n }\n if (!this.#enabled) {\n this.#waitingElements.set(element, isRemovable);\n return;\n }\n if (isRemovable) {\n this.removePointerInTextLayer(element);\n }\n const children = this.#textChildren;\n if (!children || children.length === 0) {\n return;\n }\n const index = (0, _ui_utils.binarySearchFirstItem)(children, node => TextAccessibilityManager.#compareElementPositions(element, node) < 0);\n const nodeIndex = Math.max(0, index - 1);\n this.#addIdToAriaOwns(id, children[nodeIndex]);\n this.#textNodes.set(id, nodeIndex);\n }\n moveElementInDOM(container, element, contentElement, isRemovable) {\n this.addPointerInTextLayer(contentElement, isRemovable);\n if (!container.hasChildNodes()) {\n container.append(element);\n return;\n }\n const children = Array.from(container.childNodes).filter(node => node !== element);\n if (children.length === 0) {\n return;\n }\n const elementToCompare = contentElement || element;\n const index = (0, _ui_utils.binarySearchFirstItem)(children, node => TextAccessibilityManager.#compareElementPositions(elementToCompare, node) < 0);\n if (index === 0) {\n children[0].before(element);\n } else {\n children[index - 1].after(element);\n }\n }\n}\nexports.TextAccessibilityManager = TextAccessibilityManager;\n\n/***/ }),\n/* 18 */\n/***/ ((__unused_webpack_module, exports) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.TextHighlighter = void 0;\nclass TextHighlighter {\n constructor({\n findController,\n eventBus,\n pageIndex\n }) {\n this.findController = findController;\n this.matches = [];\n this.eventBus = eventBus;\n this.pageIdx = pageIndex;\n this._onUpdateTextLayerMatches = null;\n this.textDivs = null;\n this.textContentItemsStr = null;\n this.enabled = false;\n }\n setTextMapping(divs, texts) {\n this.textDivs = divs;\n this.textContentItemsStr = texts;\n }\n enable() {\n if (!this.textDivs || !this.textContentItemsStr) {\n throw new Error(\"Text divs and strings have not been set.\");\n }\n if (this.enabled) {\n throw new Error(\"TextHighlighter is already enabled.\");\n }\n this.enabled = true;\n if (!this._onUpdateTextLayerMatches) {\n this._onUpdateTextLayerMatches = evt => {\n if (evt.pageIndex === this.pageIdx || evt.pageIndex === -1) {\n this._updateMatches();\n }\n };\n this.eventBus._on(\"updatetextlayermatches\", this._onUpdateTextLayerMatches);\n }\n this._updateMatches();\n }\n disable() {\n if (!this.enabled) {\n return;\n }\n this.enabled = false;\n if (this._onUpdateTextLayerMatches) {\n this.eventBus._off(\"updatetextlayermatches\", this._onUpdateTextLayerMatches);\n this._onUpdateTextLayerMatches = null;\n }\n this._updateMatches(true);\n }\n _convertMatches(matches, matchesLength) {\n if (!matches) {\n return [];\n }\n const {\n textContentItemsStr\n } = this;\n let i = 0,\n iIndex = 0;\n const end = textContentItemsStr.length - 1;\n const result = [];\n for (let m = 0, mm = matches.length; m < mm; m++) {\n let matchIdx = matches[m];\n while (i !== end && matchIdx >= iIndex + textContentItemsStr[i].length) {\n iIndex += textContentItemsStr[i].length;\n i++;\n }\n if (i === textContentItemsStr.length) {\n console.error(\"Could not find a matching mapping\");\n }\n const match = {\n begin: {\n divIdx: i,\n offset: matchIdx - iIndex\n }\n };\n matchIdx += matchesLength[m];\n while (i !== end && matchIdx > iIndex + textContentItemsStr[i].length) {\n iIndex += textContentItemsStr[i].length;\n i++;\n }\n match.end = {\n divIdx: i,\n offset: matchIdx - iIndex\n };\n result.push(match);\n }\n return result;\n }\n _renderMatches(matches) {\n if (matches.length === 0) {\n return;\n }\n const {\n findController,\n pageIdx\n } = this;\n const {\n textContentItemsStr,\n textDivs\n } = this;\n const isSelectedPage = pageIdx === findController.selected.pageIdx;\n const selectedMatchIdx = findController.selected.matchIdx;\n const highlightAll = findController.state.highlightAll;\n let prevEnd = null;\n const infinity = {\n divIdx: -1,\n offset: undefined\n };\n function beginText(begin, className) {\n const divIdx = begin.divIdx;\n textDivs[divIdx].textContent = \"\";\n return appendTextToDiv(divIdx, 0, begin.offset, className);\n }\n function appendTextToDiv(divIdx, fromOffset, toOffset, className) {\n let div = textDivs[divIdx];\n if (div.nodeType === Node.TEXT_NODE) {\n const span = document.createElement(\"span\");\n div.before(span);\n span.append(div);\n textDivs[divIdx] = span;\n div = span;\n }\n const content = textContentItemsStr[divIdx].substring(fromOffset, toOffset);\n const node = document.createTextNode(content);\n if (className) {\n const span = document.createElement(\"span\");\n span.className = `${className} appended`;\n span.append(node);\n div.append(span);\n return className.includes(\"selected\") ? span.offsetLeft : 0;\n }\n div.append(node);\n return 0;\n }\n let i0 = selectedMatchIdx,\n i1 = i0 + 1;\n if (highlightAll) {\n i0 = 0;\n i1 = matches.length;\n } else if (!isSelectedPage) {\n return;\n }\n let lastDivIdx = -1;\n let lastOffset = -1;\n for (let i = i0; i < i1; i++) {\n const match = matches[i];\n const begin = match.begin;\n if (begin.divIdx === lastDivIdx && begin.offset === lastOffset) {\n continue;\n }\n lastDivIdx = begin.divIdx;\n lastOffset = begin.offset;\n const end = match.end;\n const isSelected = isSelectedPage && i === selectedMatchIdx;\n const highlightSuffix = isSelected ? \" selected\" : \"\";\n let selectedLeft = 0;\n if (!prevEnd || begin.divIdx !== prevEnd.divIdx) {\n if (prevEnd !== null) {\n appendTextToDiv(prevEnd.divIdx, prevEnd.offset, infinity.offset);\n }\n beginText(begin);\n } else {\n appendTextToDiv(prevEnd.divIdx, prevEnd.offset, begin.offset);\n }\n if (begin.divIdx === end.divIdx) {\n selectedLeft = appendTextToDiv(begin.divIdx, begin.offset, end.offset, \"highlight\" + highlightSuffix);\n } else {\n selectedLeft = appendTextToDiv(begin.divIdx, begin.offset, infinity.offset, \"highlight begin\" + highlightSuffix);\n for (let n0 = begin.divIdx + 1, n1 = end.divIdx; n0 < n1; n0++) {\n textDivs[n0].className = \"highlight middle\" + highlightSuffix;\n }\n beginText(end, \"highlight end\" + highlightSuffix);\n }\n prevEnd = end;\n if (isSelected) {\n findController.scrollMatchIntoView({\n element: textDivs[begin.divIdx],\n selectedLeft,\n pageIndex: pageIdx,\n matchIndex: selectedMatchIdx\n });\n }\n }\n if (prevEnd) {\n appendTextToDiv(prevEnd.divIdx, prevEnd.offset, infinity.offset);\n }\n }\n _updateMatches(reset = false) {\n if (!this.enabled && !reset) {\n return;\n }\n const {\n findController,\n matches,\n pageIdx\n } = this;\n const {\n textContentItemsStr,\n textDivs\n } = this;\n let clearedUntilDivIdx = -1;\n for (const match of matches) {\n const begin = Math.max(clearedUntilDivIdx, match.begin.divIdx);\n for (let n = begin, end = match.end.divIdx; n <= end; n++) {\n const div = textDivs[n];\n div.textContent = textContentItemsStr[n];\n div.className = \"\";\n }\n clearedUntilDivIdx = match.end.divIdx + 1;\n }\n if (!findController?.highlightMatches || reset) {\n return;\n }\n const pageMatches = findController.pageMatches[pageIdx] || null;\n const pageMatchesLength = findController.pageMatchesLength[pageIdx] || null;\n this.matches = this._convertMatches(pageMatches, pageMatchesLength);\n this._renderMatches(this.matches);\n }\n}\nexports.TextHighlighter = TextHighlighter;\n\n/***/ }),\n/* 19 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.TextLayerBuilder = void 0;\nvar _pdfjsLib = __w_pdfjs_require__(4);\nvar _ui_utils = __w_pdfjs_require__(2);\nclass TextLayerBuilder {\n #enablePermissions = false;\n #rotation = 0;\n #scale = 0;\n #textContentSource = null;\n constructor({\n highlighter = null,\n accessibilityManager = null,\n isOffscreenCanvasSupported = true,\n enablePermissions = false\n }) {\n this.textContentItemsStr = [];\n this.renderingDone = false;\n this.textDivs = [];\n this.textDivProperties = new WeakMap();\n this.textLayerRenderTask = null;\n this.highlighter = highlighter;\n this.accessibilityManager = accessibilityManager;\n this.isOffscreenCanvasSupported = isOffscreenCanvasSupported;\n this.#enablePermissions = enablePermissions === true;\n this.div = document.createElement(\"div\");\n this.div.className = \"textLayer\";\n this.hide();\n }\n #finishRendering() {\n this.renderingDone = true;\n const endOfContent = document.createElement(\"div\");\n endOfContent.className = \"endOfContent\";\n this.div.append(endOfContent);\n this.#bindMouse();\n }\n get numTextDivs() {\n return this.textDivs.length;\n }\n async render(viewport) {\n if (!this.#textContentSource) {\n throw new Error('No \"textContentSource\" parameter specified.');\n }\n const scale = viewport.scale * (globalThis.devicePixelRatio || 1);\n const {\n rotation\n } = viewport;\n if (this.renderingDone) {\n const mustRotate = rotation !== this.#rotation;\n const mustRescale = scale !== this.#scale;\n if (mustRotate || mustRescale) {\n this.hide();\n (0, _pdfjsLib.updateTextLayer)({\n container: this.div,\n viewport,\n textDivs: this.textDivs,\n textDivProperties: this.textDivProperties,\n isOffscreenCanvasSupported: this.isOffscreenCanvasSupported,\n mustRescale,\n mustRotate\n });\n this.#scale = scale;\n this.#rotation = rotation;\n }\n this.show();\n return;\n }\n this.cancel();\n this.highlighter?.setTextMapping(this.textDivs, this.textContentItemsStr);\n this.accessibilityManager?.setTextMapping(this.textDivs);\n this.textLayerRenderTask = (0, _pdfjsLib.renderTextLayer)({\n textContentSource: this.#textContentSource,\n container: this.div,\n viewport,\n textDivs: this.textDivs,\n textDivProperties: this.textDivProperties,\n textContentItemsStr: this.textContentItemsStr,\n isOffscreenCanvasSupported: this.isOffscreenCanvasSupported\n });\n await this.textLayerRenderTask.promise;\n this.#finishRendering();\n this.#scale = scale;\n this.#rotation = rotation;\n this.show();\n this.accessibilityManager?.enable();\n }\n hide() {\n if (!this.div.hidden) {\n this.highlighter?.disable();\n this.div.hidden = true;\n }\n }\n show() {\n if (this.div.hidden && this.renderingDone) {\n this.div.hidden = false;\n this.highlighter?.enable();\n }\n }\n cancel() {\n if (this.textLayerRenderTask) {\n this.textLayerRenderTask.cancel();\n this.textLayerRenderTask = null;\n }\n this.highlighter?.disable();\n this.accessibilityManager?.disable();\n this.textContentItemsStr.length = 0;\n this.textDivs.length = 0;\n this.textDivProperties = new WeakMap();\n }\n setTextContentSource(source) {\n this.cancel();\n this.#textContentSource = source;\n }\n #bindMouse() {\n const {\n div\n } = this;\n div.addEventListener(\"mousedown\", evt => {\n const end = div.querySelector(\".endOfContent\");\n if (!end) {\n return;\n }\n let adjustTop = evt.target !== div;\n adjustTop &&= getComputedStyle(end).getPropertyValue(\"-moz-user-select\") !== \"none\";\n if (adjustTop) {\n const divBounds = div.getBoundingClientRect();\n const r = Math.max(0, (evt.pageY - divBounds.top) / divBounds.height);\n end.style.top = (r * 100).toFixed(2) + \"%\";\n }\n end.classList.add(\"active\");\n });\n div.addEventListener(\"mouseup\", () => {\n const end = div.querySelector(\".endOfContent\");\n if (!end) {\n return;\n }\n end.style.top = \"\";\n end.classList.remove(\"active\");\n });\n div.addEventListener(\"copy\", event => {\n if (!this.#enablePermissions) {\n const selection = document.getSelection();\n event.clipboardData.setData(\"text/plain\", (0, _ui_utils.removeNullCharacters)((0, _pdfjsLib.normalizeUnicode)(selection.toString())));\n }\n event.preventDefault();\n event.stopPropagation();\n });\n }\n}\nexports.TextLayerBuilder = TextLayerBuilder;\n\n/***/ }),\n/* 20 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.XfaLayerBuilder = void 0;\nvar _pdfjsLib = __w_pdfjs_require__(4);\nclass XfaLayerBuilder {\n constructor({\n pageDiv,\n pdfPage,\n annotationStorage = null,\n linkService,\n xfaHtml = null\n }) {\n this.pageDiv = pageDiv;\n this.pdfPage = pdfPage;\n this.annotationStorage = annotationStorage;\n this.linkService = linkService;\n this.xfaHtml = xfaHtml;\n this.div = null;\n this._cancelled = false;\n }\n async render(viewport, intent = \"display\") {\n if (intent === \"print\") {\n const parameters = {\n viewport: viewport.clone({\n dontFlip: true\n }),\n div: this.div,\n xfaHtml: this.xfaHtml,\n annotationStorage: this.annotationStorage,\n linkService: this.linkService,\n intent\n };\n const div = document.createElement(\"div\");\n this.pageDiv.append(div);\n parameters.div = div;\n return _pdfjsLib.XfaLayer.render(parameters);\n }\n const xfaHtml = await this.pdfPage.getXfa();\n if (this._cancelled || !xfaHtml) {\n return {\n textDivs: []\n };\n }\n const parameters = {\n viewport: viewport.clone({\n dontFlip: true\n }),\n div: this.div,\n xfaHtml,\n annotationStorage: this.annotationStorage,\n linkService: this.linkService,\n intent\n };\n if (this.div) {\n return _pdfjsLib.XfaLayer.update(parameters);\n }\n this.div = document.createElement(\"div\");\n this.pageDiv.append(this.div);\n parameters.div = this.div;\n return _pdfjsLib.XfaLayer.render(parameters);\n }\n cancel() {\n this._cancelled = true;\n }\n hide() {\n if (!this.div) {\n return;\n }\n this.div.hidden = true;\n }\n}\nexports.XfaLayerBuilder = XfaLayerBuilder;\n\n/***/ }),\n/* 21 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.PDFScriptingManager = void 0;\nvar _ui_utils = __w_pdfjs_require__(2);\nvar _pdfjsLib = __w_pdfjs_require__(4);\nclass PDFScriptingManager {\n constructor({\n eventBus,\n sandboxBundleSrc = null,\n scriptingFactory = null,\n docPropertiesLookup = null\n }) {\n this._pdfDocument = null;\n this._pdfViewer = null;\n this._closeCapability = null;\n this._destroyCapability = null;\n this._scripting = null;\n this._ready = false;\n this._eventBus = eventBus;\n this._sandboxBundleSrc = sandboxBundleSrc;\n this._scriptingFactory = scriptingFactory;\n this._docPropertiesLookup = docPropertiesLookup;\n if (!this._scriptingFactory) {\n window.addEventListener(\"updatefromsandbox\", event => {\n this._eventBus.dispatch(\"updatefromsandbox\", {\n source: window,\n detail: event.detail\n });\n });\n }\n }\n setViewer(pdfViewer) {\n this._pdfViewer = pdfViewer;\n }\n async setDocument(pdfDocument) {\n if (this._pdfDocument) {\n await this._destroyScripting();\n }\n this._pdfDocument = pdfDocument;\n if (!pdfDocument) {\n return;\n }\n const [objects, calculationOrder, docActions] = await Promise.all([pdfDocument.getFieldObjects(), pdfDocument.getCalculationOrderIds(), pdfDocument.getJSActions()]);\n if (!objects && !docActions) {\n await this._destroyScripting();\n return;\n }\n if (pdfDocument !== this._pdfDocument) {\n return;\n }\n try {\n this._scripting = this._createScripting();\n } catch (error) {\n console.error(`PDFScriptingManager.setDocument: \"${error?.message}\".`);\n await this._destroyScripting();\n return;\n }\n this._internalEvents.set(\"updatefromsandbox\", event => {\n if (event?.source !== window) {\n return;\n }\n this._updateFromSandbox(event.detail);\n });\n this._internalEvents.set(\"dispatcheventinsandbox\", event => {\n this._scripting?.dispatchEventInSandbox(event.detail);\n });\n this._internalEvents.set(\"pagechanging\", ({\n pageNumber,\n previous\n }) => {\n if (pageNumber === previous) {\n return;\n }\n this._dispatchPageClose(previous);\n this._dispatchPageOpen(pageNumber);\n });\n this._internalEvents.set(\"pagerendered\", ({\n pageNumber\n }) => {\n if (!this._pageOpenPending.has(pageNumber)) {\n return;\n }\n if (pageNumber !== this._pdfViewer.currentPageNumber) {\n return;\n }\n this._dispatchPageOpen(pageNumber);\n });\n this._internalEvents.set(\"pagesdestroy\", async event => {\n await this._dispatchPageClose(this._pdfViewer.currentPageNumber);\n await this._scripting?.dispatchEventInSandbox({\n id: \"doc\",\n name: \"WillClose\"\n });\n this._closeCapability?.resolve();\n });\n for (const [name, listener] of this._internalEvents) {\n this._eventBus._on(name, listener);\n }\n try {\n const docProperties = await this._getDocProperties();\n if (pdfDocument !== this._pdfDocument) {\n return;\n }\n await this._scripting.createSandbox({\n objects,\n calculationOrder,\n appInfo: {\n platform: navigator.platform,\n language: navigator.language\n },\n docInfo: {\n ...docProperties,\n actions: docActions\n }\n });\n this._eventBus.dispatch(\"sandboxcreated\", {\n source: this\n });\n } catch (error) {\n console.error(`PDFScriptingManager.setDocument: \"${error?.message}\".`);\n await this._destroyScripting();\n return;\n }\n await this._scripting?.dispatchEventInSandbox({\n id: \"doc\",\n name: \"Open\"\n });\n await this._dispatchPageOpen(this._pdfViewer.currentPageNumber, true);\n Promise.resolve().then(() => {\n if (pdfDocument === this._pdfDocument) {\n this._ready = true;\n }\n });\n }\n async dispatchWillSave(detail) {\n return this._scripting?.dispatchEventInSandbox({\n id: \"doc\",\n name: \"WillSave\"\n });\n }\n async dispatchDidSave(detail) {\n return this._scripting?.dispatchEventInSandbox({\n id: \"doc\",\n name: \"DidSave\"\n });\n }\n async dispatchWillPrint(detail) {\n return this._scripting?.dispatchEventInSandbox({\n id: \"doc\",\n name: \"WillPrint\"\n });\n }\n async dispatchDidPrint(detail) {\n return this._scripting?.dispatchEventInSandbox({\n id: \"doc\",\n name: \"DidPrint\"\n });\n }\n get destroyPromise() {\n return this._destroyCapability?.promise || null;\n }\n get ready() {\n return this._ready;\n }\n get _internalEvents() {\n return (0, _pdfjsLib.shadow)(this, \"_internalEvents\", new Map());\n }\n get _pageOpenPending() {\n return (0, _pdfjsLib.shadow)(this, \"_pageOpenPending\", new Set());\n }\n get _visitedPages() {\n return (0, _pdfjsLib.shadow)(this, \"_visitedPages\", new Map());\n }\n async _updateFromSandbox(detail) {\n const isInPresentationMode = this._pdfViewer.isInPresentationMode || this._pdfViewer.isChangingPresentationMode;\n const {\n id,\n siblings,\n command,\n value\n } = detail;\n if (!id) {\n switch (command) {\n case \"clear\":\n console.clear();\n break;\n case \"error\":\n console.error(value);\n break;\n case \"layout\":\n {\n if (isInPresentationMode) {\n return;\n }\n const modes = (0, _ui_utils.apiPageLayoutToViewerModes)(value);\n this._pdfViewer.spreadMode = modes.spreadMode;\n break;\n }\n case \"page-num\":\n this._pdfViewer.currentPageNumber = value + 1;\n break;\n case \"print\":\n await this._pdfViewer.pagesPromise;\n this._eventBus.dispatch(\"print\", {\n source: this\n });\n break;\n case \"println\":\n console.log(value);\n break;\n case \"zoom\":\n if (isInPresentationMode) {\n return;\n }\n this._pdfViewer.currentScaleValue = value;\n break;\n case \"SaveAs\":\n this._eventBus.dispatch(\"download\", {\n source: this\n });\n break;\n case \"FirstPage\":\n this._pdfViewer.currentPageNumber = 1;\n break;\n case \"LastPage\":\n this._pdfViewer.currentPageNumber = this._pdfViewer.pagesCount;\n break;\n case \"NextPage\":\n this._pdfViewer.nextPage();\n break;\n case \"PrevPage\":\n this._pdfViewer.previousPage();\n break;\n case \"ZoomViewIn\":\n if (isInPresentationMode) {\n return;\n }\n this._pdfViewer.increaseScale();\n break;\n case \"ZoomViewOut\":\n if (isInPresentationMode) {\n return;\n }\n this._pdfViewer.decreaseScale();\n break;\n }\n return;\n }\n if (isInPresentationMode) {\n if (detail.focus) {\n return;\n }\n }\n delete detail.id;\n delete detail.siblings;\n const ids = siblings ? [id, ...siblings] : [id];\n for (const elementId of ids) {\n const element = document.querySelector(`[data-element-id=\"${elementId}\"]`);\n if (element) {\n element.dispatchEvent(new CustomEvent(\"updatefromsandbox\", {\n detail\n }));\n } else {\n this._pdfDocument?.annotationStorage.setValue(elementId, detail);\n }\n }\n }\n async _dispatchPageOpen(pageNumber, initialize = false) {\n const pdfDocument = this._pdfDocument,\n visitedPages = this._visitedPages;\n if (initialize) {\n this._closeCapability = new _pdfjsLib.PromiseCapability();\n }\n if (!this._closeCapability) {\n return;\n }\n const pageView = this._pdfViewer.getPageView(pageNumber - 1);\n if (pageView?.renderingState !== _ui_utils.RenderingStates.FINISHED) {\n this._pageOpenPending.add(pageNumber);\n return;\n }\n this._pageOpenPending.delete(pageNumber);\n const actionsPromise = (async () => {\n const actions = await (!visitedPages.has(pageNumber) ? pageView.pdfPage?.getJSActions() : null);\n if (pdfDocument !== this._pdfDocument) {\n return;\n }\n await this._scripting?.dispatchEventInSandbox({\n id: \"page\",\n name: \"PageOpen\",\n pageNumber,\n actions\n });\n })();\n visitedPages.set(pageNumber, actionsPromise);\n }\n async _dispatchPageClose(pageNumber) {\n const pdfDocument = this._pdfDocument,\n visitedPages = this._visitedPages;\n if (!this._closeCapability) {\n return;\n }\n if (this._pageOpenPending.has(pageNumber)) {\n return;\n }\n const actionsPromise = visitedPages.get(pageNumber);\n if (!actionsPromise) {\n return;\n }\n visitedPages.set(pageNumber, null);\n await actionsPromise;\n if (pdfDocument !== this._pdfDocument) {\n return;\n }\n await this._scripting?.dispatchEventInSandbox({\n id: \"page\",\n name: \"PageClose\",\n pageNumber\n });\n }\n async _getDocProperties() {\n if (this._docPropertiesLookup) {\n return this._docPropertiesLookup(this._pdfDocument);\n }\n const {\n docPropertiesLookup\n } = __w_pdfjs_require__(22);\n return docPropertiesLookup(this._pdfDocument);\n }\n _createScripting() {\n this._destroyCapability = new _pdfjsLib.PromiseCapability();\n if (this._scripting) {\n throw new Error(\"_createScripting: Scripting already exists.\");\n }\n if (this._scriptingFactory) {\n return this._scriptingFactory.createScripting({\n sandboxBundleSrc: this._sandboxBundleSrc\n });\n }\n const {\n GenericScripting\n } = __w_pdfjs_require__(22);\n return new GenericScripting(this._sandboxBundleSrc);\n }\n async _destroyScripting() {\n if (!this._scripting) {\n this._pdfDocument = null;\n this._destroyCapability?.resolve();\n return;\n }\n if (this._closeCapability) {\n await Promise.race([this._closeCapability.promise, new Promise(resolve => {\n setTimeout(resolve, 1000);\n })]).catch(reason => {});\n this._closeCapability = null;\n }\n this._pdfDocument = null;\n try {\n await this._scripting.destroySandbox();\n } catch (ex) {}\n for (const [name, listener] of this._internalEvents) {\n this._eventBus._off(name, listener);\n }\n this._internalEvents.clear();\n this._pageOpenPending.clear();\n this._visitedPages.clear();\n this._scripting = null;\n this._ready = false;\n this._destroyCapability?.resolve();\n }\n}\nexports.PDFScriptingManager = PDFScriptingManager;\n\n/***/ }),\n/* 22 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.GenericScripting = void 0;\nexports.docPropertiesLookup = docPropertiesLookup;\nvar _pdfjsLib = __w_pdfjs_require__(4);\nasync function docPropertiesLookup(pdfDocument) {\n const url = \"\",\n baseUrl = url.split(\"#\")[0];\n let {\n info,\n metadata,\n contentDispositionFilename,\n contentLength\n } = await pdfDocument.getMetadata();\n if (!contentLength) {\n const {\n length\n } = await pdfDocument.getDownloadInfo();\n contentLength = length;\n }\n return {\n ...info,\n baseURL: baseUrl,\n filesize: contentLength,\n filename: contentDispositionFilename || (0, _pdfjsLib.getPdfFilenameFromUrl)(url),\n metadata: metadata?.getRaw(),\n authors: metadata?.get(\"dc:creator\"),\n numPages: pdfDocument.numPages,\n URL: url\n };\n}\nclass GenericScripting {\n constructor(sandboxBundleSrc) {\n this._ready = (0, _pdfjsLib.loadScript)(sandboxBundleSrc, true).then(() => {\n return window.pdfjsSandbox.QuickJSSandbox();\n });\n }\n async createSandbox(data) {\n const sandbox = await this._ready;\n sandbox.create(data);\n }\n async dispatchEventInSandbox(event) {\n const sandbox = await this._ready;\n setTimeout(() => sandbox.dispatchEvent(event), 0);\n }\n async destroySandbox() {\n const sandbox = await this._ready;\n sandbox.nukeSandbox();\n }\n}\nexports.GenericScripting = GenericScripting;\n\n/***/ }),\n/* 23 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.PDFSinglePageViewer = void 0;\nvar _ui_utils = __w_pdfjs_require__(2);\nvar _pdf_viewer = __w_pdfjs_require__(24);\nclass PDFSinglePageViewer extends _pdf_viewer.PDFViewer {\n _resetView() {\n super._resetView();\n this._scrollMode = _ui_utils.ScrollMode.PAGE;\n this._spreadMode = _ui_utils.SpreadMode.NONE;\n }\n set scrollMode(mode) {}\n _updateScrollMode() {}\n set spreadMode(mode) {}\n _updateSpreadMode() {}\n}\nexports.PDFSinglePageViewer = PDFSinglePageViewer;\n\n/***/ }),\n/* 24 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.PagesCountLimit = exports.PDFViewer = exports.PDFPageViewBuffer = void 0;\nvar _pdfjsLib = __w_pdfjs_require__(4);\nvar _ui_utils = __w_pdfjs_require__(2);\nvar _l10n_utils = __w_pdfjs_require__(5);\nvar _pdf_page_view = __w_pdfjs_require__(13);\nvar _pdf_rendering_queue = __w_pdfjs_require__(25);\nvar _pdf_link_service = __w_pdfjs_require__(1);\nconst DEFAULT_CACHE_SIZE = 10;\nconst PagesCountLimit = {\n FORCE_SCROLL_MODE_PAGE: 15000,\n FORCE_LAZY_PAGE_INIT: 7500,\n PAUSE_EAGER_PAGE_INIT: 250\n};\nexports.PagesCountLimit = PagesCountLimit;\nfunction isValidAnnotationEditorMode(mode) {\n return Object.values(_pdfjsLib.AnnotationEditorType).includes(mode) && mode !== _pdfjsLib.AnnotationEditorType.DISABLE;\n}\nclass PDFPageViewBuffer {\n #buf = new Set();\n #size = 0;\n constructor(size) {\n this.#size = size;\n }\n push(view) {\n const buf = this.#buf;\n if (buf.has(view)) {\n buf.delete(view);\n }\n buf.add(view);\n if (buf.size > this.#size) {\n this.#destroyFirstView();\n }\n }\n resize(newSize, idsToKeep = null) {\n this.#size = newSize;\n const buf = this.#buf;\n if (idsToKeep) {\n const ii = buf.size;\n let i = 1;\n for (const view of buf) {\n if (idsToKeep.has(view.id)) {\n buf.delete(view);\n buf.add(view);\n }\n if (++i > ii) {\n break;\n }\n }\n }\n while (buf.size > this.#size) {\n this.#destroyFirstView();\n }\n }\n has(view) {\n return this.#buf.has(view);\n }\n [Symbol.iterator]() {\n return this.#buf.keys();\n }\n #destroyFirstView() {\n const firstView = this.#buf.keys().next().value;\n firstView?.destroy();\n this.#buf.delete(firstView);\n }\n}\nexports.PDFPageViewBuffer = PDFPageViewBuffer;\nclass PDFViewer {\n #buffer = null;\n #annotationEditorMode = _pdfjsLib.AnnotationEditorType.NONE;\n #annotationEditorUIManager = null;\n #annotationMode = _pdfjsLib.AnnotationMode.ENABLE_FORMS;\n #containerTopLeft = null;\n #copyCallbackBound = null;\n #enablePermissions = false;\n #getAllTextInProgress = false;\n #hiddenCopyElement = null;\n #interruptCopyCondition = false;\n #previousContainerHeight = 0;\n #resizeObserver = new ResizeObserver(this.#resizeObserverCallback.bind(this));\n #scrollModePageState = null;\n #onVisibilityChange = null;\n #scaleTimeoutId = null;\n #textLayerMode = _ui_utils.TextLayerMode.ENABLE;\n constructor(options) {\n const viewerVersion = '3.6.172';\n if (_pdfjsLib.version !== viewerVersion) {\n throw new Error(`The API version \"${_pdfjsLib.version}\" does not match the Viewer version \"${viewerVersion}\".`);\n }\n this.container = options.container;\n this.viewer = options.viewer || options.container.firstElementChild;\n if (this.container?.tagName !== \"DIV\" || this.viewer?.tagName !== \"DIV\") {\n throw new Error(\"Invalid `container` and/or `viewer` option.\");\n }\n if (this.container.offsetParent && getComputedStyle(this.container).position !== \"absolute\") {\n throw new Error(\"The `container` must be absolutely positioned.\");\n }\n this.#resizeObserver.observe(this.container);\n this.eventBus = options.eventBus;\n this.linkService = options.linkService || new _pdf_link_service.SimpleLinkService();\n this.downloadManager = options.downloadManager || null;\n this.findController = options.findController || null;\n this._scriptingManager = options.scriptingManager || null;\n this.#textLayerMode = options.textLayerMode ?? _ui_utils.TextLayerMode.ENABLE;\n this.#annotationMode = options.annotationMode ?? _pdfjsLib.AnnotationMode.ENABLE_FORMS;\n this.#annotationEditorMode = options.annotationEditorMode ?? _pdfjsLib.AnnotationEditorType.NONE;\n this.imageResourcesPath = options.imageResourcesPath || \"\";\n this.enablePrintAutoRotate = options.enablePrintAutoRotate || false;\n this.removePageBorders = options.removePageBorders || false;\n this.useOnlyCssZoom = options.useOnlyCssZoom || false;\n this.isOffscreenCanvasSupported = options.isOffscreenCanvasSupported ?? true;\n this.maxCanvasPixels = options.maxCanvasPixels;\n this.l10n = options.l10n || _l10n_utils.NullL10n;\n this.#enablePermissions = options.enablePermissions || false;\n this.pageColors = options.pageColors || null;\n if (this.pageColors && !(CSS.supports(\"color\", this.pageColors.background) && CSS.supports(\"color\", this.pageColors.foreground))) {\n if (this.pageColors.background || this.pageColors.foreground) {\n console.warn(\"PDFViewer: Ignoring `pageColors`-option, since the browser doesn't support the values used.\");\n }\n this.pageColors = null;\n }\n this.defaultRenderingQueue = !options.renderingQueue;\n if (this.defaultRenderingQueue) {\n this.renderingQueue = new _pdf_rendering_queue.PDFRenderingQueue();\n this.renderingQueue.setViewer(this);\n } else {\n this.renderingQueue = options.renderingQueue;\n }\n this.scroll = (0, _ui_utils.watchScroll)(this.container, this._scrollUpdate.bind(this));\n this.presentationModeState = _ui_utils.PresentationModeState.UNKNOWN;\n this._onBeforeDraw = this._onAfterDraw = null;\n this._resetView();\n if (this.removePageBorders) {\n this.viewer.classList.add(\"removePageBorders\");\n }\n this.#updateContainerHeightCss();\n }\n get pagesCount() {\n return this._pages.length;\n }\n getPageView(index) {\n return this._pages[index];\n }\n get pageViewsReady() {\n return this._pagesCapability.settled && this._pages.every(pageView => pageView?.pdfPage);\n }\n get renderForms() {\n return this.#annotationMode === _pdfjsLib.AnnotationMode.ENABLE_FORMS;\n }\n get enableScripting() {\n return !!this._scriptingManager;\n }\n get currentPageNumber() {\n return this._currentPageNumber;\n }\n set currentPageNumber(val) {\n if (!Number.isInteger(val)) {\n throw new Error(\"Invalid page number.\");\n }\n if (!this.pdfDocument) {\n return;\n }\n if (!this._setCurrentPageNumber(val, true)) {\n console.error(`currentPageNumber: \"${val}\" is not a valid page.`);\n }\n }\n _setCurrentPageNumber(val, resetCurrentPageView = false) {\n if (this._currentPageNumber === val) {\n if (resetCurrentPageView) {\n this.#resetCurrentPageView();\n }\n return true;\n }\n if (!(0 < val && val <= this.pagesCount)) {\n return false;\n }\n const previous = this._currentPageNumber;\n this._currentPageNumber = val;\n this.eventBus.dispatch(\"pagechanging\", {\n source: this,\n pageNumber: val,\n pageLabel: this._pageLabels?.[val - 1] ?? null,\n previous\n });\n if (resetCurrentPageView) {\n this.#resetCurrentPageView();\n }\n return true;\n }\n get currentPageLabel() {\n return this._pageLabels?.[this._currentPageNumber - 1] ?? null;\n }\n set currentPageLabel(val) {\n if (!this.pdfDocument) {\n return;\n }\n let page = val | 0;\n if (this._pageLabels) {\n const i = this._pageLabels.indexOf(val);\n if (i >= 0) {\n page = i + 1;\n }\n }\n if (!this._setCurrentPageNumber(page, true)) {\n console.error(`currentPageLabel: \"${val}\" is not a valid page.`);\n }\n }\n get currentScale() {\n return this._currentScale !== _ui_utils.UNKNOWN_SCALE ? this._currentScale : _ui_utils.DEFAULT_SCALE;\n }\n set currentScale(val) {\n if (isNaN(val)) {\n throw new Error(\"Invalid numeric scale.\");\n }\n if (!this.pdfDocument) {\n return;\n }\n this.#setScale(val, {\n noScroll: false\n });\n }\n get currentScaleValue() {\n return this._currentScaleValue;\n }\n set currentScaleValue(val) {\n if (!this.pdfDocument) {\n return;\n }\n this.#setScale(val, {\n noScroll: false\n });\n }\n get pagesRotation() {\n return this._pagesRotation;\n }\n set pagesRotation(rotation) {\n if (!(0, _ui_utils.isValidRotation)(rotation)) {\n throw new Error(\"Invalid pages rotation angle.\");\n }\n if (!this.pdfDocument) {\n return;\n }\n rotation %= 360;\n if (rotation < 0) {\n rotation += 360;\n }\n if (this._pagesRotation === rotation) {\n return;\n }\n this._pagesRotation = rotation;\n const pageNumber = this._currentPageNumber;\n this.refresh(true, {\n rotation\n });\n if (this._currentScaleValue) {\n this.#setScale(this._currentScaleValue, {\n noScroll: true\n });\n }\n this.eventBus.dispatch(\"rotationchanging\", {\n source: this,\n pagesRotation: rotation,\n pageNumber\n });\n if (this.defaultRenderingQueue) {\n this.update();\n }\n }\n get firstPagePromise() {\n return this.pdfDocument ? this._firstPageCapability.promise : null;\n }\n get onePageRendered() {\n return this.pdfDocument ? this._onePageRenderedCapability.promise : null;\n }\n get pagesPromise() {\n return this.pdfDocument ? this._pagesCapability.promise : null;\n }\n #layerProperties() {\n const self = this;\n return {\n get annotationEditorUIManager() {\n return self.#annotationEditorUIManager;\n },\n get annotationStorage() {\n return self.pdfDocument?.annotationStorage;\n },\n get downloadManager() {\n return self.downloadManager;\n },\n get enableScripting() {\n return !!self._scriptingManager;\n },\n get fieldObjectsPromise() {\n return self.pdfDocument?.getFieldObjects();\n },\n get findController() {\n return self.findController;\n },\n get hasJSActionsPromise() {\n return self.pdfDocument?.hasJSActions();\n },\n get linkService() {\n return self.linkService;\n }\n };\n }\n #initializePermissions(permissions) {\n const params = {\n annotationEditorMode: this.#annotationEditorMode,\n annotationMode: this.#annotationMode,\n textLayerMode: this.#textLayerMode\n };\n if (!permissions) {\n return params;\n }\n if (!permissions.includes(_pdfjsLib.PermissionFlag.COPY) && this.#textLayerMode === _ui_utils.TextLayerMode.ENABLE) {\n params.textLayerMode = _ui_utils.TextLayerMode.ENABLE_PERMISSIONS;\n }\n if (!permissions.includes(_pdfjsLib.PermissionFlag.MODIFY_CONTENTS)) {\n params.annotationEditorMode = _pdfjsLib.AnnotationEditorType.DISABLE;\n }\n if (!permissions.includes(_pdfjsLib.PermissionFlag.MODIFY_ANNOTATIONS) && !permissions.includes(_pdfjsLib.PermissionFlag.FILL_INTERACTIVE_FORMS) && this.#annotationMode === _pdfjsLib.AnnotationMode.ENABLE_FORMS) {\n params.annotationMode = _pdfjsLib.AnnotationMode.ENABLE;\n }\n return params;\n }\n #onePageRenderedOrForceFetch() {\n if (document.visibilityState === \"hidden\" || !this.container.offsetParent || this._getVisiblePages().views.length === 0) {\n return Promise.resolve();\n }\n const visibilityChangePromise = new Promise(resolve => {\n this.#onVisibilityChange = () => {\n if (document.visibilityState !== \"hidden\") {\n return;\n }\n resolve();\n document.removeEventListener(\"visibilitychange\", this.#onVisibilityChange);\n this.#onVisibilityChange = null;\n };\n document.addEventListener(\"visibilitychange\", this.#onVisibilityChange);\n });\n return Promise.race([this._onePageRenderedCapability.promise, visibilityChangePromise]);\n }\n async getAllText() {\n const texts = [];\n const buffer = [];\n for (let pageNum = 1, pagesCount = this.pdfDocument.numPages; pageNum <= pagesCount; ++pageNum) {\n if (this.#interruptCopyCondition) {\n return null;\n }\n buffer.length = 0;\n const page = await this.pdfDocument.getPage(pageNum);\n const {\n items\n } = await page.getTextContent();\n for (const item of items) {\n if (item.str) {\n buffer.push(item.str);\n }\n if (item.hasEOL) {\n buffer.push(\"\\n\");\n }\n }\n texts.push((0, _ui_utils.removeNullCharacters)(buffer.join(\"\")));\n }\n return texts.join(\"\\n\");\n }\n #copyCallback(textLayerMode, event) {\n const selection = document.getSelection();\n const {\n focusNode,\n anchorNode\n } = selection;\n if (anchorNode && focusNode && selection.containsNode(this.#hiddenCopyElement)) {\n if (this.#getAllTextInProgress || textLayerMode === _ui_utils.TextLayerMode.ENABLE_PERMISSIONS) {\n event.preventDefault();\n event.stopPropagation();\n return;\n }\n this.#getAllTextInProgress = true;\n const savedCursor = this.container.style.cursor;\n this.container.style.cursor = \"wait\";\n const interruptCopy = ev => this.#interruptCopyCondition = ev.key === \"Escape\";\n window.addEventListener(\"keydown\", interruptCopy);\n this.getAllText().then(async text => {\n if (text !== null) {\n await navigator.clipboard.writeText(text);\n }\n }).catch(reason => {\n console.warn(`Something goes wrong when extracting the text: ${reason.message}`);\n }).finally(() => {\n this.#getAllTextInProgress = false;\n this.#interruptCopyCondition = false;\n window.removeEventListener(\"keydown\", interruptCopy);\n this.container.style.cursor = savedCursor;\n });\n event.preventDefault();\n event.stopPropagation();\n }\n }\n setDocument(pdfDocument) {\n if (this.pdfDocument) {\n this.eventBus.dispatch(\"pagesdestroy\", {\n source: this\n });\n this._cancelRendering();\n this._resetView();\n this.findController?.setDocument(null);\n this._scriptingManager?.setDocument(null);\n if (this.#annotationEditorUIManager) {\n this.#annotationEditorUIManager.destroy();\n this.#annotationEditorUIManager = null;\n }\n }\n this.pdfDocument = pdfDocument;\n if (!pdfDocument) {\n return;\n }\n const pagesCount = pdfDocument.numPages;\n const firstPagePromise = pdfDocument.getPage(1);\n const optionalContentConfigPromise = pdfDocument.getOptionalContentConfig();\n const permissionsPromise = this.#enablePermissions ? pdfDocument.getPermissions() : Promise.resolve();\n if (pagesCount > PagesCountLimit.FORCE_SCROLL_MODE_PAGE) {\n console.warn(\"Forcing PAGE-scrolling for performance reasons, given the length of the document.\");\n const mode = this._scrollMode = _ui_utils.ScrollMode.PAGE;\n this.eventBus.dispatch(\"scrollmodechanged\", {\n source: this,\n mode\n });\n }\n this._pagesCapability.promise.then(() => {\n this.eventBus.dispatch(\"pagesloaded\", {\n source: this,\n pagesCount\n });\n }, () => {});\n this._onBeforeDraw = evt => {\n const pageView = this._pages[evt.pageNumber - 1];\n if (!pageView) {\n return;\n }\n this.#buffer.push(pageView);\n };\n this.eventBus._on(\"pagerender\", this._onBeforeDraw);\n this._onAfterDraw = evt => {\n if (evt.cssTransform || this._onePageRenderedCapability.settled) {\n return;\n }\n this._onePageRenderedCapability.resolve({\n timestamp: evt.timestamp\n });\n this.eventBus._off(\"pagerendered\", this._onAfterDraw);\n this._onAfterDraw = null;\n if (this.#onVisibilityChange) {\n document.removeEventListener(\"visibilitychange\", this.#onVisibilityChange);\n this.#onVisibilityChange = null;\n }\n };\n this.eventBus._on(\"pagerendered\", this._onAfterDraw);\n Promise.all([firstPagePromise, permissionsPromise]).then(([firstPdfPage, permissions]) => {\n if (pdfDocument !== this.pdfDocument) {\n return;\n }\n this._firstPageCapability.resolve(firstPdfPage);\n this._optionalContentConfigPromise = optionalContentConfigPromise;\n const {\n annotationEditorMode,\n annotationMode,\n textLayerMode\n } = this.#initializePermissions(permissions);\n if (textLayerMode !== _ui_utils.TextLayerMode.DISABLE) {\n const element = this.#hiddenCopyElement = document.createElement(\"div\");\n element.id = \"hiddenCopyElement\";\n this.viewer.before(element);\n }\n if (annotationEditorMode !== _pdfjsLib.AnnotationEditorType.DISABLE) {\n const mode = annotationEditorMode;\n if (pdfDocument.isPureXfa) {\n console.warn(\"Warning: XFA-editing is not implemented.\");\n } else if (isValidAnnotationEditorMode(mode)) {\n this.#annotationEditorUIManager = new _pdfjsLib.AnnotationEditorUIManager(this.container, this.eventBus, pdfDocument?.annotationStorage);\n if (mode !== _pdfjsLib.AnnotationEditorType.NONE) {\n this.#annotationEditorUIManager.updateMode(mode);\n }\n } else {\n console.error(`Invalid AnnotationEditor mode: ${mode}`);\n }\n }\n const layerProperties = this.#layerProperties.bind(this);\n const viewerElement = this._scrollMode === _ui_utils.ScrollMode.PAGE ? null : this.viewer;\n const scale = this.currentScale;\n const viewport = firstPdfPage.getViewport({\n scale: scale * _pdfjsLib.PixelsPerInch.PDF_TO_CSS_UNITS\n });\n this.viewer.style.setProperty(\"--scale-factor\", viewport.scale);\n for (let pageNum = 1; pageNum <= pagesCount; ++pageNum) {\n const pageView = new _pdf_page_view.PDFPageView({\n container: viewerElement,\n eventBus: this.eventBus,\n id: pageNum,\n scale,\n defaultViewport: viewport.clone(),\n optionalContentConfigPromise,\n renderingQueue: this.renderingQueue,\n textLayerMode,\n annotationMode,\n imageResourcesPath: this.imageResourcesPath,\n useOnlyCssZoom: this.useOnlyCssZoom,\n isOffscreenCanvasSupported: this.isOffscreenCanvasSupported,\n maxCanvasPixels: this.maxCanvasPixels,\n pageColors: this.pageColors,\n l10n: this.l10n,\n layerProperties\n });\n this._pages.push(pageView);\n }\n const firstPageView = this._pages[0];\n if (firstPageView) {\n firstPageView.setPdfPage(firstPdfPage);\n this.linkService.cachePageRef(1, firstPdfPage.ref);\n }\n if (this._scrollMode === _ui_utils.ScrollMode.PAGE) {\n this.#ensurePageViewVisible();\n } else if (this._spreadMode !== _ui_utils.SpreadMode.NONE) {\n this._updateSpreadMode();\n }\n this.#onePageRenderedOrForceFetch().then(async () => {\n this.findController?.setDocument(pdfDocument);\n this._scriptingManager?.setDocument(pdfDocument);\n if (this.#hiddenCopyElement) {\n this.#copyCallbackBound = this.#copyCallback.bind(this, textLayerMode);\n document.addEventListener(\"copy\", this.#copyCallbackBound);\n }\n if (this.#annotationEditorUIManager) {\n this.eventBus.dispatch(\"annotationeditormodechanged\", {\n source: this,\n mode: this.#annotationEditorMode\n });\n }\n if (pdfDocument.loadingParams.disableAutoFetch || pagesCount > PagesCountLimit.FORCE_LAZY_PAGE_INIT) {\n this._pagesCapability.resolve();\n return;\n }\n let getPagesLeft = pagesCount - 1;\n if (getPagesLeft <= 0) {\n this._pagesCapability.resolve();\n return;\n }\n for (let pageNum = 2; pageNum <= pagesCount; ++pageNum) {\n const promise = pdfDocument.getPage(pageNum).then(pdfPage => {\n const pageView = this._pages[pageNum - 1];\n if (!pageView.pdfPage) {\n pageView.setPdfPage(pdfPage);\n }\n this.linkService.cachePageRef(pageNum, pdfPage.ref);\n if (--getPagesLeft === 0) {\n this._pagesCapability.resolve();\n }\n }, reason => {\n console.error(`Unable to get page ${pageNum} to initialize viewer`, reason);\n if (--getPagesLeft === 0) {\n this._pagesCapability.resolve();\n }\n });\n if (pageNum % PagesCountLimit.PAUSE_EAGER_PAGE_INIT === 0) {\n await promise;\n }\n }\n });\n this.eventBus.dispatch(\"pagesinit\", {\n source: this\n });\n pdfDocument.getMetadata().then(({\n info\n }) => {\n if (pdfDocument !== this.pdfDocument) {\n return;\n }\n if (info.Language) {\n this.viewer.lang = info.Language;\n }\n });\n if (this.defaultRenderingQueue) {\n this.update();\n }\n }).catch(reason => {\n console.error(\"Unable to initialize viewer\", reason);\n this._pagesCapability.reject(reason);\n });\n }\n setPageLabels(labels) {\n if (!this.pdfDocument) {\n return;\n }\n if (!labels) {\n this._pageLabels = null;\n } else if (!(Array.isArray(labels) && this.pdfDocument.numPages === labels.length)) {\n this._pageLabels = null;\n console.error(`setPageLabels: Invalid page labels.`);\n } else {\n this._pageLabels = labels;\n }\n for (let i = 0, ii = this._pages.length; i < ii; i++) {\n this._pages[i].setPageLabel(this._pageLabels?.[i] ?? null);\n }\n }\n _resetView() {\n this._pages = [];\n this._currentPageNumber = 1;\n this._currentScale = _ui_utils.UNKNOWN_SCALE;\n this._currentScaleValue = null;\n this._pageLabels = null;\n this.#buffer = new PDFPageViewBuffer(DEFAULT_CACHE_SIZE);\n this._location = null;\n this._pagesRotation = 0;\n this._optionalContentConfigPromise = null;\n this._firstPageCapability = new _pdfjsLib.PromiseCapability();\n this._onePageRenderedCapability = new _pdfjsLib.PromiseCapability();\n this._pagesCapability = new _pdfjsLib.PromiseCapability();\n this._scrollMode = _ui_utils.ScrollMode.VERTICAL;\n this._previousScrollMode = _ui_utils.ScrollMode.UNKNOWN;\n this._spreadMode = _ui_utils.SpreadMode.NONE;\n this.#scrollModePageState = {\n previousPageNumber: 1,\n scrollDown: true,\n pages: []\n };\n if (this._onBeforeDraw) {\n this.eventBus._off(\"pagerender\", this._onBeforeDraw);\n this._onBeforeDraw = null;\n }\n if (this._onAfterDraw) {\n this.eventBus._off(\"pagerendered\", this._onAfterDraw);\n this._onAfterDraw = null;\n }\n if (this.#onVisibilityChange) {\n document.removeEventListener(\"visibilitychange\", this.#onVisibilityChange);\n this.#onVisibilityChange = null;\n }\n this.viewer.textContent = \"\";\n this._updateScrollMode();\n this.viewer.removeAttribute(\"lang\");\n if (this.#hiddenCopyElement) {\n document.removeEventListener(\"copy\", this.#copyCallbackBound);\n this.#copyCallbackBound = null;\n this.#hiddenCopyElement.remove();\n this.#hiddenCopyElement = null;\n }\n }\n #ensurePageViewVisible() {\n if (this._scrollMode !== _ui_utils.ScrollMode.PAGE) {\n throw new Error(\"#ensurePageViewVisible: Invalid scrollMode value.\");\n }\n const pageNumber = this._currentPageNumber,\n state = this.#scrollModePageState,\n viewer = this.viewer;\n viewer.textContent = \"\";\n state.pages.length = 0;\n if (this._spreadMode === _ui_utils.SpreadMode.NONE && !this.isInPresentationMode) {\n const pageView = this._pages[pageNumber - 1];\n viewer.append(pageView.div);\n state.pages.push(pageView);\n } else {\n const pageIndexSet = new Set(),\n parity = this._spreadMode - 1;\n if (parity === -1) {\n pageIndexSet.add(pageNumber - 1);\n } else if (pageNumber % 2 !== parity) {\n pageIndexSet.add(pageNumber - 1);\n pageIndexSet.add(pageNumber);\n } else {\n pageIndexSet.add(pageNumber - 2);\n pageIndexSet.add(pageNumber - 1);\n }\n const spread = document.createElement(\"div\");\n spread.className = \"spread\";\n if (this.isInPresentationMode) {\n const dummyPage = document.createElement(\"div\");\n dummyPage.className = \"dummyPage\";\n spread.append(dummyPage);\n }\n for (const i of pageIndexSet) {\n const pageView = this._pages[i];\n if (!pageView) {\n continue;\n }\n spread.append(pageView.div);\n state.pages.push(pageView);\n }\n viewer.append(spread);\n }\n state.scrollDown = pageNumber >= state.previousPageNumber;\n state.previousPageNumber = pageNumber;\n }\n _scrollUpdate() {\n if (this.pagesCount === 0) {\n return;\n }\n this.update();\n }\n #scrollIntoView(pageView, pageSpot = null) {\n const {\n div,\n id\n } = pageView;\n if (this._currentPageNumber !== id) {\n this._setCurrentPageNumber(id);\n }\n if (this._scrollMode === _ui_utils.ScrollMode.PAGE) {\n this.#ensurePageViewVisible();\n this.update();\n }\n if (!pageSpot && !this.isInPresentationMode) {\n const left = div.offsetLeft + div.clientLeft,\n right = left + div.clientWidth;\n const {\n scrollLeft,\n clientWidth\n } = this.container;\n if (this._scrollMode === _ui_utils.ScrollMode.HORIZONTAL || left < scrollLeft || right > scrollLeft + clientWidth) {\n pageSpot = {\n left: 0,\n top: 0\n };\n }\n }\n (0, _ui_utils.scrollIntoView)(div, pageSpot);\n if (!this._currentScaleValue && this._location) {\n this._location = null;\n }\n }\n #isSameScale(newScale) {\n return newScale === this._currentScale || Math.abs(newScale - this._currentScale) < 1e-15;\n }\n #setScaleUpdatePages(newScale, newValue, {\n noScroll = false,\n preset = false,\n drawingDelay = -1\n }) {\n this._currentScaleValue = newValue.toString();\n if (this.#isSameScale(newScale)) {\n if (preset) {\n this.eventBus.dispatch(\"scalechanging\", {\n source: this,\n scale: newScale,\n presetValue: newValue\n });\n }\n return;\n }\n this.viewer.style.setProperty(\"--scale-factor\", newScale * _pdfjsLib.PixelsPerInch.PDF_TO_CSS_UNITS);\n const postponeDrawing = drawingDelay >= 0 && drawingDelay < 1000;\n this.refresh(true, {\n scale: newScale,\n drawingDelay: postponeDrawing ? drawingDelay : -1\n });\n if (postponeDrawing) {\n this.#scaleTimeoutId = setTimeout(() => {\n this.#scaleTimeoutId = null;\n this.refresh();\n }, drawingDelay);\n }\n this._currentScale = newScale;\n if (!noScroll) {\n let page = this._currentPageNumber,\n dest;\n if (this._location && !(this.isInPresentationMode || this.isChangingPresentationMode)) {\n page = this._location.pageNumber;\n dest = [null, {\n name: \"XYZ\"\n }, this._location.left, this._location.top, null];\n }\n this.scrollPageIntoView({\n pageNumber: page,\n destArray: dest,\n allowNegativeOffset: true\n });\n }\n this.eventBus.dispatch(\"scalechanging\", {\n source: this,\n scale: newScale,\n presetValue: preset ? newValue : undefined\n });\n if (this.defaultRenderingQueue) {\n this.update();\n }\n }\n get #pageWidthScaleFactor() {\n if (this._spreadMode !== _ui_utils.SpreadMode.NONE && this._scrollMode !== _ui_utils.ScrollMode.HORIZONTAL) {\n return 2;\n }\n return 1;\n }\n #setScale(value, options) {\n let scale = parseFloat(value);\n if (scale > 0) {\n options.preset = false;\n this.#setScaleUpdatePages(scale, value, options);\n } else {\n const currentPage = this._pages[this._currentPageNumber - 1];\n if (!currentPage) {\n return;\n }\n let hPadding = _ui_utils.SCROLLBAR_PADDING,\n vPadding = _ui_utils.VERTICAL_PADDING;\n if (this.isInPresentationMode) {\n hPadding = vPadding = 4;\n if (this._spreadMode !== _ui_utils.SpreadMode.NONE) {\n hPadding *= 2;\n }\n } else if (this.removePageBorders) {\n hPadding = vPadding = 0;\n } else if (this._scrollMode === _ui_utils.ScrollMode.HORIZONTAL) {\n [hPadding, vPadding] = [vPadding, hPadding];\n }\n const pageWidthScale = (this.container.clientWidth - hPadding) / currentPage.width * currentPage.scale / this.#pageWidthScaleFactor;\n const pageHeightScale = (this.container.clientHeight - vPadding) / currentPage.height * currentPage.scale;\n switch (value) {\n case \"page-actual\":\n scale = 1;\n break;\n case \"page-width\":\n scale = pageWidthScale;\n break;\n case \"page-height\":\n scale = pageHeightScale;\n break;\n case \"page-fit\":\n scale = Math.min(pageWidthScale, pageHeightScale);\n break;\n case \"auto\":\n const horizontalScale = (0, _ui_utils.isPortraitOrientation)(currentPage) ? pageWidthScale : Math.min(pageHeightScale, pageWidthScale);\n scale = Math.min(_ui_utils.MAX_AUTO_SCALE, horizontalScale);\n break;\n default:\n console.error(`#setScale: \"${value}\" is an unknown zoom value.`);\n return;\n }\n options.preset = true;\n this.#setScaleUpdatePages(scale, value, options);\n }\n }\n #resetCurrentPageView() {\n const pageView = this._pages[this._currentPageNumber - 1];\n if (this.isInPresentationMode) {\n this.#setScale(this._currentScaleValue, {\n noScroll: true\n });\n }\n this.#scrollIntoView(pageView);\n }\n pageLabelToPageNumber(label) {\n if (!this._pageLabels) {\n return null;\n }\n const i = this._pageLabels.indexOf(label);\n if (i < 0) {\n return null;\n }\n return i + 1;\n }\n scrollPageIntoView({\n pageNumber,\n destArray = null,\n allowNegativeOffset = false,\n ignoreDestinationZoom = false\n }) {\n if (!this.pdfDocument) {\n return;\n }\n const pageView = Number.isInteger(pageNumber) && this._pages[pageNumber - 1];\n if (!pageView) {\n console.error(`scrollPageIntoView: \"${pageNumber}\" is not a valid pageNumber parameter.`);\n return;\n }\n if (this.isInPresentationMode || !destArray) {\n this._setCurrentPageNumber(pageNumber, true);\n return;\n }\n let x = 0,\n y = 0;\n let width = 0,\n height = 0,\n widthScale,\n heightScale;\n const changeOrientation = pageView.rotation % 180 !== 0;\n const pageWidth = (changeOrientation ? pageView.height : pageView.width) / pageView.scale / _pdfjsLib.PixelsPerInch.PDF_TO_CSS_UNITS;\n const pageHeight = (changeOrientation ? pageView.width : pageView.height) / pageView.scale / _pdfjsLib.PixelsPerInch.PDF_TO_CSS_UNITS;\n let scale = 0;\n switch (destArray[1].name) {\n case \"XYZ\":\n x = destArray[2];\n y = destArray[3];\n scale = destArray[4];\n x = x !== null ? x : 0;\n y = y !== null ? y : pageHeight;\n break;\n case \"Fit\":\n case \"FitB\":\n scale = \"page-fit\";\n break;\n case \"FitH\":\n case \"FitBH\":\n y = destArray[2];\n scale = \"page-width\";\n if (y === null && this._location) {\n x = this._location.left;\n y = this._location.top;\n } else if (typeof y !== \"number\" || y < 0) {\n y = pageHeight;\n }\n break;\n case \"FitV\":\n case \"FitBV\":\n x = destArray[2];\n width = pageWidth;\n height = pageHeight;\n scale = \"page-height\";\n break;\n case \"FitR\":\n x = destArray[2];\n y = destArray[3];\n width = destArray[4] - x;\n height = destArray[5] - y;\n let hPadding = _ui_utils.SCROLLBAR_PADDING,\n vPadding = _ui_utils.VERTICAL_PADDING;\n if (this.removePageBorders) {\n hPadding = vPadding = 0;\n }\n widthScale = (this.container.clientWidth - hPadding) / width / _pdfjsLib.PixelsPerInch.PDF_TO_CSS_UNITS;\n heightScale = (this.container.clientHeight - vPadding) / height / _pdfjsLib.PixelsPerInch.PDF_TO_CSS_UNITS;\n scale = Math.min(Math.abs(widthScale), Math.abs(heightScale));\n break;\n default:\n console.error(`scrollPageIntoView: \"${destArray[1].name}\" is not a valid destination type.`);\n return;\n }\n if (!ignoreDestinationZoom) {\n if (scale && scale !== this._currentScale) {\n this.currentScaleValue = scale;\n } else if (this._currentScale === _ui_utils.UNKNOWN_SCALE) {\n this.currentScaleValue = _ui_utils.DEFAULT_SCALE_VALUE;\n }\n }\n if (scale === \"page-fit\" && !destArray[4]) {\n this.#scrollIntoView(pageView);\n return;\n }\n const boundingRect = [pageView.viewport.convertToViewportPoint(x, y), pageView.viewport.convertToViewportPoint(x + width, y + height)];\n let left = Math.min(boundingRect[0][0], boundingRect[1][0]);\n let top = Math.min(boundingRect[0][1], boundingRect[1][1]);\n if (!allowNegativeOffset) {\n left = Math.max(left, 0);\n top = Math.max(top, 0);\n }\n this.#scrollIntoView(pageView, {\n left,\n top\n });\n }\n _updateLocation(firstPage) {\n const currentScale = this._currentScale;\n const currentScaleValue = this._currentScaleValue;\n const normalizedScaleValue = parseFloat(currentScaleValue) === currentScale ? Math.round(currentScale * 10000) / 100 : currentScaleValue;\n const pageNumber = firstPage.id;\n const currentPageView = this._pages[pageNumber - 1];\n const container = this.container;\n const topLeft = currentPageView.getPagePoint(container.scrollLeft - firstPage.x, container.scrollTop - firstPage.y);\n const intLeft = Math.round(topLeft[0]);\n const intTop = Math.round(topLeft[1]);\n let pdfOpenParams = `#page=${pageNumber}`;\n if (!this.isInPresentationMode) {\n pdfOpenParams += `&zoom=${normalizedScaleValue},${intLeft},${intTop}`;\n }\n this._location = {\n pageNumber,\n scale: normalizedScaleValue,\n top: intTop,\n left: intLeft,\n rotation: this._pagesRotation,\n pdfOpenParams\n };\n }\n update() {\n const visible = this._getVisiblePages();\n const visiblePages = visible.views,\n numVisiblePages = visiblePages.length;\n if (numVisiblePages === 0) {\n return;\n }\n const newCacheSize = Math.max(DEFAULT_CACHE_SIZE, 2 * numVisiblePages + 1);\n this.#buffer.resize(newCacheSize, visible.ids);\n this.renderingQueue.renderHighestPriority(visible);\n const isSimpleLayout = this._spreadMode === _ui_utils.SpreadMode.NONE && (this._scrollMode === _ui_utils.ScrollMode.PAGE || this._scrollMode === _ui_utils.ScrollMode.VERTICAL);\n const currentId = this._currentPageNumber;\n let stillFullyVisible = false;\n for (const page of visiblePages) {\n if (page.percent < 100) {\n break;\n }\n if (page.id === currentId && isSimpleLayout) {\n stillFullyVisible = true;\n break;\n }\n }\n this._setCurrentPageNumber(stillFullyVisible ? currentId : visiblePages[0].id);\n this._updateLocation(visible.first);\n this.eventBus.dispatch(\"updateviewarea\", {\n source: this,\n location: this._location\n });\n }\n containsElement(element) {\n return this.container.contains(element);\n }\n focus() {\n this.container.focus();\n }\n get _isContainerRtl() {\n return getComputedStyle(this.container).direction === \"rtl\";\n }\n get isInPresentationMode() {\n return this.presentationModeState === _ui_utils.PresentationModeState.FULLSCREEN;\n }\n get isChangingPresentationMode() {\n return this.presentationModeState === _ui_utils.PresentationModeState.CHANGING;\n }\n get isHorizontalScrollbarEnabled() {\n return this.isInPresentationMode ? false : this.container.scrollWidth > this.container.clientWidth;\n }\n get isVerticalScrollbarEnabled() {\n return this.isInPresentationMode ? false : this.container.scrollHeight > this.container.clientHeight;\n }\n _getVisiblePages() {\n const views = this._scrollMode === _ui_utils.ScrollMode.PAGE ? this.#scrollModePageState.pages : this._pages,\n horizontal = this._scrollMode === _ui_utils.ScrollMode.HORIZONTAL,\n rtl = horizontal && this._isContainerRtl;\n return (0, _ui_utils.getVisibleElements)({\n scrollEl: this.container,\n views,\n sortByVisibility: true,\n horizontal,\n rtl\n });\n }\n isPageVisible(pageNumber) {\n if (!this.pdfDocument) {\n return false;\n }\n if (!(Number.isInteger(pageNumber) && pageNumber > 0 && pageNumber <= this.pagesCount)) {\n console.error(`isPageVisible: \"${pageNumber}\" is not a valid page.`);\n return false;\n }\n return this._getVisiblePages().ids.has(pageNumber);\n }\n isPageCached(pageNumber) {\n if (!this.pdfDocument) {\n return false;\n }\n if (!(Number.isInteger(pageNumber) && pageNumber > 0 && pageNumber <= this.pagesCount)) {\n console.error(`isPageCached: \"${pageNumber}\" is not a valid page.`);\n return false;\n }\n const pageView = this._pages[pageNumber - 1];\n return this.#buffer.has(pageView);\n }\n cleanup() {\n for (const pageView of this._pages) {\n if (pageView.renderingState !== _ui_utils.RenderingStates.FINISHED) {\n pageView.reset();\n }\n }\n }\n _cancelRendering() {\n for (const pageView of this._pages) {\n pageView.cancelRendering();\n }\n }\n async #ensurePdfPageLoaded(pageView) {\n if (pageView.pdfPage) {\n return pageView.pdfPage;\n }\n try {\n const pdfPage = await this.pdfDocument.getPage(pageView.id);\n if (!pageView.pdfPage) {\n pageView.setPdfPage(pdfPage);\n }\n if (!this.linkService._cachedPageNumber?.(pdfPage.ref)) {\n this.linkService.cachePageRef(pageView.id, pdfPage.ref);\n }\n return pdfPage;\n } catch (reason) {\n console.error(\"Unable to get page for page view\", reason);\n return null;\n }\n }\n #getScrollAhead(visible) {\n if (visible.first?.id === 1) {\n return true;\n } else if (visible.last?.id === this.pagesCount) {\n return false;\n }\n switch (this._scrollMode) {\n case _ui_utils.ScrollMode.PAGE:\n return this.#scrollModePageState.scrollDown;\n case _ui_utils.ScrollMode.HORIZONTAL:\n return this.scroll.right;\n }\n return this.scroll.down;\n }\n forceRendering(currentlyVisiblePages) {\n const visiblePages = currentlyVisiblePages || this._getVisiblePages();\n const scrollAhead = this.#getScrollAhead(visiblePages);\n const preRenderExtra = this._spreadMode !== _ui_utils.SpreadMode.NONE && this._scrollMode !== _ui_utils.ScrollMode.HORIZONTAL;\n const pageView = this.renderingQueue.getHighestPriority(visiblePages, this._pages, scrollAhead, preRenderExtra);\n if (pageView) {\n this.#ensurePdfPageLoaded(pageView).then(() => {\n this.renderingQueue.renderView(pageView);\n });\n return true;\n }\n return false;\n }\n get hasEqualPageSizes() {\n const firstPageView = this._pages[0];\n for (let i = 1, ii = this._pages.length; i < ii; ++i) {\n const pageView = this._pages[i];\n if (pageView.width !== firstPageView.width || pageView.height !== firstPageView.height) {\n return false;\n }\n }\n return true;\n }\n getPagesOverview() {\n let initialOrientation;\n return this._pages.map(pageView => {\n const viewport = pageView.pdfPage.getViewport({\n scale: 1\n });\n const orientation = (0, _ui_utils.isPortraitOrientation)(viewport);\n if (initialOrientation === undefined) {\n initialOrientation = orientation;\n } else if (this.enablePrintAutoRotate && orientation !== initialOrientation) {\n return {\n width: viewport.height,\n height: viewport.width,\n rotation: (viewport.rotation - 90) % 360\n };\n }\n return {\n width: viewport.width,\n height: viewport.height,\n rotation: viewport.rotation\n };\n });\n }\n get optionalContentConfigPromise() {\n if (!this.pdfDocument) {\n return Promise.resolve(null);\n }\n if (!this._optionalContentConfigPromise) {\n console.error(\"optionalContentConfigPromise: Not initialized yet.\");\n return this.pdfDocument.getOptionalContentConfig();\n }\n return this._optionalContentConfigPromise;\n }\n set optionalContentConfigPromise(promise) {\n if (!(promise instanceof Promise)) {\n throw new Error(`Invalid optionalContentConfigPromise: ${promise}`);\n }\n if (!this.pdfDocument) {\n return;\n }\n if (!this._optionalContentConfigPromise) {\n return;\n }\n this._optionalContentConfigPromise = promise;\n this.refresh(false, {\n optionalContentConfigPromise: promise\n });\n this.eventBus.dispatch(\"optionalcontentconfigchanged\", {\n source: this,\n promise\n });\n }\n get scrollMode() {\n return this._scrollMode;\n }\n set scrollMode(mode) {\n if (this._scrollMode === mode) {\n return;\n }\n if (!(0, _ui_utils.isValidScrollMode)(mode)) {\n throw new Error(`Invalid scroll mode: ${mode}`);\n }\n if (this.pagesCount > PagesCountLimit.FORCE_SCROLL_MODE_PAGE) {\n return;\n }\n this._previousScrollMode = this._scrollMode;\n this._scrollMode = mode;\n this.eventBus.dispatch(\"scrollmodechanged\", {\n source: this,\n mode\n });\n this._updateScrollMode(this._currentPageNumber);\n }\n _updateScrollMode(pageNumber = null) {\n const scrollMode = this._scrollMode,\n viewer = this.viewer;\n viewer.classList.toggle(\"scrollHorizontal\", scrollMode === _ui_utils.ScrollMode.HORIZONTAL);\n viewer.classList.toggle(\"scrollWrapped\", scrollMode === _ui_utils.ScrollMode.WRAPPED);\n if (!this.pdfDocument || !pageNumber) {\n return;\n }\n if (scrollMode === _ui_utils.ScrollMode.PAGE) {\n this.#ensurePageViewVisible();\n } else if (this._previousScrollMode === _ui_utils.ScrollMode.PAGE) {\n this._updateSpreadMode();\n }\n if (this._currentScaleValue && isNaN(this._currentScaleValue)) {\n this.#setScale(this._currentScaleValue, {\n noScroll: true\n });\n }\n this._setCurrentPageNumber(pageNumber, true);\n this.update();\n }\n get spreadMode() {\n return this._spreadMode;\n }\n set spreadMode(mode) {\n if (this._spreadMode === mode) {\n return;\n }\n if (!(0, _ui_utils.isValidSpreadMode)(mode)) {\n throw new Error(`Invalid spread mode: ${mode}`);\n }\n this._spreadMode = mode;\n this.eventBus.dispatch(\"spreadmodechanged\", {\n source: this,\n mode\n });\n this._updateSpreadMode(this._currentPageNumber);\n }\n _updateSpreadMode(pageNumber = null) {\n if (!this.pdfDocument) {\n return;\n }\n const viewer = this.viewer,\n pages = this._pages;\n if (this._scrollMode === _ui_utils.ScrollMode.PAGE) {\n this.#ensurePageViewVisible();\n } else {\n viewer.textContent = \"\";\n if (this._spreadMode === _ui_utils.SpreadMode.NONE) {\n for (const pageView of this._pages) {\n viewer.append(pageView.div);\n }\n } else {\n const parity = this._spreadMode - 1;\n let spread = null;\n for (let i = 0, ii = pages.length; i < ii; ++i) {\n if (spread === null) {\n spread = document.createElement(\"div\");\n spread.className = \"spread\";\n viewer.append(spread);\n } else if (i % 2 === parity) {\n spread = spread.cloneNode(false);\n viewer.append(spread);\n }\n spread.append(pages[i].div);\n }\n }\n }\n if (!pageNumber) {\n return;\n }\n if (this._currentScaleValue && isNaN(this._currentScaleValue)) {\n this.#setScale(this._currentScaleValue, {\n noScroll: true\n });\n }\n this._setCurrentPageNumber(pageNumber, true);\n this.update();\n }\n _getPageAdvance(currentPageNumber, previous = false) {\n switch (this._scrollMode) {\n case _ui_utils.ScrollMode.WRAPPED:\n {\n const {\n views\n } = this._getVisiblePages(),\n pageLayout = new Map();\n for (const {\n id,\n y,\n percent,\n widthPercent\n } of views) {\n if (percent === 0 || widthPercent < 100) {\n continue;\n }\n let yArray = pageLayout.get(y);\n if (!yArray) {\n pageLayout.set(y, yArray ||= []);\n }\n yArray.push(id);\n }\n for (const yArray of pageLayout.values()) {\n const currentIndex = yArray.indexOf(currentPageNumber);\n if (currentIndex === -1) {\n continue;\n }\n const numPages = yArray.length;\n if (numPages === 1) {\n break;\n }\n if (previous) {\n for (let i = currentIndex - 1, ii = 0; i >= ii; i--) {\n const currentId = yArray[i],\n expectedId = yArray[i + 1] - 1;\n if (currentId < expectedId) {\n return currentPageNumber - expectedId;\n }\n }\n } else {\n for (let i = currentIndex + 1, ii = numPages; i < ii; i++) {\n const currentId = yArray[i],\n expectedId = yArray[i - 1] + 1;\n if (currentId > expectedId) {\n return expectedId - currentPageNumber;\n }\n }\n }\n if (previous) {\n const firstId = yArray[0];\n if (firstId < currentPageNumber) {\n return currentPageNumber - firstId + 1;\n }\n } else {\n const lastId = yArray[numPages - 1];\n if (lastId > currentPageNumber) {\n return lastId - currentPageNumber + 1;\n }\n }\n break;\n }\n break;\n }\n case _ui_utils.ScrollMode.HORIZONTAL:\n {\n break;\n }\n case _ui_utils.ScrollMode.PAGE:\n case _ui_utils.ScrollMode.VERTICAL:\n {\n if (this._spreadMode === _ui_utils.SpreadMode.NONE) {\n break;\n }\n const parity = this._spreadMode - 1;\n if (previous && currentPageNumber % 2 !== parity) {\n break;\n } else if (!previous && currentPageNumber % 2 === parity) {\n break;\n }\n const {\n views\n } = this._getVisiblePages(),\n expectedId = previous ? currentPageNumber - 1 : currentPageNumber + 1;\n for (const {\n id,\n percent,\n widthPercent\n } of views) {\n if (id !== expectedId) {\n continue;\n }\n if (percent > 0 && widthPercent === 100) {\n return 2;\n }\n break;\n }\n break;\n }\n }\n return 1;\n }\n nextPage() {\n const currentPageNumber = this._currentPageNumber,\n pagesCount = this.pagesCount;\n if (currentPageNumber >= pagesCount) {\n return false;\n }\n const advance = this._getPageAdvance(currentPageNumber, false) || 1;\n this.currentPageNumber = Math.min(currentPageNumber + advance, pagesCount);\n return true;\n }\n previousPage() {\n const currentPageNumber = this._currentPageNumber;\n if (currentPageNumber <= 1) {\n return false;\n }\n const advance = this._getPageAdvance(currentPageNumber, true) || 1;\n this.currentPageNumber = Math.max(currentPageNumber - advance, 1);\n return true;\n }\n increaseScale({\n drawingDelay,\n scaleFactor,\n steps\n } = {}) {\n if (!this.pdfDocument) {\n return;\n }\n let newScale = this._currentScale;\n if (scaleFactor > 1) {\n newScale = Math.round(newScale * scaleFactor * 100) / 100;\n } else {\n steps ??= 1;\n do {\n newScale = Math.ceil((newScale * _ui_utils.DEFAULT_SCALE_DELTA).toFixed(2) * 10) / 10;\n } while (--steps > 0 && newScale < _ui_utils.MAX_SCALE);\n }\n this.#setScale(Math.min(_ui_utils.MAX_SCALE, newScale), {\n noScroll: false,\n drawingDelay\n });\n }\n decreaseScale({\n drawingDelay,\n scaleFactor,\n steps\n } = {}) {\n if (!this.pdfDocument) {\n return;\n }\n let newScale = this._currentScale;\n if (scaleFactor > 0 && scaleFactor < 1) {\n newScale = Math.round(newScale * scaleFactor * 100) / 100;\n } else {\n steps ??= 1;\n do {\n newScale = Math.floor((newScale / _ui_utils.DEFAULT_SCALE_DELTA).toFixed(2) * 10) / 10;\n } while (--steps > 0 && newScale > _ui_utils.MIN_SCALE);\n }\n this.#setScale(Math.max(_ui_utils.MIN_SCALE, newScale), {\n noScroll: false,\n drawingDelay\n });\n }\n #updateContainerHeightCss(height = this.container.clientHeight) {\n if (height !== this.#previousContainerHeight) {\n this.#previousContainerHeight = height;\n _ui_utils.docStyle.setProperty(\"--viewer-container-height\", `${height}px`);\n }\n }\n #resizeObserverCallback(entries) {\n for (const entry of entries) {\n if (entry.target === this.container) {\n this.#updateContainerHeightCss(Math.floor(entry.borderBoxSize[0].blockSize));\n this.#containerTopLeft = null;\n break;\n }\n }\n }\n get containerTopLeft() {\n return this.#containerTopLeft ||= [this.container.offsetTop, this.container.offsetLeft];\n }\n get annotationEditorMode() {\n return this.#annotationEditorUIManager ? this.#annotationEditorMode : _pdfjsLib.AnnotationEditorType.DISABLE;\n }\n set annotationEditorMode(mode) {\n if (!this.#annotationEditorUIManager) {\n throw new Error(`The AnnotationEditor is not enabled.`);\n }\n if (this.#annotationEditorMode === mode) {\n return;\n }\n if (!isValidAnnotationEditorMode(mode)) {\n throw new Error(`Invalid AnnotationEditor mode: ${mode}`);\n }\n if (!this.pdfDocument) {\n return;\n }\n this.#annotationEditorMode = mode;\n this.eventBus.dispatch(\"annotationeditormodechanged\", {\n source: this,\n mode\n });\n this.#annotationEditorUIManager.updateMode(mode);\n }\n set annotationEditorParams({\n type,\n value\n }) {\n if (!this.#annotationEditorUIManager) {\n throw new Error(`The AnnotationEditor is not enabled.`);\n }\n this.#annotationEditorUIManager.updateParams(type, value);\n }\n refresh(noUpdate = false, updateArgs = Object.create(null)) {\n if (!this.pdfDocument) {\n return;\n }\n for (const pageView of this._pages) {\n pageView.update(updateArgs);\n }\n if (this.#scaleTimeoutId !== null) {\n clearTimeout(this.#scaleTimeoutId);\n this.#scaleTimeoutId = null;\n }\n if (!noUpdate) {\n this.update();\n }\n }\n}\nexports.PDFViewer = PDFViewer;\n\n/***/ }),\n/* 25 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.PDFRenderingQueue = void 0;\nvar _pdfjsLib = __w_pdfjs_require__(4);\nvar _ui_utils = __w_pdfjs_require__(2);\nconst CLEANUP_TIMEOUT = 30000;\nclass PDFRenderingQueue {\n constructor() {\n this.pdfViewer = null;\n this.pdfThumbnailViewer = null;\n this.onIdle = null;\n this.highestPriorityPage = null;\n this.idleTimeout = null;\n this.printing = false;\n this.isThumbnailViewEnabled = false;\n }\n setViewer(pdfViewer) {\n this.pdfViewer = pdfViewer;\n }\n setThumbnailViewer(pdfThumbnailViewer) {\n this.pdfThumbnailViewer = pdfThumbnailViewer;\n }\n isHighestPriority(view) {\n return this.highestPriorityPage === view.renderingId;\n }\n hasViewer() {\n return !!this.pdfViewer;\n }\n renderHighestPriority(currentlyVisiblePages) {\n if (this.idleTimeout) {\n clearTimeout(this.idleTimeout);\n this.idleTimeout = null;\n }\n if (this.pdfViewer.forceRendering(currentlyVisiblePages)) {\n return;\n }\n if (this.isThumbnailViewEnabled && this.pdfThumbnailViewer?.forceRendering()) {\n return;\n }\n if (this.printing) {\n return;\n }\n if (this.onIdle) {\n this.idleTimeout = setTimeout(this.onIdle.bind(this), CLEANUP_TIMEOUT);\n }\n }\n getHighestPriority(visible, views, scrolledDown, preRenderExtra = false) {\n const visibleViews = visible.views,\n numVisible = visibleViews.length;\n if (numVisible === 0) {\n return null;\n }\n for (let i = 0; i < numVisible; i++) {\n const view = visibleViews[i].view;\n if (!this.isViewFinished(view)) {\n return view;\n }\n }\n const firstId = visible.first.id,\n lastId = visible.last.id;\n if (lastId - firstId + 1 > numVisible) {\n const visibleIds = visible.ids;\n for (let i = 1, ii = lastId - firstId; i < ii; i++) {\n const holeId = scrolledDown ? firstId + i : lastId - i;\n if (visibleIds.has(holeId)) {\n continue;\n }\n const holeView = views[holeId - 1];\n if (!this.isViewFinished(holeView)) {\n return holeView;\n }\n }\n }\n let preRenderIndex = scrolledDown ? lastId : firstId - 2;\n let preRenderView = views[preRenderIndex];\n if (preRenderView && !this.isViewFinished(preRenderView)) {\n return preRenderView;\n }\n if (preRenderExtra) {\n preRenderIndex += scrolledDown ? 1 : -1;\n preRenderView = views[preRenderIndex];\n if (preRenderView && !this.isViewFinished(preRenderView)) {\n return preRenderView;\n }\n }\n return null;\n }\n isViewFinished(view) {\n return view.renderingState === _ui_utils.RenderingStates.FINISHED;\n }\n renderView(view) {\n switch (view.renderingState) {\n case _ui_utils.RenderingStates.FINISHED:\n return false;\n case _ui_utils.RenderingStates.PAUSED:\n this.highestPriorityPage = view.renderingId;\n view.resume();\n break;\n case _ui_utils.RenderingStates.RUNNING:\n this.highestPriorityPage = view.renderingId;\n break;\n case _ui_utils.RenderingStates.INITIAL:\n this.highestPriorityPage = view.renderingId;\n view.draw().finally(() => {\n this.renderHighestPriority();\n }).catch(reason => {\n if (reason instanceof _pdfjsLib.RenderingCancelledException) {\n return;\n }\n console.error(`renderView: \"${reason}\"`);\n });\n break;\n }\n return true;\n }\n}\nexports.PDFRenderingQueue = PDFRenderingQueue;\n\n/***/ })\n/******/ \t]);\n/************************************************************************/\n/******/ \t// The module cache\n/******/ \tvar __webpack_module_cache__ = {};\n/******/ \t\n/******/ \t// The require function\n/******/ \tfunction __w_pdfjs_require__(moduleId) {\n/******/ \t\t// Check if module is in cache\n/******/ \t\tvar cachedModule = __webpack_module_cache__[moduleId];\n/******/ \t\tif (cachedModule !== undefined) {\n/******/ \t\t\treturn cachedModule.exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = __webpack_module_cache__[moduleId] = {\n/******/ \t\t\t// no module.id needed\n/******/ \t\t\t// no module.loaded needed\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/ \t\n/******/ \t\t// Execute the module function\n/******/ \t\t__webpack_modules__[moduleId](module, module.exports, __w_pdfjs_require__);\n/******/ \t\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/ \t\n/************************************************************************/\nvar __webpack_exports__ = {};\n// This entry need to be wrapped in an IIFE because it need to be isolated against other modules in the chunk.\n(() => {\nvar exports = __webpack_exports__;\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"AnnotationLayerBuilder\", ({\n enumerable: true,\n get: function () {\n return _annotation_layer_builder.AnnotationLayerBuilder;\n }\n}));\nexports.DefaultXfaLayerFactory = exports.DefaultTextLayerFactory = exports.DefaultStructTreeLayerFactory = exports.DefaultAnnotationLayerFactory = void 0;\nObject.defineProperty(exports, \"DownloadManager\", ({\n enumerable: true,\n get: function () {\n return _download_manager.DownloadManager;\n }\n}));\nObject.defineProperty(exports, \"EventBus\", ({\n enumerable: true,\n get: function () {\n return _event_utils.EventBus;\n }\n}));\nObject.defineProperty(exports, \"GenericL10n\", ({\n enumerable: true,\n get: function () {\n return _genericl10n.GenericL10n;\n }\n}));\nObject.defineProperty(exports, \"LinkTarget\", ({\n enumerable: true,\n get: function () {\n return _pdf_link_service.LinkTarget;\n }\n}));\nObject.defineProperty(exports, \"NullL10n\", ({\n enumerable: true,\n get: function () {\n return _l10n_utils.NullL10n;\n }\n}));\nObject.defineProperty(exports, \"PDFFindController\", ({\n enumerable: true,\n get: function () {\n return _pdf_find_controller.PDFFindController;\n }\n}));\nObject.defineProperty(exports, \"PDFHistory\", ({\n enumerable: true,\n get: function () {\n return _pdf_history.PDFHistory;\n }\n}));\nObject.defineProperty(exports, \"PDFLinkService\", ({\n enumerable: true,\n get: function () {\n return _pdf_link_service.PDFLinkService;\n }\n}));\nObject.defineProperty(exports, \"PDFPageView\", ({\n enumerable: true,\n get: function () {\n return _pdf_page_view.PDFPageView;\n }\n}));\nObject.defineProperty(exports, \"PDFScriptingManager\", ({\n enumerable: true,\n get: function () {\n return _pdf_scripting_manager.PDFScriptingManager;\n }\n}));\nObject.defineProperty(exports, \"PDFSinglePageViewer\", ({\n enumerable: true,\n get: function () {\n return _pdf_single_page_viewer.PDFSinglePageViewer;\n }\n}));\nObject.defineProperty(exports, \"PDFViewer\", ({\n enumerable: true,\n get: function () {\n return _pdf_viewer.PDFViewer;\n }\n}));\nObject.defineProperty(exports, \"ProgressBar\", ({\n enumerable: true,\n get: function () {\n return _ui_utils.ProgressBar;\n }\n}));\nObject.defineProperty(exports, \"RenderingStates\", ({\n enumerable: true,\n get: function () {\n return _ui_utils.RenderingStates;\n }\n}));\nObject.defineProperty(exports, \"ScrollMode\", ({\n enumerable: true,\n get: function () {\n return _ui_utils.ScrollMode;\n }\n}));\nObject.defineProperty(exports, \"SimpleLinkService\", ({\n enumerable: true,\n get: function () {\n return _pdf_link_service.SimpleLinkService;\n }\n}));\nObject.defineProperty(exports, \"SpreadMode\", ({\n enumerable: true,\n get: function () {\n return _ui_utils.SpreadMode;\n }\n}));\nObject.defineProperty(exports, \"StructTreeLayerBuilder\", ({\n enumerable: true,\n get: function () {\n return _struct_tree_layer_builder.StructTreeLayerBuilder;\n }\n}));\nObject.defineProperty(exports, \"TextLayerBuilder\", ({\n enumerable: true,\n get: function () {\n return _text_layer_builder.TextLayerBuilder;\n }\n}));\nObject.defineProperty(exports, \"XfaLayerBuilder\", ({\n enumerable: true,\n get: function () {\n return _xfa_layer_builder.XfaLayerBuilder;\n }\n}));\nObject.defineProperty(exports, \"parseQueryString\", ({\n enumerable: true,\n get: function () {\n return _ui_utils.parseQueryString;\n }\n}));\nvar _pdf_link_service = __w_pdfjs_require__(1);\nvar _ui_utils = __w_pdfjs_require__(2);\nvar _annotation_layer_builder = __w_pdfjs_require__(3);\nvar _download_manager = __w_pdfjs_require__(6);\nvar _event_utils = __w_pdfjs_require__(7);\nvar _genericl10n = __w_pdfjs_require__(8);\nvar _l10n_utils = __w_pdfjs_require__(5);\nvar _pdf_find_controller = __w_pdfjs_require__(10);\nvar _pdf_history = __w_pdfjs_require__(12);\nvar _pdf_page_view = __w_pdfjs_require__(13);\nvar _pdf_scripting_manager = __w_pdfjs_require__(21);\nvar _pdf_single_page_viewer = __w_pdfjs_require__(23);\nvar _pdf_viewer = __w_pdfjs_require__(24);\nvar _struct_tree_layer_builder = __w_pdfjs_require__(16);\nvar _text_layer_builder = __w_pdfjs_require__(19);\nvar _xfa_layer_builder = __w_pdfjs_require__(20);\nconst pdfjsVersion = '3.6.172';\nconst pdfjsBuild = '4d3dfe254';\nclass DefaultAnnotationLayerFactory {\n constructor() {\n throw new Error(\"The `DefaultAnnotationLayerFactory` has been removed, \" + \"please use the `annotationMode` option when initializing \" + \"the `PDFPageView`-instance to control AnnotationLayer rendering.\");\n }\n}\nexports.DefaultAnnotationLayerFactory = DefaultAnnotationLayerFactory;\nclass DefaultStructTreeLayerFactory {\n constructor() {\n throw new Error(\"The `DefaultStructTreeLayerFactory` has been removed, \" + \"this functionality is automatically enabled when the TextLayer is used.\");\n }\n}\nexports.DefaultStructTreeLayerFactory = DefaultStructTreeLayerFactory;\nclass DefaultTextLayerFactory {\n constructor() {\n throw new Error(\"The `DefaultTextLayerFactory` has been removed, \" + \"please use the `textLayerMode` option when initializing \" + \"the `PDFPageView`-instance to control TextLayer rendering.\");\n }\n}\nexports.DefaultTextLayerFactory = DefaultTextLayerFactory;\nclass DefaultXfaLayerFactory {\n constructor() {\n throw new Error(\"The `DefaultXfaLayerFactory` has been removed, \" + \"please use the `enableXfa` option when calling \" + \"the `getDocument`-function to control XfaLayer rendering.\");\n }\n}\nexports.DefaultXfaLayerFactory = DefaultXfaLayerFactory;\n})();\n\n/******/ \treturn __webpack_exports__;\n/******/ })()\n;\n});\n//# sourceMappingURL=pdf_viewer.js.map","\n\n\n\n\n\n","/*\n *\n * OSIS stands for Open Student Information System. It's an application\n * designed to manage the core business of higher education institutions,\n * such as universities, faculties, institutes and professional schools.\n * The core business involves the administration of students, teachers,\n * courses, programs and so on.\n *\n * Copyright (C) 2015-2023 Université catholique de Louvain (http://www.uclouvain.be)\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU General Public License for more details.\n *\n * A copy of this license - GNU General Public License - is available\n * at the root of the source code of this program. If not,\n * see http://www.gnu.org/licenses/.\n *\n */\n// eslint-disable-next-line vue/prefer-import-from-vue\nimport {createApp} from '@vue/runtime-dom'; // So it can be spied on in tests\nimport {i18n} from './i18n';\nimport Editor from './DocumentEditor.vue';\n\n\ninterface EditorProps extends Record {\n baseUrl: string,\n value: string,\n pagination?: boolean,\n zoom?: boolean,\n comment?: boolean,\n highlight?: boolean,\n rotation?: boolean,\n}\n\nfunction initEditors() {\n document.querySelectorAll('.osis-document-editor:not([data-v-app])').forEach((elem) => {\n const props: EditorProps = {baseUrl: \"\", value: \"\", ...elem.dataset};\n for (const propName of ['pagination', 'zoom', 'comment', 'highlight', 'rotation'])\n if (typeof elem.dataset[propName] !== 'undefined') {\n props[propName] = elem.dataset[propName] === \"true\";\n }\n createApp(Editor, props).use(i18n).mount(elem);\n });\n}\n\n// Initialize at first load\ninitEditors();\n\n// Initialize later if nodes are added dynamically\nconst observer = new MutationObserver(initEditors);\nobserver.observe(document, {childList: true, subtree: true});\n"],"names":["createI18n","en","fr","t","useI18n","scales","zoomTitle","scale","url","params","response","root","factory","__unused_webpack_module","exports","assert","bytesToString","createValidAbsoluteUrl","getModificationDate","getVerbosityLevel","info","isArrayBuffer","isArrayEqual","normalizeUnicode","objectFromMap","objectSize","setVerbosityLevel","shadow","string32","stringToBytes","stringToPDFString","stringToUTF8String","unreachable","utf8StringToString","warn","IDENTITY_MATRIX","FONT_IDENTITY_MATRIX","MAX_IMAGE_SIZE_TO_CACHE","LINE_FACTOR","LINE_DESCENT_FACTOR","BASELINE_FACTOR","RenderingIntentFlag","AnnotationMode","AnnotationEditorPrefix","AnnotationEditorType","AnnotationEditorParamsType","PermissionFlag","TextRenderingMode","ImageKind","AnnotationType","AnnotationStateModelType","AnnotationMarkedState","AnnotationReviewState","AnnotationReplyType","AnnotationFlag","AnnotationFieldFlag","AnnotationBorderStyleType","AnnotationActionEventType","DocumentActionEventType","PageActionEventType","VerbosityLevel","CMapCompressionType","OPS","PasswordResponses","verbosity","level","msg","cond","_isValidProtocol","baseUrl","options","dots","absoluteUrl","obj","prop","value","nonSerializable","BaseException","message","name","PasswordException","code","UnknownErrorException","details","InvalidPDFException","MissingPDFException","UnexpectedResponseException","status","FormatError","AbortException","bytes","length","MAX_ARGUMENT_COUNT","strBuf","i","chunkEnd","chunk","str","map","key","isLittleEndian","buffer8","isEvalSupported","FeatureTest","hexNumbers","n","Util","r","g","b","transform","minMax","temp","m1","m2","p","m","xt","yt","d","p1","p2","p3","p4","transpose","a","c","first","second","sx","sy","rect","rect1","rect2","xLow","xHigh","yLow","yHigh","x0","y0","x1","y1","x2","y2","x3","y3","tvalues","bounds","t1","t2","b2ac","sqrtb2ac","j","mt","jlen","PDFStringTranslateTable","encoding","decoder","buffer","ex","ii","v","arr1","arr2","date","PromiseCapability","__privateAdd","_settled","resolve","reject","data","__privateSet","reason","__privateGet","NormalizeRegex","NormalizationMap","_","NodeCanvasFactory","NodeCMapReaderFactory","NodeFilterFactory","NodeStandardFontDataFactory","PDFNodeStream","PDFNetworkStream","PDFFetchStream","src","task","docId","httpHeaders","withCredentials","password","rangeTransport","rangeChunkSize","worker","docBaseUrl","cMapUrl","cMapPacked","CMapReaderFactory","standardFontDataUrl","StandardFontDataFactory","ignoreErrors","maxImageSize","isOffscreenCanvasSupported","canvasMaxAreaInBytes","disableFontFace","fontExtraProperties","enableXfa","ownerDocument","disableRange","disableStream","disableAutoFetch","pdfBug","useSystemFonts","useWorkerFetch","canvasFactory","filterFactory","styleElement","transportFactory","workerParams","fetchDocParams","transportParams","workerIdPromise","networkStreamPromise","networkStream","workerId","messageHandler","transport","source","val","_PDFDocumentLoadingTask","__privateWrapper","_docId","_a","initialData","progressiveDone","contentDispositionFilename","listener","begin","loaded","total","end","pdfInfo","pageNumber","ref","id","keepLoadedFonts","pageIndex","pageInfo","_tryCleanup","_abortDelayedCleanup","_delayedCleanupTimeout","_pendingCleanup","rotation","offsetX","offsetY","dontFlip","intent","intentArgs","canvasContext","viewport","annotationMode","background","optionalContentConfigPromise","annotationCanvasMap","pageColors","printAnnotationStorage","_b","__privateMethod","abortDelayedCleanup_fn","intentState","intentPrint","_c","complete","error","internalRenderTask","tryCleanup_fn","renderTask","transparency","optionalContentConfig","operatorListChanged","opListTask","includeMarkedContent","disableNormalization","textContent","xfa","readableStream","pump","reader","done","waitOn","resetStats","success","cacheKey","operatorListChunk","renderingIntent","annotationStorageMap","force","delay","curCacheKey","curIntentState","delayed","renderTasks","operatorList","_listeners","_deferred","transfer","event","require","pdfjsFilePath","otherUrl","base","other","wrapper","port","_workerPorts","workerSrc","terminateEarly","onWorkerError","sendTest","testObj","WorkerMessageHandler","workerHandler","loadingTask","_cacheSimpleMethod","_methodPromises","_pageCache","_pagePromises","isOpList","annotationMap","page","terminated","sink","evt","readyReason","headersCapability","fullReader","rangeReader","exception","updatePassword","type","exportedData","exportedError","inspectFont","font","imageData","pageProxy","width","height","cachedPromise","promise","cacheSimpleMethod_fn","results","_ensureObj","_objs","objId","callback","ensureObj_fn","_internalRenderTask","extraDelay","separateAnnots","_InternalRenderTask","objs","commonObjs","useRequestAnimationFrame","_canvasInUse","__w_pdfjs_require__","_util","_editor","_murmurhash","AnnotationStorage","_setModified","_modified","_storage","defaultValue","modified","entry","setModified_fn","PrintAnnotationStorage","clone","serialized","hash","parent","_serializable","_tools","_AnnotationEditor","parameters","_boundFocusin","_boundFocusout","_hasBeenSelected","_isEditing","_isInEditMode","__publicField","_zIndex","pageWidth","pageHeight","pageX","pageY","target","x","y","tx","ty","realScale","parentWidth","parentHeight","style","widthPercent","heightPercent","isMac","shiftX","shiftY","uiManager","editor","AnnotationEditor","bindEvents","opacityToHex","_display_utils","element","names","opacity","IdManager","_id","CommandManager","maxSize","_commands","_locked","_maxSize","_position","cmd","undo","mustExec","overwriteIfSameType","keepUndo","save","next","KeyboardManager","callbacks","_serialize","keys","isMacKey","self","serialize_fn","_ColorManager","colors","color","rgb","RGB","ColorManager","_AnnotationEditorUIManager","container","eventBus","annotationStorage","_addKeyboardManager","_removeKeyboardManager","_addCopyPasteListeners","_removeCopyPasteListeners","_dispatchUpdateStates","_dispatchUpdateUI","_enableAll","_disableAll","_addEditorToLayer","_isEmpty","_selectEditors","_activeEditor","_allEditors","_allLayers","_annotationStorage","_commandManager","_currentPageIndex","_editorTypes","_editorsToRescale","_eventBus","_idManager","_isEnabled","_mode","_selectedEditors","_boundCopy","_boundCut","_boundPaste","_boundKeydown","_boundOnEditingAction","_boundOnPageChanging","_boundOnScaleChanging","_boundOnRotationChanging","_previousStates","_container","removeKeyboardManager_fn","layer","pagesRotation","editors","newEditors","deserializedEditor","addEditorToLayer_fn","selectEditors_fn","isEditing","addKeyboardManager_fn","addCopyPasteListeners_fn","dispatchUpdateStates_fn","isEmpty_fn","removeCopyPasteListeners_fn","types","editorType","dispatchUpdateUI_fn","mode","disableAll_fn","enableAll_fn","ed","AnnotationEditorUIManager","deprecated","getColorValues","getCurrentTransform","getCurrentTransformInverse","getFilenameFromUrl","getPdfFilenameFromUrl","getRGB","getXfaPageViewport","isDataScheme","isPdfFile","isValidFetchUrl","loadScript","setLayerDimensions","_base_factory","SVG_NS","AnnotationPrefix","_PixelsPerInch","PixelsPerInch","DOMFilterFactory","_cache","_defs","_appendFeFunc","__cache","__defs","_document","_hcmFilter","_hcmKey","_hcmUrl","maps","cache_get","tableR","tableG","tableB","mapR","mapG","mapB","bufferR","bufferG","bufferB","filter","feComponentTransfer","appendFeFunc_fn","defs_get","fgColor","bgColor","fgRGB","bgRGB","table","feColorMatrix","getSteps","start","arr","keepHCM","div","svg","func","feFunc","DOMCanvasFactory","canvas","fetchData","asTypedArray","request","DOMCMapReaderFactory","compressionType","DOMStandardFontDataFactory","DOMSVGFactory","PageViewport","viewBox","centerX","centerY","rotateA","rotateB","rotateC","rotateD","offsetCanvasX","offsetCanvasY","topLeft","bottomRight","RenderingCancelledException","filename","onlyStripPath","defaultFilename","reURI","reFilename","splitURI","suggestedFilename","StatTimer","outBuf","longest","protocol","removeScriptElement","script","pdfDateStringRegex","PDFDateString","input","matches","year","month","day","hour","minute","universalTimeRelation","offsetHour","offsetMinute","xfaPage","colorRGB","span","computedColor","ctx","e","f","mustFlip","mustRotate","widthStr","heightStr","BaseFilterFactory","BaseCanvasFactory","canvasAndContext","BaseCMapReaderFactory","isCompressed","BaseStandardFontDataFactory","BaseSVGFactory","skipDimensions","SEED","MASK_HIGH","MASK_LOW","MurmurHash3_64","seed","blockCounts","tailLength","dataUint32","k1","k2","h1","h2","C1","C2","C1_LOW","C2_LOW","_is_node","FontLoader","nativeFontFace","rule","styleSheet","hasFonts","supported","completeRequest","loadingRequests","otherRequest","testFont","int32","offset","spliceString","s","remove","insert","chunk1","chunk2","called","isFontReady","loadTestFontId","CFF_CHECKSUM_OFFSET","XXXX_VALUE","checksum","FontFaceObject","translatedData","css","character","cmds","size","jsBuf","current","args","isNodeJS","_pattern_helper","_image_utils","MIN_FONT_SIZE","MAX_FONT_SIZE","MAX_GROUP_SIZE","EXECUTION_TIME","EXECUTION_STEPS","MAX_SIZE_TO_COMPILE","FULL_CHUNK_HEIGHT","mirrorContextOperations","destCtx","angle","cp1x","cp1y","cp2x","cp2y","CachedCanvases","canvasEntry","drawImageAtIntegerCoords","srcImg","srcX","srcY","srcW","srcH","destX","destY","destW","destH","tlX","rTlX","tlY","rTlY","brX","rWidth","brY","rHeight","scaleX","scaleY","compileType3Glyph","imgData","POINT_TO_PROCESS_LIMIT","POINT_TYPES","width1","points","j0","lineSize","pos","elem","mask","count","sum","steps","path","p0","step","pp","CanvasExtraState","box","pathType","xStrokePad","yStrokePad","intersect","putBinaryImageData","partialChunkHeight","fullChunks","totalChunks","chunkImgData","srcPos","destPos","dest","thisChunkHeight","elemsInThisChunk","srcLength","dest32","dest32DataLength","fullSrcDiff","white","black","srcDiff","k","kEnd","kEndUnrolled","srcByte","putBinaryImageMask","copyCtxState","sourceCtx","properties","property","resetCtxToDefault","composeSMaskBackdrop","r0","g0","b0","alpha","alpha_","composeSMaskAlpha","maskData","layerData","transferMap","composeSMaskLuminosity","genericComposeSMask","maskCtx","layerCtx","subtype","backdrop","layerOffsetX","layerOffsetY","maskOffsetX","maskOffsetY","hasBackdrop","composeFn","chunkSize","row","chunkHeight","composeSMask","smask","layerBox","layerWidth","layerHeight","getImageSmoothingEnabled","interpolate","actualScale","LINE_CAP_STYLES","LINE_JOIN_STYLES","NORMAL_CLIP","EO_CLIP","_CanvasGraphics","canvasCtx","markedContentStack","_restoreInitialState","_drawFilter","fallback","savedFillStyle","transparentCanvas","executionStartIdx","continueCallback","stepper","argsArray","fnArray","argsArrayLen","chunkOperations","endTime","fnId","depObjId","objsPool","restoreInitialState_fn","cache","drawFilter_fn","img","inverseTransform","widthScale","heightScale","paintWidth","paintHeight","tmpCanvasId","tmpCanvas","tmpCtx","newWidth","newHeight","fillColor","isPatternFill","currentTransform","scaled","maskCanvas","mainKey","cachedImage","maskToCanvas","cord1","cord2","drawnWidth","drawnHeight","fillCanvas","fillCtx","inverse","limit","dashArray","dashPhase","flatness","states","inSMaskMode","cacheId","scratchCanvas","dirtyBox","suspendedCtx","old","ops","startX","startY","isScalingMatrix","minMaxForBezier","xw","yh","consumePath","strokeColor","needRestore","paths","spacing","leading","fontRefName","fontObj","bold","italic","typeface","browserFontSize","rise","patternTransform","textRenderingMode","fontSize","fillStrokeMode","isAddToPathSet","patternFill","addToPath","enabled","glyphs","fontSizeScale","charSpacing","wordSpacing","fontDirection","textHScale","glyphsLength","vertical","spacingDir","defaultVMetrics","widthAdvanceScale","simpleFillText","pattern","lineWidth","chars","glyph","restoreNeeded","accent","scaledX","scaledY","vmetric","vx","vy","measuredWidth","characterScaleX","scaledAccentX","scaledAccentY","charWidth","fontMatrix","isTextInvisible","spacingLength","xWidth","yWidth","llx","lly","urx","ury","IR","baseTransform","canvasGraphicsFactory","matrix","inv","bl","br","ul","ur","bbox","group","currentCtx","canvasBounds","groupCtx","currentMtx","hasOwnCanvas","viewportScale","canvasWidth","canvasHeight","context","skewX","skewY","positions","trans","images","image","bitmap","imgToPaint","w","h","tag","clipBox","isEmpty","absDet","normX","normY","scaledXLineWidth","scaledYLineWidth","baseArea","saveRestore","savedMatrix","savedDashes","savedDashOffset","CanvasGraphics","hcmFilterId","savedFilter","op","getShadingPattern","PathType","applyBoundingBox","region","BaseShadingPattern","RadialAxialShadingPattern","grad","colorStop","owner","ownerBBox","domMatrix","drawTriangle","c1","c2","c3","coords","rowSize","tmp","c1r","c1g","c1b","c2r","c2g","c2b","c3r","c3g","c3b","minY","maxY","xa","car","cag","cab","xb","cbr","cbg","cbb","x1_","x2_","drawFigure","figure","ps","cs","verticesPerRow","rows","cols","q","MeshShadingPattern","combinedScale","backgroundColor","cachedCanvases","boundsWidth","boundsHeight","paddedWidth","paddedHeight","matrixScale","temporaryPatternCanvas","DummyShadingPattern","PaintType","_TilingPattern","xstep","ystep","paintType","tilingType","curMatrixScale","dimx","dimy","graphics","adjustedX0","adjustedY0","adjustedX1","adjustedY1","realOutputSize","bboxWidth","bboxHeight","cssColor","TilingPattern","convertBlackAndWhiteToRGBA","convertToRGBA","grayToRGBA","convertRGBToRGBA","nonBlackColor","inverseDecode","zeroMapping","oneMapping","widthInSource","widthRemainder","max","len32","src32","s1","s2","s3","jj","GlobalWorkerOptions","CallbackKind","StreamKind","wrapReason","MessageHandler","sourceName","targetName","comObj","_createStreamSink","_processStreamMessage","_deleteStreamController","processStreamMessage_fn","callbackId","capability","action","cbSourceName","cbTargetName","result","createStreamSink_fn","actionName","handler","ah","transfers","queueingStrategy","streamId","controller","startCapability","pullCapability","cancelCapability","streamSink","lastDesiredSize","streamController","deleteStreamController_fn","Metadata","parsedData","rawData","_metadataMap","_data","INTERNAL","OptionalContentGroup","_visible","internal","visible","OptionalContentConfig","_evaluateVisibilityExpression","_cachedGetHash","_groups","_initialHash","_order","on","off","evaluateVisibilityExpression_fn","array","operator","state","PDFDataTransportStream","pdfDataRangeTransport","found","_d","queuedChunks","PDFDataTransportStreamReader","PDFDataTransportStreamRangeReader","stream","requestCapability","XfaText","items","output","walk","node","child","require$$0","require$$1","_network_utils","fs","http","require$$2","https","require$$3","require$$4","fileUriRegex","parseUrl","sourceUrl","parsedUrl","PDFNodeStreamFsFullReader","PDFNodeStreamFullReader","PDFNodeStreamFsRangeReader","PDFNodeStreamRangeReader","BaseFullReader","BaseRangeReader","createRequestOptions","headers","handleResponse","getResponseHeader","allowRangeRequests","suggestedLength","stat","createResponseStatusError","extractFilenameFromHeader","validateRangeRequestCapabilities","validateResponseStatus","_content_disposition","isHttp","returnValues","contentDisposition","getFilenameFromContentDispositionHeader","needsEncodingFixup","toParamRegExp","rfc2616unquote","rfc5987decode","rfc2047decode","fixupEncoding","rfc2231getparam","attributePattern","flags","textdecode","contentDispositionStr","match","iter","quot","part","parts","quotindex","extvalue","encodingend","charset","text","hex","OK_RESPONSE","PARTIAL_CONTENT_RESPONSE","getArrayBuffer","xhr","NetworkManager","listeners","xhrId","pendingRequest","xhrStatus","rangeHeader","PDFNetworkStreamFullRequestReader","PDFNetworkStreamRangeRequestReader","manager","fullRequestXhrId","fullRequestXhr","createFetchOptions","abortController","createHeaders","PDFFetchStreamReader","PDFFetchStreamRangeReader","renderTextLayer","updateTextLayer","MAX_TEXT_DIVS_TO_RENDER","DEFAULT_FONT_SIZE","DEFAULT_FONT_ASCENT","ascentCache","getCtx","getAscent","fontFamily","cachedAscent","metrics","ascent","descent","ratio","pixels","appendText","geom","styles","textDiv","textDivProperties","fontHeight","fontAscent","left","top","scaleFactorStr","divStyle","shouldScaleText","absScaleX","absScaleY","layout","prevFontSize","prevFontFamily","render","textDivs","TextLayerRenderTask","textContentSource","textContentItemsStr","styleCache","item","visibility","scaleFactor","mustRescale","_freetext","_ink","_AnnotationEditorLayer","_changeParent","_createNewEditor","_createAndAddNewEditor","_cleanup","_accessibilityManager","_allowClick","_boundPointerup","_boundPointerdown","_editors","_hadPointerDown","_isCleaningUp","_uiManager","cleanup_fn","isCommitting","createAndAddNewEditor_fn","changeParent_fn","endX","endY","AnnotationEditorLayer","createNewEditor_fn","_FreeTextEditor","_updateFontSize","_updateColor","_extractText","_setEditorDimensions","_boundEditorDivBlur","_boundEditorDivFocus","_boundEditorDivInput","_boundEditorDivKeydown","_color","_content","_editorDivId","_hasAlreadyBeenCommitted","_fontSize","l10n","updateFontSize_fn","updateColor_fn","extractText_fn","setEditorDimensions_fn","baseX","baseY","line","padding","FreeTextEditor","setFontsize","savedFontsize","savedColor","divs","currentLayer","savedDisplay","_pdfjsFitCurve","RESIZER_SIZE","_InkEditor","_updateThickness","_updateOpacity","_getInitialBBox","_setStroke","_startDrawing","_draw","_stopDrawing","_redraw","_endDrawing","_createCanvas","_createObserver","_setCanvasDims","_setScaleFactor","_updateTransform","_serializePaths","_extractPointsOnBezier","_isAlmostFlat","_getBbox","_getPadding","_fitToContent","_setMinDims","_aspectRatio","_baseHeight","_baseWidth","_boundCanvasPointermove","_boundCanvasPointerleave","_boundCanvasPointerup","_boundCanvasPointerdown","_disableEditing","_isCanvasInitialized","_lastPoint","_observer","_realWidth","_realHeight","_requestFrameCallback","updateThickness_fn","updateOpacity_fn","createCanvas_fn","createObserver_fn","setCanvasDims_fn","fitToContent_fn","startDrawing_fn","draw_fn","endDrawing_fn","getInitialBBox_fn","redraw_fn","setMinDims_fn","roundedWidth","roundedHeight","setScaleFactor_fn","bezier","p10","p11","p20","p21","p30","p31","path2D","_buildPath2D","buildPath2D_fn","getBbox_fn","serializePaths_fn","InkEditor","thickness","savedThickness","savedOpacity","parentRotation","setStroke_fn","parentScale","lastX","lastY","stopDrawing_fn","xy","updateTransform_fn","entries","getPadding_fn","scaleFactorW","scaleFactorH","control1","control2","p40","p41","extractPointsOnBezier_fn","isAlmostFlat_fn","q10","q11","q20","q21","q30","q31","ax","ay","bx","by","xMin","xMax","yMin","yMax","firstTime","prevTranslationX","prevTranslationY","unscaledPadding","fitCurve","module","maxError","progressCallback","point","len","leftTangent","createTangent","rightTangent","fitCubic","bezCurve","u","uPrime","prevErr","splitPoint","prevSplit","centerVector","toCenterTangent","fromCenterTangent","beziers","dist","maths","chordLengthParameterize","generateAndReport","reparameterize","errChange","paramsOrig","paramsPrime","generateBezier","computeMaxError","A","C","X","det_C0_C1","det_C0_X","det_X_C1","alpha_l","alpha_r","epsilon","segLength","ux","firstPoint","lastPoint","newtonRaphsonRootFind","bez","qprime","numerator","denominator","currU","prevU","prevP","maxDist","t_distMap","mapTtoRelativeDistances","find_t","B_parts","B_t_curr","B_t_dist","B_t_prev","sumLen","param","lenMax","lenMin","tMax","tMin","pointA","pointB","zs","multiplier","addition","divisor","ctrlPoly","pA","pB","pC","pD","_annotation_storage","_scripting_utils","_xfa_layer","DEFAULT_TAB_INDEX","GetElementsByNameSet","getRectDims","AnnotationElementFactory","LinkAnnotationElement","TextAnnotationElement","TextWidgetAnnotationElement","RadioButtonWidgetAnnotationElement","CheckboxWidgetAnnotationElement","PushButtonWidgetAnnotationElement","ChoiceWidgetAnnotationElement","WidgetAnnotationElement","PopupAnnotationElement","FreeTextAnnotationElement","LineAnnotationElement","SquareAnnotationElement","CircleAnnotationElement","PolylineAnnotationElement","CaretAnnotationElement","InkAnnotationElement","PolygonAnnotationElement","HighlightAnnotationElement","UnderlineAnnotationElement","SquigglyAnnotationElement","StrikeOutAnnotationElement","StampAnnotationElement","FileAttachmentAnnotationElement","AnnotationElement","isRenderable","ignoreBorder","createQuadrilaterals","horizontalRadius","verticalRadius","radius","borderColor","elementWidth","elementHeight","setColor","jsName","styleName","hidden","actions","jsEvent","commonActions","storedData","detail","eventProxy","quadrilaterals","savedRect","quadPoint","trigger","popup","PopupElement","className","quadrilateral","skipId","fields","fieldObj","exportValues","exportValue","domElement","_setInternalLink","_bindSetOCGState","linkService","link","isBound","bindSetOCGState_fn","index","linkElement","destination","setInternalLink_fn","attachment","resetForm","otherClickAction","resetFormFields","resetFormRefs","include","allFields","fieldIds","fieldName","field","storage","allIds","isWin","baseName","eventName","valueGetter","getter","TEXT_ALIGNMENT","fontColor","computedFontSize","BORDER_SIZE","roundToOneDecimal","numberOfLines","lineHeight","isRequired","keyInStorage","maxLen","elementData","blurListener","formattedValue","charLimit","commitKey","_blurListener","selectionStart","selectionEnd","selStart","selEnd","combWidth","checked","checkbox","curChecked","radio","pdfButtonValue","selectElement","addAnEmptyEntry","option","optionElement","removeEmptyEntry","noneOptionElement","getValue","isExport","multiple","selectedValues","getItems","values","displayValue","selectChild","indices","_PopupAnnotationElement","parentElements","popupLeft","popupTop","title","dateObject","modificationDate","contents","dir","lines","pin","unpin","content","lineSpan","borderWidth","square","circle","coordinate","polyline","inkList","_AnnotationLayer","annotations","accessibilityManager","elementParams","zIndex","rendered","renderedElement","_appendElement","appendElement_fn","_setAnnotationCanvasMap","setAnnotationCanvasMap_fn","AnnotationLayer","contentElement","firstChild","makeColorComp","ColorConverters","R","G","B","components","_xfa_text","XfaLayer","html","attributes","isHTMLAnchorElement","rootHtml","stack","rootDiv","childHtml","el","SVGGraphics","opListToTree","opList","opTree","opListElement","pf","pm","SVG_DEFAULTS","XML_NS","XLINK_NS","createObjectURL","contentType","forceDataSchema","digits","b1","b2","b3","d1","d2","d3","d4","convertImgDataToPng","PNG_HEADER","CHUNK_WRAPPER_SIZE","crcTable","crc32","crc","writePngChunk","body","adler32","deflateSync","literals","deflateSyncUncompressed","maxBlockLength","deflateBlocks","idat","pi","adler","encode","kind","isMask","bitDepth","colorType","offsetLiterals","offsetBytes","ihdr","pngLength","SVGExtraState","clipCount","maskCount","shadingCount","transformMatrix","svgElement","operatorIdMapping","opTreeElement","fn","lineWidthScale","textMatrix","strokeAlpha","fillAlpha","tilingId","tx0","ty0","tx1","ty1","xscale","yscale","txstep","tystep","tiling","shadingId","colorStops","gradient","point0","point1","focalPoint","circlePoint","focalRadius","circleRadius","stop","clipId","clipPath","clipElement","prev","textRise","imgSrc","cliprect","imgEl","definitions","rootGroup","clipGroup","moduleId","cachedModule","_annotation_editor_layer","_annotation_layer","_worker_options","_api","_svg","_text_layer","__webpack_modules__","_ui_utils","DEFAULT_LINK_REL","LinkTarget","addLinkAttributes","rel","urlNullRemoved","targetStr","_PDFLinkService","externalLinkTarget","externalLinkRel","ignoreDestinationZoom","_goToDestinationHelper","_pagesRefCache","pdfDocument","pdfViewer","pdfHistory","namedDest","explicitDest","goToDestinationHelper_fn","newWindow","anchor","query","phrase","zoomArgs","zoomArg","zoomArgNumber","_isValidExplicitDestination","isValidExplicitDestination_fn","pageNum","pageRef","refStr","PDFLinkService","rawDest","destRef","destLength","zoom","allowNull","SimpleLinkService","apiPageLayoutToViewerModes","apiPageModeToSidebarView","approximateFraction","backtrackBeforeAllVisibleElements","binarySearchFirstItem","getActiveOrFocusedElement","getPageSizeInches","getVisibleElements","isPortraitOrientation","isValidRotation","isValidScrollMode","isValidSpreadMode","noContextMenuHandler","normalizeWheelEventDelta","normalizeWheelEventDirection","parseQueryString","removeNullCharacters","roundToDivide","scrollIntoView","toggleCheckedBtn","watchScroll","DEFAULT_SCALE_VALUE","DEFAULT_SCALE","DEFAULT_SCALE_DELTA","MIN_SCALE","MAX_SCALE","UNKNOWN_SCALE","MAX_AUTO_SCALE","SCROLLBAR_PADDING","VERTICAL_PADDING","RenderingStates","PresentationModeState","SidebarView","TextLayerMode","ScrollMode","SpreadMode","CursorTool","AutoPrintRegExp","OutputScale","pixelRatio","spot","scrollMatches","viewAreaElement","debounceScroll","rAF","currentX","currentY","InvisibleCharactersRegExp","replaceInvisible","condition","minIndex","maxIndex","currentIndex","currentItem","xinv","x_","view","userUnit","rotate","changeOrientation","views","elt","pageTop","scrollEl","sortByVisibility","horizontal","rtl","bottom","right","isElementBottomAfterViewTop","isElementNextAfterViewHorizontally","elementLeft","elementRight","ids","numViews","firstVisibleElementInd","lastEdge","currentWidth","currentHeight","viewWidth","viewHeight","viewRight","viewBottom","hiddenHeight","hiddenWidth","fractionHeight","fractionWidth","percent","last","pc","delta","deltaMode","MOUSE_PIXELS_PER_LINE","MOUSE_LINES_PER_PAGE","animationStarted","docStyle","clamp","min","ProgressBar","bar","_classList","_disableAutoFetchTimeout","_percent","_style","viewer","scrollbarWidth","curRoot","curActiveOrFocused","scrollMode","spreadMode","button","toggle","_pdfjsLib","_l10n_utils","AnnotationLayerBuilder","pageDiv","pdfPage","downloadManager","imageResourcesPath","renderForms","enableScripting","hasJSActionsPromise","fieldObjectsPromise","_updatePresentationModeState","_numAnnotations","_onPresentationModeChanged","hasJSActions","fieldObjects","updatePresentationModeState_fn","disableFormElements","section","pdfjsLib","fixupLangCode","getL10nFallback","DEFAULT_L10N_STRINGS","PARTIAL_LANG_CODES","langCode","formatL10nValue","all","NullL10n","download","blobUrl","DownloadManager","_openBlobUrls","_options","blob","waitOnEventOrTimeout","WaitOnType","EventBus","eventHandler","timeout","timeoutHandler","eventListeners","externalListeners","external","once","AutomationEventBus","webL10n","GenericL10n","lang","window","document","undefined","gL10nData","gTextData","gTextProp","gLanguage","gMacros","gReadyState","gAsyncResourceLoading","getL10nResourceLinks","getL10nDictionary","getTranslatableChildren","getL10nAttributes","l10nId","l10nArgs","xhrLoadText","onSuccess","onFailure","parseResource","href","successCallback","failureCallback","baseURL","evalString","parseProperties","parsedPropertiesCallback","dictionary","reBlank","reComment","reSection","reImport","reSplit","parseRawLines","rawText","extendedSyntax","parsedRawLinesCallback","currentLang","genericLang","skipLang","nextEntry","loadImport","loadLocale","clear","langLinks","langCount","dict","defaultLocale","anyCaseLang","onResourceLoaded","gResourceCount","L10nResourceLink","resource","getPluralRules","locales2rules","isIn","list","isBetween","pluralRules","getL10nData","rv","substIndexes","substArguments","reIndex","reMatch","macroName","paramName","macro","reArgs","matched_text","arg","translateElement","getChildElementCount","children","l","textNode","translateFragment","elementCount","fallbackString","rtlList","shortCode","_pdf_find_utils","FindState","FIND_TIMEOUT","MATCH_SCROLL_OFFSET_TOP","MATCH_SCROLL_OFFSET_LEFT","CHARACTERS_TO_NORMALIZE","DIACRITICS_EXCEPTION","DIACRITICS_EXCEPTION_STR","DIACRITICS_REG_EXP","SPECIAL_CHARS_REG_EXP","NOT_DIACRITIC_FROM_END_REG_EXP","NOT_DIACRITIC_FROM_START_REG_EXP","SYLLABLES_REG_EXP","SYLLABLES_LENGTHS","FIRST_CHAR_SYLLABLES_REG_EXP","NFKC_CHARS_TO_NORMALIZE","noSyllablesRegExp","withSyllablesRegExp","normalize","syllablePositions","char","normalizationRegex","replace","toNormalizeWithNFKC","regexp","rawDiacriticsPositions","normalized","rawDiacriticsIndex","syllableIndex","shift","shiftOrigin","eol","hasDiacritics","p5","p6","p7","p8","replacement","hasTrailingDashEOL","newCharLen","getOriginalIndex","diffs","oldStart","oldLen","PDFFindController","updateMatchesCountOnProgress","_onFind","_reset","_query","_shouldDirtyMatch","_isEntireWord","_calculateRegExpMatch","_convertToRegExpString","_calculateMatch","_updatePage","_updateAllPages","_nextMatch","_matchesReady","_nextPageMatch","_advanceOffsetPage","_updateMatch","_onFindBarClose","_requestMatchesCount","_updateUIResultsCount","_updateUIState","_state","_updateMatchesCountOnProgress","_visitedPagesCount","reset_fn","onFind_fn","onFindBarClose_fn","selectedLeft","matchIndex","shouldDirtyMatch_fn","updateUIState_fn","findbarClosed","pendingTimeout","nextMatch_fn","updateAllPages_fn","query_get","newQuery","prevQuery","newType","isEntireWord_fn","startIdx","calculateRegExpMatch_fn","entireWord","pageContent","matchesLength","matchPos","matchLen","convertToRegExpString_fn","matchDiacritics","isUnicode","trailingSpaces","calculateMatch_fn","caseSensitive","isUnicodePart","queryPart","updatePage_fn","nextPageMatch_fn","pageMatchesCount","updateUIResultsCount_fn","textOptions","extractTextCapability","textItem","previous","currentPageIndex","numPages","numPageMatches","updateMatch_fn","advanceOffsetPage_fn","matchesReady_fn","numMatches","pageIdx","wrapped","previousPage","requestMatchesCount_fn","matchIdx","getCharacterType","getNormalizeWithNFKC","CharacterType","isAlphabeticalScript","charCode","isAscii","isAsciiAlpha","isAsciiDigit","isAsciiSpace","isHan","isKatakana","isHiragana","isHalfwidthKatakana","isThai","NormalizeWithNFKC","isDestArraysEqual","isDestHashesEqual","_event_utils","HASH_CHANGE_TIMEOUT","POSITION_UPDATED_THRESHOLD","UPDATE_VIEWAREA_TIMEOUT","getCurrentHash","PDFHistory","fingerprint","resetHistory","updateUrl","reInitialized","forceReplace","shouldReplace","newState","newUrl","temporary","position","checkReload","perfEntry","uid","removeTemporary","checkNameddest","nameddest","location","newHash","hashChanged","destHash","pushHash","firstDest","secondDest","isEntryEqual","_annotation_editor_layer_builder","_annotation_layer_builder","_app_options","_pdf_link_service","_struct_tree_layer_builder","_text_accessibility","_text_highlighter","_text_layer_builder","_xfa_layer_builder","MAX_CANVAS_PIXELS","DEFAULT_LAYER_PROPERTIES","PDFPageView","_setDimensions","_renderAnnotationLayer","_renderAnnotationEditorLayer","_renderXfaLayer","_renderTextLayer","_renderStructTreeLayer","_buildXfaTextContentItems","_finishRenderTask","_annotationMode","_layerProperties","_loadingId","_previousRotation","_renderError","_renderingState","_textLayerMode","_useThumbnailCanvas","_viewportMap","defaultViewport","setDimensions_fn","totalRotation","removeFromDOM","zoomLayerCanvas","keepZoomLayer","keepAnnotationLayer","keepAnnotationEditorLayer","keepXfaLayer","keepTextLayer","childNodes","zoomLayerNode","annotationLayerNode","annotationEditorLayerNode","xfaLayerNode","textLayerNode","_e","drawingDelay","isScalingRestricted","onlyCssZoom","postponeDrawing","cancelExtraDelay","redrawAnnotationLayer","redrawAnnotationEditorLayer","redrawXfaLayer","redrawTextLayer","hideTextLayer","originalViewport","relativeRotation","absRotation","renderAnnotationLayer_fn","renderAnnotationEditorLayer_fn","renderXfaLayer_fn","renderTextLayer_fn","canvasWrapper","renderContinueCallback","cont","showCanvas","hasHCM","isLastShow","outputScale","actualSizeViewport","pixelsInViewport","maxScale","sfx","sfy","renderContext","resultPromise","finishRenderTask_fn","annotationEditorUIManager","label","initialOptionalContent","regularAnnotations","buildXfaTextContentItems_fn","textLayer","renderStructTreeLayer_fn","tree","treeDom","AnnotationEditorLayerBuilder","clonedViewport","compatibilityParams","userAgent","platform","maxTouchPoints","isAndroid","isIOS","OptionKind","defaultOptions","userOptions","AppOptions","userOption","defaultOption","valueType","PDF_ROLE_TO_HTML_ROLE","HEADING_PATTERN","StructTreeLayerBuilder","_setAttributes","_walk","_treeDom","structTree","walk_fn","setAttributes_fn","structElement","htmlElement","role","kid","_TextAccessibilityManager","_addIdToAriaOwns","_enabled","_textChildren","_textNodes","_waitingElements","_compareElementPositions","compareElementPositions_fn","textChildren","nodeIndex","addIdToAriaOwns_fn","isRemovable","owns","elementToCompare","TextAccessibilityManager","e1","e2","top1","bot1","mid1","top2","bot2","mid2","centerX1","centerX2","TextHighlighter","findController","texts","iIndex","mm","isSelectedPage","selectedMatchIdx","highlightAll","prevEnd","infinity","beginText","divIdx","appendTextToDiv","fromOffset","toOffset","i0","i1","lastDivIdx","lastOffset","isSelected","highlightSuffix","n0","n1","reset","clearedUntilDivIdx","pageMatches","pageMatchesLength","TextLayerBuilder","highlighter","enablePermissions","_finishRendering","_bindMouse","_enablePermissions","_rotation","_scale","_textContentSource","finishRendering_fn","endOfContent","bindMouse_fn","adjustTop","divBounds","selection","XfaLayerBuilder","xfaHtml","PDFScriptingManager","sandboxBundleSrc","scriptingFactory","docPropertiesLookup","objects","calculationOrder","docActions","docProperties","isInPresentationMode","siblings","command","modes","elementId","initialize","visitedPages","pageView","actionsPromise","GenericScripting","metadata","contentLength","sandbox","_pdf_viewer","PDFSinglePageViewer","_pdf_page_view","_pdf_rendering_queue","DEFAULT_CACHE_SIZE","PagesCountLimit","isValidAnnotationEditorMode","PDFPageViewBuffer","_destroyFirstView","_buf","_size","buf","destroyFirstView_fn","newSize","idsToKeep","firstView","PDFViewer","_initializePermissions","_onePageRenderedOrForceFetch","_copyCallback","_ensurePageViewVisible","_scrollIntoView","_isSameScale","_setScaleUpdatePages","_pageWidthScaleFactor","_setScale","_resetCurrentPageView","_ensurePdfPageLoaded","_getScrollAhead","_updateContainerHeightCss","_resizeObserverCallback","_buffer","_annotationEditorMode","_annotationEditorUIManager","_containerTopLeft","_copyCallbackBound","_getAllTextInProgress","_hiddenCopyElement","_interruptCopyCondition","_previousContainerHeight","_resizeObserver","resizeObserverCallback_fn","_scrollModePageState","_onVisibilityChange","_scaleTimeoutId","viewerVersion","updateContainerHeightCss_fn","resetCurrentPageView","resetCurrentPageView_fn","setScale_fn","pagesCount","firstPagePromise","permissionsPromise","firstPdfPage","permissions","annotationEditorMode","textLayerMode","initializePermissions_fn","layerProperties","layerProperties_fn","viewerElement","firstPageView","ensurePageViewVisible_fn","onePageRenderedOrForceFetch_fn","copyCallback_fn","getPagesLeft","labels","destArray","allowNegativeOffset","hPadding","vPadding","scrollIntoView_fn","boundingRect","firstPage","currentScale","currentScaleValue","normalizedScaleValue","currentPageView","intLeft","intTop","pdfOpenParams","visiblePages","numVisiblePages","newCacheSize","isSimpleLayout","currentId","stillFullyVisible","currentlyVisiblePages","scrollAhead","getScrollAhead_fn","preRenderExtra","ensurePdfPageLoaded_fn","initialOrientation","orientation","pages","parity","spread","currentPageNumber","pageLayout","yArray","expectedId","firstId","lastId","advance","newScale","noUpdate","updateArgs","visibilityChangePromise","focusNode","anchorNode","savedCursor","interruptCopy","ev","pageIndexSet","dummyPage","pageSpot","scrollLeft","clientWidth","isSameScale_fn","setScaleUpdatePages_fn","newValue","noScroll","preset","pageWidthScaleFactor_get","currentPage","pageWidthScale","pageHeightScale","horizontalScale","CLEANUP_TIMEOUT","PDFRenderingQueue","pdfThumbnailViewer","scrolledDown","visibleViews","numVisible","visibleIds","holeId","holeView","preRenderIndex","preRenderView","__webpack_module_cache__","__webpack_exports__","_download_manager","_genericl10n","_pdf_find_controller","_pdf_history","_pdf_scripting_manager","_pdf_single_page_viewer","DefaultAnnotationLayerFactory","DefaultStructTreeLayerFactory","DefaultTextLayerFactory","DefaultXfaLayerFactory","pdfjs.GlobalWorkerOptions","defineComponent","ToolbarPagination","ToolbarRotation","ToolbarZoom","ToolbarAnnotation","eventNames","file","pdfjs.getDocument","externalEvent","markRaw","fd","toRaw","_resolveComponent","_openBlock","_createElementBlock","_createElementVNode","_ctx","_component_ToolbarPagination","_component_ToolbarRotation","_createCommentVNode","_component_ToolbarZoom","_createBlock","_component_ToolbarAnnotation","_normalizeClass","props","propName","createApp"],"mappings":"kuOA8Ba,KAAOA,QAAAA,WAAW,CAC7B,OAAQ,SAAS,gBAAgB,MAAQ,KACzC,iBAAkB,GAClB,SAAU,CAAA,GACRC,SAAA,GACAC,UACF,CACF,CAAC,2lECyCK,KAAA,CAAC,EAAAC,GAAKC,QAAAA,UAYNC,EAAS,CACb,OACA,cACA,WACA,aACA,MACA,OACA,IACA,OACA,MACA,IACA,IACA,GAAA,EAGF,SAASC,EAAUC,EAAuB,CACxC,OAAQ,MAAM,WAAWA,CAAK,CAAC,EAA+CJ,EAAE,eAAeI,GAAO,EAAnE,GAAG,KAAK,KAAK,WAAWA,CAAK,EAAI,GAAG,IACzE,mvFCrEsB,eAAA,UAAUC,EAAaC,EAAmC,CACxE,MAAAC,EAAW,MAAM,MAAMF,EAAK,CAChC,QAAS,CAAC,eAAgB,kBAAkB,EAC5C,GAAGC,CAAA,CACJ,EACD,GAAIC,EAAS,QAAU,KAAOA,EAAS,OAAS,IAC9C,OAAOA,EAAS,OAEV,MAAA,IAAI,MAAMA,EAAS,UAAU,CAEvC,u0BChDe,MAAA,sBAAA,CAAA,yTCsBd,SAA0CC,EAAMC,EAAS,CAExD,OAAA,QAAiBA,GAOlB,GAAE,WAAY,KACE,IAAM,CAEb,IAAI,oBAAuB,CACrC,CAEO,CAACC,EAAyBC,IAAY,QAI7C,OAAO,eAAeA,EAAS,aAAe,CAC5C,MAAO,EACT,GACAA,EAAQ,eAAiBA,EAAQ,KAAOA,EAAQ,sBAAwBA,EAAQ,4BAA8BA,EAAQ,kBAAoBA,EAAQ,oBAAsBA,EAAQ,kBAAoBA,EAAQ,eAAiBA,EAAQ,kBAAoBA,EAAQ,kBAAoBA,EAAQ,oBAAsBA,EAAQ,IAAMA,EAAQ,oBAAsBA,EAAQ,wBAA0BA,EAAQ,YAAcA,EAAQ,oBAAsBA,EAAQ,oBAAsBA,EAAQ,UAAYA,EAAQ,gBAAkBA,EAAQ,YAAcA,EAAQ,YAAcA,EAAQ,qBAAuBA,EAAQ,wBAA0BA,EAAQ,oBAAsBA,EAAQ,cAAgBA,EAAQ,gBAAkBA,EAAQ,eAAiBA,EAAQ,yBAA2BA,EAAQ,sBAAwBA,EAAQ,oBAAsBA,EAAQ,eAAiBA,EAAQ,sBAAwBA,EAAQ,eAAiBA,EAAQ,oBAAsBA,EAAQ,qBAAuBA,EAAQ,uBAAyBA,EAAQ,2BAA6BA,EAAQ,0BAA4BA,EAAQ,0BAA4BA,EAAQ,eAAiB,OAC9mCA,EAAQ,OAASC,EACjBD,EAAQ,cAAgBE,EACxBF,EAAQ,uBAAyBG,GACjCH,EAAQ,oBAAsBI,GAC9BJ,EAAQ,kBAAoBK,GAC5BL,EAAQ,KAAOM,GACfN,EAAQ,cAAgBO,GACxBP,EAAQ,aAAeQ,GACvBR,EAAQ,iBAAmBS,GAC3BT,EAAQ,cAAgBU,EACxBV,EAAQ,WAAaW,EACrBX,EAAQ,kBAAoBY,GAC5BZ,EAAQ,OAASa,EACjBb,EAAQ,SAAWc,EACnBd,EAAQ,cAAgBe,EACxBf,EAAQ,kBAAoBgB,GAC5BhB,EAAQ,mBAAqBiB,GAC7BjB,EAAQ,YAAckB,GACtBlB,EAAQ,mBAAqBmB,GAC7BnB,EAAQ,KAAOoB,GAEf,MAAMC,EAAkB,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,CAAC,EACzCrB,EAAQ,gBAAkBqB,EAC1B,MAAMC,EAAuB,CAAC,KAAO,EAAG,EAAG,KAAO,EAAG,CAAC,EACtDtB,EAAQ,qBAAuBsB,EAC/B,MAAMC,EAA0B,IAChCvB,EAAQ,wBAA0BuB,EAClC,MAAMC,GAAc,KACpBxB,EAAQ,YAAcwB,GACtB,MAAMC,EAAsB,IAC5BzB,EAAQ,oBAAsByB,EAC9B,MAAMC,EAAkBD,EAAsBD,GAC9CxB,EAAQ,gBAAkB0B,EAC1B,MAAMC,EAAsB,CAC1B,IAAK,EACL,QAAS,EACT,MAAO,EACP,KAAM,EACN,kBAAmB,GACnB,oBAAqB,GACrB,oBAAqB,GACrB,OAAQ,GACV,EACA3B,EAAQ,oBAAsB2B,EAC9B,MAAMC,EAAiB,CACrB,QAAS,EACT,OAAQ,EACR,aAAc,EACd,eAAgB,CAClB,EACA5B,EAAQ,eAAiB4B,EACzB,MAAMC,EAAyB,yBAC/B7B,EAAQ,uBAAyB6B,EACjC,MAAMC,EAAuB,CAC3B,QAAS,GACT,KAAM,EACN,SAAU,EACV,IAAK,EACP,EACA9B,EAAQ,qBAAuB8B,EAC/B,MAAMC,EAA6B,CACjC,cAAe,EACf,eAAgB,EAChB,iBAAkB,EAClB,UAAW,GACX,cAAe,GACf,YAAa,EACf,EACA/B,EAAQ,2BAA6B+B,EACrC,MAAMC,EAAiB,CACrB,MAAO,EACP,gBAAiB,EACjB,KAAM,GACN,mBAAoB,GACpB,uBAAwB,IACxB,uBAAwB,IACxB,SAAU,KACV,mBAAoB,IACtB,EACAhC,EAAQ,eAAiBgC,EACzB,MAAMC,EAAoB,CACxB,KAAM,EACN,OAAQ,EACR,YAAa,EACb,UAAW,EACX,iBAAkB,EAClB,mBAAoB,EACpB,wBAAyB,EACzB,YAAa,EACb,iBAAkB,EAClB,iBAAkB,CACpB,EACAjC,EAAQ,kBAAoBiC,EAC5B,MAAMC,EAAY,CAChB,eAAgB,EAChB,UAAW,EACX,WAAY,CACd,EACAlC,EAAQ,UAAYkC,EACpB,MAAMC,EAAiB,CACrB,KAAM,EACN,KAAM,EACN,SAAU,EACV,KAAM,EACN,OAAQ,EACR,OAAQ,EACR,QAAS,EACT,SAAU,EACV,UAAW,EACX,UAAW,GACX,SAAU,GACV,UAAW,GACX,MAAO,GACP,MAAO,GACP,IAAK,GACL,MAAO,GACP,eAAgB,GAChB,MAAO,GACP,MAAO,GACP,OAAQ,GACR,OAAQ,GACR,YAAa,GACb,QAAS,GACT,UAAW,GACX,OAAQ,GACR,OAAQ,EACV,EACAnC,EAAQ,eAAiBmC,EACzB,MAAMC,EAA2B,CAC/B,OAAQ,SACR,OAAQ,QACV,EACApC,EAAQ,yBAA2BoC,EACnC,MAAMC,EAAwB,CAC5B,OAAQ,SACR,SAAU,UACZ,EACArC,EAAQ,sBAAwBqC,EAChC,MAAMC,EAAwB,CAC5B,SAAU,WACV,SAAU,WACV,UAAW,YACX,UAAW,YACX,KAAM,MACR,EACAtC,EAAQ,sBAAwBsC,EAChC,MAAMC,EAAsB,CAC1B,MAAO,QACP,MAAO,GACT,EACAvC,EAAQ,oBAAsBuC,EAC9B,MAAMC,EAAiB,CACrB,UAAW,EACX,OAAQ,EACR,MAAO,EACP,OAAQ,EACR,SAAU,GACV,OAAQ,GACR,SAAU,GACV,OAAQ,IACR,aAAc,IACd,eAAgB,GAClB,EACAxC,EAAQ,eAAiBwC,EACzB,MAAMC,EAAsB,CAC1B,SAAU,EACV,SAAU,EACV,SAAU,EACV,UAAW,KACX,SAAU,KACV,cAAe,MACf,MAAO,MACP,WAAY,MACZ,MAAO,OACP,KAAM,OACN,KAAM,OACN,WAAY,QACZ,YAAa,QACb,gBAAiB,QACjB,YAAa,QACb,KAAM,SACN,SAAU,SACV,eAAgB,SAChB,kBAAmB,QACrB,EACAzC,EAAQ,oBAAsByC,EAC9B,MAAMC,EAA4B,CAChC,MAAO,EACP,OAAQ,EACR,QAAS,EACT,MAAO,EACP,UAAW,CACb,EACA1C,EAAQ,0BAA4B0C,EACpC,MAAMC,EAA4B,CAChC,EAAG,cACH,EAAG,aACH,EAAG,aACH,EAAG,WACH,GAAI,QACJ,GAAI,OACJ,GAAI,WACJ,GAAI,YACJ,GAAI,cACJ,GAAI,gBACJ,EAAG,YACH,EAAG,SACH,EAAG,WACH,EAAG,WACL,EACA3C,EAAQ,0BAA4B2C,EACpC,MAAMC,EAA0B,CAC9B,GAAI,YACJ,GAAI,WACJ,GAAI,UACJ,GAAI,YACJ,GAAI,UACN,EACA5C,EAAQ,wBAA0B4C,EAClC,MAAMC,EAAsB,CAC1B,EAAG,WACH,EAAG,WACL,EACA7C,EAAQ,oBAAsB6C,EAC9B,MAAMC,EAAiB,CACrB,OAAQ,EACR,SAAU,EACV,MAAO,CACT,EACA9C,EAAQ,eAAiB8C,EACzB,MAAMC,EAAsB,CAC1B,KAAM,EACN,OAAQ,CACV,EACA/C,EAAQ,oBAAsB+C,EAC9B,MAAMC,EAAM,CACV,WAAY,EACZ,aAAc,EACd,WAAY,EACZ,YAAa,EACb,cAAe,EACf,QAAS,EACT,mBAAoB,EACpB,YAAa,EACb,UAAW,EACX,KAAM,GACN,QAAS,GACT,UAAW,GACX,OAAQ,GACR,OAAQ,GACR,QAAS,GACT,SAAU,GACV,SAAU,GACV,UAAW,GACX,UAAW,GACX,OAAQ,GACR,YAAa,GACb,KAAM,GACN,OAAQ,GACR,WAAY,GACZ,aAAc,GACd,gBAAiB,GACjB,kBAAmB,GACnB,QAAS,GACT,KAAM,GACN,OAAQ,GACR,UAAW,GACX,QAAS,GACT,eAAgB,GAChB,eAAgB,GAChB,UAAW,GACX,WAAY,GACZ,QAAS,GACT,qBAAsB,GACtB,YAAa,GACb,SAAU,GACV,mBAAoB,GACpB,cAAe,GACf,SAAU,GACV,SAAU,GACV,eAAgB,GAChB,iBAAkB,GAClB,2BAA4B,GAC5B,aAAc,GACd,sBAAuB,GACvB,oBAAqB,GACrB,kBAAmB,GACnB,eAAgB,GAChB,gBAAiB,GACjB,aAAc,GACd,cAAe,GACf,cAAe,GACf,YAAa,GACb,kBAAmB,GACnB,gBAAiB,GACjB,mBAAoB,GACpB,iBAAkB,GAClB,YAAa,GACb,iBAAkB,GAClB,eAAgB,GAChB,eAAgB,GAChB,aAAc,GACd,UAAW,GACX,eAAgB,GAChB,mBAAoB,GACpB,wBAAyB,GACzB,iBAAkB,GAClB,YAAa,GACb,UAAW,GACX,sBAAuB,GACvB,oBAAqB,GACrB,WAAY,GACZ,SAAU,GACV,gBAAiB,GACjB,cAAe,GACf,sBAAuB,GACvB,2BAA4B,GAC5B,kBAAmB,GACnB,wBAAyB,GACzB,6BAA8B,GAC9B,wBAAyB,GACzB,4BAA6B,GAC7B,yBAA0B,GAC1B,cAAe,EACjB,EACAhD,EAAQ,IAAMgD,EACd,MAAMC,GAAoB,CACxB,cAAe,EACf,mBAAoB,CACtB,EACAjD,EAAQ,kBAAoBiD,GAC5B,IAAIC,EAAYJ,EAAe,SAC/B,SAASlC,GAAkBuC,EAAO,CAC5B,OAAO,UAAUA,CAAK,IACxBD,EAAYC,EAEf,CACD,SAAS9C,IAAoB,CAC3B,OAAO6C,CACR,CACD,SAAS5C,GAAK8C,EAAK,CACbF,GAAaJ,EAAe,OAC9B,QAAQ,IAAI,SAASM,GAAK,CAE7B,CACD,SAAShC,GAAKgC,EAAK,CACbF,GAAaJ,EAAe,UAC9B,QAAQ,IAAI,YAAYM,GAAK,CAEhC,CACD,SAASlC,GAAYkC,EAAK,CACxB,MAAM,IAAI,MAAMA,CAAG,CACpB,CACD,SAASnD,EAAOoD,EAAMD,EAAK,CACpBC,GACHnC,GAAYkC,CAAG,CAElB,CACD,SAASE,GAAiB5D,EAAK,CAC7B,OAAQA,GAAA,YAAAA,EAAK,SAAQ,CACnB,IAAK,QACL,IAAK,SACL,IAAK,OACL,IAAK,UACL,IAAK,OACH,MAAO,GACT,QACE,MAAO,EACV,CACF,CACD,SAASS,GAAuBT,EAAK6D,EAAU,KAAMC,EAAU,KAAM,CACnE,GAAI,CAAC9D,EACH,OAAO,KAET,GAAI,CACF,GAAI8D,GAAW,OAAO9D,GAAQ,SAAU,CACtC,GAAI8D,EAAQ,oBAAsB9D,EAAI,WAAW,MAAM,EAAG,CACxD,MAAM+D,GAAO/D,EAAI,MAAM,KAAK,GACxB+D,IAAA,YAAAA,GAAM,SAAU,IAClB/D,EAAM,UAAUA,KAGpB,GAAI8D,EAAQ,mBACV,GAAI,CACF9D,EAAMuB,GAAmBvB,CAAG,CACtC,MAAU,CAAa,EAGnB,MAAMgE,GAAcH,EAAU,IAAI,IAAI7D,EAAK6D,CAAO,EAAI,IAAI,IAAI7D,CAAG,EACjE,GAAI4D,GAAiBI,EAAW,EAC9B,OAAOA,EAEb,MAAI,CAAa,CACf,OAAO,IACR,CACD,SAAS7C,EAAO8C,EAAKC,EAAMC,EAAOC,GAAkB,GAAO,CACzD,cAAO,eAAeH,EAAKC,EAAM,CAC/B,MAAAC,EACA,WAAY,CAACC,GACb,aAAc,GACd,SAAU,EACd,CAAG,EACMD,CACR,CACD,MAAME,EAAgB,UAAgC,CACpD,SAASA,EAAcC,EAASC,GAAM,CAChC,KAAK,cAAgBF,GACvB7C,GAAY,kCAAkC,EAEhD,KAAK,QAAU8C,EACf,KAAK,KAAOC,EACb,CACD,OAAAF,EAAc,UAAY,IAAI,MAC9BA,EAAc,YAAcA,EACrBA,CACT,IACA/D,EAAQ,cAAgB+D,EACxB,MAAMG,UAA0BH,CAAc,CAC5C,YAAYX,EAAKe,EAAM,CACrB,MAAMf,EAAK,mBAAmB,EAC9B,KAAK,KAAOe,CACb,CACF,CACDnE,EAAQ,kBAAoBkE,EAC5B,MAAME,UAA8BL,CAAc,CAChD,YAAYX,EAAKiB,EAAS,CACxB,MAAMjB,EAAK,uBAAuB,EAClC,KAAK,QAAUiB,CAChB,CACF,CACDrE,EAAQ,sBAAwBoE,EAChC,MAAME,UAA4BP,CAAc,CAC9C,YAAYX,EAAK,CACf,MAAMA,EAAK,qBAAqB,CACjC,CACF,CACDpD,EAAQ,oBAAsBsE,EAC9B,MAAMC,UAA4BR,CAAc,CAC9C,YAAYX,EAAK,CACf,MAAMA,EAAK,qBAAqB,CACjC,CACF,CACDpD,EAAQ,oBAAsBuE,EAC9B,MAAMC,WAAoCT,CAAc,CACtD,YAAYX,EAAKqB,EAAQ,CACvB,MAAMrB,EAAK,6BAA6B,EACxC,KAAK,OAASqB,CACf,CACF,CACDzE,EAAQ,4BAA8BwE,GACtC,MAAME,UAAoBX,CAAc,CACtC,YAAYX,EAAK,CACf,MAAMA,EAAK,aAAa,CACzB,CACF,CACDpD,EAAQ,YAAc0E,EACtB,MAAMC,UAAuBZ,CAAc,CACzC,YAAYX,EAAK,CACf,MAAMA,EAAK,gBAAgB,CAC5B,CACF,CACDpD,EAAQ,eAAiB2E,EACzB,SAASzE,EAAc0E,EAAO,EACxB,OAAOA,GAAU,WAAYA,GAAA,YAAAA,EAAO,UAAW,SACjD1D,GAAY,oCAAoC,EAElD,MAAM2D,EAASD,EAAM,OACfE,EAAqB,KAC3B,GAAID,EAASC,EACX,OAAO,OAAO,aAAa,MAAM,KAAMF,CAAK,EAE9C,MAAMG,GAAS,CAAA,EACf,QAASC,GAAI,EAAGA,GAAIH,EAAQG,IAAKF,EAAoB,CACnD,MAAMG,GAAW,KAAK,IAAID,GAAIF,EAAoBD,CAAM,EAClDK,GAAQN,EAAM,SAASI,GAAGC,EAAQ,EACxCF,GAAO,KAAK,OAAO,aAAa,MAAM,KAAMG,EAAK,CAAC,EAEpD,OAAOH,GAAO,KAAK,EAAE,CACtB,CACD,SAAShE,EAAcoE,EAAK,CACtB,OAAOA,GAAQ,UACjBjE,GAAY,oCAAoC,EAElD,MAAM2D,EAASM,EAAI,OACbP,EAAQ,IAAI,WAAWC,CAAM,EACnC,QAASG,GAAI,EAAGA,GAAIH,EAAQ,EAAEG,GAC5BJ,EAAMI,EAAC,EAAIG,EAAI,WAAWH,EAAC,EAAI,IAEjC,OAAOJ,CACR,CACD,SAAS9D,EAAS+C,EAAO,CACvB,OAAO,OAAO,aAAaA,GAAS,GAAK,IAAMA,GAAS,GAAK,IAAMA,GAAS,EAAI,IAAMA,EAAQ,GAAI,CACnG,CACD,SAASlD,EAAWgD,EAAK,CACvB,OAAO,OAAO,KAAKA,CAAG,EAAE,MACzB,CACD,SAASjD,EAAc0E,EAAK,CAC1B,MAAMzB,EAAM,OAAO,OAAO,IAAI,EAC9B,SAAW,CAAC0B,EAAKxB,EAAK,IAAKuB,EACzBzB,EAAI0B,CAAG,EAAIxB,GAEb,OAAOF,CACR,CACD,SAAS2B,GAAiB,CACxB,MAAMC,EAAU,IAAI,WAAW,CAAC,EAChC,OAAAA,EAAQ,CAAC,EAAI,EACE,IAAI,YAAYA,EAAQ,OAAQ,EAAG,CAAC,EACrC,CAAC,IAAM,CACtB,CACD,SAASC,GAAkB,CACzB,GAAI,CACF,WAAI,SAAS,EAAE,EACR,EACR,MAAC,CACA,MAAO,EACR,CACF,CACD,MAAMC,EAAY,CAChB,WAAW,gBAAiB,CAC1B,OAAO5E,EAAO,KAAM,iBAAkByE,EAAgB,CAAA,CACvD,CACD,WAAW,iBAAkB,CAC3B,OAAOzE,EAAO,KAAM,kBAAmB2E,EAAiB,CAAA,CACzD,CACD,WAAW,4BAA6B,CACtC,OAAO3E,EAAO,KAAM,6BAA8B,OAAO,gBAAoB,GAAW,CACzF,CACD,WAAW,UAAW,CACpB,OAAI,OAAO,UAAc,IAChBA,EAAO,KAAM,WAAY,CAC9B,MAAO,GACP,MAAO,EACf,CAAO,EAEIA,EAAO,KAAM,WAAY,CAC9B,MAAO,UAAU,SAAS,SAAS,KAAK,EACxC,MAAO,UAAU,SAAS,SAAS,KAAK,CAC9C,CAAK,CACF,CACF,CACDb,EAAQ,YAAcyF,GACtB,MAAMC,EAAa,CAAC,GAAG,MAAM,GAAG,EAAE,KAAM,CAAA,EAAE,IAAIC,GAAKA,EAAE,SAAS,EAAE,EAAE,SAAS,EAAG,GAAG,CAAC,EAClF,MAAMC,CAAK,CACT,OAAO,aAAaC,EAAGC,EAAGC,GAAG,CAC3B,MAAO,IAAIL,EAAWG,CAAC,IAAIH,EAAWI,CAAC,IAAIJ,EAAWK,EAAC,GACxD,CACD,OAAO,YAAYC,EAAWC,EAAQ,CACpC,IAAIC,GACAF,EAAU,CAAC,GACTA,EAAU,CAAC,EAAI,IACjBE,GAAOD,EAAO,CAAC,EACfA,EAAO,CAAC,EAAIA,EAAO,CAAC,EACpBA,EAAO,CAAC,EAAIC,IAEdD,EAAO,CAAC,GAAKD,EAAU,CAAC,EACxBC,EAAO,CAAC,GAAKD,EAAU,CAAC,EACpBA,EAAU,CAAC,EAAI,IACjBE,GAAOD,EAAO,CAAC,EACfA,EAAO,CAAC,EAAIA,EAAO,CAAC,EACpBA,EAAO,CAAC,EAAIC,IAEdD,EAAO,CAAC,GAAKD,EAAU,CAAC,EACxBC,EAAO,CAAC,GAAKD,EAAU,CAAC,IAExBE,GAAOD,EAAO,CAAC,EACfA,EAAO,CAAC,EAAIA,EAAO,CAAC,EACpBA,EAAO,CAAC,EAAIC,GACZA,GAAOD,EAAO,CAAC,EACfA,EAAO,CAAC,EAAIA,EAAO,CAAC,EACpBA,EAAO,CAAC,EAAIC,GACRF,EAAU,CAAC,EAAI,IACjBE,GAAOD,EAAO,CAAC,EACfA,EAAO,CAAC,EAAIA,EAAO,CAAC,EACpBA,EAAO,CAAC,EAAIC,IAEdD,EAAO,CAAC,GAAKD,EAAU,CAAC,EACxBC,EAAO,CAAC,GAAKD,EAAU,CAAC,EACpBA,EAAU,CAAC,EAAI,IACjBE,GAAOD,EAAO,CAAC,EACfA,EAAO,CAAC,EAAIA,EAAO,CAAC,EACpBA,EAAO,CAAC,EAAIC,IAEdD,EAAO,CAAC,GAAKD,EAAU,CAAC,EACxBC,EAAO,CAAC,GAAKD,EAAU,CAAC,GAE1BC,EAAO,CAAC,GAAKD,EAAU,CAAC,EACxBC,EAAO,CAAC,GAAKD,EAAU,CAAC,EACxBC,EAAO,CAAC,GAAKD,EAAU,CAAC,EACxBC,EAAO,CAAC,GAAKD,EAAU,CAAC,CACzB,CACD,OAAO,UAAUG,EAAIC,EAAI,CACvB,MAAO,CAACD,EAAG,CAAC,EAAIC,EAAG,CAAC,EAAID,EAAG,CAAC,EAAIC,EAAG,CAAC,EAAGD,EAAG,CAAC,EAAIC,EAAG,CAAC,EAAID,EAAG,CAAC,EAAIC,EAAG,CAAC,EAAGD,EAAG,CAAC,EAAIC,EAAG,CAAC,EAAID,EAAG,CAAC,EAAIC,EAAG,CAAC,EAAGD,EAAG,CAAC,EAAIC,EAAG,CAAC,EAAID,EAAG,CAAC,EAAIC,EAAG,CAAC,EAAGD,EAAG,CAAC,EAAIC,EAAG,CAAC,EAAID,EAAG,CAAC,EAAIC,EAAG,CAAC,EAAID,EAAG,CAAC,EAAGA,EAAG,CAAC,EAAIC,EAAG,CAAC,EAAID,EAAG,CAAC,EAAIC,EAAG,CAAC,EAAID,EAAG,CAAC,CAAC,CACjN,CACD,OAAO,eAAeE,EAAGC,EAAG,CAC1B,MAAMC,GAAKF,EAAE,CAAC,EAAIC,EAAE,CAAC,EAAID,EAAE,CAAC,EAAIC,EAAE,CAAC,EAAIA,EAAE,CAAC,EACpCE,GAAKH,EAAE,CAAC,EAAIC,EAAE,CAAC,EAAID,EAAE,CAAC,EAAIC,EAAE,CAAC,EAAIA,EAAE,CAAC,EAC1C,MAAO,CAACC,GAAIC,EAAE,CACf,CACD,OAAO,sBAAsBH,EAAGC,EAAG,CACjC,MAAMG,GAAIH,EAAE,CAAC,EAAIA,EAAE,CAAC,EAAIA,EAAE,CAAC,EAAIA,EAAE,CAAC,EAC5BC,IAAMF,EAAE,CAAC,EAAIC,EAAE,CAAC,EAAID,EAAE,CAAC,EAAIC,EAAE,CAAC,EAAIA,EAAE,CAAC,EAAIA,EAAE,CAAC,EAAIA,EAAE,CAAC,EAAIA,EAAE,CAAC,GAAKG,GAC/DD,IAAM,CAACH,EAAE,CAAC,EAAIC,EAAE,CAAC,EAAID,EAAE,CAAC,EAAIC,EAAE,CAAC,EAAIA,EAAE,CAAC,EAAIA,EAAE,CAAC,EAAIA,EAAE,CAAC,EAAIA,EAAE,CAAC,GAAKG,GACtE,MAAO,CAACF,GAAIC,EAAE,CACf,CACD,OAAO,2BAA2BX,EAAGS,EAAG,CACtC,MAAMI,GAAKd,EAAK,eAAeC,EAAGS,CAAC,EAC7BK,GAAKf,EAAK,eAAeC,EAAE,MAAM,EAAG,CAAC,EAAGS,CAAC,EACzCM,GAAKhB,EAAK,eAAe,CAACC,EAAE,CAAC,EAAGA,EAAE,CAAC,CAAC,EAAGS,CAAC,EACxCO,GAAKjB,EAAK,eAAe,CAACC,EAAE,CAAC,EAAGA,EAAE,CAAC,CAAC,EAAGS,CAAC,EAC9C,MAAO,CAAC,KAAK,IAAII,GAAG,CAAC,EAAGC,GAAG,CAAC,EAAGC,GAAG,CAAC,EAAGC,GAAG,CAAC,CAAC,EAAG,KAAK,IAAIH,GAAG,CAAC,EAAGC,GAAG,CAAC,EAAGC,GAAG,CAAC,EAAGC,GAAG,CAAC,CAAC,EAAG,KAAK,IAAIH,GAAG,CAAC,EAAGC,GAAG,CAAC,EAAGC,GAAG,CAAC,EAAGC,GAAG,CAAC,CAAC,EAAG,KAAK,IAAIH,GAAG,CAAC,EAAGC,GAAG,CAAC,EAAGC,GAAG,CAAC,EAAGC,GAAG,CAAC,CAAC,CAAC,CAC/J,CACD,OAAO,iBAAiB,EAAG,CACzB,MAAMJ,EAAI,EAAE,CAAC,EAAI,EAAE,CAAC,EAAI,EAAE,CAAC,EAAI,EAAE,CAAC,EAClC,MAAO,CAAC,EAAE,CAAC,EAAIA,EAAG,CAAC,EAAE,CAAC,EAAIA,EAAG,CAAC,EAAE,CAAC,EAAIA,EAAG,EAAE,CAAC,EAAIA,GAAI,EAAE,CAAC,EAAI,EAAE,CAAC,EAAI,EAAE,CAAC,EAAI,EAAE,CAAC,GAAKA,GAAI,EAAE,CAAC,EAAI,EAAE,CAAC,EAAI,EAAE,CAAC,EAAI,EAAE,CAAC,GAAKA,CAAC,CACnH,CACD,OAAO,8BAA8B,EAAG,CACtC,MAAMK,EAAY,CAAC,EAAE,CAAC,EAAG,EAAE,CAAC,EAAG,EAAE,CAAC,EAAG,EAAE,CAAC,CAAC,EACnCC,GAAI,EAAE,CAAC,EAAID,EAAU,CAAC,EAAI,EAAE,CAAC,EAAIA,EAAU,CAAC,EAC5Cf,GAAI,EAAE,CAAC,EAAIe,EAAU,CAAC,EAAI,EAAE,CAAC,EAAIA,EAAU,CAAC,EAC5CE,GAAI,EAAE,CAAC,EAAIF,EAAU,CAAC,EAAI,EAAE,CAAC,EAAIA,EAAU,CAAC,EAC5CL,GAAI,EAAE,CAAC,EAAIK,EAAU,CAAC,EAAI,EAAE,CAAC,EAAIA,EAAU,CAAC,EAC5CG,IAASF,GAAIN,IAAK,EAClBS,GAAS,KAAK,MAAMH,GAAIN,KAAM,EAAI,GAAKM,GAAIN,GAAIO,GAAIjB,GAAE,EAAI,EACzDoB,GAAKF,GAAQC,IAAU,EACvBE,GAAKH,GAAQC,IAAU,EAC7B,MAAO,CAAC,KAAK,KAAKC,EAAE,EAAG,KAAK,KAAKC,EAAE,CAAC,CACrC,CACD,OAAO,cAAcC,EAAM,CACzB,MAAMxB,EAAIwB,EAAK,MAAM,CAAC,EACtB,OAAIA,EAAK,CAAC,EAAIA,EAAK,CAAC,IAClBxB,EAAE,CAAC,EAAIwB,EAAK,CAAC,EACbxB,EAAE,CAAC,EAAIwB,EAAK,CAAC,GAEXA,EAAK,CAAC,EAAIA,EAAK,CAAC,IAClBxB,EAAE,CAAC,EAAIwB,EAAK,CAAC,EACbxB,EAAE,CAAC,EAAIwB,EAAK,CAAC,GAERxB,CACR,CACD,OAAO,UAAUyB,EAAOC,EAAO,CAC7B,MAAMC,GAAO,KAAK,IAAI,KAAK,IAAIF,EAAM,CAAC,EAAGA,EAAM,CAAC,CAAC,EAAG,KAAK,IAAIC,EAAM,CAAC,EAAGA,EAAM,CAAC,CAAC,CAAC,EAC1EE,GAAQ,KAAK,IAAI,KAAK,IAAIH,EAAM,CAAC,EAAGA,EAAM,CAAC,CAAC,EAAG,KAAK,IAAIC,EAAM,CAAC,EAAGA,EAAM,CAAC,CAAC,CAAC,EACjF,GAAIC,GAAOC,GACT,OAAO,KAET,MAAMC,GAAO,KAAK,IAAI,KAAK,IAAIJ,EAAM,CAAC,EAAGA,EAAM,CAAC,CAAC,EAAG,KAAK,IAAIC,EAAM,CAAC,EAAGA,EAAM,CAAC,CAAC,CAAC,EAC1EI,GAAQ,KAAK,IAAI,KAAK,IAAIL,EAAM,CAAC,EAAGA,EAAM,CAAC,CAAC,EAAG,KAAK,IAAIC,EAAM,CAAC,EAAGA,EAAM,CAAC,CAAC,CAAC,EACjF,OAAIG,GAAOC,GACF,KAEF,CAACH,GAAME,GAAMD,GAAOE,EAAK,CACjC,CACD,OAAO,kBAAkBC,EAAIC,EAAIC,GAAIC,GAAIC,GAAIC,GAAIC,GAAIC,GAAI,CACvD,MAAMC,GAAU,CAAE,EAChBC,GAAS,CAAC,GAAI,CAAA,CAAE,EAClB,IAAItB,GAAGhB,GAAGiB,GAAG3H,GAAGiJ,GAAIC,GAAIC,GAAMC,GAC9B,QAASzD,GAAI,EAAGA,GAAI,EAAG,EAAEA,GAAG,CAU1B,GATIA,KAAM,GACRe,GAAI,EAAI6B,EAAK,GAAKE,GAAK,EAAIE,GAC3BjB,GAAI,GAAKa,EAAK,EAAIE,GAAK,EAAIE,GAAK,EAAIE,GACpClB,GAAI,EAAIc,GAAK,EAAIF,IAEjB7B,GAAI,EAAI8B,EAAK,GAAKE,GAAK,EAAIE,GAC3BlB,GAAI,GAAKc,EAAK,EAAIE,GAAK,EAAIE,GAAK,EAAIE,GACpCnB,GAAI,EAAIe,GAAK,EAAIF,GAEf,KAAK,IAAId,EAAC,EAAI,MAAO,CACvB,GAAI,KAAK,IAAIhB,EAAC,EAAI,MAChB,SAEF1G,GAAI,CAAC2H,GAAIjB,GACL,EAAI1G,IAAKA,GAAI,GACf+I,GAAQ,KAAK/I,EAAC,EAEhB,SAEFmJ,GAAOzC,GAAIA,GAAI,EAAIiB,GAAID,GACvB0B,GAAW,KAAK,KAAKD,EAAI,EACrB,EAAAA,GAAO,KAGXF,IAAM,CAACvC,GAAI0C,KAAa,EAAI1B,IACxB,EAAIuB,IAAMA,GAAK,GACjBF,GAAQ,KAAKE,EAAE,EAEjBC,IAAM,CAACxC,GAAI0C,KAAa,EAAI1B,IACxB,EAAIwB,IAAMA,GAAK,GACjBH,GAAQ,KAAKG,EAAE,GAGnB,IAAIG,GAAIN,GAAQ,OACdO,GACF,MAAMC,GAAOF,GACb,KAAOA,MACLrJ,GAAI+I,GAAQM,EAAC,EACbC,GAAK,EAAItJ,GACTgJ,GAAO,CAAC,EAAEK,EAAC,EAAIC,GAAKA,GAAKA,GAAKf,EAAK,EAAIe,GAAKA,GAAKtJ,GAAIyI,GAAK,EAAIa,GAAKtJ,GAAIA,GAAI2I,GAAK3I,GAAIA,GAAIA,GAAI6I,GAC5FG,GAAO,CAAC,EAAEK,EAAC,EAAIC,GAAKA,GAAKA,GAAKd,EAAK,EAAIc,GAAKA,GAAKtJ,GAAI0I,GAAK,EAAIY,GAAKtJ,GAAIA,GAAI4I,GAAK5I,GAAIA,GAAIA,GAAI8I,GAE9F,OAAAE,GAAO,CAAC,EAAEO,EAAI,EAAIhB,EAClBS,GAAO,CAAC,EAAEO,EAAI,EAAIf,EAClBQ,GAAO,CAAC,EAAEO,GAAO,CAAC,EAAIV,GACtBG,GAAO,CAAC,EAAEO,GAAO,CAAC,EAAIT,GACtBE,GAAO,CAAC,EAAE,OAASA,GAAO,CAAC,EAAE,OAASO,GAAO,EACtC,CAAC,KAAK,IAAI,GAAGP,GAAO,CAAC,CAAC,EAAG,KAAK,IAAI,GAAGA,GAAO,CAAC,CAAC,EAAG,KAAK,IAAI,GAAGA,GAAO,CAAC,CAAC,EAAG,KAAK,IAAI,GAAGA,GAAO,CAAC,CAAC,CAAC,CACvG,CACF,CACDrI,EAAQ,KAAO4F,EACf,MAAMiD,GAA0B,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,IAAO,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,MAAQ,MAAQ,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,IAAO,EAAG,IAAM,EACvrB,SAAS7H,GAAkBmE,EAAK,CAC9B,GAAIA,EAAI,CAAC,GAAK,IAAQ,CACpB,IAAI2D,EAQJ,GAPI3D,EAAI,CAAC,IAAM,KAAUA,EAAI,CAAC,IAAM,IAClC2D,EAAW,WACF3D,EAAI,CAAC,IAAM,KAAUA,EAAI,CAAC,IAAM,IACzC2D,EAAW,WACF3D,EAAI,CAAC,IAAM,KAAUA,EAAI,CAAC,IAAM,KAAUA,EAAI,CAAC,IAAM,MAC9D2D,EAAW,SAETA,EACF,GAAI,CACF,MAAMC,GAAU,IAAI,YAAYD,EAAU,CACxC,MAAO,EACjB,CAAS,EACKE,GAASjI,EAAcoE,CAAG,EAChC,OAAO4D,GAAQ,OAAOC,EAAM,CAC7B,OAAQC,GAAP,CACA7H,GAAK,uBAAuB6H,MAAM,CACnC,EAGL,MAAMlE,EAAS,CAAA,EACf,QAASC,EAAI,EAAGkE,GAAK/D,EAAI,OAAQH,EAAIkE,GAAIlE,IAAK,CAC5C,MAAMb,GAAO0E,GAAwB1D,EAAI,WAAWH,CAAC,CAAC,EACtDD,EAAO,KAAKZ,GAAO,OAAO,aAAaA,EAAI,EAAIgB,EAAI,OAAOH,CAAC,CAAC,EAE9D,OAAOD,EAAO,KAAK,EAAE,CACtB,CACD,SAAS9D,GAAmBkE,EAAK,CAC/B,OAAO,mBAAmB,OAAOA,CAAG,CAAC,CACtC,CACD,SAAShE,GAAmBgE,EAAK,CAC/B,OAAO,SAAS,mBAAmBA,CAAG,CAAC,CACxC,CACD,SAAS5E,GAAc4I,EAAG,CACxB,OAAO,OAAOA,GAAM,WAAYA,GAAA,YAAAA,EAAG,cAAe,MACnD,CACD,SAAS3I,GAAa4I,EAAMC,EAAM,CAChC,GAAID,EAAK,SAAWC,EAAK,OACvB,MAAO,GAET,QAASrE,EAAI,EAAGkE,GAAKE,EAAK,OAAQpE,EAAIkE,GAAIlE,IACxC,GAAIoE,EAAKpE,CAAC,IAAMqE,EAAKrE,CAAC,EACpB,MAAO,GAGX,MAAO,EACR,CACD,SAAS5E,GAAoBkJ,EAAO,IAAI,KAAQ,CAE9C,MADe,CAACA,EAAK,eAAgB,EAAC,SAAU,GAAGA,EAAK,YAAa,EAAG,GAAG,WAAW,SAAS,EAAG,GAAG,EAAGA,EAAK,aAAa,WAAW,SAAS,EAAG,GAAG,EAAGA,EAAK,YAAa,EAAC,SAAU,EAAC,SAAS,EAAG,GAAG,EAAGA,EAAK,cAAe,EAAC,SAAU,EAAC,SAAS,EAAG,GAAG,EAAGA,EAAK,cAAe,EAAC,SAAU,EAAC,SAAS,EAAG,GAAG,CAAC,EAC3R,KAAK,EAAE,CACtB,CACD,MAAMC,EAAkB,CAEtB,aAAc,CADdC,EAAA,KAAAC,GAAW,IAET,KAAK,QAAU,IAAI,QAAQ,CAACC,EAASC,IAAW,CAC9C,KAAK,QAAUC,IAAQ,CACrBC,GAAA,KAAKJ,GAAW,IAChBC,EAAQE,EAAI,CACpB,EACM,KAAK,OAASE,IAAU,CACtBD,GAAA,KAAKJ,GAAW,IAChBE,EAAOG,EAAM,CACrB,CACA,CAAK,CACF,CACD,IAAI,SAAU,CACZ,OAAOC,EAAA,KAAKN,GACb,CACF,CAhBCA,GAAA,YAiBFzJ,EAAQ,kBAAoBuJ,GAC5B,IAAIS,GAAiB,KACjBC,GAAmB,KACvB,SAASxJ,GAAiB0E,EAAK,CAC7B,OAAK6E,KACHA,GAAiB,2UACjBC,GAAmB,IAAI,IAAI,CAAC,CAAC,IAAK,IAAI,CAAC,CAAC,GAEnC9E,EAAI,WAAW6E,GAAgB,CAACE,EAAGxD,EAAIC,KACrCD,EAAKA,EAAG,UAAU,MAAM,EAAIuD,GAAiB,IAAItD,EAAE,CAC3D,CACF,CAEM,EAEA,CAAC,wBAAyB,QAAS,sBAAwB,mDAIlE,OAAO,eAAe,QAAS,aAAe,CAC5C,MAAO,EACT,GACA,QAAQ,MAAQ,QAAQ,WAAa,QAAQ,cAAgB,QAAQ,UAAY,QAAQ,aAAe,QAAQ,iBAAmB,QAAQ,uBAAyB,QAAQ,sBAAwB,QAAQ,aAAe,QAAQ,+BAAiC,QAAQ,qBAAuB,QAAQ,qBAAuB,QAAQ,yBAA2B,OACrW,QAAQ,YAAc,YACtB,QAAQ,QAAU,OAClB,IAAI,MAAQ,oBAAoB,CAAC,EAC7B,oBAAsB,oBAAoB,CAAC,EAC3C,eAAiB,oBAAoB,CAAC,EACtC,aAAe,oBAAoB,CAAC,EACpC,QAAU,oBAAoB,EAAE,EAChC,gBAAkB,oBAAoB,EAAE,EACxC,SAAW,oBAAoB,EAAE,EACjC,iBAAmB,oBAAoB,EAAE,EACzC,UAAY,oBAAoB,EAAE,EAClC,yBAA2B,oBAAoB,EAAE,EACjD,kBAAoB,oBAAoB,EAAE,EAC1C,UAAY,oBAAoB,EAAE,EACtC,MAAM,yBAA2B,MAC3B,4BAA8B,IAC9B,wBAA0B,IAChC,IAAI,qBAAuB,eAAe,iBAC1C,QAAQ,qBAAuB,qBAC/B,IAAI,yBAA2B,eAAe,qBAC9C,QAAQ,yBAA2B,yBACnC,IAAI,qBAAuB,eAAe,iBAC1C,QAAQ,qBAAuB,qBAC/B,IAAI,+BAAiC,eAAe,2BAEpD,GADA,QAAQ,+BAAiC,+BACrC,SAAS,SAAU,CACrB,KAAM,CACJ,kBAAAwD,EACA,sBAAAC,EACA,kBAAAC,EACA,4BAAAC,CACJ,EAAM,oBAAoB,EAAE,EAC1B,QAAQ,qBAAuB,qBAAuBH,EACtD,QAAQ,yBAA2B,yBAA2BC,EAC9D,QAAQ,qBAAuB,qBAAuBC,EACtD,QAAQ,+BAAiC,+BAAiCC,EAE5E,IAAI,uBAEF,GAAI,SAAS,SAAU,CACrB,KAAM,CACJ,cAAAC,CACN,EAAQ,oBAAoB,EAAE,EAC1B,uBAAyB5K,GAChB,IAAI4K,EAAc5K,CAAM,MAE5B,CACL,KAAM,CACJ,iBAAA6K,CACN,EAAQ,oBAAoB,EAAE,EACpB,CACJ,eAAAC,CACN,EAAQ,oBAAoB,EAAE,EAC1B,uBAAyB9K,MACZ,eAAe,iBAAiBA,EAAO,GAAG,EAAI,IAAI8K,EAAe9K,CAAM,EAAI,IAAI6K,EAAiB7K,CAAM,EAIvH,SAAS,YAAY+K,EAAK,CAUxB,GATI,OAAOA,GAAQ,UAAYA,aAAe,IAC5CA,EAAM,CACJ,IAAKA,CACX,KACiB,MAAM,eAAeA,CAAG,IACrCA,EAAM,CACJ,KAAMA,CACZ,GAEM,OAAOA,GAAQ,SACjB,MAAM,IAAI,MAAM,0DAA0D,EAE5E,GAAI,CAACA,EAAI,KAAO,CAACA,EAAI,MAAQ,CAACA,EAAI,MAChC,MAAM,IAAI,MAAM,6DAA6D,EAE/E,MAAMC,EAAO,IAAI,uBACX,CACJ,MAAAC,CACD,EAAGD,EACEjL,EAAMgL,EAAI,IAAM,WAAWA,EAAI,GAAG,EAAI,KACtCd,EAAOc,EAAI,KAAO,YAAYA,EAAI,IAAI,EAAI,KAC1CG,EAAcH,EAAI,aAAe,KACjCI,EAAkBJ,EAAI,kBAAoB,GAC1CK,GAAWL,EAAI,UAAY,KAC3BM,EAAiBN,EAAI,iBAAiB,sBAAwBA,EAAI,MAAQ,KAC1EO,GAAiB,OAAO,UAAUP,EAAI,cAAc,GAAKA,EAAI,eAAiB,EAAIA,EAAI,eAAiB,yBAC7G,IAAIQ,GAASR,EAAI,kBAAkB,UAAYA,EAAI,OAAS,KAC5D,MAAMxH,GAAYwH,EAAI,UAChBS,GAAa,OAAOT,EAAI,YAAe,UAAY,IAAK,eAAe,cAAcA,EAAI,UAAU,EAAIA,EAAI,WAAa,KACxHU,GAAU,OAAOV,EAAI,SAAY,SAAWA,EAAI,QAAU,KAC1DW,EAAaX,EAAI,aAAe,GAChCY,GAAoBZ,EAAI,mBAAqB,yBAC7Ca,GAAsB,OAAOb,EAAI,qBAAwB,SAAWA,EAAI,oBAAsB,KAC9Fc,EAA0Bd,EAAI,yBAA2B,+BACzDe,EAAef,EAAI,eAAiB,GACpCgB,EAAe,OAAO,UAAUhB,EAAI,YAAY,GAAKA,EAAI,aAAe,GAAKA,EAAI,aAAe,GAChGlF,EAAkBkF,EAAI,kBAAoB,GAC1CiB,EAA6B,OAAOjB,EAAI,4BAA+B,UAAYA,EAAI,2BAA6B,CAAC,SAAS,SAC9HkB,EAAuB,OAAO,UAAUlB,EAAI,oBAAoB,EAAIA,EAAI,qBAAuB,GAC/FmB,GAAkB,OAAOnB,EAAI,iBAAoB,UAAYA,EAAI,gBAAkB,SAAS,SAC5FoB,EAAsBpB,EAAI,sBAAwB,GAClDqB,EAAYrB,EAAI,YAAc,GAC9BsB,EAAgBtB,EAAI,eAAiB,WAAW,SAChDuB,EAAevB,EAAI,eAAiB,GACpCwB,EAAgBxB,EAAI,gBAAkB,GACtCyB,EAAmBzB,EAAI,mBAAqB,GAC5C0B,EAAS1B,EAAI,SAAW,GACxB7F,EAASmG,EAAiBA,EAAe,OAASN,EAAI,QAAU,IAChE2B,EAAiB,OAAO3B,EAAI,gBAAmB,UAAYA,EAAI,eAAiB,CAAC,SAAS,UAAY,CAACmB,GACvGS,GAAiB,OAAO5B,EAAI,gBAAmB,UAAYA,EAAI,eAAiBY,KAAsB,eAAe,sBAAwBE,IAA4B,eAAe,+BAAkC,eAAe,iBAAiBJ,GAAS,SAAS,OAAO,MAAS,eAAe,iBAAiBG,GAAqB,SAAS,OAAO,EACjWgB,EAAgB7B,EAAI,eAAiB,IAAI,qBAAqB,CAClE,cAAAsB,CACJ,CAAG,EACKQ,EAAgB9B,EAAI,eAAiB,IAAI,qBAAqB,CAClE,MAAAE,EACA,cAAAoB,CACJ,CAAG,EACKS,GAAe,QACjB,MAAM,mBAAmBvJ,EAAS,EACtC,MAAMwJ,GAAmB,CACvB,cAAAH,EACA,cAAAC,CACJ,EAUE,GATKF,KACHI,GAAiB,kBAAoB,IAAIpB,GAAkB,CACzD,QAASF,GACT,aAAcC,CACpB,CAAK,EACDqB,GAAiB,wBAA0B,IAAIlB,EAAwB,CACrE,QAASD,EACf,CAAK,GAEC,CAACL,GAAQ,CACX,MAAMyB,GAAe,CACnB,UAAAzJ,GACA,KAAM,gBAAgB,oBAAoB,UAChD,EACIgI,GAASyB,GAAa,KAAO,UAAU,SAASA,EAAY,EAAI,IAAI,UAAUA,EAAY,EAC1FhC,EAAK,QAAUO,GAEjB,MAAM0B,GAAiB,CACrB,MAAAhC,EACA,WAAY,UACZ,KAAAhB,EACA,SAAAmB,GACA,iBAAAoB,EACA,eAAAlB,GACA,OAAApG,EACA,WAAAsG,GACA,UAAAY,EACA,iBAAkB,CAChB,aAAAL,EACA,gBAAAG,GACA,aAAAJ,EACA,gBAAAjG,EACA,2BAAAmG,EACA,qBAAAC,EACA,oBAAAE,EACA,eAAAO,EACA,QAASC,GAAiBlB,GAAU,KACpC,oBAAqBkB,GAAiBf,GAAsB,IAC7D,CACL,EACQsB,GAAkB,CACtB,aAAApB,EACA,gBAAAjG,EACA,gBAAAqG,GACA,oBAAAC,EACA,UAAAC,EACA,cAAAC,EACA,iBAAAG,EACA,OAAAC,EACA,aAAAK,EACJ,EACE,OAAAvB,GAAO,QAAQ,KAAK,UAAY,CAC9B,GAAIP,EAAK,UACP,MAAM,IAAI,MAAM,iBAAiB,EAEnC,MAAMmC,GAAkB,eAAe5B,GAAQ0B,EAAc,EACvDG,GAAuB,IAAI,QAAQ,SAAUrD,GAAS,CAC1D,IAAIsD,GACAhC,EACFgC,GAAgB,IAAI,kBAAkB,uBAAuB,CAC3D,OAAAnI,EACA,YAAamG,EAAe,YAC5B,gBAAiBA,EAAe,gBAChC,2BAA4BA,EAAe,2BAC3C,aAAAiB,EACA,cAAAC,CACD,EAAElB,CAAc,EACPpB,IACVoD,GAAgB,uBAAuB,CACrC,IAAAtN,EACA,OAAAmF,EACA,YAAAgG,EACA,gBAAAC,EACA,eAAAG,GACA,aAAAgB,EACA,cAAAC,CACV,CAAS,GAEHxC,GAAQsD,EAAa,CAC3B,CAAK,EACD,OAAO,QAAQ,IAAI,CAACF,GAAiBC,EAAoB,CAAC,EAAE,KAAK,SAAU,CAACE,GAAUD,EAAa,EAAG,CACpG,GAAIrC,EAAK,UACP,MAAM,IAAI,MAAM,iBAAiB,EAEnC,MAAMuC,GAAiB,IAAI,iBAAiB,eAAetC,EAAOqC,GAAU/B,GAAO,IAAI,EACjFiC,GAAY,IAAI,gBAAgBD,GAAgBvC,EAAMqC,GAAeH,GAAiBH,EAAgB,EAC5G/B,EAAK,WAAawC,GAClBD,GAAe,KAAK,QAAS,IAAI,CACvC,CAAK,CACF,CAAA,EAAE,MAAMvC,EAAK,YAAY,MAAM,EACzBA,CACR,CACD,eAAe,eAAeO,EAAQkC,EAAQ,CAC5C,GAAIlC,EAAO,UACT,MAAM,IAAI,MAAM,sBAAsB,EAExC,MAAM+B,EAAW,MAAM/B,EAAO,eAAe,gBAAgB,gBAAiBkC,EAAQA,EAAO,KAAO,CAACA,EAAO,KAAK,MAAM,EAAI,IAAI,EAC/H,GAAIlC,EAAO,UACT,MAAM,IAAI,MAAM,sBAAsB,EAExC,OAAO+B,CACR,CACD,SAAS,WAAWI,EAAK,CACvB,GAAIA,aAAe,IACjB,OAAOA,EAAI,KAEb,GAAI,CACF,OAAO,IAAI,IAAIA,EAAK,OAAO,QAAQ,EAAE,IACtC,MAAC,CACA,GAAI,SAAS,UAAY,OAAOA,GAAQ,SACtC,OAAOA,CAEV,CACD,MAAM,IAAI,MAAM,oFAAyF,CAC1G,CACD,SAAS,YAAYA,EAAK,CACxB,GAAI,SAAS,UAAY,OAAO,OAAW,KAAeA,aAAe,OACvE,SAAI,eAAe,YAAY,mEAAmE,EAC3F,IAAI,WAAWA,CAAG,EAE3B,GAAIA,aAAe,YAAcA,EAAI,aAAeA,EAAI,OAAO,WAC7D,OAAOA,EAET,GAAI,OAAOA,GAAQ,SACjB,SAAW,MAAM,eAAeA,CAAG,EAErC,GAAI,OAAOA,GAAQ,UAAY,CAAC,MAAMA,GAAA,YAAAA,EAAK,MAAM,MAAS,MAAM,eAAeA,CAAG,EAChF,OAAO,IAAI,WAAWA,CAAG,EAE3B,MAAM,IAAI,MAAM,4GAAiH,CAClI,CACD,MAAMC,EAAN,KAA6B,CAE3B,aAAc,CACZ,KAAK,YAAc,IAAI,MAAM,kBAC7B,KAAK,WAAa,KAClB,KAAK,QAAU,KACf,KAAK,MAAQ,IAAIC,GAAAD,EAAuBE,GAAvB,MACjB,KAAK,UAAY,GACjB,KAAK,WAAa,KAClB,KAAK,WAAa,IACnB,CACD,IAAI,SAAU,CACZ,OAAO,KAAK,YAAY,OACzB,CACD,MAAM,SAAU,OACd,KAAK,UAAY,GACjB,OAAMC,EAAA,KAAK,aAAL,YAAAA,EAAiB,WACvB,KAAK,WAAa,KACd,KAAK,UACP,KAAK,QAAQ,UACb,KAAK,QAAU,KAElB,CACF,EAvBD,IAAM,uBAANH,EACSE,EAAA,YAAPhE,EADI,uBACGgE,EAAS,GAuBlB,QAAQ,uBAAyB,uBACjC,MAAM,qBAAsB,CAC1B,YAAY3I,EAAQ6I,EAAaC,EAAkB,GAAOC,EAA6B,KAAM,CAC3F,KAAK,OAAS/I,EACd,KAAK,YAAc6I,EACnB,KAAK,gBAAkBC,EACvB,KAAK,2BAA6BC,EAClC,KAAK,gBAAkB,GACvB,KAAK,mBAAqB,GAC1B,KAAK,0BAA4B,GACjC,KAAK,0BAA4B,GACjC,KAAK,iBAAmB,IAAI,MAAM,iBACnC,CACD,iBAAiBC,EAAU,CACzB,KAAK,gBAAgB,KAAKA,CAAQ,CACnC,CACD,oBAAoBA,EAAU,CAC5B,KAAK,mBAAmB,KAAKA,CAAQ,CACtC,CACD,2BAA2BA,EAAU,CACnC,KAAK,0BAA0B,KAAKA,CAAQ,CAC7C,CACD,2BAA2BA,EAAU,CACnC,KAAK,0BAA0B,KAAKA,CAAQ,CAC7C,CACD,YAAYC,EAAO5I,EAAO,CACxB,UAAW2I,KAAY,KAAK,gBAC1BA,EAASC,EAAO5I,CAAK,CAExB,CACD,eAAe6I,EAAQC,EAAO,CAC5B,KAAK,iBAAiB,QAAQ,KAAK,IAAM,CACvC,UAAWH,KAAY,KAAK,mBAC1BA,EAASE,EAAQC,CAAK,CAE9B,CAAK,CACF,CACD,sBAAsB9I,EAAO,CAC3B,KAAK,iBAAiB,QAAQ,KAAK,IAAM,CACvC,UAAW2I,KAAY,KAAK,0BAC1BA,EAAS3I,CAAK,CAEtB,CAAK,CACF,CACD,uBAAwB,CACtB,KAAK,iBAAiB,QAAQ,KAAK,IAAM,CACvC,UAAW2I,KAAY,KAAK,0BAC1BA,GAER,CAAK,CACF,CACD,gBAAiB,CACf,KAAK,iBAAiB,SACvB,CACD,iBAAiBC,EAAOG,EAAK,IACvB,MAAM,aAAa,wDAAwD,CAChF,CACD,OAAQ,CAAE,CACX,CACD,QAAQ,sBAAwB,sBAChC,MAAM,gBAAiB,CACrB,YAAYC,EAASf,EAAW,CAC9B,KAAK,SAAWe,EAChB,KAAK,WAAaf,CACnB,CACD,IAAI,mBAAoB,CACtB,OAAO,KAAK,WAAW,iBACxB,CACD,IAAI,eAAgB,CAClB,OAAO,KAAK,WAAW,aACxB,CACD,IAAI,UAAW,CACb,OAAO,KAAK,SAAS,QACtB,CACD,IAAI,cAAe,CACjB,OAAO,KAAK,SAAS,YACtB,CACD,IAAI,WAAY,CACd,SAAW,MAAM,QAAQ,KAAM,YAAa,CAAC,CAAC,KAAK,WAAW,WAAW,CAC1E,CACD,IAAI,YAAa,CACf,OAAO,KAAK,WAAW,WACxB,CACD,QAAQgB,EAAY,CAClB,OAAO,KAAK,WAAW,QAAQA,CAAU,CAC1C,CACD,aAAaC,EAAK,CAChB,OAAO,KAAK,WAAW,aAAaA,CAAG,CACxC,CACD,iBAAkB,CAChB,OAAO,KAAK,WAAW,iBACxB,CACD,eAAeC,EAAI,CACjB,OAAO,KAAK,WAAW,eAAeA,CAAE,CACzC,CACD,eAAgB,CACd,OAAO,KAAK,WAAW,eACxB,CACD,eAAgB,CACd,OAAO,KAAK,WAAW,eACxB,CACD,aAAc,CACZ,OAAO,KAAK,WAAW,aACxB,CACD,sBAAuB,CACrB,OAAO,KAAK,WAAW,sBACxB,CACD,eAAgB,CACd,OAAO,KAAK,WAAW,eACxB,CACD,gBAAiB,CACf,OAAO,KAAK,WAAW,gBACxB,CACD,eAAgB,CACd,OAAO,KAAK,WAAW,eACxB,CACD,cAAe,CACb,OAAO,KAAK,WAAW,iBACxB,CACD,YAAa,CACX,OAAO,KAAK,WAAW,YACxB,CACD,0BAA2B,CACzB,OAAO,KAAK,WAAW,0BACxB,CACD,gBAAiB,CACf,OAAO,KAAK,WAAW,gBACxB,CACD,aAAc,CACZ,OAAO,KAAK,WAAW,aACxB,CACD,aAAc,CACZ,OAAO,KAAK,WAAW,aACxB,CACD,SAAU,CACR,OAAO,KAAK,WAAW,SACxB,CACD,cAAe,CACb,OAAO,KAAK,WAAW,cACxB,CACD,iBAAkB,CAChB,OAAO,KAAK,WAAW,uBAAuB,OAC/C,CACD,QAAQC,EAAkB,GAAO,CAC/B,OAAO,KAAK,WAAW,aAAaA,GAAmB,KAAK,SAAS,CACtE,CACD,SAAU,CACR,OAAO,KAAK,YAAY,SACzB,CACD,IAAI,eAAgB,CAClB,OAAO,KAAK,WAAW,aACxB,CACD,IAAI,aAAc,CAChB,OAAO,KAAK,WAAW,WACxB,CACD,iBAAkB,CAChB,OAAO,KAAK,WAAW,iBACxB,CACD,cAAe,CACb,OAAO,KAAK,WAAW,cACxB,CACD,wBAAyB,CACvB,OAAO,KAAK,WAAW,wBACxB,CACF,CACD,QAAQ,iBAAmB,iBAC3B,MAAM,YAAa,CAGjB,YAAYC,EAAWC,EAAUrB,EAAWf,EAAS,GAAO,CA2Q5D5C,EAAA,KAAAiF,GAyBAjF,EAAA,KAAAkF,GAtSAlF,EAAA,KAAAmF,EAAyB,MACzBnF,EAAA,KAAAoF,EAAkB,IAEhB,KAAK,WAAaL,EAClB,KAAK,UAAYC,EACjB,KAAK,WAAarB,EAClB,KAAK,OAASf,EAAS,IAAI,eAAe,UAAc,KACxD,KAAK,QAAUA,EACf,KAAK,WAAae,EAAU,WAC5B,KAAK,KAAO,IAAI,WAChB,KAAK,yBAA2B,GAChC,KAAK,cAAgB,IAAI,IACzB,KAAK,UAAY,EAClB,CACD,IAAI,YAAa,CACf,OAAO,KAAK,WAAa,CAC1B,CACD,IAAI,QAAS,CACX,OAAO,KAAK,UAAU,MACvB,CACD,IAAI,KAAM,CACR,OAAO,KAAK,UAAU,GACvB,CACD,IAAI,UAAW,CACb,OAAO,KAAK,UAAU,QACvB,CACD,IAAI,MAAO,CACT,OAAO,KAAK,UAAU,IACvB,CACD,YAAY,CACV,MAAA1N,EACA,SAAAoP,EAAW,KAAK,OAChB,QAAAC,EAAU,EACV,QAAAC,EAAU,EACV,SAAAC,EAAW,EACZ,EAAG,GAAI,CACN,OAAO,IAAI,eAAe,aAAa,CACrC,QAAS,KAAK,KACd,MAAAvP,EACA,SAAAoP,EACA,QAAAC,EACA,QAAAC,EACA,SAAAC,CACN,CAAK,CACF,CACD,eAAe,CACb,OAAAC,EAAS,SACV,EAAG,GAAI,CACN,MAAMC,EAAa,KAAK,WAAW,mBAAmBD,CAAM,EAC5D,OAAO,KAAK,WAAW,eAAe,KAAK,WAAYC,EAAW,eAAe,CAClF,CACD,cAAe,CACb,OAAO,KAAK,WAAW,iBAAiB,KAAK,UAAU,CACxD,CACD,IAAI,WAAY,CACd,SAAW,MAAM,QAAQ,KAAM,YAAa,CAAC,CAAC,KAAK,WAAW,WAAW,CAC1E,CACD,MAAM,QAAS,OACb,QAAOzB,EAAA,KAAK,WAAW,cAAhB,YAAAA,EAA6B,SAAS,KAAK,cAAe,IAClE,CACD,OAAO,CACL,cAAA0B,EACA,SAAAC,EACA,OAAAH,EAAS,UACT,eAAAI,EAAiB,MAAM,eAAe,OACtC,UAAArJ,EAAY,KACZ,WAAAsJ,EAAa,KACb,6BAAAC,GAA+B,KAC/B,oBAAAC,EAAsB,KACtB,WAAAC,GAAa,KACb,uBAAAC,GAAyB,IAC7B,EAAK,WACD,IAAIjC,EAAA,UAAU,CAAC,IAAX,MAAAA,EAAc,cAChB,MAAM,IAAI,MAAM,4GAAiH,GAEnIkC,EAAA,KAAK,SAAL,MAAAA,EAAa,KAAK,WAClB,MAAMT,GAAa,KAAK,WAAW,mBAAmBD,EAAQI,EAAgBK,EAAsB,EACpG7F,GAAA,KAAK+E,EAAkB,IACvBgB,EAAA,KAAKlB,EAAAmB,IAAL,WACKN,KACHA,GAA+B,KAAK,WAAW,4BAEjD,IAAIO,GAAc,KAAK,cAAc,IAAIZ,GAAW,QAAQ,EACvDY,KACHA,GAAc,OAAO,OAAO,IAAI,EAChC,KAAK,cAAc,IAAIZ,GAAW,SAAUY,EAAW,GAErDA,GAAY,4BACd,aAAaA,GAAY,yBAAyB,EAClDA,GAAY,0BAA4B,MAE1C,MAAMC,GAAc,CAAC,EAAEb,GAAW,gBAAkB,MAAM,oBAAoB,OACzEY,GAAY,yBACfA,GAAY,uBAAyB,IAAI,MAAM,kBAC/CA,GAAY,aAAe,CACzB,QAAS,CAAE,EACX,UAAW,CAAE,EACb,UAAW,GACX,eAAgB,IACxB,GACME,EAAA,KAAK,SAAL,MAAAA,EAAa,KAAK,gBAClB,KAAK,kBAAkBd,EAAU,GAEnC,MAAMe,EAAWC,GAAS,SACxBJ,GAAY,YAAY,OAAOK,EAAkB,GAC7C,KAAK,0BAA4BJ,KACnClG,GAAA,KAAK+E,EAAkB,IAEzBgB,EAAA,KAAKnB,EAAA2B,IAAL,UAAiB,CAACL,IACdG,GACFC,GAAmB,WAAW,OAAOD,CAAK,EAC1C,KAAK,mBAAmB,CACtB,YAAAJ,GACA,OAAQI,aAAiB,MAAQA,EAAQ,IAAI,MAAMA,CAAK,CAClE,CAAS,GAEDC,GAAmB,WAAW,WAEhC1C,EAAA,KAAK,SAAL,MAAAA,EAAa,QAAQ,cACrBkC,EAAA,KAAK,SAAL,MAAAA,EAAa,QAAQ,UAC3B,EACUQ,GAAqB,IAAI,mBAAmB,CAChD,SAAUF,EACV,OAAQ,CACN,cAAAd,EACA,SAAAC,EACA,UAAApJ,EACA,WAAAsJ,CACD,EACD,KAAM,KAAK,KACX,WAAY,KAAK,WACjB,oBAAAE,EACA,aAAcM,GAAY,aAC1B,UAAW,KAAK,WAChB,cAAe,KAAK,WAAW,cAC/B,cAAe,KAAK,WAAW,cAC/B,yBAA0B,CAACC,GAC3B,OAAQ,KAAK,QACb,WAAAN,EACN,CAAK,GACAK,GAAY,cAAZA,GAAY,YAAgB,IAAI,MAAO,IAAIK,EAAkB,EAC9D,MAAME,GAAaF,GAAmB,KACtC,eAAQ,IAAI,CAACL,GAAY,uBAAuB,QAASP,EAA4B,CAAC,EAAE,KAAK,CAAC,CAACe,EAAcC,CAAqB,IAAM,OACtI,GAAIxG,EAAA,KAAK6E,GAAiB,CACxBqB,IACA,QAEFxC,EAAA,KAAK,SAAL,MAAAA,EAAa,KAAK,aAClB0C,GAAmB,mBAAmB,CACpC,aAAAG,EACA,sBAAAC,CACR,CAAO,EACDJ,GAAmB,oBAAmB,CAC5C,CAAK,EAAE,MAAMF,CAAQ,EACVI,EACR,CACD,gBAAgB,CACd,OAAApB,EAAS,UACT,eAAAI,EAAiB,MAAM,eAAe,OACtC,uBAAAK,EAAyB,IAC1B,EAAG,GAAI,OACN,SAASc,GAAsB,CACzBV,EAAY,aAAa,YAC3BA,EAAY,qBAAqB,QAAQA,EAAY,YAAY,EACjEA,EAAY,YAAY,OAAOW,EAAU,EAE5C,CACD,MAAMvB,EAAa,KAAK,WAAW,mBAAmBD,EAAQI,EAAgBK,EAAwB,EAAI,EAC1G,IAAII,EAAc,KAAK,cAAc,IAAIZ,EAAW,QAAQ,EACvDY,IACHA,EAAc,OAAO,OAAO,IAAI,EAChC,KAAK,cAAc,IAAIZ,EAAW,SAAUY,CAAW,GAEzD,IAAIW,GACJ,OAAKX,EAAY,uBACfW,GAAa,OAAO,OAAO,IAAI,EAC/BA,GAAW,oBAAsBD,EACjCV,EAAY,qBAAuB,IAAI,MAAM,mBAC5CA,EAAY,cAAZA,EAAY,YAAgB,IAAI,MAAO,IAAIW,EAAU,EACtDX,EAAY,aAAe,CACzB,QAAS,CAAE,EACX,UAAW,CAAE,EACb,UAAW,GACX,eAAgB,IACxB,GACMrC,EAAA,KAAK,SAAL,MAAAA,EAAa,KAAK,gBAClB,KAAK,kBAAkByB,CAAU,GAE5BY,EAAY,qBAAqB,OACzC,CACD,kBAAkB,CAChB,qBAAAY,EAAuB,GACvB,qBAAAC,EAAuB,EACxB,EAAG,GAAI,CAEN,OAAO,KAAK,WAAW,eAAe,eAAe,iBAAkB,CACrE,UAAW,KAAK,WAChB,qBAAsBD,IAAyB,GAC/C,qBAAsBC,IAAyB,EACrD,EAAO,CACD,cAAe,IACf,KAAKC,EAAa,CAChB,OAAOA,EAAY,MAAM,MAC1B,CACP,CAAK,CACF,CACD,eAAejR,EAAS,GAAI,CAC1B,GAAI,KAAK,WAAW,YAClB,OAAO,KAAK,SAAS,KAAKkR,GACjB,UAAU,QAAQ,YAAYA,CAAG,CACzC,EAEH,MAAMC,EAAiB,KAAK,kBAAkBnR,CAAM,EACpD,OAAO,IAAI,QAAQ,SAAU+J,EAASC,EAAQ,CAC5C,SAASoH,GAAO,CACdC,EAAO,OAAO,KAAK,SAAU,CAC3B,MAAAnN,EACA,KAAAoN,EACV,EAAW,CACD,GAAIA,GAAM,CACRvH,EAAQkH,EAAW,EACnB,OAEF,OAAO,OAAOA,GAAY,OAAQ/M,EAAM,MAAM,EAC9C+M,GAAY,MAAM,KAAK,GAAG/M,EAAM,KAAK,EACrCkN,GACD,EAAEpH,CAAM,CACV,CACD,MAAMqH,EAASF,EAAe,YACxBF,GAAc,CAClB,MAAO,CAAE,EACT,OAAQ,OAAO,OAAO,IAAI,CAClC,EACMG,GACN,CAAK,CACF,CACD,eAAgB,CACd,OAAO,KAAK,WAAW,cAAc,KAAK,UAAU,CACrD,CACD,UAAW,CACT,KAAK,UAAY,GACjB,MAAMG,EAAS,CAAA,EACf,UAAWpB,KAAe,KAAK,cAAc,OAAM,EAMjD,GALA,KAAK,mBAAmB,CACtB,YAAAA,EACA,OAAQ,IAAI,MAAM,qBAAqB,EACvC,MAAO,EACf,CAAO,EACG,CAAAA,EAAY,qBAGhB,UAAWK,KAAsBL,EAAY,YAC3CoB,EAAO,KAAKf,EAAmB,SAAS,EACxCA,EAAmB,OAAM,EAG7B,YAAK,KAAK,QACVtG,GAAA,KAAK+E,EAAkB,IACvBgB,EAAA,KAAKlB,EAAAmB,IAAL,WACO,QAAQ,IAAIqB,CAAM,CAC1B,CACD,QAAQC,EAAa,GAAO,CAC1BtH,GAAA,KAAK+E,EAAkB,IACvB,MAAMwC,EAAUxB,EAAA,KAAKnB,EAAA2B,IAAL,UAAiB,IACjC,OAAIe,GAAcC,GAChB,KAAK,SAAL,KAAK,OAAW,IAAI,eAAe,WAE9BA,CACR,CAgCD,iBAAiBd,EAAce,EAAU,SACvC,MAAMvB,EAAc,KAAK,cAAc,IAAIuB,CAAQ,EAC9CvB,KAGLrC,EAAA,KAAK,SAAL,MAAAA,EAAa,QAAQ,iBACrBkC,EAAAG,EAAY,yBAAZ,MAAAH,EAAoC,QAAQW,GAC7C,CACD,iBAAiBgB,EAAmBxB,EAAa,CAC/C,QAAS9K,EAAI,EAAGkE,EAAKoI,EAAkB,OAAQtM,EAAIkE,EAAIlE,IACrD8K,EAAY,aAAa,QAAQ,KAAKwB,EAAkB,QAAQtM,CAAC,CAAC,EAClE8K,EAAY,aAAa,UAAU,KAAKwB,EAAkB,UAAUtM,CAAC,CAAC,EAExE8K,EAAY,aAAa,UAAYwB,EAAkB,UACvDxB,EAAY,aAAa,eAAiBwB,EAAkB,eAC5D,UAAWnB,KAAsBL,EAAY,YAC3CK,EAAmB,oBAAmB,EAEpCmB,EAAkB,WACpB1B,EAAA,KAAKnB,EAAA2B,IAAL,UAAiB,GAEpB,CACD,kBAAkB,CAChB,gBAAAmB,EACA,SAAAF,EACA,qBAAAG,CACJ,EAAK,CAOD,MAAMR,EANiB,KAAK,WAAW,eAAe,eAAe,kBAAmB,CACtF,UAAW,KAAK,WAChB,OAAQO,EACR,SAAAF,EACA,kBAAmBG,CACzB,CAAK,EAC6B,YACxB1B,EAAc,KAAK,cAAc,IAAIuB,CAAQ,EACnDvB,EAAY,aAAekB,EAC3B,MAAMD,GAAO,IAAM,CACjBC,EAAO,OAAO,KAAK,CAAC,CAClB,MAAAnN,EACA,KAAAoN,EACR,IAAY,CACJ,GAAIA,GAAM,CACRnB,EAAY,aAAe,KAC3B,OAEE,KAAK,WAAW,YAGpB,KAAK,iBAAiBjM,EAAOiM,CAAW,EACxCiB,KACD,EAAEjH,GAAU,CAEX,GADAgG,EAAY,aAAe,KACvB,MAAK,WAAW,UAGpB,IAAIA,EAAY,aAAc,CAC5BA,EAAY,aAAa,UAAY,GACrC,UAAWK,MAAsBL,EAAY,YAC3CK,GAAmB,oBAAmB,EAExCP,EAAA,KAAKnB,EAAA2B,IAAL,UAAiB,IAEnB,GAAIN,EAAY,uBACdA,EAAY,uBAAuB,OAAOhG,CAAM,UACvCgG,EAAY,qBACrBA,EAAY,qBAAqB,OAAOhG,CAAM,MAE9C,OAAMA,EAEhB,CAAO,CACP,EACIiH,IACD,CACD,mBAAmB,CACjB,YAAAjB,EACA,OAAAhG,EACA,MAAA2H,EAAQ,EACZ,EAAK,CACD,GAAK3B,EAAY,aAOjB,IAJIA,EAAY,4BACd,aAAaA,EAAY,yBAAyB,EAClDA,EAAY,0BAA4B,MAEtC,CAAC2B,EAAO,CACV,GAAI3B,EAAY,YAAY,KAAO,EACjC,OAEF,GAAIhG,aAAkB,eAAe,4BAA6B,CAChE,IAAI4H,EAAQ,4BACR5H,EAAO,WAAa,GAAKA,EAAO,WAAa,MAC/C4H,GAAS5H,EAAO,YAElBgG,EAAY,0BAA4B,WAAW,IAAM,CACvDA,EAAY,0BAA4B,KACxC,KAAK,mBAAmB,CACtB,YAAAA,EACA,OAAAhG,EACA,MAAO,EACnB,CAAW,CACF,EAAE4H,CAAK,EACR,QAKJ,GAFA5B,EAAY,aAAa,OAAO,IAAI,MAAM,eAAehG,EAAO,OAAO,CAAC,EAAE,MAAM,IAAM,CAAE,CAAA,EACxFgG,EAAY,aAAe,KACvB,MAAK,WAAW,UAGpB,UAAW,CAAC6B,EAAaC,CAAc,IAAK,KAAK,cAC/C,GAAIA,IAAmB9B,EAAa,CAClC,KAAK,cAAc,OAAO6B,CAAW,EACrC,MAGJ,KAAK,QAAO,GACb,CACD,IAAI,OAAQ,CACV,OAAO,KAAK,MACb,CACF,CAraChD,EAAA,YACAC,EAAA,YA4QAH,EAAA,YAAA2B,GAAW,SAACyB,EAAU,GAAO,CAE3B,GADAjC,EAAA,KAAKlB,EAAAmB,IAAL,WACI,CAAC9F,EAAA,KAAK6E,GACR,MAAO,GAET,GAAIiD,EACF,OAAAhI,GAAA,KAAK8E,EAAyB,WAAW,IAAM,CAC7C9E,GAAA,KAAK8E,EAAyB,MAC9BiB,EAAA,KAAKnB,EAAA2B,IAAL,UAAiB,GAClB,EAAE,uBAAuB,GACnB,GAET,SAAW,CACT,YAAA0B,EACA,aAAAC,CACN,IAAS,KAAK,cAAc,SACtB,GAAID,EAAY,KAAO,GAAK,CAACC,EAAa,UACxC,MAAO,GAGX,YAAK,cAAc,QACnB,KAAK,KAAK,QACVlI,GAAA,KAAK+E,EAAkB,IAChB,EACR,EACDF,EAAA,YAAAmB,GAAoB,UAAG,CACjB9F,EAAA,KAAK4E,KACP,aAAa5E,EAAA,KAAK4E,EAAsB,EACxC9E,GAAA,KAAK8E,EAAyB,MAEjC,EA2HH,QAAQ,aAAe,aACvB,MAAM,YAAa,CAAnB,cACEnF,EAAA,KAAAwI,EAAa,IAAI,KACjBxI,EAAA,KAAAyI,EAAY,QAAQ,WACpB,YAAYtO,EAAKuO,EAAU,CACzB,MAAMC,EAAQ,CACZ,KAAM,gBAAgBxO,EAAKuO,EAAW,CACpC,SAAAA,CACD,EAAG,IAAI,CACd,EACInI,EAAA,KAAKkI,GAAU,KAAK,IAAM,CACxB,UAAWpE,KAAY9D,EAAA,KAAKiI,GAC1BnE,EAAS,KAAK,KAAMsE,CAAK,CAEjC,CAAK,CACF,CACD,iBAAiBlO,EAAM4J,EAAU,CAC/B9D,EAAA,KAAKiI,GAAW,IAAInE,CAAQ,CAC7B,CACD,oBAAoB5J,EAAM4J,EAAU,CAClC9D,EAAA,KAAKiI,GAAW,OAAOnE,CAAQ,CAChC,CACD,WAAY,CACV9D,EAAA,KAAKiI,GAAW,OACjB,CACF,CAvBCA,EAAA,YACAC,EAAA,YAuBF,QAAQ,aAAe,aACvB,MAAM,cAAgB,CACpB,iBAAkB,GAClB,kBAAmB,KACnB,aAAc,CAChB,EACA,QAAQ,cAAgB,cACxB,CACE,GAAI,SAAS,UAAY,OAAOG,iBAAY,WAC1C,cAAc,iBAAmB,GACjC,cAAc,kBAAoB,0BACzB,OAAO,UAAa,SAAU,CACvC,MAAMC,GAAgB5E,EAAA,+BAAU,gBAAV,YAAAA,EAAyB,IAC3C4E,IACF,cAAc,kBAAoBA,EAAc,QAAQ,4BAA6B,aAAa,GAGtG,cAAc,aAAe,SAAU9O,EAAS+O,EAAU,CACxD,IAAIC,EACJ,GAAI,CAEF,GADAA,EAAO,IAAI,IAAIhP,CAAO,EAClB,CAACgP,EAAK,QAAUA,EAAK,SAAW,OAClC,MAAO,EAEV,MAAC,CACA,MAAO,EACR,CACD,MAAMC,EAAQ,IAAI,IAAIF,EAAUC,CAAI,EACpC,OAAOA,EAAK,SAAWC,EAAM,MACjC,EACE,cAAc,iBAAmB,SAAU9S,EAAK,CAC9C,MAAM+S,EAAU,kBAAkB/S,OAClC,OAAO,IAAI,gBAAgB,IAAI,KAAK,CAAC+S,CAAO,CAAC,CAAC,CAClD,CACC,CACD,MAAM,WAAN,KAAgB,CAEd,YAAY,CACV,KAAAxO,EAAO,KACP,KAAAyO,EAAO,KACP,UAAAxP,KAAgB,MAAM,mBAAoB,CAC3C,EAAG,GAAI,CACN,GAAIwP,GAAQ3I,EAAA,WAAU4I,GAAa,IAAID,CAAI,EACzC,MAAM,IAAI,MAAM,8CAA8C,EAShE,GAPA,KAAK,KAAOzO,EACZ,KAAK,UAAY,GACjB,KAAK,UAAYf,EACjB,KAAK,iBAAmB,IAAI,MAAM,kBAClC,KAAK,MAAQ,KACb,KAAK,WAAa,KAClB,KAAK,gBAAkB,KACnBwP,EAAM,CACR3I,EAAA,WAAU4I,GAAa,IAAID,EAAM,IAAI,EACrC,KAAK,oBAAoBA,CAAI,EAC7B,OAEF,KAAK,YAAW,CACjB,CACD,IAAI,SAAU,CACZ,OAAO,KAAK,iBAAiB,OAC9B,CACD,IAAI,MAAO,CACT,OAAO,KAAK,KACb,CACD,IAAI,gBAAiB,CACnB,OAAO,KAAK,eACb,CACD,oBAAoBA,EAAM,CACxB,KAAK,MAAQA,EACb,KAAK,gBAAkB,IAAI,iBAAiB,eAAe,OAAQ,SAAUA,CAAI,EACjF,KAAK,gBAAgB,GAAG,QAAS,UAAY,CAAE,CAAA,EAC/C,KAAK,iBAAiB,UACtB,KAAK,gBAAgB,KAAK,YAAa,CACrC,UAAW,KAAK,SACtB,CAAK,CACF,CACD,aAAc,CACZ,GAAI,CAAC,cAAc,kBAAoB,CAAC,WAAU,gCAAiC,CACjF,GAAI,CACF,UAAAE,CACD,EAAG,WACJ,GAAI,CACG,cAAc,aAAa,OAAO,SAAS,KAAMA,CAAS,IAC7DA,EAAY,cAAc,iBAAiB,IAAI,IAAIA,EAAW,OAAO,QAAQ,EAAE,IAAI,GAErF,MAAM1H,EAAS,IAAI,OAAO0H,CAAS,EAC7B1F,EAAiB,IAAI,iBAAiB,eAAe,OAAQ,SAAUhC,CAAM,EAC7E2H,EAAiB,IAAM,CAC3B3H,EAAO,oBAAoB,QAAS4H,CAAa,EACjD5F,EAAe,QAAO,EACtBhC,EAAO,UAAS,EACZ,KAAK,UACP,KAAK,iBAAiB,OAAO,IAAI,MAAM,sBAAsB,CAAC,EAE9D,KAAK,iBAAgB,CAEjC,EACc4H,EAAgB,IAAM,CACrB,KAAK,YACRD,GAEZ,EACQ3H,EAAO,iBAAiB,QAAS4H,CAAa,EAC9C5F,EAAe,GAAG,OAAQtD,GAAQ,CAEhC,GADAsB,EAAO,oBAAoB,QAAS4H,CAAa,EAC7C,KAAK,UAAW,CAClBD,IACA,OAEEjJ,GACF,KAAK,gBAAkBsD,EACvB,KAAK,MAAQhC,EACb,KAAK,WAAaA,EAClB,KAAK,iBAAiB,UACtBgC,EAAe,KAAK,YAAa,CAC/B,UAAW,KAAK,SAC9B,CAAa,IAED,KAAK,iBAAgB,EACrBA,EAAe,QAAO,EACtBhC,EAAO,UAAS,EAE5B,CAAS,EACDgC,EAAe,GAAG,QAAStD,GAAQ,CAEjC,GADAsB,EAAO,oBAAoB,QAAS4H,CAAa,EAC7C,KAAK,UAAW,CAClBD,IACA,OAEF,GAAI,CACFE,GACD,MAAC,CACA,KAAK,iBAAgB,CACtB,CACX,CAAS,EACD,MAAMA,EAAW,IAAM,CACrB,MAAMC,EAAU,IAAI,WACpB9F,EAAe,KAAK,OAAQ8F,EAAS,CAACA,EAAQ,MAAM,CAAC,CAC/D,EACQD,IACA,MACD,MAAC,IACI,MAAM,MAAM,+BAA+B,CAChD,EAEH,KAAK,iBAAgB,CACtB,CACD,kBAAmB,CACZ,cAAc,sBACb,MAAM,MAAM,yBAAyB,EACzC,cAAc,iBAAmB,IAEnC,WAAU,uBAAuB,KAAKE,GAAwB,CAC5D,GAAI,KAAK,UAAW,CAClB,KAAK,iBAAiB,OAAO,IAAI,MAAM,sBAAsB,CAAC,EAC9D,OAEF,MAAMP,EAAO,IAAI,aACjB,KAAK,MAAQA,EACb,MAAMrE,EAAK,OAAO,cAAc,iBAC1B6E,EAAgB,IAAI,iBAAiB,eAAe7E,EAAK,UAAWA,EAAIqE,CAAI,EAClFO,EAAqB,MAAMC,EAAeR,CAAI,EAC9C,MAAMxF,EAAiB,IAAI,iBAAiB,eAAemB,EAAIA,EAAK,UAAWqE,CAAI,EACnF,KAAK,gBAAkBxF,EACvB,KAAK,iBAAiB,UACtBA,EAAe,KAAK,YAAa,CAC/B,UAAW,KAAK,SACxB,CAAO,CACP,CAAK,EAAE,MAAMpD,GAAU,CACjB,KAAK,iBAAiB,OAAO,IAAI,MAAM,mCAAmCA,EAAO,WAAW,CAAC,CACnG,CAAK,CACF,CACD,SAAU,CACR,KAAK,UAAY,GACb,KAAK,aACP,KAAK,WAAW,YAChB,KAAK,WAAa,MAEpBC,EAAA,WAAU4I,GAAa,OAAO,KAAK,KAAK,EACxC,KAAK,MAAQ,KACT,KAAK,kBACP,KAAK,gBAAgB,UACrB,KAAK,gBAAkB,KAE1B,CACD,OAAO,SAAShT,EAAQ,CACtB,GAAI,EAACA,GAAA,MAAAA,EAAQ,MACX,MAAM,IAAI,MAAM,gDAAgD,EAElE,OAAIoK,EAAA,KAAK4I,GAAa,IAAIhT,EAAO,IAAI,EAC5BoK,EAAA,KAAK4I,GAAa,IAAIhT,EAAO,IAAI,EAEnC,IAAI,WAAUA,CAAM,CAC5B,CACD,WAAW,WAAY,CACrB,GAAI,gBAAgB,oBAAoB,UACtC,OAAO,gBAAgB,oBAAoB,UAE7C,GAAI,cAAc,oBAAsB,KACtC,OAAK,SAAS,aACR,eAAe,YAAY,+CAA+C,EAEzE,cAAc,kBAEvB,MAAM,IAAI,MAAM,+CAA+C,CAChE,CACD,WAAW,iCAAkC,OAC3C,GAAI,CACF,QAAO8N,EAAA,WAAW,cAAX,YAAAA,EAAwB,uBAAwB,IACxD,MAAC,CACA,OAAO,IACR,CACF,CACD,WAAW,wBAAyB,CAClC,MAAM,OAAS,SAAY,CACzB,MAAM,yBAA2B,KAAK,gCACtC,GAAI,yBACF,OAAO,yBAET,GAAI,SAAS,UAAY,OAAO2E,iBAAY,WAAY,CACtD,MAAM,OAAS,KAAK,SAAS,EAAE,KAAK,SAAS,EAC7C,OAAO,OAAO,qBAEhB,eAAU,eAAe,YAAY,KAAK,SAAS,EAC5C,OAAO,YAAY,oBAChC,EACI,SAAW,MAAM,QAAQ,KAAM,yBAA0B,OAAM,CAAE,CAClE,CACF,EAlMD,IAAM,UAAN,WACSO,EAAA,YAAPnJ,EADI,UACGmJ,EAAe,IAAI,SAkM5B,QAAQ,UAAY,UACpB,MAAM,eAAgB,CAIpB,YAAYzF,EAAgBiG,EAAanG,EAAerN,EAAQG,EAAS,CAsBzE0J,EAAA,KAAA4J,GAzBA5J,EAAA,KAAA6J,EAAkB,IAAI,KACtB7J,EAAA,KAAA8J,EAAa,IAAI,KACjB9J,EAAA,KAAA+J,EAAgB,IAAI,KAElB,KAAK,eAAiBrG,EACtB,KAAK,YAAciG,EACnB,KAAK,WAAa,IAAI,WACtB,KAAK,WAAa,IAAI,aAAa,WAAW,CAC5C,cAAexT,EAAO,cACtB,aAAcA,EAAO,YAC3B,CAAK,EACD,KAAK,QAAUA,EACf,KAAK,cAAgBG,EAAQ,cAC7B,KAAK,cAAgBA,EAAQ,cAC7B,KAAK,kBAAoBA,EAAQ,kBACjC,KAAK,wBAA0BA,EAAQ,wBACvC,KAAK,UAAY,GACjB,KAAK,kBAAoB,KACzB,KAAK,oBAAsB,KAC3B,KAAK,eAAiBkN,EACtB,KAAK,YAAc,KACnB,KAAK,cAAgB,KACrB,KAAK,uBAAyB,IAAI,MAAM,kBACxC,KAAK,oBAAmB,CACzB,CAUD,IAAI,mBAAoB,CACtB,SAAW,MAAM,QAAQ,KAAM,oBAAqB,IAAI,oBAAoB,iBAAmB,CAChG,CACD,mBAAmBiC,EAAQI,EAAiB,MAAM,eAAe,OAAQK,EAAyB,KAAM8D,EAAW,GAAO,CACxH,IAAIjC,EAAkB,MAAM,oBAAoB,QAC5CkC,EAAgB,KACpB,OAAQxE,EAAM,CACZ,IAAK,MACHsC,EAAkB,MAAM,oBAAoB,IAC5C,MACF,IAAK,UACH,MACF,IAAK,QACHA,EAAkB,MAAM,oBAAoB,MAC5C,MACF,WACM,MAAM,MAAM,wCAAwCtC,GAAQ,CACnE,CACD,OAAQI,EAAc,CACpB,KAAK,MAAM,eAAe,QACxBkC,GAAmB,MAAM,oBAAoB,oBAC7C,MACF,KAAK,MAAM,eAAe,OACxB,MACF,KAAK,MAAM,eAAe,aACxBA,GAAmB,MAAM,oBAAoB,kBAC7C,MACF,KAAK,MAAM,eAAe,eACxBA,GAAmB,MAAM,oBAAoB,oBAE7CkC,GAD0BlC,EAAkB,MAAM,oBAAoB,OAAS7B,aAAkC,oBAAoB,uBAAyBA,EAAyB,KAAK,mBAC1J,aAClC,MACF,WACM,MAAM,MAAM,gDAAgDL,GAAgB,CACnF,CACD,OAAImE,IACFjC,GAAmB,MAAM,oBAAoB,QAExC,CACL,gBAAAA,EACA,SAAU,GAAGA,KAAmB,oBAAoB,kBAAkB,QAAQkC,CAAa,IAC3F,qBAAsBA,CAC5B,CACG,CACD,SAAU,CACR,GAAI,KAAK,kBACP,OAAO,KAAK,kBAAkB,QAEhC,KAAK,UAAY,GACjB,KAAK,kBAAoB,IAAI,MAAM,kBAC/B,KAAK,qBACP,KAAK,oBAAoB,OAAO,IAAI,MAAM,iDAAiD,CAAC,EAE9F,MAAMvC,EAAS,CAAA,EACf,UAAWwC,KAAQ3J,EAAA,KAAKuJ,GAAW,OAAM,EACvCpC,EAAO,KAAKwC,EAAK,SAAU,CAAA,EAE7B3J,EAAA,KAAKuJ,GAAW,QAChBvJ,EAAA,KAAKwJ,GAAc,QACf,KAAK,eAAe,mBAAmB,GACzC,KAAK,kBAAkB,gBAEzB,MAAMI,EAAa,KAAK,eAAe,gBAAgB,YAAa,IAAI,EACxE,OAAAzC,EAAO,KAAKyC,CAAU,EACtB,QAAQ,IAAIzC,CAAM,EAAE,KAAK,IAAM,CAC7B,KAAK,WAAW,QAChB,KAAK,WAAW,QAChBnH,EAAA,KAAKsJ,GAAgB,QACrB,KAAK,cAAc,UACf,KAAK,gBACP,KAAK,eAAe,kBAAkB,IAAI,MAAM,eAAe,wBAAwB,CAAC,EAEtF,KAAK,iBACP,KAAK,eAAe,UACpB,KAAK,eAAiB,MAExB,KAAK,kBAAkB,SAC7B,EAAO,KAAK,kBAAkB,MAAM,EACzB,KAAK,kBAAkB,OAC/B,CACD,qBAAsB,CACpB,KAAM,CACJ,eAAAnG,EACA,YAAAiG,CACD,EAAG,KACJjG,EAAe,GAAG,YAAa,CAACtD,EAAMgK,IAAS,IACzC,MAAM,QAAQ,KAAK,eAAgB,iDAAiD,EACxF,KAAK,YAAc,KAAK,eAAe,cAAa,EACpD,KAAK,YAAY,WAAaC,GAAO,CACnC,KAAK,cAAgB,CACnB,OAAQA,EAAI,OACZ,MAAOA,EAAI,KACrB,CACA,EACMD,EAAK,OAAS,IAAM,CAClB,KAAK,YAAY,KAAM,EAAC,KAAK,SAAU,CACrC,MAAA/P,EACA,KAAAoN,CACV,EAAW,CACD,GAAIA,EAAM,CACR2C,EAAK,MAAK,EACV,UAEE,MAAM,QAAQ/P,aAAiB,YAAa,sCAAsC,EACtF+P,EAAK,QAAQ,IAAI,WAAW/P,CAAK,EAAG,EAAG,CAACA,CAAK,CAAC,CACxD,CAAS,EAAE,MAAMiG,GAAU,CACjB8J,EAAK,MAAM9J,CAAM,CAC3B,CAAS,CACT,EACM8J,EAAK,SAAW9J,GAAU,CACxB,KAAK,YAAY,OAAOA,CAAM,EAC9B8J,EAAK,MAAM,MAAME,GAAe,CAC9B,GAAI,MAAK,UAGT,MAAMA,CAChB,CAAS,CACT,CACA,CAAK,EACD5G,EAAe,GAAG,qBAAsBtD,GAAQ,CAC9C,MAAMmK,EAAoB,IAAI,MAAM,kBAC9BC,EAAa,KAAK,YACxB,OAAAA,EAAW,aAAa,KAAK,IAAM,QAC7B,CAACA,EAAW,sBAAwB,CAACA,EAAW,oBAC9C,KAAK,iBACPvG,EAAA0F,EAAY,aAAZ,MAAA1F,EAAA,KAAA0F,EAAyB,KAAK,gBAEhCa,EAAW,WAAaH,IAAO,QAC7BpG,EAAA0F,EAAY,aAAZ,MAAA1F,EAAA,KAAA0F,EAAyB,CACvB,OAAQU,GAAI,OACZ,MAAOA,GAAI,KACzB,EACA,GAEQE,EAAkB,QAAQ,CACxB,qBAAsBC,EAAW,qBACjC,iBAAkBA,EAAW,iBAC7B,cAAeA,EAAW,aACpC,CAAS,CACT,EAASD,EAAkB,MAAM,EACpBA,EAAkB,OAC/B,CAAK,EACD7G,EAAe,GAAG,iBAAkB,CAACtD,EAAMgK,IAAS,IAC9C,MAAM,QAAQ,KAAK,eAAgB,sDAAsD,EAC7F,MAAMK,EAAc,KAAK,eAAe,eAAerK,EAAK,MAAOA,EAAK,GAAG,EAC3E,GAAI,CAACqK,EAAa,CAChBL,EAAK,MAAK,EACV,OAEFA,EAAK,OAAS,IAAM,CAClBK,EAAY,OAAO,KAAK,SAAU,CAChC,MAAApQ,EACA,KAAAoN,EACV,EAAW,CACD,GAAIA,GAAM,CACR2C,EAAK,MAAK,EACV,UAEE,MAAM,QAAQ/P,aAAiB,YAAa,2CAA2C,EAC3F+P,EAAK,QAAQ,IAAI,WAAW/P,CAAK,EAAG,EAAG,CAACA,CAAK,CAAC,CACxD,CAAS,EAAE,MAAMiG,GAAU,CACjB8J,EAAK,MAAM9J,CAAM,CAC3B,CAAS,CACT,EACM8J,EAAK,SAAW9J,GAAU,CACxBmK,EAAY,OAAOnK,CAAM,EACzB8J,EAAK,MAAM,MAAME,IAAe,CAC9B,GAAI,MAAK,UAGT,MAAMA,EAChB,CAAS,CACT,CACA,CAAK,EACD5G,EAAe,GAAG,SAAU,CAAC,CAC3B,QAAAgB,CACN,IAAU,CACJ,KAAK,UAAYA,EAAQ,SACzB,KAAK,YAAcA,EAAQ,WAC3B,OAAOA,EAAQ,WACfiF,EAAY,YAAY,QAAQ,IAAI,iBAAiBjF,EAAS,IAAI,CAAC,CACzE,CAAK,EACDhB,EAAe,GAAG,eAAgB,SAAUjE,EAAI,CAC9C,IAAIa,EACJ,OAAQb,EAAG,KAAI,CACb,IAAK,oBACHa,EAAS,IAAI,MAAM,kBAAkBb,EAAG,QAASA,EAAG,IAAI,EACxD,MACF,IAAK,sBACHa,EAAS,IAAI,MAAM,oBAAoBb,EAAG,OAAO,EACjD,MACF,IAAK,sBACHa,EAAS,IAAI,MAAM,oBAAoBb,EAAG,OAAO,EACjD,MACF,IAAK,8BACHa,EAAS,IAAI,MAAM,4BAA4Bb,EAAG,QAASA,EAAG,MAAM,EACpE,MACF,IAAK,wBACHa,EAAS,IAAI,MAAM,sBAAsBb,EAAG,QAASA,EAAG,OAAO,EAC/D,MACF,WACM,MAAM,aAAa,wCAAwC,CAClE,CACDkK,EAAY,YAAY,OAAOrJ,CAAM,CAC3C,CAAK,EACDoD,EAAe,GAAG,kBAAmBgH,GAAa,CAEhD,GADA,KAAK,oBAAsB,IAAI,MAAM,kBACjCf,EAAY,WAAY,CAC1B,MAAMgB,EAAiBpJ,GAAY,CAC7BA,aAAoB,MACtB,KAAK,oBAAoB,OAAOA,CAAQ,EAExC,KAAK,oBAAoB,QAAQ,CAC/B,SAAAA,CACd,CAAa,CAEb,EACQ,GAAI,CACFoI,EAAY,WAAWgB,EAAgBD,EAAU,IAAI,CACtD,OAAQjL,EAAP,CACA,KAAK,oBAAoB,OAAOA,CAAE,CACnC,OAED,KAAK,oBAAoB,OAAO,IAAI,MAAM,kBAAkBiL,EAAU,QAASA,EAAU,IAAI,CAAC,EAEhG,OAAO,KAAK,oBAAoB,OACtC,CAAK,EACDhH,EAAe,GAAG,aAActD,GAAQ,QACtC6D,EAAA0F,EAAY,aAAZ,MAAA1F,EAAA,KAAA0F,EAAyB,CACvB,OAAQvJ,EAAK,OACb,MAAOA,EAAK,MACpB,GACM,KAAK,uBAAuB,QAAQA,CAAI,CAC9C,CAAK,EACDsD,EAAe,GAAG,kBAAmBtD,GAAQ,CAC3C,GAAI,KAAK,UACP,OAEWG,EAAA,KAAKuJ,GAAW,IAAI1J,EAAK,SAAS,EAC1C,iBAAiBA,EAAK,aAAcA,EAAK,QAAQ,CAC5D,CAAK,EACDsD,EAAe,GAAG,YAAa,CAAC,CAACmB,EAAI+F,EAAMC,CAAY,IAAM,OAC3D,GAAI,MAAK,WAGL,MAAK,WAAW,IAAIhG,CAAE,EAG1B,OAAQ+F,EAAI,CACV,IAAK,OACH,MAAMzU,GAAS,KAAK,QACpB,GAAI,UAAW0U,EAAc,CAC3B,MAAMC,GAAgBD,EAAa,SAC/B,MAAM,MAAM,8BAA8BC,IAAe,EAC7D,KAAK,WAAW,QAAQjG,EAAIiG,EAAa,EACzC,MAEF,MAAMC,EAAc5U,GAAO,UAAU8N,EAAA,WAAW,gBAAX,MAAAA,EAA0B,SAAU,CAAC+G,GAAM9U,KAAQ,WAAW,cAAc,UAAU8U,GAAM9U,EAAG,EAAI,KAClI8U,GAAO,IAAI,aAAa,eAAeH,EAAc,CACzD,gBAAiB1U,GAAO,gBACxB,gBAAiBA,GAAO,gBACxB,aAAcA,GAAO,aACrB,YAAA4U,CACZ,CAAW,EACD,KAAK,WAAW,KAAKC,EAAI,EAAE,MAAM1K,IACxBoD,EAAe,gBAAgB,eAAgB,CACpD,GAAAmB,CACd,CAAa,CACF,EAAE,QAAQ,IAAM,CACX,CAAC1O,GAAO,qBAAuB6U,GAAK,OACtCA,GAAK,KAAO,MAEd,KAAK,WAAW,QAAQnG,EAAImG,EAAI,CAC5C,CAAW,EACD,MACF,IAAK,WACL,IAAK,QACL,IAAK,UACH,KAAK,WAAW,QAAQnG,EAAIgG,CAAY,EACxC,MACF,QACE,MAAM,IAAI,MAAM,kCAAkCD,GAAM,CAC3D,CACP,CAAK,EACDlH,EAAe,GAAG,MAAO,CAAC,CAACmB,EAAIE,EAAW6F,EAAMK,CAAS,IAAM,OAC7D,GAAI,KAAK,UACP,OAEF,MAAMC,GAAY3K,EAAA,KAAKuJ,GAAW,IAAI/E,CAAS,EAC/C,GAAI,CAAAmG,GAAU,KAAK,IAAIrG,CAAE,EAGzB,OAAQ+F,EAAI,CACV,IAAK,QAEH,GADAM,GAAU,KAAK,QAAQrG,EAAIoG,CAAS,EAChCA,EAAW,CACb,IAAI5P,GACJ,GAAI4P,EAAU,OAAQ,CACpB,KAAM,CACJ,MAAAE,GACA,OAAAC,EACD,EAAGH,EACJ5P,GAAS8P,GAAQC,GAAS,OAE1B/P,KAAS4I,EAAAgH,EAAU,OAAV,YAAAhH,EAAgB,SAAU,EAEjC5I,GAAS,MAAM,0BACjB6P,GAAU,yBAA2B,IAGzC,MACF,IAAK,UACHA,GAAU,KAAK,QAAQrG,EAAIoG,CAAS,EACpC,MACF,QACE,MAAM,IAAI,MAAM,2BAA2BL,GAAM,CACpD,CACP,CAAK,EACDlH,EAAe,GAAG,cAAetD,GAAQ,OACnC,KAAK,YAGT6D,EAAA0F,EAAY,aAAZ,MAAA1F,EAAA,KAAA0F,EAAyB,CACvB,OAAQvJ,EAAK,OACb,MAAOA,EAAK,KACpB,EACA,CAAK,EACDsD,EAAe,GAAG,mBAAoBtD,GAChC,KAAK,UACA,QAAQ,OAAO,IAAI,MAAM,uBAAuB,CAAC,EAErD,KAAK,kBAGH,KAAK,kBAAkB,MAAMA,CAAI,EAF/B,QAAQ,OAAO,IAAI,MAAM,wEAAwE,CAAC,CAG5G,EACDsD,EAAe,GAAG,wBAAyBtD,GACrC,KAAK,UACA,QAAQ,OAAO,IAAI,MAAM,uBAAuB,CAAC,EAErD,KAAK,wBAGH,KAAK,wBAAwB,MAAMA,CAAI,EAFrC,QAAQ,OAAO,IAAI,MAAM,8EAA8E,CAAC,CAGlH,CACF,CACD,SAAU,CACR,OAAO,KAAK,eAAe,gBAAgB,UAAW,IAAI,CAC3D,CACD,cAAe,OACb,OAAI,KAAK,kBAAkB,MAAQ,MAC7B,MAAM,MAAM,gGAAqG,EAEhH,KAAK,eAAe,gBAAgB,eAAgB,CACzD,UAAW,CAAC,CAAC,KAAK,YAClB,SAAU,KAAK,UACf,kBAAmB,KAAK,kBAAkB,aAC1C,WAAU6D,EAAA,KAAK,cAAL,YAAAA,EAAkB,WAAY,IAC9C,CAAK,EAAE,QAAQ,IAAM,CACf,KAAK,kBAAkB,eAC7B,CAAK,CACF,CACD,QAAQU,EAAY,CAClB,GAAI,CAAC,OAAO,UAAUA,CAAU,GAAKA,GAAc,GAAKA,EAAa,KAAK,UACxE,OAAO,QAAQ,OAAO,IAAI,MAAM,uBAAuB,CAAC,EAE1D,MAAMI,EAAYJ,EAAa,EAC7B0G,EAAgB9K,EAAA,KAAKwJ,GAAc,IAAIhF,CAAS,EAClD,GAAIsG,EACF,OAAOA,EAET,MAAMC,EAAU,KAAK,eAAe,gBAAgB,UAAW,CAC7D,UAAAvG,CACN,CAAK,EAAE,KAAKC,GAAY,CAClB,GAAI,KAAK,UACP,MAAM,IAAI,MAAM,qBAAqB,EAEvC,MAAMkF,EAAO,IAAI,aAAanF,EAAWC,EAAU,KAAM,KAAK,QAAQ,MAAM,EAC5E,OAAAzE,EAAA,KAAKuJ,GAAW,IAAI/E,EAAWmF,CAAI,EAC5BA,CACb,CAAK,EACD,OAAA3J,EAAA,KAAKwJ,GAAc,IAAIhF,EAAWuG,CAAO,EAClCA,CACR,CACD,aAAa1G,EAAK,CAChB,OAAI,OAAOA,GAAQ,UAAYA,IAAQ,MAAQ,CAAC,OAAO,UAAUA,EAAI,GAAG,GAAKA,EAAI,IAAM,GAAK,CAAC,OAAO,UAAUA,EAAI,GAAG,GAAKA,EAAI,IAAM,EAC3H,QAAQ,OAAO,IAAI,MAAM,4BAA4B,CAAC,EAExD,KAAK,eAAe,gBAAgB,eAAgB,CACzD,IAAKA,EAAI,IACT,IAAKA,EAAI,GACf,CAAK,CACF,CACD,eAAeG,EAAWU,EAAQ,CAChC,OAAO,KAAK,eAAe,gBAAgB,iBAAkB,CAC3D,UAAAV,EACA,OAAAU,CACN,CAAK,CACF,CACD,iBAAkB,CAChB,OAAOW,EAAA,KAAKwD,EAAA2B,IAAL,UAAwB,kBAChC,CACD,cAAe,CACb,OAAOnF,EAAA,KAAKwD,EAAA2B,IAAL,UAAwB,eAChC,CACD,wBAAyB,CACvB,OAAO,KAAK,eAAe,gBAAgB,yBAA0B,IAAI,CAC1E,CACD,iBAAkB,CAChB,OAAO,KAAK,eAAe,gBAAgB,kBAAmB,IAAI,CACnE,CACD,eAAe1G,EAAI,CACjB,OAAI,OAAOA,GAAO,SACT,QAAQ,OAAO,IAAI,MAAM,8BAA8B,CAAC,EAE1D,KAAK,eAAe,gBAAgB,iBAAkB,CAC3D,GAAAA,CACN,CAAK,CACF,CACD,eAAgB,CACd,OAAO,KAAK,eAAe,gBAAgB,gBAAiB,IAAI,CACjE,CACD,eAAgB,CACd,OAAO,KAAK,eAAe,gBAAgB,gBAAiB,IAAI,CACjE,CACD,aAAc,CACZ,OAAO,KAAK,eAAe,gBAAgB,cAAe,IAAI,CAC/D,CACD,sBAAuB,CACrB,OAAO,KAAK,eAAe,gBAAgB,uBAAwB,IAAI,CACxE,CACD,eAAgB,CACd,OAAO,KAAK,eAAe,gBAAgB,gBAAiB,IAAI,CACjE,CACD,gBAAiB,CACf,OAAO,KAAK,eAAe,gBAAgB,iBAAkB,IAAI,CAClE,CACD,eAAgB,CACd,OAAO,KAAK,eAAe,gBAAgB,gBAAiB,IAAI,CACjE,CACD,iBAAkB,CAChB,OAAO,KAAK,eAAe,gBAAgB,kBAAmB,IAAI,CACnE,CACD,iBAAiBE,EAAW,CAC1B,OAAO,KAAK,eAAe,gBAAgB,mBAAoB,CAC7D,UAAAA,CACN,CAAK,CACF,CACD,cAAcA,EAAW,CACvB,OAAO,KAAK,eAAe,gBAAgB,gBAAiB,CAC1D,UAAAA,CACN,CAAK,CACF,CACD,YAAa,CACX,OAAO,KAAK,eAAe,gBAAgB,aAAc,IAAI,CAC9D,CACD,0BAA2B,CACzB,OAAO,KAAK,eAAe,gBAAgB,2BAA4B,IAAI,EAAE,KAAKyG,GACzE,IAAI,yBAAyB,sBAAsBA,CAAO,CAClE,CACF,CACD,gBAAiB,CACf,OAAO,KAAK,eAAe,gBAAgB,iBAAkB,IAAI,CAClE,CACD,aAAc,CACZ,MAAM/Q,EAAO,cACX4Q,EAAgB9K,EAAA,KAAKsJ,GAAgB,IAAIpP,CAAI,EAC/C,GAAI4Q,EACF,OAAOA,EAET,MAAMC,EAAU,KAAK,eAAe,gBAAgB7Q,EAAM,IAAI,EAAE,KAAK+Q,GAAW,SAC9E,MAAO,CACL,KAAMA,EAAQ,CAAC,EACf,SAAUA,EAAQ,CAAC,EAAI,IAAI,UAAU,SAASA,EAAQ,CAAC,CAAC,EAAI,KAC5D,6BAA4BvH,EAAA,KAAK,cAAL,YAAAA,EAAkB,WAAY,KAC1D,gBAAekC,EAAA,KAAK,cAAL,YAAAA,EAAkB,gBAAiB,IAC1D,CACA,CAAK,EACD,OAAA5F,EAAA,KAAKsJ,GAAgB,IAAIpP,EAAM6Q,CAAO,EAC/BA,CACR,CACD,aAAc,CACZ,OAAO,KAAK,eAAe,gBAAgB,cAAe,IAAI,CAC/D,CACD,MAAM,aAAaxG,EAAkB,GAAO,CAC1C,GAAI,MAAK,UAGT,OAAM,KAAK,eAAe,gBAAgB,UAAW,IAAI,EACzD,UAAWoF,KAAQ3J,EAAA,KAAKuJ,GAAW,OAAM,EAEvC,GAAI,CADsBI,EAAK,UAE7B,MAAM,IAAI,MAAM,sBAAsBA,EAAK,oCAAoC,EAGnF,KAAK,WAAW,QACXpF,GACH,KAAK,WAAW,QAElBvE,EAAA,KAAKsJ,GAAgB,QACrB,KAAK,cAAc,QAAQ,EAAI,EAChC,CACD,IAAI,eAAgB,CAClB,KAAM,CACJ,iBAAAlH,EACA,UAAAJ,CACN,EAAQ,KAAK,QACT,SAAW,MAAM,QAAQ,KAAM,gBAAiB,CAC9C,iBAAAI,EACA,UAAAJ,CACN,CAAK,CACF,CACF,CAliBCsH,EAAA,YACAC,EAAA,YACAC,EAAA,YAuBAH,EAAA,YAAA2B,GAAkB,SAAC9Q,EAAM2F,EAAO,KAAM,CACpC,MAAMiL,EAAgB9K,EAAA,KAAKsJ,GAAgB,IAAIpP,CAAI,EACnD,GAAI4Q,EACF,OAAOA,EAET,MAAMC,EAAU,KAAK,eAAe,gBAAgB7Q,EAAM2F,CAAI,EAC9D,OAAAG,EAAA,KAAKsJ,GAAgB,IAAIpP,EAAM6Q,CAAO,EAC/BA,CACR,EAkgBH,MAAM,UAAW,CAAjB,cAEEtL,EAAA,KAAAyL,GADAzL,EAAA,KAAA0L,EAAQ,OAAO,OAAO,IAAI,GAW1B,IAAIC,EAAOC,EAAW,KAAM,CAC1B,GAAIA,EAAU,CACZ,MAAMzR,EAAMiM,EAAA,KAAKqF,EAAAI,IAAL,UAAgBF,GAC5B,OAAAxR,EAAI,WAAW,QAAQ,KAAK,IAAMyR,EAASzR,EAAI,IAAI,CAAC,EAC7C,KAET,MAAMA,EAAMoG,EAAA,KAAKmL,GAAMC,CAAK,EAC5B,GAAI,EAACxR,GAAA,MAAAA,EAAK,WAAW,SACnB,MAAM,IAAI,MAAM,6CAA6CwR,IAAQ,EAEvE,OAAOxR,EAAI,IACZ,CACD,IAAIwR,EAAO,CACT,MAAMxR,EAAMoG,EAAA,KAAKmL,GAAMC,CAAK,EAC5B,OAAOxR,GAAA,YAAAA,EAAK,WAAW,UAAW,EACnC,CACD,QAAQwR,EAAOvL,EAAO,KAAM,CAC1B,MAAMjG,EAAMiM,EAAA,KAAKqF,EAAAI,IAAL,UAAgBF,GAC5BxR,EAAI,KAAOiG,EACXjG,EAAI,WAAW,SAChB,CACD,OAAQ,OACN,UAAWwR,KAASpL,EAAA,KAAKmL,GAAO,CAC9B,KAAM,CACJ,KAAAtL,CACR,EAAUG,EAAA,KAAKmL,GAAMC,CAAK,GACpB1H,EAAA7D,GAAA,YAAAA,EAAM,SAAN,MAAA6D,EAAc,QAEhB5D,GAAA,KAAKqL,EAAQ,OAAO,OAAO,IAAI,EAChC,CACF,CAzCCA,EAAA,YACAD,EAAA,YAAAI,GAAU,SAACF,EAAO,CAChB,MAAMxR,EAAMoG,EAAA,KAAKmL,GAAMC,CAAK,EAC5B,OAAIxR,IAGGoG,EAAA,KAAKmL,GAAMC,CAAK,EAAI,CACzB,WAAY,IAAI,MAAM,kBACtB,KAAM,IACZ,EACG,EAgCH,MAAM,UAAW,CAEf,YAAYhF,EAAoB,CADhC3G,EAAA,KAAA8L,EAAsB,MAEpBzL,GAAA,KAAKyL,EAAsBnF,GAC3B,KAAK,WAAa,IACnB,CACD,IAAI,SAAU,CACZ,OAAOpG,EAAA,KAAKuL,GAAoB,WAAW,OAC5C,CACD,OAAOC,EAAa,EAAG,CACrBxL,EAAA,KAAKuL,GAAoB,OAAO,KAAMC,CAAU,CACjD,CACD,IAAI,gBAAiB,CACnB,KAAM,CACJ,eAAAC,CACN,EAAQzL,EAAA,KAAKuL,GAAoB,aAC7B,GAAI,CAACE,EACH,MAAO,GAET,KAAM,CACJ,oBAAAhG,CACN,EAAQzF,EAAA,KAAKuL,GACT,OAAOE,EAAe,MAAQA,EAAe,SAAUhG,GAAA,YAAAA,EAAqB,MAAO,CACpF,CACF,CAvBC8F,EAAA,YAwBF,QAAQ,WAAa,WACrB,MAAMG,EAAN,KAAyB,CAEvB,YAAY,CACV,SAAAL,EACA,OAAAzV,EACA,KAAA+V,EACA,WAAAC,EACA,oBAAAnG,EACA,aAAAuC,EACA,UAAAxD,GACA,cAAAhC,EACA,cAAAC,GACA,yBAAAoJ,GAA2B,GAC3B,OAAAxJ,GAAS,GACT,WAAAqD,GAAa,IACjB,EAAK,CACD,KAAK,SAAW2F,EAChB,KAAK,OAASzV,EACd,KAAK,KAAO+V,EACZ,KAAK,WAAaC,EAClB,KAAK,oBAAsBnG,EAC3B,KAAK,gBAAkB,KACvB,KAAK,aAAeuC,EACpB,KAAK,WAAaxD,GAClB,KAAK,cAAgBhC,EACrB,KAAK,cAAgBC,GACrB,KAAK,QAAUJ,GACf,KAAK,WAAaqD,GAClB,KAAK,QAAU,GACf,KAAK,sBAAwB,KAC7B,KAAK,cAAgB,GACrB,KAAK,0BAA4BmG,KAA6B,IAAQ,OAAO,OAAW,IACxF,KAAK,UAAY,GACjB,KAAK,WAAa,IAAI,MAAM,kBAC5B,KAAK,KAAO,IAAI,WAAW,IAAI,EAC/B,KAAK,aAAe,KAAK,OAAO,KAAK,IAAI,EACzC,KAAK,eAAiB,KAAK,UAAU,KAAK,IAAI,EAC9C,KAAK,mBAAqB,KAAK,cAAc,KAAK,IAAI,EACtD,KAAK,WAAa,KAAK,MAAM,KAAK,IAAI,EACtC,KAAK,QAAUjW,EAAO,cAAc,MACrC,CACD,IAAI,WAAY,CACd,OAAO,KAAK,WAAW,QAAQ,MAAM,UAAY,CAAE,CAAA,CACpD,CACD,mBAAmB,CACjB,aAAA2Q,EAAe,GACf,sBAAAC,CACJ,EAAK,UACD,GAAI,KAAK,UACP,OAEF,GAAI,KAAK,QAAS,CAChB,GAAIxG,EAAA0L,EAAmBI,GAAa,IAAI,KAAK,OAAO,EAClD,MAAM,IAAI,MAAM,iJAA2J,EAE7K9L,EAAA0L,EAAmBI,GAAa,IAAI,KAAK,OAAO,EAE9C,KAAK,WAAWpI,GAAA,WAAW,iBAAX,MAAAA,GAA2B,WAC7C,KAAK,QAAU,WAAW,eAAe,OAAO,KAAK,UAAU,EAC/D,KAAK,QAAQ,KAAK,KAAK,YAAY,EACnC,KAAK,QAAQ,eAAiB,KAAK,QAAQ,kBAAiB,GAE9D,KAAM,CACJ,cAAA0B,EACA,SAAAC,EACA,UAAApJ,EACA,WAAAsJ,CACN,EAAQ,KAAK,OACT,KAAK,IAAM,IAAI,QAAQ,eAAeH,EAAe,KAAK,WAAY,KAAK,KAAM,KAAK,cAAe,KAAK,cAAe,CACvH,sBAAAoB,CACD,EAAE,KAAK,oBAAqB,KAAK,UAAU,EAC5C,KAAK,IAAI,aAAa,CACpB,UAAAvK,EACA,SAAAoJ,EACA,aAAAkB,EACA,WAAAhB,CACN,CAAK,EACD,KAAK,gBAAkB,EACvB,KAAK,cAAgB,IACrBK,EAAA,KAAK,wBAAL,MAAAA,EAAA,UACD,CACD,OAAOO,EAAQ,KAAMqF,EAAa,EAAG,OACnC,KAAK,QAAU,GACf,KAAK,UAAY,IACjB9H,EAAA,KAAK,MAAL,MAAAA,EAAU,aACN,KAAK,SACP1D,EAAA0L,EAAmBI,GAAa,OAAO,KAAK,OAAO,EAErD,KAAK,SAAS3F,GAAS,IAAI,eAAe,4BAA4B,6BAA6B,KAAK,WAAa,IAAK,SAAUqF,CAAU,CAAC,CAChJ,CACD,qBAAsB,OACpB,GAAI,CAAC,KAAK,cAAe,CACvB,KAAK,wBAAL,KAAK,sBAA0B,KAAK,gBACpC,QAEF9H,EAAA,KAAK,UAAL,MAAAA,EAAc,mBAAmB,KAAK,cAClC,MAAK,SAGT,KAAK,UAAS,CACf,CACD,WAAY,CACV,KAAK,QAAU,GACX,MAAK,YAGL,KAAK,KAAK,WACZ,KAAK,KAAK,WAAW,KAAK,kBAAkB,EAE5C,KAAK,cAAa,EAErB,CACD,eAAgB,CACV,KAAK,0BACP,OAAO,sBAAsB,IAAM,CACjC,KAAK,WAAY,EAAC,MAAM,KAAK,YAAY,CACjD,CAAO,EAED,QAAQ,UAAU,KAAK,KAAK,UAAU,EAAE,MAAM,KAAK,YAAY,CAElE,CACD,MAAM,OAAQ,CACR,KAAK,YAGT,KAAK,gBAAkB,KAAK,IAAI,oBAAoB,KAAK,aAAc,KAAK,gBAAiB,KAAK,eAAgB,KAAK,OAAO,EAC1H,KAAK,kBAAoB,KAAK,aAAa,UAAU,SACvD,KAAK,QAAU,GACX,KAAK,aAAa,YACpB,KAAK,IAAI,WAAW,KAAK,UAAU,EAC/B,KAAK,SACP1D,EAAA0L,EAAmBI,GAAa,OAAO,KAAK,OAAO,EAErD,KAAK,SAAQ,IAGlB,CACF,EAzID,IAAM,mBAANJ,EACSI,EAAA,YAAPrM,EADI,mBACGqM,EAAe,IAAI,SAyI5B,MAAM,QAAU,UAChB,QAAQ,QAAU,QAClB,MAAM,MAAQ,YACd,QAAQ,MAAQ,KAET,EAEA,CAAC9V,EAAyBC,EAAS8V,IAAwB,gBAIlE,OAAO,eAAe9V,EAAS,aAAe,CAC5C,MAAO,EACT,GACAA,EAAQ,uBAAyBA,EAAQ,kBAAoB,OAC7D,IAAI+V,EAAQD,EAAoB,CAAC,EAC7BE,EAAUF,EAAoB,CAAC,EAC/BG,GAAcH,EAAoB,CAAC,EACvC,MAAMI,CAAkB,CAGtB,aAAc,CAgEd1M,EAAA,KAAA2M,GAlEA3M,EAAA,KAAA4M,EAAY,IACZ5M,EAAA,KAAA6M,EAAW,IAAI,KAEb,KAAK,cAAgB,KACrB,KAAK,gBAAkB,KACvB,KAAK,mBAAqB,IAC3B,CACD,SAAShR,EAAKiR,EAAc,CAC1B,MAAMzS,EAAQkG,EAAA,KAAKsM,GAAS,IAAIhR,CAAG,EACnC,OAAIxB,IAAU,OACLyS,EAEF,OAAO,OAAOA,EAAczS,CAAK,CACzC,CACD,YAAYwB,EAAK,CACf,OAAO0E,EAAA,KAAKsM,GAAS,IAAIhR,CAAG,CAC7B,CACD,OAAOA,EAAK,CAKV,GAJA0E,EAAA,KAAKsM,GAAS,OAAOhR,CAAG,EACpB0E,EAAA,KAAKsM,GAAS,OAAS,GACzB,KAAK,cAAa,EAEhB,OAAO,KAAK,oBAAuB,WAAY,CACjD,UAAWxS,KAASkG,EAAA,KAAKsM,GAAS,OAAM,EACtC,GAAIxS,aAAiBmS,EAAQ,iBAC3B,OAGJ,KAAK,mBAAmB,IAAI,EAE/B,CACD,SAAS3Q,EAAKxB,EAAO,CACnB,MAAMF,EAAMoG,EAAA,KAAKsM,GAAS,IAAIhR,CAAG,EACjC,IAAIkR,EAAW,GACf,GAAI5S,IAAQ,OACV,SAAW,CAAC6S,EAAOnJ,CAAG,IAAK,OAAO,QAAQxJ,CAAK,EACzCF,EAAI6S,CAAK,IAAMnJ,IACjBkJ,EAAW,GACX5S,EAAI6S,CAAK,EAAInJ,QAIjBkJ,EAAW,GACXxM,EAAA,KAAKsM,GAAS,IAAIhR,EAAKxB,CAAK,EAE1B0S,GACF3G,EAAA,KAAKuG,EAAAM,IAAL,WAEE5S,aAAiBmS,EAAQ,kBAAoB,OAAO,KAAK,oBAAuB,YAClF,KAAK,mBAAmBnS,EAAM,YAAY,KAAK,CAElD,CACD,IAAIwB,EAAK,CACP,OAAO0E,EAAA,KAAKsM,GAAS,IAAIhR,CAAG,CAC7B,CACD,QAAS,CACP,OAAO0E,EAAA,KAAKsM,GAAS,KAAO,KAAQN,EAAM,eAAehM,EAAA,KAAKsM,EAAQ,EAAI,IAC3E,CACD,OAAO1S,EAAK,CACV,SAAW,CAAC0B,EAAKgI,CAAG,IAAK,OAAO,QAAQ1J,CAAG,EACzC,KAAK,SAAS0B,EAAKgI,CAAG,CAEzB,CACD,IAAI,MAAO,CACT,OAAOtD,EAAA,KAAKsM,GAAS,IACtB,CASD,eAAgB,CACVtM,EAAA,KAAKqM,KACPvM,GAAA,KAAKuM,EAAY,IACb,OAAO,KAAK,iBAAoB,YAClC,KAAK,gBAAe,EAGzB,CACD,IAAI,OAAQ,CACV,OAAO,IAAIM,EAAuB,IAAI,CACvC,CACD,IAAI,cAAe,CACjB,GAAI3M,EAAA,KAAKsM,GAAS,OAAS,EACzB,OAAO,KAET,MAAMM,EAAQ,IAAI,IAClB,SAAW,CAACtR,EAAKgI,CAAG,IAAKtD,EAAA,KAAKsM,GAAU,CACtC,MAAMO,EAAavJ,aAAe2I,EAAQ,iBAAmB3I,EAAI,UAAW,EAAGA,EAC3EuJ,GACFD,EAAM,IAAItR,EAAKuR,CAAU,EAG7B,OAAOD,CACR,CACD,OAAO,QAAQvR,EAAK,CAClB,GAAI,CAACA,EACH,MAAO,GAET,MAAMyR,EAAO,IAAIZ,GAAY,eAC7B,SAAW,CAAC5Q,EAAKgI,CAAG,IAAKjI,EACvByR,EAAK,OAAO,GAAGxR,KAAO,KAAK,UAAUgI,CAAG,GAAG,EAE7C,OAAOwJ,EAAK,WACb,CACF,CA5GCT,EAAA,YACAC,EAAA,YAiEAF,EAAA,YAAAM,GAAY,UAAG,CACR1M,EAAA,KAAKqM,KACRvM,GAAA,KAAKuM,EAAY,IACb,OAAO,KAAK,eAAkB,YAChC,KAAK,cAAa,EAGvB,EAoCHpW,EAAQ,kBAAoBkW,EAC5B,MAAMQ,UAA+BR,CAAkB,CAErD,YAAYY,EAAQ,CAClB,QAFFtN,EAAA,KAAAuN,EAAgB,MAGdlN,GAAA,KAAKkN,EAAgB,gBAAgBD,EAAO,YAAY,EACzD,CACD,IAAI,OAAQ,IACNf,EAAM,aAAa,8CAA8C,CACtE,CACD,IAAI,cAAe,CACjB,OAAOhM,EAAA,KAAKgN,EACb,CACF,CAXCA,EAAA,YAYF/W,EAAQ,uBAAyB0W,CAE1B,EAEA,CAAC3W,EAAyBC,EAAS8V,IAAwB,iBAIlE,OAAO,eAAe9V,EAAS,aAAe,CAC5C,MAAO,EACT,GACAA,EAAQ,iBAAmB,OAC3B,IAAIgX,EAASlB,EAAoB,CAAC,EAC9BC,EAAQD,EAAoB,CAAC,EACjC,MAAMmB,EAAN,KAAuB,CAUrB,YAAYC,EAAY,CATxB1N,EAAA,KAAA2N,EAAgB,KAAK,QAAQ,KAAK,IAAI,GACtC3N,EAAA,KAAA4N,EAAiB,KAAK,SAAS,KAAK,IAAI,GACxC5N,EAAA,KAAA6N,EAAmB,IACnB7N,EAAA,KAAA8N,EAAa,IACb9N,EAAA,KAAA+N,EAAgB,IAChBC,GAAA,kBAAa,MACbhO,EAAA,KAAAiO,EAAUR,EAAiB,WAIrB,KAAK,cAAgBA,MACnBlB,EAAM,aAAa,qCAAqC,EAE9D,KAAK,OAASmB,EAAW,OACzB,KAAK,GAAKA,EAAW,GACrB,KAAK,MAAQ,KAAK,OAAS,KAC3B,KAAK,UAAYA,EAAW,OAAO,UACnC,KAAK,KAAOA,EAAW,KACvB,KAAK,IAAM,KACX,KAAK,WAAaA,EAAW,UAC7B,KAAM,CACJ,SAAArI,EACA,QAAS,CACP,UAAA6I,EACA,WAAAC,EACA,MAAAC,EACA,MAAAC,CACD,CACP,EAAQ,KAAK,OAAO,SAChB,KAAK,SAAWhJ,EAChB,KAAK,cAAgB,IAAMA,EAAW,KAAK,WAAW,eAAe,UAAY,IACjF,KAAK,eAAiB,CAAC6I,EAAWC,CAAU,EAC5C,KAAK,gBAAkB,CAACC,EAAOC,CAAK,EACpC,KAAM,CAAClD,EAAOC,CAAM,EAAI,KAAK,iBAC7B,KAAK,EAAIsC,EAAW,EAAIvC,EACxB,KAAK,EAAIuC,EAAW,EAAItC,EACxB,KAAK,gBAAkB,EACxB,CACD,WAAW,mBAAoB,CAC7B,SAAWmB,EAAM,QAAQ,KAAM,oBAAqB,KAAK,cAAc,WAAW,YAAY,CAAC,CAChG,CACD,YAAYpW,EAAQ,CAClB,KAAK,WAAW,YAAYA,CAAM,CACnC,CACD,IAAI,cAAe,CACjB,OAAO,KAAK,WAAW,YACxB,CACD,iBAAkB,CAChB,KAAK,IAAI,MAAM,OAAS,CACzB,CACD,iBAAkB,CAChB,KAAK,IAAI,MAAM,OAASoK,EAAA,KAAK0N,EAC9B,CACD,UAAUX,EAAQ,CACZA,IAAW,OACb,KAAK,UAAYA,EAAO,UACxB,KAAK,eAAiBA,EAAO,gBAE/B,KAAK,OAASA,CACf,CACD,QAAQ3E,EAAO,CACRpI,EAAA,KAAKsN,GAGRxN,GAAA,KAAKwN,EAAmB,IAFxB,KAAK,OAAO,YAAY,IAAI,CAI/B,CACD,SAASlF,EAAO,OACd,GAAI,CAAC,KAAK,gBACR,OAEF,MAAM2F,EAAS3F,EAAM,cACjB2F,GAAA,MAAAA,EAAQ,QAAQ,IAAI,KAAK,QAG7B3F,EAAM,eAAc,GACf1E,EAAA,KAAK,SAAL,MAAAA,EAAa,qBAChB,KAAK,eAAc,EAEtB,CACD,gBAAiB,CACX,KAAK,UACP,KAAK,OAAM,EAEX,KAAK,OAAM,CAEd,CACD,QAAS,CACP,KAAK,uBAAsB,CAC5B,CACD,wBAAyB,CACvB,KAAK,WAAW,uBAAuB,IAAI,CAC5C,CACD,UAAU0E,EAAO,CACf,MAAM9K,EAAO,KAAK,OAAO,IAAI,sBAAqB,EAClD,KAAK,OAAS8K,EAAM,QAAU9K,EAAK,EACnC,KAAK,OAAS8K,EAAM,QAAU9K,EAAK,EACnC8K,EAAM,aAAa,QAAQ,aAAc,KAAK,EAAE,EAChDA,EAAM,aAAa,cAAgB,MACpC,CACD,MAAM4F,EAAGC,EAAGC,EAAIC,EAAI,CAClB,KAAM,CAACvD,EAAOC,CAAM,EAAI,KAAK,iBAC7B,CAACqD,EAAIC,CAAE,EAAI,KAAK,wBAAwBD,EAAIC,CAAE,EAC9C,KAAK,GAAKH,EAAIE,GAAMtD,EACpB,KAAK,GAAKqD,EAAIE,GAAMtD,EACpB,KAAK,IAAI,MAAM,KAAO,GAAG,IAAM,KAAK,KACpC,KAAK,IAAI,MAAM,IAAM,GAAG,IAAM,KAAK,IACpC,CACD,UAAUmD,EAAGC,EAAG,CACd,KAAM,CAACrD,EAAOC,CAAM,EAAI,KAAK,iBAC7B,CAACmD,EAAGC,CAAC,EAAI,KAAK,wBAAwBD,EAAGC,CAAC,EAC1C,KAAK,GAAKD,EAAIpD,EACd,KAAK,GAAKqD,EAAIpD,EACd,KAAK,IAAI,MAAM,KAAO,GAAG,IAAM,KAAK,KACpC,KAAK,IAAI,MAAM,IAAM,GAAG,IAAM,KAAK,IACpC,CACD,wBAAwBmD,EAAGC,EAAG,CAC5B,OAAQ,KAAK,eAAc,CACzB,IAAK,IACH,MAAO,CAACA,EAAG,CAACD,CAAC,EACf,IAAK,KACH,MAAO,CAAC,CAACA,EAAG,CAACC,CAAC,EAChB,IAAK,KACH,MAAO,CAAC,CAACA,EAAGD,CAAC,EACf,QACE,MAAO,CAACA,EAAGC,CAAC,CACf,CACF,CACD,IAAI,aAAc,CAChB,OAAO,KAAK,WAAW,eAAe,SACvC,CACD,IAAI,gBAAiB,CACnB,OAAQ,KAAK,WAAW,eAAe,SAAW,KAAK,cAAgB,GACxE,CACD,IAAI,kBAAmB,CACrB,KAAM,CACJ,UAAAG,CACN,EAAQ,KAAK,WAAW,eACd,CAACT,EAAWC,CAAU,EAAI,KAAK,eACrC,MAAO,CAACD,EAAYS,EAAWR,EAAaQ,CAAS,CACtD,CACD,QAAQxD,EAAOC,EAAQ,CACrB,KAAM,CAACwD,EAAaC,CAAY,EAAI,KAAK,iBACzC,KAAK,IAAI,MAAM,MAAQ,GAAG,IAAM1D,EAAQyD,KACxC,KAAK,IAAI,MAAM,OAAS,GAAG,IAAMxD,EAASyD,IAC3C,CACD,SAAU,CACR,KAAM,CACJ,MAAAC,CACN,EAAQ,KAAK,IACH,CACJ,OAAA1D,EACA,MAAAD,CACD,EAAG2D,EACEC,EAAe5D,EAAM,SAAS,GAAG,EACjC6D,EAAgB5D,EAAO,SAAS,GAAG,EACzC,GAAI2D,GAAgBC,EAClB,OAEF,KAAM,CAACJ,EAAaC,CAAY,EAAI,KAAK,iBACpCE,IACHD,EAAM,MAAQ,GAAG,IAAM,WAAW3D,CAAK,EAAIyD,MAExCI,IACHF,EAAM,OAAS,GAAG,IAAM,WAAW1D,CAAM,EAAIyD,KAEhD,CACD,uBAAwB,CACtB,MAAO,CAAC,EAAG,CAAC,CACb,CACD,QAAS,CACP,KAAK,IAAM,SAAS,cAAc,KAAK,EACvC,KAAK,IAAI,aAAa,wBAAyB,IAAM,KAAK,UAAY,GAAG,EACzE,KAAK,IAAI,UAAY,KAAK,KAC1B,KAAK,IAAI,aAAa,KAAM,KAAK,EAAE,EACnC,KAAK,IAAI,aAAa,WAAY,CAAC,EACnC,KAAK,gBAAe,EACpB,KAAK,IAAI,iBAAiB,UAAWtO,EAAA,KAAKoN,EAAa,EACvD,KAAK,IAAI,iBAAiB,WAAYpN,EAAA,KAAKqN,EAAc,EACzD,KAAM,CAACa,EAAIC,CAAE,EAAI,KAAK,sBAAqB,EAC3C,YAAK,UAAUD,EAAIC,CAAE,KACjBlB,EAAO,YAAY,KAAM,KAAK,IAAK,CAAC,YAAa,aAAa,CAAC,EAC5D,KAAK,GACb,CACD,YAAY7E,EAAO,CACjB,KAAM,CACJ,MAAAsG,CACN,EAAQ1C,EAAM,YAAY,SACtB,GAAI5D,EAAM,SAAW,GAAKA,EAAM,SAAWsG,EAAO,CAChDtG,EAAM,eAAc,EACpB,OAEEA,EAAM,SAAW,CAACsG,GAAStG,EAAM,UAAYA,EAAM,SAAWsG,EAChE,KAAK,OAAO,eAAe,IAAI,EAE/B,KAAK,OAAO,YAAY,IAAI,EAE9B5O,GAAA,KAAKwN,EAAmB,GACzB,CACD,QAAQY,EAAIC,EAAI,CACd,MAAMzY,EAAQ,KAAK,YACb,CAACiY,EAAWC,CAAU,EAAI,KAAK,eAC/B,CAACC,EAAOC,CAAK,EAAI,KAAK,gBACtBa,EAAST,EAAKxY,EACdkZ,EAAST,EAAKzY,EACdsY,EAAI,KAAK,EAAIL,EACbM,EAAI,KAAK,EAAIL,EACbhD,EAAQ,KAAK,MAAQ+C,EACrB9C,EAAS,KAAK,OAAS+C,EAC7B,OAAQ,KAAK,SAAQ,CACnB,IAAK,GACH,MAAO,CAACI,EAAIW,EAASd,EAAOD,EAAaK,EAAIW,EAAS/D,EAASiD,EAAOE,EAAIW,EAAS/D,EAAQiD,EAAOD,EAAaK,EAAIW,EAASd,CAAK,EACnI,IAAK,IACH,MAAO,CAACE,EAAIY,EAASf,EAAOD,EAAaK,EAAIU,EAASb,EAAOE,EAAIY,EAAS/D,EAASgD,EAAOD,EAAaK,EAAIU,EAAS/D,EAAQkD,CAAK,EACnI,IAAK,KACH,MAAO,CAACE,EAAIW,EAAS/D,EAAQiD,EAAOD,EAAaK,EAAIW,EAASd,EAAOE,EAAIW,EAASd,EAAOD,EAAaK,EAAIW,EAAS/D,EAASiD,CAAK,EACnI,IAAK,KACH,MAAO,CAACE,EAAIY,EAAS/D,EAASgD,EAAOD,EAAaK,EAAIU,EAAS/D,EAAQkD,EAAOE,EAAIY,EAASf,EAAOD,EAAaK,EAAIU,EAASb,CAAK,EACnI,QACE,MAAM,IAAI,MAAM,kBAAkB,CACrC,CACF,CACD,uBAAuBxQ,EAAMsQ,EAAY,CACvC,KAAM,CAAC7P,EAAIC,EAAIC,EAAIC,CAAE,EAAIZ,EACnBsN,EAAQ3M,EAAKF,EACb8M,EAAS3M,EAAKF,EACpB,OAAQ,KAAK,SAAQ,CACnB,IAAK,GACH,MAAO,CAACD,EAAI6P,EAAa1P,EAAI0M,EAAOC,CAAM,EAC5C,IAAK,IACH,MAAO,CAAC9M,EAAI6P,EAAa5P,EAAI6M,EAAQD,CAAK,EAC5C,IAAK,KACH,MAAO,CAAC3M,EAAI2P,EAAa5P,EAAI4M,EAAOC,CAAM,EAC5C,IAAK,KACH,MAAO,CAAC5M,EAAI2P,EAAa1P,EAAI2M,EAAQD,CAAK,EAC5C,QACE,MAAM,IAAI,MAAM,kBAAkB,CACrC,CACF,CACD,WAAY,CAAE,CACd,SAAU,CACR,MAAO,EACR,CACD,gBAAiB,CACf9K,GAAA,KAAK0N,EAAgB,GACtB,CACD,iBAAkB,CAChB1N,GAAA,KAAK0N,EAAgB,GACtB,CACD,cAAe,CACb,OAAOxN,EAAA,KAAKwN,EACb,CACD,yBAA0B,CACxB,MAAO,EACR,CACD,kBAAmB,CACjB,OAAO,KAAK,KAAO,CAAC,KAAK,eAC1B,CACD,SAAU,QACR9J,EAAA,KAAK,MAAL,MAAAA,EAAU,iBAAiB,UAAW1D,EAAA,KAAKoN,GAC5C,CACD,WAAY,IACNpB,EAAM,aAAa,gCAAgC,CACxD,CACD,OAAO,YAAYnM,EAAMkN,EAAQ8B,EAAW,CAC1C,MAAMC,EAAS,IAAI,KAAK,UAAU,YAAY,CAC5C,OAAA/B,EACA,GAAIA,EAAO,UAAW,EACtB,UAAA8B,CACN,CAAK,EACDC,EAAO,SAAWjP,EAAK,SACvB,KAAM,CAAC8N,EAAWC,CAAU,EAAIkB,EAAO,eACjC,CAACd,EAAGC,EAAGrD,EAAOC,CAAM,EAAIiE,EAAO,uBAAuBjP,EAAK,KAAM+N,CAAU,EACjF,OAAAkB,EAAO,EAAId,EAAIL,EACfmB,EAAO,EAAIb,EAAIL,EACfkB,EAAO,MAAQlE,EAAQ+C,EACvBmB,EAAO,OAASjE,EAAS+C,EAClBkB,CACR,CACD,QAAS,CACP,KAAK,IAAI,oBAAoB,UAAW9O,EAAA,KAAKoN,EAAa,EAC1D,KAAK,IAAI,oBAAoB,WAAYpN,EAAA,KAAKqN,EAAc,EACvD,KAAK,WACR,KAAK,OAAM,EAEb,KAAK,OAAO,OAAO,IAAI,CACxB,CACD,QAAS,QACP3J,EAAA,KAAK,MAAL,MAAAA,EAAU,UAAU,IAAI,iBACzB,CACD,UAAW,QACTA,EAAA,KAAK,MAAL,MAAAA,EAAU,UAAU,OAAO,iBAC5B,CACD,aAAa2G,EAAMvQ,EAAO,CAAE,CAC5B,gBAAiB,CAAE,CACnB,eAAgB,CAAE,CAClB,IAAI,oBAAqB,CACvB,MAAO,EACR,CACD,IAAI,YAAa,CACf,OAAO,KAAK,GACb,CACD,IAAI,WAAY,CACd,OAAOkG,EAAA,KAAKuN,EACb,CACD,IAAI,UAAUzT,EAAO,CACnBgG,GAAA,KAAKyN,EAAazT,GACdA,GACF,KAAK,OAAO,YAAY,IAAI,EAC5B,KAAK,OAAO,gBAAgB,IAAI,GAEhC,KAAK,OAAO,gBAAgB,IAAI,CAEnC,CACF,EA3TD,IAAMiV,GAAN7B,EACEE,EAAA,YACAC,EAAA,YACAC,EAAA,YACAC,EAAA,YACAC,EAAA,YAEAE,EAAA,YACAD,GARIsB,GAQG,gBAAgB,IAAI9B,EAAO,cAClCQ,GATIsB,GASG,UAAU,GAmTnB9Y,EAAQ,iBAAmB8Y,EAEpB,EAEA,CAAC/Y,EAAyBC,EAAS8V,IAAwB,oIAIlE,OAAO,eAAe9V,EAAS,aAAe,CAC5C,MAAO,EACT,GACAA,EAAQ,gBAAkBA,EAAQ,eAAiBA,EAAQ,aAAeA,EAAQ,0BAA4B,OAC9GA,EAAQ,WAAa+Y,GACrB/Y,EAAQ,aAAegZ,EACvB,IAAIjD,EAAQD,EAAoB,CAAC,EAC7BmD,EAAiBnD,EAAoB,CAAC,EAC1C,SAASiD,GAAWpV,GAAKuV,GAASC,GAAO,CACvC,UAAWlV,MAAQkV,GACjBD,GAAQ,iBAAiBjV,GAAMN,GAAIM,EAAI,EAAE,KAAKN,EAAG,CAAC,CAErD,CACD,SAASqV,EAAaI,GAAS,CAC7B,OAAO,KAAK,MAAM,KAAK,IAAI,IAAK,KAAK,IAAI,EAAG,IAAMA,EAAO,CAAC,CAAC,EAAE,SAAS,EAAE,EAAE,SAAS,EAAG,GAAG,CAC1F,CACD,MAAMC,CAAU,CAAhB,cACE7P,EAAA,KAAA8P,EAAM,GACN,OAAQ,CACN,MAAO,GAAGvD,EAAM,yBAAyBxI,GAAA,KAAK+L,GAAL,KAC1C,CACF,CAJCA,EAAA,YAKF,MAAMC,CAAe,CAKnB,YAAYC,GAAU,IAAK,CAJ3BhQ,EAAA,KAAAiQ,EAAY,CAAA,GACZjQ,EAAA,KAAAkQ,EAAU,IACVlQ,EAAA,KAAAmQ,EAAA,QACAnQ,EAAA,KAAAoQ,EAAY,IAEV/P,GAAA,KAAK8P,EAAWH,GACjB,CACD,IAAI,CACF,IAAAK,GACA,KAAAC,GACA,SAAAC,GACA,KAAA3F,GAAO,IACP,oBAAA4F,EAAsB,GACtB,SAAAC,EAAW,EACf,EAAK,CAID,GAHIF,IACFF,KAEE9P,EAAA,KAAK2P,GACP,OAEF,MAAMQ,EAAO,CACX,IAAAL,GACA,KAAAC,GACA,KAAA1F,EACN,EACI,GAAIrK,EAAA,KAAK6P,KAAc,GAAI,CACrB7P,EAAA,KAAK0P,GAAU,OAAS,IAC1B1P,EAAA,KAAK0P,GAAU,OAAS,GAE1B5P,GAAA,KAAK+P,EAAY,GACjB7P,EAAA,KAAK0P,GAAU,KAAKS,CAAI,EACxB,OAEF,GAAIF,GAAuBjQ,EAAA,KAAK0P,GAAU1P,EAAA,KAAK6P,EAAS,EAAE,OAASxF,GAAM,CACnE6F,IACFC,EAAK,KAAOnQ,EAAA,KAAK0P,GAAU1P,EAAA,KAAK6P,EAAS,EAAE,MAE7C7P,EAAA,KAAK0P,GAAU1P,EAAA,KAAK6P,EAAS,EAAIM,EACjC,OAEF,MAAMC,GAAOpQ,EAAA,KAAK6P,GAAY,EAC1BO,KAASpQ,EAAA,KAAK4P,GAChB5P,EAAA,KAAK0P,GAAU,OAAO,EAAG,CAAC,GAE1B5P,GAAA,KAAK+P,EAAYO,IACbA,GAAOpQ,EAAA,KAAK0P,GAAU,QACxB1P,EAAA,KAAK0P,GAAU,OAAOU,EAAI,GAG9BpQ,EAAA,KAAK0P,GAAU,KAAKS,CAAI,CACzB,CACD,MAAO,CACDnQ,EAAA,KAAK6P,KAAc,KAGvB/P,GAAA,KAAK6P,EAAU,IACf3P,EAAA,KAAK0P,GAAU1P,EAAA,KAAK6P,EAAS,EAAE,KAAI,EACnC/P,GAAA,KAAK6P,EAAU,IACf7P,GAAA,KAAK+P,EAAL7P,EAAA,KAAK6P,GAAa,GACnB,CACD,MAAO,CACD7P,EAAA,KAAK6P,GAAY7P,EAAA,KAAK0P,GAAU,OAAS,IAC3C5P,GAAA,KAAK+P,EAAL7P,EAAA,KAAK6P,GAAa,GAClB/P,GAAA,KAAK6P,EAAU,IACf3P,EAAA,KAAK0P,GAAU1P,EAAA,KAAK6P,EAAS,EAAE,IAAG,EAClC/P,GAAA,KAAK6P,EAAU,IAElB,CACD,oBAAqB,CACnB,OAAO3P,EAAA,KAAK6P,KAAc,EAC3B,CACD,oBAAqB,CACnB,OAAO7P,EAAA,KAAK6P,GAAY7P,EAAA,KAAK0P,GAAU,OAAS,CACjD,CACD,SAAU,CACR5P,GAAA,KAAK4P,EAAY,KAClB,CACF,CA9ECA,EAAA,YACAC,EAAA,YACAC,EAAA,YACAC,EAAA,YA4EF5Z,EAAQ,eAAiBuZ,EACzB,MAAMa,CAAgB,CACpB,YAAYC,GAAW,CAoBvB7Q,EAAA,KAAA8Q,GAnBE,KAAK,OAAS,GACd,KAAK,UAAY,IAAI,IACrB,KAAK,QAAU,IAAI,IACnB,KAAM,CACJ,MAAA7B,EACN,EAAQ1C,EAAM,YAAY,SACtB,SAAW,CAACwE,GAAMnF,EAAQ,IAAKiF,GAC7B,UAAWhV,KAAOkV,GAAM,CACtB,MAAMC,EAAWnV,EAAI,WAAW,MAAM,EAClCoT,IAAS+B,GACX,KAAK,UAAU,IAAInV,EAAI,MAAM,CAAC,EAAG+P,EAAQ,EACzC,KAAK,QAAQ,IAAI/P,EAAI,MAAM,GAAG,EAAE,GAAG,EAAE,CAAC,GAC7B,CAACoT,IAAS,CAAC+B,IACpB,KAAK,UAAU,IAAInV,EAAK+P,EAAQ,EAChC,KAAK,QAAQ,IAAI/P,EAAI,MAAM,GAAG,EAAE,GAAG,EAAE,CAAC,GAI7C,CAmBD,KAAKoV,GAAMtI,GAAO,CAChB,GAAI,CAAC,KAAK,QAAQ,IAAIA,GAAM,GAAG,EAC7B,OAEF,MAAMiD,GAAW,KAAK,UAAU,IAAIxF,EAAA,KAAK0K,EAAAI,IAAL,UAAgBvI,GAAM,EACrDiD,KAGLA,GAAS,KAAKqF,EAAI,IAClBtI,GAAM,gBAAe,EACrBA,GAAM,eAAc,EACrB,CACF,CA9BCmI,EAAA,YAAAI,GAAU,SAACvI,GAAO,CACZA,GAAM,QACR,KAAK,OAAO,KAAK,KAAK,EAEpBA,GAAM,SACR,KAAK,OAAO,KAAK,MAAM,EAErBA,GAAM,SACR,KAAK,OAAO,KAAK,MAAM,EAErBA,GAAM,UACR,KAAK,OAAO,KAAK,OAAO,EAE1B,KAAK,OAAO,KAAKA,GAAM,GAAG,EAC1B,MAAMhN,GAAM,KAAK,OAAO,KAAK,GAAG,EAChC,YAAK,OAAO,OAAS,EACdA,EACR,EAcHnF,EAAQ,gBAAkBoa,EAC1B,MAAMO,EAAN,KAAmB,CAEjB,IAAI,SAAU,CACZ,MAAMC,GAAS,IAAI,IAAI,CAAC,CAAC,aAAc,IAAI,EAAG,CAAC,SAAU,IAAI,CAAC,CAAC,EAC/D,SAAI3B,EAAe,gBAAgB2B,EAAM,KAC9B7E,EAAM,QAAQ,KAAM,UAAW6E,EAAM,CACjD,CACD,QAAQC,GAAO,CACb,MAAMC,MAAU7B,EAAe,QAAQ4B,EAAK,EAC5C,GAAI,CAAC,OAAO,WAAW,yBAAyB,EAAE,QAChD,OAAOC,GAET,SAAW,CAAC7W,GAAM8W,EAAG,IAAK,KAAK,QAC7B,GAAIA,GAAI,MAAM,CAAChD,EAAG/S,IAAM+S,IAAM+C,GAAI9V,CAAC,CAAC,EAClC,OAAO2V,EAAa,eAAe,IAAI1W,EAAI,EAG/C,OAAO6W,EACR,CACD,WAAW7W,GAAM,CACf,MAAM6W,GAAM,KAAK,QAAQ,IAAI7W,EAAI,EACjC,OAAK6W,GAGE/E,EAAM,KAAK,aAAa,GAAG+E,EAAG,EAF5B7W,EAGV,CACF,EA1BD,IAAM+W,EAANL,EACEnD,GADIwD,EACG,iBAAiB,IAAI,IAAI,CAAC,CAAC,aAAc,CAAC,EAAG,EAAG,CAAC,CAAC,EAAG,CAAC,SAAU,CAAC,IAAK,IAAK,GAAG,CAAC,CAAC,CAAC,GA0B1Fhb,EAAQ,aAAegb,EACvB,MAAMC,GAAN,KAAgC,CA+B9B,YAAYC,GAAWC,GAAUC,GAAmB,CA+DpD5R,EAAA,KAAA6R,GAGA7R,EAAA,KAAA8R,GAGA9R,EAAA,KAAA+R,GAKA/R,EAAA,KAAAgS,GAoFAhS,EAAA,KAAAiS,GASAjS,EAAA,KAAAkS,GAuFAlS,EAAA,KAAAmS,GAQAnS,EAAA,KAAAoS,GA6BApS,EAAA,KAAAqS,IAoFArS,EAAA,KAAAsS,IAoCAtS,EAAA,KAAAuS,IAzbAvS,EAAA,KAAAwS,EAAgB,MAChBxS,EAAA,KAAAyS,EAAc,IAAI,KAClBzS,EAAA,KAAA0S,EAAa,IAAI,KACjB1S,EAAA,KAAA2S,EAAqB,MACrB3S,EAAA,KAAA4S,EAAkB,IAAI7C,GACtB/P,EAAA,KAAA6S,EAAoB,GACpB7S,EAAA,KAAA8S,EAAe,MACf9S,EAAA,KAAA+S,EAAoB,IAAI,KACxB/S,EAAA,KAAAgT,EAAY,MACZhT,EAAA,KAAAiT,EAAa,IAAIpD,GACjB7P,EAAA,KAAAkT,GAAa,IACblT,EAAA,KAAAmT,EAAQ5G,EAAM,qBAAqB,MACnCvM,EAAA,KAAAoT,GAAmB,IAAI,KACvBpT,EAAA,KAAAqT,GAAa,KAAK,KAAK,KAAK,IAAI,GAChCrT,EAAA,KAAAsT,GAAY,KAAK,IAAI,KAAK,IAAI,GAC9BtT,EAAA,KAAAuT,GAAc,KAAK,MAAM,KAAK,IAAI,GAClCvT,EAAA,KAAAwT,GAAgB,KAAK,QAAQ,KAAK,IAAI,GACtCxT,EAAA,KAAAyT,EAAwB,KAAK,gBAAgB,KAAK,IAAI,GACtDzT,EAAA,KAAA0T,GAAuB,KAAK,eAAe,KAAK,IAAI,GACpD1T,EAAA,KAAA2T,GAAwB,KAAK,gBAAgB,KAAK,IAAI,GACtD3T,EAAA,KAAA4T,EAA2B,KAAK,mBAAmB,KAAK,IAAI,GAC5D5T,EAAA,KAAA6T,EAAkB,CAChB,UAAW,GACX,QAAS,GACT,mBAAoB,GACpB,mBAAoB,GACpB,kBAAmB,EACvB,GACE7T,EAAA,KAAA8T,EAAa,MAGXzT,GAAA,KAAKyT,EAAapC,IAClBrR,GAAA,KAAK2S,EAAYrB,IACjBpR,EAAA,KAAKyS,GAAU,IAAI,gBAAiBzS,EAAA,KAAKkT,EAAqB,EAC9DlT,EAAA,KAAKyS,GAAU,IAAI,eAAgBzS,EAAA,KAAKmT,GAAoB,EAC5DnT,EAAA,KAAKyS,GAAU,IAAI,gBAAiBzS,EAAA,KAAKoT,GAAqB,EAC9DpT,EAAA,KAAKyS,GAAU,IAAI,mBAAoBzS,EAAA,KAAKqT,EAAwB,EACpEvT,GAAA,KAAKsS,EAAqBf,IAC1B,KAAK,eAAiB,CACpB,UAAWnC,EAAe,cAAc,iBACxC,SAAU,CAChB,CACG,CACD,SAAU,CACRrJ,EAAA,KAAK0L,EAAAiC,IAAL,WACAxT,EAAA,KAAKyS,GAAU,KAAK,gBAAiBzS,EAAA,KAAKkT,EAAqB,EAC/DlT,EAAA,KAAKyS,GAAU,KAAK,eAAgBzS,EAAA,KAAKmT,GAAoB,EAC7DnT,EAAA,KAAKyS,GAAU,KAAK,gBAAiBzS,EAAA,KAAKoT,GAAqB,EAC/DpT,EAAA,KAAKyS,GAAU,KAAK,mBAAoBzS,EAAA,KAAKqT,EAAwB,EACrE,UAAWI,MAASzT,EAAA,KAAKmS,GAAW,OAAM,EACxCsB,GAAM,QAAO,EAEfzT,EAAA,KAAKmS,GAAW,QAChBnS,EAAA,KAAKkS,GAAY,QACjBlS,EAAA,KAAKwS,GAAkB,QACvB1S,GAAA,KAAKmS,EAAgB,MACrBjS,EAAA,KAAK6S,IAAiB,QACtB7S,EAAA,KAAKqS,GAAgB,SACtB,CACD,eAAe,CACb,WAAAjO,EACJ,EAAK,CACDtE,GAAA,KAAKwS,EAAoBlO,GAAa,EACvC,CACD,oBAAqB,CACnBpE,EAAA,KAAKuT,GAAW,OACjB,CACD,iBAAiBzE,GAAQ,CACvB9O,EAAA,KAAKwS,GAAkB,IAAI1D,EAAM,CAClC,CACD,oBAAoBA,GAAQ,CAC1B9O,EAAA,KAAKwS,GAAkB,OAAO1D,EAAM,CACrC,CACD,gBAAgB,CACd,MAAApZ,EACJ,EAAK,CACD,KAAK,eAAc,EACnB,KAAK,eAAe,UAAYA,GAAQwZ,EAAe,cAAc,iBACrE,UAAWJ,MAAU9O,EAAA,KAAKwS,GACxB1D,GAAO,gBAAe,CAEzB,CACD,mBAAmB,CACjB,cAAA4E,EACJ,EAAK,CACD,KAAK,eAAc,EACnB,KAAK,eAAe,SAAWA,EAChC,CACD,uBAAuB5E,GAAQ,CACzB,CAACA,GAAO,QAAS,GAAI9O,EAAA,KAAKoS,IAAsB,CAACpS,EAAA,KAAKoS,GAAmB,IAAItD,GAAO,EAAE,GACxF9O,EAAA,KAAKoS,GAAmB,SAAStD,GAAO,GAAIA,EAAM,CAErD,CAiBD,KAAK1G,GAAO,CAKV,GAJAA,GAAM,eAAc,EAChBpI,EAAA,KAAKiS,IACPjS,EAAA,KAAKiS,GAAc,iBAEjB,CAAC,KAAK,aACR,OAEF,MAAM0B,GAAU,CAAA,EAChB,UAAW7E,MAAU9O,EAAA,KAAK6S,IACnB/D,GAAO,WACV6E,GAAQ,KAAK7E,GAAO,UAAW,CAAA,EAG/B6E,GAAQ,SAAW,GAGvBvL,GAAM,cAAc,QAAQ,oBAAqB,KAAK,UAAUuL,EAAO,CAAC,CACzE,CACD,IAAIvL,GAAO,CACT,KAAK,KAAKA,EAAK,EACf,KAAK,OAAM,CACZ,CACD,MAAMA,GAAO,CACXA,GAAM,eAAc,EACpB,IAAIvI,GAAOuI,GAAM,cAAc,QAAQ,mBAAmB,EAC1D,GAAI,CAACvI,GACH,OAEF,GAAI,CACFA,GAAO,KAAK,MAAMA,EAAI,CACvB,OAAQX,GAAP,IACI8M,EAAM,MAAM,WAAW9M,GAAG,WAAW,EACzC,MACD,CACD,GAAI,CAAC,MAAM,QAAQW,EAAI,EACrB,OAEF,KAAK,YAAW,EAChB,MAAM4T,GAAQzT,EAAA,KAAKmS,GAAW,IAAInS,EAAA,KAAKsS,EAAiB,EACxD,GAAI,CACF,MAAMsB,GAAa,CAAA,EACnB,UAAW9E,KAAUjP,GAAM,CACzB,MAAMgU,GAAqBJ,GAAM,YAAY3E,CAAM,EACnD,GAAI,CAAC+E,GACH,OAEFD,GAAW,KAAKC,EAAkB,EAEpC,MAAM/D,EAAM,IAAM,CAChB,UAAWhB,KAAU8E,GACnB/N,EAAA,KAAKiM,GAAAgC,IAAL,UAAuBhF,GAEzBjJ,EAAA,KAAKmM,GAAA+B,IAAL,UAAoBH,GAC5B,EACY7D,EAAO,IAAM,CACjB,UAAWjB,KAAU8E,GACnB9E,EAAO,OAAM,CAEvB,EACM,KAAK,YAAY,CACf,IAAAgB,EACA,KAAAC,EACA,SAAU,EAClB,CAAO,CACF,OAAQ7Q,GAAP,IACI8M,EAAM,MAAM,WAAW9M,GAAG,WAAW,CAC1C,CACF,CACD,QAAQkJ,GAAO,SACR1E,GAAA,KAAK,UAAW,IAAhB,MAAAA,GAAkB,2BACrBwN,GAA0B,iBAAiB,KAAK,KAAM9I,EAAK,CAE9D,CACD,gBAAgB9N,GAAS,CACnB,CAAC,OAAQ,OAAQ,SAAU,WAAW,EAAE,SAASA,GAAQ,IAAI,GAC/D,KAAKA,GAAQ,IAAI,GAEpB,CAgBD,gBAAgB0Z,GAAW,CACrBA,IACFnO,EAAA,KAAKyL,EAAA2C,IAAL,WACApO,EAAA,KAAK2L,EAAA0C,IAAL,WACArO,EAAA,KAAK6L,EAAAyC,IAAL,UAA2B,CACzB,UAAWnU,EAAA,KAAK4S,KAAU5G,EAAM,qBAAqB,KACrD,QAASnG,EAAA,KAAKkM,GAAAqC,IAAL,WACT,mBAAoBpU,EAAA,KAAKqS,GAAgB,mBAAoB,EAC7D,mBAAoBrS,EAAA,KAAKqS,GAAgB,mBAAoB,EAC7D,kBAAmB,EAC3B,KAEMxM,EAAA,KAAK0L,EAAAiC,IAAL,WACA3N,EAAA,KAAK4L,EAAA4C,IAAL,WACAxO,EAAA,KAAK6L,EAAAyC,IAAL,UAA2B,CACzB,UAAW,EACnB,GAEG,CACD,oBAAoBG,GAAO,CACzB,GAAI,CAAAtU,EAAA,KAAKuS,GAGT,CAAAzS,GAAA,KAAKyS,EAAe+B,IACpB,UAAWC,MAAcvU,EAAA,KAAKuS,GAC5B1M,EAAA,KAAK8L,EAAA6C,IAAL,UAAuBD,GAAW,2BAErC,CACD,OAAQ,CACN,OAAOvU,EAAA,KAAK0S,GAAW,OACxB,CACD,IAAI,cAAe,CACjB,OAAO1S,EAAA,KAAKmS,GAAW,IAAInS,EAAA,KAAKsS,EAAiB,CAClD,CACD,IAAI,kBAAmB,CACrB,OAAOtS,EAAA,KAAKsS,EACb,CACD,SAASmB,GAAO,CACdzT,EAAA,KAAKmS,GAAW,IAAIsB,GAAM,UAAWA,EAAK,EACtCzT,EAAA,KAAK2S,IACPc,GAAM,OAAM,EAEZA,GAAM,QAAO,CAEhB,CACD,YAAYA,GAAO,CACjBzT,EAAA,KAAKmS,GAAW,OAAOsB,GAAM,SAAS,CACvC,CACD,WAAWgB,GAAM,CAEf,GADA3U,GAAA,KAAK8S,EAAQ6B,IACTA,KAASzI,EAAM,qBAAqB,KACtC,KAAK,gBAAgB,EAAK,EAC1BnG,EAAA,KAAKgM,EAAA6C,IAAL,eACK,CACL,KAAK,gBAAgB,EAAI,EACzB7O,EAAA,KAAK+L,EAAA+C,IAAL,WACA,UAAWlB,MAASzT,EAAA,KAAKmS,GAAW,OAAM,EACxCsB,GAAM,WAAWgB,EAAI,EAG1B,CACD,cAAcA,GAAM,CACdA,KAASzU,EAAA,KAAK4S,IAGlB5S,EAAA,KAAKyS,GAAU,SAAS,6BAA8B,CACpD,OAAQ,KACR,KAAAgC,EACN,CAAK,CACF,CACD,aAAapK,GAAMvQ,GAAO,CACxB,GAAKkG,EAAA,KAAKuS,GAGV,WAAWzD,MAAU9O,EAAA,KAAK6S,IACxB/D,GAAO,aAAazE,GAAMvQ,EAAK,EAEjC,UAAWya,MAAcvU,EAAA,KAAKuS,GAC5BgC,GAAW,oBAAoBlK,GAAMvQ,EAAK,EAE7C,CAkBD,WAAW0K,GAAW,CACpB,MAAMmP,GAAU,CAAA,EAChB,UAAW7E,MAAU9O,EAAA,KAAKkS,GAAY,OAAM,EACtCpD,GAAO,YAActK,IACvBmP,GAAQ,KAAK7E,EAAM,EAGvB,OAAO6E,EACR,CACD,UAAUrP,GAAI,CACZ,OAAOtE,EAAA,KAAKkS,GAAY,IAAI5N,EAAE,CAC/B,CACD,UAAUwK,GAAQ,CAChB9O,EAAA,KAAKkS,GAAY,IAAIpD,GAAO,GAAIA,EAAM,CACvC,CACD,aAAaA,GAAQ,QACnB9O,EAAA,KAAKkS,GAAY,OAAOpD,GAAO,EAAE,EACjC,KAAK,SAASA,EAAM,GACpBpL,GAAA1D,EAAA,KAAKoS,KAAL,MAAA1O,GAAyB,OAAOoL,GAAO,GACxC,CASD,gBAAgBA,GAAQ,CAClB9O,EAAA,KAAKiS,KAAkBnD,KAG3BhP,GAAA,KAAKmS,EAAgBnD,IACjBA,IACFjJ,EAAA,KAAK8L,EAAA6C,IAAL,UAAuB1F,GAAO,oBAEjC,CACD,eAAeA,GAAQ,CACrB,GAAI9O,EAAA,KAAK6S,IAAiB,IAAI/D,EAAM,EAAG,CACrC9O,EAAA,KAAK6S,IAAiB,OAAO/D,EAAM,EACnCA,GAAO,SAAQ,EACfjJ,EAAA,KAAK6L,EAAAyC,IAAL,UAA2B,CACzB,kBAAmB,KAAK,YAChC,GACM,OAEFnU,EAAA,KAAK6S,IAAiB,IAAI/D,EAAM,EAChCA,GAAO,OAAM,EACbjJ,EAAA,KAAK8L,EAAA6C,IAAL,UAAuB1F,GAAO,oBAC9BjJ,EAAA,KAAK6L,EAAAyC,IAAL,UAA2B,CACzB,kBAAmB,EACzB,EACG,CACD,YAAYrF,GAAQ,CAClB,UAAW8F,MAAM5U,EAAA,KAAK6S,IAChB+B,KAAO9F,IACT8F,GAAG,SAAQ,EAGf5U,EAAA,KAAK6S,IAAiB,QACtB7S,EAAA,KAAK6S,IAAiB,IAAI/D,EAAM,EAChCA,GAAO,OAAM,EACbjJ,EAAA,KAAK8L,EAAA6C,IAAL,UAAuB1F,GAAO,oBAC9BjJ,EAAA,KAAK6L,EAAAyC,IAAL,UAA2B,CACzB,kBAAmB,EACzB,EACG,CACD,WAAWrF,GAAQ,CACjB,OAAO9O,EAAA,KAAK6S,IAAiB,IAAI/D,EAAM,CACxC,CACD,SAASA,GAAQ,CACfA,GAAO,SAAQ,EACf9O,EAAA,KAAK6S,IAAiB,OAAO/D,EAAM,EACnCjJ,EAAA,KAAK6L,EAAAyC,IAAL,UAA2B,CACzB,kBAAmB,KAAK,YAC9B,EACG,CACD,IAAI,cAAe,CACjB,OAAOnU,EAAA,KAAK6S,IAAiB,OAAS,CACvC,CACD,MAAO,CACL7S,EAAA,KAAKqS,GAAgB,OACrBxM,EAAA,KAAK6L,EAAAyC,IAAL,UAA2B,CACzB,mBAAoBnU,EAAA,KAAKqS,GAAgB,mBAAoB,EAC7D,mBAAoB,GACpB,QAASxM,EAAA,KAAKkM,GAAAqC,IAAL,UACf,EACG,CACD,MAAO,CACLpU,EAAA,KAAKqS,GAAgB,OACrBxM,EAAA,KAAK6L,EAAAyC,IAAL,UAA2B,CACzB,mBAAoB,GACpB,mBAAoBnU,EAAA,KAAKqS,GAAgB,mBAAoB,EAC7D,QAASxM,EAAA,KAAKkM,GAAAqC,IAAL,UACf,EACG,CACD,YAAYxe,GAAQ,CAClBoK,EAAA,KAAKqS,GAAgB,IAAIzc,EAAM,EAC/BiQ,EAAA,KAAK6L,EAAAyC,IAAL,UAA2B,CACzB,mBAAoB,GACpB,mBAAoB,GACpB,QAAStO,EAAA,KAAKkM,GAAAqC,IAAL,UACf,EACG,CAYD,QAAS,CAEP,GADA,KAAK,eAAc,EACf,CAAC,KAAK,aACR,OAEF,MAAMT,GAAU,CAAC,GAAG3T,EAAA,KAAK6S,GAAgB,EACnC/C,GAAM,IAAM,CAChB,UAAWhB,MAAU6E,GACnB7E,GAAO,OAAM,CAErB,EACUiB,GAAO,IAAM,CACjB,UAAWjB,MAAU6E,GACnB9N,EAAA,KAAKiM,GAAAgC,IAAL,UAAuBhF,GAE/B,EACI,KAAK,YAAY,CACf,IAAAgB,GACA,KAAAC,GACA,SAAU,EAChB,CAAK,CACF,CACD,gBAAiB,SACfrM,GAAA1D,EAAA,KAAKiS,KAAL,MAAAvO,GAAoB,gBACrB,CAcD,WAAY,CACV,UAAWoL,MAAU9O,EAAA,KAAK6S,IACxB/D,GAAO,OAAM,EAEfjJ,EAAA,KAAKmM,GAAA+B,IAAL,UAAoB/T,EAAA,KAAKkS,GAAY,OAAQ,EAC9C,CACD,aAAc,CACZ,GAAIlS,EAAA,KAAKiS,GAAe,CACtBjS,EAAA,KAAKiS,GAAc,iBACnB,OAEF,GAAIjS,EAAA,KAAK6S,IAAiB,OAAS,EAGnC,WAAW/D,MAAU9O,EAAA,KAAK6S,IACxB/D,GAAO,SAAQ,EAEjB9O,EAAA,KAAK6S,IAAiB,QACtBhN,EAAA,KAAK6L,EAAAyC,IAAL,UAA2B,CACzB,kBAAmB,EACzB,GACG,CACD,SAASrF,GAAQ,CACf,OAAO9O,EAAA,KAAKiS,KAAkBnD,EAC/B,CACD,WAAY,CACV,OAAO9O,EAAA,KAAKiS,EACb,CACD,SAAU,CACR,OAAOjS,EAAA,KAAK4S,EACb,CACF,EAteD,IAAMiC,EAAN3D,GACEe,EAAA,YACAC,EAAA,YACAC,EAAA,YACAC,EAAA,YACAC,EAAA,YACAC,EAAA,YACAC,EAAA,YACAC,EAAA,YACAC,EAAA,YACAC,EAAA,YACAC,GAAA,YACAC,EAAA,YACAC,GAAA,YACAC,GAAA,YACAC,GAAA,YACAC,GAAA,YACAC,GAAA,YACAC,EAAA,YACAC,GAAA,YACAC,GAAA,YACAC,EAAA,YACAC,EAAA,YAOAC,EAAA,YAiEAjC,EAAA,YAAA2C,GAAmB,UAAG,CACpBjU,EAAA,KAAKuT,GAAW,iBAAiB,UAAWvT,EAAA,KAAKiT,GAAa,CAC/D,EACD1B,EAAA,YAAAiC,GAAsB,UAAG,CACvBxT,EAAA,KAAKuT,GAAW,oBAAoB,UAAWvT,EAAA,KAAKiT,GAAa,CAClE,EACDzB,EAAA,YAAA0C,GAAsB,UAAG,CACvB,SAAS,iBAAiB,OAAQlU,EAAA,KAAK8S,GAAU,EACjD,SAAS,iBAAiB,MAAO9S,EAAA,KAAK+S,GAAS,EAC/C,SAAS,iBAAiB,QAAS/S,EAAA,KAAKgT,GAAW,CACpD,EACDvB,EAAA,YAAA4C,GAAyB,UAAG,CAC1B,SAAS,oBAAoB,OAAQrU,EAAA,KAAK8S,GAAU,EACpD,SAAS,oBAAoB,MAAO9S,EAAA,KAAK+S,GAAS,EAClD,SAAS,oBAAoB,QAAS/S,EAAA,KAAKgT,GAAW,CACvD,EAgFDtB,EAAA,YAAAyC,GAAqB,SAAC7Z,GAAS,CACV,OAAO,QAAQA,EAAO,EAAE,KAAK,CAAC,CAACgB,GAAKxB,EAAK,IAAMkG,EAAA,KAAKsT,GAAgBhY,EAAG,IAAMxB,EAAK,GAEnGkG,EAAA,KAAKyS,GAAU,SAAS,gCAAiC,CACvD,OAAQ,KACR,QAAS,OAAO,OAAOzS,EAAA,KAAKsT,GAAiBhZ,EAAO,CAC5D,CAAO,CAEJ,EACDqX,EAAA,YAAA6C,GAAiB,SAACla,GAAS,CACzB0F,EAAA,KAAKyS,GAAU,SAAS,gCAAiC,CACvD,OAAQ,KACR,QAAAnY,EACN,CAAK,CACF,EAkFDsX,EAAA,YAAA+C,GAAU,UAAG,CACX,GAAI,CAAC3U,EAAA,KAAK2S,IAAY,CACpB7S,GAAA,KAAK6S,GAAa,IAClB,UAAWc,MAASzT,EAAA,KAAKmS,GAAW,OAAM,EACxCsB,GAAM,OAAM,EAGjB,EACD5B,EAAA,YAAA6C,GAAW,UAAG,CAEZ,GADA,KAAK,YAAW,EACZ1U,EAAA,KAAK2S,IAAY,CACnB7S,GAAA,KAAK6S,GAAa,IAClB,UAAWc,MAASzT,EAAA,KAAKmS,GAAW,OAAM,EACxCsB,GAAM,QAAO,EAGlB,EAqBD3B,GAAA,YAAAgC,GAAiB,SAAChF,GAAQ,CACxB,MAAM2E,GAAQzT,EAAA,KAAKmS,GAAW,IAAIrD,GAAO,SAAS,EAC9C2E,GACFA,GAAM,aAAa3E,EAAM,EAEzB,KAAK,UAAUA,EAAM,CAExB,EA6EDiD,GAAA,YAAAqC,GAAQ,UAAG,CACT,GAAIpU,EAAA,KAAKkS,GAAY,OAAS,EAC5B,MAAO,GAET,GAAIlS,EAAA,KAAKkS,GAAY,OAAS,EAC5B,UAAWpD,MAAU9O,EAAA,KAAKkS,GAAY,OAAM,EAC1C,OAAOpD,GAAO,UAGlB,MAAO,EACR,EA0BDkD,GAAA,YAAA+B,GAAc,SAACJ,GAAS,CACtB3T,EAAA,KAAK6S,IAAiB,QACtB,UAAW/D,MAAU6E,GACf7E,GAAO,YAGX9O,EAAA,KAAK6S,IAAiB,IAAI/D,EAAM,EAChCA,GAAO,OAAM,GAEfjJ,EAAA,KAAK6L,EAAAyC,IAAL,UAA2B,CACzB,kBAAmB,EACzB,EACG,EAxaD1G,GA9BIoH,EA8BG,mBAAmB,IAAIxE,EAAgB,CAAC,CAAC,CAAC,SAAU,YAAY,EAAGa,GAA0B,UAAU,SAAS,EAAG,CAAC,CAAC,SAAU,YAAY,EAAGA,GAA0B,UAAU,IAAI,EAAG,CAAC,CAAC,SAAU,eAAgB,kBAAkB,EAAGA,GAA0B,UAAU,IAAI,EAAG,CAAC,CAAC,YAAa,gBAAiB,iBAAkB,kBAAmB,gBAAiB,oBAAqB,qBAAsB,SAAU,cAAe,cAAc,EAAGA,GAA0B,UAAU,MAAM,EAAG,CAAC,CAAC,SAAU,YAAY,EAAGA,GAA0B,UAAU,WAAW,CAAC,CAAC,GAyclkBjb,EAAQ,0BAA4B4e,CAE7B,EAEA,CAAC7e,EAAyBC,EAAS8V,IAAwB,0CAIlE,OAAO,eAAe9V,EAAS,aAAe,CAC5C,MAAO,EACT,GACAA,EAAQ,UAAYA,EAAQ,4BAA8BA,EAAQ,cAAgBA,EAAQ,aAAeA,EAAQ,cAAgBA,EAAQ,2BAA6BA,EAAQ,cAAgBA,EAAQ,iBAAmBA,EAAQ,iBAAmBA,EAAQ,qBAAuBA,EAAQ,iBAAmB,OAC9SA,EAAQ,WAAa6e,EACrB7e,EAAQ,eAAiB8e,EACzB9e,EAAQ,oBAAsB+e,EAC9B/e,EAAQ,2BAA6Bgf,GACrChf,EAAQ,mBAAqBif,EAC7Bjf,EAAQ,sBAAwBkf,EAChClf,EAAQ,OAASmf,EACjBnf,EAAQ,mBAAqBof,EAC7Bpf,EAAQ,aAAeqf,EACvBrf,EAAQ,UAAYsf,EACpBtf,EAAQ,gBAAkBuf,EAC1Bvf,EAAQ,WAAawf,EACrBxf,EAAQ,mBAAqByf,EAC7B,IAAIC,EAAgB5J,EAAoB,CAAC,EACrCC,EAAQD,EAAoB,CAAC,EACjC,MAAM6J,GAAS,6BACTC,EAAmB,qBACzB5f,EAAQ,iBAAmB4f,EAC3B,MAAMC,GAAN,KAAoB,CAInB,EAJD,IAAMC,EAAND,GACErI,GADIsI,EACG,MAAM,IACbtI,GAFIsI,EAEG,MAAM,IACbtI,GAHIsI,EAGG,mBAAmBD,GAAK,IAAMA,GAAK,KAE5C7f,EAAQ,cAAgB8f,EACxB,MAAMC,UAAyBL,EAAc,iBAAkB,CAS7D,YAAY,CACV,MAAA9U,EACA,cAAAoB,EAAgB,WAAW,QAC5B,EAAG,GAAI,CACN,QAIFxC,EAAA,KAAIwW,GAGJxW,EAAA,KAAIyW,GAsBJzW,EAAA,KAAA0W,GAzCA1W,EAAA,KAAA2W,GAAA,QACA3W,EAAA,KAAA4W,GAAA,QACA5W,EAAA,KAAAgE,GAAA,QACAhE,EAAA,KAAA6W,GAAA,QACA7W,EAAA,KAAA8W,EAAA,QACA9W,EAAA,KAAA+W,GAAA,QACA/W,EAAA,KAAAgX,GAAA,QACAhX,EAAA,KAAA8P,EAAM,GAMJzP,GAAA,KAAK2D,GAAS5C,GACdf,GAAA,KAAKwW,GAAYrU,EAClB,CAgCD,UAAUyU,EAAM,CACd,GAAI,CAACA,EACH,MAAO,OAET,IAAI5c,EAAQkG,EAAA,KAAKiW,EAAAU,IAAO,IAAID,CAAI,EAChC,GAAI5c,EACF,OAAOA,EAET,IAAI8c,EAAQC,EAAQC,EAAQxb,EAC5B,GAAIob,EAAK,SAAW,EAAG,CACrB,MAAMK,GAAOL,EAAK,CAAC,EACbzX,GAAS,IAAI,MAAM,GAAG,EAC5B,QAAShE,GAAI,EAAGA,GAAI,IAAKA,KACvBgE,GAAOhE,EAAC,EAAI8b,GAAK9b,EAAC,EAAI,IAExBK,EAAMsb,EAASC,EAASC,EAAS7X,GAAO,KAAK,GAAG,MAC3C,CACL,KAAM,CAAC8X,GAAMC,GAAMC,EAAI,EAAIP,EACrBQ,GAAU,IAAI,MAAM,GAAG,EACvBC,GAAU,IAAI,MAAM,GAAG,EACvBC,GAAU,IAAI,MAAM,GAAG,EAC7B,QAASnc,GAAI,EAAGA,GAAI,IAAKA,KACvBic,GAAQjc,EAAC,EAAI8b,GAAK9b,EAAC,EAAI,IACvBkc,GAAQlc,EAAC,EAAI+b,GAAK/b,EAAC,EAAI,IACvBmc,GAAQnc,EAAC,EAAIgc,GAAKhc,EAAC,EAAI,IAEzB2b,EAASM,GAAQ,KAAK,GAAG,EACzBL,EAASM,GAAQ,KAAK,GAAG,EACzBL,EAASM,GAAQ,KAAK,GAAG,EACzB9b,EAAM,GAAGsb,IAASC,IAASC,IAG7B,GADAhd,EAAQkG,EAAA,KAAKiW,EAAAU,IAAO,IAAIrb,CAAG,EACvBxB,EACF,OAAAkG,EAAA,KAAKiW,EAAAU,IAAO,IAAID,EAAM5c,CAAK,EACpBA,EAET,MAAMwK,EAAK,KAAKtE,EAAA,KAAKyD,oBAAuBD,GAAA,KAAK+L,GAAL,MACtC5Z,GAAM,QAAQ2O,KACpBtE,EAAA,KAAKiW,EAAAU,IAAO,IAAID,EAAM/gB,EAAG,EACzBqK,EAAA,KAAKiW,EAAAU,IAAO,IAAIrb,EAAK3F,EAAG,EACxB,MAAM0hB,EAASrX,EAAA,KAAKsW,IAAU,gBAAgBV,GAAQ,SAAUA,EAAM,EACtEyB,EAAO,aAAa,KAAM/S,CAAE,EAC5B+S,EAAO,aAAa,8BAA+B,MAAM,EACzD,MAAMC,EAAsBtX,EAAA,KAAKsW,IAAU,gBAAgBV,GAAQ,qBAAqB,EACxF,OAAAyB,EAAO,OAAOC,CAAmB,EACjCzR,EAAA,KAAKsQ,EAAAoB,IAAL,UAAmBD,EAAqB,UAAWV,GACnD/Q,EAAA,KAAKsQ,EAAAoB,IAAL,UAAmBD,EAAqB,UAAWT,GACnDhR,EAAA,KAAKsQ,EAAAoB,IAAL,UAAmBD,EAAqB,UAAWR,GACnD9W,EAAA,KAAKkW,EAAAsB,IAAM,OAAOH,CAAM,EACjB1hB,EACR,CACD,aAAa8hB,EAASC,EAAS,QAC7B,MAAMpc,EAAM,GAAGmc,KAAWC,IAC1B,GAAI1X,EAAA,KAAKwW,MAAYlb,EACnB,OAAO0E,EAAA,KAAKyW,IAKd,GAHA3W,GAAA,KAAK0W,GAAUlb,GACfwE,GAAA,KAAK2W,GAAU,SACf/S,GAAA1D,EAAA,KAAKuW,KAAL,MAAA7S,GAAiB,SACb,CAAC+T,GAAW,CAACC,EACf,OAAO1X,EAAA,KAAKyW,IAEdzW,EAAA,KAAKkW,EAAAsB,IAAM,MAAM,MAAQC,EACzBA,EAAU,iBAAiBzX,EAAA,KAAKkW,EAAAsB,GAAK,EAAE,iBAAiB,OAAO,EAC/D,MAAMG,EAAQvC,EAAOqC,CAAO,EAC5BA,EAAUzL,EAAM,KAAK,aAAa,GAAG2L,CAAK,EAC1C3X,EAAA,KAAKkW,EAAAsB,IAAM,MAAM,MAAQE,EACzBA,EAAU,iBAAiB1X,EAAA,KAAKkW,EAAAsB,GAAK,EAAE,iBAAiB,OAAO,EAC/D,MAAMI,EAAQxC,EAAOsC,CAAO,EAG5B,GAFAA,EAAU1L,EAAM,KAAK,aAAa,GAAG4L,CAAK,EAC1C5X,EAAA,KAAKkW,EAAAsB,IAAM,MAAM,MAAQ,GACrBC,IAAY,WAAaC,IAAY,WAAaD,IAAYC,EAChE,OAAO1X,EAAA,KAAKyW,IAEd,MAAMpb,EAAM,IAAI,MAAM,GAAG,EACzB,QAASJ,GAAI,EAAGA,IAAK,IAAKA,KAAK,CAC7B,MAAM+S,GAAI/S,GAAI,IACdI,EAAIJ,EAAC,EAAI+S,IAAK,OAAUA,GAAI,QAAUA,GAAI,MAAS,QAAU,IAE/D,MAAM6J,EAAQxc,EAAI,KAAK,GAAG,EACpBiJ,GAAK,KAAKtE,EAAA,KAAKyD,iBACf4T,EAASvX,GAAA,KAAKyW,EAAavW,EAAA,KAAKsW,IAAU,gBAAgBV,GAAQ,SAAUA,EAAM,GACxFyB,EAAO,aAAa,KAAM/S,EAAE,EAC5B+S,EAAO,aAAa,8BAA+B,MAAM,EACzD,IAAIC,EAAsBtX,EAAA,KAAKsW,IAAU,gBAAgBV,GAAQ,qBAAqB,EACtFyB,EAAO,OAAOC,CAAmB,EACjCzR,EAAA,KAAKsQ,EAAAoB,IAAL,UAAmBD,EAAqB,UAAWO,GACnDhS,EAAA,KAAKsQ,EAAAoB,IAAL,UAAmBD,EAAqB,UAAWO,GACnDhS,EAAA,KAAKsQ,EAAAoB,IAAL,UAAmBD,EAAqB,UAAWO,GACnD,MAAMC,GAAgB9X,EAAA,KAAKsW,IAAU,gBAAgBV,GAAQ,eAAe,EAC5EkC,GAAc,aAAa,OAAQ,QAAQ,EAC3CA,GAAc,aAAa,SAAU,sFAAsF,EAC3HT,EAAO,OAAOS,EAAa,EAC3BR,EAAsBtX,EAAA,KAAKsW,IAAU,gBAAgBV,GAAQ,qBAAqB,EAClFyB,EAAO,OAAOC,CAAmB,EACjC,MAAMS,GAAW,CAAC9a,GAAGrB,KAAM,CACzB,MAAMoc,GAAQL,EAAM1a,EAAC,EAAI,IACnBiH,GAAM0T,EAAM3a,EAAC,EAAI,IACjBgb,GAAM,IAAI,MAAMrc,GAAI,CAAC,EAC3B,QAASX,GAAI,EAAGA,IAAKW,GAAGX,KACtBgd,GAAIhd,EAAC,EAAI+c,GAAQ/c,GAAIW,IAAKsI,GAAM8T,IAElC,OAAOC,GAAI,KAAK,GAAG,CACzB,EACI,OAAApS,EAAA,KAAKsQ,EAAAoB,IAAL,UAAmBD,EAAqB,UAAWS,GAAS,EAAG,CAAC,GAChElS,EAAA,KAAKsQ,EAAAoB,IAAL,UAAmBD,EAAqB,UAAWS,GAAS,EAAG,CAAC,GAChElS,EAAA,KAAKsQ,EAAAoB,IAAL,UAAmBD,EAAqB,UAAWS,GAAS,EAAG,CAAC,GAChE/X,EAAA,KAAKkW,EAAAsB,IAAM,OAAOH,CAAM,EACxBvX,GAAA,KAAK2W,GAAU,QAAQnS,OAChBtE,EAAA,KAAKyW,GACb,CACD,QAAQyB,EAAU,GAAO,CACnBA,GAAWlY,EAAA,KAAKyW,MAGhBzW,EAAA,KAAKqW,MACPrW,EAAA,KAAKqW,IAAO,WAAW,WAAW,OAAM,EACxCvW,GAAA,KAAKuW,GAAS,OAEZrW,EAAA,KAAKoW,MACPpW,EAAA,KAAKoW,IAAQ,QACbtW,GAAA,KAAKsW,GAAU,OAEjBtW,GAAA,KAAKyP,EAAM,GACZ,CACF,CA5KC6G,GAAA,YACAC,GAAA,YACA5S,GAAA,YACA6S,GAAA,YACAC,EAAA,YACAC,GAAA,YACAC,GAAA,YACAlH,EAAA,YASI0G,EAAA,YAAAU,GAAM,UAAG,CACX,OAAO3W,EAAA,KAAKoW,KAALtW,GAAA,KAAKsW,GAAY,IAAI,IAC7B,EACGF,EAAA,YAAAsB,GAAK,UAAG,CACV,GAAI,CAACxX,EAAA,KAAKqW,IAAQ,CAChB,MAAM8B,EAAMnY,EAAA,KAAKsW,IAAU,cAAc,KAAK,EACxC,CACJ,MAAA/H,CACD,EAAG4J,EACJ5J,EAAM,WAAa,SACnBA,EAAM,QAAU,SAChBA,EAAM,MAAQA,EAAM,OAAS,EAC7BA,EAAM,SAAW,WACjBA,EAAM,IAAMA,EAAM,KAAO,EACzBA,EAAM,OAAS,GACf,MAAM6J,EAAMpY,EAAA,KAAKsW,IAAU,gBAAgBV,GAAQ,KAAK,EACxDwC,EAAI,aAAa,QAAS,CAAC,EAC3BA,EAAI,aAAa,SAAU,CAAC,EAC5BtY,GAAA,KAAKuW,GAASrW,EAAA,KAAKsW,IAAU,gBAAgBV,GAAQ,MAAM,GAC3DuC,EAAI,OAAOC,CAAG,EACdA,EAAI,OAAOpY,EAAA,KAAKqW,GAAM,EACtBrW,EAAA,KAAKsW,IAAU,KAAK,OAAO6B,CAAG,EAEhC,OAAOnY,EAAA,KAAKqW,GACb,EACDF,EAAA,YAAAoB,GAAa,SAACD,EAAqBe,EAAMR,EAAO,CAC9C,MAAMS,EAAStY,EAAA,KAAKsW,IAAU,gBAAgBV,GAAQyC,CAAI,EAC1DC,EAAO,aAAa,OAAQ,UAAU,EACtCA,EAAO,aAAa,cAAeT,CAAK,EACxCP,EAAoB,OAAOgB,CAAM,CAClC,EA+HHriB,EAAQ,iBAAmB+f,EAC3B,MAAMuC,UAAyB5C,EAAc,iBAAkB,CAC7D,YAAY,CACV,cAAA1T,EAAgB,WAAW,QAC5B,EAAG,GAAI,CACN,QACA,KAAK,UAAYA,CAClB,CACD,cAAc2I,EAAOC,EAAQ,CAC3B,MAAM2N,EAAS,KAAK,UAAU,cAAc,QAAQ,EACpD,OAAAA,EAAO,MAAQ5N,EACf4N,EAAO,OAAS3N,EACT2N,CACR,CACF,CACDviB,EAAQ,iBAAmBsiB,EAC3B,eAAeE,EAAU9iB,EAAK+iB,EAAe,GAAO,CAClD,GAAIlD,EAAgB7f,EAAK,SAAS,OAAO,EAAG,CAC1C,MAAME,EAAW,MAAM,MAAMF,CAAG,EAChC,GAAI,CAACE,EAAS,GACZ,MAAM,IAAI,MAAMA,EAAS,UAAU,EAErC,OAAO6iB,EAAe,IAAI,WAAW,MAAM7iB,EAAS,YAAa,CAAA,KAAQmW,EAAM,eAAe,MAAMnW,EAAS,KAAM,CAAA,EAErH,OAAO,IAAI,QAAQ,CAAC8J,EAASC,IAAW,CACtC,MAAM+Y,EAAU,IAAI,eACpBA,EAAQ,KAAK,MAAOhjB,EAAK,EAAI,EACzB+iB,IACFC,EAAQ,aAAe,eAEzBA,EAAQ,mBAAqB,IAAM,CACjC,GAAIA,EAAQ,aAAe,eAAe,KAG1C,IAAIA,EAAQ,SAAW,KAAOA,EAAQ,SAAW,EAAG,CAClD,IAAI9Y,EAMJ,GALI6Y,GAAgBC,EAAQ,SAC1B9Y,EAAO,IAAI,WAAW8Y,EAAQ,QAAQ,EAC7B,CAACD,GAAgBC,EAAQ,eAClC9Y,KAAWmM,EAAM,eAAe2M,EAAQ,YAAY,GAElD9Y,EAAM,CACRF,EAAQE,CAAI,EACZ,QAGJD,EAAO,IAAI,MAAM+Y,EAAQ,UAAU,CAAC,EAC1C,EACIA,EAAQ,KAAK,IAAI,CACrB,CAAG,CACF,CACD,MAAMC,UAA6BjD,EAAc,qBAAsB,CACrE,WAAWhgB,EAAKkjB,EAAiB,CAC/B,OAAOJ,EAAU9iB,EAAK,KAAK,YAAY,EAAE,KAAKkK,IACrC,CACL,SAAUA,EACV,gBAAAgZ,CACR,EACK,CACF,CACF,CACD5iB,EAAQ,qBAAuB2iB,EAC/B,MAAME,UAAmCnD,EAAc,2BAA4B,CACjF,WAAWhgB,EAAK,CACd,OAAO8iB,EAAU9iB,EAAK,EAAI,CAC3B,CACF,CACDM,EAAQ,2BAA6B6iB,EACrC,MAAMC,UAAsBpD,EAAc,cAAe,CACvD,WAAWtL,EAAM,CACf,OAAO,SAAS,gBAAgBuL,GAAQvL,CAAI,CAC7C,CACF,CACDpU,EAAQ,cAAgB8iB,EACxB,MAAMC,CAAa,CACjB,YAAY,CACV,QAAAC,EACA,MAAAvjB,EACA,SAAAoP,EACA,QAAAC,EAAU,EACV,QAAAC,EAAU,EACV,SAAAC,EAAW,EACf,EAAK,CACD,KAAK,QAAUgU,EACf,KAAK,MAAQvjB,EACb,KAAK,SAAWoP,EAChB,KAAK,QAAUC,EACf,KAAK,QAAUC,EACf,MAAMkU,GAAWD,EAAQ,CAAC,EAAIA,EAAQ,CAAC,GAAK,EACtCE,GAAWF,EAAQ,CAAC,EAAIA,EAAQ,CAAC,GAAK,EAC5C,IAAIG,GAASC,EAASC,EAASC,GAK/B,OAJAzU,GAAY,IACRA,EAAW,IACbA,GAAY,KAENA,EAAQ,CACd,IAAK,KACHsU,GAAU,GACVC,EAAU,EACVC,EAAU,EACVC,GAAU,EACV,MACF,IAAK,IACHH,GAAU,EACVC,EAAU,EACVC,EAAU,EACVC,GAAU,EACV,MACF,IAAK,KACHH,GAAU,EACVC,EAAU,GACVC,EAAU,GACVC,GAAU,EACV,MACF,IAAK,GACHH,GAAU,EACVC,EAAU,EACVC,EAAU,EACVC,GAAU,GACV,MACF,QACE,MAAM,IAAI,MAAM,mEAAmE,CACtF,CACGtU,IACFqU,EAAU,CAACA,EACXC,GAAU,CAACA,IAEb,IAAIC,GAAeC,GACf7O,GAAOC,GACPuO,KAAY,GACdI,GAAgB,KAAK,IAAIL,EAAUF,EAAQ,CAAC,CAAC,EAAIvjB,EAAQqP,EACzD0U,GAAgB,KAAK,IAAIP,EAAUD,EAAQ,CAAC,CAAC,EAAIvjB,EAAQsP,EACzD4F,IAASqO,EAAQ,CAAC,EAAIA,EAAQ,CAAC,GAAKvjB,EACpCmV,IAAUoO,EAAQ,CAAC,EAAIA,EAAQ,CAAC,GAAKvjB,IAErC8jB,GAAgB,KAAK,IAAIN,EAAUD,EAAQ,CAAC,CAAC,EAAIvjB,EAAQqP,EACzD0U,GAAgB,KAAK,IAAIN,EAAUF,EAAQ,CAAC,CAAC,EAAIvjB,EAAQsP,EACzD4F,IAASqO,EAAQ,CAAC,EAAIA,EAAQ,CAAC,GAAKvjB,EACpCmV,IAAUoO,EAAQ,CAAC,EAAIA,EAAQ,CAAC,GAAKvjB,GAEvC,KAAK,UAAY,CAAC0jB,GAAU1jB,EAAO2jB,EAAU3jB,EAAO4jB,EAAU5jB,EAAO6jB,GAAU7jB,EAAO8jB,GAAgBJ,GAAU1jB,EAAQwjB,EAAUI,EAAU5jB,EAAQyjB,EAASM,GAAgBJ,EAAU3jB,EAAQwjB,EAAUK,GAAU7jB,EAAQyjB,CAAO,EAClO,KAAK,MAAQvO,GACb,KAAK,OAASC,EACf,CACD,IAAI,SAAU,CACZ,KAAM,CACJ,QAAAoO,CACD,EAAG,KACJ,SAAWjN,EAAM,QAAQ,KAAM,UAAW,CACxC,UAAWiN,EAAQ,CAAC,EAAIA,EAAQ,CAAC,EACjC,WAAYA,EAAQ,CAAC,EAAIA,EAAQ,CAAC,EAClC,MAAOA,EAAQ,CAAC,EAChB,MAAOA,EAAQ,CAAC,CACtB,CAAK,CACF,CACD,MAAM,CACJ,MAAAvjB,EAAQ,KAAK,MACb,SAAAoP,EAAW,KAAK,SAChB,QAAAC,EAAU,KAAK,QACf,QAAAC,EAAU,KAAK,QACf,SAAAC,EAAW,EACZ,EAAG,GAAI,CACN,OAAO,IAAI+T,EAAa,CACtB,QAAS,KAAK,QAAQ,MAAO,EAC7B,MAAAtjB,EACA,SAAAoP,EACA,QAAAC,EACA,QAAAC,EACA,SAAAC,CACN,CAAK,CACF,CACD,uBAAuB+I,EAAGC,EAAG,CAC3B,OAAOjC,EAAM,KAAK,eAAe,CAACgC,EAAGC,CAAC,EAAG,KAAK,SAAS,CACxD,CACD,2BAA2B3Q,EAAM,CAC/B,MAAMoc,EAAU1N,EAAM,KAAK,eAAe,CAAC1O,EAAK,CAAC,EAAGA,EAAK,CAAC,CAAC,EAAG,KAAK,SAAS,EACtEqc,EAAc3N,EAAM,KAAK,eAAe,CAAC1O,EAAK,CAAC,EAAGA,EAAK,CAAC,CAAC,EAAG,KAAK,SAAS,EAChF,MAAO,CAACoc,EAAQ,CAAC,EAAGA,EAAQ,CAAC,EAAGC,EAAY,CAAC,EAAGA,EAAY,CAAC,CAAC,CAC/D,CACD,kBAAkB3L,EAAGC,EAAG,CACtB,OAAOjC,EAAM,KAAK,sBAAsB,CAACgC,EAAGC,CAAC,EAAG,KAAK,SAAS,CAC/D,CACF,CACDhY,EAAQ,aAAe+iB,EACvB,MAAMY,UAAoC5N,EAAM,aAAc,CAC5D,YAAY3S,EAAKgR,EAAMmB,EAAa,EAAG,CACrC,MAAMnS,EAAK,6BAA6B,EACxC,KAAK,KAAOgR,EACZ,KAAK,WAAamB,CACnB,CACF,CACDvV,EAAQ,4BAA8B2jB,EACtC,SAAStE,EAAa3f,EAAK,CACzB,MAAMwJ,EAAKxJ,EAAI,OACf,IAAIsF,EAAI,EACR,KAAOA,EAAIkE,GAAMxJ,EAAIsF,CAAC,EAAE,KAAM,IAAK,IACjCA,IAEF,OAAOtF,EAAI,UAAUsF,EAAGA,EAAI,CAAC,EAAE,YAAa,IAAK,OAClD,CACD,SAASsa,EAAUsE,EAAU,CAC3B,OAAO,OAAOA,GAAa,UAAY,UAAU,KAAKA,CAAQ,CAC/D,CACD,SAAS3E,EAAmBvf,EAAKmkB,EAAgB,GAAO,CACtD,OAAKA,IACH,CAACnkB,CAAG,EAAIA,EAAI,MAAM,OAAQ,CAAC,GAEtBA,EAAI,UAAUA,EAAI,YAAY,GAAG,EAAI,CAAC,CAC9C,CACD,SAASwf,EAAsBxf,EAAKokB,EAAkB,eAAgB,CACpE,GAAI,OAAOpkB,GAAQ,SACjB,OAAOokB,EAET,GAAIzE,EAAa3f,CAAG,EAClB,SAAIqW,EAAM,MAAM,oEAAoE,EAC7E+N,EAET,MAAMC,EAAQ,sDACRC,EAAa,gCACbC,EAAWF,EAAM,KAAKrkB,CAAG,EAC/B,IAAIwkB,EAAoBF,EAAW,KAAKC,EAAS,CAAC,CAAC,GAAKD,EAAW,KAAKC,EAAS,CAAC,CAAC,GAAKD,EAAW,KAAKC,EAAS,CAAC,CAAC,EACnH,GAAIC,IACFA,EAAoBA,EAAkB,CAAC,EACnCA,EAAkB,SAAS,GAAG,GAChC,GAAI,CACFA,EAAoBF,EAAW,KAAK,mBAAmBE,CAAiB,CAAC,EAAE,CAAC,CACpF,MAAQ,CAAa,CAGnB,OAAOA,GAAqBJ,CAC7B,CACD,MAAMK,CAAU,CAAhB,cACE3M,GAAA,eAAU,OAAO,OAAO,IAAI,GAC5BA,GAAA,aAAQ,CAAA,GACR,KAAKvT,EAAM,CACLA,KAAQ,KAAK,YACX8R,EAAM,MAAM,gCAAgC9R,GAAM,EAExD,KAAK,QAAQA,CAAI,EAAI,KAAK,IAAG,CAC9B,CACD,QAAQA,EAAM,CACNA,KAAQ,KAAK,YACb8R,EAAM,MAAM,kCAAkC9R,GAAM,EAE1D,KAAK,MAAM,KAAK,CACd,KAAAA,EACA,MAAO,KAAK,QAAQA,CAAI,EACxB,IAAK,KAAK,IAAK,CACrB,CAAK,EACD,OAAO,KAAK,QAAQA,CAAI,CACzB,CACD,UAAW,CACT,MAAMmgB,EAAS,CAAA,EACf,IAAIC,EAAU,EACd,SAAW,CACT,KAAApgB,CACN,IAAS,KAAK,MACRogB,EAAU,KAAK,IAAIpgB,EAAK,OAAQogB,CAAO,EAEzC,SAAW,CACT,KAAApgB,EACA,MAAA8d,EACA,IAAA9T,CACN,IAAS,KAAK,MACRmW,EAAO,KAAK,GAAGngB,EAAK,OAAOogB,CAAO,KAAKpW,EAAM8T;AAAA,CAAW,EAE1D,OAAOqC,EAAO,KAAK,EAAE,CACtB,CACF,CACDpkB,EAAQ,UAAYmkB,EACpB,SAAS5E,EAAgB7f,EAAK6D,EAAS,CACrC,GAAI,CACF,KAAM,CACJ,SAAA+gB,CACN,EAAQ/gB,EAAU,IAAI,IAAI7D,EAAK6D,CAAO,EAAI,IAAI,IAAI7D,CAAG,EACjD,OAAO4kB,IAAa,SAAWA,IAAa,QAC7C,MAAC,CACA,MAAO,EACR,CACF,CACD,SAAS9E,EAAW9U,EAAK6Z,EAAsB,GAAO,CACpD,OAAO,IAAI,QAAQ,CAAC7a,EAASC,IAAW,CACtC,MAAM6a,EAAS,SAAS,cAAc,QAAQ,EAC9CA,EAAO,IAAM9Z,EACb8Z,EAAO,OAAS,SAAU3Q,EAAK,CACzB0Q,GACFC,EAAO,OAAM,EAEf9a,EAAQmK,CAAG,CACjB,EACI2Q,EAAO,QAAU,UAAY,CAC3B7a,EAAO,IAAI,MAAM,0BAA0B6a,EAAO,KAAK,CAAC,CAC9D,GACK,SAAS,MAAQ,SAAS,iBAAiB,OAAOA,CAAM,CAC7D,CAAG,CACF,CACD,SAAS3F,EAAWxa,EAAS,CAC3B,QAAQ,IAAI,yBAA2BA,CAAO,CAC/C,CACD,IAAIogB,EACJ,MAAMC,CAAc,CAClB,OAAO,aAAaC,EAAO,CACzB,GAAI,CAACA,GAAS,OAAOA,GAAU,SAC7B,OAAO,KAEJF,IACHA,EAAqB,IAAI,OAAO,0FAAiJ,GAEnL,MAAMG,EAAUH,EAAmB,KAAKE,CAAK,EAC7C,GAAI,CAACC,EACH,OAAO,KAET,MAAMC,EAAO,SAASD,EAAQ,CAAC,EAAG,EAAE,EACpC,IAAIE,EAAQ,SAASF,EAAQ,CAAC,EAAG,EAAE,EACnCE,EAAQA,GAAS,GAAKA,GAAS,GAAKA,EAAQ,EAAI,EAChD,IAAIC,EAAM,SAASH,EAAQ,CAAC,EAAG,EAAE,EACjCG,EAAMA,GAAO,GAAKA,GAAO,GAAKA,EAAM,EACpC,IAAIC,EAAO,SAASJ,EAAQ,CAAC,EAAG,EAAE,EAClCI,EAAOA,GAAQ,GAAKA,GAAQ,GAAKA,EAAO,EACxC,IAAIC,EAAS,SAASL,EAAQ,CAAC,EAAG,EAAE,EACpCK,EAASA,GAAU,GAAKA,GAAU,GAAKA,EAAS,EAChD,IAAI/d,EAAS,SAAS0d,EAAQ,CAAC,EAAG,EAAE,EACpC1d,EAASA,GAAU,GAAKA,GAAU,GAAKA,EAAS,EAChD,MAAMge,GAAwBN,EAAQ,CAAC,GAAK,IAC5C,IAAIO,EAAa,SAASP,EAAQ,CAAC,EAAG,EAAE,EACxCO,EAAaA,GAAc,GAAKA,GAAc,GAAKA,EAAa,EAChE,IAAIC,EAAe,SAASR,EAAQ,CAAC,EAAG,EAAE,GAAK,EAC/C,OAAAQ,EAAeA,GAAgB,GAAKA,GAAgB,GAAKA,EAAe,EACpEF,KAA0B,KAC5BF,GAAQG,EACRF,GAAUG,GACDF,KAA0B,MACnCF,GAAQG,EACRF,GAAUG,GAEL,IAAI,KAAK,KAAK,IAAIP,EAAMC,EAAOC,EAAKC,EAAMC,EAAQ/d,CAAM,CAAC,CACjE,CACF,CACDlH,EAAQ,cAAgB0kB,EACxB,SAAStF,EAAmBiG,EAAS,CACnC,MAAA5lB,EAAQ,EACR,SAAAoP,EAAW,CACb,EAAG,CACD,KAAM,CACJ,MAAA8F,EACA,OAAAC,CACJ,EAAMyQ,EAAQ,WAAW,MACjBrC,EAAU,CAAC,EAAG,EAAG,SAASrO,CAAK,EAAG,SAASC,CAAM,CAAC,EACxD,OAAO,IAAImO,EAAa,CACtB,QAAAC,EACA,MAAAvjB,EACA,SAAAoP,CACJ,CAAG,CACF,CACD,SAASsQ,EAAOtE,EAAO,CACrB,GAAIA,EAAM,WAAW,GAAG,EAAG,CACzB,MAAMyK,EAAW,SAASzK,EAAM,MAAM,CAAC,EAAG,EAAE,EAC5C,MAAO,EAAEyK,EAAW,WAAa,IAAKA,EAAW,QAAa,EAAGA,EAAW,GAAQ,EAEtF,OAAIzK,EAAM,WAAW,MAAM,EAClBA,EAAM,MAAM,EAAG,EAAE,EAAE,MAAM,GAAG,EAAE,IAAI9C,GAAK,SAASA,CAAC,CAAC,EAEvD8C,EAAM,WAAW,OAAO,EACnBA,EAAM,MAAM,EAAG,EAAE,EAAE,MAAM,GAAG,EAAE,IAAI9C,GAAK,SAASA,CAAC,CAAC,EAAE,MAAM,EAAG,CAAC,MAEnEhC,EAAM,MAAM,8BAA8B8E,IAAQ,EAC/C,CAAC,EAAG,EAAG,CAAC,EAChB,CACD,SAASiE,EAAelE,EAAQ,CAC9B,MAAM2K,EAAO,SAAS,cAAc,MAAM,EAC1CA,EAAK,MAAM,WAAa,SACxB,SAAS,KAAK,OAAOA,CAAI,EACzB,UAAWthB,KAAQ2W,EAAO,OAAQ,CAChC2K,EAAK,MAAM,MAAQthB,EACnB,MAAMuhB,EAAgB,OAAO,iBAAiBD,CAAI,EAAE,MACpD3K,EAAO,IAAI3W,EAAMkb,EAAOqG,CAAa,CAAC,EAExCD,EAAK,OAAM,CACZ,CACD,SAASxG,EAAoB0G,EAAK,CAChC,KAAM,CACJ,EAAA1e,EACA,EAAAhB,EACA,EAAAiB,EACA,EAAAP,EACA,EAAAif,EACA,EAAAC,CACJ,EAAMF,EAAI,eACR,MAAO,CAAC1e,EAAGhB,EAAGiB,EAAGP,EAAGif,EAAGC,CAAC,CACzB,CACD,SAAS3G,GAA2ByG,EAAK,CACvC,KAAM,CACJ,EAAA1e,EACA,EAAAhB,EACA,EAAAiB,EACA,EAAAP,EACA,EAAAif,EACA,EAAAC,CACD,EAAGF,EAAI,eAAe,aACvB,MAAO,CAAC1e,EAAGhB,EAAGiB,EAAGP,EAAGif,EAAGC,CAAC,CACzB,CACD,SAASlG,EAAmByC,EAAK9S,EAAUwW,EAAW,GAAOC,EAAa,GAAM,CAC9E,GAAIzW,aAAoB2T,EAAc,CACpC,KAAM,CACJ,UAAArL,EACA,WAAAC,CACN,EAAQvI,EAAS,QACP,CACJ,MAAAkJ,CACD,EAAG4J,EACE4D,EAAW,8BAA8BpO,OACzCqO,EAAY,8BAA8BpO,OAC5C,CAACiO,GAAYxW,EAAS,SAAW,MAAQ,GAC3CkJ,EAAM,MAAQwN,EACdxN,EAAM,OAASyN,IAEfzN,EAAM,MAAQyN,EACdzN,EAAM,OAASwN,GAGfD,GACF3D,EAAI,aAAa,qBAAsB9S,EAAS,QAAQ,CAE3D,CAEM,EAEA,CAACrP,EAAyBC,EAAS8V,IAAwB,CAIlE,OAAO,eAAe9V,EAAS,aAAe,CAC5C,MAAO,EACT,GACAA,EAAQ,4BAA8BA,EAAQ,eAAiBA,EAAQ,kBAAoBA,EAAQ,kBAAoBA,EAAQ,sBAAwB,OACvJ,IAAI+V,EAAQD,EAAoB,CAAC,EACjC,MAAMkQ,CAAkB,CACtB,aAAc,CACR,KAAK,cAAgBA,MACnBjQ,EAAM,aAAa,sCAAsC,CAEhE,CACD,UAAU0K,EAAM,CACd,MAAO,MACR,CACD,aAAae,EAASC,EAAS,CAC7B,MAAO,MACR,CACD,QAAQQ,EAAU,GAAO,CAAE,CAC5B,CACDjiB,EAAQ,kBAAoBgmB,EAC5B,MAAMC,EAAkB,CACtB,aAAc,CACR,KAAK,cAAgBA,OACnBlQ,EAAM,aAAa,sCAAsC,CAEhE,CACD,OAAOpB,EAAOC,EAAQ,CACpB,GAAID,GAAS,GAAKC,GAAU,EAC1B,MAAM,IAAI,MAAM,qBAAqB,EAEvC,MAAM2N,EAAS,KAAK,cAAc5N,EAAOC,CAAM,EAC/C,MAAO,CACL,OAAA2N,EACA,QAASA,EAAO,WAAW,IAAI,CACrC,CACG,CACD,MAAM2D,EAAkBvR,EAAOC,EAAQ,CACrC,GAAI,CAACsR,EAAiB,OACpB,MAAM,IAAI,MAAM,yBAAyB,EAE3C,GAAIvR,GAAS,GAAKC,GAAU,EAC1B,MAAM,IAAI,MAAM,qBAAqB,EAEvCsR,EAAiB,OAAO,MAAQvR,EAChCuR,EAAiB,OAAO,OAAStR,CAClC,CACD,QAAQsR,EAAkB,CACxB,GAAI,CAACA,EAAiB,OACpB,MAAM,IAAI,MAAM,yBAAyB,EAE3CA,EAAiB,OAAO,MAAQ,EAChCA,EAAiB,OAAO,OAAS,EACjCA,EAAiB,OAAS,KAC1BA,EAAiB,QAAU,IAC5B,CACD,cAAcvR,EAAOC,EAAQ,IACvBmB,EAAM,aAAa,yCAAyC,CACjE,CACF,CACD/V,EAAQ,kBAAoBimB,GAC5B,MAAME,CAAsB,CAC1B,YAAY,CACV,QAAA5iB,EAAU,KACV,aAAA6iB,EAAe,EACnB,EAAK,CACG,KAAK,cAAgBD,MACnBpQ,EAAM,aAAa,0CAA0C,EAEnE,KAAK,QAAUxS,EACf,KAAK,aAAe6iB,CACrB,CACD,MAAM,MAAM,CACV,KAAAniB,CACJ,EAAK,CACD,GAAI,CAAC,KAAK,QACR,MAAM,IAAI,MAAM,yHAA8H,EAEhJ,GAAI,CAACA,EACH,MAAM,IAAI,MAAM,8BAA8B,EAEhD,MAAMvE,EAAM,KAAK,QAAUuE,GAAQ,KAAK,aAAe,SAAW,IAC5D2e,EAAkB,KAAK,aAAe7M,EAAM,oBAAoB,OAASA,EAAM,oBAAoB,KACzG,OAAO,KAAK,WAAWrW,EAAKkjB,CAAe,EAAE,MAAM9Y,GAAU,CAC3D,MAAM,IAAI,MAAM,kBAAkB,KAAK,aAAe,UAAY,cAAcpK,GAAK,CAC3F,CAAK,CACF,CACD,WAAWA,EAAKkjB,EAAiB,IAC3B7M,EAAM,aAAa,sCAAsC,CAC9D,CACF,CACD/V,EAAQ,sBAAwBmmB,EAChC,MAAME,CAA4B,CAChC,YAAY,CACV,QAAA9iB,EAAU,IACd,EAAK,CACG,KAAK,cAAgB8iB,MACnBtQ,EAAM,aAAa,gDAAgD,EAEzE,KAAK,QAAUxS,CAChB,CACD,MAAM,MAAM,CACV,SAAAqgB,CACJ,EAAK,CACD,GAAI,CAAC,KAAK,QACR,MAAM,IAAI,MAAM,2HAAgI,EAElJ,GAAI,CAACA,EACH,MAAM,IAAI,MAAM,kCAAkC,EAEpD,MAAMlkB,EAAM,GAAG,KAAK,UAAUkkB,IAC9B,OAAO,KAAK,WAAWlkB,CAAG,EAAE,MAAMoK,GAAU,CAC1C,MAAM,IAAI,MAAM,gCAAgCpK,GAAK,CAC3D,CAAK,CACF,CACD,WAAWA,EAAK,IACVqW,EAAM,aAAa,sCAAsC,CAC9D,CACF,CACD/V,EAAQ,4BAA8BqmB,EACtC,MAAMC,CAAe,CACnB,aAAc,CACR,KAAK,cAAgBA,MACnBvQ,EAAM,aAAa,mCAAmC,CAE7D,CACD,OAAOpB,EAAOC,EAAQ2R,EAAiB,GAAO,CAC5C,GAAI5R,GAAS,GAAKC,GAAU,EAC1B,MAAM,IAAI,MAAM,wBAAwB,EAE1C,MAAMuN,EAAM,KAAK,WAAW,SAAS,EACrC,OAAAA,EAAI,aAAa,UAAW,KAAK,EAC5BoE,IACHpE,EAAI,aAAa,QAAS,GAAGxN,KAAS,EACtCwN,EAAI,aAAa,SAAU,GAAGvN,KAAU,GAE1CuN,EAAI,aAAa,sBAAuB,MAAM,EAC9CA,EAAI,aAAa,UAAW,OAAOxN,KAASC,GAAQ,EAC7CuN,CACR,CACD,cAAc/N,EAAM,CAClB,GAAI,OAAOA,GAAS,SAClB,MAAM,IAAI,MAAM,0BAA0B,EAE5C,OAAO,KAAK,WAAWA,CAAI,CAC5B,CACD,WAAWA,EAAM,IACX2B,EAAM,aAAa,sCAAsC,CAC9D,CACF,CACD/V,EAAQ,eAAiBsmB,CAElB,EAEA,CAACvmB,EAAyBC,EAAS8V,IAAwB,CAIlE,OAAO,eAAe9V,EAAS,aAAe,CAC5C,MAAO,EACT,GACAA,EAAQ,eAAiB,OACzB,IAAI+V,EAAQD,EAAoB,CAAC,EACjC,MAAM0Q,EAAO,WACPC,GAAY,WACZC,EAAW,MACjB,MAAMC,CAAe,CACnB,YAAYC,EAAM,CAChB,KAAK,GAAKA,EAAOA,EAAO,WAAaJ,EACrC,KAAK,GAAKI,EAAOA,EAAO,WAAaJ,CACtC,CACD,OAAO7B,EAAO,CACZ,IAAI/a,EAAM/E,EACV,GAAI,OAAO8f,GAAU,SAAU,CAC7B/a,EAAO,IAAI,WAAW+a,EAAM,OAAS,CAAC,EACtC9f,EAAS,EACT,QAASG,EAAI,EAAGkE,EAAKyb,EAAM,OAAQ3f,EAAIkE,EAAIlE,IAAK,CAC9C,MAAMb,EAAOwgB,EAAM,WAAW3f,CAAC,EAC3Bb,GAAQ,IACVyF,EAAK/E,GAAQ,EAAIV,GAEjByF,EAAK/E,GAAQ,EAAIV,IAAS,EAC1ByF,EAAK/E,GAAQ,EAAIV,EAAO,iBAGf4R,EAAM,eAAe4O,CAAK,EACvC/a,EAAO+a,EAAM,QACb9f,EAAS+E,EAAK,eAEd,OAAM,IAAI,MAAM,8EAAmF,EAErG,MAAMid,EAAchiB,GAAU,EACxBiiB,EAAajiB,EAASgiB,EAAc,EACpCE,EAAa,IAAI,YAAYnd,EAAK,OAAQ,EAAGid,CAAW,EAC9D,IAAIG,EAAK,EACPC,EAAK,EACHC,EAAK,KAAK,GACZC,EAAK,KAAK,GACZ,MAAMC,EAAK,WACTC,EAAK,UACDC,EAASF,EAAKV,EAClBa,EAASF,EAAKX,EAChB,QAAS1hB,EAAI,EAAGA,EAAI6hB,EAAa7hB,IAC3BA,EAAI,GACNgiB,EAAKD,EAAW/hB,CAAC,EACjBgiB,EAAKA,EAAKI,EAAKX,GAAYO,EAAKM,EAASZ,EACzCM,EAAKA,GAAM,GAAKA,IAAO,GACvBA,EAAKA,EAAKK,EAAKZ,GAAYO,EAAKO,EAASb,EACzCQ,GAAMF,EACNE,EAAKA,GAAM,GAAKA,IAAO,GACvBA,EAAKA,EAAK,EAAI,aAEdD,EAAKF,EAAW/hB,CAAC,EACjBiiB,EAAKA,EAAKG,EAAKX,GAAYQ,EAAKK,EAASZ,EACzCO,EAAKA,GAAM,GAAKA,IAAO,GACvBA,EAAKA,EAAKI,EAAKZ,GAAYQ,EAAKM,EAASb,EACzCS,GAAMF,EACNE,EAAKA,GAAM,GAAKA,IAAO,GACvBA,EAAKA,EAAK,EAAI,YAIlB,OADAH,EAAK,EACGF,EAAU,CAChB,IAAK,GACHE,GAAMpd,EAAKid,EAAc,EAAI,CAAC,GAAK,GACrC,IAAK,GACHG,GAAMpd,EAAKid,EAAc,EAAI,CAAC,GAAK,EACrC,IAAK,GACHG,GAAMpd,EAAKid,EAAc,CAAC,EAC1BG,EAAKA,EAAKI,EAAKX,GAAYO,EAAKM,EAASZ,EACzCM,EAAKA,GAAM,GAAKA,IAAO,GACvBA,EAAKA,EAAKK,EAAKZ,GAAYO,EAAKO,EAASb,EACrCG,EAAc,EAChBK,GAAMF,EAENG,GAAMH,CAEX,CACD,KAAK,GAAKE,EACV,KAAK,GAAKC,CACX,CACD,WAAY,CACV,IAAID,EAAK,KAAK,GACZC,EAAK,KAAK,GACZ,OAAAD,GAAMC,IAAO,EACbD,EAAKA,EAAK,WAAaT,GAAYS,EAAK,MAASR,EACjDS,EAAKA,EAAK,WAAaV,KAAcU,GAAM,GAAKD,IAAO,IAAM,WAAaT,MAAe,GACzFS,GAAMC,IAAO,EACbD,EAAKA,EAAK,UAAaT,GAAYS,EAAK,MAASR,EACjDS,EAAKA,EAAK,WAAaV,KAAcU,GAAM,GAAKD,IAAO,IAAM,WAAaT,MAAe,GACzFS,GAAMC,IAAO,GACLD,IAAO,GAAG,SAAS,EAAE,EAAE,SAAS,EAAG,GAAG,GAAKC,IAAO,GAAG,SAAS,EAAE,EAAE,SAAS,EAAG,GAAG,CAC1F,CACF,CACDnnB,EAAQ,eAAiB2mB,CAElB,EAEA,CAAC5mB,EAAyBC,EAAS8V,IAAwB,CAIlE,OAAO,eAAe9V,EAAS,aAAe,CAC5C,MAAO,EACT,GACAA,EAAQ,WAAaA,EAAQ,eAAiB,OAC9C,IAAI+V,EAAQD,EAAoB,CAAC,EAC7B0R,EAAW1R,EAAoB,EAAE,EACrC,MAAM2R,EAAW,CACf,YAAY,CACV,cAAAzb,EAAgB,WAAW,SAC3B,aAAAS,EAAe,IACnB,EAAK,CACD,KAAK,UAAYT,EACjB,KAAK,gBAAkB,GACvB,KAAK,aAAe,KACpB,KAAK,gBAAkB,GACvB,KAAK,eAAiB,CACvB,CACD,kBAAkB0b,EAAgB,CAChC,KAAK,gBAAgB,KAAKA,CAAc,EACxC,KAAK,UAAU,MAAM,IAAIA,CAAc,CACxC,CACD,WAAWC,EAAM,CACV,KAAK,eACR,KAAK,aAAe,KAAK,UAAU,cAAc,OAAO,EACxD,KAAK,UAAU,gBAAgB,qBAAqB,MAAM,EAAE,CAAC,EAAE,OAAO,KAAK,YAAY,GAEzF,MAAMC,EAAa,KAAK,aAAa,MACrCA,EAAW,WAAWD,EAAMC,EAAW,SAAS,MAAM,CACvD,CACD,OAAQ,CACN,UAAWF,KAAkB,KAAK,gBAChC,KAAK,UAAU,MAAM,OAAOA,CAAc,EAE5C,KAAK,gBAAgB,OAAS,EAC1B,KAAK,eACP,KAAK,aAAa,SAClB,KAAK,aAAe,KAEvB,CACD,MAAM,KAAKlT,EAAM,CACf,GAAIA,EAAK,UAAYA,EAAK,YACxB,OAGF,GADAA,EAAK,SAAW,GACZ,KAAK,0BAA2B,CAClC,MAAMkT,EAAiBlT,EAAK,uBAC5B,GAAIkT,EAAgB,CAClB,KAAK,kBAAkBA,CAAc,EACrC,GAAI,CACF,MAAMA,EAAe,MACtB,OAAQze,EAAP,CACA,QAAI8M,EAAM,MAAM,wBAAwB2R,EAAe,aAAaze,KAAM,EAC1EuL,EAAK,gBAAkB,GACjBvL,CACP,EAEH,OAEF,MAAM0e,EAAOnT,EAAK,qBAClB,GAAImT,EAAM,CAER,GADA,KAAK,WAAWA,CAAI,EAChB,KAAK,2BACP,OAEF,MAAM,IAAI,QAAQje,GAAW,CAC3B,MAAMgZ,EAAU,KAAK,sBAAsBhZ,CAAO,EAClD,KAAK,sBAAsB8K,EAAMkO,CAAO,CAChD,CAAO,EAEJ,CACD,IAAI,2BAA4B,OAC9B,MAAMmF,EAAW,CAAC,GAACpa,EAAA,KAAK,YAAL,MAAAA,EAAgB,OACnC,SAAWsI,EAAM,QAAQ,KAAM,4BAA6B8R,CAAQ,CACrE,CACD,IAAI,4BAA6B,CAC/B,IAAIC,EAAY,GAChB,OAAIN,EAAS,UAEF,OAAO,UAAc,KAAe,iCAAiC,KAAK,UAAU,SAAS,KACtGM,EAAY,OAEH/R,EAAM,QAAQ,KAAM,6BAA8B+R,CAAS,CACvE,CACD,sBAAsB1S,EAAU,CAC9B,SAAS2S,GAAkB,CAGzB,OAFIhS,EAAM,QAAQ,CAAC2M,EAAQ,KAAM,2CAA2C,EAC5EA,EAAQ,KAAO,GACRsF,EAAgB,OAAS,GAAKA,EAAgB,CAAC,EAAE,MAAM,CAC5D,MAAMC,EAAeD,EAAgB,QACrC,WAAWC,EAAa,SAAU,CAAC,EAEtC,CACD,KAAM,CACJ,gBAAAD,CACD,EAAG,KACEtF,EAAU,CACd,KAAM,GACN,SAAUqF,EACV,SAAA3S,CACN,EACI,OAAA4S,EAAgB,KAAKtF,CAAO,EACrBA,CACR,CACD,IAAI,eAAgB,CAClB,MAAMwF,EAAW,KAAK,09CAAmkD,EACzlD,SAAWnS,EAAM,QAAQ,KAAM,gBAAiBmS,CAAQ,CACzD,CACD,sBAAsB1T,EAAMkO,EAAS,CACnC,SAASyF,EAAMve,EAAMwe,EAAQ,CAC3B,OAAOxe,EAAK,WAAWwe,CAAM,GAAK,GAAKxe,EAAK,WAAWwe,EAAS,CAAC,GAAK,GAAKxe,EAAK,WAAWwe,EAAS,CAAC,GAAK,EAAIxe,EAAK,WAAWwe,EAAS,CAAC,EAAI,GAC7I,CACD,SAASC,EAAaC,EAAGF,EAAQG,EAAQC,GAAQ,CAC/C,MAAMC,EAASH,EAAE,UAAU,EAAGF,CAAM,EAC9BM,GAASJ,EAAE,UAAUF,EAASG,CAAM,EAC1C,OAAOE,EAASD,GAASE,EAC1B,CACD,IAAI1jB,EAAGkE,EACP,MAAMqZ,EAAS,KAAK,UAAU,cAAc,QAAQ,EACpDA,EAAO,MAAQ,EACfA,EAAO,OAAS,EAChB,MAAMkD,EAAMlD,EAAO,WAAW,IAAI,EAClC,IAAIoG,EAAS,EACb,SAASC,EAAY3kB,EAAMmR,EAAU,CACnC,GAAI,EAAEuT,EAAS,GAAI,IACb5S,EAAM,MAAM,8BAA8B,EAC9CX,IACA,OAKF,GAHAqQ,EAAI,KAAO,QAAUxhB,EACrBwhB,EAAI,SAAS,IAAK,EAAG,EAAE,EACLA,EAAI,aAAa,EAAG,EAAG,EAAG,CAAC,EAC/B,KAAK,CAAC,EAAI,EAAG,CACzBrQ,IACA,OAEF,WAAWwT,EAAY,KAAK,KAAM3kB,EAAMmR,CAAQ,CAAC,CAClD,CACD,MAAMyT,EAAiB,KAAK,KAAK,IAAK,IAAG,KAAK,mBAC9C,IAAIjf,EAAO,KAAK,cAEhBA,EAAOye,EAAaze,EADG,IACmBif,EAAe,OAAQA,CAAc,EAC/E,MAAMC,EAAsB,GACtBC,EAAa,WACnB,IAAIC,EAAWb,EAAMve,EAAMkf,CAAmB,EAC9C,IAAK9jB,EAAI,EAAGkE,EAAK2f,EAAe,OAAS,EAAG7jB,EAAIkE,EAAIlE,GAAK,EACvDgkB,EAAWA,EAAWD,EAAaZ,EAAMU,EAAgB7jB,CAAC,EAAI,EAE5DA,EAAI6jB,EAAe,SACrBG,EAAWA,EAAWD,EAAaZ,EAAMU,EAAiB,MAAO7jB,CAAC,EAAI,GAExE4E,EAAOye,EAAaze,EAAMkf,EAAqB,KAAO/S,EAAM,UAAUiT,CAAQ,CAAC,EAC/E,MAAMtpB,EAAM,iCAAiC,KAAKkK,CAAI,MAChD+d,EAAO,4BAA4BkB,UAAuBnpB,KAChE,KAAK,WAAWioB,CAAI,EACpB,MAAMzF,EAAM,KAAK,UAAU,cAAc,KAAK,EAC9CA,EAAI,MAAM,WAAa,SACvBA,EAAI,MAAM,MAAQA,EAAI,MAAM,OAAS,OACrCA,EAAI,MAAM,SAAW,WACrBA,EAAI,MAAM,IAAMA,EAAI,MAAM,KAAO,MACjC,UAAWje,IAAQ,CAACuQ,EAAK,WAAYqU,CAAc,EAAG,CACpD,MAAMtD,EAAO,KAAK,UAAU,cAAc,MAAM,EAChDA,EAAK,YAAc,KACnBA,EAAK,MAAM,WAAathB,EACxBie,EAAI,OAAOqD,CAAI,EAEjB,KAAK,UAAU,KAAK,OAAOrD,CAAG,EAC9B0G,EAAYC,EAAgB,IAAM,CAChC3G,EAAI,OAAM,EACVQ,EAAQ,SAAQ,CACtB,CAAK,CACF,CACF,CACD1iB,EAAQ,WAAaynB,GACrB,MAAMwB,CAAe,CACnB,YAAYC,EAAgB,CAC1B,gBAAA1jB,EAAkB,GAClB,gBAAAqG,EAAkB,GAClB,aAAAJ,EAAe,GACf,YAAA8I,EAAc,IAClB,EAAK,CACD,KAAK,eAAiB,OAAO,OAAO,IAAI,EACxC,UAAWvP,KAAKkkB,EACd,KAAKlkB,CAAC,EAAIkkB,EAAelkB,CAAC,EAE5B,KAAK,gBAAkBQ,IAAoB,GAC3C,KAAK,gBAAkBqG,IAAoB,GAC3C,KAAK,aAAeJ,IAAiB,GACrC,KAAK,aAAe8I,CACrB,CACD,sBAAuB,OACrB,GAAI,CAAC,KAAK,MAAQ,KAAK,gBACrB,OAAO,KAET,IAAImT,EACJ,GAAI,CAAC,KAAK,YACRA,EAAiB,IAAI,SAAS,KAAK,WAAY,KAAK,KAAM,CAAA,CAAE,MACvD,CACL,MAAMyB,EAAM,CACV,OAAQ,KAAK,YAAY,UACjC,EACU,KAAK,YAAY,cACnBA,EAAI,MAAQ,WAAW,KAAK,YAAY,kBAE1CzB,EAAiB,IAAI,SAAS,KAAK,YAAY,WAAY,KAAK,KAAMyB,CAAG,EAE3E,OAAA1b,EAAA,KAAK,eAAL,MAAAA,EAAA,UAAoB,MACbia,CACR,CACD,oBAAqB,OACnB,GAAI,CAAC,KAAK,MAAQ,KAAK,gBACrB,OAAO,KAET,MAAM9d,KAAWmM,EAAM,eAAe,KAAK,IAAI,EACzCrW,EAAM,YAAY,KAAK,mBAAmB,KAAKkK,CAAI,MACzD,IAAI+d,EACJ,GAAI,CAAC,KAAK,YACRA,EAAO,4BAA4B,KAAK,mBAAmBjoB,SACtD,CACL,IAAIypB,EAAM,gBAAgB,KAAK,YAAY,cACvC,KAAK,YAAY,cACnBA,GAAO,uBAAuB,KAAK,YAAY,mBAEjDxB,EAAO,4BAA4B,KAAK,YAAY,eAAewB,QAAUzpB,KAE/E,OAAA+N,EAAA,KAAK,eAAL,MAAAA,EAAA,UAAoB,KAAM/N,GACnBioB,CACR,CACD,iBAAiBjS,EAAM0T,EAAW,CAChC,GAAI,KAAK,eAAeA,CAAS,IAAM,OACrC,OAAO,KAAK,eAAeA,CAAS,EAEtC,IAAIC,EACJ,GAAI,CACFA,EAAO3T,EAAK,IAAI,KAAK,WAAa,SAAW0T,CAAS,CACvD,OAAQngB,EAAP,CACA,GAAI,CAAC,KAAK,aACR,MAAMA,EAER,SAAI8M,EAAM,MAAM,2CAA2C9M,KAAM,EAC1D,KAAK,eAAemgB,CAAS,EAAI,SAAUpiB,EAAGsiB,EAAM,EAC5D,CACD,GAAI,KAAK,iBAAmBvT,EAAM,YAAY,gBAAiB,CAC7D,MAAMwT,EAAQ,CAAA,EACd,UAAWC,KAAWH,EAAM,CAC1B,MAAMI,EAAOD,EAAQ,OAAS,OAAYA,EAAQ,KAAK,KAAK,GAAG,EAAI,GACnED,EAAM,KAAK,KAAMC,EAAQ,IAAK,IAAKC,EAAM;AAAA,CAAM,EAEjD,OAAO,KAAK,eAAeL,CAAS,EAAI,IAAI,SAAS,IAAK,OAAQG,EAAM,KAAK,EAAE,CAAC,EAElF,OAAO,KAAK,eAAeH,CAAS,EAAI,SAAUpiB,EAAGsiB,EAAM,CACzD,UAAWE,KAAWH,EAChBG,EAAQ,MAAQ,UAClBA,EAAQ,KAAO,CAACF,EAAM,CAACA,CAAI,GAE7BtiB,EAAEwiB,EAAQ,GAAG,EAAE,MAAMxiB,EAAGwiB,EAAQ,IAAI,CAE5C,CACG,CACF,CACDxpB,EAAQ,eAAiBipB,CAElB,EAEA,CAAClpB,EAAyBC,IAAY,CAI7C,OAAO,eAAeA,EAAS,aAAe,CAC5C,MAAO,EACT,GACAA,EAAQ,SAAW,OACnB,MAAM0pB,EAAW,OAAO,SAAY,UAAY,QAAU,IAAO,oBAAsB,CAAC,QAAQ,SAAS,IAAM,EAAE,QAAQ,SAAS,UAAY,QAAQ,MAAQ,QAAQ,OAAS,WAC/K1pB,EAAQ,SAAW0pB,CAEZ,EAEA,CAAC3pB,EAAyBC,EAAS8V,IAAwB,gBAIlE,OAAO,eAAe9V,EAAS,aAAe,CAC5C,MAAO,EACT,GACAA,EAAQ,eAAiB,OACzB,IAAI+V,EAAQD,EAAoB,CAAC,EAC7BmD,EAAiBnD,EAAoB,CAAC,EACtC6T,GAAkB7T,EAAoB,EAAE,EACxC8T,EAAe9T,EAAoB,EAAE,EACrC0R,EAAW1R,EAAoB,EAAE,EACrC,MAAM+T,EAAgB,GAChBC,EAAgB,IAChBC,EAAiB,KACjBC,EAAiB,GACjBC,EAAkB,GAClBC,EAAsB,IACtBC,EAAoB,GAC1B,SAASC,EAAwB3E,EAAK4E,EAAS,CAC7C,GAAI5E,EAAI,iBACN,MAAM,IAAI,MAAM,2CAA2C,EAE7DA,EAAI,eAAiBA,EAAI,KACzBA,EAAI,kBAAoBA,EAAI,QAC5BA,EAAI,iBAAmBA,EAAI,OAC3BA,EAAI,gBAAkBA,EAAI,MAC1BA,EAAI,oBAAsBA,EAAI,UAC9BA,EAAI,oBAAsBA,EAAI,UAC9BA,EAAI,uBAAyBA,EAAI,aACjCA,EAAI,yBAA2BA,EAAI,eACnCA,EAAI,eAAiBA,EAAI,KACzBA,EAAI,iBAAmBA,EAAI,OAC3BA,EAAI,iBAAmBA,EAAI,OAC3BA,EAAI,wBAA0BA,EAAI,cAClCA,EAAI,eAAiBA,EAAI,KACzBA,EAAI,oBAAsBA,EAAI,UAC9BA,EAAI,oBAAsBA,EAAI,UAC9BA,EAAI,iBAAmB,IAAM,CAC3BA,EAAI,KAAOA,EAAI,eACfA,EAAI,QAAUA,EAAI,kBAClBA,EAAI,OAASA,EAAI,iBACjBA,EAAI,MAAQA,EAAI,gBAChBA,EAAI,UAAYA,EAAI,oBACpBA,EAAI,UAAYA,EAAI,oBACpBA,EAAI,aAAeA,EAAI,uBACvBA,EAAI,eAAiBA,EAAI,yBACzBA,EAAI,KAAOA,EAAI,eACfA,EAAI,OAASA,EAAI,iBACjBA,EAAI,OAASA,EAAI,iBACjBA,EAAI,cAAgBA,EAAI,wBACxBA,EAAI,KAAOA,EAAI,eACfA,EAAI,UAAYA,EAAI,oBACpBA,EAAI,UAAYA,EAAI,oBACpB,OAAOA,EAAI,gBACf,EACEA,EAAI,KAAO,UAAmB,CAC5B4E,EAAQ,KAAI,EACZ,KAAK,eAAc,CACvB,EACE5E,EAAI,QAAU,UAAsB,CAClC4E,EAAQ,QAAO,EACf,KAAK,kBAAiB,CAC1B,EACE5E,EAAI,UAAY,SAAsB1N,EAAGC,EAAG,CAC1CqS,EAAQ,UAAUtS,EAAGC,CAAC,EACtB,KAAK,oBAAoBD,EAAGC,CAAC,CACjC,EACEyN,EAAI,MAAQ,SAAkB1N,EAAGC,EAAG,CAClCqS,EAAQ,MAAMtS,EAAGC,CAAC,EAClB,KAAK,gBAAgBD,EAAGC,CAAC,CAC7B,EACEyN,EAAI,UAAY,SAAsB1e,EAAGhB,EAAGiB,EAAGP,GAAGif,EAAGC,EAAG,CACtD0E,EAAQ,UAAUtjB,EAAGhB,EAAGiB,EAAGP,GAAGif,EAAGC,CAAC,EAClC,KAAK,oBAAoB5e,EAAGhB,EAAGiB,EAAGP,GAAGif,EAAGC,CAAC,CAC7C,EACEF,EAAI,aAAe,SAAyB1e,EAAGhB,EAAGiB,EAAGP,GAAGif,EAAGC,EAAG,CAC5D0E,EAAQ,aAAatjB,EAAGhB,EAAGiB,EAAGP,GAAGif,EAAGC,CAAC,EACrC,KAAK,uBAAuB5e,EAAGhB,EAAGiB,EAAGP,GAAGif,EAAGC,CAAC,CAChD,EACEF,EAAI,eAAiB,UAA6B,CAChD4E,EAAQ,eAAc,EACtB,KAAK,yBAAwB,CACjC,EACE5E,EAAI,OAAS,SAAmB6E,EAAO,CACrCD,EAAQ,OAAOC,CAAK,EACpB,KAAK,iBAAiBA,CAAK,CAC/B,EACE7E,EAAI,KAAO,SAAmBkC,EAAM,CAClC0C,EAAQ,KAAK1C,CAAI,EACjB,KAAK,eAAeA,CAAI,CAC5B,EACElC,EAAI,OAAS,SAAU1N,EAAGC,EAAG,CAC3BqS,EAAQ,OAAOtS,EAAGC,CAAC,EACnB,KAAK,iBAAiBD,EAAGC,CAAC,CAC9B,EACEyN,EAAI,OAAS,SAAU1N,EAAGC,EAAG,CAC3BqS,EAAQ,OAAOtS,EAAGC,CAAC,EACnB,KAAK,iBAAiBD,EAAGC,CAAC,CAC9B,EACEyN,EAAI,cAAgB,SAAU8E,EAAMC,EAAMC,EAAMC,EAAM3S,GAAGC,EAAG,CAC1DqS,EAAQ,cAAcE,EAAMC,EAAMC,EAAMC,EAAM3S,GAAGC,CAAC,EAClD,KAAK,wBAAwBuS,EAAMC,EAAMC,EAAMC,EAAM3S,GAAGC,CAAC,CAC7D,EACEyN,EAAI,KAAO,SAAU1N,EAAGC,EAAGrD,EAAOC,EAAQ,CACxCyV,EAAQ,KAAKtS,EAAGC,EAAGrD,EAAOC,CAAM,EAChC,KAAK,eAAemD,EAAGC,EAAGrD,EAAOC,CAAM,CAC3C,EACE6Q,EAAI,UAAY,UAAY,CAC1B4E,EAAQ,UAAS,EACjB,KAAK,oBAAmB,CAC5B,EACE5E,EAAI,UAAY,UAAY,CAC1B4E,EAAQ,UAAS,EACjB,KAAK,oBAAmB,CAC5B,CACC,CACD,MAAMM,CAAe,CACnB,YAAYpe,EAAe,CACzB,KAAK,cAAgBA,EACrB,KAAK,MAAQ,OAAO,OAAO,IAAI,CAChC,CACD,UAAU8B,EAAIsG,EAAOC,EAAQ,CAC3B,IAAIgW,EACJ,OAAI,KAAK,MAAMvc,CAAE,IAAM,QACrBuc,EAAc,KAAK,MAAMvc,CAAE,EAC3B,KAAK,cAAc,MAAMuc,EAAajW,EAAOC,CAAM,IAEnDgW,EAAc,KAAK,cAAc,OAAOjW,EAAOC,CAAM,EACrD,KAAK,MAAMvG,CAAE,EAAIuc,GAEZA,CACR,CACD,OAAOvc,EAAI,CACT,OAAO,KAAK,MAAMA,CAAE,CACrB,CACD,OAAQ,CACN,UAAWA,KAAM,KAAK,MAAO,CAC3B,MAAMuc,EAAc,KAAK,MAAMvc,CAAE,EACjC,KAAK,cAAc,QAAQuc,CAAW,EACtC,OAAO,KAAK,MAAMvc,CAAE,EAEvB,CACF,CACD,SAASwc,EAAyBpF,EAAKqF,EAAQC,EAAMC,EAAMC,EAAMC,EAAMC,GAAOC,EAAOC,EAAOC,EAAO,CACjG,KAAM,CAACvkB,EAAGhB,EAAGiB,EAAGP,EAAGwR,EAAIC,CAAE,KAAQe,EAAe,qBAAqBwM,CAAG,EACxE,GAAI1f,IAAM,GAAKiB,IAAM,EAAG,CACtB,MAAMukB,EAAMJ,GAAQpkB,EAAIkR,EAClBuT,GAAO,KAAK,MAAMD,CAAG,EACrBE,GAAML,EAAQ3kB,EAAIyR,EAClBwT,GAAO,KAAK,MAAMD,EAAG,EACrBE,IAAOR,GAAQE,GAAStkB,EAAIkR,EAC5B2T,GAAS,KAAK,IAAI,KAAK,MAAMD,EAAG,EAAIH,EAAI,GAAK,EAC7CK,IAAOT,EAAQE,GAAS7kB,EAAIyR,EAC5B4T,GAAU,KAAK,IAAI,KAAK,MAAMD,EAAG,EAAIH,EAAI,GAAK,EACpD,OAAAjG,EAAI,aAAa,KAAK,KAAK1e,CAAC,EAAG,EAAG,EAAG,KAAK,KAAKN,CAAC,EAAG+kB,GAAME,EAAI,EAC7DjG,EAAI,UAAUqF,EAAQC,EAAMC,EAAMC,EAAMC,EAAM,EAAG,EAAGU,GAAQE,EAAO,EACnErG,EAAI,aAAa1e,EAAGhB,EAAGiB,EAAGP,EAAGwR,EAAIC,CAAE,EAC5B,CAAC0T,GAAQE,EAAO,EAEzB,GAAI/kB,IAAM,GAAKN,IAAM,EAAG,CACtB,MAAM8kB,EAAMH,EAAQpkB,EAAIiR,EAClBuT,GAAO,KAAK,MAAMD,CAAG,EACrBE,GAAMN,GAAQplB,EAAImS,EAClBwT,GAAO,KAAK,MAAMD,EAAG,EACrBE,IAAOP,EAAQE,GAAStkB,EAAIiR,EAC5B2T,GAAS,KAAK,IAAI,KAAK,MAAMD,EAAG,EAAIH,EAAI,GAAK,EAC7CK,IAAOV,GAAQE,GAAStlB,EAAImS,EAC5B4T,GAAU,KAAK,IAAI,KAAK,MAAMD,EAAG,EAAIH,EAAI,GAAK,EACpD,OAAAjG,EAAI,aAAa,EAAG,KAAK,KAAK1f,CAAC,EAAG,KAAK,KAAKiB,CAAC,EAAG,EAAGwkB,GAAME,EAAI,EAC7DjG,EAAI,UAAUqF,EAAQC,EAAMC,EAAMC,EAAMC,EAAM,EAAG,EAAGY,GAASF,EAAM,EACnEnG,EAAI,aAAa1e,EAAGhB,EAAGiB,EAAGP,EAAGwR,EAAIC,CAAE,EAC5B,CAAC4T,GAASF,EAAM,EAEzBnG,EAAI,UAAUqF,EAAQC,EAAMC,EAAMC,EAAMC,EAAMC,GAAOC,EAAOC,EAAOC,CAAK,EACxE,MAAMS,GAAS,KAAK,MAAMhlB,EAAGhB,CAAC,EACxBimB,EAAS,KAAK,MAAMhlB,EAAGP,CAAC,EAC9B,MAAO,CAACslB,GAASV,EAAOW,EAASV,CAAK,CACvC,CACD,SAASW,EAAkBC,EAAS,CAClC,KAAM,CACJ,MAAAvX,EACA,OAAAC,CACD,EAAGsX,EACJ,GAAIvX,EAAQuV,GAAuBtV,EAASsV,EAC1C,OAAO,KAET,MAAMiC,EAAyB,IACzBC,EAAc,IAAI,WAAW,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,GAAI,EAAG,EAAG,EAAG,EAAG,EAAG,CAAC,CAAC,EAC9EC,EAAS1X,EAAQ,EACvB,IAAI2X,GAAS,IAAI,WAAWD,GAAUzX,EAAS,EAAE,EAC7C5P,EAAG0D,EAAG6jB,EACV,MAAMC,EAAW7X,EAAQ,EAAI,GAC7B,IAAI/K,EAAO,IAAI,WAAW4iB,EAAW5X,CAAM,EACzC6X,EAAM,EACR,UAAWC,KAAQR,EAAQ,KAAM,CAC/B,IAAIS,EAAO,IACX,KAAOA,EAAO,GACZ/iB,EAAK6iB,GAAK,EAAIC,EAAOC,EAAO,EAAI,IAChCA,IAAS,EAGb,IAAIC,EAAQ,EAMZ,IALAH,EAAM,EACF7iB,EAAK6iB,CAAG,IAAM,IAChBH,GAAO,CAAC,EAAI,EACZ,EAAEM,GAEClkB,EAAI,EAAGA,EAAIiM,EAAOjM,IACjBkB,EAAK6iB,CAAG,IAAM7iB,EAAK6iB,EAAM,CAAC,IAC5BH,GAAO5jB,CAAC,EAAIkB,EAAK6iB,CAAG,EAAI,EAAI,EAC5B,EAAEG,GAEJH,IAMF,IAJI7iB,EAAK6iB,CAAG,IAAM,IAChBH,GAAO5jB,CAAC,EAAI,EACZ,EAAEkkB,GAEC5nB,EAAI,EAAGA,EAAI4P,EAAQ5P,IAAK,CAC3BynB,EAAMznB,EAAIwnB,EACVD,EAAKvnB,EAAIqnB,EACLziB,EAAK6iB,EAAMD,CAAQ,IAAM5iB,EAAK6iB,CAAG,IACnCH,GAAOC,CAAE,EAAI3iB,EAAK6iB,CAAG,EAAI,EAAI,EAC7B,EAAEG,GAEJ,IAAIC,GAAOjjB,EAAK6iB,CAAG,EAAI,EAAI,IAAM7iB,EAAK6iB,EAAMD,CAAQ,EAAI,EAAI,GAC5D,IAAK9jB,EAAI,EAAGA,EAAIiM,EAAOjM,IACrBmkB,GAAOA,GAAO,IAAMjjB,EAAK6iB,EAAM,CAAC,EAAI,EAAI,IAAM7iB,EAAK6iB,EAAMD,EAAW,CAAC,EAAI,EAAI,GACzEJ,EAAYS,CAAG,IACjBP,GAAOC,EAAK7jB,CAAC,EAAI0jB,EAAYS,CAAG,EAChC,EAAED,GAEJH,IAMF,GAJI7iB,EAAK6iB,EAAMD,CAAQ,IAAM5iB,EAAK6iB,CAAG,IACnCH,GAAOC,EAAK7jB,CAAC,EAAIkB,EAAK6iB,CAAG,EAAI,EAAI,EACjC,EAAEG,GAEAA,EAAQT,EACV,OAAO,KASX,IANAM,EAAMD,GAAY5X,EAAS,GAC3B2X,EAAKvnB,EAAIqnB,EACLziB,EAAK6iB,CAAG,IAAM,IAChBH,GAAOC,CAAE,EAAI,EACb,EAAEK,GAEClkB,EAAI,EAAGA,EAAIiM,EAAOjM,IACjBkB,EAAK6iB,CAAG,IAAM7iB,EAAK6iB,EAAM,CAAC,IAC5BH,GAAOC,EAAK7jB,CAAC,EAAIkB,EAAK6iB,CAAG,EAAI,EAAI,EACjC,EAAEG,GAEJH,IAMF,GAJI7iB,EAAK6iB,CAAG,IAAM,IAChBH,GAAOC,EAAK7jB,CAAC,EAAI,EACjB,EAAEkkB,GAEAA,EAAQT,EACV,OAAO,KAET,MAAMW,EAAQ,IAAI,WAAW,CAAC,EAAGT,EAAQ,GAAI,EAAG,CAACA,EAAQ,EAAG,EAAG,EAAG,CAAC,CAAC,EAC9DU,EAAO,IAAI,OACjB,IAAK/nB,EAAI,EAAG4nB,GAAS5nB,GAAK4P,EAAQ5P,IAAK,CACrC,IAAIqB,EAAIrB,EAAIqnB,EACZ,MAAMpe,EAAM5H,EAAIsO,EAChB,KAAOtO,EAAI4H,GAAO,CAACqe,GAAOjmB,CAAC,GACzBA,IAEF,GAAIA,IAAM4H,EACR,SAEF8e,EAAK,OAAO1mB,EAAIgmB,EAAQrnB,CAAC,EACzB,MAAMgoB,GAAK3mB,EACX,IAAI+N,GAAOkY,GAAOjmB,CAAC,EACnB,EAAG,CACD,MAAM4mB,GAAOH,EAAM1Y,EAAI,EACvB,GACE/N,GAAK4mB,SACE,CAACX,GAAOjmB,CAAC,GAClB,MAAM6mB,GAAKZ,GAAOjmB,CAAC,EACf6mB,KAAO,GAAKA,KAAO,IACrB9Y,GAAO8Y,GACPZ,GAAOjmB,CAAC,EAAI,IAEZ+N,GAAO8Y,GAAK,GAAO9Y,IAAQ,EAC3BkY,GAAOjmB,CAAC,GAAK+N,IAAQ,EAAIA,IAAQ,GAEnC2Y,EAAK,OAAO1mB,EAAIgmB,EAAQhmB,EAAIgmB,EAAS,CAAC,EACjCC,GAAOjmB,CAAC,GACX,EAAEumB,QAEGI,KAAO3mB,GAChB,EAAErB,EAEJ,OAAA4E,EAAO,KACP0iB,GAAS,KACW,SAAUtlB,EAAG,CAC/BA,EAAE,KAAI,EACNA,EAAE,MAAM,EAAI2N,EAAO,GAAKC,CAAM,EAC9B5N,EAAE,UAAU,EAAG,CAAC4N,CAAM,EACtB5N,EAAE,KAAK+lB,CAAI,EACX/lB,EAAE,UAAS,EACXA,EAAE,QAAO,CACb,CAEC,CACD,MAAMmmB,CAAiB,CACrB,YAAYxY,EAAOC,EAAQ,CACzB,KAAK,aAAe,GACpB,KAAK,SAAW,EAChB,KAAK,cAAgB,EACrB,KAAK,WAAamB,EAAM,gBACxB,KAAK,gBAAkB,EACvB,KAAK,WAAaA,EAAM,qBACxB,KAAK,QAAU,EACf,KAAK,EAAI,EACT,KAAK,EAAI,EACT,KAAK,MAAQ,EACb,KAAK,MAAQ,EACb,KAAK,YAAc,EACnB,KAAK,YAAc,EACnB,KAAK,WAAa,EAClB,KAAK,kBAAoBA,EAAM,kBAAkB,KACjD,KAAK,SAAW,EAChB,KAAK,UAAY,UACjB,KAAK,YAAc,UACnB,KAAK,YAAc,GACnB,KAAK,UAAY,EACjB,KAAK,YAAc,EACnB,KAAK,UAAY,EACjB,KAAK,YAAc,KACnB,KAAK,aAAe,OACpB,KAAK,uBAAuB,CAAC,EAAG,EAAGpB,EAAOC,CAAM,CAAC,CAClD,CACD,OAAQ,CACN,MAAM+B,EAAQ,OAAO,OAAO,IAAI,EAChC,OAAAA,EAAM,QAAU,KAAK,QAAQ,MAAK,EAC3BA,CACR,CACD,gBAAgBoB,EAAGC,EAAG,CACpB,KAAK,EAAID,EACT,KAAK,EAAIC,CACV,CACD,iBAAiBhS,EAAW+R,EAAGC,EAAG,CAChC,CAACD,EAAGC,CAAC,EAAIjC,EAAM,KAAK,eAAe,CAACgC,EAAGC,CAAC,EAAGhS,CAAS,EACpD,KAAK,KAAO,KAAK,IAAI,KAAK,KAAM+R,CAAC,EACjC,KAAK,KAAO,KAAK,IAAI,KAAK,KAAMC,CAAC,EACjC,KAAK,KAAO,KAAK,IAAI,KAAK,KAAMD,CAAC,EACjC,KAAK,KAAO,KAAK,IAAI,KAAK,KAAMC,CAAC,CAClC,CACD,iBAAiBhS,EAAWqB,EAAM,CAChC,MAAMX,EAAKqP,EAAM,KAAK,eAAe1O,EAAMrB,CAAS,EAC9CW,EAAKoP,EAAM,KAAK,eAAe1O,EAAK,MAAM,CAAC,EAAGrB,CAAS,EAC7D,KAAK,KAAO,KAAK,IAAI,KAAK,KAAMU,EAAG,CAAC,EAAGC,EAAG,CAAC,CAAC,EAC5C,KAAK,KAAO,KAAK,IAAI,KAAK,KAAMD,EAAG,CAAC,EAAGC,EAAG,CAAC,CAAC,EAC5C,KAAK,KAAO,KAAK,IAAI,KAAK,KAAMD,EAAG,CAAC,EAAGC,EAAG,CAAC,CAAC,EAC5C,KAAK,KAAO,KAAK,IAAI,KAAK,KAAMD,EAAG,CAAC,EAAGC,EAAG,CAAC,CAAC,CAC7C,CACD,wBAAwBX,EAAWC,EAAQ,CACzC8P,EAAM,KAAK,YAAY/P,EAAWC,CAAM,EACxC,KAAK,KAAO,KAAK,IAAI,KAAK,KAAMA,EAAO,CAAC,CAAC,EACzC,KAAK,KAAO,KAAK,IAAI,KAAK,KAAMA,EAAO,CAAC,CAAC,EACzC,KAAK,KAAO,KAAK,IAAI,KAAK,KAAMA,EAAO,CAAC,CAAC,EACzC,KAAK,KAAO,KAAK,IAAI,KAAK,KAAMA,EAAO,CAAC,CAAC,CAC1C,CACD,sBAAsBD,EAAW4B,EAAIC,EAAIC,EAAIC,EAAIC,GAAIC,EAAIC,EAAIC,EAAIlC,EAAQ,CACvE,MAAMmnB,EAAMrX,EAAM,KAAK,kBAAkBnO,EAAIC,EAAIC,EAAIC,EAAIC,GAAIC,EAAIC,EAAIC,CAAE,EACvE,GAAIlC,EAAQ,CACVA,EAAO,CAAC,EAAI,KAAK,IAAIA,EAAO,CAAC,EAAGmnB,EAAI,CAAC,EAAGA,EAAI,CAAC,CAAC,EAC9CnnB,EAAO,CAAC,EAAI,KAAK,IAAIA,EAAO,CAAC,EAAGmnB,EAAI,CAAC,EAAGA,EAAI,CAAC,CAAC,EAC9CnnB,EAAO,CAAC,EAAI,KAAK,IAAIA,EAAO,CAAC,EAAGmnB,EAAI,CAAC,EAAGA,EAAI,CAAC,CAAC,EAC9CnnB,EAAO,CAAC,EAAI,KAAK,IAAIA,EAAO,CAAC,EAAGmnB,EAAI,CAAC,EAAGA,EAAI,CAAC,CAAC,EAC9C,OAEF,KAAK,iBAAiBpnB,EAAWonB,CAAG,CACrC,CACD,mBAAmBC,EAAW1D,GAAgB,SAAS,KAAM3jB,EAAY,KAAM,CAC7E,MAAMonB,EAAM,CAAC,KAAK,KAAM,KAAK,KAAM,KAAK,KAAM,KAAK,IAAI,EACvD,GAAIC,IAAa1D,GAAgB,SAAS,OAAQ,CAC3C3jB,MACC+P,EAAM,aAAa,6CAA6C,EAEtE,MAAMtW,EAAQsW,EAAM,KAAK,8BAA8B/P,CAAS,EAC1DsnB,EAAa7tB,EAAM,CAAC,EAAI,KAAK,UAAY,EACzC8tB,GAAa9tB,EAAM,CAAC,EAAI,KAAK,UAAY,EAC/C2tB,EAAI,CAAC,GAAKE,EACVF,EAAI,CAAC,GAAKG,GACVH,EAAI,CAAC,GAAKE,EACVF,EAAI,CAAC,GAAKG,GAEZ,OAAOH,CACR,CACD,oBAAqB,CACnB,MAAMI,EAAYzX,EAAM,KAAK,UAAU,KAAK,QAAS,KAAK,mBAAkB,CAAE,EAC9E,KAAK,uBAAuByX,GAAa,CAAC,EAAG,EAAG,EAAG,CAAC,CAAC,CACtD,CACD,aAAc,CACZ,OAAO,KAAK,OAAS,GACtB,CACD,uBAAuBJ,EAAK,CAC1B,KAAK,QAAUA,EACf,KAAK,KAAO,IACZ,KAAK,KAAO,IACZ,KAAK,KAAO,EACZ,KAAK,KAAO,CACb,CACD,0BAA0BC,EAAW1D,GAAgB,SAAS,KAAM3jB,EAAY,KAAM,CACpF,OAAO+P,EAAM,KAAK,UAAU,KAAK,QAAS,KAAK,mBAAmBsX,EAAUrnB,CAAS,CAAC,CACvF,CACF,CACD,SAASynB,EAAmBhI,EAAKyG,EAAS,CACxC,GAAI,OAAO,UAAc,KAAeA,aAAmB,UAAW,CACpEzG,EAAI,aAAayG,EAAS,EAAG,CAAC,EAC9B,OAEF,MAAMtX,EAASsX,EAAQ,OACrBvX,EAAQuX,EAAQ,MACZwB,EAAqB9Y,EAASuV,EAC9BwD,GAAc/Y,EAAS8Y,GAAsBvD,EAC7CyD,GAAcF,IAAuB,EAAIC,EAAaA,EAAa,EACnEE,EAAepI,EAAI,gBAAgB9Q,EAAOwV,CAAiB,EACjE,IAAI2D,EAAS,EACXC,EACF,MAAMrjB,EAAMwhB,EAAQ,KACd8B,EAAOH,EAAa,KAC1B,IAAI7oB,EAAG0D,EAAGulB,EAAiBC,EAC3B,GAAIhC,EAAQ,OAASnW,EAAM,UAAU,eAAgB,CACnD,MAAMoY,GAAYzjB,EAAI,WAChB0jB,EAAS,IAAI,YAAYJ,EAAK,OAAQ,EAAGA,EAAK,YAAc,CAAC,EAC7DK,EAAmBD,EAAO,OAC1BE,GAAc3Z,EAAQ,GAAK,EAC3B4Z,GAAQ,WACRC,GAAQzY,EAAM,YAAY,eAAiB,WAAa,IAC9D,IAAK/Q,EAAI,EAAGA,EAAI4oB,GAAa5oB,IAAK,CAGhC,IAFAipB,EAAkBjpB,EAAI2oB,EAAaxD,EAAoBuD,EACvDK,EAAU,EACLrlB,EAAI,EAAGA,EAAIulB,EAAiBvlB,IAAK,CACpC,MAAM+lB,GAAUN,GAAYL,EAC5B,IAAIY,GAAI,EACR,MAAMC,GAAOF,GAAUH,GAAc3Z,EAAQ8Z,GAAU,EAAI,EACrDG,GAAeD,GAAO,GAC5B,IAAIhC,GAAO,EACPkC,GAAU,EACd,KAAOH,GAAIE,GAAcF,IAAK,EAC5BG,GAAUnkB,EAAIojB,GAAQ,EACtBM,EAAOL,GAAS,EAAIc,GAAU,IAAMN,GAAQC,GAC5CJ,EAAOL,GAAS,EAAIc,GAAU,GAAKN,GAAQC,GAC3CJ,EAAOL,GAAS,EAAIc,GAAU,GAAKN,GAAQC,GAC3CJ,EAAOL,GAAS,EAAIc,GAAU,GAAKN,GAAQC,GAC3CJ,EAAOL,GAAS,EAAIc,GAAU,EAAIN,GAAQC,GAC1CJ,EAAOL,GAAS,EAAIc,GAAU,EAAIN,GAAQC,GAC1CJ,EAAOL,GAAS,EAAIc,GAAU,EAAIN,GAAQC,GAC1CJ,EAAOL,GAAS,EAAIc,GAAU,EAAIN,GAAQC,GAE5C,KAAOE,GAAIC,GAAMD,KACX/B,KAAS,IACXkC,GAAUnkB,EAAIojB,GAAQ,EACtBnB,GAAO,KAETyB,EAAOL,GAAS,EAAIc,GAAUlC,GAAO4B,GAAQC,GAC7C7B,KAAS,EAGb,KAAOoB,EAAUM,GACfD,EAAOL,GAAS,EAAI,EAEtBtI,EAAI,aAAaoI,EAAc,EAAG7oB,EAAImlB,CAAiB,WAEhD+B,EAAQ,OAASnW,EAAM,UAAU,WAAY,CAGtD,IAFArN,EAAI,EACJwlB,EAAmBvZ,EAAQwV,EAAoB,EAC1CnlB,EAAI,EAAGA,EAAI2oB,EAAY3oB,IAC1BgpB,EAAK,IAAItjB,EAAI,SAASojB,EAAQA,EAASI,CAAgB,CAAC,EACxDJ,GAAUI,EACVzI,EAAI,aAAaoI,EAAc,EAAGnlB,CAAC,EACnCA,GAAKyhB,EAEHnlB,EAAI4oB,KACNM,EAAmBvZ,EAAQ+Y,EAAqB,EAChDM,EAAK,IAAItjB,EAAI,SAASojB,EAAQA,EAASI,CAAgB,CAAC,EACxDzI,EAAI,aAAaoI,EAAc,EAAGnlB,CAAC,WAE5BwjB,EAAQ,OAASnW,EAAM,UAAU,UAG1C,IAFAkY,EAAkB9D,EAClB+D,EAAmBvZ,EAAQsZ,EACtBjpB,EAAI,EAAGA,EAAI4oB,GAAa5oB,IAAK,CAMhC,IALIA,GAAK2oB,IACPM,EAAkBP,EAClBQ,EAAmBvZ,EAAQsZ,GAE7BF,EAAU,EACLrlB,EAAIwlB,EAAkBxlB,KACzBslB,EAAKD,GAAS,EAAIrjB,EAAIojB,GAAQ,EAC9BE,EAAKD,GAAS,EAAIrjB,EAAIojB,GAAQ,EAC9BE,EAAKD,GAAS,EAAIrjB,EAAIojB,GAAQ,EAC9BE,EAAKD,GAAS,EAAI,IAEpBtI,EAAI,aAAaoI,EAAc,EAAG7oB,EAAImlB,CAAiB,MAGzD,OAAM,IAAI,MAAM,mBAAmB+B,EAAQ,MAAM,CAEpD,CACD,SAAS4C,EAAmBrJ,EAAKyG,EAAS,CACxC,GAAIA,EAAQ,OAAQ,CAClBzG,EAAI,UAAUyG,EAAQ,OAAQ,EAAG,CAAC,EAClC,OAEF,MAAMtX,EAASsX,EAAQ,OACrBvX,EAAQuX,EAAQ,MACZwB,EAAqB9Y,EAASuV,EAC9BwD,GAAc/Y,EAAS8Y,GAAsBvD,EAC7CyD,GAAcF,IAAuB,EAAIC,EAAaA,EAAa,EACnEE,EAAepI,EAAI,gBAAgB9Q,EAAOwV,CAAiB,EACjE,IAAI2D,EAAS,EACb,MAAMpjB,EAAMwhB,EAAQ,KACd8B,EAAOH,EAAa,KAC1B,QAAS7oB,EAAI,EAAGA,EAAI4oB,GAAa5oB,IAAK,CACpC,MAAMipB,EAAkBjpB,EAAI2oB,EAAaxD,EAAoBuD,GAC5D,CACC,OAAAI,CACN,KAAYlE,EAAa,4BAA4B,CAC/C,IAAAlf,EACA,OAAAojB,EACA,KAAAE,EACA,MAAArZ,EACA,OAAQsZ,EACR,cAAe,CACrB,CAAK,GACDxI,EAAI,aAAaoI,EAAc,EAAG7oB,EAAImlB,CAAiB,EAE1D,CACD,SAAS4E,EAAaC,EAAW3E,EAAS,CACxC,MAAM4E,EAAa,CAAC,cAAe,YAAa,WAAY,cAAe,YAAa,UAAW,WAAY,aAAc,2BAA4B,OAAQ,QAAQ,EACzK,UAAWC,KAAYD,EACjBD,EAAUE,CAAQ,IAAM,SAC1B7E,EAAQ6E,CAAQ,EAAIF,EAAUE,CAAQ,GAGtCF,EAAU,cAAgB,SAC5B3E,EAAQ,YAAY2E,EAAU,YAAa,CAAA,EAC3C3E,EAAQ,eAAiB2E,EAAU,eAEtC,CACD,SAASG,EAAkB1J,EAAK,CAC9BA,EAAI,YAAcA,EAAI,UAAY,UAClCA,EAAI,SAAW,UACfA,EAAI,YAAc,EAClBA,EAAI,UAAY,EAChBA,EAAI,QAAU,OACdA,EAAI,SAAW,QACfA,EAAI,WAAa,GACjBA,EAAI,yBAA2B,cAC/BA,EAAI,KAAO,kBACPA,EAAI,cAAgB,SACtBA,EAAI,YAAY,CAAA,CAAE,EAClBA,EAAI,eAAiB,GAElB+B,EAAS,WACZ/B,EAAI,OAAS,OAEhB,CACD,SAAS2J,EAAqBxqB,EAAOyqB,EAAIC,EAAIC,EAAI,CAC/C,MAAM1qB,EAASD,EAAM,OACrB,QAASI,EAAI,EAAGA,EAAIH,EAAQG,GAAK,EAAG,CAClC,MAAMwqB,GAAQ5qB,EAAMI,CAAC,EACrB,GAAIwqB,KAAU,EACZ5qB,EAAMI,EAAI,CAAC,EAAIqqB,EACfzqB,EAAMI,EAAI,CAAC,EAAIsqB,EACf1qB,EAAMI,EAAI,CAAC,EAAIuqB,UACNC,GAAQ,IAAK,CACtB,MAAMC,EAAS,IAAMD,GACrB5qB,EAAMI,EAAI,CAAC,EAAIJ,EAAMI,EAAI,CAAC,EAAIwqB,GAAQH,EAAKI,GAAU,EACrD7qB,EAAMI,EAAI,CAAC,EAAIJ,EAAMI,EAAI,CAAC,EAAIwqB,GAAQF,EAAKG,GAAU,EACrD7qB,EAAMI,EAAI,CAAC,EAAIJ,EAAMI,EAAI,CAAC,EAAIwqB,GAAQD,EAAKE,GAAU,GAG1D,CACD,SAASC,EAAkBC,EAAUC,EAAWC,EAAa,CAC3D,MAAMhrB,EAAS8qB,EAAS,OAClBlwB,EAAQ,EAAI,IAClB,QAASuF,EAAI,EAAGA,EAAIH,EAAQG,GAAK,EAAG,CAClC,MAAMwqB,GAAQK,EAAcA,EAAYF,EAAS3qB,CAAC,CAAC,EAAI2qB,EAAS3qB,CAAC,EACjE4qB,EAAU5qB,CAAC,EAAI4qB,EAAU5qB,CAAC,EAAIwqB,GAAQ/vB,EAAQ,EAEjD,CACD,SAASqwB,EAAuBH,EAAUC,EAAWC,EAAa,CAChE,MAAMhrB,EAAS8qB,EAAS,OACxB,QAAS3qB,EAAI,EAAGA,EAAIH,EAAQG,GAAK,EAAG,CAClC,MAAMgT,EAAI2X,EAAS3qB,EAAI,CAAC,EAAI,GAAK2qB,EAAS3qB,EAAI,CAAC,EAAI,IAAM2qB,EAAS3qB,EAAI,CAAC,EAAI,GAC3E4qB,EAAU5qB,CAAC,EAAI6qB,EAAcD,EAAU5qB,CAAC,EAAI6qB,EAAY7X,GAAK,CAAC,GAAK,EAAI4X,EAAU5qB,CAAC,EAAIgT,GAAK,GAE9F,CACD,SAAS+X,EAAoBC,EAASC,EAAUtb,EAAOC,EAAQsb,EAASC,EAAUN,GAAaO,EAAcC,EAAcC,EAAaC,EAAa,CACnJ,MAAMC,EAAc,CAAC,CAACL,EAChBd,EAAKmB,EAAcL,EAAS,CAAC,EAAI,EACjCb,EAAKkB,EAAcL,EAAS,CAAC,EAAI,EACjCZ,EAAKiB,EAAcL,EAAS,CAAC,EAAI,EACvC,IAAIM,EACAP,IAAY,aACdO,EAAYX,EAEZW,EAAYf,EAGd,MAAMgB,EAAY,KAAK,IAAI9b,EAAQ,KAAK,KADd,QACuCD,CAAK,CAAC,EACvE,QAASgc,EAAM,EAAGA,EAAM/b,EAAQ+b,GAAOD,EAAW,CAChD,MAAME,GAAc,KAAK,IAAIF,EAAW9b,EAAS+b,CAAG,EAC9ChB,GAAWK,EAAQ,aAAaI,EAAeE,EAAaK,GAAON,EAAeE,GAAc5b,EAAOic,EAAW,EAClHhB,GAAYK,EAAS,aAAaG,EAAcO,EAAMN,EAAc1b,EAAOic,EAAW,EACxFJ,GACFpB,EAAqBO,GAAS,KAAMN,EAAIC,EAAIC,CAAE,EAEhDkB,EAAUd,GAAS,KAAMC,GAAU,KAAMC,EAAW,EACpDI,EAAS,aAAaL,GAAWQ,EAAcO,EAAMN,CAAY,EAEpE,CACD,SAASQ,EAAapL,EAAKqL,EAAOb,EAAUc,EAAU,CACpD,MAAMX,EAAeW,EAAS,CAAC,EACzBV,EAAeU,EAAS,CAAC,EACzBC,GAAaD,EAAS,CAAC,EAAIX,EAC3Ba,EAAcF,EAAS,CAAC,EAAIV,EAC9BW,KAAe,GAAKC,IAAgB,IAGxClB,EAAoBe,EAAM,QAASb,EAAUe,GAAYC,EAAaH,EAAM,QAASA,EAAM,SAAUA,EAAM,YAAaV,EAAcC,EAAcS,EAAM,QAASA,EAAM,OAAO,EAChLrL,EAAI,KAAI,EACRA,EAAI,YAAc,EAClBA,EAAI,yBAA2B,cAC/BA,EAAI,aAAa,EAAG,EAAG,EAAG,EAAG,EAAG,CAAC,EACjCA,EAAI,UAAUwK,EAAS,OAAQ,EAAG,CAAC,EACnCxK,EAAI,QAAO,EACZ,CACD,SAASyL,EAAyBlrB,EAAWmrB,EAAa,CACxD,MAAM1xB,EAAQsW,EAAM,KAAK,8BAA8B/P,CAAS,EAChEvG,EAAM,CAAC,EAAI,KAAK,OAAOA,EAAM,CAAC,CAAC,EAC/BA,EAAM,CAAC,EAAI,KAAK,OAAOA,EAAM,CAAC,CAAC,EAC/B,MAAM2xB,EAAc,KAAK,QAAQ,WAAW,kBAAoB,GAAKnY,EAAe,cAAc,gBAAgB,EAClH,OAAIkY,IAAgB,OACXA,EACE1xB,EAAM,CAAC,GAAK2xB,GAAe3xB,EAAM,CAAC,GAAK2xB,CAInD,CACD,MAAMC,GAAkB,CAAC,OAAQ,QAAS,QAAQ,EAC5CC,EAAmB,CAAC,QAAS,QAAS,OAAO,EAC7CC,GAAc,CAAA,EACdC,GAAU,CAAA,EACVC,GAAN,KAAqB,CACnB,YAAYC,EAAW/b,EAAYD,EAAMnJ,EAAeC,EAAe,CACrE,sBAAA+D,GACA,mBAAAohB,EAAqB,IACzB,EAAKniB,EAAqBC,EAAY,CAoHpCjG,EAAA,KAAAooB,IA6BApoB,EAAA,KAAAqoB,GAhJE,KAAK,IAAMH,EACX,KAAK,QAAU,IAAIvE,EAAiB,KAAK,IAAI,OAAO,MAAO,KAAK,IAAI,OAAO,MAAM,EACjF,KAAK,WAAa,GAClB,KAAK,YAAc,KACnB,KAAK,cAAgB,GACrB,KAAK,IAAM,KACX,KAAK,MAAQ,KACb,KAAK,WAAaxX,EAClB,KAAK,KAAOD,EACZ,KAAK,cAAgBnJ,EACrB,KAAK,cAAgBC,EACrB,KAAK,WAAa,GAClB,KAAK,gBAAkB,KACvB,KAAK,cAAgB,KACrB,KAAK,mBAAqB,GAC1B,KAAK,WAAa,EAClB,KAAK,WAAa,GAClB,KAAK,aAAe,EACpB,KAAK,UAAY,KACjB,KAAK,aAAe,KACpB,KAAK,eAAiB,GACtB,KAAK,mBAAqBmlB,GAAsB,GAChD,KAAK,sBAAwBphB,GAC7B,KAAK,eAAiB,IAAIoa,EAAe,KAAK,aAAa,EAC3D,KAAK,eAAiB,IAAI,IAC1B,KAAK,oBAAsBnb,EAC3B,KAAK,cAAgB,EACrB,KAAK,aAAe,EACpB,KAAK,aAAe,EACpB,KAAK,WAAaC,EAClB,KAAK,wBAA0B,KAC/B,KAAK,2BAA6B,KAClC,KAAK,kBAAoB,IAAI,GAC9B,CACD,UAAU7F,EAAMkoB,EAAW,KAAM,CAC/B,OAAI,OAAOloB,GAAS,SACXA,EAAK,WAAW,IAAI,EAAI,KAAK,WAAW,IAAIA,CAAI,EAAI,KAAK,KAAK,IAAIA,CAAI,EAExEkoB,CACR,CACD,aAAa,CACX,UAAA9rB,EACA,SAAAoJ,EACA,aAAAkB,EAAe,GACf,WAAAhB,EAAa,IACjB,EAAK,CACD,MAAMqF,EAAQ,KAAK,IAAI,OAAO,MACxBC,GAAS,KAAK,IAAI,OAAO,OACzBmd,EAAiB,KAAK,IAAI,UAIhC,GAHA,KAAK,IAAI,UAAYziB,GAAc,UACnC,KAAK,IAAI,SAAS,EAAG,EAAGqF,EAAOC,EAAM,EACrC,KAAK,IAAI,UAAYmd,EACjBzhB,EAAc,CAChB,MAAM0hB,EAAoB,KAAK,eAAe,UAAU,cAAerd,EAAOC,EAAM,EACpF,KAAK,aAAe,KAAK,IACzB,KAAK,kBAAoBod,EAAkB,OAC3C,KAAK,IAAMA,EAAkB,QAC7B,KAAK,IAAI,OACT,KAAK,IAAI,UAAU,MAAO/Y,EAAe,qBAAqB,KAAK,YAAY,CAAC,EAElF,KAAK,IAAI,OACTkW,EAAkB,KAAK,GAAG,EACtBnpB,IACF,KAAK,IAAI,UAAU,GAAGA,CAAS,EAC/B,KAAK,aAAeA,EAAU,CAAC,EAC/B,KAAK,aAAeA,EAAU,CAAC,GAEjC,KAAK,IAAI,UAAU,GAAGoJ,EAAS,SAAS,EACxC,KAAK,cAAgBA,EAAS,MAC9B,KAAK,iBAAoB6J,EAAe,qBAAqB,KAAK,GAAG,CACtE,CACD,oBAAoBlH,EAAckgB,EAAmBC,EAAkBC,EAAS,CAC9E,MAAMC,EAAYrgB,EAAa,UACzBsgB,GAAUtgB,EAAa,QAC7B,IAAI/M,EAAIitB,GAAqB,EAC7B,MAAMK,EAAeF,EAAU,OAC/B,GAAIE,IAAiBttB,EACnB,OAAOA,EAET,MAAMutB,EAAkBD,EAAettB,EAAIilB,GAAmB,OAAOiI,GAAqB,WACpFM,EAAUD,EAAkB,KAAK,IAAK,EAAGvI,EAAiB,EAChE,IAAI8C,EAAQ,EACZ,MAAMnX,EAAa,KAAK,WAClBD,EAAO,KAAK,KAClB,IAAI+c,EACJ,OAAa,CACX,GAAIN,IAAY,QAAantB,IAAMmtB,EAAQ,eACzC,OAAAA,EAAQ,QAAQntB,EAAGktB,CAAgB,EAC5BltB,EAGT,GADAytB,EAAOJ,GAAQrtB,CAAC,EACZytB,IAAS1c,EAAM,IAAI,WACrB,KAAK0c,CAAI,EAAE,MAAM,KAAML,EAAUptB,CAAC,CAAC,MAEnC,WAAW0tB,KAAYN,EAAUptB,CAAC,EAAG,CACnC,MAAM2tB,GAAWD,EAAS,WAAW,IAAI,EAAI/c,EAAaD,EAC1D,GAAI,CAACid,GAAS,IAAID,CAAQ,EACxB,OAAAC,GAAS,IAAID,EAAUR,CAAgB,EAChCltB,EAKb,GADAA,IACIA,IAAMstB,EACR,OAAOttB,EAET,GAAIutB,GAAmB,EAAEzF,EAAQ7C,EAAiB,CAChD,GAAI,KAAK,IAAK,EAAGuI,EACf,OAAAN,IACOltB,EAET8nB,EAAQ,GAGb,CAeD,YAAa,CACXld,EAAA,KAAKgiB,GAAAgB,IAAL,WACA,KAAK,eAAe,QACpB,KAAK,eAAe,QACpB,UAAWC,KAAS,KAAK,kBAAkB,OAAM,EAAI,CACnD,UAAWtQ,KAAUsQ,EAAM,SACrB,OAAO,kBAAsB,KAAetQ,aAAkB,oBAChEA,EAAO,MAAQA,EAAO,OAAS,GAGnCsQ,EAAM,MAAK,EAEb,KAAK,kBAAkB,QACvBjjB,EAAA,KAAKiiB,EAAAiB,IAAL,UACD,CAYD,YAAYC,EAAKC,EAAkB,CACjC,MAAMre,EAAQoe,EAAI,MACZne,EAASme,EAAI,OACnB,IAAIE,EAAa,KAAK,IAAI,KAAK,MAAMD,EAAiB,CAAC,EAAGA,EAAiB,CAAC,CAAC,EAAG,CAAC,EAC7EE,GAAc,KAAK,IAAI,KAAK,MAAMF,EAAiB,CAAC,EAAGA,EAAiB,CAAC,CAAC,EAAG,CAAC,EAC9EG,EAAaxe,EACfye,EAAcxe,EACZye,EAAc,YACdC,EAAWC,EACf,KAAON,EAAa,GAAKE,EAAa,GAAKD,GAAc,GAAKE,EAAc,GAAG,CAC7E,IAAII,EAAWL,EACbM,EAAYL,EACVH,EAAa,GAAKE,EAAa,IACjCK,EAAWL,GAAc,MAAQ,KAAK,MAAMA,EAAa,CAAC,EAAI,GAAK,EAAI,KAAK,KAAKA,EAAa,CAAC,EAC/FF,GAAcE,EAAaK,GAEzBN,GAAc,GAAKE,EAAc,IACnCK,EAAYL,GAAe,MAAQ,KAAK,MAAMA,EAAc,CAAC,EAAI,GAAK,EAAI,KAAK,KAAKA,CAAW,EAAI,EACnGF,IAAeE,EAAcK,GAE/BH,EAAY,KAAK,eAAe,UAAUD,EAAaG,EAAUC,CAAS,EAC1EF,EAASD,EAAU,QACnBC,EAAO,UAAU,EAAG,EAAGC,EAAUC,CAAS,EAC1CF,EAAO,UAAUR,EAAK,EAAG,EAAGI,EAAYC,EAAa,EAAG,EAAGI,EAAUC,CAAS,EAC9EV,EAAMO,EAAU,OAChBH,EAAaK,EACbJ,EAAcK,EACdJ,EAAcA,IAAgB,YAAc,YAAc,YAE5D,MAAO,CACL,IAAAN,EACA,WAAAI,EACA,YAAAC,CACN,CACG,CACD,kBAAkBL,EAAK,CACrB,MAAMtN,EAAM,KAAK,IACX,CACJ,MAAA9Q,EACA,OAAAC,CACD,EAAGme,EACEW,EAAY,KAAK,QAAQ,UACzBC,GAAgB,KAAK,QAAQ,YAC7BC,KAAuB3a,EAAe,qBAAqBwM,CAAG,EACpE,IAAIoN,EAAOxhB,EAAUwiB,EAAQC,EAC7B,IAAKf,EAAI,QAAUA,EAAI,OAASA,EAAI,MAAQ,EAAG,CAC7C,MAAMgB,GAAUhB,EAAI,QAAUA,EAAI,KAAK,OACvC1hB,EAAW,KAAK,UAAUsiB,GAAgBC,EAAmB,CAACA,EAAiB,MAAM,EAAG,CAAC,EAAGF,CAAS,CAAC,EACtGb,EAAQ,KAAK,kBAAkB,IAAIkB,EAAO,EACrClB,IACHA,EAAQ,IAAI,IACZ,KAAK,kBAAkB,IAAIkB,GAASlB,CAAK,GAE3C,MAAMmB,GAAcnB,EAAM,IAAIxhB,CAAQ,EACtC,GAAI2iB,IAAe,CAACL,GAAe,CACjC,MAAM7kB,GAAU,KAAK,MAAM,KAAK,IAAI8kB,EAAiB,CAAC,EAAGA,EAAiB,CAAC,CAAC,EAAIA,EAAiB,CAAC,CAAC,EAC7F7kB,GAAU,KAAK,MAAM,KAAK,IAAI6kB,EAAiB,CAAC,EAAGA,EAAiB,CAAC,CAAC,EAAIA,EAAiB,CAAC,CAAC,EACnG,MAAO,CACL,OAAQI,GACR,QAAAllB,GACA,QAAAC,EACV,EAEM8kB,EAASG,GAENH,IACHC,EAAa,KAAK,eAAe,UAAU,aAAcnf,EAAOC,CAAM,EACtEka,EAAmBgF,EAAW,QAASf,CAAG,GAE5C,IAAIkB,EAAele,EAAM,KAAK,UAAU6d,EAAkB,CAAC,EAAIjf,EAAO,EAAG,EAAG,GAAKC,EAAQ,EAAG,CAAC,CAAC,EAC9Fqf,EAAele,EAAM,KAAK,UAAUke,EAAc,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,CAACrf,CAAM,CAAC,EAC1E,MAAMsf,EAAQne,EAAM,KAAK,eAAe,CAAC,EAAG,CAAC,EAAGke,CAAY,EACtDE,EAAQpe,EAAM,KAAK,eAAe,CAACpB,EAAOC,CAAM,EAAGqf,CAAY,EAC/D5sB,EAAO0O,EAAM,KAAK,cAAc,CAACme,EAAM,CAAC,EAAGA,EAAM,CAAC,EAAGC,EAAM,CAAC,EAAGA,EAAM,CAAC,CAAC,CAAC,EACxEC,GAAa,KAAK,MAAM/sB,EAAK,CAAC,EAAIA,EAAK,CAAC,CAAC,GAAK,EAC9CgtB,EAAc,KAAK,MAAMhtB,EAAK,CAAC,EAAIA,EAAK,CAAC,CAAC,GAAK,EAC/CitB,EAAa,KAAK,eAAe,UAAU,aAAcF,GAAYC,CAAW,EAChFE,GAAUD,EAAW,QACrBxlB,GAAU,KAAK,IAAIolB,EAAM,CAAC,EAAGC,EAAM,CAAC,CAAC,EACrCplB,GAAU,KAAK,IAAImlB,EAAM,CAAC,EAAGC,EAAM,CAAC,CAAC,EAC3CI,GAAQ,UAAU,CAACzlB,GAAS,CAACC,EAAO,EACpCwlB,GAAQ,UAAU,GAAGN,CAAY,EAC5BJ,IACHA,EAAS,KAAK,YAAYC,EAAW,UAAY7a,EAAe,4BAA4Bsb,EAAO,CAAC,EACpGV,EAASA,EAAO,IACZhB,GAASc,IACXd,EAAM,IAAIxhB,EAAUwiB,CAAM,GAG9BU,GAAQ,sBAAwBrD,KAA6BjY,EAAe,qBAAqBsb,EAAO,EAAGxB,EAAI,WAAW,EAC1HlI,EAAyB0J,GAASV,EAAQ,EAAG,EAAGA,EAAO,MAAOA,EAAO,OAAQ,EAAG,EAAGlf,EAAOC,CAAM,EAChG2f,GAAQ,yBAA2B,YACnC,MAAMC,GAAUze,EAAM,KAAK,aAAckD,EAAe,4BAA4Bsb,EAAO,EAAG,CAAC,EAAG,EAAG,EAAG,EAAG,CAACzlB,GAAS,CAACC,EAAO,CAAC,EAC9H,OAAAwlB,GAAQ,UAAYZ,GAAgBD,EAAU,WAAWjO,EAAK,KAAM+O,GAAS7K,GAAgB,SAAS,IAAI,EAAI+J,EAC9Ga,GAAQ,SAAS,EAAG,EAAG5f,EAAOC,CAAM,EAChCie,GAAS,CAACc,KACZ,KAAK,eAAe,OAAO,YAAY,EACvCd,EAAM,IAAIxhB,EAAUijB,EAAW,MAAM,GAEhC,CACL,OAAQA,EAAW,OACnB,QAAS,KAAK,MAAMxlB,EAAO,EAC3B,QAAS,KAAK,MAAMC,EAAO,CACjC,CACG,CACD,aAAa4F,EAAO,CACdA,IAAU,KAAK,QAAQ,YACzB,KAAK,wBAA0B,MAEjC,KAAK,QAAQ,UAAYA,EACzB,KAAK,IAAI,UAAYA,CACtB,CACD,WAAW2D,EAAO,CAChB,KAAK,IAAI,QAAU+Y,GAAgB/Y,CAAK,CACzC,CACD,YAAYA,EAAO,CACjB,KAAK,IAAI,SAAWgZ,EAAiBhZ,CAAK,CAC3C,CACD,cAAcmc,EAAO,CACnB,KAAK,IAAI,WAAaA,CACvB,CACD,QAAQC,EAAWC,EAAW,CAC5B,MAAMlP,EAAM,KAAK,IACbA,EAAI,cAAgB,SACtBA,EAAI,YAAYiP,CAAS,EACzBjP,EAAI,eAAiBkP,EAExB,CACD,mBAAmB1lB,EAAQ,CAAE,CAC7B,YAAY2lB,EAAU,CAAE,CACxB,UAAUC,EAAQ,CAChB,SAAW,CAACxvB,EAAKxB,CAAK,IAAKgxB,EACzB,OAAQxvB,EAAG,CACT,IAAK,KACH,KAAK,aAAaxB,CAAK,EACvB,MACF,IAAK,KACH,KAAK,WAAWA,CAAK,EACrB,MACF,IAAK,KACH,KAAK,YAAYA,CAAK,EACtB,MACF,IAAK,KACH,KAAK,cAAcA,CAAK,EACxB,MACF,IAAK,IACH,KAAK,QAAQA,EAAM,CAAC,EAAGA,EAAM,CAAC,CAAC,EAC/B,MACF,IAAK,KACH,KAAK,mBAAmBA,CAAK,EAC7B,MACF,IAAK,KACH,KAAK,YAAYA,CAAK,EACtB,MACF,IAAK,OACH,KAAK,QAAQA,EAAM,CAAC,EAAGA,EAAM,CAAC,CAAC,EAC/B,MACF,IAAK,KACH,KAAK,QAAQ,YAAcA,EAC3B,MACF,IAAK,KACH,KAAK,QAAQ,UAAYA,EACzB,KAAK,IAAI,YAAcA,EACvB,MACF,IAAK,KACH,KAAK,IAAI,yBAA2BA,EACpC,MACF,IAAK,QACH,KAAK,QAAQ,YAAcA,EAAQ,KAAK,UAAY,KACpD,KAAK,UAAY,KACjB,KAAK,gBAAe,EACpB,MACF,IAAK,KACH,KAAK,IAAI,OAAS,KAAK,QAAQ,aAAe,KAAK,cAAc,UAAUA,CAAK,EAChF,KACH,CAEJ,CACD,IAAI,aAAc,CAChB,MAAO,CAAC,CAAC,KAAK,YACf,CACD,iBAAkB,CAChB,MAAMixB,EAAc,KAAK,YACrB,KAAK,QAAQ,aAAe,CAACA,EAC/B,KAAK,eAAc,EACV,CAAC,KAAK,QAAQ,aAAeA,GACtC,KAAK,aAAY,CAEpB,CACD,gBAAiB,CACf,GAAI,KAAK,YACP,MAAM,IAAI,MAAM,mDAAmD,EAErE,MAAMV,EAAa,KAAK,IAAI,OAAO,MAC7BC,EAAc,KAAK,IAAI,OAAO,OAC9BU,EAAU,eAAiB,KAAK,WAChCC,EAAgB,KAAK,eAAe,UAAUD,EAASX,EAAYC,CAAW,EACpF,KAAK,aAAe,KAAK,IACzB,KAAK,IAAMW,EAAc,QACzB,MAAMvP,EAAM,KAAK,IACjBA,EAAI,aAAa,MAAOxM,EAAe,qBAAqB,KAAK,YAAY,CAAC,EAC9E8V,EAAa,KAAK,aAActJ,CAAG,EACnC2E,EAAwB3E,EAAK,KAAK,YAAY,EAC9C,KAAK,UAAU,CAAC,CAAC,KAAM,aAAa,EAAG,CAAC,KAAM,CAAC,EAAG,CAAC,KAAM,CAAC,CAAC,CAAC,CAC7D,CACD,cAAe,CACb,GAAI,CAAC,KAAK,YACR,MAAM,IAAI,MAAM,6CAA6C,EAE/D,KAAK,IAAI,mBACTsJ,EAAa,KAAK,IAAK,KAAK,YAAY,EACxC,KAAK,IAAM,KAAK,aAChB,KAAK,aAAe,IACrB,CACD,QAAQkG,EAAU,CAChB,GAAI,CAAC,KAAK,QAAQ,YAChB,OAEGA,GAGHA,EAAS,CAAC,EAAI,KAAK,MAAMA,EAAS,CAAC,CAAC,EACpCA,EAAS,CAAC,EAAI,KAAK,MAAMA,EAAS,CAAC,CAAC,EACpCA,EAAS,CAAC,EAAI,KAAK,KAAKA,EAAS,CAAC,CAAC,EACnCA,EAAS,CAAC,EAAI,KAAK,KAAKA,EAAS,CAAC,CAAC,GALnCA,EAAW,CAAC,EAAG,EAAG,KAAK,IAAI,OAAO,MAAO,KAAK,IAAI,OAAO,MAAM,EAOjE,MAAMnE,EAAQ,KAAK,QAAQ,YACrBoE,EAAe,KAAK,aAC1BrE,EAAaqE,EAAcpE,EAAO,KAAK,IAAKmE,CAAQ,EACpD,KAAK,IAAI,OACT,KAAK,IAAI,aAAa,EAAG,EAAG,EAAG,EAAG,EAAG,CAAC,EACtC,KAAK,IAAI,UAAU,EAAG,EAAG,KAAK,IAAI,OAAO,MAAO,KAAK,IAAI,OAAO,MAAM,EACtE,KAAK,IAAI,SACV,CACD,MAAO,CACD,KAAK,aACPlG,EAAa,KAAK,IAAK,KAAK,YAAY,EACxC,KAAK,aAAa,QAElB,KAAK,IAAI,OAEX,MAAMoG,EAAM,KAAK,QACjB,KAAK,WAAW,KAAKA,CAAG,EACxB,KAAK,QAAUA,EAAI,OACpB,CACD,SAAU,CACJ,KAAK,WAAW,SAAW,GAAK,KAAK,aACvC,KAAK,aAAY,EAEf,KAAK,WAAW,SAAW,IAC7B,KAAK,QAAU,KAAK,WAAW,IAAG,EAC9B,KAAK,aACP,KAAK,aAAa,UAClBpG,EAAa,KAAK,aAAc,KAAK,GAAG,GAExC,KAAK,IAAI,UAEX,KAAK,gBAAe,EACpB,KAAK,YAAc,KACnB,KAAK,wBAA0B,KAC/B,KAAK,2BAA6B,KAErC,CACD,UAAUhoB,EAAGhB,EAAGiB,EAAGP,EAAGif,EAAGC,GAAG,CAC1B,KAAK,IAAI,UAAU5e,EAAGhB,EAAGiB,EAAGP,EAAGif,EAAGC,EAAC,EACnC,KAAK,wBAA0B,KAC/B,KAAK,2BAA6B,IACnC,CACD,cAAcyP,EAAK3L,EAAMxjB,EAAQ,CAC/B,MAAMwf,EAAM,KAAK,IACX+D,EAAU,KAAK,QACrB,IAAIzR,GAAIyR,EAAQ,EACdxR,EAAIwR,EAAQ,EACV6L,EAAQC,EACZ,MAAM1B,KAAuB3a,EAAe,qBAAqBwM,CAAG,EAC9D8P,EAAkB3B,EAAiB,CAAC,IAAM,GAAKA,EAAiB,CAAC,IAAM,GAAKA,EAAiB,CAAC,IAAM,GAAKA,EAAiB,CAAC,IAAM,EACjI4B,EAAkBD,EAAkBtvB,EAAO,MAAM,CAAC,EAAI,KAC5D,QAASjB,EAAI,EAAG0D,EAAI,EAAGQ,EAAKksB,EAAI,OAAQpwB,EAAIkE,EAAIlE,IAC9C,OAAQowB,EAAIpwB,CAAC,EAAI,EAAC,CAChB,KAAK+Q,EAAM,IAAI,UACbgC,GAAI0R,EAAK/gB,GAAG,EACZsP,EAAIyR,EAAK/gB,GAAG,EACZ,MAAMiM,GAAQ8U,EAAK/gB,GAAG,EAChBkM,EAAS6U,EAAK/gB,GAAG,EACjB+sB,EAAK1d,GAAIpD,GACT+gB,GAAK1d,EAAIpD,EACf6Q,EAAI,OAAO1N,GAAGC,CAAC,EACXrD,KAAU,GAAKC,IAAW,EAC5B6Q,EAAI,OAAOgQ,EAAIC,EAAE,GAEjBjQ,EAAI,OAAOgQ,EAAIzd,CAAC,EAChByN,EAAI,OAAOgQ,EAAIC,EAAE,EACjBjQ,EAAI,OAAO1N,GAAG2d,EAAE,GAEbH,GACH/L,EAAQ,iBAAiBoK,EAAkB,CAAC7b,GAAGC,EAAGyd,EAAIC,EAAE,CAAC,EAE3DjQ,EAAI,UAAS,EACb,MACF,KAAK1P,EAAM,IAAI,OACbgC,GAAI0R,EAAK/gB,GAAG,EACZsP,EAAIyR,EAAK/gB,GAAG,EACZ+c,EAAI,OAAO1N,GAAGC,CAAC,EACVud,GACH/L,EAAQ,iBAAiBoK,EAAkB7b,GAAGC,CAAC,EAEjD,MACF,KAAKjC,EAAM,IAAI,OACbgC,GAAI0R,EAAK/gB,GAAG,EACZsP,EAAIyR,EAAK/gB,GAAG,EACZ+c,EAAI,OAAO1N,GAAGC,CAAC,EACVud,GACH/L,EAAQ,iBAAiBoK,EAAkB7b,GAAGC,CAAC,EAEjD,MACF,KAAKjC,EAAM,IAAI,QACbsf,EAAStd,GACTud,EAAStd,EACTD,GAAI0R,EAAK/gB,EAAI,CAAC,EACdsP,EAAIyR,EAAK/gB,EAAI,CAAC,EACd+c,EAAI,cAAcgE,EAAK/gB,CAAC,EAAG+gB,EAAK/gB,EAAI,CAAC,EAAG+gB,EAAK/gB,EAAI,CAAC,EAAG+gB,EAAK/gB,EAAI,CAAC,EAAGqP,GAAGC,CAAC,EACtEwR,EAAQ,sBAAsBoK,EAAkByB,EAAQC,EAAQ7L,EAAK/gB,CAAC,EAAG+gB,EAAK/gB,EAAI,CAAC,EAAG+gB,EAAK/gB,EAAI,CAAC,EAAG+gB,EAAK/gB,EAAI,CAAC,EAAGqP,GAAGC,EAAGwd,CAAe,EACrI9sB,GAAK,EACL,MACF,KAAKqN,EAAM,IAAI,SACbsf,EAAStd,GACTud,EAAStd,EACTyN,EAAI,cAAc1N,GAAGC,EAAGyR,EAAK/gB,CAAC,EAAG+gB,EAAK/gB,EAAI,CAAC,EAAG+gB,EAAK/gB,EAAI,CAAC,EAAG+gB,EAAK/gB,EAAI,CAAC,CAAC,EACtE8gB,EAAQ,sBAAsBoK,EAAkByB,EAAQC,EAAQvd,GAAGC,EAAGyR,EAAK/gB,CAAC,EAAG+gB,EAAK/gB,EAAI,CAAC,EAAG+gB,EAAK/gB,EAAI,CAAC,EAAG+gB,EAAK/gB,EAAI,CAAC,EAAG8sB,CAAe,EACrIzd,GAAI0R,EAAK/gB,EAAI,CAAC,EACdsP,EAAIyR,EAAK/gB,EAAI,CAAC,EACdA,GAAK,EACL,MACF,KAAKqN,EAAM,IAAI,SACbsf,EAAStd,GACTud,EAAStd,EACTD,GAAI0R,EAAK/gB,EAAI,CAAC,EACdsP,EAAIyR,EAAK/gB,EAAI,CAAC,EACd+c,EAAI,cAAcgE,EAAK/gB,CAAC,EAAG+gB,EAAK/gB,EAAI,CAAC,EAAGqP,GAAGC,EAAGD,GAAGC,CAAC,EAClDwR,EAAQ,sBAAsBoK,EAAkByB,EAAQC,EAAQ7L,EAAK/gB,CAAC,EAAG+gB,EAAK/gB,EAAI,CAAC,EAAGqP,GAAGC,EAAGD,GAAGC,EAAGwd,CAAe,EACjH9sB,GAAK,EACL,MACF,KAAKqN,EAAM,IAAI,UACb0P,EAAI,UAAS,EACb,KACH,CAEC8P,GACF/L,EAAQ,wBAAwBoK,EAAkB4B,CAAe,EAEnEhM,EAAQ,gBAAgBzR,GAAGC,CAAC,CAC7B,CACD,WAAY,CACV,KAAK,IAAI,WACV,CACD,OAAO2d,EAAc,GAAM,CACzB,MAAMlQ,EAAM,KAAK,IACXmQ,EAAc,KAAK,QAAQ,YACjCnQ,EAAI,YAAc,KAAK,QAAQ,YAC3B,KAAK,iBACH,OAAOmQ,GAAgB,WAAYA,GAAA,MAAAA,EAAa,aAClDnQ,EAAI,KAAI,EACRA,EAAI,YAAcmQ,EAAY,WAAWnQ,EAAK,QAAUxM,EAAe,4BAA4BwM,CAAG,EAAGkE,GAAgB,SAAS,MAAM,EACxI,KAAK,iBAAiB,EAAK,EAC3BlE,EAAI,QAAO,GAEX,KAAK,iBAAiB,EAAI,GAG1BkQ,GACF,KAAK,YAAY,KAAK,QAAQ,0BAA2B,CAAA,EAE3DlQ,EAAI,YAAc,KAAK,QAAQ,SAChC,CACD,aAAc,CACZ,KAAK,UAAS,EACd,KAAK,OAAM,CACZ,CACD,KAAKkQ,EAAc,GAAM,CACvB,MAAMlQ,EAAM,KAAK,IACXiO,EAAY,KAAK,QAAQ,UACzBC,EAAgB,KAAK,QAAQ,YACnC,IAAIkC,EAAc,GACdlC,IACFlO,EAAI,KAAI,EACRA,EAAI,UAAYiO,EAAU,WAAWjO,EAAK,QAAUxM,EAAe,4BAA4BwM,CAAG,EAAGkE,GAAgB,SAAS,IAAI,EAClIkM,EAAc,IAEhB,MAAMrI,GAAY,KAAK,QAAQ,0BAAyB,EACpD,KAAK,gBAAkBA,KAAc,OACnC,KAAK,eACP/H,EAAI,KAAK,SAAS,EAClB,KAAK,cAAgB,IAErBA,EAAI,KAAI,GAGRoQ,GACFpQ,EAAI,QAAO,EAETkQ,GACF,KAAK,YAAYnI,EAAS,CAE7B,CACD,QAAS,CACP,KAAK,cAAgB,GACrB,KAAK,KAAI,CACV,CACD,YAAa,CACX,KAAK,KAAK,EAAK,EACf,KAAK,OAAO,EAAK,EACjB,KAAK,YAAW,CACjB,CACD,cAAe,CACb,KAAK,cAAgB,GACrB,KAAK,WAAU,CAChB,CACD,iBAAkB,CAChB,KAAK,UAAS,EACd,KAAK,WAAU,CAChB,CACD,mBAAoB,CAClB,KAAK,cAAgB,GACrB,KAAK,UAAS,EACd,KAAK,WAAU,CAChB,CACD,SAAU,CACR,KAAK,YAAW,CACjB,CACD,MAAO,CACL,KAAK,YAAc+D,EACpB,CACD,QAAS,CACP,KAAK,YAAcC,EACpB,CACD,WAAY,CACV,KAAK,QAAQ,WAAazb,EAAM,gBAChC,KAAK,QAAQ,gBAAkB,EAC/B,KAAK,QAAQ,EAAI,KAAK,QAAQ,MAAQ,EACtC,KAAK,QAAQ,EAAI,KAAK,QAAQ,MAAQ,CACvC,CACD,SAAU,CACR,MAAM+f,EAAQ,KAAK,iBACbrQ,EAAM,KAAK,IACjB,GAAIqQ,IAAU,OAAW,CACvBrQ,EAAI,UAAS,EACb,OAEFA,EAAI,KAAI,EACRA,EAAI,UAAS,EACb,UAAWsH,KAAQ+I,EACjBrQ,EAAI,aAAa,GAAGsH,EAAK,SAAS,EAClCtH,EAAI,UAAUsH,EAAK,EAAGA,EAAK,CAAC,EAC5BA,EAAK,UAAUtH,EAAKsH,EAAK,QAAQ,EAEnCtH,EAAI,QAAO,EACXA,EAAI,KAAI,EACRA,EAAI,UAAS,EACb,OAAO,KAAK,gBACb,CACD,eAAesQ,EAAS,CACtB,KAAK,QAAQ,YAAcA,CAC5B,CACD,eAAeA,EAAS,CACtB,KAAK,QAAQ,YAAcA,CAC5B,CACD,UAAUt2B,EAAO,CACf,KAAK,QAAQ,WAAaA,EAAQ,GACnC,CACD,WAAWu2B,EAAS,CAClB,KAAK,QAAQ,QAAU,CAACA,CACzB,CACD,QAAQC,EAAa3M,EAAM,CACzB,MAAM4M,EAAU,KAAK,WAAW,IAAID,CAAW,EACzCzM,EAAU,KAAK,QACrB,GAAI,CAAC0M,EACH,MAAM,IAAI,MAAM,uBAAuBD,GAAa,EActD,GAZAzM,EAAQ,WAAa0M,EAAQ,YAAcngB,EAAM,sBAC7CyT,EAAQ,WAAW,CAAC,IAAM,GAAKA,EAAQ,WAAW,CAAC,IAAM,OACvDzT,EAAM,MAAM,gCAAkCkgB,CAAW,EAE3D3M,EAAO,GACTA,EAAO,CAACA,EACRE,EAAQ,cAAgB,IAExBA,EAAQ,cAAgB,EAE1B,KAAK,QAAQ,KAAO0M,EACpB,KAAK,QAAQ,SAAW5M,EACpB4M,EAAQ,YACV,OAEF,MAAMjyB,EAAOiyB,EAAQ,YAAc,aACnC,IAAIC,GAAO,SACPD,EAAQ,MACVC,GAAO,MACED,EAAQ,OACjBC,GAAO,QAET,MAAMC,EAASF,EAAQ,OAAS,SAAW,SACrCG,EAAW,IAAIpyB,OAAUiyB,EAAQ,eACvC,IAAII,EAAkBhN,EAClBA,EAAOO,EACTyM,EAAkBzM,EACTP,EAAOQ,IAChBwM,EAAkBxM,GAEpB,KAAK,QAAQ,cAAgBR,EAAOgN,EACpC,KAAK,IAAI,KAAO,GAAGF,KAAUD,MAAQG,OAAqBD,GAC3D,CACD,qBAAqB7X,EAAM,CACzB,KAAK,QAAQ,kBAAoBA,CAClC,CACD,YAAY+X,EAAM,CAChB,KAAK,QAAQ,SAAWA,CACzB,CACD,SAASxe,EAAGC,EAAG,CACb,KAAK,QAAQ,EAAI,KAAK,QAAQ,OAASD,EACvC,KAAK,QAAQ,EAAI,KAAK,QAAQ,OAASC,CACxC,CACD,mBAAmBD,EAAGC,EAAG,CACvB,KAAK,WAAW,CAACA,CAAC,EAClB,KAAK,SAASD,EAAGC,CAAC,CACnB,CACD,cAAcjR,EAAGhB,EAAGiB,EAAGP,EAAGif,EAAGC,GAAG,CAC9B,KAAK,QAAQ,WAAa,CAAC5e,EAAGhB,EAAGiB,EAAGP,EAAGif,EAAGC,EAAC,EAC3C,KAAK,QAAQ,gBAAkB,KAAK,MAAM5e,EAAGhB,CAAC,EAC9C,KAAK,QAAQ,EAAI,KAAK,QAAQ,MAAQ,EACtC,KAAK,QAAQ,EAAI,KAAK,QAAQ,MAAQ,CACvC,CACD,UAAW,CACT,KAAK,SAAS,EAAG,KAAK,QAAQ,OAAO,CACtC,CACD,UAAUqjB,EAAWrR,EAAGC,EAAGwe,EAAkB,CAC3C,MAAM/Q,EAAM,KAAK,IACX+D,GAAU,KAAK,QACfhV,EAAOgV,GAAQ,KACfiN,EAAoBjN,GAAQ,kBAC5BkN,EAAWlN,GAAQ,SAAWA,GAAQ,cACtCmN,EAAiBF,EAAoB1gB,EAAM,kBAAkB,iBAC7D6gB,EAAiB,CAAC,EAAEH,EAAoB1gB,EAAM,kBAAkB,kBAChE8gB,EAAcrN,GAAQ,aAAe,CAAChV,EAAK,YACjD,IAAIsiB,GACAtiB,EAAK,iBAAmBoiB,GAAkBC,KAC5CC,EAAYtiB,EAAK,iBAAiB,KAAK,WAAY4U,CAAS,GAE1D5U,EAAK,iBAAmBqiB,GAC1BpR,EAAI,KAAI,EACRA,EAAI,UAAU1N,EAAGC,CAAC,EAClByN,EAAI,UAAS,EACbqR,EAAUrR,EAAKiR,CAAQ,EACnBF,GACF/Q,EAAI,aAAa,GAAG+Q,CAAgB,GAElCG,IAAmB5gB,EAAM,kBAAkB,MAAQ4gB,IAAmB5gB,EAAM,kBAAkB,cAChG0P,EAAI,KAAI,GAENkR,IAAmB5gB,EAAM,kBAAkB,QAAU4gB,IAAmB5gB,EAAM,kBAAkB,cAClG0P,EAAI,OAAM,EAEZA,EAAI,QAAO,KAEPkR,IAAmB5gB,EAAM,kBAAkB,MAAQ4gB,IAAmB5gB,EAAM,kBAAkB,cAChG0P,EAAI,SAAS2D,EAAWrR,EAAGC,CAAC,GAE1B2e,IAAmB5gB,EAAM,kBAAkB,QAAU4gB,IAAmB5gB,EAAM,kBAAkB,cAClG0P,EAAI,WAAW2D,EAAWrR,EAAGC,CAAC,GAG9B4e,IACY,KAAK,mBAAqB,KAAK,iBAAmB,CAAA,IAC1D,KAAK,CACT,aAAe3d,EAAe,qBAAqBwM,CAAG,EACtD,EAAA1N,EACA,EAAAC,EACA,SAAA0e,EACA,UAAAI,CACR,CAAO,CAEJ,CACD,IAAI,yBAA0B,CAC5B,KAAM,CACJ,QAASrR,CACf,EAAQ,KAAK,eAAe,UAAU,0BAA2B,GAAI,EAAE,EACnEA,EAAI,MAAM,IAAK,CAAC,EAChBA,EAAI,SAAS,IAAK,EAAG,EAAE,EACvB,MAAM7b,EAAO6b,EAAI,aAAa,EAAG,EAAG,GAAI,EAAE,EAAE,KAC5C,IAAIsR,EAAU,GACd,QAAS/xB,EAAI,EAAGA,EAAI4E,EAAK,OAAQ5E,GAAK,EACpC,GAAI4E,EAAK5E,CAAC,EAAI,GAAK4E,EAAK5E,CAAC,EAAI,IAAK,CAChC+xB,EAAU,GACV,MAGJ,SAAWhhB,EAAM,QAAQ,KAAM,0BAA2BghB,CAAO,CAClE,CACD,SAASC,EAAQ,CACf,MAAMxN,EAAU,KAAK,QACfhV,EAAOgV,EAAQ,KACrB,GAAIhV,EAAK,YACP,OAAO,KAAK,cAAcwiB,CAAM,EAElC,MAAMN,EAAWlN,EAAQ,SACzB,GAAIkN,IAAa,EACf,OAEF,MAAMjR,EAAM,KAAK,IACXwR,GAAgBzN,EAAQ,cACxB0N,EAAc1N,EAAQ,YACtB2N,EAAc3N,EAAQ,YACtB4N,EAAgB5N,EAAQ,cACxB6N,EAAa7N,EAAQ,WAAa4N,EAClCE,EAAeN,EAAO,OACtBO,EAAW/iB,EAAK,SAChBgjB,EAAaD,EAAW,EAAI,GAC5BE,EAAkBjjB,EAAK,gBACvBkjB,EAAoBhB,EAAWlN,EAAQ,WAAW,CAAC,EACnDmO,GAAiBnO,EAAQ,oBAAsBzT,EAAM,kBAAkB,MAAQ,CAACvB,EAAK,iBAAmB,CAACgV,EAAQ,YACvH/D,EAAI,KAAI,EACRA,EAAI,UAAU,GAAG+D,EAAQ,UAAU,EACnC/D,EAAI,UAAU+D,EAAQ,EAAGA,EAAQ,EAAIA,EAAQ,QAAQ,EACjD4N,EAAgB,EAClB3R,EAAI,MAAM4R,EAAY,EAAE,EAExB5R,EAAI,MAAM4R,EAAY,CAAC,EAEzB,IAAIb,EACJ,GAAIhN,EAAQ,YAAa,CACvB/D,EAAI,KAAI,EACR,MAAMmS,GAAUpO,EAAQ,UAAU,WAAW/D,EAAK,QAAUxM,EAAe,4BAA4BwM,CAAG,EAAGkE,GAAgB,SAAS,IAAI,EAC1I6M,KAAuBvd,EAAe,qBAAqBwM,CAAG,EAC9DA,EAAI,QAAO,EACXA,EAAI,UAAYmS,GAElB,IAAIC,EAAYrO,EAAQ,UACxB,MAAM/pB,GAAQ+pB,EAAQ,gBACtB,GAAI/pB,KAAU,GAAKo4B,IAAc,EAAG,CAClC,MAAMlB,GAAiBnN,EAAQ,kBAAoBzT,EAAM,kBAAkB,kBACvE4gB,KAAmB5gB,EAAM,kBAAkB,QAAU4gB,KAAmB5gB,EAAM,kBAAkB,eAClG8hB,EAAY,KAAK,4BAGnBA,GAAap4B,GAOf,GALIw3B,KAAkB,IACpBxR,EAAI,MAAMwR,GAAeA,EAAa,EACtCY,GAAaZ,IAEfxR,EAAI,UAAYoS,EACZrjB,EAAK,mBAAoB,CAC3B,MAAMsjB,GAAQ,CAAA,EACd,IAAInjB,GAAQ,EACZ,UAAWojB,MAASf,EAClBc,GAAM,KAAKC,GAAM,OAAO,EACxBpjB,IAASojB,GAAM,MAEjBtS,EAAI,SAASqS,GAAM,KAAK,EAAE,EAAG,EAAG,CAAC,EACjCtO,EAAQ,GAAK7U,GAAQ+iB,EAAoBL,EACzC5R,EAAI,QAAO,EACX,KAAK,QAAO,EACZ,OAEF,IAAI1N,GAAI,EACN/S,GACF,IAAKA,GAAI,EAAGA,GAAIsyB,EAAc,EAAEtyB,GAAG,CACjC,MAAM+yB,GAAQf,EAAOhyB,EAAC,EACtB,GAAI,OAAO+yB,IAAU,SAAU,CAC7BhgB,IAAKyf,EAAaO,GAAQrB,EAAW,IACrC,SAEF,IAAIsB,GAAgB,GACpB,MAAMjC,IAAWgC,GAAM,QAAUZ,EAAc,GAAKD,EAC9C9N,GAAY2O,GAAM,SAClBE,GAASF,GAAM,OACrB,IAAIG,GAASC,GACTxjB,GAAQojB,GAAM,MAClB,GAAIR,EAAU,CACZ,MAAMa,EAAUL,GAAM,SAAWN,EAC3BY,EAAK,EAAEN,GAAM,QAAUK,EAAQ,CAAC,EAAIzjB,GAAQ,IAAO+iB,EACnDY,EAAKF,EAAQ,CAAC,EAAIV,EACxB/iB,GAAQyjB,EAAU,CAACA,EAAQ,CAAC,EAAIzjB,GAChCujB,GAAUG,EAAKpB,GACfkB,IAAWpgB,GAAIugB,GAAMrB,QAErBiB,GAAUngB,GAAIkf,GACdkB,GAAU,EAEZ,GAAI3jB,EAAK,WAAaG,GAAQ,EAAG,CAC/B,MAAM4jB,EAAgB9S,EAAI,YAAY2D,EAAS,EAAE,MAAQ,IAAOsN,EAAWO,GAC3E,GAAItiB,GAAQ4jB,GAAiB,KAAK,wBAAyB,CACzD,MAAMC,EAAkB7jB,GAAQ4jB,EAChCP,GAAgB,GAChBvS,EAAI,KAAI,EACRA,EAAI,MAAM+S,EAAiB,CAAC,EAC5BN,IAAWM,OACF7jB,KAAU4jB,IACnBL,KAAYvjB,GAAQ4jB,GAAiB,IAAO7B,EAAWO,IAG3D,GAAI,KAAK,iBAAmBc,GAAM,UAAYvjB,EAAK,cACjD,GAAImjB,IAAkB,CAACM,GACrBxS,EAAI,SAAS2D,GAAW8O,GAASC,EAAO,UAExC,KAAK,UAAU/O,GAAW8O,GAASC,GAAS3B,CAAgB,EACxDyB,GAAQ,CACV,MAAMQ,EAAgBP,GAAUxB,EAAWuB,GAAO,OAAO,EAAIhB,GACvDyB,EAAgBP,GAAUzB,EAAWuB,GAAO,OAAO,EAAIhB,GAC7D,KAAK,UAAUgB,GAAO,SAAUQ,EAAeC,EAAelC,CAAgB,GAIpF,IAAImC,GACApB,EACFoB,GAAYhkB,GAAQ+iB,EAAoB3B,GAAUqB,EAElDuB,GAAYhkB,GAAQ+iB,EAAoB3B,GAAUqB,EAEpDrf,IAAK4gB,GACDX,IACFvS,EAAI,QAAO,EAGX8R,EACF/N,EAAQ,GAAKzR,GAEbyR,EAAQ,GAAKzR,GAAIsf,EAEnB5R,EAAI,QAAO,EACX,KAAK,QAAO,CAEb,CACD,cAAcuR,EAAQ,CACpB,MAAMvR,EAAM,KAAK,IACX+D,EAAU,KAAK,QACfhV,EAAOgV,EAAQ,KACfkN,EAAWlN,EAAQ,SACnB4N,GAAgB5N,EAAQ,cACxBgO,EAAahjB,EAAK,SAAW,EAAI,GACjC0iB,EAAc1N,EAAQ,YACtB2N,EAAc3N,EAAQ,YACtB6N,EAAa7N,EAAQ,WAAa4N,GAClCwB,EAAapP,EAAQ,YAAczT,EAAM,qBACzCuhB,EAAeN,EAAO,OACtB6B,EAAkBrP,EAAQ,oBAAsBzT,EAAM,kBAAkB,UAC9E,IAAI/Q,EAAG+yB,EAAOpjB,GAAOmkB,EACrB,GAAI,EAAAD,GAAmBnC,IAAa,GASpC,KANA,KAAK,wBAA0B,KAC/B,KAAK,2BAA6B,KAClCjR,EAAI,KAAI,EACRA,EAAI,UAAU,GAAG+D,EAAQ,UAAU,EACnC/D,EAAI,UAAU+D,EAAQ,EAAGA,EAAQ,CAAC,EAClC/D,EAAI,MAAM4R,EAAYD,EAAa,EAC9BpyB,EAAI,EAAGA,EAAIsyB,EAAc,EAAEtyB,EAAG,CAEjC,GADA+yB,EAAQf,EAAOhyB,CAAC,EACZ,OAAO+yB,GAAU,SAAU,CAC7Be,EAAgBtB,EAAaO,EAAQrB,EAAW,IAChD,KAAK,IAAI,UAAUoC,EAAe,CAAC,EACnCtP,EAAQ,GAAKsP,EAAgBzB,EAC7B,SAEF,MAAMtB,GAAWgC,EAAM,QAAUZ,EAAc,GAAKD,EAC9CnlB,GAAeyC,EAAK,qBAAqBujB,EAAM,cAAc,EACnE,GAAI,CAAChmB,GAAc,IACbgE,EAAM,MAAM,oBAAoBgiB,EAAM,mCAAmC,EAC7E,SAEE,KAAK,iBACP,KAAK,gBAAkBA,EACvB,KAAK,KAAI,EACTtS,EAAI,MAAMiR,EAAUA,CAAQ,EAC5BjR,EAAI,UAAU,GAAGmT,CAAU,EAC3B,KAAK,oBAAoB7mB,EAAY,EACrC,KAAK,QAAO,GAGd4C,GADoBoB,EAAM,KAAK,eAAe,CAACgiB,EAAM,MAAO,CAAC,EAAGa,CAAU,EACtD,CAAC,EAAIlC,EAAWX,EACpCtQ,EAAI,UAAU9Q,GAAO,CAAC,EACtB6U,EAAQ,GAAK7U,GAAQ0iB,EAEvB5R,EAAI,QAAO,EACX,KAAK,gBAAkB,KACxB,CACD,aAAasT,EAAQC,EAAQ,CAAE,CAC/B,sBAAsBD,EAAQC,EAAQC,EAAKC,EAAKC,EAAKC,GAAK,CACxD,KAAK,IAAI,KAAKH,EAAKC,EAAKC,EAAMF,EAAKG,GAAMF,CAAG,EAC5C,KAAK,IAAI,OACT,KAAK,QAAO,CACb,CACD,kBAAkBG,EAAI,CACpB,IAAIzB,EACJ,GAAIyB,EAAG,CAAC,IAAM,gBAAiB,CAC7B,MAAMxe,EAAQwe,EAAG,CAAC,EACZC,EAAgB,KAAK,kBAAqBrgB,EAAe,qBAAqB,KAAK,GAAG,EACtFsgB,EAAwB,CAC5B,qBAAsB9T,IACb,IAAIgM,GAAehM,GAAK,KAAK,WAAY,KAAK,KAAM,KAAK,cAAe,KAAK,cAAe,CACjG,sBAAuB,KAAK,sBAC5B,mBAAoB,KAAK,kBACrC,CAAW,CAEX,EACMmS,EAAU,IAAIjO,GAAgB,cAAc0P,EAAIxe,EAAO,KAAK,IAAK0e,EAAuBD,CAAa,OAErG1B,EAAU,KAAK,YAAYyB,EAAG,CAAC,EAAGA,EAAG,CAAC,CAAC,EAEzC,OAAOzB,CACR,CACD,iBAAkB,CAChB,KAAK,QAAQ,YAAc,KAAK,kBAAkB,SAAS,CAC5D,CACD,eAAgB,CACd,KAAK,QAAQ,UAAY,KAAK,kBAAkB,SAAS,EACzD,KAAK,QAAQ,YAAc,EAC5B,CACD,kBAAkB/xB,EAAGC,EAAGC,EAAG,CACzB,MAAM8U,EAAQ9E,EAAM,KAAK,aAAalQ,EAAGC,EAAGC,CAAC,EAC7C,KAAK,IAAI,YAAc8U,EACvB,KAAK,QAAQ,YAAcA,CAC5B,CACD,gBAAgBhV,EAAGC,EAAGC,EAAG,CACvB,MAAM8U,EAAQ9E,EAAM,KAAK,aAAalQ,EAAGC,EAAGC,CAAC,EAC7C,KAAK,IAAI,UAAY8U,EACrB,KAAK,QAAQ,UAAYA,EACzB,KAAK,QAAQ,YAAc,EAC5B,CACD,YAAY1F,EAAOqkB,EAAS,KAAM,CAChC,IAAI5B,EACJ,OAAI,KAAK,eAAe,IAAIziB,CAAK,EAC/ByiB,EAAU,KAAK,eAAe,IAAIziB,CAAK,GAEvCyiB,KAAcjO,GAAgB,mBAAmB,KAAK,UAAUxU,CAAK,CAAC,EACtE,KAAK,eAAe,IAAIA,EAAOyiB,CAAO,GAEpC4B,IACF5B,EAAQ,OAAS4B,GAEZ5B,CACR,CACD,YAAYziB,EAAO,CACjB,GAAI,CAAC,KAAK,eACR,OAEF,MAAMsQ,EAAM,KAAK,IACjB,KAAK,KAAI,EACT,MAAMmS,EAAU,KAAK,YAAYziB,CAAK,EACtCsQ,EAAI,UAAYmS,EAAQ,WAAWnS,EAAK,QAAUxM,EAAe,4BAA4BwM,CAAG,EAAGkE,GAAgB,SAAS,OAAO,EACnI,MAAM8P,KAAUxgB,EAAe,4BAA4BwM,CAAG,EAC9D,GAAIgU,EAAK,CACP,MAAMlX,EAASkD,EAAI,OACb9Q,GAAQ4N,EAAO,MACf3N,EAAS2N,EAAO,OAChBmX,EAAK3jB,EAAM,KAAK,eAAe,CAAC,EAAG,CAAC,EAAG0jB,CAAG,EAC1CE,EAAK5jB,EAAM,KAAK,eAAe,CAAC,EAAGnB,CAAM,EAAG6kB,CAAG,EAC/CG,EAAK7jB,EAAM,KAAK,eAAe,CAACpB,GAAO,CAAC,EAAG8kB,CAAG,EAC9CI,EAAK9jB,EAAM,KAAK,eAAe,CAACpB,GAAOC,CAAM,EAAG6kB,CAAG,EACnD7xB,EAAK,KAAK,IAAI8xB,EAAG,CAAC,EAAGC,EAAG,CAAC,EAAGC,EAAG,CAAC,EAAGC,EAAG,CAAC,CAAC,EACxChyB,EAAK,KAAK,IAAI6xB,EAAG,CAAC,EAAGC,EAAG,CAAC,EAAGC,EAAG,CAAC,EAAGC,EAAG,CAAC,CAAC,EACxC/xB,EAAK,KAAK,IAAI4xB,EAAG,CAAC,EAAGC,EAAG,CAAC,EAAGC,EAAG,CAAC,EAAGC,EAAG,CAAC,CAAC,EACxC9xB,EAAK,KAAK,IAAI2xB,EAAG,CAAC,EAAGC,EAAG,CAAC,EAAGC,EAAG,CAAC,EAAGC,EAAG,CAAC,CAAC,EAC9C,KAAK,IAAI,SAASjyB,EAAIC,EAAIC,EAAKF,EAAIG,EAAKF,CAAE,OAE1C,KAAK,IAAI,SAAS,MAAO,MAAO,KAAM,IAAI,EAE5C,KAAK,QAAQ,KAAK,QAAQ,0BAA2B,CAAA,EACrD,KAAK,QAAO,CACb,CACD,kBAAmB,IACbkO,EAAM,aAAa,kCAAkC,CAC1D,CACD,gBAAiB,IACXA,EAAM,aAAa,gCAAgC,CACxD,CACD,sBAAsByjB,EAAQM,EAAM,CAClC,GAAK,KAAK,iBAGV,KAAK,KAAI,EACT,KAAK,mBAAmB,KAAK,KAAK,aAAa,EAC3C,MAAM,QAAQN,CAAM,GAAKA,EAAO,SAAW,GAC7C,KAAK,UAAU,GAAGA,CAAM,EAE1B,KAAK,iBAAoBvgB,EAAe,qBAAqB,KAAK,GAAG,EACjE6gB,GAAM,CACR,MAAMnlB,EAAQmlB,EAAK,CAAC,EAAIA,EAAK,CAAC,EACxBllB,EAASklB,EAAK,CAAC,EAAIA,EAAK,CAAC,EAC/B,KAAK,IAAI,KAAKA,EAAK,CAAC,EAAGA,EAAK,CAAC,EAAGnlB,EAAOC,CAAM,EAC7C,KAAK,QAAQ,oBAAqBqE,EAAe,qBAAqB,KAAK,GAAG,EAAG6gB,CAAI,EACrF,KAAK,KAAI,EACT,KAAK,QAAO,EAEf,CACD,qBAAsB,CACf,KAAK,iBAGV,KAAK,QAAO,EACZ,KAAK,cAAgB,KAAK,mBAAmB,IAAG,EACjD,CACD,WAAWC,EAAO,CAChB,GAAI,CAAC,KAAK,eACR,OAEF,KAAK,KAAI,EACL,KAAK,cACP,KAAK,aAAY,EACjB,KAAK,QAAQ,YAAc,MAE7B,MAAMC,EAAa,KAAK,IACnBD,EAAM,aACLhkB,EAAM,MAAM,oCAAoC,EAElDgkB,EAAM,aACJhkB,EAAM,MAAM,gCAAgC,EAElD,MAAM6d,KAAuB3a,EAAe,qBAAqB+gB,CAAU,EAI3E,GAHID,EAAM,QACRC,EAAW,UAAU,GAAGD,EAAM,MAAM,EAElC,CAACA,EAAM,KACT,MAAM,IAAI,MAAM,2BAA2B,EAE7C,IAAI1xB,EAAS0N,EAAM,KAAK,2BAA2BgkB,EAAM,QAAU9gB,EAAe,qBAAqB+gB,CAAU,CAAC,EAClH,MAAMC,EAAe,CAAC,EAAG,EAAGD,EAAW,OAAO,MAAOA,EAAW,OAAO,MAAM,EAC7E3xB,EAAS0N,EAAM,KAAK,UAAU1N,EAAQ4xB,CAAY,GAAK,CAAC,EAAG,EAAG,EAAG,CAAC,EAClE,MAAMnrB,GAAU,KAAK,MAAMzG,EAAO,CAAC,CAAC,EAC9B0G,EAAU,KAAK,MAAM1G,EAAO,CAAC,CAAC,EACpC,IAAI+rB,EAAa,KAAK,IAAI,KAAK,KAAK/rB,EAAO,CAAC,CAAC,EAAIyG,GAAS,CAAC,EACvDulB,EAAc,KAAK,IAAI,KAAK,KAAKhsB,EAAO,CAAC,CAAC,EAAI0G,EAAS,CAAC,EACxDgd,EAAS,EACXC,EAAS,EACPoI,EAAarK,IACfgC,EAASqI,EAAarK,EACtBqK,EAAarK,GAEXsK,EAActK,IAChBiC,EAASqI,EAActK,EACvBsK,EAActK,GAEhB,KAAK,QAAQ,uBAAuB,CAAC,EAAG,EAAGqK,EAAYC,CAAW,CAAC,EACnE,IAAIU,EAAU,UAAY,KAAK,WAC3BgF,EAAM,QACRhF,GAAW,UAAY,KAAK,eAAiB,GAE/C,MAAMC,EAAgB,KAAK,eAAe,UAAUD,EAASX,EAAYC,CAAW,EAC9E6F,EAAWlF,EAAc,QAC/BkF,EAAS,MAAM,EAAInO,EAAQ,EAAIC,CAAM,EACrCkO,EAAS,UAAU,CAACprB,GAAS,CAACC,CAAO,EACrCmrB,EAAS,UAAU,GAAGtG,CAAgB,EAClCmG,EAAM,MACR,KAAK,WAAW,KAAK,CACnB,OAAQ/E,EAAc,OACtB,QAASkF,EACT,QAAAprB,GACA,QAAAC,EACA,OAAAgd,EACA,OAAAC,EACA,QAAS+N,EAAM,MAAM,QACrB,SAAUA,EAAM,MAAM,SACtB,YAAaA,EAAM,MAAM,aAAe,KACxC,sBAAuB,IAC/B,CAAO,GAEDC,EAAW,aAAa,EAAG,EAAG,EAAG,EAAG,EAAG,CAAC,EACxCA,EAAW,UAAUlrB,GAASC,CAAO,EACrCirB,EAAW,MAAMjO,EAAQC,CAAM,EAC/BgO,EAAW,KAAI,GAEjBjL,EAAaiL,EAAYE,CAAQ,EACjC,KAAK,IAAMA,EACX,KAAK,UAAU,CAAC,CAAC,KAAM,aAAa,EAAG,CAAC,KAAM,CAAC,EAAG,CAAC,KAAM,CAAC,CAAC,CAAC,EAC5D,KAAK,WAAW,KAAKF,CAAU,EAC/B,KAAK,YACN,CACD,SAASD,EAAO,CACd,GAAI,CAAC,KAAK,eACR,OAEF,KAAK,aACL,MAAMG,EAAW,KAAK,IAChBzU,EAAM,KAAK,WAAW,IAAG,EAG/B,GAFA,KAAK,IAAMA,EACX,KAAK,IAAI,sBAAwB,GAC7BsU,EAAM,MACR,KAAK,UAAY,KAAK,WAAW,IAAG,EACpC,KAAK,QAAO,MACP,CACL,KAAK,IAAI,UACT,MAAMI,KAAiBlhB,EAAe,qBAAqB,KAAK,GAAG,EACnE,KAAK,QAAO,EACZ,KAAK,IAAI,OACT,KAAK,IAAI,aAAa,GAAGkhB,CAAU,EACnC,MAAMlF,EAAWlf,EAAM,KAAK,2BAA2B,CAAC,EAAG,EAAGmkB,EAAS,OAAO,MAAOA,EAAS,OAAO,MAAM,EAAGC,CAAU,EACxH,KAAK,IAAI,UAAUD,EAAS,OAAQ,EAAG,CAAC,EACxC,KAAK,IAAI,UACT,KAAK,QAAQjF,CAAQ,EAExB,CACD,gBAAgB5mB,EAAIhH,EAAMrB,EAAWwzB,EAAQY,EAAc,CAQzD,GAPAxqB,EAAA,KAAKgiB,GAAAgB,IAAL,WACAzD,EAAkB,KAAK,GAAG,EAC1B,KAAK,IAAI,OACT,KAAK,KAAI,EACL,KAAK,eACP,KAAK,IAAI,aAAa,GAAG,KAAK,aAAa,EAEzC,MAAM,QAAQ9nB,CAAI,GAAKA,EAAK,SAAW,EAAG,CAC5C,MAAMsN,GAAQtN,EAAK,CAAC,EAAIA,EAAK,CAAC,EACxBuN,EAASvN,EAAK,CAAC,EAAIA,EAAK,CAAC,EAC/B,GAAI+yB,GAAgB,KAAK,oBAAqB,CAC5Cp0B,EAAYA,EAAU,QACtBA,EAAU,CAAC,GAAKqB,EAAK,CAAC,EACtBrB,EAAU,CAAC,GAAKqB,EAAK,CAAC,EACtBA,EAAOA,EAAK,QACZA,EAAK,CAAC,EAAIA,EAAK,CAAC,EAAI,EACpBA,EAAK,CAAC,EAAIsN,GACVtN,EAAK,CAAC,EAAIuN,EACV,KAAM,CAACmX,EAAQC,CAAM,EAAIjW,EAAM,KAAK,iCAAkCkD,EAAe,qBAAqB,KAAK,GAAG,CAAC,EAC7G,CACJ,cAAAohB,CACD,EAAG,KACEC,EAAc,KAAK,KAAK3lB,GAAQ,KAAK,aAAe0lB,CAAa,EACjEE,EAAe,KAAK,KAAK3lB,EAAS,KAAK,aAAeylB,CAAa,EACzE,KAAK,iBAAmB,KAAK,cAAc,OAAOC,EAAaC,CAAY,EAC3E,KAAM,CACJ,OAAAhY,EACA,QAAAiY,CACV,EAAY,KAAK,iBACT,KAAK,oBAAoB,IAAInsB,EAAIkU,CAAM,EACvC,KAAK,iBAAiB,SAAW,KAAK,IACtC,KAAK,IAAMiY,EACX,KAAK,IAAI,OACT,KAAK,IAAI,aAAazO,EAAQ,EAAG,EAAG,CAACC,EAAQ,EAAGpX,EAASoX,CAAM,EAC/DmD,EAAkB,KAAK,GAAG,OAE1BA,EAAkB,KAAK,GAAG,EAC1B,KAAK,IAAI,KAAK9nB,EAAK,CAAC,EAAGA,EAAK,CAAC,EAAGsN,GAAOC,CAAM,EAC7C,KAAK,IAAI,OACT,KAAK,QAAO,EAGhB,KAAK,QAAU,IAAIuY,EAAiB,KAAK,IAAI,OAAO,MAAO,KAAK,IAAI,OAAO,MAAM,EACjF,KAAK,UAAU,GAAGnnB,CAAS,EAC3B,KAAK,UAAU,GAAGwzB,CAAM,CACzB,CACD,eAAgB,CACV,KAAK,mBACP,KAAK,IAAI,UACT5pB,EAAA,KAAKiiB,EAAAiB,IAAL,WACA,KAAK,IAAM,KAAK,iBAAiB,SACjC,OAAO,KAAK,iBAAiB,SAC7B,OAAO,KAAK,iBAEf,CACD,sBAAsBC,EAAK,CACzB,GAAI,CAAC,KAAK,eACR,OAEF,MAAMnG,EAAQmG,EAAI,MAClBA,EAAM,KAAK,UAAUA,EAAI,KAAMA,CAAG,EAClCA,EAAI,MAAQnG,EACZ,MAAMnH,EAAM,KAAK,IACXsS,EAAQ,KAAK,gBACnB,GAAIA,IACEA,EAAM,WAAa,SACrBA,EAAM,SAAW9L,EAAkB8G,CAAG,GAEpCgF,EAAM,UAAU,CAClBA,EAAM,SAAStS,CAAG,EAClB,OAGJ,MAAMkH,EAAO,KAAK,kBAAkBoG,CAAG,EACjCe,GAAanH,EAAK,OACxBlH,EAAI,KAAI,EACRA,EAAI,aAAa,EAAG,EAAG,EAAG,EAAG,EAAG,CAAC,EACjCA,EAAI,UAAUqO,GAAYnH,EAAK,QAASA,EAAK,OAAO,EACpDlH,EAAI,QAAO,EACX,KAAK,QAAO,CACb,CACD,4BAA4BsN,EAAKhH,EAAQ0O,EAAQ,EAAGC,EAAQ,EAAG1O,EAAQ2O,GAAW,CAChF,GAAI,CAAC,KAAK,eACR,OAEF5H,EAAM,KAAK,UAAUA,EAAI,KAAMA,CAAG,EAClC,MAAMtN,EAAM,KAAK,IACjBA,EAAI,KAAI,EACR,MAAMmO,KAAuB3a,EAAe,qBAAqBwM,CAAG,EACpEA,EAAI,UAAUsG,EAAQ0O,EAAOC,EAAO1O,EAAQ,EAAG,CAAC,EAChD,MAAMW,EAAO,KAAK,kBAAkBoG,CAAG,EACvCtN,EAAI,aAAa,EAAG,EAAG,EAAG,EAAGkH,EAAK,QAAUiH,EAAiB,CAAC,EAAGjH,EAAK,QAAUiH,EAAiB,CAAC,CAAC,EACnG,QAAS,EAAI,EAAG1qB,EAAKyxB,GAAU,OAAQ,EAAIzxB,EAAI,GAAK,EAAG,CACrD,MAAM0xB,EAAQ7kB,EAAM,KAAK,UAAU6d,EAAkB,CAAC7H,EAAQ0O,EAAOC,EAAO1O,EAAQ2O,GAAU,CAAC,EAAGA,GAAU,EAAI,CAAC,CAAC,CAAC,EAC7G,CAAC5iB,EAAGC,CAAC,EAAIjC,EAAM,KAAK,eAAe,CAAC,EAAG,CAAC,EAAG6kB,CAAK,EACtDnV,EAAI,UAAUkH,EAAK,OAAQ5U,EAAGC,CAAC,EAEjCyN,EAAI,QAAO,EACX,KAAK,QAAO,CACb,CACD,2BAA2BoV,EAAQ,CACjC,GAAI,CAAC,KAAK,eACR,OAEF,MAAMpV,EAAM,KAAK,IACXiO,EAAY,KAAK,QAAQ,UACzBC,EAAgB,KAAK,QAAQ,YACnC,UAAWmH,KAASD,EAAQ,CAC1B,KAAM,CACJ,KAAAjxB,GACA,MAAA+K,EACA,OAAAC,EACA,UAAA5O,CACD,EAAG80B,EACEhH,EAAa,KAAK,eAAe,UAAU,aAAcnf,EAAOC,CAAM,EACtEob,EAAU8D,EAAW,QAC3B9D,EAAQ,KAAI,EACZ,MAAM+C,EAAM,KAAK,UAAUnpB,GAAMkxB,CAAK,EACtChM,EAAmBkB,EAAS+C,CAAG,EAC/B/C,EAAQ,yBAA2B,YACnCA,EAAQ,UAAY2D,EAAgBD,EAAU,WAAW1D,EAAS,QAAU/W,EAAe,4BAA4BwM,CAAG,EAAGkE,GAAgB,SAAS,IAAI,EAAI+J,EAC9J1D,EAAQ,SAAS,EAAG,EAAGrb,EAAOC,CAAM,EACpCob,EAAQ,QAAO,EACfvK,EAAI,KAAI,EACRA,EAAI,UAAU,GAAGzf,CAAS,EAC1Byf,EAAI,MAAM,EAAG,EAAE,EACfoF,EAAyBpF,EAAKqO,EAAW,OAAQ,EAAG,EAAGnf,EAAOC,EAAQ,EAAG,GAAI,EAAG,CAAC,EACjF6Q,EAAI,QAAO,EAEb,KAAK,QAAO,CACb,CACD,kBAAkBtQ,EAAO,CACvB,GAAI,CAAC,KAAK,eACR,OAEF,MAAM+W,EAAU,KAAK,UAAU/W,CAAK,EACpC,GAAI,CAAC+W,EAAS,IACRnW,EAAM,MAAM,iCAAiC,EACjD,OAEF,KAAK,wBAAwBmW,CAAO,CACrC,CACD,wBAAwB/W,EAAO4W,EAAQC,EAAQ2O,EAAW,CACxD,GAAI,CAAC,KAAK,eACR,OAEF,MAAMzO,EAAU,KAAK,UAAU/W,CAAK,EACpC,GAAI,CAAC+W,EAAS,IACRnW,EAAM,MAAM,iCAAiC,EACjD,OAEF,MAAMpB,GAAQuX,EAAQ,MAChBtX,EAASsX,EAAQ,OACjB9mB,EAAM,CAAA,EACZ,QAASJ,EAAI,EAAGkE,EAAKyxB,EAAU,OAAQ31B,EAAIkE,EAAIlE,GAAK,EAClDI,EAAI,KAAK,CACP,UAAW,CAAC2mB,EAAQ,EAAG,EAAGC,EAAQ2O,EAAU31B,CAAC,EAAG21B,EAAU31B,EAAI,CAAC,CAAC,EAChE,EAAG,EACH,EAAG,EACH,EAAG2P,GACH,EAAGC,CACX,CAAO,EAEH,KAAK,6BAA6BsX,EAAS9mB,CAAG,CAC/C,CACD,0BAA0BqgB,EAAK,CAC7B,OAAI,KAAK,QAAQ,eAAiB,SAChCA,EAAI,OAAS,KAAK,QAAQ,aAC1BA,EAAI,UAAUA,EAAI,OAAQ,EAAG,CAAC,EAC9BA,EAAI,OAAS,QAERA,EAAI,MACZ,CACD,0BAA0ByG,EAAS,CACjC,GAAI,KAAK,QAAQ,eAAiB,OAChC,OAAOA,EAAQ,OAEjB,KAAM,CACJ,OAAA6O,EACA,MAAApmB,EACA,OAAAC,CACD,EAAGsX,EACEoH,EAAY,KAAK,eAAe,UAAU,cAAe3e,EAAOC,CAAM,EACtE2e,GAASD,EAAU,QACzB,OAAAC,GAAO,OAAS,KAAK,QAAQ,aAC7BA,GAAO,UAAUwH,EAAQ,EAAG,CAAC,EAC7BxH,GAAO,OAAS,OACTD,EAAU,MAClB,CACD,wBAAwBpH,EAAS,CAC/B,GAAI,CAAC,KAAK,eACR,OAEF,MAAMvX,EAAQuX,EAAQ,MAChBtX,EAASsX,EAAQ,OACjBzG,EAAM,KAAK,IACjB,KAAK,KAAI,EACJ+B,EAAS,WACZ/B,EAAI,OAAS,QAEfA,EAAI,MAAM,EAAI9Q,EAAO,GAAKC,CAAM,EAChC,IAAIomB,EACJ,GAAI9O,EAAQ,OACV8O,EAAa,KAAK,0BAA0B9O,CAAO,UAC1C,OAAO,aAAgB,YAAcA,aAAmB,aAAe,CAACA,EAAQ,KACzF8O,EAAa9O,MACR,CAEL,MAAMqH,EADY,KAAK,eAAe,UAAU,cAAe5e,EAAOC,CAAM,EACnD,QACzB6Y,EAAmB8F,EAAQrH,CAAO,EAClC8O,EAAa,KAAK,0BAA0BzH,CAAM,EAEpD,MAAMM,GAAS,KAAK,YAAYmH,KAAgB/hB,EAAe,4BAA4BwM,CAAG,CAAC,EAC/FA,EAAI,sBAAwByL,KAA6BjY,EAAe,qBAAqBwM,CAAG,EAAGyG,EAAQ,WAAW,EACtHrB,EAAyBpF,EAAKoO,GAAO,IAAK,EAAG,EAAGA,GAAO,WAAYA,GAAO,YAAa,EAAG,CAACjf,EAAQD,EAAOC,CAAM,EAChH,KAAK,QAAO,EACZ,KAAK,QAAO,CACb,CACD,6BAA6BsX,EAAS9mB,EAAK,CACzC,GAAI,CAAC,KAAK,eACR,OAEF,MAAMqgB,EAAM,KAAK,IACjB,IAAIuV,EACJ,GAAI9O,EAAQ,OACV8O,EAAa9O,EAAQ,WAChB,CACL,MAAM+O,EAAI/O,EAAQ,MACZgP,GAAIhP,EAAQ,OAEZqH,EADY,KAAK,eAAe,UAAU,cAAe0H,EAAGC,EAAC,EAC1C,QACzBzN,EAAmB8F,EAAQrH,CAAO,EAClC8O,EAAa,KAAK,0BAA0BzH,CAAM,EAEpD,UAAW/c,KAASpR,EAClBqgB,EAAI,KAAI,EACRA,EAAI,UAAU,GAAGjP,EAAM,SAAS,EAChCiP,EAAI,MAAM,EAAG,EAAE,EACfoF,EAAyBpF,EAAKuV,EAAYxkB,EAAM,EAAGA,EAAM,EAAGA,EAAM,EAAGA,EAAM,EAAG,EAAG,GAAI,EAAG,CAAC,EACzFiP,EAAI,QAAO,EAEb,KAAK,QAAO,CACb,CACD,0BAA2B,CACpB,KAAK,iBAGV,KAAK,IAAI,SAAS,EAAG,EAAG,EAAG,CAAC,EAC5B,KAAK,QAAO,EACb,CACD,UAAU0V,EAAK,CAAE,CACjB,eAAeA,EAAKlM,EAAY,CAAE,CAClC,mBAAmBkM,EAAK,CACtB,KAAK,mBAAmB,KAAK,CAC3B,QAAS,EACf,CAAK,CACF,CACD,wBAAwBA,EAAKlM,EAAY,CACnCkM,IAAQ,KACV,KAAK,mBAAmB,KAAK,CAC3B,QAAS,KAAK,sBAAsB,UAAUlM,CAAU,CAChE,CAAO,EAED,KAAK,mBAAmB,KAAK,CAC3B,QAAS,EACjB,CAAO,EAEH,KAAK,eAAiB,KAAK,kBAC5B,CACD,kBAAmB,CACjB,KAAK,mBAAmB,MACxB,KAAK,eAAiB,KAAK,kBAC5B,CACD,aAAc,CAAE,CAChB,WAAY,CAAE,CACd,YAAYmM,EAAS,CACnB,MAAMC,EAAU,KAAK,QAAQ,YAAW,EACpC,KAAK,aACP,KAAK,QAAQ,qBAEV,KAAK,aACR,KAAK,QAAQD,CAAO,EAEtB,MAAM3V,EAAM,KAAK,IACb,KAAK,cACF4V,IACC,KAAK,cAAgB7J,GACvB/L,EAAI,KAAK,SAAS,EAElBA,EAAI,KAAI,GAGZ,KAAK,YAAc,MAErB,KAAK,QAAQ,uBAAuB,KAAK,QAAQ,OAAO,EACxDA,EAAI,UAAS,CACd,CACD,qBAAsB,CACpB,GAAI,CAAC,KAAK,2BAA4B,CACpC,MAAMnf,KAAQ2S,EAAe,qBAAqB,KAAK,GAAG,EAC1D,GAAI3S,EAAE,CAAC,IAAM,GAAKA,EAAE,CAAC,IAAM,EACzB,KAAK,2BAA6B,EAAI,KAAK,IAAI,KAAK,IAAIA,EAAE,CAAC,CAAC,EAAG,KAAK,IAAIA,EAAE,CAAC,CAAC,CAAC,MACxE,CACL,MAAMg1B,EAAS,KAAK,IAAIh1B,EAAE,CAAC,EAAIA,EAAE,CAAC,EAAIA,EAAE,CAAC,EAAIA,EAAE,CAAC,CAAC,EAC3Ci1B,EAAQ,KAAK,MAAMj1B,EAAE,CAAC,EAAGA,EAAE,CAAC,CAAC,EAC7Bk1B,EAAQ,KAAK,MAAMl1B,EAAE,CAAC,EAAGA,EAAE,CAAC,CAAC,EACnC,KAAK,2BAA6B,KAAK,IAAIi1B,EAAOC,CAAK,EAAIF,GAG/D,OAAO,KAAK,0BACb,CACD,qBAAsB,CACpB,GAAI,CAAC,KAAK,wBAAyB,CACjC,KAAM,CACJ,UAAAzD,CACR,EAAU,KAAK,QACHvxB,KAAQ2S,EAAe,qBAAqB,KAAK,GAAG,EAC1D,IAAI8S,EAAQC,EACZ,GAAI1lB,EAAE,CAAC,IAAM,GAAKA,EAAE,CAAC,IAAM,EAAG,CAC5B,MAAMi1B,EAAQ,KAAK,IAAIj1B,EAAE,CAAC,CAAC,EACrBk1B,GAAQ,KAAK,IAAIl1B,EAAE,CAAC,CAAC,EAC3B,GAAIuxB,IAAc,EAChB9L,EAAS,EAAIwP,EACbvP,EAAS,EAAIwP,OACR,CACL,MAAMC,EAAmBF,EAAQ1D,EAC3B6D,EAAmBF,GAAQ3D,EACjC9L,EAAS0P,EAAmB,EAAI,EAAIA,EAAmB,EACvDzP,EAAS0P,EAAmB,EAAI,EAAIA,EAAmB,OAEpD,CACL,MAAMJ,EAAS,KAAK,IAAIh1B,EAAE,CAAC,EAAIA,EAAE,CAAC,EAAIA,EAAE,CAAC,EAAIA,EAAE,CAAC,CAAC,EAC3Ci1B,GAAQ,KAAK,MAAMj1B,EAAE,CAAC,EAAGA,EAAE,CAAC,CAAC,EAC7Bk1B,EAAQ,KAAK,MAAMl1B,EAAE,CAAC,EAAGA,EAAE,CAAC,CAAC,EACnC,GAAIuxB,IAAc,EAChB9L,EAASyP,EAAQF,EACjBtP,EAASuP,GAAQD,MACZ,CACL,MAAMK,EAAW9D,EAAYyD,EAC7BvP,EAASyP,EAAQG,EAAWH,EAAQG,EAAW,EAC/C3P,EAASuP,GAAQI,EAAWJ,GAAQI,EAAW,GAGnD,KAAK,wBAA0B,CAAC5P,EAAQC,CAAM,EAEhD,OAAO,KAAK,uBACb,CACD,iBAAiB4P,EAAa,CAC5B,KAAM,CACJ,IAAAnW,CACD,EAAG,KACE,CACJ,UAAAoS,CACN,EAAQ,KAAK,QACH,CAAC9L,EAAQC,CAAM,EAAI,KAAK,oBAAmB,EAEjD,GADAvG,EAAI,UAAYoS,GAAa,EACzB9L,IAAW,GAAKC,IAAW,EAAG,CAChCvG,EAAI,OAAM,EACV,OAEF,IAAIoW,GAAaC,EAAaC,EAC1BH,IACFC,MAAkB5iB,EAAe,qBAAqBwM,CAAG,EACzDqW,EAAcrW,EAAI,YAAa,EAAC,MAAK,EACrCsW,EAAkBtW,EAAI,gBAExBA,EAAI,MAAMsG,EAAQC,CAAM,EACxB,MAAMvsB,EAAQ,KAAK,IAAIssB,EAAQC,CAAM,EACrCvG,EAAI,YAAYA,EAAI,YAAa,EAAC,IAAI1N,GAAKA,EAAItY,CAAK,CAAC,EACrDgmB,EAAI,gBAAkBhmB,EACtBgmB,EAAI,OAAM,EACNmW,IACFnW,EAAI,aAAa,GAAGoW,EAAW,EAC/BpW,EAAI,YAAYqW,CAAW,EAC3BrW,EAAI,eAAiBsW,EAExB,CACD,kBAAmB,CACjB,QAAS/2B,EAAI,KAAK,mBAAmB,OAAS,EAAGA,GAAK,EAAGA,IACvD,GAAI,CAAC,KAAK,mBAAmBA,CAAC,EAAE,QAC9B,MAAO,GAGX,MAAO,EACR,CACF,EA1gDD,IAAMg3B,GAANvK,GAwHEG,GAAA,YAAAgB,GAAoB,UAAG,CACrB,KAAO,KAAK,WAAW,QAAU,KAAK,aACpC,KAAK,QAAO,EAEd,KAAK,IAAI,UACL,KAAK,oBACP,KAAK,IAAM,KAAK,aAChB,KAAK,IAAI,OACT,KAAK,IAAI,aAAa,EAAG,EAAG,EAAG,EAAG,EAAG,CAAC,EACtC,KAAK,IAAI,UAAU,KAAK,kBAAmB,EAAG,CAAC,EAC/C,KAAK,IAAI,UACT,KAAK,kBAAoB,KAE5B,EAgBDf,EAAA,YAAAiB,GAAW,UAAG,CACZ,GAAI,KAAK,WAAY,CACnB,MAAMmJ,EAAc,KAAK,cAAc,aAAa,KAAK,WAAW,WAAY,KAAK,WAAW,UAAU,EAC1G,GAAIA,IAAgB,OAAQ,CAC1B,MAAMC,EAAc,KAAK,IAAI,OAC7B,KAAK,IAAI,OAASD,EAClB,KAAK,IAAI,UAAU,KAAK,IAAI,OAAQ,EAAG,CAAC,EACxC,KAAK,IAAI,OAASC,GAGvB,EA42CHl8B,EAAQ,eAAiBg8B,GACzB,UAAWG,KAAMpmB,EAAM,IACjBimB,GAAe,UAAUG,CAAE,IAAM,SACnCH,GAAe,UAAUjmB,EAAM,IAAIomB,CAAE,CAAC,EAAIH,GAAe,UAAUG,CAAE,EAIlE,EAEA,CAACp8B,EAAyBC,EAAS8V,IAAwB,CAIlE,OAAO,eAAe9V,EAAS,aAAe,CAC5C,MAAO,EACT,GACAA,EAAQ,cAAgBA,EAAQ,SAAW,OAC3CA,EAAQ,kBAAoBo8B,EAC5B,IAAIrmB,EAAQD,EAAoB,CAAC,EAC7BmD,EAAiBnD,EAAoB,CAAC,EAC1C,MAAMumB,GAAW,CACf,KAAM,OACN,OAAQ,SACR,QAAS,SACX,EACAr8B,EAAQ,SAAWq8B,GACnB,SAASC,EAAiB7W,EAAKqU,EAAM,CACnC,GAAI,CAACA,EACH,OAEF,MAAMnlB,EAAQmlB,EAAK,CAAC,EAAIA,EAAK,CAAC,EACxBllB,EAASklB,EAAK,CAAC,EAAIA,EAAK,CAAC,EACzByC,EAAS,IAAI,OACnBA,EAAO,KAAKzC,EAAK,CAAC,EAAGA,EAAK,CAAC,EAAGnlB,EAAOC,CAAM,EAC3C6Q,EAAI,KAAK8W,CAAM,CAChB,CACD,MAAMC,CAAmB,CACvB,aAAc,CACR,KAAK,cAAgBA,MACnBzmB,EAAM,aAAa,uCAAuC,CAEjE,CACD,YAAa,IACPA,EAAM,aAAa,sCAAsC,CAC9D,CACF,CACD,MAAM0mB,UAAkCD,CAAmB,CACzD,YAAYnD,EAAI,CACd,QACA,KAAK,MAAQA,EAAG,CAAC,EACjB,KAAK,MAAQA,EAAG,CAAC,EACjB,KAAK,YAAcA,EAAG,CAAC,EACvB,KAAK,IAAMA,EAAG,CAAC,EACf,KAAK,IAAMA,EAAG,CAAC,EACf,KAAK,IAAMA,EAAG,CAAC,EACf,KAAK,IAAMA,EAAG,CAAC,EACf,KAAK,OAAS,IACf,CACD,gBAAgB5T,EAAK,CACnB,IAAIiX,EACA,KAAK,QAAU,QACjBA,EAAOjX,EAAI,qBAAqB,KAAK,IAAI,CAAC,EAAG,KAAK,IAAI,CAAC,EAAG,KAAK,IAAI,CAAC,EAAG,KAAK,IAAI,CAAC,CAAC,EACzE,KAAK,QAAU,WACxBiX,EAAOjX,EAAI,qBAAqB,KAAK,IAAI,CAAC,EAAG,KAAK,IAAI,CAAC,EAAG,KAAK,IAAK,KAAK,IAAI,CAAC,EAAG,KAAK,IAAI,CAAC,EAAG,KAAK,GAAG,GAExG,UAAWkX,KAAa,KAAK,YAC3BD,EAAK,aAAaC,EAAU,CAAC,EAAGA,EAAU,CAAC,CAAC,EAE9C,OAAOD,CACR,CACD,WAAWjX,EAAKmX,EAAOpI,EAASnH,EAAU,CACxC,IAAIuK,EACJ,GAAIvK,IAAagP,GAAS,QAAUhP,IAAagP,GAAS,KAAM,CAC9D,MAAMQ,EAAYD,EAAM,QAAQ,0BAA0BvP,KAAcpU,EAAe,qBAAqBwM,CAAG,CAAC,GAAK,CAAC,EAAG,EAAG,EAAG,CAAC,EAC1H9Q,EAAQ,KAAK,KAAKkoB,EAAU,CAAC,EAAIA,EAAU,CAAC,CAAC,GAAK,EAClDjoB,EAAS,KAAK,KAAKioB,EAAU,CAAC,EAAIA,EAAU,CAAC,CAAC,GAAK,EACnDvJ,EAAYsJ,EAAM,eAAe,UAAU,UAAWjoB,EAAOC,EAAQ,EAAI,EACzE2e,EAASD,EAAU,QACzBC,EAAO,UAAU,EAAG,EAAGA,EAAO,OAAO,MAAOA,EAAO,OAAO,MAAM,EAChEA,EAAO,UAAS,EAChBA,EAAO,KAAK,EAAG,EAAGA,EAAO,OAAO,MAAOA,EAAO,OAAO,MAAM,EAC3DA,EAAO,UAAU,CAACsJ,EAAU,CAAC,EAAG,CAACA,EAAU,CAAC,CAAC,EAC7CrI,EAAUze,EAAM,KAAK,UAAUye,EAAS,CAAC,EAAG,EAAG,EAAG,EAAGqI,EAAU,CAAC,EAAGA,EAAU,CAAC,CAAC,CAAC,EAChFtJ,EAAO,UAAU,GAAGqJ,EAAM,aAAa,EACnC,KAAK,QACPrJ,EAAO,UAAU,GAAG,KAAK,MAAM,EAEjC+I,EAAiB/I,EAAQ,KAAK,KAAK,EACnCA,EAAO,UAAY,KAAK,gBAAgBA,CAAM,EAC9CA,EAAO,KAAI,EACXqE,EAAUnS,EAAI,cAAc6N,EAAU,OAAQ,WAAW,EACzD,MAAMwJ,EAAY,IAAI,UAAUtI,CAAO,EACvCoD,EAAQ,aAAakF,CAAS,OAE9BR,EAAiB7W,EAAK,KAAK,KAAK,EAChCmS,EAAU,KAAK,gBAAgBnS,CAAG,EAEpC,OAAOmS,CACR,CACF,CACD,SAASmF,EAAanzB,EAAM4wB,EAAS9zB,EAAIC,EAAIC,EAAIo2B,EAAIC,EAAIC,EAAI,CAC3D,MAAMC,EAAS3C,EAAQ,OACrB5f,EAAS4f,EAAQ,OACb51B,EAAQgF,EAAK,KACjBwzB,EAAUxzB,EAAK,MAAQ,EACzB,IAAIyzB,EACAF,EAAOz2B,EAAK,CAAC,EAAIy2B,EAAOx2B,EAAK,CAAC,IAChC02B,EAAM32B,EACNA,EAAKC,EACLA,EAAK02B,EACLA,EAAML,EACNA,EAAKC,EACLA,EAAKI,GAEHF,EAAOx2B,EAAK,CAAC,EAAIw2B,EAAOv2B,EAAK,CAAC,IAChCy2B,EAAM12B,EACNA,EAAKC,EACLA,EAAKy2B,EACLA,EAAMJ,EACNA,EAAKC,EACLA,EAAKG,GAEHF,EAAOz2B,EAAK,CAAC,EAAIy2B,EAAOx2B,EAAK,CAAC,IAChC02B,EAAM32B,EACNA,EAAKC,EACLA,EAAK02B,EACLA,EAAML,EACNA,EAAKC,EACLA,EAAKI,GAEP,MAAMv1B,IAAMq1B,EAAOz2B,CAAE,EAAI8zB,EAAQ,SAAWA,EAAQ,OAC9CzyB,GAAMo1B,EAAOz2B,EAAK,CAAC,EAAI8zB,EAAQ,SAAWA,EAAQ,OAClDxyB,IAAMm1B,EAAOx2B,CAAE,EAAI6zB,EAAQ,SAAWA,EAAQ,OAC9CvyB,IAAMk1B,EAAOx2B,EAAK,CAAC,EAAI6zB,EAAQ,SAAWA,EAAQ,OAClDtyB,IAAMi1B,EAAOv2B,CAAE,EAAI4zB,EAAQ,SAAWA,EAAQ,OAC9CryB,IAAMg1B,EAAOv2B,EAAK,CAAC,EAAI4zB,EAAQ,SAAWA,EAAQ,OACxD,GAAIzyB,GAAMI,GACR,OAEF,MAAMm1B,GAAM1iB,EAAOoiB,CAAE,EACnBO,EAAM3iB,EAAOoiB,EAAK,CAAC,EACnBQ,GAAM5iB,EAAOoiB,EAAK,CAAC,EACfS,GAAM7iB,EAAOqiB,CAAE,EACnBS,EAAM9iB,EAAOqiB,EAAK,CAAC,EACnBU,EAAM/iB,EAAOqiB,EAAK,CAAC,EACfW,EAAMhjB,EAAOsiB,CAAE,EACnBW,EAAMjjB,EAAOsiB,EAAK,CAAC,EACnBY,EAAMljB,EAAOsiB,EAAK,CAAC,EACfa,EAAO,KAAK,MAAMh2B,CAAE,EACxBi2B,GAAO,KAAK,MAAM71B,EAAE,EACtB,IAAI81B,EAAIC,EAAKC,EAAKC,EACdC,EAAIC,EAAKC,EAAKC,EAClB,QAASxmB,EAAI+lB,EAAM/lB,GAAKgmB,GAAMhmB,IAAK,CACjC,GAAIA,EAAI/P,GAAI,CACV,IAAIymB,GACA1W,EAAIjQ,EACN2mB,GAAI,EAEJA,IAAK3mB,EAAKiQ,IAAMjQ,EAAKE,IAEvBg2B,EAAKn2B,IAAMA,GAAKE,IAAM0mB,GACtBwP,EAAMZ,IAAOA,GAAMG,IAAO/O,GAC1ByP,EAAMZ,GAAOA,EAAMG,GAAOhP,GAC1B0P,EAAMZ,IAAOA,GAAMG,GAAOjP,OACrB,CACL,IAAIA,GACA1W,EAAI7P,GACNumB,GAAI,EACKzmB,KAAOE,GAChBumB,GAAI,EAEJA,IAAKzmB,GAAK+P,IAAM/P,GAAKE,IAEvB81B,EAAKj2B,IAAMA,GAAKE,IAAMwmB,GACtBwP,EAAMT,IAAOA,GAAMG,GAAOlP,GAC1ByP,EAAMT,GAAOA,EAAMG,GAAOnP,GAC1B0P,EAAMT,GAAOA,EAAMG,GAAOpP,GAE5B,IAAIA,GACA1W,EAAIjQ,EACN2mB,GAAI,EACK1W,EAAI7P,GACbumB,GAAI,EAEJA,IAAK3mB,EAAKiQ,IAAMjQ,EAAKI,IAEvBk2B,EAAKv2B,IAAMA,GAAKI,IAAMwmB,GACtB4P,EAAMhB,IAAOA,GAAMM,GAAOlP,GAC1B6P,EAAMhB,GAAOA,EAAMM,GAAOnP,GAC1B8P,EAAMhB,IAAOA,GAAMM,GAAOpP,GAC1B,MAAM+P,EAAM,KAAK,MAAM,KAAK,IAAIR,EAAII,CAAE,CAAC,EACjCK,EAAM,KAAK,MAAM,KAAK,IAAIT,EAAII,CAAE,CAAC,EACvC,IAAI31B,GAAI00B,EAAUplB,EAAIymB,EAAM,EAC5B,QAAS1mB,GAAI0mB,EAAK1mB,IAAK2mB,EAAK3mB,KAC1B2W,IAAKuP,EAAKlmB,KAAMkmB,EAAKI,GACjB3P,GAAI,EACNA,GAAI,EACKA,GAAI,IACbA,GAAI,GAEN9pB,EAAM8D,IAAG,EAAIw1B,GAAOA,EAAMI,GAAO5P,GAAI,EACrC9pB,EAAM8D,IAAG,EAAIy1B,GAAOA,EAAMI,GAAO7P,GAAI,EACrC9pB,EAAM8D,IAAG,EAAI01B,GAAOA,EAAMI,GAAO9P,GAAI,EACrC9pB,EAAM8D,IAAG,EAAI,IAGlB,CACD,SAASi2B,EAAW/0B,EAAMg1B,EAAQpE,EAAS,CACzC,MAAMqE,EAAKD,EAAO,OACZE,EAAKF,EAAO,OAClB,IAAI55B,EAAGkE,EACP,OAAQ01B,EAAO,KAAI,CACjB,IAAK,UACH,MAAMG,EAAiBH,EAAO,eACxBI,EAAO,KAAK,MAAMH,EAAG,OAASE,CAAc,EAAI,EAChDE,EAAOF,EAAiB,EAC9B,IAAK/5B,EAAI,EAAGA,EAAIg6B,EAAMh6B,IAAK,CACzB,IAAIk6B,EAAIl6B,EAAI+5B,EACZ,QAASr2B,EAAI,EAAGA,EAAIu2B,EAAMv2B,IAAKw2B,IAC7BnC,EAAanzB,EAAM4wB,EAASqE,EAAGK,CAAC,EAAGL,EAAGK,EAAI,CAAC,EAAGL,EAAGK,EAAIH,CAAc,EAAGD,EAAGI,CAAC,EAAGJ,EAAGI,EAAI,CAAC,EAAGJ,EAAGI,EAAIH,CAAc,CAAC,EAC9GhC,EAAanzB,EAAM4wB,EAASqE,EAAGK,EAAIH,EAAiB,CAAC,EAAGF,EAAGK,EAAI,CAAC,EAAGL,EAAGK,EAAIH,CAAc,EAAGD,EAAGI,EAAIH,EAAiB,CAAC,EAAGD,EAAGI,EAAI,CAAC,EAAGJ,EAAGI,EAAIH,CAAc,CAAC,EAG5J,MACF,IAAK,YACH,IAAK/5B,EAAI,EAAGkE,EAAK21B,EAAG,OAAQ75B,EAAIkE,EAAIlE,GAAK,EACvC+3B,EAAanzB,EAAM4wB,EAASqE,EAAG75B,CAAC,EAAG65B,EAAG75B,EAAI,CAAC,EAAG65B,EAAG75B,EAAI,CAAC,EAAG85B,EAAG95B,CAAC,EAAG85B,EAAG95B,EAAI,CAAC,EAAG85B,EAAG95B,EAAI,CAAC,CAAC,EAEtF,MACF,QACE,MAAM,IAAI,MAAM,gBAAgB,CACnC,CACF,CACD,MAAMm6B,UAA2B3C,CAAmB,CAClD,YAAYnD,EAAI,CACd,QACA,KAAK,QAAUA,EAAG,CAAC,EACnB,KAAK,QAAUA,EAAG,CAAC,EACnB,KAAK,SAAWA,EAAG,CAAC,EACpB,KAAK,QAAUA,EAAG,CAAC,EACnB,KAAK,MAAQA,EAAG,CAAC,EACjB,KAAK,YAAcA,EAAG,CAAC,EACvB,KAAK,OAAS,IACf,CACD,kBAAkB+F,EAAeC,EAAiBC,EAAgB,CAIhE,MAAMxwB,EAAU,KAAK,MAAM,KAAK,QAAQ,CAAC,CAAC,EACpCC,EAAU,KAAK,MAAM,KAAK,QAAQ,CAAC,CAAC,EACpCwwB,EAAc,KAAK,KAAK,KAAK,QAAQ,CAAC,CAAC,EAAIzwB,EAC3C0wB,EAAe,KAAK,KAAK,KAAK,QAAQ,CAAC,CAAC,EAAIzwB,EAC5C4F,EAAQ,KAAK,IAAI,KAAK,KAAK,KAAK,IAAI4qB,EAAcH,EAAc,CAAC,EAAI,GAAc,CAAC,EAAG,GAAgB,EACvGxqB,EAAS,KAAK,IAAI,KAAK,KAAK,KAAK,IAAI4qB,EAAeJ,EAAc,CAAC,EAAI,GAAc,CAAC,EAAG,GAAgB,EACzGrT,GAASwT,EAAc5qB,EACvBqX,EAASwT,EAAe5qB,EACxB4lB,GAAU,CACd,OAAQ,KAAK,QACb,OAAQ,KAAK,QACb,QAAS,CAAC1rB,EACV,QAAS,CAACC,EACV,OAAQ,EAAIgd,GACZ,OAAQ,EAAIC,CAClB,EACUyT,GAAc9qB,EAAQ,EAAc,EACpC+qB,GAAe9qB,EAAS,EAAc,EACtC0e,GAAYgM,EAAe,UAAU,OAAQG,GAAaC,GAAc,EAAK,EAC7EnM,GAASD,GAAU,QACnB1pB,EAAO2pB,GAAO,gBAAgB5e,EAAOC,CAAM,EACjD,GAAIyqB,EAAiB,CACnB,MAAMz6B,GAAQgF,EAAK,KACnB,QAAS5E,EAAI,EAAGkE,EAAKtE,GAAM,OAAQI,EAAIkE,EAAIlE,GAAK,EAC9CJ,GAAMI,CAAC,EAAIq6B,EAAgB,CAAC,EAC5Bz6B,GAAMI,EAAI,CAAC,EAAIq6B,EAAgB,CAAC,EAChCz6B,GAAMI,EAAI,CAAC,EAAIq6B,EAAgB,CAAC,EAChCz6B,GAAMI,EAAI,CAAC,EAAI,IAGnB,UAAW45B,MAAU,KAAK,SACxBD,EAAW/0B,EAAMg1B,GAAQpE,EAAO,EAElC,OAAAjH,GAAO,aAAa3pB,EAAM,EAAa,CAAW,EAE3C,CACL,OAFa0pB,GAAU,OAGvB,QAASxkB,EAAU,EAAcid,GACjC,QAAShd,EAAU,EAAcid,EACjC,OAAAD,GACA,OAAAC,CACN,CACG,CACD,WAAWvG,EAAKmX,EAAOpI,EAASnH,EAAU,CACxCiP,EAAiB7W,EAAK,KAAK,KAAK,EAChC,IAAIhmB,EACJ,GAAI4tB,IAAagP,GAAS,QACxB58B,EAAQsW,EAAM,KAAK,iCAAkCkD,EAAe,qBAAqBwM,CAAG,CAAC,UAE7FhmB,EAAQsW,EAAM,KAAK,8BAA8B6mB,EAAM,aAAa,EAChE,KAAK,OAAQ,CACf,MAAM+C,EAAc5pB,EAAM,KAAK,8BAA8B,KAAK,MAAM,EACxEtW,EAAQ,CAACA,EAAM,CAAC,EAAIkgC,EAAY,CAAC,EAAGlgC,EAAM,CAAC,EAAIkgC,EAAY,CAAC,CAAC,EAGjE,MAAMC,EAAyB,KAAK,kBAAkBngC,EAAO4tB,IAAagP,GAAS,QAAU,KAAO,KAAK,YAAaO,EAAM,cAAc,EAC1I,OAAIvP,IAAagP,GAAS,UACxB5W,EAAI,aAAa,GAAGmX,EAAM,aAAa,EACnC,KAAK,QACPnX,EAAI,UAAU,GAAG,KAAK,MAAM,GAGhCA,EAAI,UAAUma,EAAuB,QAASA,EAAuB,OAAO,EAC5Ena,EAAI,MAAMma,EAAuB,OAAQA,EAAuB,MAAM,EAC/Dna,EAAI,cAAcma,EAAuB,OAAQ,WAAW,CACpE,CACF,CACD,MAAMC,UAA4BrD,CAAmB,CACnD,YAAa,CACX,MAAO,SACR,CACF,CACD,SAASJ,EAAkB/C,EAAI,CAC7B,OAAQA,EAAG,CAAC,EAAC,CACX,IAAK,cACH,OAAO,IAAIoD,EAA0BpD,CAAE,EACzC,IAAK,OACH,OAAO,IAAI8F,EAAmB9F,CAAE,EAClC,IAAK,QACH,OAAO,IAAIwG,CACd,CACD,MAAM,IAAI,MAAM,oBAAoBxG,EAAG,CAAC,GAAG,CAC5C,CACD,MAAMyG,EAAY,CAChB,QAAS,EACT,UAAW,CACb,EACMC,EAAN,KAAoB,CAElB,YAAY1G,EAAIxe,EAAO4K,EAAK8T,EAAuBD,EAAe,CAChE,KAAK,aAAeD,EAAG,CAAC,EACxB,KAAK,OAASA,EAAG,CAAC,GAAK,CAAC,EAAG,EAAG,EAAG,EAAG,EAAG,CAAC,EACxC,KAAK,KAAOA,EAAG,CAAC,EAChB,KAAK,MAAQA,EAAG,CAAC,EACjB,KAAK,MAAQA,EAAG,CAAC,EACjB,KAAK,UAAYA,EAAG,CAAC,EACrB,KAAK,WAAaA,EAAG,CAAC,EACtB,KAAK,MAAQxe,EACb,KAAK,IAAM4K,EACX,KAAK,sBAAwB8T,EAC7B,KAAK,cAAgBD,CACtB,CACD,oBAAoBsD,EAAO,CACzB,MAAM7qB,EAAe,KAAK,aACpB+nB,EAAO,KAAK,KACZkG,EAAQ,KAAK,MACbC,EAAQ,KAAK,MACbC,EAAY,KAAK,UACjBC,EAAa,KAAK,WAClBtlB,EAAQ,KAAK,MACb0e,EAAwB,KAAK,yBAC/BxjB,EAAM,MAAM,eAAiBoqB,CAAU,EAC3C,MAAMv4B,EAAKkyB,EAAK,CAAC,EACfjyB,EAAKiyB,EAAK,CAAC,EACXhyB,EAAKgyB,EAAK,CAAC,EACX/xB,GAAK+xB,EAAK,CAAC,EACP6F,EAAc5pB,EAAM,KAAK,8BAA8B,KAAK,MAAM,EAClEqqB,GAAiBrqB,EAAM,KAAK,8BAA8B,KAAK,aAAa,EAC5EqpB,GAAgB,CAACO,EAAY,CAAC,EAAIS,GAAe,CAAC,EAAGT,EAAY,CAAC,EAAIS,GAAe,CAAC,CAAC,EACvFC,GAAO,KAAK,gBAAgBL,EAAO,KAAK,IAAI,OAAO,MAAOZ,GAAc,CAAC,CAAC,EAC1EkB,GAAO,KAAK,gBAAgBL,EAAO,KAAK,IAAI,OAAO,OAAQb,GAAc,CAAC,CAAC,EAC3E9L,GAAYsJ,EAAM,eAAe,UAAU,UAAWyD,GAAK,KAAMC,GAAK,KAAM,EAAI,EAChF/M,EAASD,GAAU,QACnBiN,GAAWhH,EAAsB,qBAAqBhG,CAAM,EAClEgN,GAAS,WAAa3D,EAAM,WAC5B,KAAK,+BAA+B2D,GAAUL,EAAWrlB,CAAK,EAC9D,IAAI2lB,GAAa54B,EACb64B,EAAa54B,EACb64B,EAAa54B,EACb64B,EAAa54B,GACjB,OAAIH,EAAK,IACP44B,GAAa,EACbE,GAAc,KAAK,IAAI94B,CAAE,GAEvBC,EAAK,IACP44B,EAAa,EACbE,GAAc,KAAK,IAAI94B,CAAE,GAE3B0rB,EAAO,UAAU,EAAE8M,GAAK,MAAQG,IAAa,EAAEF,GAAK,MAAQG,EAAW,EACvEF,GAAS,UAAUF,GAAK,MAAO,EAAG,EAAGC,GAAK,MAAO,EAAG,CAAC,EACrD/M,EAAO,KAAI,EACX,KAAK,SAASgN,GAAUC,GAAYC,EAAYC,EAAYC,CAAU,EACtEJ,GAAS,iBAAoBtnB,EAAe,qBAAqBsnB,GAAS,GAAG,EAC7EA,GAAS,oBAAoBxuB,CAAY,EACzCwuB,GAAS,WAAU,EACZ,CACL,OAAQjN,GAAU,OAClB,OAAQ+M,GAAK,MACb,OAAQC,GAAK,MACb,QAASE,GACT,QAASC,CACf,CACG,CACD,gBAAgBxT,EAAM2T,EAAgBnhC,EAAO,CAC3CwtB,EAAO,KAAK,IAAIA,CAAI,EACpB,MAAMzT,EAAU,KAAK,IAAIumB,EAAc,iBAAkBa,CAAc,EACvE,IAAItX,EAAO,KAAK,KAAK2D,EAAOxtB,CAAK,EACjC,OAAI6pB,GAAQ9P,EACV8P,EAAO9P,EAEP/Z,EAAQ6pB,EAAO2D,EAEV,CACL,MAAAxtB,EACA,KAAA6pB,CACN,CACG,CACD,SAASiX,EAAU34B,EAAIC,EAAIC,EAAIC,EAAI,CACjC,MAAM84B,EAAY/4B,EAAKF,EACjBk5B,EAAa/4B,EAAKF,EACxB04B,EAAS,IAAI,KAAK34B,EAAIC,EAAIg5B,EAAWC,CAAU,EAC/CP,EAAS,QAAQ,oBAAqBtnB,EAAe,qBAAqBsnB,EAAS,GAAG,EAAG,CAAC34B,EAAIC,EAAIC,EAAIC,CAAE,CAAC,EACzGw4B,EAAS,KAAI,EACbA,EAAS,QAAO,CACjB,CACD,+BAA+BA,EAAUL,EAAWrlB,EAAO,CACzD,MAAM2f,EAAU+F,EAAS,IACvB/W,EAAU+W,EAAS,QACrB,OAAQL,EAAS,CACf,KAAKJ,EAAU,QACb,MAAMra,EAAM,KAAK,IACjB+U,EAAQ,UAAY/U,EAAI,UACxB+U,EAAQ,YAAc/U,EAAI,YAC1B+D,EAAQ,UAAY/D,EAAI,UACxB+D,EAAQ,YAAc/D,EAAI,YAC1B,MACF,KAAKqa,EAAU,UACb,MAAMiB,EAAWhrB,EAAM,KAAK,aAAa8E,EAAM,CAAC,EAAGA,EAAM,CAAC,EAAGA,EAAM,CAAC,CAAC,EACrE2f,EAAQ,UAAYuG,EACpBvG,EAAQ,YAAcuG,EACtBvX,EAAQ,UAAYuX,EACpBvX,EAAQ,YAAcuX,EACtB,MACF,QACE,MAAM,IAAIhrB,EAAM,YAAY,2BAA2BmqB,GAAW,CACrE,CACF,CACD,WAAWza,EAAKmX,EAAOpI,EAASnH,EAAU,CACxC,IAAImM,EAAShF,EACTnH,IAAagP,GAAS,UACxB7C,EAASzjB,EAAM,KAAK,UAAUyjB,EAAQoD,EAAM,aAAa,EACrD,KAAK,SACPpD,EAASzjB,EAAM,KAAK,UAAUyjB,EAAQ,KAAK,MAAM,IAGrD,MAAMoG,EAAyB,KAAK,oBAAoBhD,CAAK,EAC7D,IAAIE,EAAY,IAAI,UAAUtD,CAAM,EACpCsD,EAAYA,EAAU,UAAU8C,EAAuB,QAASA,EAAuB,OAAO,EAC9F9C,EAAYA,EAAU,MAAM,EAAI8C,EAAuB,OAAQ,EAAIA,EAAuB,MAAM,EAChG,MAAMhI,EAAUnS,EAAI,cAAcma,EAAuB,OAAQ,QAAQ,EACzE,OAAAhI,EAAQ,aAAakF,CAAS,EACvBlF,CACR,CACF,EA9HD,IAAMoJ,EAANjB,EACEvoB,GADIwpB,EACG,mBAAmB,KA8H5BhhC,EAAQ,cAAgBghC,CAEjB,EAEA,CAACjhC,EAAyBC,EAAS8V,IAAwB,CAIlE,OAAO,eAAe9V,EAAS,aAAe,CAC5C,MAAO,EACT,GACAA,EAAQ,2BAA6BihC,GACrCjhC,EAAQ,cAAgBkhC,EACxBlhC,EAAQ,WAAamhC,EACrB,IAAIprB,EAAQD,EAAoB,CAAC,EACjC,SAASorB,EAAcvhC,EAAQ,CAC7B,OAAQA,EAAO,KAAI,CACjB,KAAKoW,EAAM,UAAU,eACnB,OAAOkrB,GAA2BthC,CAAM,EAC1C,KAAKoW,EAAM,UAAU,UACnB,OAAOqrB,EAAiBzhC,CAAM,CACjC,CACD,OAAO,IACR,CACD,SAASshC,GAA2B,CAClC,IAAAv2B,EACA,OAAAojB,EAAS,EACT,KAAAE,EACA,MAAArZ,EACA,OAAAC,EACA,cAAAysB,EAAgB,WAChB,cAAAC,EAAgB,EAClB,EAAG,CACD,MAAM9S,EAAQzY,EAAM,YAAY,eAAiB,WAAa,IACxD,CAACwrB,EAAaC,CAAU,EAAIF,EAAgB,CAACD,EAAe7S,CAAK,EAAI,CAACA,EAAO6S,CAAa,EAC1FI,EAAgB9sB,GAAS,EACzB+sB,EAAiB/sB,EAAQ,EACzBwZ,EAAYzjB,EAAI,OACtBsjB,EAAO,IAAI,YAAYA,EAAK,MAAM,EAClC,IAAID,EAAU,EACd,QAAS/oB,EAAI,EAAGA,EAAI4P,EAAQ5P,IAAK,CAC/B,UAAW28B,EAAM7T,EAAS2T,EAAe3T,EAAS6T,EAAK7T,IAAU,CAC/D,MAAMpB,EAAOoB,EAASK,EAAYzjB,EAAIojB,CAAM,EAAI,IAChDE,EAAKD,GAAS,EAAIrB,EAAO,IAAa8U,EAAaD,EACnDvT,EAAKD,GAAS,EAAIrB,EAAO,GAAY8U,EAAaD,EAClDvT,EAAKD,GAAS,EAAIrB,EAAO,GAAW8U,EAAaD,EACjDvT,EAAKD,GAAS,EAAIrB,EAAO,GAAU8U,EAAaD,EAChDvT,EAAKD,GAAS,EAAIrB,EAAO,EAAS8U,EAAaD,EAC/CvT,EAAKD,GAAS,EAAIrB,EAAO,EAAQ8U,EAAaD,EAC9CvT,EAAKD,GAAS,EAAIrB,EAAO,EAAO8U,EAAaD,EAC7CvT,EAAKD,GAAS,EAAIrB,EAAO,EAAM8U,EAAaD,EAE9C,GAAIG,IAAmB,EACrB,SAEF,MAAMhV,EAAOoB,EAASK,EAAYzjB,EAAIojB,GAAQ,EAAI,IAClD,QAASplB,EAAI,EAAGA,EAAIg5B,EAAgBh5B,IAClCslB,EAAKD,GAAS,EAAIrB,EAAO,GAAK,EAAIhkB,EAAI84B,EAAaD,EAGvD,MAAO,CACL,OAAAzT,EACA,QAAAC,CACJ,CACC,CACD,SAASqT,EAAiB,CACxB,IAAA12B,EACA,OAAAojB,EAAS,EACT,KAAAE,EACA,QAAAD,EAAU,EACV,MAAApZ,EACA,OAAAC,CACF,EAAG,CACD,IAAI5P,EAAI,EACR,MAAM48B,EAAQl3B,EAAI,QAAU,EACtBm3B,EAAQ,IAAI,YAAYn3B,EAAI,OAAQojB,EAAQ8T,CAAK,EACvD,GAAI7rB,EAAM,YAAY,eAAgB,CACpC,KAAO/Q,EAAI48B,EAAQ,EAAG58B,GAAK,EAAG+oB,GAAW,EAAG,CAC1C,MAAM+T,EAAKD,EAAM78B,CAAC,EACZ+8B,EAAKF,EAAM78B,EAAI,CAAC,EAChBg9B,EAAKH,EAAM78B,EAAI,CAAC,EACtBgpB,EAAKD,CAAO,EAAI+T,EAAK,WACrB9T,EAAKD,EAAU,CAAC,EAAI+T,IAAO,GAAKC,GAAM,EAAI,WAC1C/T,EAAKD,EAAU,CAAC,EAAIgU,IAAO,GAAKC,GAAM,GAAK,WAC3ChU,EAAKD,EAAU,CAAC,EAAIiU,IAAO,EAAI,WAEjC,QAASt5B,EAAI1D,EAAI,EAAGi9B,EAAKv3B,EAAI,OAAQhC,EAAIu5B,EAAIv5B,GAAK,EAChDslB,EAAKD,GAAS,EAAIrjB,EAAIhC,CAAC,EAAIgC,EAAIhC,EAAI,CAAC,GAAK,EAAIgC,EAAIhC,EAAI,CAAC,GAAK,GAAK,eAE7D,CACL,KAAO1D,EAAI48B,EAAQ,EAAG58B,GAAK,EAAG+oB,GAAW,EAAG,CAC1C,MAAM+T,EAAKD,EAAM78B,CAAC,EACZ+8B,EAAKF,EAAM78B,EAAI,CAAC,EAChBg9B,EAAKH,EAAM78B,EAAI,CAAC,EACtBgpB,EAAKD,CAAO,EAAI+T,EAAK,IACrB9T,EAAKD,EAAU,CAAC,EAAI+T,GAAM,GAAKC,IAAO,EAAI,IAC1C/T,EAAKD,EAAU,CAAC,EAAIgU,GAAM,GAAKC,IAAO,GAAK,IAC3ChU,EAAKD,EAAU,CAAC,EAAIiU,GAAM,EAAI,IAEhC,QAASt5B,EAAI1D,EAAI,EAAGi9B,EAAKv3B,EAAI,OAAQhC,EAAIu5B,EAAIv5B,GAAK,EAChDslB,EAAKD,GAAS,EAAIrjB,EAAIhC,CAAC,GAAK,GAAKgC,EAAIhC,EAAI,CAAC,GAAK,GAAKgC,EAAIhC,EAAI,CAAC,GAAK,EAAI,IAG1E,MAAO,CACL,OAAAolB,EACA,QAAAC,CACJ,CACC,CACD,SAASoT,EAAWz2B,EAAKsjB,EAAM,CAC7B,GAAIjY,EAAM,YAAY,eACpB,QAAS/Q,EAAI,EAAGkE,EAAKwB,EAAI,OAAQ1F,EAAIkE,EAAIlE,IACvCgpB,EAAKhpB,CAAC,EAAI0F,EAAI1F,CAAC,EAAI,MAAU,eAG/B,SAASA,EAAI,EAAGkE,EAAKwB,EAAI,OAAQ1F,EAAIkE,EAAIlE,IACvCgpB,EAAKhpB,CAAC,EAAI0F,EAAI1F,CAAC,EAAI,SAAY,GAGpC,CAEM,EAEA,CAACjF,EAAyBC,IAAY,CAI7C,OAAO,eAAeA,EAAS,aAAe,CAC5C,MAAO,EACT,GACAA,EAAQ,oBAAsB,OAC9B,MAAMkiC,EAAsB,OAAO,OAAO,IAAI,EAC9CliC,EAAQ,oBAAsBkiC,EAC9BA,EAAoB,WAAa,KACjCA,EAAoB,UAAY,EAEzB,EAEA,CAACniC,EAAyBC,EAAS8V,IAAwB,oBAIlE,OAAO,eAAe9V,EAAS,aAAe,CAC5C,MAAO,EACT,GACAA,EAAQ,eAAiB,OACzB,IAAI+V,EAAQD,EAAoB,CAAC,EACjC,MAAMqsB,EAAe,CACnB,QAAS,EACT,KAAM,EACN,MAAO,CACT,EACMC,GAAa,CACjB,QAAS,EACT,OAAQ,EACR,gBAAiB,EACjB,MAAO,EACP,QAAS,EACT,MAAO,EACP,KAAM,EACN,cAAe,EACf,eAAgB,CAClB,EACA,SAASC,EAAWv4B,EAAQ,CAI1B,OAHMA,aAAkB,OAAS,OAAOA,GAAW,UAAYA,IAAW,SACpEiM,EAAM,aAAa,gEAAgE,EAEjFjM,EAAO,KAAI,CACjB,IAAK,iBACH,OAAO,IAAIiM,EAAM,eAAejM,EAAO,OAAO,EAChD,IAAK,sBACH,OAAO,IAAIiM,EAAM,oBAAoBjM,EAAO,OAAO,EACrD,IAAK,oBACH,OAAO,IAAIiM,EAAM,kBAAkBjM,EAAO,QAASA,EAAO,IAAI,EAChE,IAAK,8BACH,OAAO,IAAIiM,EAAM,4BAA4BjM,EAAO,QAASA,EAAO,MAAM,EAC5E,IAAK,wBACH,OAAO,IAAIiM,EAAM,sBAAsBjM,EAAO,QAASA,EAAO,OAAO,EACvE,QACE,OAAO,IAAIiM,EAAM,sBAAsBjM,EAAO,QAASA,EAAO,SAAQ,CAAE,CAC3E,CACF,CACD,MAAMw4B,CAAe,CACnB,YAAYC,EAAYC,EAAYC,EAAQ,CA4J5Cj5B,EAAA,KAAAk5B,GAmFAl5B,EAAA,KAAAm5B,GAqHAn5B,EAAA,KAAMo5B,GAnWJ,KAAK,WAAaL,EAClB,KAAK,WAAaC,EAClB,KAAK,OAASC,EACd,KAAK,WAAa,EAClB,KAAK,SAAW,EAChB,KAAK,YAAc,OAAO,OAAO,IAAI,EACrC,KAAK,kBAAoB,OAAO,OAAO,IAAI,EAC3C,KAAK,qBAAuB,OAAO,OAAO,IAAI,EAC9C,KAAK,cAAgB,OAAO,OAAO,IAAI,EACvC,KAAK,mBAAqBtwB,GAAS,CACjC,MAAMvI,EAAOuI,EAAM,KACnB,GAAIvI,EAAK,aAAe,KAAK,WAC3B,OAEF,GAAIA,EAAK,OAAQ,CACfgG,EAAA,KAAK+yB,EAAAE,IAAL,UAA2Bj5B,GAC3B,OAEF,GAAIA,EAAK,SAAU,CACjB,MAAMk5B,EAAal5B,EAAK,WAClBm5B,EAAa,KAAK,qBAAqBD,CAAU,EACvD,GAAI,CAACC,EACH,MAAM,IAAI,MAAM,2BAA2BD,GAAY,EAGzD,GADA,OAAO,KAAK,qBAAqBA,CAAU,EACvCl5B,EAAK,WAAau4B,EAAa,KACjCY,EAAW,QAAQn5B,EAAK,IAAI,UACnBA,EAAK,WAAau4B,EAAa,MACxCY,EAAW,OAAOV,EAAWz4B,EAAK,MAAM,CAAC,MAEzC,OAAM,IAAI,MAAM,0BAA0B,EAE5C,OAEF,MAAMo5B,EAAS,KAAK,cAAcp5B,EAAK,MAAM,EAC7C,GAAI,CAACo5B,EACH,MAAM,IAAI,MAAM,+BAA+Bp5B,EAAK,QAAQ,EAE9D,GAAIA,EAAK,WAAY,CACnB,MAAMq5B,EAAe,KAAK,WACpBC,EAAet5B,EAAK,WAC1B,IAAI,QAAQ,SAAUF,EAAS,CAC7BA,EAAQs5B,EAAOp5B,EAAK,IAAI,CAAC,CACnC,CAAS,EAAE,KAAK,SAAUu5B,EAAQ,CACxBV,EAAO,YAAY,CACjB,WAAYQ,EACZ,WAAYC,EACZ,SAAUf,EAAa,KACvB,WAAYv4B,EAAK,WACjB,KAAMu5B,CAClB,CAAW,CACF,EAAE,SAAUr5B,EAAQ,CACnB24B,EAAO,YAAY,CACjB,WAAYQ,EACZ,WAAYC,EACZ,SAAUf,EAAa,MACvB,WAAYv4B,EAAK,WACjB,OAAQy4B,EAAWv4B,CAAM,CACrC,CAAW,CACX,CAAS,EACD,OAEF,GAAIF,EAAK,SAAU,CACjBgG,EAAA,KAAK8yB,EAAAU,IAAL,UAAuBx5B,GACvB,OAEFo5B,EAAOp5B,EAAK,IAAI,CACtB,EACI64B,EAAO,iBAAiB,UAAW,KAAK,kBAAkB,CAC3D,CACD,GAAGY,EAAYC,EAAS,CACtB,MAAMC,EAAK,KAAK,cAChB,GAAIA,EAAGF,CAAU,EACf,MAAM,IAAI,MAAM,0CAA0CA,IAAa,EAEzEE,EAAGF,CAAU,EAAIC,CAClB,CACD,KAAKD,EAAYz5B,EAAM45B,EAAW,CAChC,KAAK,OAAO,YAAY,CACtB,WAAY,KAAK,WACjB,WAAY,KAAK,WACjB,OAAQH,EACR,KAAAz5B,CACD,EAAE45B,CAAS,CACb,CACD,gBAAgBH,EAAYz5B,EAAM45B,EAAW,CAC3C,MAAMV,EAAa,KAAK,aAClBC,EAAa,IAAIhtB,EAAM,kBAC7B,KAAK,qBAAqB+sB,CAAU,EAAIC,EACxC,GAAI,CACF,KAAK,OAAO,YAAY,CACtB,WAAY,KAAK,WACjB,WAAY,KAAK,WACjB,OAAQM,EACR,WAAAP,EACA,KAAAl5B,CACD,EAAE45B,CAAS,CACb,OAAQv6B,EAAP,CACA85B,EAAW,OAAO95B,CAAE,CACrB,CACD,OAAO85B,EAAW,OACnB,CACD,eAAeM,EAAYz5B,EAAM65B,EAAkBD,EAAW,CAC5D,MAAME,EAAW,KAAK,WACpBnB,EAAa,KAAK,WAClBC,EAAa,KAAK,WAClBC,EAAS,KAAK,OAChB,OAAO,IAAI,eAAe,CACxB,MAAOkB,GAAc,CACnB,MAAMC,EAAkB,IAAI7tB,EAAM,kBAClC,YAAK,kBAAkB2tB,CAAQ,EAAI,CACjC,WAAAC,EACA,UAAWC,EACX,SAAU,KACV,WAAY,KACZ,SAAU,EACpB,EACQnB,EAAO,YAAY,CACjB,WAAAF,EACA,WAAAC,EACA,OAAQa,EACR,SAAAK,EACA,KAAA95B,EACA,YAAa+5B,EAAW,WACzB,EAAEH,CAAS,EACLI,EAAgB,OACxB,EACD,KAAMD,GAAc,CAClB,MAAME,EAAiB,IAAI9tB,EAAM,kBACjC,YAAK,kBAAkB2tB,CAAQ,EAAE,SAAWG,EAC5CpB,EAAO,YAAY,CACjB,WAAAF,EACA,WAAAC,EACA,OAAQJ,GAAW,KACnB,SAAAsB,EACA,YAAaC,EAAW,WAClC,CAAS,EACME,EAAe,OACvB,EACD,OAAQ/5B,GAAU,IACZiM,EAAM,QAAQjM,aAAkB,MAAO,iCAAiC,EAC5E,MAAMg6B,EAAmB,IAAI/tB,EAAM,kBACnC,YAAK,kBAAkB2tB,CAAQ,EAAE,WAAaI,EAC9C,KAAK,kBAAkBJ,CAAQ,EAAE,SAAW,GAC5CjB,EAAO,YAAY,CACjB,WAAAF,EACA,WAAAC,EACA,OAAQJ,GAAW,OACnB,SAAAsB,EACA,OAAQrB,EAAWv4B,CAAM,CACnC,CAAS,EACMg6B,EAAiB,OACzB,CACF,EAAEL,CAAgB,CACpB,CA6MD,SAAU,CACR,KAAK,OAAO,oBAAoB,UAAW,KAAK,kBAAkB,CACnE,CACF,CA/MCf,EAAA,YAAAU,GAAiB,SAACx5B,EAAM,CACtB,MAAM85B,EAAW95B,EAAK,SACpB24B,EAAa,KAAK,WAClBC,EAAa54B,EAAK,WAClB64B,EAAS,KAAK,OACVhoB,EAAO,KACXuoB,EAAS,KAAK,cAAcp5B,EAAK,MAAM,EACnCm6B,EAAa,CACjB,QAAQ7+B,EAAOokB,EAAO,EAAGka,EAAW,CAClC,GAAI,KAAK,YACP,OAEF,MAAMQ,EAAkB,KAAK,YAC7B,KAAK,aAAe1a,EAChB0a,EAAkB,GAAK,KAAK,aAAe,IAC7C,KAAK,eAAiB,IAAIjuB,EAAM,kBAChC,KAAK,MAAQ,KAAK,eAAe,SAEnC0sB,EAAO,YAAY,CACjB,WAAAF,EACA,WAAAC,EACA,OAAQJ,GAAW,QACnB,SAAAsB,EACA,MAAAx+B,CACD,EAAEs+B,CAAS,CACb,EACD,OAAQ,CACF,KAAK,cAGT,KAAK,YAAc,GACnBf,EAAO,YAAY,CACjB,WAAAF,EACA,WAAAC,EACA,OAAQJ,GAAW,MACnB,SAAAsB,CACV,CAAS,EACD,OAAOjpB,EAAK,YAAYipB,CAAQ,EACjC,EACD,MAAM55B,EAAQ,IACRiM,EAAM,QAAQjM,aAAkB,MAAO,gCAAgC,EACvE,MAAK,cAGT,KAAK,YAAc,GACnB24B,EAAO,YAAY,CACjB,WAAAF,EACA,WAAAC,EACA,OAAQJ,GAAW,MACnB,SAAAsB,EACA,OAAQrB,EAAWv4B,CAAM,CACnC,CAAS,EACF,EACD,eAAgB,IAAIiM,EAAM,kBAC1B,OAAQ,KACR,SAAU,KACV,YAAa,GACb,YAAanM,EAAK,YAClB,MAAO,IACb,EACIm6B,EAAW,eAAe,UAC1BA,EAAW,MAAQA,EAAW,eAAe,QAC7C,KAAK,YAAYL,CAAQ,EAAIK,EAC7B,IAAI,QAAQ,SAAUr6B,EAAS,CAC7BA,EAAQs5B,EAAOp5B,EAAK,KAAMm6B,CAAU,CAAC,CAC3C,CAAK,EAAE,KAAK,UAAY,CAClBtB,EAAO,YAAY,CACjB,WAAAF,EACA,WAAAC,EACA,OAAQJ,GAAW,eACnB,SAAAsB,EACA,QAAS,EACjB,CAAO,CACF,EAAE,SAAU55B,EAAQ,CACnB24B,EAAO,YAAY,CACjB,WAAAF,EACA,WAAAC,EACA,OAAQJ,GAAW,eACnB,SAAAsB,EACA,OAAQrB,EAAWv4B,CAAM,CACjC,CAAO,CACP,CAAK,CACF,EACD64B,EAAA,YAAAE,GAAqB,SAACj5B,EAAM,CAC1B,MAAM85B,EAAW95B,EAAK,SACpB24B,EAAa,KAAK,WAClBC,EAAa54B,EAAK,WAClB64B,EAAS,KAAK,OACVwB,EAAmB,KAAK,kBAAkBP,CAAQ,EACtDK,EAAa,KAAK,YAAYL,CAAQ,EACxC,OAAQ95B,EAAK,OAAM,CACjB,KAAKw4B,GAAW,eACVx4B,EAAK,QACPq6B,EAAiB,UAAU,UAE3BA,EAAiB,UAAU,OAAO5B,EAAWz4B,EAAK,MAAM,CAAC,EAE3D,MACF,KAAKw4B,GAAW,cACVx4B,EAAK,QACPq6B,EAAiB,SAAS,UAE1BA,EAAiB,SAAS,OAAO5B,EAAWz4B,EAAK,MAAM,CAAC,EAE1D,MACF,KAAKw4B,GAAW,KACd,GAAI,CAAC2B,EAAY,CACftB,EAAO,YAAY,CACjB,WAAAF,EACA,WAAAC,EACA,OAAQJ,GAAW,cACnB,SAAAsB,EACA,QAAS,EACrB,CAAW,EACD,MAEEK,EAAW,aAAe,GAAKn6B,EAAK,YAAc,GACpDm6B,EAAW,eAAe,UAE5BA,EAAW,YAAcn6B,EAAK,YAC9B,IAAI,QAAQ,SAAUF,EAAS,OAC7BA,GAAQ+D,EAAAs2B,EAAW,SAAX,YAAAt2B,EAAA,KAAAs2B,EAAqB,CACvC,CAAS,EAAE,KAAK,UAAY,CAClBtB,EAAO,YAAY,CACjB,WAAAF,EACA,WAAAC,EACA,OAAQJ,GAAW,cACnB,SAAAsB,EACA,QAAS,EACrB,CAAW,CACF,EAAE,SAAU55B,EAAQ,CACnB24B,EAAO,YAAY,CACjB,WAAAF,EACA,WAAAC,EACA,OAAQJ,GAAW,cACnB,SAAAsB,EACA,OAAQrB,EAAWv4B,CAAM,CACrC,CAAW,CACX,CAAS,EACD,MACF,KAAKs4B,GAAW,QAEd,MADIrsB,EAAM,QAAQkuB,EAAkB,uCAAuC,EACvEA,EAAiB,SACnB,MAEFA,EAAiB,WAAW,QAAQr6B,EAAK,KAAK,EAC9C,MACF,KAAKw4B,GAAW,MAEd,MADIrsB,EAAM,QAAQkuB,EAAkB,qCAAqC,EACrEA,EAAiB,SACnB,MAEFA,EAAiB,SAAW,GAC5BA,EAAiB,WAAW,QAC5Br0B,EAAA,KAAKgzB,EAAAsB,IAAL,UAA6BD,EAAkBP,GAC/C,MACF,KAAKtB,GAAW,SACVrsB,EAAM,QAAQkuB,EAAkB,qCAAqC,EACzEA,EAAiB,WAAW,MAAM5B,EAAWz4B,EAAK,MAAM,CAAC,EACzDgG,EAAA,KAAKgzB,EAAAsB,IAAL,UAA6BD,EAAkBP,GAC/C,MACF,KAAKtB,GAAW,gBACVx4B,EAAK,QACPq6B,EAAiB,WAAW,UAE5BA,EAAiB,WAAW,OAAO5B,EAAWz4B,EAAK,MAAM,CAAC,EAE5DgG,EAAA,KAAKgzB,EAAAsB,IAAL,UAA6BD,EAAkBP,GAC/C,MACF,KAAKtB,GAAW,OACd,GAAI,CAAC2B,EACH,MAEF,IAAI,QAAQ,SAAUr6B,EAAS,OAC7BA,GAAQ+D,EAAAs2B,EAAW,WAAX,YAAAt2B,EAAA,KAAAs2B,EAAsB1B,EAAWz4B,EAAK,MAAM,EAAE,CAChE,CAAS,EAAE,KAAK,UAAY,CAClB64B,EAAO,YAAY,CACjB,WAAAF,EACA,WAAAC,EACA,OAAQJ,GAAW,gBACnB,SAAAsB,EACA,QAAS,EACrB,CAAW,CACF,EAAE,SAAU55B,EAAQ,CACnB24B,EAAO,YAAY,CACjB,WAAAF,EACA,WAAAC,EACA,OAAQJ,GAAW,gBACnB,SAAAsB,EACA,OAAQrB,EAAWv4B,CAAM,CACrC,CAAW,CACX,CAAS,EACDi6B,EAAW,eAAe,OAAO1B,EAAWz4B,EAAK,MAAM,CAAC,EACxDm6B,EAAW,YAAc,GACzB,OAAO,KAAK,YAAYL,CAAQ,EAChC,MACF,QACE,MAAM,IAAI,MAAM,wBAAwB,CAC3C,CACF,EACKd,EAAA,YAAAsB,GAAuB,eAACD,EAAkBP,EAAU,WACxD,MAAM,QAAQ,WAAW,EAACj2B,EAAAw2B,EAAiB,YAAjB,YAAAx2B,EAA4B,SAASkC,EAAAs0B,EAAiB,WAAjB,YAAAt0B,EAA2B,SAASK,EAAAi0B,EAAiB,aAAjB,YAAAj0B,EAA6B,OAAO,CAAC,EACxI,OAAO,KAAK,kBAAkB0zB,CAAQ,CACvC,EAKH1jC,EAAQ,eAAiBsiC,CAElB,EAEA,CAACviC,EAAyBC,EAAS8V,IAAwB,UAIlE,OAAO,eAAe9V,EAAS,aAAe,CAC5C,MAAO,EACT,GACAA,EAAQ,SAAW,OACnB,IAAI+V,EAAQD,EAAoB,CAAC,EACjC,MAAMquB,CAAS,CAGb,YAAY,CACV,WAAAC,EACA,QAAAC,CACJ,EAAK,CALH76B,EAAA,KAAA86B,GAAA,QACA96B,EAAA,KAAA+6B,EAAA,QAKE16B,GAAA,KAAKy6B,GAAeF,GACpBv6B,GAAA,KAAK06B,EAAQF,EACd,CACD,QAAS,CACP,OAAOt6B,EAAA,KAAKw6B,EACb,CACD,IAAItgC,EAAM,CACR,OAAO8F,EAAA,KAAKu6B,IAAa,IAAIrgC,CAAI,GAAK,IACvC,CACD,QAAS,CACP,SAAW8R,EAAM,eAAehM,EAAA,KAAKu6B,GAAY,CAClD,CACD,IAAIrgC,EAAM,CACR,OAAO8F,EAAA,KAAKu6B,IAAa,IAAIrgC,CAAI,CAClC,CACF,CArBCqgC,GAAA,YACAC,EAAA,YAqBFvkC,EAAQ,SAAWmkC,CAEZ,EAEA,CAACpkC,EAAyBC,EAAS8V,IAAwB,oBAIlE,OAAO,eAAe9V,EAAS,aAAe,CAC5C,MAAO,EACT,GACAA,EAAQ,sBAAwB,OAChC,IAAI+V,EAAQD,EAAoB,CAAC,EAC7BG,EAAcH,EAAoB,CAAC,EACvC,MAAM0uB,GAAW,OAAO,UAAU,EAClC,MAAMC,CAAqB,CAEzB,YAAYxgC,EAAMgL,EAAQ,CAD1BzF,EAAA,KAAAk7B,EAAW,IAET,KAAK,KAAOzgC,EACZ,KAAK,OAASgL,CACf,CACD,IAAI,SAAU,CACZ,OAAOlF,EAAA,KAAK26B,EACb,CACD,YAAYC,EAAUC,EAAS,CACzBD,IAAaH,OACXzuB,EAAM,aAAa,uCAAuC,EAEhElM,GAAA,KAAK66B,EAAWE,EACjB,CACF,CAdCF,EAAA,YAeF,MAAMG,CAAsB,CAK1B,YAAYj7B,EAAM,CAyBlBJ,EAAA,KAAAs7B,GA7BAt7B,EAAA,KAAAu7B,EAAiB,MACjBv7B,EAAA,KAAAw7B,EAAU,IAAI,KACdx7B,EAAA,KAAAy7B,EAAe,MACfz7B,EAAA,KAAA07B,EAAS,MAIP,GAFA,KAAK,KAAO,KACZ,KAAK,QAAU,KACXt7B,IAAS,KAGb,MAAK,KAAOA,EAAK,KACjB,KAAK,QAAUA,EAAK,QACpBC,GAAA,KAAKq7B,EAASt7B,EAAK,OACnB,UAAWmwB,KAASnwB,EAAK,OACvBG,EAAA,KAAKi7B,GAAQ,IAAIjL,EAAM,GAAI,IAAI0K,EAAqB1K,EAAM,KAAMA,EAAM,MAAM,CAAC,EAE/E,GAAInwB,EAAK,YAAc,MACrB,UAAWmwB,KAAShwB,EAAA,KAAKi7B,GAAQ,OAAM,EACrCjL,EAAM,YAAYyK,GAAU,EAAK,EAGrC,UAAWW,KAAMv7B,EAAK,GACpBG,EAAA,KAAKi7B,GAAQ,IAAIG,CAAE,EAAE,YAAYX,GAAU,EAAI,EAEjD,UAAWY,KAAOx7B,EAAK,IACrBG,EAAA,KAAKi7B,GAAQ,IAAII,CAAG,EAAE,YAAYZ,GAAU,EAAK,EAEnD36B,GAAA,KAAKo7B,EAAe,KAAK,WAC1B,CAqCD,UAAUlL,EAAO,CACf,GAAIhwB,EAAA,KAAKi7B,GAAQ,OAAS,EACxB,MAAO,GAET,GAAI,CAACjL,EACH,SAAIhkB,EAAM,MAAM,qCAAqC,EAC9C,GAET,GAAIgkB,EAAM,OAAS,MACjB,OAAKhwB,EAAA,KAAKi7B,GAAQ,IAAIjL,EAAM,EAAE,EAIvBhwB,EAAA,KAAKi7B,GAAQ,IAAIjL,EAAM,EAAE,EAAE,YAH5BhkB,EAAM,MAAM,qCAAqCgkB,EAAM,IAAI,EACxD,IAGJ,GAAIA,EAAM,OAAS,OAAQ,CAChC,GAAIA,EAAM,WACR,OAAOnqB,EAAA,KAAKk1B,EAAAO,IAAL,UAAmCtL,EAAM,YAElD,GAAI,CAACA,EAAM,QAAUA,EAAM,SAAW,QAAS,CAC7C,UAAW1rB,KAAM0rB,EAAM,IAAK,CAC1B,GAAI,CAAChwB,EAAA,KAAKi7B,GAAQ,IAAI32B,CAAE,EACtB,SAAI0H,EAAM,MAAM,qCAAqC1H,GAAI,EAClD,GAET,GAAItE,EAAA,KAAKi7B,GAAQ,IAAI32B,CAAE,EAAE,QACvB,MAAO,GAGX,MAAO,WACE0rB,EAAM,SAAW,QAAS,CACnC,UAAW1rB,KAAM0rB,EAAM,IAAK,CAC1B,GAAI,CAAChwB,EAAA,KAAKi7B,GAAQ,IAAI32B,CAAE,EACtB,SAAI0H,EAAM,MAAM,qCAAqC1H,GAAI,EAClD,GAET,GAAI,CAACtE,EAAA,KAAKi7B,GAAQ,IAAI32B,CAAE,EAAE,QACxB,MAAO,GAGX,MAAO,WACE0rB,EAAM,SAAW,SAAU,CACpC,UAAW1rB,KAAM0rB,EAAM,IAAK,CAC1B,GAAI,CAAChwB,EAAA,KAAKi7B,GAAQ,IAAI32B,CAAE,EACtB,SAAI0H,EAAM,MAAM,qCAAqC1H,GAAI,EAClD,GAET,GAAI,CAACtE,EAAA,KAAKi7B,GAAQ,IAAI32B,CAAE,EAAE,QACxB,MAAO,GAGX,MAAO,WACE0rB,EAAM,SAAW,SAAU,CACpC,UAAW1rB,KAAM0rB,EAAM,IAAK,CAC1B,GAAI,CAAChwB,EAAA,KAAKi7B,GAAQ,IAAI32B,CAAE,EACtB,SAAI0H,EAAM,MAAM,qCAAqC1H,GAAI,EAClD,GAET,GAAItE,EAAA,KAAKi7B,GAAQ,IAAI32B,CAAE,EAAE,QACvB,MAAO,GAGX,MAAO,GAET,SAAI0H,EAAM,MAAM,mCAAmCgkB,EAAM,SAAS,EAC3D,GAET,SAAIhkB,EAAM,MAAM,sBAAsBgkB,EAAM,OAAO,EAC5C,EACR,CACD,cAAc1rB,EAAIu2B,EAAU,GAAM,CAChC,GAAI,CAAC76B,EAAA,KAAKi7B,GAAQ,IAAI32B,CAAE,EAAG,IACrB0H,EAAM,MAAM,qCAAqC1H,GAAI,EACzD,OAEFtE,EAAA,KAAKi7B,GAAQ,IAAI32B,CAAE,EAAE,YAAYm2B,GAAU,CAAC,CAACI,CAAO,EACpD/6B,GAAA,KAAKk7B,EAAiB,KACvB,CACD,IAAI,sBAAuB,CACzB,OAAO,KAAK,YAAch7B,EAAA,KAAKk7B,EAChC,CACD,UAAW,CACT,OAAKl7B,EAAA,KAAKi7B,GAAQ,KAGdj7B,EAAA,KAAKm7B,GACAn7B,EAAA,KAAKm7B,GAAO,QAEd,CAAC,GAAGn7B,EAAA,KAAKi7B,GAAQ,KAAM,CAAA,EALrB,IAMV,CACD,WAAY,CACV,OAAOj7B,EAAA,KAAKi7B,GAAQ,KAAO,KAAQjvB,EAAM,eAAehM,EAAA,KAAKi7B,EAAO,EAAI,IACzE,CACD,SAAS32B,EAAI,CACX,OAAOtE,EAAA,KAAKi7B,GAAQ,IAAI32B,CAAE,GAAK,IAChC,CACD,SAAU,CACR,GAAItE,EAAA,KAAKg7B,KAAmB,KAC1B,OAAOh7B,EAAA,KAAKg7B,GAEd,MAAMluB,EAAO,IAAIZ,EAAY,eAC7B,SAAW,CAAC5H,EAAI0rB,CAAK,IAAKhwB,EAAA,KAAKi7B,GAC7BnuB,EAAK,OAAO,GAAGxI,KAAM0rB,EAAM,SAAS,EAEtC,OAAOlwB,GAAA,KAAKk7B,EAAiBluB,EAAK,UAAS,EAC5C,CACF,CA1KCkuB,EAAA,YACAC,EAAA,YACAC,EAAA,YACAC,EAAA,YA0BAJ,EAAA,YAAAO,GAA6B,SAACC,EAAO,CACnC,MAAMzgC,EAASygC,EAAM,OACrB,GAAIzgC,EAAS,EACX,MAAO,GAET,MAAM0gC,EAAWD,EAAM,CAAC,EACxB,QAAStgC,EAAI,EAAGA,EAAIH,EAAQG,IAAK,CAC/B,MAAMkU,EAAUosB,EAAMtgC,CAAC,EACvB,IAAIwgC,EACJ,GAAI,MAAM,QAAQtsB,CAAO,EACvBssB,EAAQ51B,EAAA,KAAKk1B,EAAAO,IAAL,UAAmCnsB,WAClCnP,EAAA,KAAKi7B,GAAQ,IAAI9rB,CAAO,EACjCssB,EAAQz7B,EAAA,KAAKi7B,GAAQ,IAAI9rB,CAAO,EAAE,YAElC,UAAInD,EAAM,MAAM,qCAAqCmD,GAAS,EACvD,GAET,OAAQqsB,EAAQ,CACd,IAAK,MACH,GAAI,CAACC,EACH,MAAO,GAET,MACF,IAAK,KACH,GAAIA,EACF,MAAO,GAET,MACF,IAAK,MACH,MAAO,CAACA,EACV,QACE,MAAO,EACV,EAEH,OAAOD,IAAa,KACrB,EA2GHvlC,EAAQ,sBAAwB6kC,CAEzB,EAEA,CAAC9kC,EAAyBC,EAAS8V,IAAwB,CAIlE,OAAO,eAAe9V,EAAS,aAAe,CAC5C,MAAO,EACT,GACAA,EAAQ,uBAAyB,OACjC,IAAI+V,EAAQD,EAAoB,CAAC,EAC7BmD,EAAiBnD,EAAoB,CAAC,EAC1C,MAAM2vB,EAAuB,CAC3B,YAAY,CACV,OAAA5gC,EACA,YAAA6I,EACA,gBAAAC,EAAkB,GAClB,2BAAAC,EAA6B,KAC7B,aAAA3B,EAAe,GACf,cAAAC,EAAgB,EACjB,EAAEw5B,EAAuB,CAKxB,MAJI3vB,EAAM,QAAQ2vB,EAAuB,6EAA6E,EACtH,KAAK,cAAgB,GACrB,KAAK,iBAAmB/3B,EACxB,KAAK,4BAA8BC,GAC/BF,GAAA,YAAAA,EAAa,QAAS,EAAG,CAC3B,MAAM1E,EAAS0E,aAAuB,YAAcA,EAAY,aAAeA,EAAY,OAAO,WAAaA,EAAY,OAAS,IAAI,WAAWA,CAAW,EAAE,OAChK,KAAK,cAAc,KAAK1E,CAAM,EAEhC,KAAK,uBAAyB08B,EAC9B,KAAK,sBAAwB,CAACx5B,EAC9B,KAAK,kBAAoB,CAACD,EAC1B,KAAK,eAAiBpH,EACtB,KAAK,mBAAqB,KAC1B,KAAK,cAAgB,GACrB,KAAK,uBAAuB,iBAAiB,CAACiJ,EAAO5I,IAAU,CAC7D,KAAK,eAAe,CAClB,MAAA4I,EACA,MAAA5I,CACR,CAAO,CACP,CAAK,EACD,KAAK,uBAAuB,oBAAoB,CAAC6I,EAAQC,IAAU,CACjE,KAAK,YAAY,CACf,OAAAD,EACA,MAAAC,CACR,CAAO,CACP,CAAK,EACD,KAAK,uBAAuB,2BAA2B9I,GAAS,CAC9D,KAAK,eAAe,CAClB,MAAAA,CACR,CAAO,CACP,CAAK,EACD,KAAK,uBAAuB,2BAA2B,IAAM,CAC3D,KAAK,mBAAkB,CAC7B,CAAK,EACD,KAAK,uBAAuB,gBAC7B,CACD,eAAe,CACb,MAAA4I,EACA,MAAA5I,CACJ,EAAK,CACD,MAAM8D,EAAS9D,aAAiB,YAAcA,EAAM,aAAeA,EAAM,OAAO,WAAaA,EAAM,OAAS,IAAI,WAAWA,CAAK,EAAE,OAClI,GAAI4I,IAAU,OACR,KAAK,mBACP,KAAK,mBAAmB,SAAS9E,CAAM,EAEvC,KAAK,cAAc,KAAKA,CAAM,MAE3B,CACL,MAAM28B,EAAQ,KAAK,cAAc,KAAK,SAAU1xB,EAAa,CAC3D,OAAIA,EAAY,SAAWnG,EAClB,IAETmG,EAAY,SAASjL,CAAM,EACpB,GACf,CAAO,KACG+M,EAAM,QAAQ4vB,EAAO,yEAAyE,EAErG,CACD,IAAI,wBAAyB,OAC3B,QAAOl4B,EAAA,KAAK,qBAAL,YAAAA,EAAyB,UAAW,CAC5C,CACD,YAAYoG,EAAK,aACXA,EAAI,QAAU,QAChBlE,GAAAlC,EAAA,KAAK,cAAc,CAAC,IAApB,YAAAA,EAAuB,aAAvB,MAAAkC,EAAA,KAAAlC,EAAoC,CAClC,OAAQoG,EAAI,MACpB,IAEM+xB,GAAA51B,EAAA,KAAK,qBAAL,YAAAA,EAAyB,aAAzB,MAAA41B,EAAA,KAAA51B,EAAsC,CACpC,OAAQ6D,EAAI,OACZ,MAAOA,EAAI,KACnB,EAEG,CACD,oBAAqB,QACnBpG,EAAA,KAAK,qBAAL,MAAAA,EAAyB,kBACzB,KAAK,iBAAmB,EACzB,CACD,mBAAmBuD,EAAQ,CACzB,MAAMhM,EAAI,KAAK,cAAc,QAAQgM,CAAM,EACvChM,GAAK,GACP,KAAK,cAAc,OAAOA,EAAG,CAAC,CAEjC,CACD,eAAgB,IACV+Q,EAAM,QAAQ,CAAC,KAAK,mBAAoB,+DAA+D,EAC3G,MAAM8vB,EAAe,KAAK,cAC1B,YAAK,cAAgB,KACd,IAAIC,EAA6B,KAAMD,EAAc,KAAK,iBAAkB,KAAK,2BAA2B,CACpH,CACD,eAAe/3B,EAAOG,EAAK,CACzB,GAAIA,GAAO,KAAK,uBACd,OAAO,KAET,MAAM+C,EAAS,IAAI+0B,EAAkC,KAAMj4B,EAAOG,CAAG,EACrE,YAAK,uBAAuB,iBAAiBH,EAAOG,CAAG,EACvD,KAAK,cAAc,KAAK+C,CAAM,EACvBA,CACR,CACD,kBAAkBlH,EAAQ,QACxB2D,EAAA,KAAK,qBAAL,MAAAA,EAAyB,OAAO3D,GAChC,UAAWkH,KAAU,KAAK,cAAc,MAAM,CAAC,EAC7CA,EAAO,OAAOlH,CAAM,EAEtB,KAAK,uBAAuB,OAC7B,CACF,CACD9J,EAAQ,uBAAyBylC,GACjC,MAAMK,CAA6B,CACjC,YAAYE,EAAQH,EAAcl4B,EAAkB,GAAOC,EAA6B,KAAM,CAC5F,KAAK,QAAUo4B,EACf,KAAK,MAAQr4B,GAAmB,GAChC,KAAK,aAAgBsL,EAAe,WAAWrL,CAA0B,EAAIA,EAA6B,KAC1G,KAAK,cAAgBi4B,GAAgB,GACrC,KAAK,QAAU,EACf,UAAW3gC,KAAS,KAAK,cACvB,KAAK,SAAWA,EAAM,WAExB,KAAK,UAAY,GACjB,KAAK,cAAgB,QAAQ,UAC7B8gC,EAAO,mBAAqB,KAC5B,KAAK,WAAa,IACnB,CACD,SAAS9gC,EAAO,CACV,KAAK,QAGL,KAAK,UAAU,OAAS,EACA,KAAK,UAAU,MAAK,EAC5B,QAAQ,CACxB,MAAOA,EACP,KAAM,EACd,CAAO,EAED,KAAK,cAAc,KAAKA,CAAK,EAE/B,KAAK,SAAWA,EAAM,WACvB,CACD,IAAI,cAAe,CACjB,OAAO,KAAK,aACb,CACD,IAAI,UAAW,CACb,OAAO,KAAK,SACb,CACD,IAAI,kBAAmB,CACrB,OAAO,KAAK,QAAQ,iBACrB,CACD,IAAI,sBAAuB,CACzB,OAAO,KAAK,QAAQ,qBACrB,CACD,IAAI,eAAgB,CAClB,OAAO,KAAK,QAAQ,cACrB,CACD,MAAM,MAAO,CACX,GAAI,KAAK,cAAc,OAAS,EAE9B,MAAO,CACL,MAFY,KAAK,cAAc,MAAK,EAGpC,KAAM,EACd,EAEI,GAAI,KAAK,MACP,MAAO,CACL,MAAO,OACP,KAAM,EACd,EAEI,MAAM+gC,EAAoB,IAAIlwB,EAAM,kBACpC,YAAK,UAAU,KAAKkwB,CAAiB,EAC9BA,EAAkB,OAC1B,CACD,OAAOn8B,EAAQ,CACb,KAAK,MAAQ,GACb,UAAWm8B,KAAqB,KAAK,UACnCA,EAAkB,QAAQ,CACxB,MAAO,OACP,KAAM,EACd,CAAO,EAEH,KAAK,UAAU,OAAS,CACzB,CACD,iBAAkB,CACZ,KAAK,QAGT,KAAK,MAAQ,GACd,CACF,CACD,MAAMF,CAAkC,CACtC,YAAYC,EAAQl4B,EAAOG,EAAK,CAC9B,KAAK,QAAU+3B,EACf,KAAK,OAASl4B,EACd,KAAK,KAAOG,EACZ,KAAK,aAAe,KACpB,KAAK,UAAY,GACjB,KAAK,MAAQ,GACb,KAAK,WAAa,IACnB,CACD,SAAS/I,EAAO,CACd,GAAI,MAAK,MAGT,IAAI,KAAK,UAAU,SAAW,EAC5B,KAAK,aAAeA,MACf,CACsB,KAAK,UAAU,MAAK,EAC5B,QAAQ,CACzB,MAAOA,EACP,KAAM,EACd,CAAO,EACD,UAAW+gC,KAAqB,KAAK,UACnCA,EAAkB,QAAQ,CACxB,MAAO,OACP,KAAM,EAChB,CAAS,EAEH,KAAK,UAAU,OAAS,EAE1B,KAAK,MAAQ,GACb,KAAK,QAAQ,mBAAmB,IAAI,EACrC,CACD,IAAI,sBAAuB,CACzB,MAAO,EACR,CACD,MAAM,MAAO,CACX,GAAI,KAAK,aAAc,CACrB,MAAM/gC,EAAQ,KAAK,aACnB,YAAK,aAAe,KACb,CACL,MAAOA,EACP,KAAM,EACd,EAEI,GAAI,KAAK,MACP,MAAO,CACL,MAAO,OACP,KAAM,EACd,EAEI,MAAM+gC,EAAoB,IAAIlwB,EAAM,kBACpC,YAAK,UAAU,KAAKkwB,CAAiB,EAC9BA,EAAkB,OAC1B,CACD,OAAOn8B,EAAQ,CACb,KAAK,MAAQ,GACb,UAAWm8B,KAAqB,KAAK,UACnCA,EAAkB,QAAQ,CACxB,MAAO,OACP,KAAM,EACd,CAAO,EAEH,KAAK,UAAU,OAAS,EACxB,KAAK,QAAQ,mBAAmB,IAAI,CACrC,CACF,CAEM,EAEA,CAAClmC,EAAyBC,IAAY,CAI7C,OAAO,eAAeA,EAAS,aAAe,CAC5C,MAAO,EACT,GACAA,EAAQ,QAAU,OAClB,MAAMkmC,CAAQ,CACZ,OAAO,YAAYr1B,EAAK,CACtB,MAAMs1B,GAAQ,CAAA,EACRC,EAAS,CACb,MAAAD,GACA,OAAQ,OAAO,OAAO,IAAI,CAChC,EACI,SAASE,EAAKC,EAAM,OAClB,GAAI,CAACA,EACH,OAEF,IAAInhC,EAAM,KACV,MAAMlB,EAAOqiC,EAAK,KAClB,GAAIriC,IAAS,QACXkB,EAAMmhC,EAAK,cACDJ,EAAQ,gBAAgBjiC,CAAI,GAE7BwJ,EAAA64B,GAAA,YAAAA,EAAM,aAAN,MAAA74B,EAAkB,YAC3BtI,EAAMmhC,EAAK,WAAW,YACbA,EAAK,QACdnhC,EAAMmhC,EAAK,WAJX,QAWF,GALInhC,IAAQ,MACVghC,GAAM,KAAK,CACT,IAAAhhC,CACV,CAAS,EAEC,EAACmhC,EAAK,SAGV,UAAWC,KAASD,EAAK,SACvBD,EAAKE,CAAK,CAEb,CACD,OAAAF,EAAKx1B,CAAG,EACDu1B,CACR,CACD,OAAO,gBAAgBniC,EAAM,CAC3B,MAAO,EAAEA,IAAS,YAAcA,IAAS,SAAWA,IAAS,UAAYA,IAAS,SACnF,CACF,CACDjE,EAAQ,QAAUkmC,CAEX,EAEA,CAACnmC,EAAyBC,EAAS8V,IAAwB,CAIlE,OAAO,eAAe9V,EAAS,aAAe,CAC5C,MAAO,EACT,GACAA,EAAQ,4BAA8BA,EAAQ,kBAAoBA,EAAQ,kBAAoBA,EAAQ,sBAAwB,OAC9H,IAAI0f,EAAgB5J,EAAoB,CAAC,EAEzC,MAAM0M,EAAY,SAAU9iB,EAAK,CAC/B,OAAO,IAAI,QAAQ,CAACgK,EAASC,IAAW,CAC3B68B,WACR,SAAS9mC,EAAK,CAACwQ,EAAOtG,IAAS,CAChC,GAAIsG,GAAS,CAACtG,EAAM,CAClBD,EAAO,IAAI,MAAMuG,CAAK,CAAC,EACvB,OAEFxG,EAAQ,IAAI,WAAWE,CAAI,CAAC,CAClC,CAAK,CACL,CAAG,CACH,EACA,MAAMS,WAA0BqV,EAAc,iBAAkB,CAAE,CAClE1f,EAAQ,kBAAoBqK,GAC5B,MAAMF,UAA0BuV,EAAc,iBAAkB,CAC9D,cAAc/K,EAAOC,EAAQ,CAE3B,OADe6xB,WACD,aAAa9xB,EAAOC,CAAM,CACzC,CACF,CACD5U,EAAQ,kBAAoBmK,EAC5B,MAAMC,UAA8BsV,EAAc,qBAAsB,CACtE,WAAWhgB,EAAKkjB,EAAiB,CAC/B,OAAOJ,EAAU9iB,CAAG,EAAE,KAAKkK,IAClB,CACL,SAAUA,EACV,gBAAAgZ,CACR,EACK,CACF,CACF,CACD5iB,EAAQ,sBAAwBoK,EAChC,MAAME,UAAoCoV,EAAc,2BAA4B,CAClF,WAAWhgB,EAAK,CACd,OAAO8iB,EAAU9iB,CAAG,CACrB,CACF,CACDM,EAAQ,4BAA8BsK,CAE/B,EAEA,CAACvK,EAAyBC,EAAS8V,IAAwB,CAIlE,OAAO,eAAe9V,EAAS,aAAe,CAC5C,MAAO,EACT,GACAA,EAAQ,cAAgB,OACxB,IAAI+V,EAAQD,EAAoB,CAAC,EAC7B4wB,EAAiB5wB,EAAoB,EAAE,EAE3C,MAAM6wB,GAAKH,WACLI,EAAOC,WACPC,EAAQC,WACRrnC,EAAMsnC,WACNC,EAAe,0BACrB,SAASC,EAASC,EAAW,CAC3B,MAAMC,EAAY1nC,EAAI,MAAMynC,CAAS,EACrC,OAAIC,EAAU,WAAa,SAAWA,EAAU,KACvCA,EAEL,gBAAgB,KAAKD,CAAS,EACzBznC,EAAI,MAAM,WAAWynC,GAAW,GAEpCC,EAAU,OACbA,EAAU,SAAW,SAEhBA,EACR,CACD,MAAM78B,CAAc,CAClB,YAAY6C,EAAQ,CAClB,KAAK,OAASA,EACd,KAAK,IAAM85B,EAAS95B,EAAO,GAAG,EAC9B,KAAK,OAAS,KAAK,IAAI,WAAa,SAAW,KAAK,IAAI,WAAa,SACrE,KAAK,QAAU,KAAK,IAAI,WAAa,QACrC,KAAK,YAAc,KAAK,QAAUA,EAAO,aAAe,GACxD,KAAK,mBAAqB,KAC1B,KAAK,qBAAuB,EAC7B,CACD,IAAI,wBAAyB,OAC3B,QAAOK,EAAA,KAAK,qBAAL,YAAAA,EAAyB,UAAW,CAC5C,CACD,eAAgB,CACd,SAAIsI,EAAM,QAAQ,CAAC,KAAK,mBAAoB,sDAAsD,EAClG,KAAK,mBAAqB,KAAK,QAAU,IAAIsxB,EAA0B,IAAI,EAAI,IAAIC,EAAwB,IAAI,EACxG,KAAK,kBACb,CACD,eAAevlB,EAAO9T,EAAK,CACzB,GAAIA,GAAO,KAAK,uBACd,OAAO,KAET,MAAMgG,EAAc,KAAK,QAAU,IAAIszB,EAA2B,KAAMxlB,EAAO9T,CAAG,EAAI,IAAIu5B,EAAyB,KAAMzlB,EAAO9T,CAAG,EACnI,YAAK,qBAAqB,KAAKgG,CAAW,EACnCA,CACR,CACD,kBAAkBnK,EAAQ,QACxB2D,EAAA,KAAK,qBAAL,MAAAA,EAAyB,OAAO3D,GAChC,UAAWkH,KAAU,KAAK,qBAAqB,MAAM,CAAC,EACpDA,EAAO,OAAOlH,CAAM,CAEvB,CACF,CACD9J,EAAQ,cAAgBuK,EACxB,MAAMk9B,CAAe,CACnB,YAAYzB,EAAQ,CAClB,KAAK,KAAOA,EAAO,IACnB,KAAK,MAAQ,GACb,KAAK,aAAe,KACpB,KAAK,WAAa,KAClB,MAAM54B,EAAS44B,EAAO,OACtB,KAAK,eAAiB54B,EAAO,OAC7B,KAAK,QAAU,EACf,KAAK,UAAY,KACjB,KAAK,cAAgBA,EAAO,cAAgB,GAC5C,KAAK,gBAAkBA,EAAO,eAC1B,CAAC,KAAK,iBAAmB,CAAC,KAAK,gBACjC,KAAK,cAAgB,IAEvB,KAAK,sBAAwB,CAACA,EAAO,cACrC,KAAK,kBAAoB,CAACA,EAAO,aACjC,KAAK,gBAAkB,KACvB,KAAK,gBAAkB,IAAI2I,EAAM,kBACjC,KAAK,mBAAqB,IAAIA,EAAM,iBACrC,CACD,IAAI,cAAe,CACjB,OAAO,KAAK,mBAAmB,OAChC,CACD,IAAI,UAAW,CACb,OAAO,KAAK,SACb,CACD,IAAI,eAAgB,CAClB,OAAO,KAAK,cACb,CACD,IAAI,kBAAmB,CACrB,OAAO,KAAK,iBACb,CACD,IAAI,sBAAuB,CACzB,OAAO,KAAK,qBACb,CACD,MAAM,MAAO,OAEX,GADA,MAAM,KAAK,gBAAgB,QACvB,KAAK,MACP,MAAO,CACL,MAAO,OACP,KAAM,EACd,EAEI,GAAI,KAAK,aACP,MAAM,KAAK,aAEb,MAAM7Q,EAAQ,KAAK,gBAAgB,KAAI,EACvC,OAAIA,IAAU,MACZ,KAAK,gBAAkB,IAAI6Q,EAAM,kBAC1B,KAAK,SAEd,KAAK,SAAW7Q,EAAM,QACtBuI,EAAA,KAAK,aAAL,MAAAA,EAAA,UAAkB,CAChB,OAAQ,KAAK,QACb,MAAO,KAAK,cAClB,GAEW,CACL,MAFa,IAAI,WAAWvI,CAAK,EAAE,OAGnC,KAAM,EACZ,EACG,CACD,OAAO4E,EAAQ,CACb,GAAI,CAAC,KAAK,gBAAiB,CACzB,KAAK,OAAOA,CAAM,EAClB,OAEF,KAAK,gBAAgB,QAAQA,CAAM,CACpC,CACD,OAAOA,EAAQ,CACb,KAAK,aAAeA,EACpB,KAAK,gBAAgB,SACtB,CACD,mBAAmBgH,EAAgB,CACjC,KAAK,gBAAkBA,EACvBA,EAAe,GAAG,WAAY,IAAM,CAClC,KAAK,gBAAgB,SAC3B,CAAK,EACDA,EAAe,GAAG,MAAO,IAAM,CAC7BA,EAAe,QAAO,EACtB,KAAK,MAAQ,GACb,KAAK,gBAAgB,SAC3B,CAAK,EACDA,EAAe,GAAG,QAAShH,GAAU,CACnC,KAAK,OAAOA,CAAM,CACxB,CAAK,EACG,CAAC,KAAK,uBAAyB,KAAK,mBACtC,KAAK,OAAO,IAAIiM,EAAM,eAAe,uBAAuB,CAAC,EAE3D,KAAK,cACP,KAAK,gBAAgB,QAAQ,KAAK,YAAY,CAEjD,CACF,CACD,MAAM2xB,CAAgB,CACpB,YAAY1B,EAAQ,CAClB,KAAK,KAAOA,EAAO,IACnB,KAAK,MAAQ,GACb,KAAK,aAAe,KACpB,KAAK,WAAa,KAClB,KAAK,QAAU,EACf,KAAK,gBAAkB,KACvB,KAAK,gBAAkB,IAAIjwB,EAAM,kBACjC,MAAM3I,EAAS44B,EAAO,OACtB,KAAK,sBAAwB,CAAC54B,EAAO,aACtC,CACD,IAAI,sBAAuB,CACzB,OAAO,KAAK,qBACb,CACD,MAAM,MAAO,OAEX,GADA,MAAM,KAAK,gBAAgB,QACvB,KAAK,MACP,MAAO,CACL,MAAO,OACP,KAAM,EACd,EAEI,GAAI,KAAK,aACP,MAAM,KAAK,aAEb,MAAMlI,EAAQ,KAAK,gBAAgB,KAAI,EACvC,OAAIA,IAAU,MACZ,KAAK,gBAAkB,IAAI6Q,EAAM,kBAC1B,KAAK,SAEd,KAAK,SAAW7Q,EAAM,QACtBuI,EAAA,KAAK,aAAL,MAAAA,EAAA,UAAkB,CAChB,OAAQ,KAAK,OACnB,GAEW,CACL,MAFa,IAAI,WAAWvI,CAAK,EAAE,OAGnC,KAAM,EACZ,EACG,CACD,OAAO4E,EAAQ,CACb,GAAI,CAAC,KAAK,gBAAiB,CACzB,KAAK,OAAOA,CAAM,EAClB,OAEF,KAAK,gBAAgB,QAAQA,CAAM,CACpC,CACD,OAAOA,EAAQ,CACb,KAAK,aAAeA,EACpB,KAAK,gBAAgB,SACtB,CACD,mBAAmBgH,EAAgB,CACjC,KAAK,gBAAkBA,EACvBA,EAAe,GAAG,WAAY,IAAM,CAClC,KAAK,gBAAgB,SAC3B,CAAK,EACDA,EAAe,GAAG,MAAO,IAAM,CAC7BA,EAAe,QAAO,EACtB,KAAK,MAAQ,GACb,KAAK,gBAAgB,SAC3B,CAAK,EACDA,EAAe,GAAG,QAAShH,GAAU,CACnC,KAAK,OAAOA,CAAM,CACxB,CAAK,EACG,KAAK,cACP,KAAK,gBAAgB,QAAQ,KAAK,YAAY,CAEjD,CACF,CACD,SAAS69B,EAAqBP,EAAWQ,EAAS,CAChD,MAAO,CACL,SAAUR,EAAU,SACpB,KAAMA,EAAU,KAChB,KAAMA,EAAU,SAChB,KAAMA,EAAU,KAChB,KAAMA,EAAU,KAChB,OAAQ,MACR,QAAAQ,CACJ,CACC,CACD,MAAMN,UAAgCG,CAAe,CACnD,YAAYzB,EAAQ,CAClB,MAAMA,CAAM,EACZ,MAAM6B,EAAiBjoC,GAAY,CACjC,GAAIA,EAAS,aAAe,IAAK,CAC/B,MAAMsQ,EAAQ,IAAI6F,EAAM,oBAAoB,gBAAgB,KAAK,QAAQ,EACzE,KAAK,aAAe7F,EACpB,KAAK,mBAAmB,OAAOA,CAAK,EACpC,OAEF,KAAK,mBAAmB,UACxB,KAAK,mBAAmBtQ,CAAQ,EAChC,MAAMkoC,EAAoB7jC,GACjB,KAAK,gBAAgB,QAAQA,EAAK,YAAa,CAAA,EAElD,CACJ,mBAAA8jC,EACA,gBAAAC,CACR,KAActB,EAAe,kCAAkC,CACvD,kBAAAoB,EACA,OAAQ9B,EAAO,OACf,eAAgB,KAAK,gBACrB,aAAc,KAAK,aAC3B,CAAO,EACD,KAAK,kBAAoB+B,EACzB,KAAK,eAAiBC,GAAmB,KAAK,eAC9C,KAAK,aAAgBtB,EAAe,2BAA2BoB,CAAiB,CACtF,EACI,KAAK,SAAW,KACZ,KAAK,KAAK,WAAa,QACzB,KAAK,SAAWlB,EAAK,QAAQe,EAAqB,KAAK,KAAM3B,EAAO,WAAW,EAAG6B,CAAc,EAEhG,KAAK,SAAWf,EAAM,QAAQa,EAAqB,KAAK,KAAM3B,EAAO,WAAW,EAAG6B,CAAc,EAEnG,KAAK,SAAS,GAAG,QAAS/9B,GAAU,CAClC,KAAK,aAAeA,EACpB,KAAK,mBAAmB,OAAOA,CAAM,CAC3C,CAAK,EACD,KAAK,SAAS,KACf,CACF,CACD,MAAM09B,UAAiCE,CAAgB,CACrD,YAAY1B,EAAQjkB,EAAO9T,EAAK,CAC9B,MAAM+3B,CAAM,EACZ,KAAK,aAAe,GACpB,UAAW9W,KAAY8W,EAAO,YAAa,CACzC,MAAMniC,EAAQmiC,EAAO,YAAY9W,CAAQ,EACrCrrB,IAAU,SAGd,KAAK,aAAaqrB,CAAQ,EAAIrrB,GAEhC,KAAK,aAAa,MAAQ,SAASke,KAAS9T,EAAM,IAClD,MAAM45B,EAAiBjoC,GAAY,CACjC,GAAIA,EAAS,aAAe,IAAK,CAC/B,MAAMsQ,EAAQ,IAAI6F,EAAM,oBAAoB,gBAAgB,KAAK,QAAQ,EACzE,KAAK,aAAe7F,EACpB,OAEF,KAAK,mBAAmBtQ,CAAQ,CACtC,EACI,KAAK,SAAW,KACZ,KAAK,KAAK,WAAa,QACzB,KAAK,SAAWgnC,EAAK,QAAQe,EAAqB,KAAK,KAAM,KAAK,YAAY,EAAGE,CAAc,EAE/F,KAAK,SAAWf,EAAM,QAAQa,EAAqB,KAAK,KAAM,KAAK,YAAY,EAAGE,CAAc,EAElG,KAAK,SAAS,GAAG,QAAS/9B,GAAU,CAClC,KAAK,aAAeA,CAC1B,CAAK,EACD,KAAK,SAAS,KACf,CACF,CACD,MAAMu9B,UAAkCI,CAAe,CACrD,YAAYzB,EAAQ,CAClB,MAAMA,CAAM,EACZ,IAAIjZ,EAAO,mBAAmB,KAAK,KAAK,IAAI,EACxCka,EAAa,KAAK,KAAK,KAAK,IAAI,IAClCla,EAAOA,EAAK,QAAQ,MAAO,EAAE,GAE/B4Z,GAAG,MAAM5Z,EAAM,CAAC7c,EAAO+3B,IAAS,CAC9B,GAAI/3B,EAAO,CACLA,EAAM,OAAS,WACjBA,EAAQ,IAAI6F,EAAM,oBAAoB,gBAAgBgX,KAAQ,GAEhE,KAAK,aAAe7c,EACpB,KAAK,mBAAmB,OAAOA,CAAK,EACpC,OAEF,KAAK,eAAiB+3B,EAAK,KAC3B,KAAK,mBAAmBtB,GAAG,iBAAiB5Z,CAAI,CAAC,EACjD,KAAK,mBAAmB,SAC9B,CAAK,CACF,CACF,CACD,MAAMwa,UAAmCG,CAAgB,CACvD,YAAY1B,EAAQjkB,EAAO9T,EAAK,CAC9B,MAAM+3B,CAAM,EACZ,IAAIjZ,EAAO,mBAAmB,KAAK,KAAK,IAAI,EACxCka,EAAa,KAAK,KAAK,KAAK,IAAI,IAClCla,EAAOA,EAAK,QAAQ,MAAO,EAAE,GAE/B,KAAK,mBAAmB4Z,GAAG,iBAAiB5Z,EAAM,CAChD,MAAAhL,EACA,IAAK9T,EAAM,CACZ,CAAA,CAAC,CACH,CACF,CAEM,EAEA,CAAClO,EAAyBC,EAAS8V,IAAwB,CAIlE,OAAO,eAAe9V,EAAS,aAAe,CAC5C,MAAO,EACT,GACAA,EAAQ,0BAA4BkoC,EACpCloC,EAAQ,0BAA4BmoC,EACpCnoC,EAAQ,iCAAmCooC,EAC3CpoC,EAAQ,uBAAyBqoC,EACjC,IAAItyB,EAAQD,EAAoB,CAAC,EAC7BwyB,EAAuBxyB,EAAoB,EAAE,EAC7CmD,GAAiBnD,EAAoB,CAAC,EAC1C,SAASsyB,EAAiC,CACxC,kBAAAN,EACA,OAAAS,EACA,eAAAt9B,EACA,aAAAgB,CACF,EAAG,CACD,MAAMu8B,EAAe,CACnB,mBAAoB,GACpB,gBAAiB,MACrB,EACQ3jC,EAAS,SAASijC,EAAkB,gBAAgB,EAAG,EAAE,EAe/D,MAdI,CAAC,OAAO,UAAUjjC,CAAM,IAG5B2jC,EAAa,gBAAkB3jC,EAC3BA,GAAU,EAAIoG,IAGdgB,GAAgB,CAACs8B,GAGjBT,EAAkB,eAAe,IAAM,UAGnBA,EAAkB,kBAAkB,GAAK,cACzC,aAGxBU,EAAa,mBAAqB,IAC3BA,CACR,CACD,SAASL,EAA0BL,EAAmB,CACpD,MAAMW,EAAqBX,EAAkB,qBAAqB,EAClE,GAAIW,EAAoB,CACtB,IAAI7kB,KAAe0kB,EAAqB,yCAAyCG,CAAkB,EACnG,GAAI7kB,EAAS,SAAS,GAAG,EACvB,GAAI,CACFA,EAAW,mBAAmBA,CAAQ,CAC9C,MAAQ,CAAa,CAEjB,MAAQ3K,GAAe,WAAW2K,CAAQ,EACxC,OAAOA,EAGX,OAAO,IACR,CACD,SAASskB,EAA0BzjC,EAAQ/E,EAAK,CAC9C,OAAI+E,IAAW,KAAOA,IAAW,GAAK/E,EAAI,WAAW,OAAO,EACnD,IAAIqW,EAAM,oBAAoB,gBAAkBrW,EAAM,IAAI,EAE5D,IAAIqW,EAAM,4BAA4B,+BAA+BtR,4BAAiC/E,MAAS+E,CAAM,CAC7H,CACD,SAAS4jC,EAAuB5jC,EAAQ,CACtC,OAAOA,IAAW,KAAOA,IAAW,GACrC,CAEM,EAEA,CAAC1E,EAAyBC,EAAS8V,IAAwB,CAIlE,OAAO,eAAe9V,EAAS,aAAe,CAC5C,MAAO,EACT,GACAA,EAAQ,wCAA0C0oC,EAClD,IAAI3yB,EAAQD,EAAoB,CAAC,EACjC,SAAS4yB,EAAwCD,GAAoB,CACnE,IAAIE,EAAqB,GACrBtL,EAAMuL,EAAc,cAAe,GAAG,EAAE,KAAKH,EAAkB,EACnE,GAAIpL,EAAK,CACPA,EAAMA,EAAI,CAAC,EACX,IAAIzZ,EAAWilB,EAAexL,CAAG,EACjC,OAAAzZ,EAAW,SAASA,CAAQ,EAC5BA,EAAWklB,EAAcllB,CAAQ,EACjCA,EAAWmlB,EAAcnlB,CAAQ,EAC1BolB,EAAcplB,CAAQ,EAG/B,GADAyZ,EAAM4L,EAAgBR,EAAkB,EACpCpL,EAAK,CACP,MAAMzZ,EAAWmlB,EAAc1L,CAAG,EAClC,OAAO2L,EAAcplB,CAAQ,EAG/B,GADAyZ,EAAMuL,EAAc,WAAY,GAAG,EAAE,KAAKH,EAAkB,EACxDpL,EAAK,CACPA,EAAMA,EAAI,CAAC,EACX,IAAIzZ,EAAWilB,EAAexL,CAAG,EACjC,OAAAzZ,EAAWmlB,EAAcnlB,CAAQ,EAC1BolB,EAAcplB,CAAQ,EAE/B,SAASglB,EAAcM,EAAkBC,EAAO,CAC9C,OAAO,IAAI,OAAO,cAAgBD,EAAmB,sDAAgFC,CAAK,CAC3I,CACD,SAASC,EAAWtgC,EAAUjF,EAAO,CACnC,GAAIiF,EAAU,CACZ,GAAI,CAAC,iBAAiB,KAAKjF,CAAK,EAC9B,OAAOA,EAET,GAAI,CACF,MAAMkF,EAAU,IAAI,YAAYD,EAAU,CACxC,MAAO,EACjB,CAAS,EACKE,KAAa+M,EAAM,eAAelS,CAAK,EAC7CA,EAAQkF,EAAQ,OAAOC,CAAM,EAC7B2/B,EAAqB,EAC7B,MAAQ,CAAY,EAEhB,OAAO9kC,CACR,CACD,SAASmlC,EAAcnlC,EAAO,CAC5B,OAAI8kC,GAAsB,cAAc,KAAK9kC,CAAK,IAChDA,EAAQulC,EAAW,QAASvlC,CAAK,EAC7B8kC,IACF9kC,EAAQulC,EAAW,aAAcvlC,CAAK,IAGnCA,CACR,CACD,SAASolC,EAAgBI,EAAuB,CAC9C,MAAMzkB,EAAU,CAAA,EAChB,IAAI0kB,EACJ,MAAMC,EAAOX,EAAc,kCAAmC,IAAI,EAClE,MAAQU,EAAQC,EAAK,KAAKF,CAAqB,KAAO,MAAM,CAC1D,GAAI,CAAG,CAAA1jC,EAAG6jC,EAAMC,CAAI,EAAIH,EAExB,GADA3jC,EAAI,SAASA,EAAG,EAAE,EACdA,KAAKif,EAAS,CAChB,GAAIjf,IAAM,EACR,MAEF,SAEFif,EAAQjf,CAAC,EAAI,CAAC6jC,EAAMC,CAAI,EAE1B,MAAMC,EAAQ,CAAA,EACd,QAAS/jC,EAAI,EAAGA,EAAIif,EAAQ,QACpBjf,KAAKif,EADuB,EAAEjf,EAAG,CAIvC,GAAI,CAAC6jC,EAAMC,CAAI,EAAI7kB,EAAQjf,CAAC,EAC5B8jC,EAAOZ,EAAeY,CAAI,EACtBD,IACFC,EAAO,SAASA,CAAI,EAChB9jC,IAAM,IACR8jC,EAAOX,EAAcW,CAAI,IAG7BC,EAAM,KAAKD,CAAI,EAEjB,OAAOC,EAAM,KAAK,EAAE,CACrB,CACD,SAASb,EAAehlC,EAAO,CAC7B,GAAIA,EAAM,WAAW,GAAG,EAAG,CACzB,MAAM6lC,EAAQ7lC,EAAM,MAAM,CAAC,EAAE,MAAM,KAAK,EACxC,QAASmB,EAAI,EAAGA,EAAI0kC,EAAM,OAAQ,EAAE1kC,EAAG,CACrC,MAAM2kC,EAAYD,EAAM1kC,CAAC,EAAE,QAAQ,GAAG,EAClC2kC,IAAc,KAChBD,EAAM1kC,CAAC,EAAI0kC,EAAM1kC,CAAC,EAAE,MAAM,EAAG2kC,CAAS,EACtCD,EAAM,OAAS1kC,EAAI,GAErB0kC,EAAM1kC,CAAC,EAAI0kC,EAAM1kC,CAAC,EAAE,WAAW,SAAU,IAAI,EAE/CnB,EAAQ6lC,EAAM,KAAK,GAAG,EAExB,OAAO7lC,CACR,CACD,SAASilC,EAAcc,EAAU,CAC/B,MAAMC,EAAcD,EAAS,QAAQ,GAAG,EACxC,GAAIC,IAAgB,GAClB,OAAOD,EAET,MAAM9gC,EAAW8gC,EAAS,MAAM,EAAGC,CAAW,EAExChmC,EADY+lC,EAAS,MAAMC,EAAc,CAAC,EACxB,QAAQ,UAAW,EAAE,EAC7C,OAAOT,EAAWtgC,EAAUjF,CAAK,CAClC,CACD,SAASklC,EAAcllC,EAAO,CAC5B,MAAI,CAACA,EAAM,WAAW,IAAI,GAAK,uBAAuB,KAAKA,CAAK,EACvDA,EAEFA,EAAM,WAAW,iDAAkD,SAAU+gB,EAASklB,EAAShhC,EAAUihC,EAAM,CACpH,GAAIjhC,IAAa,KAAOA,IAAa,IACnC,OAAAihC,EAAOA,EAAK,WAAW,IAAK,GAAG,EAC/BA,EAAOA,EAAK,WAAW,qBAAsB,SAAUT,EAAOU,EAAK,CACjE,OAAO,OAAO,aAAa,SAASA,EAAK,EAAE,CAAC,CACtD,CAAS,EACMZ,EAAWU,EAASC,CAAI,EAEjC,GAAI,CACFA,EAAO,KAAKA,CAAI,CACxB,MAAQ,CAAY,CACd,OAAOX,EAAWU,EAASC,CAAI,CACrC,CAAK,CACF,CACD,MAAO,EACR,CAEM,EAEA,CAAChqC,EAAyBC,EAAS8V,IAAwB,CAIlE,OAAO,eAAe9V,EAAS,aAAe,CAC5C,MAAO,EACT,GACAA,EAAQ,iBAAmB,OAC3B,IAAI+V,EAAQD,EAAoB,CAAC,EAC7B4wB,EAAiB5wB,EAAoB,EAAE,EAE3C,MAAMm0B,GAAc,IACdC,EAA2B,IACjC,SAASC,EAAeC,EAAK,CAC3B,MAAMxgC,EAAOwgC,EAAI,SACjB,OAAI,OAAOxgC,GAAS,SACXA,KAEEmM,EAAM,eAAenM,CAAI,EAAE,MACvC,CACD,MAAMygC,CAAe,CACnB,YAAY3qC,EAAK+pB,EAAO,GAAI,CAC1B,KAAK,IAAM/pB,EACX,KAAK,OAAS,YAAY,KAAKA,CAAG,EAClC,KAAK,YAAc,KAAK,QAAU+pB,EAAK,aAAe,OAAO,OAAO,IAAI,EACxE,KAAK,gBAAkBA,EAAK,iBAAmB,GAC/C,KAAK,UAAY,EACjB,KAAK,gBAAkB,OAAO,OAAO,IAAI,CAC1C,CACD,aAAa3b,EAAOG,EAAKq8B,EAAW,CAClC,MAAM7gB,EAAO,CACX,MAAA3b,EACA,IAAAG,CACN,EACI,UAAWrK,KAAQ0mC,EACjB7gB,EAAK7lB,CAAI,EAAI0mC,EAAU1mC,CAAI,EAE7B,OAAO,KAAK,QAAQ6lB,CAAI,CACzB,CACD,YAAY6gB,EAAW,CACrB,OAAO,KAAK,QAAQA,CAAS,CAC9B,CACD,QAAQ7gB,EAAM,CACZ,MAAM2gB,EAAM,IAAI,eACVG,EAAQ,KAAK,YACbC,EAAiB,KAAK,gBAAgBD,CAAK,EAAI,CACnD,IAAAH,CACN,EACIA,EAAI,KAAK,MAAO,KAAK,GAAG,EACxBA,EAAI,gBAAkB,KAAK,gBAC3B,UAAWlb,KAAY,KAAK,YAAa,CACvC,MAAMrrB,EAAQ,KAAK,YAAYqrB,CAAQ,EACnCrrB,IAAU,QAGdumC,EAAI,iBAAiBlb,EAAUrrB,CAAK,EAEtC,OAAI,KAAK,QAAU,UAAW4lB,GAAQ,QAASA,GAC7C2gB,EAAI,iBAAiB,QAAS,SAAS3gB,EAAK,SAASA,EAAK,IAAM,GAAG,EACnE+gB,EAAe,eAAiBN,GAEhCM,EAAe,eAAiBP,GAElCG,EAAI,aAAe,cACf3gB,EAAK,UACP2gB,EAAI,QAAU,SAAUv2B,EAAK,CAC3B4V,EAAK,QAAQ2gB,EAAI,MAAM,CAC/B,GAEIA,EAAI,mBAAqB,KAAK,cAAc,KAAK,KAAMG,CAAK,EAC5DH,EAAI,WAAa,KAAK,WAAW,KAAK,KAAMG,CAAK,EACjDC,EAAe,kBAAoB/gB,EAAK,kBACxC+gB,EAAe,OAAS/gB,EAAK,OAC7B+gB,EAAe,QAAU/gB,EAAK,QAC9B+gB,EAAe,WAAa/gB,EAAK,WACjC2gB,EAAI,KAAK,IAAI,EACNG,CACR,CACD,WAAWA,EAAO12B,EAAK,OACrB,MAAM22B,EAAiB,KAAK,gBAAgBD,CAAK,EAC5CC,KAGL/8B,EAAA+8B,EAAe,aAAf,MAAA/8B,EAAA,KAAA+8B,EAA4B32B,GAC7B,CACD,cAAc02B,EAAO12B,EAAK,WACxB,MAAM22B,EAAiB,KAAK,gBAAgBD,CAAK,EACjD,GAAI,CAACC,EACH,OAEF,MAAMJ,EAAMI,EAAe,IAQ3B,GAPIJ,EAAI,YAAc,GAAKI,EAAe,oBACxCA,EAAe,kBAAiB,EAChC,OAAOA,EAAe,mBAEpBJ,EAAI,aAAe,GAGnB,EAAEG,KAAS,KAAK,iBAClB,OAGF,GADA,OAAO,KAAK,gBAAgBA,CAAK,EAC7BH,EAAI,SAAW,GAAK,KAAK,OAAQ,EACnC38B,EAAA+8B,EAAe,UAAf,MAAA/8B,EAAA,KAAA+8B,EAAyBJ,EAAI,QAC7B,OAEF,MAAMK,EAAYL,EAAI,QAAUH,GAEhC,GAAI,EADiCQ,IAAcR,IAAeO,EAAe,iBAAmBN,IAC/DO,IAAcD,EAAe,eAAgB,EAChF76B,EAAA66B,EAAe,UAAf,MAAA76B,EAAA,KAAA66B,EAAyBJ,EAAI,QAC7B,OAEF,MAAMllC,EAAQilC,EAAeC,CAAG,EAChC,GAAIK,IAAcP,EAA0B,CAC1C,MAAMQ,EAAcN,EAAI,kBAAkB,eAAe,EACnDxlB,EAAU,2BAA2B,KAAK8lB,CAAW,EAC3DF,EAAe,OAAO,CACpB,MAAO,SAAS5lB,EAAQ,CAAC,EAAG,EAAE,EAC9B,MAAA1f,CACR,CAAO,OACQA,EACTslC,EAAe,OAAO,CACpB,MAAO,EACP,MAAAtlC,CACR,CAAO,GAED8K,EAAAw6B,EAAe,UAAf,MAAAx6B,EAAA,KAAAw6B,EAAyBJ,EAAI,OAEhC,CACD,cAAcG,EAAO,CACnB,OAAO,KAAK,gBAAgBA,CAAK,EAAE,GACpC,CACD,iBAAiBA,EAAO,CACtB,OAAOA,KAAS,KAAK,eACtB,CACD,aAAaA,EAAO,CAClB,MAAMH,EAAM,KAAK,gBAAgBG,CAAK,EAAE,IACxC,OAAO,KAAK,gBAAgBA,CAAK,EACjCH,EAAI,MAAK,CACV,CACF,CACD,MAAM5/B,CAAiB,CACrB,YAAY4C,EAAQ,CAClB,KAAK,QAAUA,EACf,KAAK,SAAW,IAAIi9B,EAAej9B,EAAO,IAAK,CAC7C,YAAaA,EAAO,YACpB,gBAAiBA,EAAO,eAC9B,CAAK,EACD,KAAK,gBAAkBA,EAAO,eAC9B,KAAK,mBAAqB,KAC1B,KAAK,qBAAuB,EAC7B,CACD,4BAA4B4D,EAAQ,CAClC,MAAMhM,EAAI,KAAK,qBAAqB,QAAQgM,CAAM,EAC9ChM,GAAK,GACP,KAAK,qBAAqB,OAAOA,EAAG,CAAC,CAExC,CACD,eAAgB,CACd,SAAI+Q,EAAM,QAAQ,CAAC,KAAK,mBAAoB,yDAAyD,EACrG,KAAK,mBAAqB,IAAI40B,EAAkC,KAAK,SAAU,KAAK,OAAO,EACpF,KAAK,kBACb,CACD,eAAe78B,EAAOG,EAAK,CACzB,MAAM+C,EAAS,IAAI45B,EAAmC,KAAK,SAAU98B,EAAOG,CAAG,EAC/E,OAAA+C,EAAO,SAAW,KAAK,4BAA4B,KAAK,IAAI,EAC5D,KAAK,qBAAqB,KAAKA,CAAM,EAC9BA,CACR,CACD,kBAAkBlH,EAAQ,QACxB2D,EAAA,KAAK,qBAAL,MAAAA,EAAyB,OAAO3D,GAChC,UAAWkH,KAAU,KAAK,qBAAqB,MAAM,CAAC,EACpDA,EAAO,OAAOlH,CAAM,CAEvB,CACF,CACD9J,EAAQ,iBAAmBwK,EAC3B,MAAMmgC,CAAkC,CACtC,YAAYE,EAASz9B,EAAQ,CAC3B,KAAK,SAAWy9B,EAChB,MAAMphB,EAAO,CACX,kBAAmB,KAAK,mBAAmB,KAAK,IAAI,EACpD,OAAQ,KAAK,QAAQ,KAAK,IAAI,EAC9B,QAAS,KAAK,SAAS,KAAK,IAAI,EAChC,WAAY,KAAK,YAAY,KAAK,IAAI,CAC5C,EACI,KAAK,KAAOrc,EAAO,IACnB,KAAK,eAAiBy9B,EAAQ,YAAYphB,CAAI,EAC9C,KAAK,2BAA6B,IAAI1T,EAAM,kBAC5C,KAAK,cAAgB3I,EAAO,cAAgB,GAC5C,KAAK,eAAiBA,EAAO,OAC7B,KAAK,gBAAkBA,EAAO,eAC1B,CAAC,KAAK,iBAAmB,CAAC,KAAK,gBACjC,KAAK,cAAgB,IAEvB,KAAK,sBAAwB,GAC7B,KAAK,kBAAoB,GACzB,KAAK,cAAgB,GACrB,KAAK,UAAY,GACjB,KAAK,MAAQ,GACb,KAAK,aAAe,OACpB,KAAK,UAAY,KACjB,KAAK,WAAa,IACnB,CACD,oBAAqB,CACnB,MAAM09B,EAAmB,KAAK,eACxBC,EAAiB,KAAK,SAAS,cAAcD,CAAgB,EAC7DhD,EAAoB7jC,GACjB8mC,EAAe,kBAAkB9mC,CAAI,EAExC,CACJ,mBAAA8jC,EACA,gBAAAC,CACN,KAAYtB,EAAe,kCAAkC,CACvD,kBAAAoB,EACA,OAAQ,KAAK,SAAS,OACtB,eAAgB,KAAK,gBACrB,aAAc,KAAK,aACzB,CAAK,EACGC,IACF,KAAK,kBAAoB,IAE3B,KAAK,eAAiBC,GAAmB,KAAK,eAC9C,KAAK,aAAgBtB,EAAe,2BAA2BoB,CAAiB,EAC5E,KAAK,mBACP,KAAK,SAAS,aAAagD,CAAgB,EAE7C,KAAK,2BAA2B,SACjC,CACD,QAAQlhC,EAAM,CAaZ,GAZIA,IACE,KAAK,UAAU,OAAS,EACA,KAAK,UAAU,MAAK,EAC5B,QAAQ,CACxB,MAAOA,EAAK,MACZ,KAAM,EAChB,CAAS,EAED,KAAK,cAAc,KAAKA,EAAK,KAAK,GAGtC,KAAK,MAAQ,GACT,OAAK,cAAc,OAAS,GAGhC,WAAWq8B,KAAqB,KAAK,UACnCA,EAAkB,QAAQ,CACxB,MAAO,OACP,KAAM,EACd,CAAO,EAEH,KAAK,UAAU,OAAS,EACzB,CACD,SAASxhC,EAAQ,CACf,KAAK,gBAAmBiiC,EAAe,2BAA2BjiC,EAAQ,KAAK,IAAI,EACnF,KAAK,2BAA2B,OAAO,KAAK,YAAY,EACxD,UAAWwhC,KAAqB,KAAK,UACnCA,EAAkB,OAAO,KAAK,YAAY,EAE5C,KAAK,UAAU,OAAS,EACxB,KAAK,cAAc,OAAS,CAC7B,CACD,YAAYpyB,EAAK,QACfpG,EAAA,KAAK,aAAL,MAAAA,EAAA,UAAkB,CAChB,OAAQoG,EAAI,OACZ,MAAOA,EAAI,iBAAmBA,EAAI,MAAQ,KAAK,cACrD,EACG,CACD,IAAI,UAAW,CACb,OAAO,KAAK,SACb,CACD,IAAI,kBAAmB,CACrB,OAAO,KAAK,iBACb,CACD,IAAI,sBAAuB,CACzB,OAAO,KAAK,qBACb,CACD,IAAI,eAAgB,CAClB,OAAO,KAAK,cACb,CACD,IAAI,cAAe,CACjB,OAAO,KAAK,2BAA2B,OACxC,CACD,MAAM,MAAO,CACX,GAAI,KAAK,aACP,MAAM,KAAK,aAEb,GAAI,KAAK,cAAc,OAAS,EAE9B,MAAO,CACL,MAFY,KAAK,cAAc,MAAK,EAGpC,KAAM,EACd,EAEI,GAAI,KAAK,MACP,MAAO,CACL,MAAO,OACP,KAAM,EACd,EAEI,MAAMoyB,EAAoB,IAAIlwB,EAAM,kBACpC,YAAK,UAAU,KAAKkwB,CAAiB,EAC9BA,EAAkB,OAC1B,CACD,OAAOn8B,EAAQ,CACb,KAAK,MAAQ,GACb,KAAK,2BAA2B,OAAOA,CAAM,EAC7C,UAAWm8B,KAAqB,KAAK,UACnCA,EAAkB,QAAQ,CACxB,MAAO,OACP,KAAM,EACd,CAAO,EAEH,KAAK,UAAU,OAAS,EACpB,KAAK,SAAS,iBAAiB,KAAK,cAAc,GACpD,KAAK,SAAS,aAAa,KAAK,cAAc,EAEhD,KAAK,mBAAqB,IAC3B,CACF,CACD,MAAM2E,CAAmC,CACvC,YAAYC,EAAS/8B,EAAOG,EAAK,CAC/B,KAAK,SAAW48B,EAChB,MAAMphB,EAAO,CACX,OAAQ,KAAK,QAAQ,KAAK,IAAI,EAC9B,QAAS,KAAK,SAAS,KAAK,IAAI,EAChC,WAAY,KAAK,YAAY,KAAK,IAAI,CAC5C,EACI,KAAK,KAAOohB,EAAQ,IACpB,KAAK,WAAaA,EAAQ,aAAa/8B,EAAOG,EAAKwb,CAAI,EACvD,KAAK,UAAY,GACjB,KAAK,aAAe,KACpB,KAAK,MAAQ,GACb,KAAK,aAAe,OACpB,KAAK,WAAa,KAClB,KAAK,SAAW,IACjB,CACD,QAAS,QACPhc,EAAA,KAAK,WAAL,MAAAA,EAAA,UAAgB,KACjB,CACD,QAAQ7D,EAAM,CACZ,MAAM1E,EAAQ0E,EAAK,MACf,KAAK,UAAU,OAAS,EACA,KAAK,UAAU,MAAK,EAC5B,QAAQ,CACxB,MAAO1E,EACP,KAAM,EACd,CAAO,EAED,KAAK,aAAeA,EAEtB,KAAK,MAAQ,GACb,UAAW+gC,KAAqB,KAAK,UACnCA,EAAkB,QAAQ,CACxB,MAAO,OACP,KAAM,EACd,CAAO,EAEH,KAAK,UAAU,OAAS,EACxB,KAAK,OAAM,CACZ,CACD,SAASxhC,EAAQ,CACf,KAAK,gBAAmBiiC,EAAe,2BAA2BjiC,EAAQ,KAAK,IAAI,EACnF,UAAWwhC,KAAqB,KAAK,UACnCA,EAAkB,OAAO,KAAK,YAAY,EAE5C,KAAK,UAAU,OAAS,EACxB,KAAK,aAAe,IACrB,CACD,YAAYpyB,EAAK,OACV,KAAK,uBACRpG,EAAA,KAAK,aAAL,MAAAA,EAAA,UAAkB,CAChB,OAAQoG,EAAI,MACpB,EAEG,CACD,IAAI,sBAAuB,CACzB,MAAO,EACR,CACD,MAAM,MAAO,CACX,GAAI,KAAK,aACP,MAAM,KAAK,aAEb,GAAI,KAAK,eAAiB,KAAM,CAC9B,MAAM3O,EAAQ,KAAK,aACnB,YAAK,aAAe,KACb,CACL,MAAOA,EACP,KAAM,EACd,EAEI,GAAI,KAAK,MACP,MAAO,CACL,MAAO,OACP,KAAM,EACd,EAEI,MAAM+gC,EAAoB,IAAIlwB,EAAM,kBACpC,YAAK,UAAU,KAAKkwB,CAAiB,EAC9BA,EAAkB,OAC1B,CACD,OAAOn8B,EAAQ,CACb,KAAK,MAAQ,GACb,UAAWm8B,KAAqB,KAAK,UACnCA,EAAkB,QAAQ,CACxB,MAAO,OACP,KAAM,EACd,CAAO,EAEH,KAAK,UAAU,OAAS,EACpB,KAAK,SAAS,iBAAiB,KAAK,UAAU,GAChD,KAAK,SAAS,aAAa,KAAK,UAAU,EAE5C,KAAK,OAAM,CACZ,CACF,CAEM,EAEA,CAAClmC,EAAyBC,EAAS8V,IAAwB,CAIlE,OAAO,eAAe9V,EAAS,aAAe,CAC5C,MAAO,EACT,GACAA,EAAQ,eAAiB,OACzB,IAAI+V,EAAQD,EAAoB,CAAC,EAC7B4wB,EAAiB5wB,EAAoB,EAAE,EAE3C,SAASk1B,GAAmBpD,EAAS98B,EAAiBmgC,EAAiB,CACrE,MAAO,CACL,OAAQ,MACR,QAAArD,EACA,OAAQqD,EAAgB,OACxB,KAAM,OACN,YAAangC,EAAkB,UAAY,cAC3C,SAAU,QACd,CACC,CACD,SAASogC,EAAcrgC,EAAa,CAClC,MAAM+8B,EAAU,IAAI,QACpB,UAAW1Y,KAAYrkB,EAAa,CAClC,MAAMhH,EAAQgH,EAAYqkB,CAAQ,EAC9BrrB,IAAU,QAGd+jC,EAAQ,OAAO1Y,EAAUrrB,CAAK,EAEhC,OAAO+jC,CACR,CACD,SAASuC,EAAe98B,EAAK,CAC3B,OAAIA,aAAe,WACVA,EAAI,OAETA,aAAe,YACVA,MAEL0I,EAAM,MAAM,4CAA4C1I,GAAK,EAC1D,IAAI,WAAWA,CAAG,EAAE,OAC5B,CACD,MAAM5C,CAAe,CACnB,YAAY2C,EAAQ,CAClB,KAAK,OAASA,EACd,KAAK,OAAS,YAAY,KAAKA,EAAO,GAAG,EACzC,KAAK,YAAc,KAAK,QAAUA,EAAO,aAAe,GACxD,KAAK,mBAAqB,KAC1B,KAAK,qBAAuB,EAC7B,CACD,IAAI,wBAAyB,OAC3B,QAAOK,EAAA,KAAK,qBAAL,YAAAA,EAAyB,UAAW,CAC5C,CACD,eAAgB,CACd,SAAIsI,EAAM,QAAQ,CAAC,KAAK,mBAAoB,uDAAuD,EACnG,KAAK,mBAAqB,IAAIo1B,EAAqB,IAAI,EAChD,KAAK,kBACb,CACD,eAAer9B,EAAOG,EAAK,CACzB,GAAIA,GAAO,KAAK,uBACd,OAAO,KAET,MAAM+C,EAAS,IAAIo6B,EAA0B,KAAMt9B,EAAOG,CAAG,EAC7D,YAAK,qBAAqB,KAAK+C,CAAM,EAC9BA,CACR,CACD,kBAAkBlH,EAAQ,QACxB2D,EAAA,KAAK,qBAAL,MAAAA,EAAyB,OAAO3D,GAChC,UAAWkH,KAAU,KAAK,qBAAqB,MAAM,CAAC,EACpDA,EAAO,OAAOlH,CAAM,CAEvB,CACF,CACD9J,EAAQ,eAAiByK,EACzB,MAAM0gC,CAAqB,CACzB,YAAYnF,EAAQ,CAClB,KAAK,QAAUA,EACf,KAAK,QAAU,KACf,KAAK,QAAU,EACf,KAAK,UAAY,KACjB,MAAM54B,EAAS44B,EAAO,OACtB,KAAK,iBAAmB54B,EAAO,iBAAmB,GAClD,KAAK,eAAiBA,EAAO,OAC7B,KAAK,mBAAqB,IAAI2I,EAAM,kBACpC,KAAK,cAAgB3I,EAAO,cAAgB,GAC5C,KAAK,gBAAkBA,EAAO,eAC1B,CAAC,KAAK,iBAAmB,CAAC,KAAK,gBACjC,KAAK,cAAgB,IAEvB,KAAK,iBAAmB,IAAI,gBAC5B,KAAK,sBAAwB,CAACA,EAAO,cACrC,KAAK,kBAAoB,CAACA,EAAO,aACjC,KAAK,SAAW89B,EAAc,KAAK,QAAQ,WAAW,EACtD,MAAMxrC,EAAM0N,EAAO,IACnB,MAAM1N,EAAKsrC,GAAmB,KAAK,SAAU,KAAK,iBAAkB,KAAK,gBAAgB,CAAC,EAAE,KAAKprC,GAAY,CAC3G,GAAI,IAAK8mC,EAAe,wBAAwB9mC,EAAS,MAAM,EAC7D,QAAU8mC,EAAe,2BAA2B9mC,EAAS,OAAQF,CAAG,EAE1E,KAAK,QAAUE,EAAS,KAAK,UAAS,EACtC,KAAK,mBAAmB,UACxB,MAAMkoC,EAAoB7jC,GACjBrE,EAAS,QAAQ,IAAIqE,CAAI,EAE5B,CACJ,mBAAA8jC,EACA,gBAAAC,CACR,KAActB,EAAe,kCAAkC,CACvD,kBAAAoB,EACA,OAAQ,KAAK,QAAQ,OACrB,eAAgB,KAAK,gBACrB,aAAc,KAAK,aAC3B,CAAO,EACD,KAAK,kBAAoBC,EACzB,KAAK,eAAiBC,GAAmB,KAAK,eAC9C,KAAK,aAAgBtB,EAAe,2BAA2BoB,CAAiB,EAC5E,CAAC,KAAK,uBAAyB,KAAK,mBACtC,KAAK,OAAO,IAAI/xB,EAAM,eAAe,wBAAwB,CAAC,CAEjE,CAAA,EAAE,MAAM,KAAK,mBAAmB,MAAM,EACvC,KAAK,WAAa,IACnB,CACD,IAAI,cAAe,CACjB,OAAO,KAAK,mBAAmB,OAChC,CACD,IAAI,UAAW,CACb,OAAO,KAAK,SACb,CACD,IAAI,eAAgB,CAClB,OAAO,KAAK,cACb,CACD,IAAI,kBAAmB,CACrB,OAAO,KAAK,iBACb,CACD,IAAI,sBAAuB,CACzB,OAAO,KAAK,qBACb,CACD,MAAM,MAAO,OACX,MAAM,KAAK,mBAAmB,QAC9B,KAAM,CACJ,MAAAlS,EACA,KAAAoN,CACD,EAAG,MAAM,KAAK,QAAQ,OACvB,OAAIA,EACK,CACL,MAAApN,EACA,KAAAoN,CACR,GAEI,KAAK,SAAWpN,EAAM,YACtB4J,EAAA,KAAK,aAAL,MAAAA,EAAA,UAAkB,CAChB,OAAQ,KAAK,QACb,MAAO,KAAK,cAClB,GACW,CACL,MAAO08B,EAAetmC,CAAK,EAC3B,KAAM,EACZ,EACG,CACD,OAAOiG,EAAQ,QACb2D,EAAA,KAAK,UAAL,MAAAA,EAAc,OAAO3D,GACrB,KAAK,iBAAiB,OACvB,CACF,CACD,MAAMshC,CAA0B,CAC9B,YAAYpF,EAAQl4B,EAAOG,EAAK,CAC9B,KAAK,QAAU+3B,EACf,KAAK,QAAU,KACf,KAAK,QAAU,EACf,MAAM54B,EAAS44B,EAAO,OACtB,KAAK,iBAAmB54B,EAAO,iBAAmB,GAClD,KAAK,gBAAkB,IAAI2I,EAAM,kBACjC,KAAK,sBAAwB,CAAC3I,EAAO,cACrC,KAAK,iBAAmB,IAAI,gBAC5B,KAAK,SAAW89B,EAAc,KAAK,QAAQ,WAAW,EACtD,KAAK,SAAS,OAAO,QAAS,SAASp9B,KAASG,EAAM,GAAG,EACzD,MAAMvO,EAAM0N,EAAO,IACnB,MAAM1N,EAAKsrC,GAAmB,KAAK,SAAU,KAAK,iBAAkB,KAAK,gBAAgB,CAAC,EAAE,KAAKprC,GAAY,CAC3G,GAAI,IAAK8mC,EAAe,wBAAwB9mC,EAAS,MAAM,EAC7D,QAAU8mC,EAAe,2BAA2B9mC,EAAS,OAAQF,CAAG,EAE1E,KAAK,gBAAgB,UACrB,KAAK,QAAUE,EAAS,KAAK,UAAS,CACvC,CAAA,EAAE,MAAM,KAAK,gBAAgB,MAAM,EACpC,KAAK,WAAa,IACnB,CACD,IAAI,sBAAuB,CACzB,OAAO,KAAK,qBACb,CACD,MAAM,MAAO,OACX,MAAM,KAAK,gBAAgB,QAC3B,KAAM,CACJ,MAAAiE,EACA,KAAAoN,CACD,EAAG,MAAM,KAAK,QAAQ,OACvB,OAAIA,EACK,CACL,MAAApN,EACA,KAAAoN,CACR,GAEI,KAAK,SAAWpN,EAAM,YACtB4J,EAAA,KAAK,aAAL,MAAAA,EAAA,UAAkB,CAChB,OAAQ,KAAK,OACnB,GACW,CACL,MAAO08B,EAAetmC,CAAK,EAC3B,KAAM,EACZ,EACG,CACD,OAAOiG,EAAQ,QACb2D,EAAA,KAAK,UAAL,MAAAA,EAAc,OAAO3D,GACrB,KAAK,iBAAiB,OACvB,CACF,CAEM,EAEA,CAAC/J,EAAyBC,EAAS8V,IAAwB,CAIlE,OAAO,eAAe9V,EAAS,aAAe,CAC5C,MAAO,EACT,GACAA,EAAQ,oBAAsB,OAC9BA,EAAQ,gBAAkBqrC,EAC1BrrC,EAAQ,gBAAkBsrC,EAC1B,IAAIv1B,EAAQD,EAAoB,CAAC,EAC7BmD,EAAiBnD,EAAoB,CAAC,EAC1C,MAAMy1B,GAA0B,IAC1BC,EAAoB,GACpBC,EAAsB,GACtBC,EAAc,IAAI,IACxB,SAASC,EAAOriB,EAAM3d,EAA4B,CAChD,IAAI8Z,EACJ,GAAI9Z,GAA8BoK,EAAM,YAAY,2BAClD0P,EAAM,IAAI,gBAAgB6D,EAAMA,CAAI,EAAE,WAAW,KAAM,CACrD,MAAO,EACb,CAAK,MACI,CACL,MAAM/G,EAAS,SAAS,cAAc,QAAQ,EAC9CA,EAAO,MAAQA,EAAO,OAAS+G,EAC/B7D,EAAMlD,EAAO,WAAW,KAAM,CAC5B,MAAO,EACb,CAAK,EAEH,OAAOkD,CACR,CACD,SAASmmB,EAAUC,EAAYlgC,EAA4B,CACzD,MAAMmgC,EAAeJ,EAAY,IAAIG,CAAU,EAC/C,GAAIC,EACF,OAAOA,EAET,MAAMrmB,EAAMkmB,EAAOH,EAAmB7/B,CAA0B,EAChE8Z,EAAI,KAAO,GAAG+lB,OAAuBK,IACrC,MAAME,EAAUtmB,EAAI,YAAY,EAAE,EAClC,IAAIumB,EAASD,EAAQ,sBACjBE,EAAU,KAAK,IAAIF,EAAQ,sBAAsB,EACrD,GAAIC,EAAQ,CACV,MAAME,EAAQF,GAAUA,EAASC,GACjC,OAAAP,EAAY,IAAIG,EAAYK,CAAK,EACjCzmB,EAAI,OAAO,MAAQA,EAAI,OAAO,OAAS,EAChCymB,EAETzmB,EAAI,YAAc,MAClBA,EAAI,UAAU,EAAG,EAAG+lB,EAAmBA,CAAiB,EACxD/lB,EAAI,WAAW,IAAK,EAAG,CAAC,EACxB,IAAI0mB,EAAS1mB,EAAI,aAAa,EAAG,EAAG+lB,EAAmBA,CAAiB,EAAE,KAC1ES,EAAU,EACV,QAASjnC,EAAImnC,EAAO,OAAS,EAAI,EAAGnnC,GAAK,EAAGA,GAAK,EAC/C,GAAImnC,EAAOnnC,CAAC,EAAI,EAAG,CACjBinC,EAAU,KAAK,KAAKjnC,EAAI,EAAIwmC,CAAiB,EAC7C,MAGJ/lB,EAAI,UAAU,EAAG,EAAG+lB,EAAmBA,CAAiB,EACxD/lB,EAAI,WAAW,IAAK,EAAG+lB,CAAiB,EACxCW,EAAS1mB,EAAI,aAAa,EAAG,EAAG+lB,EAAmBA,CAAiB,EAAE,KACtEQ,EAAS,EACT,QAAShnC,EAAI,EAAGkE,EAAKijC,EAAO,OAAQnnC,EAAIkE,EAAIlE,GAAK,EAC/C,GAAImnC,EAAOnnC,CAAC,EAAI,EAAG,CACjBgnC,EAASR,EAAoB,KAAK,MAAMxmC,EAAI,EAAIwmC,CAAiB,EACjE,MAIJ,GADA/lB,EAAI,OAAO,MAAQA,EAAI,OAAO,OAAS,EACnCumB,EAAQ,CACV,MAAME,EAAQF,GAAUA,EAASC,GACjC,OAAAP,EAAY,IAAIG,EAAYK,CAAK,EAC1BA,EAET,OAAAR,EAAY,IAAIG,EAAYJ,CAAmB,EACxCA,CACR,CACD,SAASW,EAAWzhC,EAAM0hC,EAAMC,EAAQ,CACtC,MAAMC,EAAU,SAAS,cAAc,MAAM,EACvCC,EAAoB,CACxB,MAAO,EACP,YAAa,EACb,QAASH,EAAK,MAAQ,GACtB,OAAQA,EAAK,OACb,SAAU,CACd,EACE1hC,EAAK,UAAU,KAAK4hC,CAAO,EAC3B,MAAMt0B,EAAKlC,EAAM,KAAK,UAAUpL,EAAK,WAAY0hC,EAAK,SAAS,EAC/D,IAAI/hB,EAAQ,KAAK,MAAMrS,EAAG,CAAC,EAAGA,EAAG,CAAC,CAAC,EACnC,MAAMK,EAAQg0B,EAAOD,EAAK,QAAQ,EAC9B/zB,EAAM,WACRgS,GAAS,KAAK,GAAK,GAErB,MAAMmiB,EAAa,KAAK,MAAMx0B,EAAG,CAAC,EAAGA,EAAG,CAAC,CAAC,EACpCy0B,EAAaD,EAAab,EAAUtzB,EAAM,WAAY3N,EAAK,2BAA2B,EAC5F,IAAIgiC,EAAMC,EACNtiB,IAAU,GACZqiB,EAAO10B,EAAG,CAAC,EACX20B,EAAM30B,EAAG,CAAC,EAAIy0B,IAEdC,EAAO10B,EAAG,CAAC,EAAIy0B,EAAa,KAAK,IAAIpiB,CAAK,EAC1CsiB,EAAM30B,EAAG,CAAC,EAAIy0B,EAAa,KAAK,IAAIpiB,CAAK,GAE3C,MAAMuiB,EAAiB,4BACjBC,GAAWP,EAAQ,MACrB5hC,EAAK,aAAeA,EAAK,gBAC3BmiC,GAAS,KAAO,IAAI,IAAMH,EAAOhiC,EAAK,YAAY,QAAQ,CAAC,KAC3DmiC,GAAS,IAAM,IAAI,IAAMF,EAAMjiC,EAAK,aAAa,QAAQ,CAAC,OAE1DmiC,GAAS,KAAO,GAAGD,IAAiBF,EAAK,QAAQ,CAAC,OAClDG,GAAS,IAAM,GAAGD,IAAiBD,EAAI,QAAQ,CAAC,QAElDE,GAAS,SAAW,GAAGD,IAAiBJ,EAAW,QAAQ,CAAC,OAC5DK,GAAS,WAAax0B,EAAM,WAC5Bk0B,EAAkB,SAAWC,EAC7BF,EAAQ,aAAa,OAAQ,cAAc,EAC3CA,EAAQ,YAAcF,EAAK,IAC3BE,EAAQ,IAAMF,EAAK,IACf1hC,EAAK,wBACP4hC,EAAQ,QAAQ,SAAWF,EAAK,UAE9B/hB,IAAU,IACZkiB,EAAkB,MAAQliB,GAAS,IAAM,KAAK,KAEhD,IAAIyiB,EAAkB,GACtB,GAAIV,EAAK,IAAI,OAAS,EACpBU,EAAkB,WACTV,EAAK,MAAQ,KAAOA,EAAK,UAAU,CAAC,IAAMA,EAAK,UAAU,CAAC,EAAG,CACtE,MAAMW,GAAY,KAAK,IAAIX,EAAK,UAAU,CAAC,CAAC,EAC1CY,GAAY,KAAK,IAAIZ,EAAK,UAAU,CAAC,CAAC,EACpCW,KAAcC,IAAa,KAAK,IAAID,GAAWC,EAAS,EAAI,KAAK,IAAID,GAAWC,EAAS,EAAI,MAC/FF,EAAkB,IAGlBA,IACFP,EAAkB,YAAcl0B,EAAM,SAAW+zB,EAAK,OAASA,EAAK,OAEtE1hC,EAAK,mBAAmB,IAAI4hC,EAASC,CAAiB,EAClD7hC,EAAK,mBACPA,EAAK,YAAY4hC,CAAO,CAE3B,CACD,SAASW,EAAOvtC,EAAQ,CACtB,KAAM,CACJ,IAAAuiB,EACA,MAAAziB,EACA,WAAAwvB,EACA,IAAAxJ,EACA,aAAA0nB,EACA,eAAAC,CACD,EAAGztC,EACE,CACJ,MAAA2Y,CACD,EAAG4J,EACJ,IAAIlc,EAAY,GAChB,GAAIipB,EAAW,cAAgB,GAAKA,EAAW,QAAS,CACtD,KAAM,CACJ,WAAA4c,CACD,EAAGvzB,EACE,CACJ,YAAAgiB,EACA,SAAA5D,CACD,EAAGzH,GACAke,IAAiBzW,GAAY0W,IAAmBvB,KAClDpmB,EAAI,KAAO,GAAGiR,EAAWj3B,OAAWosC,IACpClsC,EAAO,aAAe+2B,EACtB/2B,EAAO,eAAiBksC,GAE1B,KAAM,CACJ,MAAAl3B,CACD,EAAG8Q,EAAI,YAAYvD,EAAI,WAAW,EAC/BvN,EAAQ,IACV3O,EAAY,UAAUs0B,EAAc76B,EAAQkV,MAG5Csa,EAAW,QAAU,IACvBjpB,EAAY,UAAUipB,EAAW,aAAajpB,KAE5CA,EAAU,OAAS,IACrBsS,EAAM,UAAYtS,EAErB,CACD,SAASqnC,EAAO1iC,EAAM,CACpB,GAAIA,EAAK,UACP,OAEF,MAAM2iC,EAAW3iC,EAAK,UAChBo4B,EAAap4B,EAAK,YAExB,GADuB2iC,EAAS,OACX/B,GAAyB,CAC5CxI,EAAW,QAAO,EAClB,OAEF,GAAI,CAACp4B,EAAK,kBACR,UAAW4hC,KAAWe,EACpB3iC,EAAK,YAAY4hC,CAAO,EAG5BxJ,EAAW,QAAO,CACnB,CACD,MAAMwK,CAAoB,CACxB,YAAY,CACV,kBAAAC,EACA,UAAAtyB,EACA,SAAA9L,EACA,SAAAk+B,EACA,kBAAAd,EACA,oBAAAiB,EACA,2BAAA9hC,CACJ,EAAK,OACD,KAAK,mBAAqB6hC,EAC1B,KAAK,kBAAoBA,aAA6B,eACtD,KAAK,WAAa,KAAK,eAAiBtyB,EACxC,KAAK,UAAYoyB,GAAY,GAC7B,KAAK,qBAAuBG,GAAuB,GACnD,KAAK,4BAA8B9hC,EACnC,KAAK,sBAAwB,CAAC,GAAC8B,EAAA,WAAW,gBAAX,MAAAA,EAA0B,SACzD,KAAK,QAAU,KACf,KAAK,mBAAqB++B,GAAqB,IAAI,QACnD,KAAK,UAAY,GACjB,KAAK,YAAc,IAAIz2B,EAAM,kBAC7B,KAAK,kBAAoB,CACvB,aAAc,KACd,eAAgB,KAChB,IAAK,KACL,MAAO3G,EAAS,OAAS,WAAW,kBAAoB,GACxD,WAAY,KACZ,IAAKu8B,EAAO,EAAGhgC,CAA0B,CAC/C,EACI,KAAM,CACJ,UAAA+L,EACA,WAAAC,EACA,MAAAC,EACA,MAAAC,CACN,EAAQzI,EAAS,QACb,KAAK,WAAa,CAAC,EAAG,EAAG,EAAG,GAAI,CAACwI,EAAOC,EAAQF,CAAU,EAC1D,KAAK,WAAaD,EAClB,KAAK,YAAcC,KACfsB,EAAe,oBAAoBiC,EAAW9L,CAAQ,EAC1D,KAAK,YAAY,QAAQ,QAAQ,IAAM,CACrC,KAAK,kBAAoB,IAC/B,CAAK,EAAE,MAAM,IAAM,CAAA,CAAE,CAClB,CACD,IAAI,SAAU,CACZ,OAAO,KAAK,YAAY,OACzB,CACD,QAAS,CACP,KAAK,UAAY,GACb,KAAK,UACP,KAAK,QAAQ,OAAO,IAAI2G,EAAM,eAAe,2BAA2B,CAAC,EAAE,MAAM,IAAM,CAAA,CAAE,EACzF,KAAK,QAAU,MAEjB,KAAK,YAAY,OAAO,IAAIA,EAAM,eAAe,2BAA2B,CAAC,CAC9E,CACD,cAAcowB,EAAOuH,EAAY,CAC/B,UAAWC,KAAQxH,EAAO,CACxB,GAAIwH,EAAK,MAAQ,OAAW,CAC1B,GAAIA,EAAK,OAAS,2BAA6BA,EAAK,OAAS,qBAAsB,CACjF,MAAM72B,EAAS,KAAK,WACpB,KAAK,WAAa,SAAS,cAAc,MAAM,EAC/C,KAAK,WAAW,UAAU,IAAI,eAAe,EACzC62B,EAAK,KAAO,MACd,KAAK,WAAW,aAAa,KAAM,GAAGA,EAAK,IAAI,EAEjD72B,EAAO,OAAO,KAAK,UAAU,OACpB62B,EAAK,OAAS,qBACvB,KAAK,WAAa,KAAK,WAAW,YAEpC,SAEF,KAAK,qBAAqB,KAAKA,EAAK,GAAG,EACvCvB,EAAW,KAAMuB,EAAMD,CAAU,EAEpC,CACD,YAAYnB,EAAS,CACnB,MAAMC,EAAoB,KAAK,kBAAkB,WAAa,KAAK,mBAAmB,IAAID,CAAO,EAMjG,GALA,KAAK,kBAAkB,IAAMA,EAC7BW,EAAO,KAAK,iBAAiB,EACzBV,EAAkB,SACpB,KAAK,WAAW,OAAOD,CAAO,EAE5BC,EAAkB,OAAQ,CAC5B,MAAM7S,EAAK,SAAS,cAAc,IAAI,EACtCA,EAAG,aAAa,OAAQ,cAAc,EACtC,KAAK,WAAW,OAAOA,CAAE,EAE5B,CACD,SAAU,CACR,MAAMoJ,EAAa,IAAIhtB,EAAM,kBAC7B,IAAI23B,EAAa,OAAO,OAAO,IAAI,EACnC,GAAI,KAAK,kBAAmB,CAC1B,MAAM38B,EAAO,IAAM,CACjB,KAAK,QAAQ,KAAM,EAAC,KAAK,CAAC,CACxB,MAAAlN,EACA,KAAAoN,CACV,IAAc,CACJ,GAAIA,EAAM,CACR8xB,EAAW,QAAO,EAClB,OAEF,OAAO,OAAO2K,EAAY7pC,EAAM,MAAM,EACtC,KAAK,cAAcA,EAAM,MAAO6pC,CAAU,EAC1C38B,GACV,EAAWgyB,EAAW,MAAM,CAC5B,EACM,KAAK,QAAU,KAAK,mBAAmB,UAAS,EAChDhyB,YACS,KAAK,mBAAoB,CAClC,KAAM,CACJ,MAAAo1B,EACA,OAAAmG,CACR,EAAU,KAAK,mBACT,KAAK,cAAcnG,EAAOmG,CAAM,EAChCvJ,EAAW,QAAO,MAElB,OAAM,IAAI,MAAM,6CAA6C,EAE/DA,EAAW,QAAQ,KAAK,IAAM,CAC5B2K,EAAa,KACbL,EAAO,IAAI,CACjB,EAAO,KAAK,YAAY,MAAM,CAC3B,CACF,CACDrtC,EAAQ,oBAAsButC,EAC9B,SAASlC,EAAgB1rC,EAAQ,CAC3B,CAACA,EAAO,oBAAsBA,EAAO,aAAeA,EAAO,wBACzDsZ,EAAe,YAAY,yIAA8I,EAC7KtZ,EAAO,kBAAoBA,EAAO,aAAeA,EAAO,mBAE1D,KAAM,CACJ,UAAAub,EACA,SAAA9L,CACD,EAAGzP,EACE2Y,EAAQ,iBAAiB4C,CAAS,EAClC0yB,EAAat1B,EAAM,iBAAiB,YAAY,EAChDu1B,EAAc,WAAWv1B,EAAM,iBAAiB,gBAAgB,CAAC,EACnEs1B,IAAe,YAAc,CAACC,GAAe,KAAK,IAAIA,EAAcz+B,EAAS,KAAK,EAAI,OACxF,QAAQ,MAAM,yJAAmK,EAEnL,MAAMzE,EAAO,IAAI4iC,EAAoB5tC,CAAM,EAC3C,OAAAgL,EAAK,QAAO,EACLA,CACR,CACD,SAAS2gC,EAAgB,CACvB,UAAApwB,EACA,SAAA9L,EACA,SAAAk+B,EACA,kBAAAd,EACA,2BAAA7gC,EACA,WAAAka,EAAa,GACb,YAAAioB,EAAc,EAChB,EAAG,CAMD,GALIjoB,MACE5M,EAAe,oBAAoBiC,EAAW,CAChD,SAAU9L,EAAS,QACzB,CAAK,EAEC0+B,EAAa,CACf,MAAMroB,EAAMkmB,EAAO,EAAGhgC,CAA0B,EAE1ChM,EAAS,CACb,aAAc,KACd,eAAgB,KAChB,IAAK,KACL,MALYyP,EAAS,OAAS,WAAW,kBAAoB,GAM7D,WAAY,KACZ,IAAAqW,CACN,EACI,UAAWvD,KAAOorB,EAChB3tC,EAAO,WAAa6sC,EAAkB,IAAItqB,CAAG,EAC7CviB,EAAO,IAAMuiB,EACbgrB,EAAOvtC,CAAM,EAGlB,CAEM,EAEA,CAACI,EAAyBC,EAAS8V,IAAwB,yCAIlE,OAAO,eAAe9V,EAAS,aAAe,CAC5C,MAAO,EACT,GACAA,EAAQ,sBAAwB,OAChC,IAAI+V,EAAQD,EAAoB,CAAC,EAC7BkB,EAASlB,EAAoB,CAAC,EAC9Bi4B,GAAYj4B,EAAoB,EAAE,EAClCk4B,EAAOl4B,EAAoB,EAAE,EAC7BmD,EAAiBnD,EAAoB,CAAC,EAC1C,MAAMm4B,EAAN,KAA4B,CAU1B,YAAYzqC,EAAS,CAgHrBgG,EAAA,KAAA0kC,GAgEA1kC,EAAA,KAAA2kC,GAkBA3kC,EAAA,KAAA4kC,GA6FA5kC,EAAA,KAAA6kC,GAxSA7kC,EAAA,KAAA8kC,EAAA,QACA9kC,EAAA,KAAA+kC,EAAc,IACd/kC,EAAA,KAAAglC,EAAkB,KAAK,UAAU,KAAK,IAAI,GAC1ChlC,EAAA,KAAAilC,EAAoB,KAAK,YAAY,KAAK,IAAI,GAC9CjlC,EAAA,KAAAklC,EAAW,IAAI,KACfllC,EAAA,KAAAmlC,EAAkB,IAClBnlC,EAAA,KAAAolC,EAAgB,IAChBplC,EAAA,KAAAqlC,EAAA,QAGOZ,EAAsB,eACzBA,EAAsB,aAAe,GACrCF,GAAU,eAAe,WAAWvqC,EAAQ,IAAI,EAChDwqC,EAAK,UAAU,WAAWxqC,EAAQ,IAAI,GAExCA,EAAQ,UAAU,oBAAoB,CAACuqC,GAAU,eAAgBC,EAAK,SAAS,CAAC,EAChFnkC,GAAA,KAAKglC,EAAarrC,EAAQ,WAC1B,KAAK,UAAYA,EAAQ,UACzB,KAAK,IAAMA,EAAQ,IACnBqG,GAAA,KAAKykC,EAAwB9qC,EAAQ,sBACrCuG,EAAA,KAAK8kC,GAAW,SAAS,IAAI,CAC9B,CACD,IAAI,SAAU,CACZ,OAAO9kC,EAAA,KAAK2kC,GAAS,OAAS,CAC/B,CACD,cAAclwB,EAAM,CAClBzU,EAAA,KAAK8kC,GAAW,cAAcrwB,CAAI,CACnC,CACD,WAAWA,EAAOzU,EAAA,KAAK8kC,GAAW,QAAO,EAAI,CAC3Cj/B,EAAA,KAAKy+B,EAAAS,IAAL,WACItwB,IAASzI,EAAM,qBAAqB,KACtC,KAAK,qBAAqB,EAAK,EAC/B,KAAK,aAAY,GAEjB,KAAK,YAAW,EAElBhM,EAAA,KAAK8kC,GAAW,cACZrwB,IAASzI,EAAM,qBAAqB,OACtC,KAAK,IAAI,UAAU,OAAO,kBAAmByI,IAASzI,EAAM,qBAAqB,QAAQ,EACzF,KAAK,IAAI,UAAU,OAAO,aAAcyI,IAASzI,EAAM,qBAAqB,GAAG,EAC/E,KAAK,IAAI,OAAS,GAErB,CACD,qBAAqBg5B,EAAc,CACjC,GAAI,CAACA,GAAgBhlC,EAAA,KAAK8kC,GAAW,QAAO,IAAO94B,EAAM,qBAAqB,IAC5E,OAEF,GAAI,CAACg5B,GACH,UAAWl2B,KAAU9O,EAAA,KAAK2kC,GAAS,OAAM,EACvC,GAAI71B,EAAO,UAAW,CACpBA,EAAO,gBAAe,EACtB,QAISjJ,EAAA,KAAKw+B,EAAAY,IAAL,UAA4B,CACzC,QAAS,EACT,QAAS,CACf,GACW,gBAAe,CACvB,CACD,gBAAgBjxB,EAAW,CACzBhU,EAAA,KAAK8kC,GAAW,gBAAgB9wB,CAAS,CAC1C,CACD,YAAYpe,EAAQ,CAClBoK,EAAA,KAAK8kC,GAAW,YAAYlvC,CAAM,CACnC,CACD,QAAS,CACP,KAAK,IAAI,MAAM,cAAgB,OAC/B,UAAWkZ,KAAU9O,EAAA,KAAK2kC,GAAS,OAAM,EACvC71B,EAAO,cAAa,CAEvB,CACD,SAAU,CACR,KAAK,IAAI,MAAM,cAAgB,OAC/B,UAAWA,KAAU9O,EAAA,KAAK2kC,GAAS,OAAM,EACvC71B,EAAO,eAAc,EAEvBjJ,EAAA,KAAKy+B,EAAAS,IAAL,WACI,KAAK,UACP,KAAK,IAAI,OAAS,GAErB,CACD,gBAAgBj2B,EAAQ,CACA9O,EAAA,KAAK8kC,GAAW,UAAS,IACzBh2B,GAGtB9O,EAAA,KAAK8kC,GAAW,gBAAgBh2B,CAAM,CACvC,CACD,aAAc,CACZ,KAAK,IAAI,iBAAiB,cAAe9O,EAAA,KAAK0kC,EAAiB,EAC/D,KAAK,IAAI,iBAAiB,YAAa1kC,EAAA,KAAKykC,EAAe,CAC5D,CACD,cAAe,CACb,KAAK,IAAI,oBAAoB,cAAezkC,EAAA,KAAK0kC,EAAiB,EAClE,KAAK,IAAI,oBAAoB,YAAa1kC,EAAA,KAAKykC,EAAe,CAC/D,CACD,OAAO31B,EAAQ,CACb9O,EAAA,KAAK2kC,GAAS,IAAI71B,EAAO,GAAIA,CAAM,CACpC,CACD,OAAOA,EAAQ,OACb9O,EAAA,KAAK2kC,GAAS,OAAO71B,EAAO,EAAE,GAC9BpL,EAAA1D,EAAA,KAAKukC,KAAL,MAAA7gC,EAA4B,yBAAyBoL,EAAO,WAC7D,CACD,OAAOA,EAAQ,CACb9O,EAAA,KAAK8kC,GAAW,aAAah2B,CAAM,EACnC,KAAK,OAAOA,CAAM,EAClBA,EAAO,IAAI,MAAM,QAAU,OAC3B,WAAW,IAAM,CACfA,EAAO,IAAI,MAAM,QAAU,GAC3BA,EAAO,IAAI,SACXA,EAAO,gBAAkB,GACrB,SAAS,gBAAkB,SAAS,MACtC9O,EAAA,KAAK8kC,GAAW,oBAEnB,EAAE,CAAC,EACC9kC,EAAA,KAAK6kC,IACR,KAAK,qBAAqB,EAAK,CAElC,CAaD,IAAI/1B,EAAQ,CAIV,GAHAjJ,EAAA,KAAKs+B,EAAAe,IAAL,UAAmBp2B,GACnB9O,EAAA,KAAK8kC,GAAW,UAAUh2B,CAAM,EAChC,KAAK,OAAOA,CAAM,EACd,CAACA,EAAO,gBAAiB,CAC3B,MAAMqJ,EAAMrJ,EAAO,SACnB,KAAK,IAAI,OAAOqJ,CAAG,EACnBrJ,EAAO,gBAAkB,GAE3B,KAAK,gBAAgBA,CAAM,EAC3BA,EAAO,UAAS,EAChB9O,EAAA,KAAK8kC,GAAW,uBAAuBh2B,CAAM,CAC9C,CACD,gBAAgBA,EAAQ,QACtBpL,EAAA1D,EAAA,KAAKukC,KAAL,MAAA7gC,EAA4B,iBAAiB,KAAK,IAAKoL,EAAO,IAAKA,EAAO,WAAY,GACvF,CACD,aAAaA,EAAQ,CACfA,EAAO,mBACTA,EAAO,QAAO,EAEd,KAAK,IAAIA,CAAM,CAElB,CACD,cAAcA,EAAQ,CACpB,MAAMgB,EAAM,IAAM,CAChB,KAAK,aAAahB,CAAM,CAC9B,EACUiB,EAAO,IAAM,CACjBjB,EAAO,OAAM,CACnB,EACI,KAAK,YAAY,CACf,IAAAgB,EACA,KAAAC,EACA,SAAU,EAChB,CAAK,CACF,CACD,kBAAkBjB,EAAQ,CACxB,MAAMgB,EAAM,IAAM,CAChB,KAAK,aAAahB,CAAM,CAC9B,EACUiB,EAAO,IAAM,CACjBjB,EAAO,OAAM,CACnB,EACI,KAAK,YAAY,CACf,IAAAgB,EACA,KAAAC,EACA,SAAU,EAChB,CAAK,CACF,CACD,WAAY,CACV,OAAO/P,EAAA,KAAK8kC,GAAW,OACxB,CAUD,YAAYjlC,EAAM,CAChB,OAAQA,EAAK,eAAc,CACzB,KAAKmM,EAAM,qBAAqB,SAC9B,OAAOg4B,GAAU,eAAe,YAAYnkC,EAAM,KAAMG,EAAA,KAAK8kC,EAAU,EACzE,KAAK94B,EAAM,qBAAqB,IAC9B,OAAOi4B,EAAK,UAAU,YAAYpkC,EAAM,KAAMG,EAAA,KAAK8kC,EAAU,CAChE,CACD,OAAO,IACR,CAeD,YAAYh2B,EAAQ,CAClB9O,EAAA,KAAK8kC,GAAW,YAAYh2B,CAAM,CACnC,CACD,eAAeA,EAAQ,CACrB9O,EAAA,KAAK8kC,GAAW,eAAeh2B,CAAM,CACtC,CACD,WAAWA,EAAQ,CACjB,OAAO9O,EAAA,KAAK8kC,GAAW,WAAWh2B,CAAM,CACzC,CACD,SAASA,EAAQ,CACf9O,EAAA,KAAK8kC,GAAW,SAASh2B,CAAM,CAChC,CACD,UAAU1G,EAAO,CACf,KAAM,CACJ,MAAAsG,CACN,EAAQ1C,EAAM,YAAY,SACtB,GAAI,EAAA5D,EAAM,SAAW,GAAKA,EAAM,SAAWsG,IAGvCtG,EAAM,SAAW,KAAK,KAGrBpI,EAAA,KAAK4kC,GAIV,IADA9kC,GAAA,KAAK8kC,EAAkB,IACnB,CAAC5kC,EAAA,KAAKwkC,GAAa,CACrB1kC,GAAA,KAAK0kC,EAAc,IACnB,OAEF3+B,EAAA,KAAKw+B,EAAAY,IAAL,UAA4B78B,GAC7B,CACD,YAAYA,EAAO,CACjB,KAAM,CACJ,MAAAsG,CACN,EAAQ1C,EAAM,YAAY,SAItB,GAHI5D,EAAM,SAAW,GAAKA,EAAM,SAAWsG,GAGvCtG,EAAM,SAAW,KAAK,IACxB,OAEFtI,GAAA,KAAK8kC,EAAkB,IACvB,MAAM91B,EAAS9O,EAAA,KAAK8kC,GAAW,UAAS,EACxChlC,GAAA,KAAK0kC,EAAc,CAAC11B,GAAUA,EAAO,QAAO,EAC7C,CACD,KAAK1G,EAAO,CACV,MAAM9D,EAAK8D,EAAM,aAAa,QAAQ,YAAY,EAC5C0G,EAAS9O,EAAA,KAAK8kC,GAAW,UAAUxgC,CAAE,EAC3C,GAAI,CAACwK,EACH,OAEF1G,EAAM,eAAc,EACpBA,EAAM,aAAa,WAAa,OAChCvC,EAAA,KAAKs+B,EAAAe,IAAL,UAAmBp2B,GACnB,MAAMxR,GAAO,KAAK,IAAI,sBAAqB,EACrC6nC,EAAO/8B,EAAM,QAAU9K,GAAK,EAC5B8nC,GAAOh9B,EAAM,QAAU9K,GAAK,EAClCwR,EAAO,UAAUq2B,EAAOr2B,EAAO,OAAQs2B,GAAOt2B,EAAO,MAAM,EAC3D,KAAK,gBAAgBA,CAAM,EAC3BA,EAAO,IAAI,OACZ,CACD,SAAS1G,EAAO,CACdA,EAAM,eAAc,CACrB,CACD,SAAU,WACJ1E,EAAA1D,EAAA,KAAK8kC,GAAW,UAAS,IAAzB,YAAAphC,EAA6B,UAAW,MAC1C1D,EAAA,KAAK8kC,GAAW,gBAAgB,IAAI,EAEtC,UAAWh2B,KAAU9O,EAAA,KAAK2kC,GAAS,OAAM,GACvC/+B,EAAA5F,EAAA,KAAKukC,KAAL,MAAA3+B,EAA4B,yBAAyBkJ,EAAO,YAC5DA,EAAO,UAAU,IAAI,EACrBA,EAAO,gBAAkB,GACzBA,EAAO,IAAI,SAEb,KAAK,IAAM,KACX9O,EAAA,KAAK2kC,GAAS,QACd3kC,EAAA,KAAK8kC,GAAW,YAAY,IAAI,CACjC,CAUD,OAAO,CACL,SAAAz/B,CACJ,EAAK,CACD,KAAK,SAAWA,KACZ6J,EAAe,oBAAoB,KAAK,IAAK7J,CAAQ,KACrD4H,EAAO,YAAY,KAAM,KAAK,IAAK,CAAC,WAAY,MAAM,CAAC,EAC3D,UAAW6B,KAAU9O,EAAA,KAAK8kC,GAAW,WAAW,KAAK,SAAS,EAC5D,KAAK,IAAIh2B,CAAM,EAEjB,KAAK,WAAU,CAChB,CACD,OAAO,CACL,SAAAzJ,CACJ,EAAK,CACDrF,EAAA,KAAK8kC,GAAW,iBAChB,KAAK,SAAWz/B,KACZ6J,EAAe,oBAAoB,KAAK,IAAK,CAC/C,SAAU7J,EAAS,QACzB,CAAK,EACD,KAAK,WAAU,CAChB,CACD,IAAI,gBAAiB,CACnB,KAAM,CACJ,UAAAsI,EACA,WAAAC,CACN,EAAQ,KAAK,SAAS,QAClB,MAAO,CAACD,EAAWC,CAAU,CAC9B,CACF,EA9UD,IAAMy3B,EAANnB,EACEK,EAAA,YACAC,EAAA,YACAC,EAAA,YACAC,EAAA,YACAC,EAAA,YACAC,EAAA,YACAC,EAAA,YACAC,EAAA,YAkHAX,EAAA,YAAAe,GAAa,SAACp2B,EAAQ,OAChBA,EAAO,SAAW,OAGtB,KAAK,OAAOA,CAAM,GAClBpL,EAAAoL,EAAO,SAAP,MAAApL,EAAe,OAAOoL,GACtBA,EAAO,UAAU,IAAI,EACjBA,EAAO,KAAOA,EAAO,kBACvBA,EAAO,IAAI,SACX,KAAK,IAAI,OAAOA,EAAO,GAAG,GAE7B,EAqDDs1B,EAAA,YAAAkB,GAAgB,SAAC1vC,EAAQ,CACvB,OAAQoK,EAAA,KAAK8kC,GAAW,QAAS,EAAA,CAC/B,KAAK94B,EAAM,qBAAqB,SAC9B,OAAO,IAAIg4B,GAAU,eAAepuC,CAAM,EAC5C,KAAKoW,EAAM,qBAAqB,IAC9B,OAAO,IAAIi4B,EAAK,UAAUruC,CAAM,CACnC,CACD,OAAO,IACR,EAUDyuC,EAAA,YAAAY,GAAsB,SAAC78B,EAAO,CAC5B,MAAM9D,EAAK,KAAK,YACVwK,EAASjJ,EAAA,KAAKu+B,EAAAkB,IAAL,UAAsB,CACnC,OAAQ,KACR,GAAAhhC,EACA,EAAG8D,EAAM,QACT,EAAGA,EAAM,QACT,UAAWpI,EAAA,KAAK8kC,EACtB,GACI,OAAIh2B,GACF,KAAK,IAAIA,CAAM,EAEVA,CACR,EAgFDw1B,EAAA,YAAAS,GAAQ,UAAG,CACTjlC,GAAA,KAAK+kC,EAAgB,IACrB,UAAW/1B,KAAU9O,EAAA,KAAK2kC,GAAS,OAAM,EACnC71B,EAAO,WACTA,EAAO,OAAM,EAGjBhP,GAAA,KAAK+kC,EAAgB,GACtB,EAxSDp3B,GATI43B,EASG,eAAe,IAsUxBpvC,EAAQ,sBAAwBovC,CAEzB,EAEA,CAACrvC,EAAyBC,EAAS8V,IAAwB,2CAIlE,OAAO,eAAe9V,EAAS,aAAe,CAC5C,MAAO,EACT,GACAA,EAAQ,eAAiB,OACzB,IAAI+V,EAAQD,EAAoB,CAAC,EAC7BkB,EAASlB,EAAoB,CAAC,EAC9BE,GAAUF,EAAoB,CAAC,EACnC,MAAMw5B,EAAN,cAA6Bt5B,GAAQ,gBAAiB,CAiBpD,YAAYrW,EAAQ,CAClB,MAAM,CACJ,GAAGA,EACH,KAAM,gBACZ,CAAK,EAmCH6J,EAAA,KAAA+lC,GAqBA/lC,EAAA,KAAAgmC,GAsFAhmC,EAAA,KAAAimC,GAWAjmC,EAAA,KAAAkmC,GA7KAlmC,EAAA,KAAAmmC,EAAsB,KAAK,cAAc,KAAK,IAAI,GAClDnmC,EAAA,KAAAomC,EAAuB,KAAK,eAAe,KAAK,IAAI,GACpDpmC,EAAA,KAAAqmC,EAAuB,KAAK,eAAe,KAAK,IAAI,GACpDrmC,EAAA,KAAAsmC,EAAyB,KAAK,iBAAiB,KAAK,IAAI,GACxDtmC,EAAA,KAAAumC,EAAA,QACAvmC,EAAA,KAAAwmC,EAAW,IACXxmC,EAAA,KAAAymC,EAAe,GAAG,KAAK,aACvBzmC,EAAA,KAAA0mC,EAA2B,IAC3B1mC,EAAA,KAAA2mC,EAAA,QAaEtmC,GAAA,KAAKkmC,EAASpwC,EAAO,OAAS2vC,EAAe,eAAiBt5B,GAAQ,iBAAiB,mBACvFnM,GAAA,KAAKsmC,EAAYxwC,EAAO,UAAY2vC,EAAe,iBACpD,CACD,OAAO,WAAWc,EAAM,CACtB,KAAK,aAAe,IAAI,IAAI,CAAC,6BAA8B,8BAA8B,EAAE,IAAIjrC,GAAO,CAACA,EAAKirC,EAAK,IAAIjrC,CAAG,CAAC,CAAC,CAAC,EAC3H,MAAMmT,EAAQ,iBAAiB,SAAS,eAAe,EACvD,KAAK,iBAAmB,WAAWA,EAAM,iBAAiB,oBAAoB,CAAC,CAChF,CACD,OAAO,oBAAoBlE,EAAMvQ,EAAO,CACtC,OAAQuQ,EAAI,CACV,KAAK2B,EAAM,2BAA2B,cACpCu5B,EAAe,iBAAmBzrC,EAClC,MACF,KAAKkS,EAAM,2BAA2B,eACpCu5B,EAAe,cAAgBzrC,EAC/B,KACH,CACF,CACD,aAAauQ,EAAMvQ,EAAO,CACxB,OAAQuQ,EAAI,CACV,KAAK2B,EAAM,2BAA2B,cACpCnG,EAAA,KAAK2/B,EAAAc,IAAL,UAAqBxsC,GACrB,MACF,KAAKkS,EAAM,2BAA2B,eACpCnG,EAAA,KAAK4/B,EAAAc,IAAL,UAAkBzsC,GAClB,KACH,CACF,CACD,WAAW,2BAA4B,CACrC,MAAO,CAAC,CAACkS,EAAM,2BAA2B,cAAeu5B,EAAe,gBAAgB,EAAG,CAACv5B,EAAM,2BAA2B,eAAgBu5B,EAAe,eAAiBt5B,GAAQ,iBAAiB,iBAAiB,CAAC,CACzN,CACD,IAAI,oBAAqB,CACvB,MAAO,CAAC,CAACD,EAAM,2BAA2B,cAAehM,EAAA,KAAKomC,EAAS,EAAG,CAACp6B,EAAM,2BAA2B,eAAgBhM,EAAA,KAAKgmC,EAAM,CAAC,CACzI,CAqCD,uBAAwB,CACtB,MAAMtwC,EAAQ,KAAK,YACnB,MAAO,CAAC,CAAC6vC,EAAe,iBAAmB7vC,EAAO,EAAE6vC,EAAe,iBAAmBvlC,EAAA,KAAKomC,IAAa1wC,CAAK,CAC9G,CACD,SAAU,CACR,MAAM,QAAO,EACT,KAAK,MAAQ,OAGZ,KAAK,iBACR,KAAK,OAAO,IAAI,IAAI,EAEvB,CACD,gBAAiB,CACX,KAAK,iBAGT,KAAK,OAAO,gBAAgB,EAAK,EACjC,KAAK,OAAO,cAAcsW,EAAM,qBAAqB,QAAQ,EAC7D,MAAM,eAAc,EACpB,KAAK,WAAW,UAAU,OAAO,SAAS,EAC1C,KAAK,UAAU,gBAAkB,GACjC,KAAK,IAAI,UAAY,GACrB,KAAK,IAAI,gBAAgB,uBAAuB,EAChD,KAAK,UAAU,iBAAiB,UAAWhM,EAAA,KAAK+lC,EAAsB,EACtE,KAAK,UAAU,iBAAiB,QAAS/lC,EAAA,KAAK6lC,EAAoB,EAClE,KAAK,UAAU,iBAAiB,OAAQ7lC,EAAA,KAAK4lC,EAAmB,EAChE,KAAK,UAAU,iBAAiB,QAAS5lC,EAAA,KAAK8lC,EAAoB,EACnE,CACD,iBAAkB,CACX,KAAK,iBAGV,KAAK,OAAO,gBAAgB,EAAI,EAChC,MAAM,gBAAe,EACrB,KAAK,WAAW,UAAU,IAAI,SAAS,EACvC,KAAK,UAAU,gBAAkB,GACjC,KAAK,IAAI,aAAa,wBAAyB9lC,EAAA,KAAKkmC,EAAY,EAChE,KAAK,IAAI,UAAY,GACrB,KAAK,UAAU,oBAAoB,UAAWlmC,EAAA,KAAK+lC,EAAsB,EACzE,KAAK,UAAU,oBAAoB,QAAS/lC,EAAA,KAAK6lC,EAAoB,EACrE,KAAK,UAAU,oBAAoB,OAAQ7lC,EAAA,KAAK4lC,EAAmB,EACnE,KAAK,UAAU,oBAAoB,QAAS5lC,EAAA,KAAK8lC,EAAoB,EACrE,KAAK,IAAI,MAAM,CACb,cAAe,EACrB,CAAK,EACD,KAAK,UAAY,GACjB,KAAK,OAAO,IAAI,UAAU,IAAI,iBAAiB,EAChD,CACD,QAAQ19B,EAAO,CACb,MAAM,QAAQA,CAAK,EACfA,EAAM,SAAW,KAAK,WACxB,KAAK,UAAU,OAElB,CACD,WAAY,CACN,KAAK,QAGT,KAAK,eAAc,EACnB,KAAK,UAAU,QAChB,CACD,SAAU,CACR,MAAO,CAAC,KAAK,WAAa,KAAK,UAAU,UAAU,KAAM,IAAK,EAC/D,CACD,QAAS,CACP,KAAK,UAAY,GACjB,KAAK,OAAO,gBAAgB,EAAI,EAChC,KAAK,OAAO,IAAI,UAAU,IAAI,iBAAiB,EAC/C,MAAM,OAAM,CACb,CAgCD,QAAS,CACF,KAAK,iBAGV,MAAM,OAAM,EACPpI,EAAA,KAAKmmC,KACRrmC,GAAA,KAAKqmC,EAA2B,IAChC,KAAK,OAAO,kBAAkB,IAAI,GAEpC,KAAK,gBAAe,EACpBrmC,GAAA,KAAKmmC,EAAWpgC,EAAA,KAAK6/B,EAAAc,IAAL,WAAoB,QAAO,GAC3C3gC,EAAA,KAAK8/B,EAAAc,IAAL,WACD,CACD,yBAA0B,CACxB,OAAO,KAAK,cACb,CACD,SAASr+B,EAAO,CACd,KAAK,eAAc,EACnB,KAAK,UAAU,OAChB,CACD,QAAQA,EAAO,CACTA,EAAM,SAAW,KAAK,KAAOA,EAAM,MAAQ,UAC7C,KAAK,eAAc,EACnB,KAAK,UAAU,QAElB,CACD,iBAAiBA,EAAO,CACtBm9B,EAAe,iBAAiB,KAAK,KAAMn9B,CAAK,CACjD,CACD,eAAeA,EAAO,CACpB,KAAK,UAAY,EAClB,CACD,cAAcA,EAAO,CACnB,KAAK,UAAY,EAClB,CACD,eAAeA,EAAO,CACpB,KAAK,OAAO,IAAI,UAAU,OAAO,kBAAmB,KAAK,QAAO,CAAE,CACnE,CACD,gBAAiB,CACf,KAAK,UAAU,aAAa,OAAQ,SAAS,EAC7C,KAAK,UAAU,gBAAgB,gBAAgB,CAChD,CACD,eAAgB,CACd,KAAK,UAAU,aAAa,OAAQ,SAAS,EAC7C,KAAK,UAAU,aAAa,iBAAkB,EAAI,CACnD,CACD,QAAS,CACP,GAAI,KAAK,IACP,OAAO,KAAK,IAEd,IAAIs+B,EAAOC,EACP,KAAK,QACPD,EAAQ,KAAK,EACbC,EAAQ,KAAK,GAEf,MAAM,OAAM,EACZ,KAAK,UAAY,SAAS,cAAc,KAAK,EAC7C,KAAK,UAAU,UAAY,WAC3B,KAAK,UAAU,aAAa,KAAM3mC,EAAA,KAAKkmC,EAAY,EACnD,KAAK,cAAa,EAClBX,EAAe,aAAa,IAAI,8BAA8B,EAAE,KAAKlsC,WAAO,OAAAqK,EAAA,KAAK,YAAL,YAAAA,EAAgB,aAAa,aAAcrK,IAAI,EAC3HksC,EAAe,aAAa,IAAI,4BAA4B,EAAE,KAAKlsC,WAAO,OAAAqK,EAAA,KAAK,YAAL,YAAAA,EAAgB,aAAa,kBAAmBrK,IAAI,EAC9H,KAAK,UAAU,gBAAkB,GACjC,KAAM,CACJ,MAAAkV,CACN,EAAQ,KAAK,UAQT,GAPAA,EAAM,SAAW,QAAQvO,EAAA,KAAKomC,8BAC9B73B,EAAM,MAAQvO,EAAA,KAAKgmC,GACnB,KAAK,IAAI,OAAO,KAAK,SAAS,EAC9B,KAAK,WAAa,SAAS,cAAc,KAAK,EAC9C,KAAK,WAAW,UAAU,IAAI,UAAW,SAAS,EAClD,KAAK,IAAI,OAAO,KAAK,UAAU,KAC3B/4B,EAAO,YAAY,KAAM,KAAK,IAAK,CAAC,WAAY,SAAS,CAAC,EAC1D,KAAK,MAAO,CACd,KAAM,CAACoB,GAAaC,CAAY,EAAI,KAAK,iBACzC,KAAK,MAAMo4B,EAAQr4B,GAAas4B,EAAQr4B,EAAc,KAAK,MAAQD,GAAa,KAAK,OAASC,CAAY,EAC1G,UAAWs4B,MAAQ5mC,EAAA,KAAKimC,GAAS,MAAM;AAAA,CAAI,EAAG,CAC5C,MAAM9tB,GAAM,SAAS,cAAc,KAAK,EACxCA,GAAI,OAAOyuB,GAAO,SAAS,eAAeA,EAAI,EAAI,SAAS,cAAc,IAAI,CAAC,EAC9E,KAAK,UAAU,OAAOzuB,EAAG,EAE3B,KAAK,IAAI,UAAY,GACrB,KAAK,UAAU,gBAAkB,QAEjC,KAAK,IAAI,UAAY,GACrB,KAAK,UAAU,gBAAkB,GAEnC,OAAO,KAAK,GACb,CACD,IAAI,YAAa,CACf,OAAO,KAAK,SACb,CACD,OAAO,YAAYtY,EAAMkN,EAAQ8B,EAAW,CAC1C,MAAMC,GAAS,MAAM,YAAYjP,EAAMkN,EAAQ8B,CAAS,EACxD,OAAA/O,GAAAgP,GAAOs3B,EAAYvmC,EAAK,UACxBC,GAAAgP,GAAOk3B,EAASh6B,EAAM,KAAK,aAAa,GAAGnM,EAAK,KAAK,GACrDC,GAAAgP,GAAOm3B,EAAWpmC,EAAK,OAChBiP,EACR,CACD,WAAY,CACV,GAAI,KAAK,UACP,OAAO,KAET,MAAM+3B,EAAUtB,EAAe,iBAAmB,KAAK,YACjDjoC,EAAO,KAAK,QAAQupC,EAASA,CAAO,EACpC/1B,EAAQ7E,GAAQ,iBAAiB,cAAc,QAAQ,KAAK,gBAAkB,iBAAiB,KAAK,SAAS,EAAE,MAAQjM,EAAA,KAAKgmC,EAAM,EACxI,MAAO,CACL,eAAgBh6B,EAAM,qBAAqB,SAC3C,MAAA8E,EACA,SAAU9Q,EAAA,KAAKomC,GACf,MAAOpmC,EAAA,KAAKimC,GACZ,UAAW,KAAK,UAChB,KAAA3oC,EACA,SAAU,KAAK,QACrB,CACG,CACF,EAtTD,IAAMwpC,EAANvB,EACEK,EAAA,YACAC,EAAA,YACAC,EAAA,YACAC,EAAA,YACAC,EAAA,YACAC,EAAA,YACAC,EAAA,YACAC,EAAA,YACAC,EAAA,YA+CAZ,EAAA,YAAAc,GAAe,SAAC3Z,EAAU,CACxB,MAAMoa,EAAcxnB,IAAQ,CAC1B,KAAK,UAAU,MAAM,SAAW,QAAQA,8BACxC,KAAK,UAAU,EAAG,EAAEA,GAAOvf,EAAA,KAAKomC,IAAa,KAAK,WAAW,EAC7DtmC,GAAA,KAAKsmC,EAAY7mB,IACjB1Z,EAAA,KAAK8/B,EAAAc,IAAL,UACN,EACUO,EAAgBhnC,EAAA,KAAKomC,GAC3B,KAAK,YAAY,CACf,IAAK,IAAM,CACTW,EAAYpa,CAAQ,CACrB,EACD,KAAM,IAAM,CACVoa,EAAYC,CAAa,CAC1B,EACD,SAAU,GACV,KAAMh7B,EAAM,2BAA2B,cACvC,oBAAqB,GACrB,SAAU,EAChB,CAAK,CACF,EACDy5B,EAAA,YAAAc,GAAY,SAACz1B,EAAO,CAClB,MAAMm2B,EAAajnC,EAAA,KAAKgmC,GACxB,KAAK,YAAY,CACf,IAAK,IAAM,CACTlmC,GAAA,KAAKkmC,EAAS,KAAK,UAAU,MAAM,MAAQl1B,EAC5C,EACD,KAAM,IAAM,CACVhR,GAAA,KAAKkmC,EAAS,KAAK,UAAU,MAAM,MAAQiB,EAC5C,EACD,SAAU,GACV,KAAMj7B,EAAM,2BAA2B,eACvC,oBAAqB,GACrB,SAAU,EAChB,CAAK,CACF,EAwED05B,EAAA,YAAAc,GAAY,UAAG,CACb,MAAMU,EAAO,KAAK,UAAU,qBAAqB,KAAK,EACtD,GAAIA,EAAK,SAAW,EAClB,OAAO,KAAK,UAAU,UAExB,MAAMjoC,EAAS,CAAA,EACf,UAAWkZ,KAAO+uB,EAChBjoC,EAAO,KAAKkZ,EAAI,UAAU,QAAQ,WAAY,EAAE,CAAC,EAEnD,OAAOlZ,EAAO,KAAK;AAAA,CAAI,CACxB,EACD0mC,EAAA,YAAAc,GAAoB,UAAG,CACrB,KAAM,CAACp4B,EAAaC,CAAY,EAAI,KAAK,iBACzC,IAAIhR,EACJ,GAAI,KAAK,gBACPA,EAAO,KAAK,IAAI,4BACX,CACL,KAAM,CACJ,aAAA6pC,GACA,IAAAhvB,CACD,EAAG,KACEivB,GAAejvB,EAAI,MAAM,QAC/BA,EAAI,MAAM,QAAU,SACpBgvB,GAAa,IAAI,OAAO,KAAK,GAAG,EAChC7pC,EAAO6a,EAAI,wBACXA,EAAI,OAAM,EACVA,EAAI,MAAM,QAAUivB,GAEtB,KAAK,MAAQ9pC,EAAK,MAAQ+Q,EAC1B,KAAK,OAAS/Q,EAAK,OAASgR,CAC7B,EAvLDb,GAVIq5B,EAUG,0BAA0B,IACjCr5B,GAXIq5B,EAWG,gBACPr5B,GAZIq5B,EAYG,mBAAmB,GAC1Br5B,GAbIq5B,EAaG,gBAAgB,MACvBr5B,GAdIq5B,EAcG,mBAAmB,IAC1Br5B,GAfIq5B,EAeG,mBAAmB,IAAI75B,EAAO,gBAAgB,CAAC,CAAC,CAAC,aAAc,iBAAkB,SAAU,YAAY,EAAGs4B,EAAe,UAAU,cAAc,CAAC,CAAC,GAC1J93B,GAhBIq5B,EAgBG,QAAQ,YAuSjB7wC,EAAQ,eAAiB6wC,CAElB,EAEA,CAAC9wC,EAAyBC,EAAS8V,IAAwB,4JAIlE,OAAO,eAAe9V,EAAS,aAAe,CAC5C,MAAO,EACT,GACAA,EAAQ,UAAY,OACpB,OAAO,eAAeA,EAAS,WAAa,CAC1C,WAAY,GACZ,IAAK,UAAY,CACf,OAAOoxC,GAAe,QACvB,CACH,GACA,IAAIr7B,EAAQD,EAAoB,CAAC,EAC7BE,EAAUF,EAAoB,CAAC,EAC/Bs7B,GAAiBt7B,EAAoB,EAAE,EACvCkB,EAASlB,EAAoB,CAAC,EAClC,MAAMu7B,EAAe,GACfC,GAAN,cAAwBt7B,EAAQ,gBAAiB,CAoB/C,YAAYrW,EAAQ,CAClB,MAAM,CACJ,GAAGA,EACH,KAAM,WACZ,CAAK,EA+CH6J,EAAA,KAAA+nC,GAiBA/nC,EAAA,KAAAgmC,GAiBAhmC,EAAA,KAAAgoC,GAsFAhoC,EAAA,KAAAioC,GAgBAjoC,EAAA,KAAAkoC,GAeAloC,EAAA,KAAAmoC,IAiCAnoC,EAAA,KAAAooC,IAQApoC,EAAA,KAAAqoC,GA0CAroC,EAAA,KAAAsoC,IAqEAtoC,EAAA,KAAAuoC,GAMAvoC,EAAA,KAAAwoC,GAQAxoC,EAAA,KAAAyoC,GAwCAzoC,EAAA,KAAA0oC,GAiCA1oC,EAAA,KAAA2oC,GAMA3oC,EAAA,KAAA4oC,GAeA5oC,EAAA,KAAA6oC,GAgCA7oC,EAAA,KAAA8oC,GAwBA9oC,EAAA,KAAA+oC,IAQA/oC,EAAA,KAAAgpC,IAgBAhpC,EAAA,KAAAipC,IAGAjpC,EAAA,KAAAkpC,IA+BAlpC,EAAA,KAAAmpC,IAnlBAnpC,EAAA,KAAAopC,EAAe,GACfppC,EAAA,KAAAqpC,EAAc,GACdrpC,EAAA,KAAAspC,EAAa,GACbtpC,EAAA,KAAAupC,EAA0B,KAAK,kBAAkB,KAAK,IAAI,GAC1DvpC,EAAA,KAAAwpC,EAA2B,KAAK,mBAAmB,KAAK,IAAI,GAC5DxpC,EAAA,KAAAypC,EAAwB,KAAK,gBAAgB,KAAK,IAAI,GACtDzpC,EAAA,KAAA0pC,EAA0B,KAAK,kBAAkB,KAAK,IAAI,GAC1D1pC,EAAA,KAAA2pC,EAAkB,IAClB3pC,EAAA,KAAA4pC,EAAuB,IACvB5pC,EAAA,KAAA6pC,EAAa,MACb7pC,EAAA,KAAA8pC,EAAY,MACZ9pC,EAAA,KAAA+pC,EAAa,GACb/pC,EAAA,KAAAgqC,EAAc,GACdhqC,EAAA,KAAAiqC,EAAwB,MAWtB,KAAK,MAAQ9zC,EAAO,OAAS,KAC7B,KAAK,UAAYA,EAAO,WAAa,KACrC,KAAK,QAAUA,EAAO,SAAW,KACjC,KAAK,MAAQ,GACb,KAAK,aAAe,GACpB,KAAK,YAAc,GACnB,KAAK,YAAc,EACnB,KAAK,aAAe,KAAK,aAAe,EACxC,KAAK,EAAI,EACT,KAAK,EAAI,CACV,CACD,OAAO,WAAWywC,EAAM,CACtB,KAAK,aAAe,IAAI,IAAI,CAAC,+BAAgC,wBAAwB,EAAE,IAAIjrC,GAAO,CAACA,EAAKirC,EAAK,IAAIjrC,CAAG,CAAC,CAAC,CAAC,CACxH,CACD,OAAO,oBAAoBiP,EAAMvQ,EAAO,CACtC,OAAQuQ,EAAI,CACV,KAAK2B,EAAM,2BAA2B,cACpCu7B,GAAU,kBAAoBztC,EAC9B,MACF,KAAKkS,EAAM,2BAA2B,UACpCu7B,GAAU,cAAgBztC,EAC1B,MACF,KAAKkS,EAAM,2BAA2B,YACpCu7B,GAAU,gBAAkBztC,EAAQ,IACpC,KACH,CACF,CACD,aAAauQ,EAAMvQ,EAAO,CACxB,OAAQuQ,EAAI,CACV,KAAK2B,EAAM,2BAA2B,cACpCnG,EAAA,KAAK2hC,EAAAmC,IAAL,UAAsB7vC,GACtB,MACF,KAAKkS,EAAM,2BAA2B,UACpCnG,EAAA,KAAK4/B,EAAAc,IAAL,UAAkBzsC,GAClB,MACF,KAAKkS,EAAM,2BAA2B,YACpCnG,EAAA,KAAK4hC,EAAAmC,IAAL,UAAoB9vC,GACpB,KACH,CACF,CACD,WAAW,2BAA4B,CACrC,MAAO,CAAC,CAACkS,EAAM,2BAA2B,cAAeu7B,GAAU,iBAAiB,EAAG,CAACv7B,EAAM,2BAA2B,UAAWu7B,GAAU,eAAiBt7B,EAAQ,iBAAiB,iBAAiB,EAAG,CAACD,EAAM,2BAA2B,YAAa,KAAK,MAAMu7B,GAAU,gBAAkB,GAAG,CAAC,CAAC,CACxS,CACD,IAAI,oBAAqB,CACvB,MAAO,CAAC,CAACv7B,EAAM,2BAA2B,cAAe,KAAK,WAAau7B,GAAU,iBAAiB,EAAG,CAACv7B,EAAM,2BAA2B,UAAW,KAAK,OAASu7B,GAAU,eAAiBt7B,EAAQ,iBAAiB,iBAAiB,EAAG,CAACD,EAAM,2BAA2B,YAAa,KAAK,MAAM,KAAO,KAAK,SAAWu7B,GAAU,gBAAgB,CAAC,CAAC,CAC1V,CAqDD,SAAU,CACR,MAAM,QAAO,EACT,KAAK,MAAQ,OAGZ,KAAK,SACR1hC,EAAA,KAAKoiC,EAAA4B,IAAL,WACAhkC,EAAA,KAAKqiC,EAAA4B,IAAL,YAEG,KAAK,kBACR,KAAK,OAAO,IAAI,IAAI,EACpBjkC,EAAA,KAAKsiC,EAAA4B,IAAL,YAEFlkC,EAAA,KAAK8iC,GAAAqB,IAAL,WACD,CACD,QAAS,CACH,KAAK,SAAW,OAGf,KAAK,WACR,KAAK,OAAM,EAEb,KAAK,OAAO,MAAQ,KAAK,OAAO,OAAS,EACzC,KAAK,OAAO,SACZ,KAAK,OAAS,KACdhqC,EAAA,KAAKupC,GAAU,aACfzpC,GAAA,KAAKypC,EAAY,MACjB,MAAM,OAAM,EACb,CACD,UAAUx8B,EAAQ,CACZ,CAAC,KAAK,QAAUA,EAClB,KAAK,WAAW,oBAAoB,IAAI,EAC/B,KAAK,QAAUA,IAAW,MACnC,KAAK,WAAW,iBAAiB,IAAI,EAEvC,MAAM,UAAUA,CAAM,CACvB,CACD,iBAAkB,CAChB,KAAM,CAACsB,EAAaC,CAAY,EAAI,KAAK,iBACnC1D,GAAQ,KAAK,MAAQyD,EACrBxD,GAAS,KAAK,OAASyD,EAC7B,KAAK,cAAc1D,GAAOC,EAAM,CACjC,CACD,gBAAiB,CACX7K,EAAA,KAAKopC,IAAmB,KAAK,SAAW,OAG5C,MAAM,eAAc,EACpB,KAAK,IAAI,UAAY,GACrB,KAAK,OAAO,iBAAiB,cAAeppC,EAAA,KAAKmpC,EAAuB,EACxE,KAAK,OAAO,iBAAiB,YAAanpC,EAAA,KAAKkpC,EAAqB,EACrE,CACD,iBAAkB,CACZ,CAAC,KAAK,aAAY,GAAM,KAAK,SAAW,OAG5C,MAAM,gBAAe,EACrB,KAAK,IAAI,UAAY,CAAC,KAAK,QAAO,EAClC,KAAK,IAAI,UAAU,OAAO,SAAS,EACnC,KAAK,OAAO,oBAAoB,cAAelpC,EAAA,KAAKmpC,EAAuB,EAC3E,KAAK,OAAO,oBAAoB,YAAanpC,EAAA,KAAKkpC,EAAqB,EACxE,CACD,WAAY,CACV,KAAK,IAAI,UAAY,CAAC,KAAK,QAAO,CACnC,CACD,SAAU,CACR,OAAO,KAAK,MAAM,SAAW,GAAK,KAAK,MAAM,SAAW,GAAK,KAAK,MAAM,CAAC,EAAE,SAAW,CACvF,CAoID,QAAS,CACHlpC,EAAA,KAAKopC,KAGT,MAAM,OAAM,EACZ,KAAK,UAAY,GACjB,KAAK,gBAAe,EACpB,KAAK,gBAAe,EACpBtpC,GAAA,KAAKspC,EAAkB,IACvB,KAAK,IAAI,UAAU,IAAI,UAAU,EACjCvjC,EAAA,KAAK8iC,GAAAqB,IAAL,UAAmB,IACnB,KAAK,OAAO,qBAAqB,EAAI,EACrC,KAAK,OAAO,gBAAgB,IAAI,EAChC,KAAK,IAAI,MAAM,CACb,cAAe,EACrB,CAAK,EACF,CACD,QAAQ5hC,EAAO,CACb,MAAM,QAAQA,CAAK,EACnB,KAAK,eAAc,CACpB,CACD,kBAAkBA,EAAO,CACnBA,EAAM,SAAW,GAAK,CAAC,KAAK,aAAc,GAAIpI,EAAA,KAAKopC,KAGvD,KAAK,gBAAe,EAChBhhC,EAAM,OAAS,SACjB,KAAK,IAAI,QAEXA,EAAM,gBAAe,EACrB,KAAK,OAAO,iBAAiB,eAAgBpI,EAAA,KAAKipC,EAAwB,EAC1E,KAAK,OAAO,iBAAiB,cAAejpC,EAAA,KAAKgpC,EAAuB,EACxEnjC,EAAA,KAAK+hC,GAAAqC,IAAL,UAAmB7hC,EAAM,QAASA,EAAM,SACzC,CACD,kBAAkBA,EAAO,CACvBA,EAAM,gBAAe,EACrBvC,EAAA,KAAKgiC,GAAAqC,IAAL,UAAW9hC,EAAM,QAASA,EAAM,QACjC,CACD,gBAAgBA,EAAO,CACjBA,EAAM,SAAW,GAGjB,KAAK,aAAc,GAAI,KAAK,YAAY,SAAW,IACrDA,EAAM,gBAAe,EACrBvC,EAAA,KAAKmiC,EAAAmC,IAAL,UAAiB/hC,GACjB,KAAK,gBAAe,EAEvB,CACD,mBAAmBA,EAAO,CACxBvC,EAAA,KAAKmiC,EAAAmC,IAAL,UAAiB/hC,GACjB,KAAK,gBAAe,CACrB,CAwBD,QAAS,CACP,GAAI,KAAK,IACP,OAAO,KAAK,IAEd,IAAIs+B,EAAOC,EACP,KAAK,QACPD,EAAQ,KAAK,EACbC,EAAQ,KAAK,GAEf,MAAM,OAAM,EACZY,GAAU,aAAa,IAAI,wBAAwB,EAAE,KAAKluC,YAAO,OAAAqK,GAAA,KAAK,MAAL,YAAAA,GAAU,aAAa,aAAcrK,IAAI,EAC1G,KAAM,CAAC2U,GAAGC,GAAGijB,GAAGC,EAAC,EAAItrB,EAAA,KAAK6hC,EAAA0C,IAAL,WAIrB,GAHA,KAAK,MAAMp8B,GAAGC,GAAG,EAAG,CAAC,EACrB,KAAK,QAAQijB,GAAGC,EAAC,EACjBtrB,EAAA,KAAKoiC,EAAA4B,IAAL,WACI,KAAK,MAAO,CACd,KAAM,CAACx7B,GAAaC,EAAY,EAAI,KAAK,iBACzC,KAAK,MAAMo4B,EAAQr4B,GAAas4B,EAAQr4B,GAAc,KAAK,MAAQD,GAAa,KAAK,OAASC,EAAY,EAC1GxO,GAAA,KAAKupC,EAAuB,IAC5BxjC,EAAA,KAAKsiC,EAAA4B,IAAL,WACA,KAAK,QAAQ,KAAK,MAAQ17B,GAAa,KAAK,OAASC,EAAY,EACjEzI,EAAA,KAAKkiC,GAAAsC,IAAL,WACAxkC,EAAA,KAAK+iC,GAAA0B,IAAL,WACA,KAAK,IAAI,UAAU,IAAI,UAAU,OAEjC,KAAK,IAAI,UAAU,IAAI,SAAS,EAChC,KAAK,eAAc,EAErB,OAAAzkC,EAAA,KAAKqiC,EAAA4B,IAAL,WACO,KAAK,GACb,CAUD,cAAcl/B,EAAOC,EAAQ,CAC3B,MAAM0/B,GAAe,KAAK,MAAM3/B,CAAK,EAC/B4/B,GAAgB,KAAK,MAAM3/B,CAAM,EACvC,GAAI7K,EAAA,KAAKwpC,KAAee,IAAgBvqC,EAAA,KAAKypC,KAAgBe,GAC3D,OAEF1qC,GAAA,KAAK0pC,EAAae,IAClBzqC,GAAA,KAAK2pC,EAAce,IACnB,KAAK,OAAO,MAAM,WAAa,SAC3BxqC,EAAA,KAAK6oC,IAAgB,KAAK,IAAI7oC,EAAA,KAAK6oC,GAAej+B,EAAQC,CAAM,EAAI,MACtEA,EAAS,KAAK,KAAKD,EAAQ5K,EAAA,KAAK6oC,EAAY,EAC5C,KAAK,QAAQj+B,EAAOC,CAAM,GAE5B,KAAM,CAACwD,GAAaC,EAAY,EAAI,KAAK,iBACzC,KAAK,MAAQ1D,EAAQyD,GACrB,KAAK,OAASxD,EAASyD,GACnBtO,EAAA,KAAKopC,IACPvjC,EAAA,KAAKuiC,EAAAqC,IAAL,UAAqB7/B,EAAOC,GAE9BhF,EAAA,KAAKsiC,EAAA4B,IAAL,WACAlkC,EAAA,KAAKkiC,GAAAsC,IAAL,WACA,KAAK,OAAO,MAAM,WAAa,UAC/B,KAAK,QAAO,CACb,CAoJD,OAAO,YAAYxqC,EAAMkN,EAAQ8B,GAAW,WAC1C,MAAMC,GAAS,MAAM,YAAYjP,EAAMkN,EAAQ8B,EAAS,EACxDC,GAAO,UAAYjP,EAAK,UACxBiP,GAAO,MAAQ9C,EAAM,KAAK,aAAa,GAAGnM,EAAK,KAAK,EACpDiP,GAAO,QAAUjP,EAAK,QACtB,KAAM,CAAC8N,GAAWC,EAAU,EAAIkB,GAAO,eACjClE,GAAQkE,GAAO,MAAQnB,GACvB9C,GAASiE,GAAO,OAASlB,GACzBk2B,GAAch1B,GAAO,YACrB+3B,GAAUhnC,EAAK,UAAY,EACjCC,GAAAgP,GAAO+5B,EAAej+B,GAAQC,IAC9B/K,GAAAgP,GAAOs6B,EAAkB,IACzBtpC,GAAAgP,GAAO06B,EAAa,KAAK,MAAM5+B,EAAK,GACpC9K,GAAAgP,GAAO26B,EAAc,KAAK,MAAM5+B,EAAM,GACtC,SAAW,CACT,OAAA6/B,EACN,IAAS7qC,EAAK,MAAO,CACf,MAAMmjB,GAAO,CAAA,EACblU,GAAO,MAAM,KAAKkU,EAAI,EACtB,IAAIC,GAAK6gB,IAAe4G,GAAO,CAAC,EAAI7D,IAChClqC,GAAKmnC,IAAej5B,GAAS6/B,GAAO,CAAC,EAAI7D,IAC7C,QAAS5rC,GAAI,EAAGkE,GAAKurC,GAAO,OAAQzvC,GAAIkE,GAAIlE,IAAK,EAAG,CAClD,MAAM0vC,GAAM7G,IAAe4G,GAAOzvC,EAAC,EAAI4rC,IACjC+D,GAAM9G,IAAej5B,GAAS6/B,GAAOzvC,GAAI,CAAC,EAAI4rC,IAC9CgE,GAAM/G,IAAe4G,GAAOzvC,GAAI,CAAC,EAAI4rC,IACrCiE,GAAMhH,IAAej5B,GAAS6/B,GAAOzvC,GAAI,CAAC,EAAI4rC,IAC9CkE,GAAMjH,IAAe4G,GAAOzvC,GAAI,CAAC,EAAI4rC,IACrCmE,GAAMlH,IAAej5B,GAAS6/B,GAAOzvC,GAAI,CAAC,EAAI4rC,IACpD7jB,GAAK,KAAK,CAAC,CAACC,GAAItmB,EAAE,EAAG,CAACguC,GAAKC,EAAG,EAAG,CAACC,GAAKC,EAAG,EAAG,CAACC,GAAKC,EAAG,CAAC,CAAC,EACxD/nB,GAAK8nB,GACLpuC,GAAKquC,GAEP,MAAMC,GAASplC,EAAA,KAAKqlC,EAAAC,IAAL,UAAkBnoB,IACjClU,GAAO,aAAa,KAAKm8B,EAAM,EAEjC,MAAMlb,GAAOlqB,EAAAnC,GAAAoL,GAAO25B,GAAA2C,IAAP,KAAA1nC,IACb,OAAA5D,GAAAgP,GAAOi6B,EAAa,KAAK,IAAIzB,EAAcvX,GAAK,CAAC,EAAIA,GAAK,CAAC,CAAC,GAC5DjwB,GAAAgP,GAAOg6B,EAAc,KAAK,IAAIxB,EAAcvX,GAAK,CAAC,EAAIA,GAAK,CAAC,CAAC,GAC7DlqB,EAAAD,GAAAkJ,GAAOs5B,EAAAqC,IAAP,KAAA7kC,GAAuBgF,GAAOC,IACvBiE,EACR,CACD,WAAY,CACV,GAAI,KAAK,UACP,OAAO,KAET,MAAMxR,EAAO,KAAK,QAAQ,EAAG,CAAC,EACxBuN,EAAS,KAAK,SAAW,MAAQ,EAAIvN,EAAK,CAAC,EAAIA,EAAK,CAAC,EAAIA,EAAK,CAAC,EAAIA,EAAK,CAAC,EACzEwT,GAAQ7E,EAAQ,iBAAiB,cAAc,QAAQ,KAAK,IAAI,WAAW,EACjF,MAAO,CACL,eAAgBD,EAAM,qBAAqB,IAC3C,MAAA8E,GACA,UAAW,KAAK,UAChB,QAAS,KAAK,QACd,MAAOjL,EAAA,KAAKyiC,EAAA+C,IAAL,UAAqB,KAAK,YAAc,KAAK,YAAa,KAAK,aAAc,KAAK,aAAcxgC,GACvG,UAAW,KAAK,UAChB,KAAAvN,EACA,SAAU,KAAK,QACrB,CACG,CACF,EA3pBD,IAAMguC,EAAN/D,GACEsB,EAAA,YACAC,EAAA,YACAC,EAAA,YACAC,EAAA,YACAC,EAAA,YACAC,EAAA,YACAC,EAAA,YACAC,EAAA,YACAC,EAAA,YACAC,EAAA,YACAC,EAAA,YACAC,EAAA,YACAC,EAAA,YACAC,EAAA,YAyDAlC,EAAA,YAAAmC,GAAgB,SAAC4B,EAAW,CAC1B,MAAMC,EAAiB,KAAK,UAC5B,KAAK,YAAY,CACf,IAAK,IAAM,CACT,KAAK,UAAYD,EACjB1lC,EAAA,KAAK8iC,GAAAqB,IAAL,UACD,EACD,KAAM,IAAM,CACV,KAAK,UAAYwB,EACjB3lC,EAAA,KAAK8iC,GAAAqB,IAAL,UACD,EACD,SAAU,GACV,KAAMh+B,EAAM,2BAA2B,cACvC,oBAAqB,GACrB,SAAU,EAChB,CAAK,CACF,EACDy5B,EAAA,YAAAc,GAAY,SAACz1B,EAAO,CAClB,MAAMm2B,EAAa,KAAK,MACxB,KAAK,YAAY,CACf,IAAK,IAAM,CACT,KAAK,MAAQn2B,EACbjL,EAAA,KAAKkiC,GAAAsC,IAAL,UACD,EACD,KAAM,IAAM,CACV,KAAK,MAAQpD,EACbphC,EAAA,KAAKkiC,GAAAsC,IAAL,UACD,EACD,SAAU,GACV,KAAMr+B,EAAM,2BAA2B,UACvC,oBAAqB,GACrB,SAAU,EAChB,CAAK,CACF,EACDy7B,EAAA,YAAAmC,GAAc,SAACv6B,EAAS,CACtBA,GAAW,IACX,MAAMo8B,EAAe,KAAK,QAC1B,KAAK,YAAY,CACf,IAAK,IAAM,CACT,KAAK,QAAUp8B,EACfxJ,EAAA,KAAKkiC,GAAAsC,IAAL,UACD,EACD,KAAM,IAAM,CACV,KAAK,QAAUoB,EACf5lC,EAAA,KAAKkiC,GAAAsC,IAAL,UACD,EACD,SAAU,GACV,KAAMr+B,EAAM,2BAA2B,YACvC,oBAAqB,GACrB,SAAU,EAChB,CAAK,CACF,EAqED07B,EAAA,YAAA0C,GAAe,UAAG,CAChB,KAAM,CACJ,eAAAsB,EACA,iBAAkB,CAAC9gC,EAAOC,EAAM,CACjC,EAAG,KACJ,OAAQ6gC,EAAc,CACpB,IAAK,IACH,MAAO,CAAC,EAAG7gC,GAAQA,GAAQD,CAAK,EAClC,IAAK,KACH,MAAO,CAACA,EAAOC,GAAQD,EAAOC,EAAM,EACtC,IAAK,KACH,MAAO,CAACD,EAAO,EAAGC,GAAQD,CAAK,EACjC,QACE,MAAO,CAAC,EAAG,EAAGA,EAAOC,EAAM,CAC9B,CACF,EACD88B,EAAA,YAAAgE,GAAU,UAAG,CACX,KAAM,CACJ,IAAAjwB,EACA,MAAA5K,EACA,QAAAzB,GACA,UAAAk8B,GACA,YAAAK,GACA,YAAA9H,EACD,EAAG,KACJpoB,EAAI,UAAY6vB,GAAYK,GAAc9H,GAC1CpoB,EAAI,QAAU,QACdA,EAAI,SAAW,QACfA,EAAI,WAAa,GACjBA,EAAI,YAAc,GAAG5K,OAAY7D,EAAO,cAAcoC,EAAO,GAC9D,EACDu4B,GAAA,YAAAqC,GAAa,SAACj8B,EAAGC,EAAG,CAClB,KAAK,UAAY,GACZjO,EAAA,KAAKqpC,KACRvpC,GAAA,KAAKupC,EAAuB,IAC5BxjC,EAAA,KAAKsiC,EAAA4B,IAAL,WACA,KAAK,YAAL,KAAK,UAAcxC,GAAU,mBAC7B,KAAK,QAAL,KAAK,MAAUA,GAAU,eAAiBt7B,EAAQ,iBAAiB,mBACnE,KAAK,UAAL,KAAK,QAAYs7B,GAAU,kBAE7B,KAAK,YAAY,KAAK,CAACv5B,EAAGC,CAAC,CAAC,EAC5BnO,GAAA,KAAKwpC,EAAa,MAClBzjC,EAAA,KAAK8hC,EAAAgE,IAAL,WACA,KAAK,IAAI,YACT,KAAK,IAAI,OAAO39B,EAAGC,CAAC,EACpBnO,GAAA,KAAK4pC,EAAwB,IAAM,CAC5B1pC,EAAA,KAAK0pC,KAGN1pC,EAAA,KAAKspC,KACH,KAAK,WACP,KAAK,IAAI,aAAa,EAAG,EAAG,EAAG,EAAG,EAAG,CAAC,EACtC,KAAK,IAAI,UAAU,EAAG,EAAG,KAAK,OAAO,MAAO,KAAK,OAAO,MAAM,GAE9DzjC,EAAA,KAAKkiC,GAAAsC,IAAL,WAEF,KAAK,IAAI,OAAO,GAAGrqC,EAAA,KAAKspC,EAAU,EAClCxpC,GAAA,KAAKwpC,EAAa,MAClB,KAAK,IAAI,UAEX,OAAO,sBAAsBtpC,EAAA,KAAK0pC,EAAqB,EAC7D,GACI,OAAO,sBAAsB1pC,EAAA,KAAK0pC,EAAqB,CACxD,EACD7B,GAAA,YAAAqC,GAAK,SAACl8B,EAAGC,EAAG,CACV,KAAM,CAAC49B,GAAOC,EAAK,EAAI,KAAK,YAAY,GAAG,EAAE,EACzC99B,IAAM69B,IAAS59B,IAAM69B,KAGzB,KAAK,YAAY,KAAK,CAAC99B,EAAGC,CAAC,CAAC,EAC5BnO,GAAA,KAAKwpC,EAAa,CAACt7B,EAAGC,CAAC,GACxB,EACD65B,EAAA,YAAAiE,GAAY,SAAC/9B,EAAGC,EAAG,QACjB,KAAK,IAAI,YACTnO,GAAA,KAAK4pC,EAAwB,MAC7B17B,EAAI,KAAK,IAAI,KAAK,IAAIA,EAAG,CAAC,EAAG,KAAK,OAAO,KAAK,EAC9CC,EAAI,KAAK,IAAI,KAAK,IAAIA,EAAG,CAAC,EAAG,KAAK,OAAO,MAAM,EAC/C,KAAM,CAAC49B,GAAOC,EAAK,EAAI,KAAK,YAAY,GAAG,EAAE,GACzC99B,IAAM69B,IAAS59B,IAAM69B,KACvB,KAAK,YAAY,KAAK,CAAC99B,EAAGC,CAAC,CAAC,EAE9B,IAAIy8B,GACJ,GAAI,KAAK,YAAY,SAAW,EAC9BA,MAAarD,GAAe,UAAU,KAAK,YAAa,GAAI,IAAI,MAC3D,CACL,MAAM2E,GAAK,CAACh+B,EAAGC,CAAC,EAChBy8B,GAAS,CAAC,CAACsB,GAAIA,GAAG,QAASA,GAAG,MAAK,EAAIA,EAAE,CAAC,EAE5C,MAAMf,GAASplC,EAAAnC,GAAA6jC,GAAU2D,EAAAC,IAAV,KAAAznC,GAAuBgnC,IACtC,KAAK,YAAY,OAAS,EAC1B,MAAM56B,GAAM,IAAM,CAChB,KAAK,MAAM,KAAK46B,EAAM,EACtB,KAAK,aAAa,KAAKO,EAAM,EAC7B,KAAK,QAAO,CAClB,EACUl7B,GAAO,IAAM,CACjB,KAAK,MAAM,MACX,KAAK,aAAa,MACd,KAAK,MAAM,SAAW,EACxB,KAAK,OAAM,GAEN,KAAK,SACRlK,EAAA,KAAKoiC,EAAA4B,IAAL,WACAhkC,EAAA,KAAKqiC,EAAA4B,IAAL,YAEFjkC,EAAA,KAAK8iC,GAAAqB,IAAL,WAER,EACI,KAAK,YAAY,CACf,IAAAl6B,GACA,KAAAC,GACA,SAAU,EAChB,CAAK,CACF,EACDg4B,GAAA,YAAAsC,GAAO,UAAG,CACR,GAAI,KAAK,UAAW,CAClBxkC,EAAA,KAAKwiC,EAAA4D,IAAL,WACA,OAEFpmC,EAAA,KAAK8hC,EAAAgE,IAAL,WACA,KAAM,CACJ,OAAAnzB,EACA,IAAAkD,CACD,EAAG,KACJA,EAAI,aAAa,EAAG,EAAG,EAAG,EAAG,EAAG,CAAC,EACjCA,EAAI,UAAU,EAAG,EAAGlD,EAAO,MAAOA,EAAO,MAAM,EAC/C3S,EAAA,KAAKwiC,EAAA4D,IAAL,WACA,UAAWjpB,MAAQ,KAAK,aACtBtH,EAAI,OAAOsH,EAAI,CAElB,EAqDDglB,EAAA,YAAAmC,GAAW,SAAC/hC,EAAO,CACjBvC,EAAA,KAAKiiC,EAAAiE,IAAL,UAAkB3jC,EAAM,QAASA,EAAM,SACvC,KAAK,OAAO,oBAAoB,eAAgBpI,EAAA,KAAKipC,EAAwB,EAC7E,KAAK,OAAO,oBAAoB,cAAejpC,EAAA,KAAKgpC,EAAuB,EAC3E,KAAK,uBAAsB,CAC5B,EACDf,EAAA,YAAA4B,GAAa,UAAG,CACd,KAAK,OAAS,SAAS,cAAc,QAAQ,EAC7C,KAAK,OAAO,MAAQ,KAAK,OAAO,OAAS,EACzC,KAAK,OAAO,UAAY,kBACxBtC,GAAU,aAAa,IAAI,8BAA8B,EAAE,KAAKluC,UAAO,OAAAqK,EAAA,KAAK,SAAL,YAAAA,EAAa,aAAa,aAAcrK,GAAI,EACnH,KAAK,IAAI,OAAO,KAAK,MAAM,EAC3B,KAAK,IAAM,KAAK,OAAO,WAAW,IAAI,CACvC,EACD6uC,EAAA,YAAA4B,GAAe,UAAG,CAChBhqC,GAAA,KAAKypC,EAAY,IAAI,eAAe2C,GAAW,CAC7C,MAAM5uC,EAAO4uC,EAAQ,CAAC,EAAE,YACpB5uC,EAAK,OAASA,EAAK,QACrB,KAAK,cAAcA,EAAK,MAAOA,EAAK,MAAM,CAElD,CAAK,GACD0C,EAAA,KAAKupC,GAAU,QAAQ,KAAK,GAAG,CAChC,EAgCDpB,EAAA,YAAA4B,GAAc,UAAG,CACf,GAAI,CAAC/pC,EAAA,KAAKqpC,GACR,OAEF,KAAM,CAACh7B,EAAaC,CAAY,EAAI,KAAK,iBACzC,KAAK,OAAO,MAAQ,KAAK,KAAK,KAAK,MAAQD,CAAW,EACtD,KAAK,OAAO,OAAS,KAAK,KAAK,KAAK,OAASC,CAAY,EACzDzI,EAAA,KAAKwiC,EAAA4D,IAAL,UACD,EAyBD7D,EAAA,YAAAqC,GAAe,SAAC7/B,EAAOC,EAAQ,CAC7B,MAAMg8B,GAAUhhC,EAAA,KAAK6iC,GAAAyD,IAAL,WACVC,IAAgBxhC,EAAQi8B,IAAW7mC,EAAA,KAAK+oC,GACxCsD,IAAgBxhC,EAASg8B,IAAW7mC,EAAA,KAAK8oC,GAC/C,KAAK,YAAc,KAAK,IAAIsD,GAAcC,EAAY,CACvD,EACDhE,EAAA,YAAA4D,GAAgB,UAAG,CACjB,MAAMpF,EAAUhhC,EAAA,KAAK6iC,GAAAyD,IAAL,WAAqB,EACrC,KAAK,IAAI,aAAa,KAAK,YAAa,EAAG,EAAG,KAAK,YAAa,KAAK,aAAe,KAAK,YAActF,EAAS,KAAK,aAAe,KAAK,YAAcA,CAAO,CAC/J,EACMqE,EAAA,YAAAC,GAAY,SAACT,EAAQ,CAC1B,MAAMO,EAAS,IAAI,OACnB,QAAShwC,GAAI,EAAGkE,GAAKurC,EAAO,OAAQzvC,GAAIkE,GAAIlE,KAAK,CAC/C,KAAM,CAACiC,GAAOovC,GAAUC,GAAUpvC,EAAM,EAAIutC,EAAOzvC,EAAC,EAChDA,KAAM,GACRgwC,EAAO,OAAO,GAAG/tC,EAAK,EAExB+tC,EAAO,cAAcqB,GAAS,CAAC,EAAGA,GAAS,CAAC,EAAGC,GAAS,CAAC,EAAGA,GAAS,CAAC,EAAGpvC,GAAO,CAAC,EAAGA,GAAO,CAAC,CAAC,EAE/F,OAAO8tC,CACR,EACD3C,EAAA,YAAA+C,GAAe,SAAC9sB,EAAGrQ,EAAIC,GAAIgjB,GAAG,CAE5B,MAAMpF,GAAQ,CAAA,EACR8a,GAAU,KAAK,UAAY,EACjC,IAAI5nC,GAAQsjB,GACZ,UAAWmoB,MAAU,KAAK,MAAO,CAC/BzrC,GAAS,CAAA,EACTsjB,GAAS,CAAA,EACT,QAAStnB,GAAI,EAAGkE,GAAKurC,GAAO,OAAQzvC,GAAIkE,GAAIlE,KAAK,CAC/C,KAAM,CAACiC,GAAOovC,GAAUC,GAAUpvC,EAAM,EAAIutC,GAAOzvC,EAAC,EAC9C0vC,GAAMpsB,GAAKrhB,GAAM,CAAC,EAAIgR,GAAM24B,GAC5B+D,GAAMzZ,GAAI5S,GAAKrhB,GAAM,CAAC,EAAIiR,IAAM04B,GAChCgE,GAAMtsB,GAAK+tB,GAAS,CAAC,EAAIp+B,GAAM24B,GAC/BiE,GAAM3Z,GAAI5S,GAAK+tB,GAAS,CAAC,EAAIn+B,IAAM04B,GACnCkE,GAAMxsB,GAAKguB,GAAS,CAAC,EAAIr+B,GAAM24B,GAC/BmE,GAAM7Z,GAAI5S,GAAKguB,GAAS,CAAC,EAAIp+B,IAAM04B,GACnC2F,GAAMjuB,GAAKphB,GAAO,CAAC,EAAI+Q,GAAM24B,GAC7B4F,GAAMtb,GAAI5S,GAAKphB,GAAO,CAAC,EAAIgR,IAAM04B,GACnC5rC,KAAM,IACRgE,GAAO,KAAK0rC,GAAKC,EAAG,EACpBroB,GAAO,KAAKooB,GAAKC,EAAG,GAEtB3rC,GAAO,KAAK4rC,GAAKC,GAAKC,GAAKC,GAAKwB,GAAKC,EAAG,EACxC5mC,EAAA,KAAK0iC,EAAAmE,IAAL,UAA4B/B,GAAKC,GAAKC,GAAKC,GAAKC,GAAKC,GAAKwB,GAAKC,GAAK,EAAkClqB,IAExGwJ,GAAM,KAAK,CACT,OAAQ9sB,GACR,OAAAsjB,EACR,CAAO,EAEH,OAAOwJ,EACR,EACDwc,EAAA,YAAAmE,GAAsB,SAAC/B,EAAKC,EAAKC,GAAKC,GAAKC,GAAKC,GAAKwB,GAAKC,GAAK7wC,GAAG2mB,GAAQ,CACxE,GAAI1c,EAAA,KAAK2iC,GAAAmE,IAAL,UAAmBhC,EAAKC,EAAKC,GAAKC,GAAKC,GAAKC,GAAKwB,GAAKC,IAAM,CAC9DlqB,GAAO,KAAKiqB,GAAKC,EAAG,EACpB,OAEF,QAASxxC,GAAI,EAAGA,GAAIW,GAAI,EAAGX,KAAK,CAC9B,MAAM3F,GAAI2F,GAAIW,GACRgD,GAAK,EAAItJ,GACf,IAAIs3C,GAAMt3C,GAAIq1C,EAAM/rC,GAAKisC,GACrBgC,GAAMv3C,GAAIs1C,EAAMhsC,GAAKksC,GACrBgC,GAAMx3C,GAAIu1C,GAAMjsC,GAAKmsC,GACrBgC,GAAMz3C,GAAIw1C,GAAMlsC,GAAKosC,GACzB,MAAMgC,GAAM13C,GAAIy1C,GAAMnsC,GAAK4tC,GACrBS,GAAM33C,GAAI01C,GAAMpsC,GAAK6tC,GAC3BG,GAAMt3C,GAAIs3C,GAAMhuC,GAAKkuC,GACrBD,GAAMv3C,GAAIu3C,GAAMjuC,GAAKmuC,GACrBD,GAAMx3C,GAAIw3C,GAAMluC,GAAKouC,GACrBD,GAAMz3C,GAAIy3C,GAAMnuC,GAAKquC,GACrBL,GAAMt3C,GAAIs3C,GAAMhuC,GAAKkuC,GACrBD,GAAMv3C,GAAIu3C,GAAMjuC,GAAKmuC,GACrBxqB,GAAO,KAAKqqB,GAAKC,EAAG,EAEtBtqB,GAAO,KAAKiqB,GAAKC,EAAG,CACrB,EACDjE,GAAA,YAAAmE,GAAa,SAAChC,EAAKC,EAAKC,GAAKC,GAAKC,GAAKC,GAAKwB,GAAKC,GAAK,CAEpD,MAAMS,IAAM,EAAIrC,GAAM,EAAIF,EAAM6B,KAAQ,EAClCW,IAAM,EAAIrC,GAAM,EAAIF,EAAM6B,KAAQ,EAClCW,IAAM,EAAIrC,GAAMJ,EAAM,EAAI6B,KAAQ,EAClCa,IAAM,EAAIrC,GAAMJ,EAAM,EAAI6B,KAAQ,EACxC,OAAO,KAAK,IAAIS,GAAIE,EAAE,EAAI,KAAK,IAAID,GAAIE,EAAE,GAAK,EAC/C,EACD5E,GAAA,YAAA2C,GAAQ,UAAG,CACT,IAAIkC,EAAO,IACPC,EAAO,KACPC,GAAO,IACPC,GAAO,KACX,UAAWzqB,MAAQ,KAAK,MACtB,SAAW,CAAC9lB,GAAOovC,GAAUC,GAAUpvC,EAAM,IAAK6lB,GAAM,CACtD,MAAM+M,GAAO/jB,EAAM,KAAK,kBAAkB,GAAG9O,GAAO,GAAGovC,GAAU,GAAGC,GAAU,GAAGpvC,EAAM,EACvFmwC,EAAO,KAAK,IAAIA,EAAMvd,GAAK,CAAC,CAAC,EAC7Byd,GAAO,KAAK,IAAIA,GAAMzd,GAAK,CAAC,CAAC,EAC7Bwd,EAAO,KAAK,IAAIA,EAAMxd,GAAK,CAAC,CAAC,EAC7B0d,GAAO,KAAK,IAAIA,GAAM1d,GAAK,CAAC,CAAC,EAGjC,MAAO,CAACud,EAAME,GAAMD,EAAME,EAAI,CAC/B,EACD/E,GAAA,YAAAyD,GAAW,UAAG,CACZ,OAAOnsC,EAAA,KAAKopC,GAAkB,KAAK,KAAK,KAAK,UAAY,KAAK,WAAW,EAAI,CAC9E,EACDT,GAAA,YAAAqB,GAAa,SAAC0D,EAAY,GAAO,CAC/B,GAAI,KAAK,UACP,OAEF,GAAI,CAAC1tC,EAAA,KAAKopC,GAAiB,CACzBvjC,EAAA,KAAKkiC,GAAAsC,IAAL,WACA,OAEF,MAAMta,EAAOlqB,EAAA,KAAK4iC,GAAA2C,IAAL,WACPvE,GAAUhhC,EAAA,KAAK6iC,GAAAyD,IAAL,WAChBrsC,GAAA,KAAKipC,EAAa,KAAK,IAAIzB,EAAcvX,EAAK,CAAC,EAAIA,EAAK,CAAC,CAAC,GAC1DjwB,GAAA,KAAKgpC,EAAc,KAAK,IAAIxB,EAAcvX,EAAK,CAAC,EAAIA,EAAK,CAAC,CAAC,GAC3D,MAAMnlB,GAAQ,KAAK,KAAKi8B,GAAU7mC,EAAA,KAAK+oC,GAAa,KAAK,WAAW,EAC9Dl+B,GAAS,KAAK,KAAKg8B,GAAU7mC,EAAA,KAAK8oC,GAAc,KAAK,WAAW,EAChE,CAACz6B,GAAaC,EAAY,EAAI,KAAK,iBACzC,KAAK,MAAQ1D,GAAQyD,GACrB,KAAK,OAASxD,GAASyD,GACvBxO,GAAA,KAAK+oC,EAAej+B,GAAQC,IAC5BhF,EAAA,KAAK+iC,GAAA0B,IAAL,WACA,MAAMqD,GAAmB,KAAK,aACxBC,GAAmB,KAAK,aAC9B,KAAK,aAAe,CAAC7d,EAAK,CAAC,EAC3B,KAAK,aAAe,CAACA,EAAK,CAAC,EAC3BlqB,EAAA,KAAKsiC,EAAA4B,IAAL,WACAlkC,EAAA,KAAKkiC,GAAAsC,IAAL,WACAvqC,GAAA,KAAK0pC,EAAa5+B,IAClB9K,GAAA,KAAK2pC,EAAc5+B,IACnB,KAAK,QAAQD,GAAOC,EAAM,EAC1B,MAAMgjC,GAAkBH,EAAY7G,GAAU,KAAK,YAAc,EAAI,EACrE,KAAK,UAAU8G,GAAmB,KAAK,aAAeE,GAAiBD,GAAmB,KAAK,aAAeC,EAAe,CAC9H,EACDjF,GAAA,YAAA0B,GAAW,UAAG,CACZ,KAAM,CACJ,MAAA/7B,CACN,EAAQ,KAAK,IACLvO,EAAA,KAAK6oC,IAAgB,GACvBt6B,EAAM,UAAY,GAAG+4B,MACrB/4B,EAAM,SAAW,GAAG,KAAK,MAAMvO,EAAA,KAAK6oC,GAAevB,CAAY,QAE/D/4B,EAAM,SAAW,GAAG+4B,MACpB/4B,EAAM,UAAY,GAAG,KAAK,MAAM+4B,EAAetnC,EAAA,KAAK6oC,EAAY,MAEnE,EAxIDppC,EAvdI6rC,EAudGJ,GAxcPz9B,GAfI69B,EAeG,gBAAgB,MACvB79B,GAhBI69B,EAgBG,kBAAkB,GACzB79B,GAjBI69B,EAiBG,oBAAoB,GAC3B79B,GAlBI69B,EAkBG,gBACP79B,GAnBI69B,EAmBG,QAAQ,OAyoBjBr1C,EAAQ,UAAYq1C,CAEb,EAEA,CAACt1C,EAAyBC,EAAS8V,IAAwB,CAIlE,OAAO,eAAe9V,EAAS,aAAe,CAC5C,MAAO,EACT,GACAA,EAAQ,SAAW,OACnB,MAAM63C,EAAW/hC,EAAoB,EAAE,EACvC9V,EAAQ,SAAW63C,CAEZ,EAECC,GAAW,CAInB,SAASD,EAASvrB,EAAQyrB,EAAUC,EAAkB,CACpD,GAAI,CAAC,MAAM,QAAQ1rB,CAAM,EACvB,MAAM,IAAI,UAAU,mCAAmC,EAQzD,GANAA,EAAO,QAAQ2rB,GAAS,CACtB,GAAI,CAAC,MAAM,QAAQA,CAAK,GAAKA,EAAM,KAAKtK,GAAQ,OAAOA,GAAS,QAAQ,GAAKsK,EAAM,SAAW3rB,EAAO,CAAC,EAAE,OACtG,MAAM,MAAM,8FAA8F,CAEhH,CAAG,EACDA,EAASA,EAAO,OAAO,CAAC2rB,EAAOjzC,IAAMA,IAAM,GAAK,CAACizC,EAAM,MAAM,CAAC5qC,EAAK3E,IAAM2E,IAAQif,EAAOtnB,EAAI,CAAC,EAAE0D,CAAC,CAAC,CAAC,EAC9F4jB,EAAO,OAAS,EAClB,MAAO,GAET,MAAM4rB,EAAM5rB,EAAO,OACb6rB,EAAcC,EAAc9rB,EAAO,CAAC,EAAGA,EAAO,CAAC,CAAC,EAChD+rB,EAAeD,EAAc9rB,EAAO4rB,EAAM,CAAC,EAAG5rB,EAAO4rB,EAAM,CAAC,CAAC,EACnE,OAAOI,EAAShsB,EAAQ6rB,EAAaE,EAAcN,EAAUC,CAAgB,CAC9E,CACD,SAASM,EAAShsB,EAAQ6rB,EAAaE,EAAcnoC,EAAO8nC,EAAkB,CAE5E,IAAIO,EAAUC,EAAGC,EAAQV,EAAUW,EAASC,EAAYC,EAAWC,EAAcC,EAAiBC,EAAmBC,GAASC,EAAMj0C,GACpI,GAAIsnB,EAAO,SAAW,EACpB,OAAA2sB,EAAOC,EAAM,UAAUA,EAAM,SAAS5sB,EAAO,CAAC,EAAGA,EAAO,CAAC,CAAC,CAAC,EAAI,EAC/DisB,EAAW,CAACjsB,EAAO,CAAC,EAAG4sB,EAAM,UAAU5sB,EAAO,CAAC,EAAG4sB,EAAM,SAASf,EAAac,CAAI,CAAC,EAAGC,EAAM,UAAU5sB,EAAO,CAAC,EAAG4sB,EAAM,SAASb,EAAcY,CAAI,CAAC,EAAG3sB,EAAO,CAAC,CAAC,EACxJ,CAACisB,CAAQ,EAIlB,GAFAC,EAAIW,EAAwB7sB,CAAM,EAClC,CAACisB,EAAUR,EAAUY,CAAU,EAAIS,EAAkB9sB,EAAQksB,EAAGA,EAAGL,EAAaE,EAAcL,CAAgB,EAC1GD,IAAa,GAAKA,EAAW7nC,EAC/B,MAAO,CAACqoC,CAAQ,EAElB,GAAIR,EAAW7nC,EAAQA,EAIrB,IAHAuoC,EAASD,EACTE,EAAUX,EACVa,EAAYD,EACP3zC,GAAI,EAAGA,GAAI,GAAeA,KAAK,CAGlC,GAFAyzC,EAASY,GAAed,EAAUjsB,EAAQmsB,CAAM,EAChD,CAACF,EAAUR,EAAUY,CAAU,EAAIS,EAAkB9sB,EAAQksB,EAAGC,EAAQN,EAAaE,EAAcL,CAAgB,EAC/GD,EAAW7nC,EACb,MAAO,CAACqoC,CAAQ,EACX,GAAII,IAAeC,EAAW,CACnC,IAAIU,GAAYvB,EAAWW,EAC3B,GAAIY,GAAY,OAASA,GAAY,OACnC,MAGJZ,EAAUX,EACVa,EAAYD,EAGhB,OAAAK,GAAU,CAAA,EACVH,EAAeK,EAAM,SAAS5sB,EAAOqsB,EAAa,CAAC,EAAGrsB,EAAOqsB,EAAa,CAAC,CAAC,EACxEE,EAAa,MAAMxrC,IAAOA,KAAQ,CAAC,IACrCwrC,EAAeK,EAAM,SAAS5sB,EAAOqsB,EAAa,CAAC,EAAGrsB,EAAOqsB,CAAU,CAAC,EACxE,CAACE,EAAa,CAAC,EAAGA,EAAa,CAAC,CAAC,EAAI,CAAC,CAACA,EAAa,CAAC,EAAGA,EAAa,CAAC,CAAC,GAEzEC,EAAkBI,EAAM,UAAUL,CAAY,EAC9CE,EAAoBG,EAAM,SAASJ,EAAiB,EAAE,EACtDE,GAAUA,GAAQ,OAAOV,EAAShsB,EAAO,MAAM,EAAGqsB,EAAa,CAAC,EAAGR,EAAaW,EAAiB5oC,EAAO8nC,CAAgB,CAAC,EACzHgB,GAAUA,GAAQ,OAAOV,EAAShsB,EAAO,MAAMqsB,CAAU,EAAGI,EAAmBV,EAAcnoC,EAAO8nC,CAAgB,CAAC,EAC9GgB,EACR,CAED,SAASI,EAAkB9sB,EAAQitB,EAAYC,EAAarB,EAAaE,EAAcL,EAAkB,CACvG,IAAIO,EAAUR,EAAUY,EACxB,OAAAJ,EAAWkB,EAAentB,EAAQktB,EAAarB,EAAaE,CAA8B,EAC1F,CAACN,EAAUY,CAAU,EAAIe,EAAgBptB,EAAQisB,EAAUgB,CAAU,EACjEvB,GACFA,EAAiB,CACf,IAAKO,EACL,OAAQjsB,EACR,OAAQitB,EACR,OAAQxB,EACR,SAAUY,CAChB,CAAK,EAEI,CAACJ,EAAUR,EAAUY,CAAU,CACvC,CACD,SAASc,EAAentB,EAAQpV,EAAYihC,EAAaE,EAAc,CACrE,IAAIE,EACFoB,EACA5yC,EACA6yC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAp1C,GACAkzC,EACA7a,GACAmb,GACA6B,GACAC,GAAahuB,EAAO,CAAC,EACrBiuB,GAAYjuB,EAAOA,EAAO,OAAS,CAAC,EAGtC,IAFAisB,EAAW,CAAC+B,GAAY,KAAM,KAAMC,EAAS,EAC7CZ,EAAIT,EAAM,YAAYhiC,EAAW,MAAM,EAClClS,GAAI,EAAGkzC,EAAMhhC,EAAW,OAAQlS,GAAIkzC,EAAKlzC,KAC5CwzC,GAAIthC,EAAWlS,EAAC,EAChBq1C,GAAK,EAAI7B,GACTzxC,EAAI4yC,EAAE30C,EAAC,EACP+B,EAAE,CAAC,EAAImyC,EAAM,SAASf,EAAa,EAAIK,IAAK6B,GAAKA,GAAG,EACpDtzC,EAAE,CAAC,EAAImyC,EAAM,SAASb,EAAc,EAAIgC,IAAM7B,GAAIA,GAAE,EAItD,IAFAoB,EAAI,CAAC,CAAC,EAAG,CAAC,EAAG,CAAC,EAAG,CAAC,CAAC,EACnBC,EAAI,CAAC,EAAG,CAAC,EACJ70C,GAAI,EAAGkzC,EAAM5rB,EAAO,OAAQtnB,GAAIkzC,EAAKlzC,KACxCwzC,GAAIthC,EAAWlS,EAAC,EAChB+B,EAAI4yC,EAAE30C,EAAC,EACP40C,EAAE,CAAC,EAAE,CAAC,GAAKV,EAAM,IAAInyC,EAAE,CAAC,EAAGA,EAAE,CAAC,CAAC,EAC/B6yC,EAAE,CAAC,EAAE,CAAC,GAAKV,EAAM,IAAInyC,EAAE,CAAC,EAAGA,EAAE,CAAC,CAAC,EAC/B6yC,EAAE,CAAC,EAAE,CAAC,GAAKV,EAAM,IAAInyC,EAAE,CAAC,EAAGA,EAAE,CAAC,CAAC,EAC/B6yC,EAAE,CAAC,EAAE,CAAC,GAAKV,EAAM,IAAInyC,EAAE,CAAC,EAAGA,EAAE,CAAC,CAAC,EAC/Bs2B,GAAM6b,EAAM,SAAS5sB,EAAOtnB,EAAC,EAAGyvC,EAAO,EAAE,CAAC6F,GAAYA,GAAYC,GAAWA,EAAS,EAAG/B,EAAC,CAAC,EAC3FqB,EAAE,CAAC,GAAKX,EAAM,IAAInyC,EAAE,CAAC,EAAGs2B,EAAG,EAC3Bwc,EAAE,CAAC,GAAKX,EAAM,IAAInyC,EAAE,CAAC,EAAGs2B,EAAG,EAE7B,OAAAyc,EAAYF,EAAE,CAAC,EAAE,CAAC,EAAIA,EAAE,CAAC,EAAE,CAAC,EAAIA,EAAE,CAAC,EAAE,CAAC,EAAIA,EAAE,CAAC,EAAE,CAAC,EAChDG,EAAWH,EAAE,CAAC,EAAE,CAAC,EAAIC,EAAE,CAAC,EAAID,EAAE,CAAC,EAAE,CAAC,EAAIC,EAAE,CAAC,EACzCG,EAAWH,EAAE,CAAC,EAAID,EAAE,CAAC,EAAE,CAAC,EAAIC,EAAE,CAAC,EAAID,EAAE,CAAC,EAAE,CAAC,EACzCK,EAAUH,IAAc,EAAI,EAAIE,EAAWF,EAC3CI,EAAUJ,IAAc,EAAI,EAAIC,EAAWD,EAC3CM,EAAYlB,EAAM,UAAUA,EAAM,SAASoB,GAAYC,EAAS,CAAC,EACjEJ,EAAU,KAASC,EACfH,EAAUE,GAAWD,EAAUC,GACjC5B,EAAS,CAAC,EAAIW,EAAM,UAAUoB,GAAYpB,EAAM,SAASf,EAAaiC,EAAY,CAAG,CAAC,EACtF7B,EAAS,CAAC,EAAIW,EAAM,UAAUqB,GAAWrB,EAAM,SAASb,EAAc+B,EAAY,CAAG,CAAC,IAEtF7B,EAAS,CAAC,EAAIW,EAAM,UAAUoB,GAAYpB,EAAM,SAASf,EAAa8B,CAAO,CAAC,EAC9E1B,EAAS,CAAC,EAAIW,EAAM,UAAUqB,GAAWrB,EAAM,SAASb,EAAc6B,CAAO,CAAC,GAEzE3B,CACR,CAED,SAASc,GAAe5E,EAAQnoB,EAAQpV,EAAY,CAClD,OAAOA,EAAW,IAAI,CAAC7Q,EAAGrB,IAAMw1C,EAAsB/F,EAAQnoB,EAAOtnB,CAAC,EAAGqB,CAAC,CAAC,CAC5E,CAED,SAASm0C,EAAsBC,EAAKxC,EAAOO,EAAG,CAC5C,IAAI/xC,EAAIyyC,EAAM,SAASzE,EAAO,EAAEgG,EAAKjC,CAAC,EAAGP,CAAK,EAC5CyC,EAASjG,EAAO,OAAOgG,EAAKjC,CAAC,EAC7BmC,EAAYzB,EAAM,UAAUzyC,EAAGi0C,CAAM,EACrCE,EAAc1B,EAAM,IAAIA,EAAM,YAAYwB,CAAM,CAAC,EAAI,EAAIxB,EAAM,UAAUzyC,EAAGguC,EAAO,YAAYgG,EAAKjC,CAAC,CAAC,EACxG,OAAIoC,IAAgB,EACXpC,EAEAA,EAAImC,EAAYC,CAE1B,CAED,SAASzB,EAAwB7sB,EAAQ,CACvC,IAAIksB,EAAI,CAAE,EACRqC,EACAC,EACAC,EACF,OAAAzuB,EAAO,QAAQ,CAACjmB,EAAGrB,IAAM,CACvB61C,EAAQ71C,EAAI81C,EAAQ5B,EAAM,UAAUA,EAAM,SAAS7yC,EAAG00C,CAAK,CAAC,EAAI,EAChEvC,EAAE,KAAKqC,CAAK,EACZC,EAAQD,EACRE,EAAQ10C,CACZ,CAAG,EACDmyC,EAAIA,EAAE,IAAIzgC,GAAKA,EAAI+iC,CAAK,EACjBtC,CACR,CAED,SAASkB,EAAgBptB,EAAQmuB,EAAKvjC,EAAY,CAChD,IAAI+hC,EAAM+B,EAASrC,EAAYxvC,EAAGnE,EAAG4nB,EAAOqrB,EAAO54C,EACnD27C,EAAU,EACVrC,EAAa,KAAK,MAAMrsB,EAAO,OAAS,CAAC,EACzC,MAAM2uB,EAAYC,EAAwBT,EAAK,EAAE,EACjD,IAAKz1C,EAAI,EAAG4nB,EAAQN,EAAO,OAAQtnB,EAAI4nB,EAAO5nB,IAC5CizC,EAAQ3rB,EAAOtnB,CAAC,EAChB3F,EAAI87C,EAAOV,EAAKvjC,EAAWlS,CAAC,EAAGi2C,EAAW,EAAE,EAC5C9xC,EAAI+vC,EAAM,SAASzE,EAAO,EAAEgG,EAAKp7C,CAAC,EAAG44C,CAAK,EAC1CgB,EAAO9vC,EAAE,CAAC,EAAIA,EAAE,CAAC,EAAIA,EAAE,CAAC,EAAIA,EAAE,CAAC,EAC3B8vC,EAAO+B,IACTA,EAAU/B,EACVN,EAAa3zC,GAGjB,MAAO,CAACg2C,EAASrC,CAAU,CAC5B,CAED,IAAIuC,EAA0B,SAAUT,EAAKW,EAAS,CAKpD,QAJIC,EACAC,EAAW,CAAC,CAAC,EACbC,EAAWd,EAAI,CAAC,EAChBe,EAAS,EACJx2C,EAAI,EAAGA,GAAKo2C,EAASp2C,IAC5Bq2C,EAAW5G,EAAO,EAAEgG,EAAKz1C,EAAIo2C,CAAO,EACpCI,GAAUtC,EAAM,UAAUA,EAAM,SAASmC,EAAUE,CAAQ,CAAC,EAC5DD,EAAS,KAAKE,CAAM,EACpBD,EAAWF,EAEb,OAAAC,EAAWA,EAAS,IAAIvjC,GAAKA,EAAIyjC,CAAM,EAChCF,CACT,EACA,SAASH,EAAOV,EAAKgB,EAAOR,EAAWG,EAAS,CAC9C,GAAIK,EAAQ,EACV,MAAO,GAET,GAAIA,EAAQ,EACV,MAAO,GAGT,QADIC,EAAQC,EAAQC,EAAMC,EAAMx8C,EACvB2F,EAAI,EAAGA,GAAKo2C,EAASp2C,IAC5B,GAAIy2C,GAASR,EAAUj2C,CAAC,EAAG,CACzB62C,GAAQ72C,EAAI,GAAKo2C,EACjBQ,EAAO52C,EAAIo2C,EACXO,EAASV,EAAUj2C,EAAI,CAAC,EACxB02C,EAAST,EAAUj2C,CAAC,EACpB3F,GAAKo8C,EAAQE,IAAWD,EAASC,IAAWC,EAAOC,GAAQA,EAC3D,MAGJ,OAAOx8C,CACR,CACD,SAAS+4C,EAAc0D,EAAQC,EAAQ,CACrC,OAAO7C,EAAM,UAAUA,EAAM,SAAS4C,EAAQC,CAAM,CAAC,CACtD,CACD,MAAM7C,CAAM,CACV,OAAO,YAAYnhC,EAAG,CAEpB,QADIikC,EAAK,CAAA,EACFjkC,KACLikC,EAAG,KAAK,CAAC,EAAG,CAAC,CAAC,EAEhB,OAAOA,CACR,CACD,OAAO,SAAS7V,EAAO8V,EAAY,CACjC,OAAO9V,EAAM,IAAIpuB,GAAKA,EAAIkkC,CAAU,CACrC,CACD,OAAO,UAAU91C,EAAIC,EAAI,CACvB,OAAOD,EAAG,OAAO,CAAC0mB,EAAK/kB,EAAI9C,IAAM6nB,EAAM/kB,EAAK1B,EAAGpB,CAAC,EAAG,CAAC,CACrD,CACD,OAAO,SAASoE,EAAMC,EAAM,CAC1B,OAAOD,EAAK,IAAI,CAACtB,EAAI9C,IAAM8C,EAAKuB,EAAKrE,CAAC,CAAC,CACxC,CACD,OAAO,UAAUoE,EAAMC,EAAM,CAC3B,OAAOD,EAAK,IAAI,CAACtB,EAAI9C,IAAM8C,EAAKuB,EAAKrE,CAAC,CAAC,CACxC,CACD,OAAO,SAASmhC,EAAO+V,EAAU,CAC/B,OAAO/V,EAAM,IAAIpuB,GAAKA,EAAImkC,CAAQ,CACnC,CACD,OAAO,IAAI/V,EAAO,CAChB,OAAOA,EAAM,OAAO,CAACtZ,EAAK9U,IAAM8U,EAAM9U,CAAC,CACxC,CACD,OAAO,IAAI5R,EAAIC,EAAI,CACjB,OAAO8yC,EAAM,UAAU/yC,EAAIC,CAAE,CAC9B,CACD,OAAO,UAAU+C,EAAG,CAClB,OAAO,KAAK,MAAM,GAAGA,CAAC,CACvB,CACD,OAAO,SAASg9B,EAAOgW,EAAS,CAC9B,OAAOhW,EAAM,IAAIpuB,GAAKA,EAAIokC,CAAO,CAClC,CACD,OAAO,YAAYhW,EAAO,CACxB,OAAOA,EAAM,IAAIpuB,GAAKA,EAAIA,CAAC,CAC5B,CACD,OAAO,UAAU5O,EAAG,CAClB,OAAO,KAAK,SAASA,EAAG,KAAK,UAAUA,CAAC,CAAC,CAC1C,CACF,CACD,MAAMsrC,CAAO,CACX,OAAO,EAAE2H,EAAU/8C,EAAG,CACpB,IAAI4Y,EAAK,EAAM5Y,EACXg9C,EAAKnD,EAAM,SAASkD,EAAS,CAAC,EAAGnkC,EAAKA,EAAKA,CAAE,EAC/CqkC,EAAKpD,EAAM,SAASkD,EAAS,CAAC,EAAG,EAAInkC,EAAKA,EAAK5Y,CAAC,EAChDk9C,EAAKrD,EAAM,SAASkD,EAAS,CAAC,EAAG,EAAInkC,EAAK5Y,EAAIA,CAAC,EAC/Cm9C,EAAKtD,EAAM,SAASkD,EAAS,CAAC,EAAG/8C,EAAIA,EAAIA,CAAC,EAC5C,OAAO65C,EAAM,UAAUA,EAAM,UAAUmD,EAAIC,CAAE,EAAGpD,EAAM,UAAUqD,EAAIC,CAAE,CAAC,CACxE,CACD,OAAO,OAAOJ,EAAU/8C,EAAG,CACzB,IAAI4Y,EAAK,EAAM5Y,EACXg9C,EAAKnD,EAAM,SAASA,EAAM,SAASkD,EAAS,CAAC,EAAGA,EAAS,CAAC,CAAC,EAAG,EAAInkC,EAAKA,CAAE,EAC3EqkC,EAAKpD,EAAM,SAASA,EAAM,SAASkD,EAAS,CAAC,EAAGA,EAAS,CAAC,CAAC,EAAG,EAAInkC,EAAK5Y,CAAC,EACxEk9C,EAAKrD,EAAM,SAASA,EAAM,SAASkD,EAAS,CAAC,EAAGA,EAAS,CAAC,CAAC,EAAG,EAAI/8C,EAAIA,CAAC,EACzE,OAAO65C,EAAM,UAAUA,EAAM,UAAUmD,EAAIC,CAAE,EAAGC,CAAE,CACnD,CACD,OAAO,YAAYH,EAAU/8C,EAAG,CAC9B,OAAO65C,EAAM,UAAUA,EAAM,SAASA,EAAM,UAAUA,EAAM,SAASkD,EAAS,CAAC,EAAGlD,EAAM,SAASkD,EAAS,CAAC,EAAG,CAAC,CAAC,EAAGA,EAAS,CAAC,CAAC,EAAG,GAAK,EAAM/8C,EAAE,EAAG65C,EAAM,SAASA,EAAM,UAAUA,EAAM,SAASkD,EAAS,CAAC,EAAGlD,EAAM,SAASkD,EAAS,CAAC,EAAG,CAAC,CAAC,EAAGA,EAAS,CAAC,CAAC,EAAG,EAAI/8C,CAAC,CAAC,CAClQ,CACF,CACDy4C,EAAO,QAAUD,EACjBC,EAAO,QAAQ,SAAWQ,EAC1BR,EAAO,QAAQ,cAAgBM,CAExB,EAEA,CAACr4C,EAAyBC,EAAS8V,IAAwB,2BAIlE,OAAO,eAAe9V,EAAS,aAAe,CAC5C,MAAO,EACT,GACAA,EAAQ,gBAAkB,OAC1B,IAAI+V,EAAQD,EAAoB,CAAC,EAC7BmD,EAAiBnD,EAAoB,CAAC,EACtC2mC,GAAsB3mC,EAAoB,CAAC,EAC3C4mC,EAAmB5mC,EAAoB,EAAE,EACzC6mC,EAAa7mC,EAAoB,EAAE,EACvC,MAAM8mC,EAAoB,IACpBpR,EAAoB,EACpBqR,EAAuB,IAAI,QACjC,SAASC,EAAYz1C,EAAM,CACzB,MAAO,CACL,MAAOA,EAAK,CAAC,EAAIA,EAAK,CAAC,EACvB,OAAQA,EAAK,CAAC,EAAIA,EAAK,CAAC,CAC5B,CACC,CACD,MAAM01C,CAAyB,CAC7B,OAAO,OAAO7lC,EAAY,CAExB,OADgBA,EAAW,KAAK,eACjB,CACb,KAAKnB,EAAM,eAAe,KACxB,OAAO,IAAIinC,EAAsB9lC,CAAU,EAC7C,KAAKnB,EAAM,eAAe,KACxB,OAAO,IAAIknC,EAAsB/lC,CAAU,EAC7C,KAAKnB,EAAM,eAAe,OAExB,OADkBmB,EAAW,KAAK,UACjB,CACf,IAAK,KACH,OAAO,IAAIgmC,EAA4BhmC,CAAU,EACnD,IAAK,MACH,OAAIA,EAAW,KAAK,YACX,IAAIimC,EAAmCjmC,CAAU,EAC/CA,EAAW,KAAK,SAClB,IAAIkmC,EAAgClmC,CAAU,EAEhD,IAAImmC,EAAkCnmC,CAAU,EACzD,IAAK,KACH,OAAO,IAAIomC,EAA8BpmC,CAAU,CACtD,CACD,OAAO,IAAIqmC,EAAwBrmC,CAAU,EAC/C,KAAKnB,EAAM,eAAe,MACxB,OAAO,IAAIynC,EAAuBtmC,CAAU,EAC9C,KAAKnB,EAAM,eAAe,SACxB,OAAO,IAAI0nC,EAA0BvmC,CAAU,EACjD,KAAKnB,EAAM,eAAe,KACxB,OAAO,IAAI2nC,EAAsBxmC,CAAU,EAC7C,KAAKnB,EAAM,eAAe,OACxB,OAAO,IAAI4nC,EAAwBzmC,CAAU,EAC/C,KAAKnB,EAAM,eAAe,OACxB,OAAO,IAAI6nC,EAAwB1mC,CAAU,EAC/C,KAAKnB,EAAM,eAAe,SACxB,OAAO,IAAI8nC,EAA0B3mC,CAAU,EACjD,KAAKnB,EAAM,eAAe,MACxB,OAAO,IAAI+nC,GAAuB5mC,CAAU,EAC9C,KAAKnB,EAAM,eAAe,IACxB,OAAO,IAAIgoC,EAAqB7mC,CAAU,EAC5C,KAAKnB,EAAM,eAAe,QACxB,OAAO,IAAIioC,EAAyB9mC,CAAU,EAChD,KAAKnB,EAAM,eAAe,UACxB,OAAO,IAAIkoC,GAA2B/mC,CAAU,EAClD,KAAKnB,EAAM,eAAe,UACxB,OAAO,IAAImoC,GAA2BhnC,CAAU,EAClD,KAAKnB,EAAM,eAAe,SACxB,OAAO,IAAIooC,GAA0BjnC,CAAU,EACjD,KAAKnB,EAAM,eAAe,UACxB,OAAO,IAAIqoC,GAA2BlnC,CAAU,EAClD,KAAKnB,EAAM,eAAe,MACxB,OAAO,IAAIsoC,GAAuBnnC,CAAU,EAC9C,KAAKnB,EAAM,eAAe,eACxB,OAAO,IAAIuoC,EAAgCpnC,CAAU,EACvD,QACE,OAAO,IAAIqnC,EAAkBrnC,CAAU,CAC1C,CACF,CACF,CACD,MAAMqnC,CAAkB,CACtB,YAAYrnC,EAAY,CACtB,aAAAsnC,EAAe,GACf,aAAAC,EAAe,GACf,qBAAAC,EAAuB,EACxB,EAAG,GAAI,CACN,KAAK,aAAeF,EACpB,KAAK,KAAOtnC,EAAW,KACvB,KAAK,MAAQA,EAAW,MACxB,KAAK,KAAOA,EAAW,KACvB,KAAK,SAAWA,EAAW,SAC3B,KAAK,YAAcA,EAAW,YAC9B,KAAK,gBAAkBA,EAAW,gBAClC,KAAK,mBAAqBA,EAAW,mBACrC,KAAK,YAAcA,EAAW,YAC9B,KAAK,WAAaA,EAAW,WAC7B,KAAK,kBAAoBA,EAAW,kBACpC,KAAK,gBAAkBA,EAAW,gBAClC,KAAK,aAAeA,EAAW,aAC/B,KAAK,cAAgBA,EAAW,aAC5BsnC,IACF,KAAK,UAAY,KAAK,iBAAiBC,CAAY,GAEjDC,IACF,KAAK,eAAiB,KAAK,sBAAsBD,CAAY,EAEhE,CACD,iBAAiBA,EAAe,GAAO,CACrC,KAAM,CACJ,KAAA70C,EACA,KAAA8J,EACA,SAAAtE,CACD,EAAG,KACE8L,EAAY,SAAS,cAAc,SAAS,EAClDA,EAAU,aAAa,qBAAsBtR,EAAK,EAAE,EAChDA,EAAK,UACPsR,EAAU,UAAU,IAAI,UAAU,EAEpC,KAAM,CACJ,UAAAxD,EACA,WAAAC,GACA,MAAAC,EACA,MAAAC,CACN,EAAQzI,EAAS,QACP,CACJ,MAAAuF,GACA,OAAAC,EACN,EAAQkoC,EAAYlzC,EAAK,IAAI,EACnBvC,GAAO0O,EAAM,KAAK,cAAc,CAACnM,EAAK,KAAK,CAAC,EAAG8J,EAAK,KAAK,CAAC,EAAI9J,EAAK,KAAK,CAAC,EAAI8J,EAAK,KAAK,CAAC,EAAG9J,EAAK,KAAK,CAAC,EAAG8J,EAAK,KAAK,CAAC,EAAI9J,EAAK,KAAK,CAAC,EAAI8J,EAAK,KAAK,CAAC,CAAC,CAAC,EAC1J,GAAI,CAAC+qC,GAAgB70C,EAAK,YAAY,MAAQ,EAAG,CAC/CsR,EAAU,MAAM,YAAc,GAAGtR,EAAK,YAAY,UAClD,MAAM+0C,GAAmB/0C,EAAK,YAAY,uBACpCg1C,GAAiBh1C,EAAK,YAAY,qBACxC,GAAI+0C,GAAmB,GAAKC,GAAiB,EAAG,CAC9C,MAAMC,GAAS,QAAQF,sCAAoDC,8BAC3E1jC,EAAU,MAAM,aAAe2jC,WACtB,gBAAgB1B,EAAoC,CAC7D,MAAM0B,GAAS,QAAQlqC,sCAAyCC,8BAChEsG,EAAU,MAAM,aAAe2jC,GAEjC,OAAQj1C,EAAK,YAAY,MAAK,CAC5B,KAAKmM,EAAM,0BAA0B,MACnCmF,EAAU,MAAM,YAAc,QAC9B,MACF,KAAKnF,EAAM,0BAA0B,OACnCmF,EAAU,MAAM,YAAc,SAC9B,MACF,KAAKnF,EAAM,0BAA0B,WAC/BA,EAAM,MAAM,qCAAqC,EACrD,MACF,KAAKA,EAAM,0BAA0B,SAC/BA,EAAM,MAAM,mCAAmC,EACnD,MACF,KAAKA,EAAM,0BAA0B,UACnCmF,EAAU,MAAM,kBAAoB,QACpC,KAGH,CACD,MAAM4jC,GAAcl1C,EAAK,aAAe,KACpCk1C,GACF5jC,EAAU,MAAM,YAAcnF,EAAM,KAAK,aAAa+oC,GAAY,CAAC,EAAI,EAAGA,GAAY,CAAC,EAAI,EAAGA,GAAY,CAAC,EAAI,CAAC,EAEhH5jC,EAAU,MAAM,YAAc,EAGlCA,EAAU,MAAM,KAAO,GAAG,KAAO7T,GAAK,CAAC,EAAIuQ,GAASF,KACpDwD,EAAU,MAAM,IAAM,GAAG,KAAO7T,GAAK,CAAC,EAAIwQ,GAASF,MACnD,KAAM,CACJ,SAAA9I,EACD,EAAGjF,EACJ,OAAIA,EAAK,cAAgBiF,KAAa,GACpCqM,EAAU,MAAM,MAAQ,GAAG,IAAMvG,GAAQ+C,KACzCwD,EAAU,MAAM,OAAS,GAAG,IAAMtG,GAAS+C,OAE3C,KAAK,YAAY9I,GAAUqM,CAAS,EAE/BA,CACR,CACD,YAAYoP,EAAOpP,EAAY,KAAK,UAAW,CAC7C,KAAM,CACJ,UAAAxD,EACA,WAAAC,CACN,EAAQ,KAAK,SAAS,QACZ,CACJ,MAAAhD,EACA,OAAAC,CACD,EAAGkoC,EAAY,KAAK,KAAK,IAAI,EAC9B,IAAIiC,GAAcC,EACd10B,EAAQ,MAAQ,GAClBy0B,GAAe,IAAMpqC,EAAQ+C,EAC7BsnC,EAAgB,IAAMpqC,EAAS+C,IAE/BonC,GAAe,IAAMnqC,EAAS8C,EAC9BsnC,EAAgB,IAAMrqC,EAAQgD,GAEhCuD,EAAU,MAAM,MAAQ,GAAG6jC,MAC3B7jC,EAAU,MAAM,OAAS,GAAG8jC,KAC5B9jC,EAAU,aAAa,sBAAuB,IAAMoP,GAAS,GAAG,CACjE,CACD,IAAI,gBAAiB,CACnB,MAAM20B,EAAW,CAACC,EAAQC,EAAWhtC,IAAU,CAC7C,MAAM0I,EAAQ1I,EAAM,OAAO+sC,CAAM,EACjC/sC,EAAM,OAAO,MAAMgtC,CAAS,EAAIzC,EAAiB,gBAAgB,GAAG7hC,EAAM,CAAC,QAAQ,EAAEA,EAAM,MAAM,CAAC,CAAC,CACzG,EACI,SAAW9E,EAAM,QAAQ,KAAM,iBAAkB,CAC/C,QAAS5D,GAAS,CAChB,MAAMitC,EAASjtC,EAAM,OAAO,QAAU,IAAM,EAC5C,KAAK,UAAU,MAAM,WAAaitC,EAAS,SAAW,UACtD,KAAK,kBAAkB,SAAS,KAAK,KAAK,GAAI,CAC5C,OAAAA,EACA,MAAOjtC,EAAM,OAAO,UAAY,GAAKA,EAAM,OAAO,UAAY,CACxE,CAAS,CACF,EACD,MAAOA,GAAS,CACd,KAAK,kBAAkB,SAAS,KAAK,KAAK,GAAI,CAC5C,MAAOA,EAAM,OAAO,KAC9B,CAAS,CACF,EACD,OAAQA,GAAS,CACf,KAAK,UAAU,MAAM,WAAaA,EAAM,OAAO,OAAS,SAAW,UACnE,KAAK,kBAAkB,SAAS,KAAK,KAAK,GAAI,CAC5C,OAAQA,EAAM,OAAO,MAC/B,CAAS,CACF,EACD,MAAOA,GAAS,CACd,WAAW,IAAMA,EAAM,OAAO,MAAM,CAClC,cAAe,EACzB,CAAS,EAAG,CAAC,CACN,EACD,SAAUA,GAAS,CACjBA,EAAM,OAAO,MAAQA,EAAM,OAAO,QACnC,EACD,SAAUA,GAAS,CACbA,EAAM,OAAO,SACfA,EAAM,OAAO,aAAa,WAAY,EAAE,EAExCA,EAAM,OAAO,gBAAgB,UAAU,CAE1C,EACD,SAAUA,GAAS,CACjB,KAAK,aAAaA,EAAM,OAAQA,EAAM,OAAO,QAAQ,CACtD,EACD,QAASA,GAAS,CAChB8sC,EAAS,UAAW,kBAAmB9sC,CAAK,CAC7C,EACD,UAAWA,GAAS,CAClB8sC,EAAS,YAAa,kBAAmB9sC,CAAK,CAC/C,EACD,QAASA,GAAS,CAChB8sC,EAAS,UAAW,QAAS9sC,CAAK,CACnC,EACD,UAAWA,GAAS,CAClB8sC,EAAS,YAAa,QAAS9sC,CAAK,CACrC,EACD,YAAaA,GAAS,CACpB8sC,EAAS,cAAe,cAAe9sC,CAAK,CAC7C,EACD,YAAaA,GAAS,CACpB8sC,EAAS,cAAe,cAAe9sC,CAAK,CAC7C,EACD,SAAUA,GAAS,CACjB,MAAMmY,EAAQnY,EAAM,OAAO,SAC3B,KAAK,YAAYmY,CAAK,EACtB,KAAK,kBAAkB,SAAS,KAAK,KAAK,GAAI,CAC5C,SAAUA,CACpB,CAAS,CACF,CACP,CAAK,CACF,CACD,0BAA0B+0B,EAASC,EAAS,CAC1C,MAAMC,EAAgB,KAAK,eAC3B,UAAWt7C,KAAQ,OAAO,KAAKq7C,EAAQ,MAAM,EAAG,CAC9C,MAAMtc,EAASqc,EAAQp7C,CAAI,GAAKs7C,EAAct7C,CAAI,EAClD++B,GAAA,MAAAA,EAASsc,GAEZ,CACD,4BAA4BpmC,EAAS,CACnC,GAAI,CAAC,KAAK,gBACR,OAEF,MAAMsmC,EAAa,KAAK,kBAAkB,YAAY,KAAK,KAAK,EAAE,EAClE,GAAI,CAACA,EACH,OAEF,MAAMD,EAAgB,KAAK,eAC3B,SAAW,CAAClc,EAAYoc,CAAM,IAAK,OAAO,QAAQD,CAAU,EAAG,CAC7D,MAAMxc,EAASuc,EAAclc,CAAU,EACvC,GAAIL,EAAQ,CACV,MAAM0c,GAAa,CACjB,OAAQ,CACN,CAACrc,CAAU,EAAGoc,CACf,EACD,OAAQvmC,CAClB,EACQ8pB,EAAO0c,EAAU,EACjB,OAAOF,EAAWnc,CAAU,GAGjC,CACD,sBAAsBob,EAAe,GAAO,CAC1C,GAAI,CAAC,KAAK,KAAK,WACb,OAAO,KAET,MAAMkB,EAAiB,CAAA,EACjBC,EAAY,KAAK,KAAK,KAC5B,UAAWC,KAAa,KAAK,KAAK,WAChC,KAAK,KAAK,KAAO,CAACA,EAAU,CAAC,EAAE,EAAGA,EAAU,CAAC,EAAE,EAAGA,EAAU,CAAC,EAAE,EAAGA,EAAU,CAAC,EAAE,CAAC,EAChFF,EAAe,KAAK,KAAK,iBAAiBlB,CAAY,CAAC,EAEzD,YAAK,KAAK,KAAOmB,EACVD,CACR,CACD,aAAaG,EAASl2C,EAAM,CAC1B,IAAIsR,EAAY,KAAK,UACjB,KAAK,iBACP4kC,MAAY,KAAK,gBACjB5kC,EAAY,KAAK,eAAe,CAAC,GAE9B4kC,IACHA,EAAU,SAAS,cAAc,KAAK,EACtCA,EAAQ,UAAU,IAAI,kBAAkB,EACxC5kC,EAAU,OAAO4kC,CAAO,GAY1B,MAAMC,EAVe,IAAIC,EAAa,CACpC,UAAA9kC,EACA,QAAA4kC,EACA,MAAOl2C,EAAK,MACZ,SAAUA,EAAK,SACf,iBAAkBA,EAAK,iBACvB,YAAaA,EAAK,YAClB,SAAUA,EAAK,SACf,YAAa,EACnB,CAAK,EAC0B,SAC3Bm2C,EAAM,MAAM,KAAO,OACnB7kC,EAAU,OAAO6kC,CAAK,CACvB,CACD,sBAAsBE,EAAW,CAC/B,UAAWC,KAAiB,KAAK,eAC/BA,EAAc,UAAU,IAAID,CAAS,EAEvC,OAAO,KAAK,cACb,CACD,QAAS,IACHlqC,EAAM,aAAa,mDAAmD,CAC3E,CACD,mBAAmB9R,EAAMk8C,EAAS,KAAM,CACtC,MAAMC,EAAS,CAAA,EACf,GAAI,KAAK,cAAe,CACtB,MAAMC,EAAW,KAAK,cAAcp8C,CAAI,EACxC,GAAIo8C,EACF,SAAW,CACT,KAAA3sC,EACA,GAAArF,EACA,aAAAiyC,EACD,IAAID,EAAU,CAIb,GAHI3sC,IAAS,IAGTrF,IAAO8xC,EACT,SAEF,MAAMI,EAAc,OAAOD,IAAiB,SAAWA,GAAe,KAChEE,EAAa,SAAS,cAAc,qBAAqBnyC,KAAM,EACrE,GAAImyC,GAAc,CAAC3D,EAAqB,IAAI2D,CAAU,EAAG,IACnDzqC,EAAM,MAAM,6CAA6C1H,GAAI,EACjE,SAEF+xC,EAAO,KAAK,CACV,GAAA/xC,EACA,YAAAkyC,EACA,WAAAC,CACZ,CAAW,EAGL,OAAOJ,EAET,UAAWI,KAAc,SAAS,kBAAkBv8C,CAAI,EAAG,CACzD,KAAM,CACJ,YAAAs8C,CACD,EAAGC,EACEnyC,EAAKmyC,EAAW,aAAa,iBAAiB,EAChDnyC,IAAO8xC,GAGNtD,EAAqB,IAAI2D,CAAU,GAGxCJ,EAAO,KAAK,CACV,GAAA/xC,EACA,YAAAkyC,EACA,WAAAC,CACR,CAAO,EAEH,OAAOJ,CACR,CACF,CACD,MAAMpD,UAA8BuB,CAAkB,CACpD,YAAYrnC,EAAY1T,EAAU,KAAM,CACtC,MAAM0T,EAAY,CAChB,aAAc,GACd,aAAc,CAAC,EAAC1T,GAAA,MAAAA,EAAS,cACzB,qBAAsB,EAC5B,CAAK,EAoDHgG,EAAA,KAAAi3C,IA+BAj3C,EAAA,KAAAk3C,GAlFE,KAAK,cAAgBxpC,EAAW,KAAK,aACtC,CACD,QAAS,CACP,KAAM,CACJ,KAAAtN,EACA,YAAA+2C,CACD,EAAG,KACEC,EAAO,SAAS,cAAc,GAAG,EACvCA,EAAK,aAAa,kBAAmBh3C,EAAK,EAAE,EAC5C,IAAIi3C,EAAU,GA6Bd,OA5BIj3C,EAAK,KACP+2C,EAAY,kBAAkBC,EAAMh3C,EAAK,IAAKA,EAAK,SAAS,EAC5Di3C,EAAU,IACDj3C,EAAK,QACd,KAAK,iBAAiBg3C,EAAMh3C,EAAK,MAAM,EACvCi3C,EAAU,IACDj3C,EAAK,YACd,KAAK,gBAAgBg3C,EAAMh3C,EAAK,UAAU,EAC1Ci3C,EAAU,IACDj3C,EAAK,aACdgG,EAAA,KAAK8wC,EAAAI,IAAL,UAAsBF,EAAMh3C,EAAK,aACjCi3C,EAAU,IACDj3C,EAAK,MACd,KAAK,UAAUg3C,EAAMh3C,EAAK,IAAI,EAC9Bi3C,EAAU,KAENj3C,EAAK,UAAYA,EAAK,QAAQ,QAAUA,EAAK,QAAQ,UAAU,GAAKA,EAAK,QAAQ,YAAY,IAAM,KAAK,iBAAmB,KAAK,eAClI,KAAK,cAAcg3C,EAAMh3C,CAAI,EAC7Bi3C,EAAU,IAERj3C,EAAK,WACP,KAAK,qBAAqBg3C,EAAMh3C,EAAK,SAAS,EAC9Ci3C,EAAU,IACD,KAAK,eAAiB,CAACA,IAChC,KAAK,UAAUD,EAAM,EAAE,EACvBC,EAAU,KAGV,KAAK,eACA,KAAK,sBAAsB,gBAAgB,EAAE,IAAI,CAACX,EAAea,KAAU,CAChF,MAAMC,EAAcD,KAAU,EAAIH,EAAOA,EAAK,YAC9C,OAAAV,EAAc,OAAOc,CAAW,EACzBd,CACf,CAAO,GAEH,KAAK,UAAU,UAAU,IAAI,gBAAgB,EACzCW,GACF,KAAK,UAAU,OAAOD,CAAI,EAErB,KAAK,UACb,CAID,UAAUA,EAAMK,EAAa,CAC3BL,EAAK,KAAO,KAAK,YAAY,mBAAmBK,CAAW,EAC3DL,EAAK,QAAU,KACTK,GACF,KAAK,YAAY,gBAAgBA,CAAW,EAEvC,KAELA,GAAeA,IAAgB,KACjCrxC,EAAA,KAAK6wC,GAAAS,IAAL,UAEH,CACD,iBAAiBN,EAAM5d,EAAQ,CAC7B4d,EAAK,KAAO,KAAK,YAAY,aAAa,EAAE,EAC5CA,EAAK,QAAU,KACb,KAAK,YAAY,mBAAmB5d,CAAM,EACnC,IAETpzB,EAAA,KAAK6wC,GAAAS,IAAL,UACD,CACD,gBAAgBN,EAAMO,EAAY,CAChCP,EAAK,KAAO,KAAK,YAAY,aAAa,EAAE,EAC5CA,EAAK,QAAU,IAAM,OACnB,OAAAnzC,EAAA,KAAK,kBAAL,MAAAA,EAAsB,mBAAmB,KAAK,UAAW0zC,EAAW,QAASA,EAAW,UACjF,EACb,EACIvxC,EAAA,KAAK6wC,GAAAS,IAAL,UACD,CASD,cAAcN,EAAMh3C,EAAM,CACxBg3C,EAAK,KAAO,KAAK,YAAY,aAAa,EAAE,EAC5C,MAAMx7C,EAAM,IAAI,IAAI,CAAC,CAAC,SAAU,SAAS,EAAG,CAAC,WAAY,WAAW,EAAG,CAAC,aAAc,aAAa,CAAC,CAAC,EACrG,UAAWnB,KAAQ,OAAO,KAAK2F,EAAK,OAAO,EAAG,CAC5C,MAAMs1C,EAAS95C,EAAI,IAAInB,CAAI,EACtBi7C,IAGL0B,EAAK1B,CAAM,EAAI,IAAM,QACnB,OAAAzxC,GAAA,KAAK,YAAY,WAAjB,MAAAA,GAA2B,SAAS,yBAA0B,CAC5D,OAAQ,KACR,OAAQ,CACN,GAAI7D,EAAK,GACT,KAAA3F,CACD,CACX,GACe,EACf,GAES28C,EAAK,UACRA,EAAK,QAAU,IAAM,IAEvBhxC,EAAA,KAAK6wC,GAAAS,IAAL,UACD,CACD,qBAAqBN,EAAMQ,EAAW,CACpC,MAAMC,EAAmBT,EAAK,QAK9B,GAJKS,IACHT,EAAK,KAAO,KAAK,YAAY,aAAa,EAAE,GAE9ChxC,EAAA,KAAK6wC,GAAAS,IAAL,WACI,CAAC,KAAK,cAAe,IACnBnrC,EAAM,MAAM,gHAAqH,EAChIsrC,IACHT,EAAK,QAAU,IAAM,IAEvB,OAEFA,EAAK,QAAU,IAAM,QACnBS,GAAA,MAAAA,IACA,KAAM,CACJ,OAAQC,EACR,KAAMC,EACN,QAAAC,EACD,EAAGJ,EACEK,EAAY,CAAA,EAClB,GAAIH,EAAgB,SAAW,GAAKC,EAAc,SAAW,EAAG,CAC9D,MAAMG,GAAW,IAAI,IAAIH,CAAa,EACtC,UAAWI,MAAaL,EAAiB,CACvC,MAAMlB,GAAS,KAAK,cAAcuB,EAAS,GAAK,CAAA,EAChD,SAAW,CACT,GAAAtzC,EACD,IAAI+xC,GACHsB,GAAS,IAAIrzC,EAAE,EAGnB,UAAW+xC,MAAU,OAAO,OAAO,KAAK,aAAa,EACnD,UAAWwB,MAASxB,GACdsB,GAAS,IAAIE,GAAM,EAAE,IAAMJ,IAC7BC,EAAU,KAAKG,EAAK,MAK1B,WAAWxB,MAAU,OAAO,OAAO,KAAK,aAAa,EACnDqB,EAAU,KAAK,GAAGrB,EAAM,EAG5B,MAAMyB,EAAU,KAAK,kBACfC,GAAS,CAAA,EACf,UAAWF,MAASH,EAAW,CAC7B,KAAM,CACJ,GAAApzC,EACD,EAAGuzC,GAEJ,OADAE,GAAO,KAAKzzC,EAAE,EACNuzC,GAAM,KAAI,CAChB,IAAK,OACH,CACE,MAAM/9C,GAAQ+9C,GAAM,cAAgB,GACpCC,EAAQ,SAASxzC,GAAI,CACnB,MAAAxK,EAChB,CAAe,EACD,KACD,CACH,IAAK,WACL,IAAK,cACH,CACE,MAAMA,GAAQ+9C,GAAM,eAAiBA,GAAM,aAC3CC,EAAQ,SAASxzC,GAAI,CACnB,MAAAxK,EAChB,CAAe,EACD,KACD,CACH,IAAK,WACL,IAAK,UACH,CACE,MAAMA,GAAQ+9C,GAAM,cAAgB,GACpCC,EAAQ,SAASxzC,GAAI,CACnB,MAAAxK,EAChB,CAAe,EACD,KACD,CACH,QACE,QACH,CACD,MAAM28C,GAAa,SAAS,cAAc,qBAAqBnyC,MAAM,EACrE,GAAKmyC,IAEE,GAAI,CAAC3D,EAAqB,IAAI2D,EAAU,EAAG,IAC5CzqC,EAAM,MAAM,+CAA+C1H,IAAI,EACnE,cAHA,UAKFmyC,GAAW,cAAc,IAAI,MAAM,WAAW,CAAC,EAEjD,OAAI,KAAK,mBACP/yC,GAAA,KAAK,YAAY,WAAjB,MAAAA,GAA2B,SAAS,yBAA0B,CAC5D,OAAQ,KACR,OAAQ,CACN,GAAI,MACJ,IAAKq0C,GACL,KAAM,WACP,CACX,IAEa,EACb,CACG,CACF,CArKCrB,GAAA,YAAAS,GAAgB,UAAG,CACjB,KAAK,UAAU,aAAa,qBAAsB,EAAE,CACrD,EA6BDR,EAAA,YAAAI,GAAgB,SAACF,EAAM5d,EAAQ,CAC7B4d,EAAK,KAAO,KAAK,YAAY,aAAa,EAAE,EAC5CA,EAAK,QAAU,KACb,KAAK,YAAY,mBAAmB5d,CAAM,EACnC,IAETpzB,EAAA,KAAK6wC,GAAAS,IAAL,UACD,EAgIH,MAAMjE,UAA8BsB,CAAkB,CACpD,YAAYrnC,EAAY,WACtB,MAAMsnC,EAAe,CAAC,EAAEtnC,EAAW,KAAK,WAAYzJ,EAAAyJ,EAAW,KAAK,WAAhB,MAAAzJ,EAA0B,MAAOkC,EAAAuH,EAAW,KAAK,cAAhB,MAAAvH,EAA6B,MAAOK,EAAAkH,EAAW,KAAK,WAAhB,MAAAlH,EAA0B,KACnJ,MAAMkH,EAAY,CAChB,aAAAsnC,CACN,CAAK,CACF,CACD,QAAS,CACP,KAAK,UAAU,UAAU,IAAI,gBAAgB,EAC7C,MAAM1jB,EAAQ,SAAS,cAAc,KAAK,EAC1C,OAAAA,EAAM,IAAM,KAAK,mBAAqB,cAAgB,KAAK,KAAK,KAAK,YAAa,EAAG,OACrFA,EAAM,IAAM,wBACZA,EAAM,QAAQ,OAAS,uBACvBA,EAAM,QAAQ,SAAW,KAAK,UAAU,CACtC,KAAM,KAAK,KAAK,IACtB,CAAK,EACI,KAAK,KAAK,UACb,KAAK,aAAaA,EAAO,KAAK,IAAI,EAEpC,KAAK,UAAU,OAAOA,CAAK,EACpB,KAAK,SACb,CACF,CACD,MAAMyiB,UAAgCgB,CAAkB,CACtD,QAAS,CACP,OAAI,KAAK,KAAK,kBACZ,KAAK,UAAU,MAAQ,KAAK,KAAK,iBAE5B,KAAK,SACb,CACD,yBAAyBrlC,EAAS,OAC5B,KAAK,KAAK,iBACRzL,EAAAyL,EAAQ,kBAAR,YAAAzL,EAAyB,YAAa,WACxCyL,EAAQ,gBAAgB,OAAS,IAEnCA,EAAQ,OAAS,GAEpB,CACD,gBAAgB/G,EAAO,CACrB,KAAM,CACJ,MAAA4vC,EACA,MAAAtpC,CACN,EAAQ1C,EAAM,YAAY,SACtB,OAAOgsC,GAAS5vC,EAAM,SAAWsG,GAAStG,EAAM,OACjD,CACD,kBAAkB+G,EAAS8oC,EAAUC,EAAWC,EAAa,CACvDF,EAAS,SAAS,OAAO,EAC3B9oC,EAAQ,iBAAiB8oC,EAAU7vC,GAAS,QAC1C1E,EAAA,KAAK,YAAY,WAAjB,MAAAA,EAA2B,SAAS,yBAA0B,CAC5D,OAAQ,KACR,OAAQ,CACN,GAAI,KAAK,KAAK,GACd,KAAMw0C,EACN,MAAOC,EAAY/vC,CAAK,EACxB,MAAOA,EAAM,SACb,SAAU,KAAK,gBAAgBA,CAAK,CACrC,CACX,EACA,CAAO,EAED+G,EAAQ,iBAAiB8oC,EAAU7vC,GAAS,QAC1C1E,EAAA,KAAK,YAAY,WAAjB,MAAAA,EAA2B,SAAS,yBAA0B,CAC5D,OAAQ,KACR,OAAQ,CACN,GAAI,KAAK,KAAK,GACd,KAAMw0C,EACN,MAAOC,EAAY/vC,CAAK,CACzB,CACX,EACA,CAAO,CAEJ,CACD,mBAAmB+G,EAASC,EAAOgpC,EAAQ,OACzC,SAAW,CAACH,EAAUC,CAAS,IAAK9oC,GAC9B8oC,IAAc,WAAYx0C,EAAA,KAAK,KAAK,UAAV,MAAAA,EAAoBw0C,KAChD,KAAK,kBAAkB/oC,EAAS8oC,EAAUC,EAAWE,CAAM,CAGhE,CACD,oBAAoBjpC,EAAS,CAC3B,MAAM2B,EAAQ,KAAK,KAAK,iBAAmB,KAC3C3B,EAAQ,MAAM,gBAAkB2B,IAAU,KAAO,cAAgB9E,EAAM,KAAK,aAAa8E,EAAM,CAAC,EAAGA,EAAM,CAAC,EAAGA,EAAM,CAAC,CAAC,CACtH,CACD,cAAc3B,EAAS,CACrB,MAAMkpC,EAAiB,CAAC,OAAQ,SAAU,OAAO,EAC3C,CACJ,UAAAC,CACN,EAAQ,KAAK,KAAK,sBACR3rB,EAAW,KAAK,KAAK,sBAAsB,UAAY8U,EACvDlzB,EAAQY,EAAQ,MACtB,IAAIopC,EACJ,MAAMC,GAAc,EACdC,EAAoBzqC,GAAK,KAAK,MAAM,GAAKA,CAAC,EAAI,GACpD,GAAI,KAAK,KAAK,UAAW,CACvB,MAAMnD,EAAS,KAAK,IAAI,KAAK,KAAK,KAAK,CAAC,EAAI,KAAK,KAAK,KAAK,CAAC,EAAI2tC,EAAW,EACrEE,GAAgB,KAAK,MAAM7tC,GAAUmB,EAAM,YAAc2gB,EAAS,GAAK,EACvEgsB,GAAa9tC,EAAS6tC,GAC5BH,EAAmB,KAAK,IAAI5rB,EAAU8rB,EAAkBE,GAAa3sC,EAAM,WAAW,CAAC,MAClF,CACL,MAAMnB,EAAS,KAAK,IAAI,KAAK,KAAK,KAAK,CAAC,EAAI,KAAK,KAAK,KAAK,CAAC,EAAI2tC,EAAW,EAC3ED,EAAmB,KAAK,IAAI5rB,EAAU8rB,EAAkB5tC,EAASmB,EAAM,WAAW,CAAC,EAErFuC,EAAM,SAAW,QAAQgqC,6BACzBhqC,EAAM,MAAQvC,EAAM,KAAK,aAAassC,EAAU,CAAC,EAAGA,EAAU,CAAC,EAAGA,EAAU,CAAC,CAAC,EAC1E,KAAK,KAAK,gBAAkB,OAC9B/pC,EAAM,UAAY8pC,EAAe,KAAK,KAAK,aAAa,EAE3D,CACD,aAAalpC,EAASypC,EAAY,CAC5BA,EACFzpC,EAAQ,aAAa,WAAY,EAAI,EAErCA,EAAQ,gBAAgB,UAAU,EAEpCA,EAAQ,aAAa,gBAAiBypC,CAAU,CACjD,CACF,CACD,MAAMzF,UAAoCK,CAAwB,CAChE,YAAYrmC,EAAY,CACtB,MAAMsnC,EAAetnC,EAAW,aAAe,CAACA,EAAW,KAAK,eAAiB,CAAC,CAACA,EAAW,KAAK,WACnG,MAAMA,EAAY,CAChB,aAAAsnC,CACN,CAAK,CACF,CACD,sBAAsBjsC,EAAMlN,EAAKxB,EAAO++C,EAAc,CACpD,MAAMf,EAAU,KAAK,kBACrB,UAAW3oC,KAAW,KAAK,mBAAmB3G,EAAK,KAAMA,EAAK,EAAE,EAC1D2G,EAAQ,aACVA,EAAQ,WAAW7T,CAAG,EAAIxB,GAE5Bg+C,EAAQ,SAAS3oC,EAAQ,GAAI,CAC3B,CAAC0pC,CAAY,EAAG/+C,CACxB,CAAO,CAEJ,CACD,QAAS,OACP,MAAMg+C,EAAU,KAAK,kBACfxzC,EAAK,KAAK,KAAK,GACrB,KAAK,UAAU,UAAU,IAAI,sBAAsB,EACnD,IAAI6K,EAAU,KACd,GAAI,KAAK,YAAa,CACpB,MAAMsmC,EAAaqC,EAAQ,SAASxzC,EAAI,CACtC,MAAO,KAAK,KAAK,UACzB,CAAO,EACD,IAAIuC,EAAc4uC,EAAW,gBAAkBA,EAAW,OAAS,GACnE,MAAMqD,GAAShB,EAAQ,SAASxzC,EAAI,CAClC,UAAW,KAAK,KAAK,MACtB,CAAA,EAAE,UACCw0C,IAAUjyC,EAAY,OAASiyC,KACjCjyC,EAAcA,EAAY,MAAM,EAAGiyC,EAAM,GAE3C,MAAMC,EAAc,CAClB,UAAWlyC,EACX,eAAgB,KAChB,mBAAoB,KACpB,UAAW,CACnB,EACU,KAAK,KAAK,WACZsI,EAAU,SAAS,cAAc,UAAU,EAC3CA,EAAQ,YAActI,EAClB,KAAK,KAAK,cACZsI,EAAQ,MAAM,UAAY,YAG5BA,EAAU,SAAS,cAAc,OAAO,EACxCA,EAAQ,KAAO,OACfA,EAAQ,aAAa,QAAStI,CAAW,EACrC,KAAK,KAAK,cACZsI,EAAQ,MAAM,UAAY,WAG1B,KAAK,KAAK,eACZA,EAAQ,OAAS,IAEnB2jC,EAAqB,IAAI3jC,CAAO,EAChCA,EAAQ,aAAa,kBAAmB7K,CAAE,EAC1C6K,EAAQ,SAAW,KAAK,KAAK,SAC7BA,EAAQ,KAAO,KAAK,KAAK,UACzBA,EAAQ,SAAW0jC,EACnB,KAAK,aAAa1jC,EAAS,KAAK,KAAK,QAAQ,EACzC2pC,KACF3pC,EAAQ,UAAY2pC,IAEtB3pC,EAAQ,iBAAiB,QAAS/G,IAAS,CACzC0vC,EAAQ,SAASxzC,EAAI,CACnB,MAAO8D,GAAM,OAAO,KAC9B,CAAS,EACD,KAAK,sBAAsB+G,EAAS,QAAS/G,GAAM,OAAO,MAAO,OAAO,CAChF,CAAO,EACD+G,EAAQ,iBAAiB,YAAa/G,IAAS,CAC7C,MAAMmE,GAAe,KAAK,KAAK,mBAAqB,GACpD4C,EAAQ,MAAQ4pC,EAAY,UAAYxsC,GACxCwsC,EAAY,eAAiB,IACrC,CAAO,EACD,IAAIC,EAAe5wC,IAAS,CAC1B,KAAM,CACJ,eAAA6wC,EACD,EAAGF,EACAE,IAAmB,OACrB7wC,GAAM,OAAO,MAAQ6wC,IAEvB7wC,GAAM,OAAO,WAAa,CAClC,EACM,GAAI,KAAK,iBAAmB,KAAK,aAAc,CAC7C+G,EAAQ,iBAAiB,QAAS/G,IAAS,CACzC,KAAM,CACJ,OAAA2F,EACD,EAAG3F,GACA2wC,EAAY,YACdhrC,GAAO,MAAQgrC,EAAY,WAE7BA,EAAY,mBAAqBhrC,GAAO,MACxCgrC,EAAY,UAAY,CAClC,CAAS,EACD5pC,EAAQ,iBAAiB,oBAAqBomC,IAAW,CACvD,KAAK,yBAAyBA,GAAQ,MAAM,EAC5C,MAAMD,GAAU,CACd,MAAMltC,GAAO,CACX2wC,EAAY,UAAY3wC,GAAM,OAAO,OAAS,GAC9C0vC,EAAQ,SAASxzC,EAAI,CACnB,MAAOy0C,EAAY,UAAU,SAAU,CACvD,CAAe,EACD3wC,GAAM,OAAO,MAAQ2wC,EAAY,SAClC,EACD,eAAe3wC,GAAO,CACpB,KAAM,CACJ,eAAA6wC,EAChB,EAAkB7wC,GAAM,OACV2wC,EAAY,eAAiBE,GACzBA,IAAmB,MAAwC7wC,GAAM,SAAW,SAAS,gBACvFA,GAAM,OAAO,MAAQ6wC,IAEvBnB,EAAQ,SAASxzC,EAAI,CACnB,eAAA20C,EAChB,CAAe,CACF,EACD,SAAS7wC,GAAO,CACdA,GAAM,OAAO,kBAAkB,GAAGA,GAAM,OAAO,QAAQ,CACxD,EACD,UAAWA,IAAS,QAClB,KAAM,CACJ,UAAA8wC,EAChB,EAAkB9wC,GAAM,OACJ,CACJ,OAAA2F,EACD,EAAG3F,GACJ,GAAI8wC,KAAc,EAAG,CACnBnrC,GAAO,gBAAgB,WAAW,EAClC,OAEFA,GAAO,aAAa,YAAamrC,EAAS,EAC1C,IAAIp/C,GAAQi/C,EAAY,UACpB,CAACj/C,IAASA,GAAM,QAAUo/C,KAG9Bp/C,GAAQA,GAAM,MAAM,EAAGo/C,EAAS,EAChCnrC,GAAO,MAAQgrC,EAAY,UAAYj/C,GACvCg+C,EAAQ,SAASxzC,EAAI,CACnB,MAAAxK,EAChB,CAAe,GACD4J,GAAA,KAAK,YAAY,WAAjB,MAAAA,GAA2B,SAAS,yBAA0B,CAC5D,OAAQ,KACR,OAAQ,CACN,GAAAY,EACA,KAAM,YACN,MAAAxK,GACA,WAAY,GACZ,UAAW,EACX,SAAUiU,GAAO,eACjB,OAAQA,GAAO,YAChB,CACjB,GACa,CACb,EACU,KAAK,0BAA0BunC,GAASC,EAAO,CACzD,CAAS,EACDpmC,EAAQ,iBAAiB,UAAW/G,IAAS,QAC3C2wC,EAAY,UAAY,EACxB,IAAII,GAAY,GAQhB,GAPI/wC,GAAM,MAAQ,SAChB+wC,GAAY,EACH/wC,GAAM,MAAQ,SAAW,CAAC,KAAK,KAAK,UAC7C+wC,GAAY,EACH/wC,GAAM,MAAQ,QACvB2wC,EAAY,UAAY,GAEtBI,KAAc,GAChB,OAEF,KAAM,CACJ,MAAAr/C,EACZ,EAAcsO,GAAM,OACN2wC,EAAY,qBAAuBj/C,KAGvCi/C,EAAY,mBAAqBj/C,GACjCi/C,EAAY,UAAYj/C,IACxB4J,GAAA,KAAK,YAAY,WAAjB,MAAAA,GAA2B,SAAS,yBAA0B,CAC5D,OAAQ,KACR,OAAQ,CACN,GAAAY,EACA,KAAM,YACN,MAAAxK,GACA,WAAY,GACZ,UAAAq/C,GACA,SAAU/wC,GAAM,OAAO,eACvB,OAAQA,GAAM,OAAO,YACtB,CACb,GACA,CAAS,EACD,MAAMgxC,GAAgBJ,EACtBA,EAAe,KACf7pC,EAAQ,iBAAiB,OAAQ/G,IAAS,QACxC,GAAI,CAACA,GAAM,cACT,OAEF,KAAM,CACJ,MAAAtO,EACZ,EAAcsO,GAAM,OACV2wC,EAAY,UAAYj/C,GACpBi/C,EAAY,qBAAuBj/C,MACrC4J,GAAA,KAAK,YAAY,WAAjB,MAAAA,GAA2B,SAAS,yBAA0B,CAC5D,OAAQ,KACR,OAAQ,CACN,GAAAY,EACA,KAAM,YACN,MAAAxK,GACA,WAAY,GACZ,UAAWi/C,EAAY,UACvB,SAAU3wC,GAAM,OAAO,eACvB,OAAQA,GAAM,OAAO,YACtB,CACf,IAEUgxC,GAAchxC,EAAK,CAC7B,CAAS,GACG1E,EAAA,KAAK,KAAK,UAAV,MAAAA,EAAmB,WACrByL,EAAQ,iBAAiB,cAAe/G,IAAS,QAC/C2wC,EAAY,mBAAqB,KACjC,KAAM,CACJ,KAAAl5C,GACA,OAAAkO,EACD,EAAG3F,GACE,CACJ,MAAAtO,GACA,eAAAu/C,GACA,aAAAC,EACD,EAAGvrC,GACJ,IAAIwrC,GAAWF,GACbG,GAASF,GACX,OAAQlxC,GAAM,UAAS,CACrB,IAAK,qBACH,CACE,MAAMm3B,GAAQzlC,GAAM,UAAU,EAAGu/C,EAAc,EAAE,MAAM,YAAY,EAC/D9Z,KACFga,IAAYha,GAAM,CAAC,EAAE,QAEvB,KACD,CACH,IAAK,oBACH,CACE,MAAMA,GAAQzlC,GAAM,UAAUu/C,EAAc,EAAE,MAAM,YAAY,EAC5D9Z,KACFia,IAAUja,GAAM,CAAC,EAAE,QAErB,KACD,CACH,IAAK,wBACC8Z,KAAmBC,KACrBC,IAAY,GAEd,MACF,IAAK,uBACCF,KAAmBC,KACrBE,IAAU,GAEZ,KACH,CACDpxC,GAAM,eAAc,GACpB1E,GAAA,KAAK,YAAY,WAAjB,MAAAA,GAA2B,SAAS,yBAA0B,CAC5D,OAAQ,KACR,OAAQ,CACN,GAAAY,EACA,KAAM,YACN,MAAAxK,GACA,OAAQ+F,IAAQ,GAChB,WAAY,GACZ,SAAA05C,GACA,OAAAC,EACD,CACf,EACA,CAAW,EAEH,KAAK,mBAAmBrqC,EAAS,CAAC,CAAC,QAAS,OAAO,EAAG,CAAC,OAAQ,MAAM,EAAG,CAAC,YAAa,YAAY,EAAG,CAAC,aAAc,aAAa,EAAG,CAAC,aAAc,YAAY,EAAG,CAAC,UAAW,UAAU,CAAC,EAAG/G,IAASA,GAAM,OAAO,KAAK,EAKzN,GAHI4wC,GACF7pC,EAAQ,iBAAiB,OAAQ6pC,CAAY,EAE3C,KAAK,KAAK,KAAM,CAElB,MAAMS,IADa,KAAK,KAAK,KAAK,CAAC,EAAI,KAAK,KAAK,KAAK,CAAC,GACxBX,GAC/B3pC,EAAQ,UAAU,IAAI,MAAM,EAC5BA,EAAQ,MAAM,cAAgB,QAAQsqC,0CAGxCtqC,EAAU,SAAS,cAAc,KAAK,EACtCA,EAAQ,YAAc,KAAK,KAAK,WAChCA,EAAQ,MAAM,cAAgB,SAC9BA,EAAQ,MAAM,QAAU,aAE1B,YAAK,cAAcA,CAAO,EAC1B,KAAK,oBAAoBA,CAAO,EAChC,KAAK,4BAA4BA,CAAO,EACxC,KAAK,UAAU,OAAOA,CAAO,EACtB,KAAK,SACb,CACF,CACD,MAAMkkC,UAAwCG,CAAwB,CACpE,YAAYrmC,EAAY,CACtB,MAAMA,EAAY,CAChB,aAAcA,EAAW,WAC/B,CAAK,CACF,CACD,QAAS,CACP,MAAM2qC,EAAU,KAAK,kBACfj4C,EAAO,KAAK,KACZyE,EAAKzE,EAAK,GAChB,IAAI/F,EAAQg+C,EAAQ,SAASxzC,EAAI,CAC/B,MAAOzE,EAAK,cAAgBA,EAAK,UAClC,CAAA,EAAE,MACC,OAAO/F,GAAU,WACnBA,EAAQA,IAAU,MAClBg+C,EAAQ,SAASxzC,EAAI,CACnB,MAAAxK,CACR,CAAO,GAEH,KAAK,UAAU,UAAU,IAAI,yBAA0B,UAAU,EACjE,MAAMqV,EAAU,SAAS,cAAc,OAAO,EAC9C,OAAA2jC,EAAqB,IAAI3jC,CAAO,EAChCA,EAAQ,aAAa,kBAAmB7K,CAAE,EAC1C6K,EAAQ,SAAWtP,EAAK,SACxB,KAAK,aAAasP,EAAS,KAAK,KAAK,QAAQ,EAC7CA,EAAQ,KAAO,WACfA,EAAQ,KAAOtP,EAAK,UAChB/F,GACFqV,EAAQ,aAAa,UAAW,EAAI,EAEtCA,EAAQ,aAAa,cAAetP,EAAK,WAAW,EACpDsP,EAAQ,SAAW0jC,EACnB1jC,EAAQ,iBAAiB,SAAU/G,GAAS,CAC1C,KAAM,CACJ,KAAAlO,GACA,QAAAw/C,CACR,EAAUtxC,EAAM,OACV,UAAWuxC,KAAY,KAAK,mBAAmBz/C,GAAMoK,CAAE,EAAG,CACxD,MAAMs1C,GAAaF,GAAWC,EAAS,cAAgB95C,EAAK,YACxD85C,EAAS,aACXA,EAAS,WAAW,QAAUC,IAEhC9B,EAAQ,SAAS6B,EAAS,GAAI,CAC5B,MAAOC,EACjB,CAAS,EAEH9B,EAAQ,SAASxzC,EAAI,CACnB,MAAOo1C,CACf,CAAO,CACP,CAAK,EACDvqC,EAAQ,iBAAiB,YAAa/G,GAAS,CAC7C,MAAMmE,GAAe1M,EAAK,mBAAqB,MAC/CuI,EAAM,OAAO,QAAUmE,KAAiB1M,EAAK,WACnD,CAAK,EACG,KAAK,iBAAmB,KAAK,eAC/BsP,EAAQ,iBAAiB,oBAAqBomC,GAAW,CACvD,MAAMD,GAAU,CACd,MAAMltC,EAAO,CACXA,EAAM,OAAO,QAAUA,EAAM,OAAO,QAAU,MAC9C0vC,EAAQ,SAASxzC,EAAI,CACnB,MAAO8D,EAAM,OAAO,OAClC,CAAa,CACF,CACX,EACQ,KAAK,0BAA0BktC,GAASC,CAAO,CACvD,CAAO,EACD,KAAK,mBAAmBpmC,EAAS,CAAC,CAAC,SAAU,UAAU,EAAG,CAAC,SAAU,QAAQ,EAAG,CAAC,QAAS,OAAO,EAAG,CAAC,OAAQ,MAAM,EAAG,CAAC,YAAa,YAAY,EAAG,CAAC,aAAc,aAAa,EAAG,CAAC,aAAc,YAAY,EAAG,CAAC,UAAW,UAAU,CAAC,EAAG/G,GAASA,EAAM,OAAO,OAAO,GAEzQ,KAAK,oBAAoB+G,CAAO,EAChC,KAAK,4BAA4BA,CAAO,EACxC,KAAK,UAAU,OAAOA,CAAO,EACtB,KAAK,SACb,CACF,CACD,MAAMikC,UAA2CI,CAAwB,CACvE,YAAYrmC,EAAY,CACtB,MAAMA,EAAY,CAChB,aAAcA,EAAW,WAC/B,CAAK,CACF,CACD,QAAS,CACP,KAAK,UAAU,UAAU,IAAI,yBAA0B,aAAa,EACpE,MAAM2qC,EAAU,KAAK,kBACfj4C,EAAO,KAAK,KACZyE,EAAKzE,EAAK,GAChB,IAAI/F,EAAQg+C,EAAQ,SAASxzC,EAAI,CAC/B,MAAOzE,EAAK,aAAeA,EAAK,WACjC,CAAA,EAAE,MACC,OAAO/F,GAAU,WACnBA,EAAQA,IAAU+F,EAAK,YACvBi4C,EAAQ,SAASxzC,EAAI,CACnB,MAAAxK,CACR,CAAO,GAEH,MAAMqV,EAAU,SAAS,cAAc,OAAO,EA6B9C,GA5BA2jC,EAAqB,IAAI3jC,CAAO,EAChCA,EAAQ,aAAa,kBAAmB7K,CAAE,EAC1C6K,EAAQ,SAAWtP,EAAK,SACxB,KAAK,aAAasP,EAAS,KAAK,KAAK,QAAQ,EAC7CA,EAAQ,KAAO,QACfA,EAAQ,KAAOtP,EAAK,UAChB/F,GACFqV,EAAQ,aAAa,UAAW,EAAI,EAEtCA,EAAQ,SAAW0jC,EACnB1jC,EAAQ,iBAAiB,SAAU/G,GAAS,CAC1C,KAAM,CACJ,KAAAlO,GACA,QAAAw/C,CACR,EAAUtxC,EAAM,OACV,UAAWyxC,KAAS,KAAK,mBAAmB3/C,GAAMoK,CAAE,EAClDwzC,EAAQ,SAAS+B,EAAM,GAAI,CACzB,MAAO,EACjB,CAAS,EAEH/B,EAAQ,SAASxzC,EAAI,CACnB,MAAOo1C,CACf,CAAO,CACP,CAAK,EACDvqC,EAAQ,iBAAiB,YAAa/G,GAAS,CAC7C,MAAMmE,GAAe1M,EAAK,kBAC1BuI,EAAM,OAAO,QAAUmE,IAAiB,MAAsCA,KAAiB1M,EAAK,WAC1G,CAAK,EACG,KAAK,iBAAmB,KAAK,aAAc,CAC7C,MAAMi6C,EAAiBj6C,EAAK,YAC5BsP,EAAQ,iBAAiB,oBAAqBomC,IAAW,CACvD,MAAMD,EAAU,CACd,MAAOltC,GAAS,CACd,MAAMsxC,GAAUI,IAAmB1xC,EAAM,OAAO,MAChD,UAAWyxC,MAAS,KAAK,mBAAmBzxC,EAAM,OAAO,IAAI,EAAG,CAC9D,MAAMwxC,GAAaF,IAAWG,GAAM,KAAOv1C,EACvCu1C,GAAM,aACRA,GAAM,WAAW,QAAUD,IAE7B9B,EAAQ,SAAS+B,GAAM,GAAI,CACzB,MAAOD,EACvB,CAAe,EAEJ,CACX,EACQ,KAAK,0BAA0BtE,EAASC,EAAO,CACvD,CAAO,EACD,KAAK,mBAAmBpmC,EAAS,CAAC,CAAC,SAAU,UAAU,EAAG,CAAC,SAAU,QAAQ,EAAG,CAAC,QAAS,OAAO,EAAG,CAAC,OAAQ,MAAM,EAAG,CAAC,YAAa,YAAY,EAAG,CAAC,aAAc,aAAa,EAAG,CAAC,aAAc,YAAY,EAAG,CAAC,UAAW,UAAU,CAAC,EAAG/G,IAASA,GAAM,OAAO,OAAO,EAEzQ,YAAK,oBAAoB+G,CAAO,EAChC,KAAK,4BAA4BA,CAAO,EACxC,KAAK,UAAU,OAAOA,CAAO,EACtB,KAAK,SACb,CACF,CACD,MAAMmkC,UAA0CL,CAAsB,CACpE,YAAY9lC,EAAY,CACtB,MAAMA,EAAY,CAChB,aAAcA,EAAW,KAAK,aACpC,CAAK,CACF,CACD,QAAS,CACP,MAAMgE,EAAY,MAAM,SACxBA,EAAU,UAAU,IAAI,yBAA0B,YAAY,EAC1D,KAAK,KAAK,kBACZA,EAAU,MAAQ,KAAK,KAAK,iBAE9B,MAAM8lC,EAAc9lC,EAAU,UAC9B,OAAI,KAAK,iBAAmB,KAAK,cAAgB8lC,IAC/C,KAAK,4BAA4BA,CAAW,EAC5CA,EAAY,iBAAiB,oBAAqB1B,GAAW,CAC3D,KAAK,0BAA0B,GAAIA,CAAO,CAClD,CAAO,GAEIpkC,CACR,CACF,CACD,MAAMoiC,UAAsCC,CAAwB,CAClE,YAAYrmC,EAAY,CACtB,MAAMA,EAAY,CAChB,aAAcA,EAAW,WAC/B,CAAK,CACF,CACD,QAAS,CACP,KAAK,UAAU,UAAU,IAAI,wBAAwB,EACrD,MAAM2qC,EAAU,KAAK,kBACfxzC,EAAK,KAAK,KAAK,GACfmxC,EAAaqC,EAAQ,SAASxzC,EAAI,CACtC,MAAO,KAAK,KAAK,UACvB,CAAK,EACKy1C,EAAgB,SAAS,cAAc,QAAQ,EACrDjH,EAAqB,IAAIiH,CAAa,EACtCA,EAAc,aAAa,kBAAmBz1C,CAAE,EAChDy1C,EAAc,SAAW,KAAK,KAAK,SACnC,KAAK,aAAaA,EAAe,KAAK,KAAK,QAAQ,EACnDA,EAAc,KAAO,KAAK,KAAK,UAC/BA,EAAc,SAAWlH,EACzB,IAAImH,EAAkB,KAAK,KAAK,OAAS,KAAK,KAAK,QAAQ,OAAS,EAC/D,KAAK,KAAK,QACbD,EAAc,KAAO,KAAK,KAAK,QAAQ,OACnC,KAAK,KAAK,cACZA,EAAc,SAAW,KAG7BA,EAAc,iBAAiB,YAAa3xC,IAAS,CACnD,MAAMmE,GAAe,KAAK,KAAK,kBAC/B,UAAW0tC,MAAUF,EAAc,QACjCE,GAAO,SAAWA,GAAO,QAAU1tC,EAE3C,CAAK,EACD,UAAW0tC,MAAU,KAAK,KAAK,QAAS,CACtC,MAAMC,GAAgB,SAAS,cAAc,QAAQ,EACrDA,GAAc,YAAcD,GAAO,aACnCC,GAAc,MAAQD,GAAO,YACzBxE,EAAW,MAAM,SAASwE,GAAO,WAAW,IAC9CC,GAAc,aAAa,WAAY,EAAI,EAC3CF,EAAkB,IAEpBD,EAAc,OAAOG,EAAa,EAEpC,IAAIC,EAAmB,KACvB,GAAIH,EAAiB,CACnB,MAAMI,GAAoB,SAAS,cAAc,QAAQ,EACzDA,GAAkB,MAAQ,IAC1BA,GAAkB,aAAa,SAAU,EAAI,EAC7CA,GAAkB,aAAa,WAAY,EAAI,EAC/CL,EAAc,QAAQK,EAAiB,EACvCD,EAAmB,IAAM,CACvBC,GAAkB,OAAM,EACxBL,EAAc,oBAAoB,QAASI,CAAgB,EAC3DA,EAAmB,IAC3B,EACMJ,EAAc,iBAAiB,QAASI,CAAgB,EAE1D,MAAME,GAAWC,IAAY,CAC3B,MAAMpgD,GAAOogD,GAAW,QAAU,cAC5B,CACJ,QAAA7gD,GACA,SAAA8gD,EACD,EAAGR,EACJ,OAAKQ,GAGE,MAAM,UAAU,OAAO,KAAK9gD,GAASwgD,IAAUA,GAAO,QAAQ,EAAE,IAAIA,IAAUA,GAAO//C,EAAI,CAAC,EAFxFT,GAAQ,gBAAkB,GAAK,KAAOA,GAAQA,GAAQ,aAAa,EAAES,EAAI,CAGxF,EACI,IAAIsgD,EAAiBH,GAAS,EAAK,EACnC,MAAMI,EAAWryC,IAAS,CACxB,MAAM3O,GAAU2O,GAAM,OAAO,QAC7B,OAAO,MAAM,UAAU,IAAI,KAAK3O,GAASwgD,KAChC,CACL,aAAcA,GAAO,YACrB,YAAaA,GAAO,KAC9B,EACO,CACP,EACI,OAAI,KAAK,iBAAmB,KAAK,cAC/BF,EAAc,iBAAiB,oBAAqBxE,IAAW,CAC7D,MAAMD,GAAU,CACd,MAAMltC,GAAO,CACX+xC,GAAA,MAAAA,IACA,MAAMrgD,GAAQsO,GAAM,OAAO,MACrBsyC,GAAS,IAAI,IAAI,MAAM,QAAQ5gD,EAAK,EAAIA,GAAQ,CAACA,EAAK,CAAC,EAC7D,UAAWmgD,MAAUF,EAAc,QACjCE,GAAO,SAAWS,GAAO,IAAIT,GAAO,KAAK,EAE3CnC,EAAQ,SAASxzC,EAAI,CACnB,MAAO+1C,GAAS,EAAI,CAClC,CAAa,EACDG,EAAiBH,GAAS,EAAK,CAChC,EACD,kBAAkBjyC,GAAO,CACvB2xC,EAAc,SAAW,EAC1B,EACD,OAAO3xC,GAAO,CACZ,MAAM3O,GAAUsgD,EAAc,QACxB/C,GAAQ5uC,GAAM,OAAO,OAC3B3O,GAAQu9C,EAAK,EAAE,SAAW,GAC1B+C,EAAc,OAAO/C,EAAK,EACtBv9C,GAAQ,OAAS,GACT,MAAM,UAAU,UAAU,KAAKA,GAASwgD,IAAUA,GAAO,QAAQ,IACjE,KACRxgD,GAAQ,CAAC,EAAE,SAAW,IAG1Bq+C,EAAQ,SAASxzC,EAAI,CACnB,MAAO+1C,GAAS,EAAI,EACpB,MAAOI,EAASryC,EAAK,CACnC,CAAa,EACDoyC,EAAiBH,GAAS,EAAK,CAChC,EACD,MAAMjyC,GAAO,CACX,KAAO2xC,EAAc,SAAW,GAC9BA,EAAc,OAAO,CAAC,EAExBjC,EAAQ,SAASxzC,EAAI,CACnB,MAAO,KACP,MAAO,CAAE,CACvB,CAAa,EACDk2C,EAAiBH,GAAS,EAAK,CAChC,EACD,OAAOjyC,GAAO,CACZ,KAAM,CACJ,MAAA4uC,GACA,aAAA2D,GACA,YAAAnE,EACd,EAAgBpuC,GAAM,OAAO,OACXwyC,GAAcb,EAAc,SAAS/C,EAAK,EAC1CkD,GAAgB,SAAS,cAAc,QAAQ,EACrDA,GAAc,YAAcS,GAC5BT,GAAc,MAAQ1D,GAClBoE,GACFA,GAAY,OAAOV,EAAa,EAEhCH,EAAc,OAAOG,EAAa,EAEpCpC,EAAQ,SAASxzC,EAAI,CACnB,MAAO+1C,GAAS,EAAI,EACpB,MAAOI,EAASryC,EAAK,CACnC,CAAa,EACDoyC,EAAiBH,GAAS,EAAK,CAChC,EACD,MAAMjyC,GAAO,CACX,KAAM,CACJ,MAAAg0B,EACd,EAAgBh0B,GAAM,OACV,KAAO2xC,EAAc,SAAW,GAC9BA,EAAc,OAAO,CAAC,EAExB,UAAWnW,MAAQxH,GAAO,CACxB,KAAM,CACJ,aAAAue,GACA,YAAAnE,EACD,EAAG5S,GACEsW,GAAgB,SAAS,cAAc,QAAQ,EACrDA,GAAc,YAAcS,GAC5BT,GAAc,MAAQ1D,GACtBuD,EAAc,OAAOG,EAAa,EAEhCH,EAAc,QAAQ,OAAS,IACjCA,EAAc,QAAQ,CAAC,EAAE,SAAW,IAEtCjC,EAAQ,SAASxzC,EAAI,CACnB,MAAO+1C,GAAS,EAAI,EACpB,MAAOI,EAASryC,EAAK,CACnC,CAAa,EACDoyC,EAAiBH,GAAS,EAAK,CAChC,EACD,QAAQjyC,GAAO,CACb,MAAMyyC,GAAU,IAAI,IAAIzyC,GAAM,OAAO,OAAO,EAC5C,UAAW6xC,MAAU7xC,GAAM,OAAO,QAChC6xC,GAAO,SAAWY,GAAQ,IAAIZ,GAAO,KAAK,EAE5CnC,EAAQ,SAASxzC,EAAI,CACnB,MAAO+1C,GAAS,EAAI,CAClC,CAAa,EACDG,EAAiBH,GAAS,EAAK,CAChC,EACD,SAASjyC,GAAO,CACdA,GAAM,OAAO,SAAW,CAACA,GAAM,OAAO,QACvC,CACX,EACQ,KAAK,0BAA0BktC,GAASC,EAAO,CACvD,CAAO,EACDwE,EAAc,iBAAiB,QAAS3xC,IAAS,QAC/C,MAAMouC,GAAc6D,GAAS,EAAI,EACjCvC,EAAQ,SAASxzC,EAAI,CACnB,MAAOkyC,EACjB,CAAS,EACDpuC,GAAM,eAAc,GACpB1E,GAAA,KAAK,YAAY,WAAjB,MAAAA,GAA2B,SAAS,yBAA0B,CAC5D,OAAQ,KACR,OAAQ,CACN,GAAAY,EACA,KAAM,YACN,MAAOk2C,EACP,SAAUhE,GACV,WAAY,GACZ,UAAW,EACX,QAAS,EACV,CACX,EACA,CAAO,EACD,KAAK,mBAAmBuD,EAAe,CAAC,CAAC,QAAS,OAAO,EAAG,CAAC,OAAQ,MAAM,EAAG,CAAC,YAAa,YAAY,EAAG,CAAC,aAAc,aAAa,EAAG,CAAC,aAAc,YAAY,EAAG,CAAC,UAAW,UAAU,EAAG,CAAC,QAAS,QAAQ,EAAG,CAAC,QAAS,UAAU,CAAC,EAAG3xC,IAASA,GAAM,OAAO,KAAK,GAEzQ2xC,EAAc,iBAAiB,QAAS,SAAU3xC,GAAO,CACvD0vC,EAAQ,SAASxzC,EAAI,CACnB,MAAO+1C,GAAS,EAAI,CAC9B,CAAS,CACT,CAAO,EAEC,KAAK,KAAK,OACZ,KAAK,cAAcN,CAAa,EAElC,KAAK,oBAAoBA,CAAa,EACtC,KAAK,4BAA4BA,CAAa,EAC9C,KAAK,UAAU,OAAOA,CAAa,EAC5B,KAAK,SACb,CACF,CACD,MAAMe,EAAN,cAAqCtG,CAAkB,CAErD,YAAYrnC,EAAY,WACtB,KAAM,CACJ,KAAAtN,CACD,EAAGsN,EACEsnC,EAAe,CAACqG,EAAuB,aAAa,IAAIj7C,EAAK,UAAU,GAAK,CAAC,GAAE6D,EAAA7D,EAAK,WAAL,MAAA6D,EAAe,MAAOkC,EAAA/F,EAAK,cAAL,MAAA+F,EAAkB,MAAOK,EAAApG,EAAK,WAAL,MAAAoG,EAAe,KACnJ,MAAMkH,EAAY,CAChB,aAAAsnC,CACN,CAAK,CACF,CACD,QAAS,CACP,KAAK,UAAU,UAAU,IAAI,iBAAiB,EAC9C,MAAMsG,EAAiB,KAAK,MAAM,iBAAiB,wBAAwB,KAAK,KAAK,YAAY,EACjG,GAAIA,EAAe,SAAW,EAC5B,OAAO,KAAK,UAEd,MAAM/E,EAAQ,IAAIC,EAAa,CAC7B,UAAW,KAAK,UAChB,QAAS,MAAM,KAAK8E,CAAc,EAClC,MAAO,KAAK,KAAK,MACjB,SAAU,KAAK,KAAK,SACpB,iBAAkB,KAAK,KAAK,iBAC5B,YAAa,KAAK,KAAK,YACvB,SAAU,KAAK,KAAK,QAC1B,CAAK,EACKpxC,EAAO,KAAK,KACZrM,EAAO0O,EAAM,KAAK,cAAc,CAAC,KAAK,KAAK,WAAW,CAAC,EAAGrC,EAAK,KAAK,CAAC,EAAI,KAAK,KAAK,WAAW,CAAC,EAAIA,EAAK,KAAK,CAAC,EAAG,KAAK,KAAK,WAAW,CAAC,EAAGA,EAAK,KAAK,CAAC,EAAI,KAAK,KAAK,WAAW,CAAC,EAAIA,EAAK,KAAK,CAAC,CAAC,CAAC,EAChMqxC,EAAY19C,EAAK,CAAC,EAAI,KAAK,KAAK,WAAW,CAAC,EAAI,KAAK,KAAK,WAAW,CAAC,EACtE29C,EAAW39C,EAAK,CAAC,EACjB,CACJ,UAAAqQ,GACA,WAAAC,EACA,MAAAC,EACA,MAAAC,EACN,EAAQ,KAAK,SAAS,QAClB,YAAK,UAAU,MAAM,KAAO,GAAG,KAAOktC,EAAYntC,GAASF,MAC3D,KAAK,UAAU,MAAM,IAAM,GAAG,KAAOstC,EAAWntC,IAASF,KACzD,KAAK,UAAU,OAAOooC,EAAM,OAAQ,CAAA,EAC7B,KAAK,SACb,CACF,EAzCD,IAAMvC,EAANqH,EACErtC,GADIgmC,EACG,eAAe,IAAI,IAAI,CAAC,OAAQ,SAAU,SAAU,WAAY,UAAW,KAAK,CAAC,GAyC1F,MAAMwC,CAAa,CACjB,YAAY9oC,EAAY,CACtB,KAAK,UAAYA,EAAW,UAC5B,KAAK,QAAUA,EAAW,QAC1B,KAAK,MAAQA,EAAW,MACxB,KAAK,SAAWA,EAAW,SAC3B,KAAK,iBAAmBA,EAAW,iBACnC,KAAK,YAAcA,EAAW,YAC9B,KAAK,SAAWA,EAAW,SAC3B,KAAK,YAAcA,EAAW,aAAe,GAC7C,KAAK,OAAS,EACf,CACD,QAAS,UAEP,MAAMzE,EAAU,SAAS,cAAc,KAAK,EAC5CA,EAAQ,UAAU,IAAI,cAAc,EACpC,KAAK,YAAc,KAAK,YAAcA,EAAU,KAAK,UACrD,KAAK,YAAY,OAAS,GAC1B,MAAMstC,EAAQ,SAAS,cAAc,KAAK,EAC1CA,EAAM,UAAU,IAAI,OAAO,EAC3B,MAAMllC,EAAQ,KAAK,MACnB,GAAIA,EAAO,CACT,MAAMhV,EAAI,IAAsB,IAAMgV,EAAM,CAAC,GAAKA,EAAM,CAAC,EACnD/U,GAAI,IAAsB,IAAM+U,EAAM,CAAC,GAAKA,EAAM,CAAC,EACnD9U,GAAI,IAAsB,IAAM8U,EAAM,CAAC,GAAKA,EAAM,CAAC,EACzDklC,EAAM,MAAM,gBAAkBhqC,EAAM,KAAK,aAAalQ,EAAI,EAAGC,GAAI,EAAGC,GAAI,CAAC,EAE3E,MAAMk/C,EAAQ,SAAS,cAAc,IAAI,EACzCA,EAAM,IAAM,KAAK,SAAS,IAC1BA,EAAM,YAAc,KAAK,SAAS,IAClClF,EAAM,OAAOkF,CAAK,EAClB,MAAMC,EAAajsC,EAAe,cAAc,aAAa,KAAK,gBAAgB,EAClF,GAAIisC,EAAY,CACd,MAAMC,EAAmB,SAAS,cAAc,MAAM,EACtDA,EAAiB,UAAU,IAAI,WAAW,EAC1CA,EAAiB,YAAc,qBAC/BA,EAAiB,QAAQ,OAAS,yBAClCA,EAAiB,QAAQ,SAAW,KAAK,UAAU,CACjD,KAAMD,EAAW,mBAAoB,EACrC,KAAMA,EAAW,mBAAoB,CAC7C,CAAO,EACDnF,EAAM,OAAOoF,CAAgB,EAE/B,IAAI13C,GAAA,KAAK,WAAL,MAAAA,GAAe,MAAQ,GAACkC,EAAA,KAAK,cAAL,MAAAA,EAAkB,MAAO,KAAK,YAAY,MAAQ,KAAK,SAAS,KAC1FgtC,EAAW,SAAS,OAAO,CACzB,QAAS,KAAK,SAAS,KACvB,OAAQ,WACR,IAAKoD,CACb,CAAO,EACDA,EAAM,UAAU,UAAU,IAAI,WAAY,cAAc,MACnD,CACL,MAAMqF,EAAW,KAAK,gBAAgB,KAAK,WAAW,EACtDrF,EAAM,OAAOqF,CAAQ,EAElB,MAAM,QAAQ,KAAK,OAAO,IAC7B,KAAK,QAAU,CAAC,KAAK,OAAO,GAE9B,UAAWlsC,KAAW,KAAK,QACzBA,EAAQ,iBAAiB,QAAS,KAAK,QAAQ,KAAK,IAAI,CAAC,EACzDA,EAAQ,iBAAiB,YAAa,KAAK,MAAM,KAAK,KAAM,EAAK,CAAC,EAClEA,EAAQ,iBAAiB,WAAY,KAAK,MAAM,KAAK,KAAM,EAAK,CAAC,EAEnE,OAAA6mC,EAAM,iBAAiB,QAAS,KAAK,MAAM,KAAK,KAAM,EAAI,CAAC,EAC3DttC,EAAQ,OAAOstC,CAAK,EACbttC,CACR,CACD,gBAAgB,CACd,IAAAtN,EACA,IAAAkgD,CACJ,EAAK,CACD,MAAMh/C,EAAI,SAAS,cAAc,GAAG,EACpCA,EAAE,UAAU,IAAI,cAAc,EAC9BA,EAAE,IAAMg/C,EACR,MAAMC,EAAQngD,EAAI,MAAM,cAAc,EACtC,QAASH,EAAI,EAAGkE,EAAKo8C,EAAM,OAAQtgD,EAAIkE,EAAI,EAAElE,EAAG,CAC9C,MAAM2rC,GAAO2U,EAAMtgD,CAAC,EACpBqB,EAAE,OAAO,SAAS,eAAesqC,EAAI,CAAC,EAClC3rC,EAAIkE,EAAK,GACX7C,EAAE,OAAO,SAAS,cAAc,IAAI,CAAC,EAGzC,OAAOA,CACR,CACD,SAAU,CACJ,KAAK,OACP,KAAK,MAAM,EAAI,EAEf,KAAK,MAAM,EAAI,CAElB,CACD,MAAMk/C,EAAM,GAAO,CACbA,IACF,KAAK,OAAS,IAEZ,KAAK,YAAY,SACnB,KAAK,YAAY,OAAS,GAC1B,KAAK,UAAU,MAAM,OAAS,SAAS,KAAK,UAAU,MAAM,MAAM,EAAI,IAEzE,CACD,MAAMC,EAAQ,GAAM,CACdA,IACF,KAAK,OAAS,IAEZ,CAAC,KAAK,YAAY,QAAU,CAAC,KAAK,SACpC,KAAK,YAAY,OAAS,GAC1B,KAAK,UAAU,MAAM,OAAS,SAAS,KAAK,UAAU,MAAM,MAAM,EAAI,IAEzE,CACF,CACD,MAAM/H,UAAkCc,CAAkB,CACxD,YAAYrnC,EAAY,WACtB,MAAMsnC,EAAe,CAAC,EAAEtnC,EAAW,KAAK,WAAYzJ,EAAAyJ,EAAW,KAAK,WAAhB,MAAAzJ,EAA0B,MAAOkC,EAAAuH,EAAW,KAAK,cAAhB,MAAAvH,EAA6B,MAAOK,EAAAkH,EAAW,KAAK,WAAhB,MAAAlH,EAA0B,KACnJ,MAAMkH,EAAY,CAChB,aAAAsnC,EACA,aAAc,EACpB,CAAK,EACD,KAAK,YAActnC,EAAW,KAAK,WACpC,CACD,QAAS,CAEP,GADA,KAAK,UAAU,UAAU,IAAI,oBAAoB,EAC7C,KAAK,YAAa,CACpB,MAAMuuC,EAAU,SAAS,cAAc,KAAK,EAC5CA,EAAQ,UAAU,IAAI,uBAAuB,EAC7CA,EAAQ,aAAa,OAAQ,SAAS,EACtC,UAAW9U,KAAQ,KAAK,YAAa,CACnC,MAAM+U,EAAW,SAAS,cAAc,MAAM,EAC9CA,EAAS,YAAc/U,EACvB8U,EAAQ,OAAOC,CAAQ,EAEzB,KAAK,UAAU,OAAOD,CAAO,EAE/B,OAAK,KAAK,KAAK,UACb,KAAK,aAAa,KAAM,KAAK,IAAI,EAE5B,KAAK,SACb,CACF,CACD,MAAM/H,UAA8Ba,CAAkB,CACpD,YAAYrnC,EAAY,WACtB,MAAMsnC,EAAe,CAAC,EAAEtnC,EAAW,KAAK,WAAYzJ,EAAAyJ,EAAW,KAAK,WAAhB,MAAAzJ,EAA0B,MAAOkC,EAAAuH,EAAW,KAAK,cAAhB,MAAAvH,EAA6B,MAAOK,EAAAkH,EAAW,KAAK,WAAhB,MAAAlH,EAA0B,KACnJ,MAAMkH,EAAY,CAChB,aAAAsnC,EACA,aAAc,EACpB,CAAK,CACF,CACD,QAAS,CACP,KAAK,UAAU,UAAU,IAAI,gBAAgB,EAC7C,MAAM50C,EAAO,KAAK,KACZ,CACJ,MAAA+K,EACA,OAAAC,CACN,EAAQkoC,EAAYlzC,EAAK,IAAI,EACnBuY,EAAM,KAAK,WAAW,OAAOxN,EAAOC,EAAQ,EAAI,EAChD+7B,EAAO,KAAK,WAAW,cAAc,UAAU,EACrD,OAAAA,EAAK,aAAa,KAAM/mC,EAAK,KAAK,CAAC,EAAIA,EAAK,gBAAgB,CAAC,CAAC,EAC9D+mC,EAAK,aAAa,KAAM/mC,EAAK,KAAK,CAAC,EAAIA,EAAK,gBAAgB,CAAC,CAAC,EAC9D+mC,EAAK,aAAa,KAAM/mC,EAAK,KAAK,CAAC,EAAIA,EAAK,gBAAgB,CAAC,CAAC,EAC9D+mC,EAAK,aAAa,KAAM/mC,EAAK,KAAK,CAAC,EAAIA,EAAK,gBAAgB,CAAC,CAAC,EAC9D+mC,EAAK,aAAa,eAAgB/mC,EAAK,YAAY,OAAS,CAAC,EAC7D+mC,EAAK,aAAa,SAAU,aAAa,EACzCA,EAAK,aAAa,OAAQ,aAAa,EACvCxuB,EAAI,OAAOwuB,CAAI,EACf,KAAK,UAAU,OAAOxuB,CAAG,EACzB,KAAK,aAAawuB,EAAM/mC,CAAI,EACrB,KAAK,SACb,CACF,CACD,MAAM+zC,UAAgCY,CAAkB,CACtD,YAAYrnC,EAAY,WACtB,MAAMsnC,EAAe,CAAC,EAAEtnC,EAAW,KAAK,WAAYzJ,EAAAyJ,EAAW,KAAK,WAAhB,MAAAzJ,EAA0B,MAAOkC,EAAAuH,EAAW,KAAK,cAAhB,MAAAvH,EAA6B,MAAOK,EAAAkH,EAAW,KAAK,WAAhB,MAAAlH,EAA0B,KACnJ,MAAMkH,EAAY,CAChB,aAAAsnC,EACA,aAAc,EACpB,CAAK,CACF,CACD,QAAS,CACP,KAAK,UAAU,UAAU,IAAI,kBAAkB,EAC/C,MAAM50C,EAAO,KAAK,KACZ,CACJ,MAAA+K,EACA,OAAAC,CACN,EAAQkoC,EAAYlzC,EAAK,IAAI,EACnBuY,EAAM,KAAK,WAAW,OAAOxN,EAAOC,EAAQ,EAAI,EAChD+wC,EAAc/7C,EAAK,YAAY,MAC/Bg8C,EAAS,KAAK,WAAW,cAAc,UAAU,EACvD,OAAAA,EAAO,aAAa,IAAKD,EAAc,CAAC,EACxCC,EAAO,aAAa,IAAKD,EAAc,CAAC,EACxCC,EAAO,aAAa,QAASjxC,EAAQgxC,CAAW,EAChDC,EAAO,aAAa,SAAUhxC,EAAS+wC,CAAW,EAClDC,EAAO,aAAa,eAAgBD,GAAe,CAAC,EACpDC,EAAO,aAAa,SAAU,aAAa,EAC3CA,EAAO,aAAa,OAAQ,aAAa,EACzCzjC,EAAI,OAAOyjC,CAAM,EACjB,KAAK,UAAU,OAAOzjC,CAAG,EACzB,KAAK,aAAayjC,EAAQh8C,CAAI,EACvB,KAAK,SACb,CACF,CACD,MAAMg0C,UAAgCW,CAAkB,CACtD,YAAYrnC,EAAY,WACtB,MAAMsnC,EAAe,CAAC,EAAEtnC,EAAW,KAAK,WAAYzJ,EAAAyJ,EAAW,KAAK,WAAhB,MAAAzJ,EAA0B,MAAOkC,EAAAuH,EAAW,KAAK,cAAhB,MAAAvH,EAA6B,MAAOK,EAAAkH,EAAW,KAAK,WAAhB,MAAAlH,EAA0B,KACnJ,MAAMkH,EAAY,CAChB,aAAAsnC,EACA,aAAc,EACpB,CAAK,CACF,CACD,QAAS,CACP,KAAK,UAAU,UAAU,IAAI,kBAAkB,EAC/C,MAAM50C,EAAO,KAAK,KACZ,CACJ,MAAA+K,EACA,OAAAC,CACN,EAAQkoC,EAAYlzC,EAAK,IAAI,EACnBuY,EAAM,KAAK,WAAW,OAAOxN,EAAOC,EAAQ,EAAI,EAChD+wC,EAAc/7C,EAAK,YAAY,MAC/Bi8C,EAAS,KAAK,WAAW,cAAc,aAAa,EAC1D,OAAAA,EAAO,aAAa,KAAMlxC,EAAQ,CAAC,EACnCkxC,EAAO,aAAa,KAAMjxC,EAAS,CAAC,EACpCixC,EAAO,aAAa,KAAMlxC,EAAQ,EAAIgxC,EAAc,CAAC,EACrDE,EAAO,aAAa,KAAMjxC,EAAS,EAAI+wC,EAAc,CAAC,EACtDE,EAAO,aAAa,eAAgBF,GAAe,CAAC,EACpDE,EAAO,aAAa,SAAU,aAAa,EAC3CA,EAAO,aAAa,OAAQ,aAAa,EACzC1jC,EAAI,OAAO0jC,CAAM,EACjB,KAAK,UAAU,OAAO1jC,CAAG,EACzB,KAAK,aAAa0jC,EAAQj8C,CAAI,EACvB,KAAK,SACb,CACF,CACD,MAAMi0C,UAAkCU,CAAkB,CACxD,YAAYrnC,EAAY,WACtB,MAAMsnC,EAAe,CAAC,EAAEtnC,EAAW,KAAK,WAAYzJ,EAAAyJ,EAAW,KAAK,WAAhB,MAAAzJ,EAA0B,MAAOkC,EAAAuH,EAAW,KAAK,cAAhB,MAAAvH,EAA6B,MAAOK,EAAAkH,EAAW,KAAK,WAAhB,MAAAlH,EAA0B,KACnJ,MAAMkH,EAAY,CAChB,aAAAsnC,EACA,aAAc,EACpB,CAAK,EACD,KAAK,mBAAqB,qBAC1B,KAAK,eAAiB,cACvB,CACD,QAAS,CACP,KAAK,UAAU,UAAU,IAAI,KAAK,kBAAkB,EACpD,MAAM50C,EAAO,KAAK,KACZ,CACJ,MAAA+K,EACA,OAAAC,CACN,EAAQkoC,EAAYlzC,EAAK,IAAI,EACnBuY,EAAM,KAAK,WAAW,OAAOxN,EAAOC,EAAQ,EAAI,EACtD,IAAI0X,EAAS,CAAA,EACb,UAAWw5B,MAAcl8C,EAAK,SAAU,CACtC,MAAMmO,EAAI+tC,GAAW,EAAIl8C,EAAK,KAAK,CAAC,EAC9BoO,EAAIpO,EAAK,KAAK,CAAC,EAAIk8C,GAAW,EACpCx5B,EAAO,KAAKvU,EAAI,IAAMC,CAAC,EAEzBsU,EAASA,EAAO,KAAK,GAAG,EACxB,MAAMy5B,EAAW,KAAK,WAAW,cAAc,KAAK,cAAc,EAClE,OAAAA,EAAS,aAAa,SAAUz5B,CAAM,EACtCy5B,EAAS,aAAa,eAAgBn8C,EAAK,YAAY,OAAS,CAAC,EACjEm8C,EAAS,aAAa,SAAU,aAAa,EAC7CA,EAAS,aAAa,OAAQ,aAAa,EAC3C5jC,EAAI,OAAO4jC,CAAQ,EACnB,KAAK,UAAU,OAAO5jC,CAAG,EACzB,KAAK,aAAa4jC,EAAUn8C,CAAI,EACzB,KAAK,SACb,CACF,CACD,MAAMo0C,UAAiCH,CAA0B,CAC/D,YAAY3mC,EAAY,CACtB,MAAMA,CAAU,EAChB,KAAK,mBAAqB,oBAC1B,KAAK,eAAiB,aACvB,CACF,CACD,MAAM4mC,WAA+BS,CAAkB,CACrD,YAAYrnC,EAAY,WACtB,MAAMsnC,EAAe,CAAC,EAAEtnC,EAAW,KAAK,WAAYzJ,EAAAyJ,EAAW,KAAK,WAAhB,MAAAzJ,EAA0B,MAAOkC,EAAAuH,EAAW,KAAK,cAAhB,MAAAvH,EAA6B,MAAOK,EAAAkH,EAAW,KAAK,WAAhB,MAAAlH,EAA0B,KACnJ,MAAMkH,EAAY,CAChB,aAAAsnC,EACA,aAAc,EACpB,CAAK,CACF,CACD,QAAS,CACP,YAAK,UAAU,UAAU,IAAI,iBAAiB,EACzC,KAAK,KAAK,UACb,KAAK,aAAa,KAAM,KAAK,IAAI,EAE5B,KAAK,SACb,CACF,CACD,MAAMT,UAA6BQ,CAAkB,CACnD,YAAYrnC,EAAY,WACtB,MAAMsnC,EAAe,CAAC,EAAEtnC,EAAW,KAAK,WAAYzJ,EAAAyJ,EAAW,KAAK,WAAhB,MAAAzJ,EAA0B,MAAOkC,EAAAuH,EAAW,KAAK,cAAhB,MAAAvH,EAA6B,MAAOK,EAAAkH,EAAW,KAAK,WAAhB,MAAAlH,EAA0B,KACnJ,MAAMkH,EAAY,CAChB,aAAAsnC,EACA,aAAc,EACpB,CAAK,EACD,KAAK,mBAAqB,gBAC1B,KAAK,eAAiB,cACvB,CACD,QAAS,CACP,KAAK,UAAU,UAAU,IAAI,KAAK,kBAAkB,EACpD,MAAM50C,EAAO,KAAK,KACZ,CACJ,MAAA+K,EACA,OAAAC,CACN,EAAQkoC,EAAYlzC,EAAK,IAAI,EACnBuY,EAAM,KAAK,WAAW,OAAOxN,EAAOC,EAAQ,EAAI,EACtD,UAAWoxC,KAAWp8C,EAAK,SAAU,CACnC,IAAI0iB,EAAS,CAAA,EACb,UAAWw5B,KAAcE,EAAS,CAChC,MAAMjuC,EAAI+tC,EAAW,EAAIl8C,EAAK,KAAK,CAAC,EAC9BoO,GAAIpO,EAAK,KAAK,CAAC,EAAIk8C,EAAW,EACpCx5B,EAAO,KAAK,GAAGvU,KAAKC,IAAG,EAEzBsU,EAASA,EAAO,KAAK,GAAG,EACxB,MAAMy5B,GAAW,KAAK,WAAW,cAAc,KAAK,cAAc,EAClEA,GAAS,aAAa,SAAUz5B,CAAM,EACtCy5B,GAAS,aAAa,eAAgBn8C,EAAK,YAAY,OAAS,CAAC,EACjEm8C,GAAS,aAAa,SAAU,aAAa,EAC7CA,GAAS,aAAa,OAAQ,aAAa,EAC3C,KAAK,aAAaA,GAAUn8C,CAAI,EAChCuY,EAAI,OAAO4jC,EAAQ,EAErB,YAAK,UAAU,OAAO5jC,CAAG,EAClB,KAAK,SACb,CACF,CACD,MAAM87B,WAAmCM,CAAkB,CACzD,YAAYrnC,EAAY,WACtB,MAAMsnC,EAAe,CAAC,EAAEtnC,EAAW,KAAK,WAAYzJ,EAAAyJ,EAAW,KAAK,WAAhB,MAAAzJ,EAA0B,MAAOkC,EAAAuH,EAAW,KAAK,cAAhB,MAAAvH,EAA6B,MAAOK,EAAAkH,EAAW,KAAK,WAAhB,MAAAlH,EAA0B,KACnJ,MAAMkH,EAAY,CAChB,aAAAsnC,EACA,aAAc,GACd,qBAAsB,EAC5B,CAAK,CACF,CACD,QAAS,CAIP,OAHK,KAAK,KAAK,UACb,KAAK,aAAa,KAAM,KAAK,IAAI,EAE/B,KAAK,eACA,KAAK,sBAAsB,qBAAqB,GAEzD,KAAK,UAAU,UAAU,IAAI,qBAAqB,EAC3C,KAAK,UACb,CACF,CACD,MAAMN,WAAmCK,CAAkB,CACzD,YAAYrnC,EAAY,WACtB,MAAMsnC,EAAe,CAAC,EAAEtnC,EAAW,KAAK,WAAYzJ,EAAAyJ,EAAW,KAAK,WAAhB,MAAAzJ,EAA0B,MAAOkC,EAAAuH,EAAW,KAAK,cAAhB,MAAAvH,EAA6B,MAAOK,EAAAkH,EAAW,KAAK,WAAhB,MAAAlH,EAA0B,KACnJ,MAAMkH,EAAY,CAChB,aAAAsnC,EACA,aAAc,GACd,qBAAsB,EAC5B,CAAK,CACF,CACD,QAAS,CAIP,OAHK,KAAK,KAAK,UACb,KAAK,aAAa,KAAM,KAAK,IAAI,EAE/B,KAAK,eACA,KAAK,sBAAsB,qBAAqB,GAEzD,KAAK,UAAU,UAAU,IAAI,qBAAqB,EAC3C,KAAK,UACb,CACF,CACD,MAAML,WAAkCI,CAAkB,CACxD,YAAYrnC,EAAY,WACtB,MAAMsnC,EAAe,CAAC,EAAEtnC,EAAW,KAAK,WAAYzJ,EAAAyJ,EAAW,KAAK,WAAhB,MAAAzJ,EAA0B,MAAOkC,EAAAuH,EAAW,KAAK,cAAhB,MAAAvH,EAA6B,MAAOK,EAAAkH,EAAW,KAAK,WAAhB,MAAAlH,EAA0B,KACnJ,MAAMkH,EAAY,CAChB,aAAAsnC,EACA,aAAc,GACd,qBAAsB,EAC5B,CAAK,CACF,CACD,QAAS,CAIP,OAHK,KAAK,KAAK,UACb,KAAK,aAAa,KAAM,KAAK,IAAI,EAE/B,KAAK,eACA,KAAK,sBAAsB,oBAAoB,GAExD,KAAK,UAAU,UAAU,IAAI,oBAAoB,EAC1C,KAAK,UACb,CACF,CACD,MAAMJ,WAAmCG,CAAkB,CACzD,YAAYrnC,EAAY,WACtB,MAAMsnC,EAAe,CAAC,EAAEtnC,EAAW,KAAK,WAAYzJ,EAAAyJ,EAAW,KAAK,WAAhB,MAAAzJ,EAA0B,MAAOkC,EAAAuH,EAAW,KAAK,cAAhB,MAAAvH,EAA6B,MAAOK,EAAAkH,EAAW,KAAK,WAAhB,MAAAlH,EAA0B,KACnJ,MAAMkH,EAAY,CAChB,aAAAsnC,EACA,aAAc,GACd,qBAAsB,EAC5B,CAAK,CACF,CACD,QAAS,CAIP,OAHK,KAAK,KAAK,UACb,KAAK,aAAa,KAAM,KAAK,IAAI,EAE/B,KAAK,eACA,KAAK,sBAAsB,qBAAqB,GAEzD,KAAK,UAAU,UAAU,IAAI,qBAAqB,EAC3C,KAAK,UACb,CACF,CACD,MAAMH,WAA+BE,CAAkB,CACrD,YAAYrnC,EAAY,WACtB,MAAMsnC,EAAe,CAAC,EAAEtnC,EAAW,KAAK,WAAYzJ,EAAAyJ,EAAW,KAAK,WAAhB,MAAAzJ,EAA0B,MAAOkC,EAAAuH,EAAW,KAAK,cAAhB,MAAAvH,EAA6B,MAAOK,EAAAkH,EAAW,KAAK,WAAhB,MAAAlH,EAA0B,KACnJ,MAAMkH,EAAY,CAChB,aAAAsnC,EACA,aAAc,EACpB,CAAK,CACF,CACD,QAAS,CACP,YAAK,UAAU,UAAU,IAAI,iBAAiB,EACzC,KAAK,KAAK,UACb,KAAK,aAAa,KAAM,KAAK,IAAI,EAE5B,KAAK,SACb,CACF,CACD,MAAMF,UAAwCC,CAAkB,CAC9D,YAAYrnC,EAAY,OACtB,MAAMA,EAAY,CAChB,aAAc,EACpB,CAAK,EACD,KAAM,CACJ,SAAA0M,EACA,QAAA6hC,CACN,EAAQ,KAAK,KAAK,KACd,KAAK,YAAexsC,EAAe,oBAAoB2K,EAAU,EAAI,EACrE,KAAK,QAAU6hC,GACfh4C,EAAA,KAAK,YAAY,WAAjB,MAAAA,EAA2B,SAAS,2BAA4B,CAC9D,OAAQ,KACR,SAAAmW,EACA,QAAA6hC,CACN,EACG,CACD,QAAS,SACP,KAAK,UAAU,UAAU,IAAI,0BAA0B,EACvD,IAAI3F,EACJ,OAAI,KAAK,KAAK,cACZA,EAAU,SAAS,cAAc,KAAK,GAEtCA,EAAU,SAAS,cAAc,KAAK,EACtCA,EAAQ,IAAM,GAAG,KAAK,gCAAgC,aAAa,KAAK,KAAK,KAAK,IAAI,EAAI,YAAc,iBAE1GA,EAAQ,UAAU,IAAI,kBAAkB,EACxCA,EAAQ,iBAAiB,WAAY,KAAK,UAAU,KAAK,IAAI,CAAC,EAC1D,CAAC,KAAK,KAAK,YAAaryC,EAAA,KAAK,KAAK,WAAV,MAAAA,EAAoB,MAAOkC,EAAA,KAAK,KAAK,cAAV,MAAAA,EAAuB,KAAO,KAAK,KAAK,WAC7F,KAAK,aAAamwC,EAAS,KAAK,IAAI,EAEtC,KAAK,UAAU,OAAOA,CAAO,EACtB,KAAK,SACb,CACD,WAAY,QACVryC,EAAA,KAAK,kBAAL,MAAAA,EAAsB,mBAAmB,KAAK,UAAW,KAAK,QAAS,KAAK,SAC7E,CACF,CACD,MAAMw4C,EAAN,KAAsB,CAOpB,OAAO,OAAOtmD,EAAQ,SACpB,KAAM,CACJ,YAAAumD,EACA,IAAAhkC,EACA,SAAA9S,EACA,qBAAA+2C,CACD,EAAGxmD,KACAsZ,EAAe,oBAAoBiJ,EAAK9S,CAAQ,EACpD,MAAMg3C,EAAgB,CACpB,KAAM,KACN,MAAOlkC,EACP,KAAMviB,EAAO,KACb,SAAAyP,EACA,YAAazP,EAAO,YACpB,gBAAiBA,EAAO,gBACxB,mBAAoBA,EAAO,oBAAsB,GACjD,YAAaA,EAAO,cAAgB,GACpC,WAAY,IAAIsZ,EAAe,cAC/B,kBAAmBtZ,EAAO,mBAAqB,IAAI88C,GAAoB,kBACvE,gBAAiB98C,EAAO,kBAAoB,GAC5C,aAAcA,EAAO,aACrB,aAAcA,EAAO,YAC3B,EACI,IAAI0mD,GAAS,EACb,UAAWz8C,MAAQs8C,EAAa,CAC9B,GAAIt8C,GAAK,OACP,SAEF,GAAIA,GAAK,iBAAmBmM,EAAM,eAAe,MAAO,CACtD,KAAM,CACJ,MAAApB,GACA,OAAAC,EACV,EAAYkoC,EAAYlzC,GAAK,IAAI,EACzB,GAAI+K,IAAS,GAAKC,IAAU,EAC1B,SAGJwxC,EAAc,KAAOx8C,GACrB,MAAMsP,GAAU6jC,EAAyB,OAAOqJ,CAAa,EAC7D,GAAI,CAACltC,GAAQ,aACX,SAEF,MAAMotC,GAAWptC,GAAQ,SAIzB,GAHItP,GAAK,SACP08C,GAAS,MAAM,WAAa,UAE1B,MAAM,QAAQA,EAAQ,EACxB,UAAWC,MAAmBD,GAC5BC,GAAgB,MAAM,OAASF,KAC/Bz2C,EAAAnC,EAAAw4C,EAAgBO,EAAAC,IAAhB,KAAAh5C,EAA+B84C,GAAiB38C,GAAK,GAAIsY,EAAKikC,QAGhEG,GAAS,MAAM,OAASD,KACpBntC,cAAmBskC,EACrBt7B,EAAI,QAAQokC,EAAQ,EAEpB12C,EAAAD,EAAAs2C,EAAgBO,EAAAC,IAAhB,KAAA92C,EAA+B22C,GAAU18C,GAAK,GAAIsY,EAAKikC,GAI7Dv2C,EAAA,KAAK82C,GAAAC,IAAL,UAA6BzkC,EAAKviB,EAAO,oBAC1C,CACD,OAAO,OAAOA,EAAQ,CACpB,KAAM,CACJ,oBAAA6P,EACA,IAAA0S,EACA,SAAA9S,CACD,EAAGzP,KACAsZ,EAAe,oBAAoBiJ,EAAK,CAC1C,SAAU9S,EAAS,QACzB,CAAK,EACDQ,EAAA,KAAK82C,GAAAC,IAAL,UAA6BzkC,EAAK1S,GAClC0S,EAAI,OAAS,EACd,CAuBF,EAvGD,IAAM0kC,GAANX,EACSO,EAAA,YAAAC,GAAc,SAACvtC,EAAS7K,EAAI6T,EAAKikC,EAAsB,CAC5D,MAAMU,EAAiB3tC,EAAQ,YAAcA,EAC7C2tC,EAAe,GAAK,GAAG5tC,EAAe,mBAAmB5K,IACzD6T,EAAI,OAAOhJ,CAAO,EAClBitC,GAAA,MAAAA,EAAsB,iBAAiBjkC,EAAKhJ,EAAS2tC,EAAgB,GACtE,EA2EMH,GAAA,YAAAC,GAAuB,SAACzkC,EAAK1S,EAAqB,CACvD,GAAKA,EAGL,UAAW,CAACnB,EAAIkU,CAAM,IAAK/S,EAAqB,CAC9C,MAAM0J,EAAUgJ,EAAI,cAAc,wBAAwB7T,KAAM,EAChE,GAAI,CAAC6K,EACH,SAEF,KAAM,CACJ,WAAA4tC,CACD,EAAG5tC,EACC4tC,EAEMA,EAAW,WAAa,SACjCA,EAAW,YAAYvkC,CAAM,EAE7BukC,EAAW,OAAOvkC,CAAM,EAJxBrJ,EAAQ,OAAOqJ,CAAM,EAOzB/S,EAAoB,MAAK,EAC1B,EArGDhG,EADIo9C,GACGJ,GAgFPh9C,EAjFIo9C,GAiFGF,IAuBT1mD,EAAQ,gBAAkB4mD,EAEnB,EAEA,CAAC7mD,EAAyBC,IAAY,CAI7C,OAAO,eAAeA,EAAS,aAAe,CAC5C,MAAO,EACT,GACAA,EAAQ,gBAAkB,OAC1B,SAAS+mD,EAAcphD,EAAG,CACxB,OAAO,KAAK,MAAM,KAAK,IAAI,EAAG,KAAK,IAAI,EAAGA,CAAC,CAAC,EAAI,GAAG,EAAE,SAAS,EAAE,EAAE,SAAS,EAAG,GAAG,CAClF,CACD,MAAMqhD,CAAgB,CACpB,OAAO,OAAO,CAAChgD,GAAGgR,EAAG1R,EAAGooB,CAAC,EAAG,CAC1B,MAAO,CAAC,IAAK,EAAI,KAAK,IAAI,EAAG,GAAM1nB,GAAI,IAAOV,EAAI,IAAO0R,EAAI0W,CAAC,CAAC,CAChE,CACD,OAAO,OAAO,CAAC5oB,EAAC,EAAG,CACjB,MAAO,CAAC,OAAQ,EAAG,EAAG,EAAG,EAAIA,EAAC,CAC/B,CACD,OAAO,MAAM,CAACA,EAAC,EAAG,CAChB,MAAO,CAAC,MAAOA,GAAGA,GAAGA,EAAC,CACvB,CACD,OAAO,OAAO,CAACA,EAAC,EAAG,CACjB,MAAM,EAAIihD,EAAcjhD,EAAC,EACzB,MAAO,IAAI,IAAI,IAAI,GACpB,CACD,OAAO,MAAM,CAACD,GAAGC,EAAGC,CAAC,EAAG,CACtB,MAAO,CAAC,IAAK,GAAMF,GAAI,IAAOC,EAAI,IAAOC,CAAC,CAC3C,CACD,OAAO,SAAS,CAACF,GAAGC,EAAGC,CAAC,EAAG,CACzB,MAAMkhD,EAAIF,EAAclhD,EAAC,EACnBqhD,EAAIH,EAAcjhD,CAAC,EACnBqhD,EAAIJ,EAAchhD,CAAC,EACzB,MAAO,IAAIkhD,IAAIC,IAAIC,GACpB,CACD,OAAO,QAAS,CACd,MAAO,WACR,CACD,OAAO,SAAS,CAACngD,GAAGgR,EAAG1R,EAAGooB,CAAC,EAAG,CAC5B,MAAO,CAAC,MAAO,EAAI,KAAK,IAAI,EAAG1nB,GAAI0nB,CAAC,EAAG,EAAI,KAAK,IAAI,EAAGpoB,EAAIooB,CAAC,EAAG,EAAI,KAAK,IAAI,EAAG1W,EAAI0W,CAAC,CAAC,CACtF,CACD,OAAO,UAAU04B,GAAY,CAC3B,MAAMtsC,EAAM,KAAK,SAASssC,EAAU,EAAE,MAAM,CAAC,EAC7C,OAAO,KAAK,SAAStsC,CAAG,CACzB,CACD,OAAO,SAAS,CAACjV,GAAGC,EAAGC,CAAC,EAAG,CACzB,MAAMiB,EAAI,EAAInB,GACRS,EAAI,EAAIR,EACRkS,EAAI,EAAIjS,EACR,EAAI,KAAK,IAAIiB,EAAGV,EAAG0R,CAAC,EAC1B,MAAO,CAAC,OAAQhR,EAAGV,EAAG0R,EAAG,CAAC,CAC3B,CACF,CACDhY,EAAQ,gBAAkBgnD,CAEnB,EAEA,CAACjnD,EAAyBC,EAAS8V,IAAwB,CAIlE,OAAO,eAAe9V,EAAS,aAAe,CAC5C,MAAO,EACT,GACAA,EAAQ,SAAW,OACnB,IAAIqnD,EAAYvxC,EAAoB,EAAE,EACtC,MAAMwxC,CAAS,CACb,OAAO,aAAaC,EAAMl5C,EAAI6K,EAAS2oC,EAAS5yC,EAAQ,CACtD,MAAMuwC,EAAaqC,EAAQ,SAASxzC,EAAI,CACtC,MAAO,IACb,CAAK,EACD,OAAQ6K,EAAQ,KAAI,CAClB,IAAK,WAIH,GAHIsmC,EAAW,QAAU,OACvB+H,EAAK,YAAc/H,EAAW,OAE5BvwC,IAAW,QACb,MAEFs4C,EAAK,iBAAiB,QAASp1C,GAAS,CACtC0vC,EAAQ,SAASxzC,EAAI,CACnB,MAAO8D,EAAM,OAAO,KAChC,CAAW,CACX,CAAS,EACD,MACF,IAAK,QACH,GAAI+G,EAAQ,WAAW,OAAS,SAAWA,EAAQ,WAAW,OAAS,WAAY,CAMjF,GALIsmC,EAAW,QAAUtmC,EAAQ,WAAW,MAC1CquC,EAAK,aAAa,UAAW,EAAI,EACxB/H,EAAW,QAAUtmC,EAAQ,WAAW,QACjDquC,EAAK,gBAAgB,SAAS,EAE5Bt4C,IAAW,QACb,MAEFs4C,EAAK,iBAAiB,SAAUp1C,GAAS,CACvC0vC,EAAQ,SAASxzC,EAAI,CACnB,MAAO8D,EAAM,OAAO,QAAUA,EAAM,OAAO,aAAa,OAAO,EAAIA,EAAM,OAAO,aAAa,QAAQ,CACnH,CAAa,CACb,CAAW,MACI,CAIL,GAHIqtC,EAAW,QAAU,MACvB+H,EAAK,aAAa,QAAS/H,EAAW,KAAK,EAEzCvwC,IAAW,QACb,MAEFs4C,EAAK,iBAAiB,QAASp1C,GAAS,CACtC0vC,EAAQ,SAASxzC,EAAI,CACnB,MAAO8D,EAAM,OAAO,KAClC,CAAa,CACb,CAAW,EAEH,MACF,IAAK,SACH,GAAIqtC,EAAW,QAAU,KACvB,UAAWwE,KAAU9qC,EAAQ,SACvB8qC,EAAO,WAAW,QAAUxE,EAAW,QACzCwE,EAAO,WAAW,SAAW,IAInCuD,EAAK,iBAAiB,QAASp1C,GAAS,CACtC,MAAM3O,EAAU2O,EAAM,OAAO,QACvBtO,EAAQL,EAAQ,gBAAkB,GAAK,GAAKA,EAAQA,EAAQ,aAAa,EAAE,MACjFq+C,EAAQ,SAASxzC,EAAI,CACnB,MAAAxK,CACZ,CAAW,CACX,CAAS,EACD,KACH,CACF,CACD,OAAO,cAAc,CACnB,KAAA0jD,EACA,QAAAruC,EACA,QAAA2oC,EAAU,KACV,OAAA5yC,EACA,YAAA0xC,CACJ,EAAK,CACD,KAAM,CACJ,WAAA6G,CACD,EAAGtuC,EACEuuC,EAAsBF,aAAgB,kBACxCC,EAAW,OAAS,UACtBA,EAAW,KAAO,GAAGA,EAAW,QAAQv4C,KAE1C,SAAW,CAAC5J,EAAKxB,CAAK,IAAK,OAAO,QAAQ2jD,CAAU,EAClD,GAAI3jD,GAAU,KAGd,OAAQwB,EAAG,CACT,IAAK,QACCxB,EAAM,QACR0jD,EAAK,aAAaliD,EAAKxB,EAAM,KAAK,GAAG,CAAC,EAExC,MACF,IAAK,SACH,MACF,IAAK,KACH0jD,EAAK,aAAa,kBAAmB1jD,CAAK,EAC1C,MACF,IAAK,QACH,OAAO,OAAO0jD,EAAK,MAAO1jD,CAAK,EAC/B,MACF,IAAK,cACH0jD,EAAK,YAAc1jD,EACnB,MACF,SACM,CAAC4jD,GAAuBpiD,IAAQ,QAAUA,IAAQ,cACpDkiD,EAAK,aAAaliD,EAAKxB,CAAK,CAEjC,CAEC4jD,GACF9G,EAAY,kBAAkB4G,EAAMC,EAAW,KAAMA,EAAW,SAAS,EAEvE3F,GAAW2F,EAAW,QACxB,KAAK,aAAaD,EAAMC,EAAW,OAAQtuC,EAAS2oC,CAAO,CAE9D,CACD,OAAO,OAAO3qC,EAAY,OACxB,MAAM2qC,EAAU3qC,EAAW,kBACrBypC,EAAczpC,EAAW,YACzBrX,EAAOqX,EAAW,QAClBjI,EAASiI,EAAW,QAAU,UAC9BwwC,EAAW,SAAS,cAAc7nD,EAAK,IAAI,EAC7CA,EAAK,YACP,KAAK,cAAc,CACjB,KAAM6nD,EACN,QAAS7nD,EACT,OAAAoP,EACA,YAAA0xC,CACR,CAAO,EAEH,MAAMgH,EAAQ,CAAC,CAAC9nD,EAAM,GAAI6nD,CAAQ,CAAC,EAC7BE,EAAU1wC,EAAW,IAE3B,GADA0wC,EAAQ,OAAOF,CAAQ,EACnBxwC,EAAW,SAAU,CACvB,MAAMlR,EAAY,UAAUkR,EAAW,SAAS,UAAU,KAAK,GAAG,KAClE0wC,EAAQ,MAAM,UAAY5hD,EAExBiJ,IAAW,YACb24C,EAAQ,aAAa,QAAS,kBAAkB,EAElD,MAAMta,EAAW,CAAA,EACjB,KAAOqa,EAAM,OAAS,GAAG,CACvB,KAAM,CAAC7wC,EAAQ9R,EAAGuiD,CAAI,EAAII,EAAM,GAAG,EAAE,EACrC,GAAI3iD,EAAI,IAAM8R,EAAO,SAAS,OAAQ,CACpC6wC,EAAM,IAAG,EACT,SAEF,MAAMphB,EAAQzvB,EAAO,SAAS,EAAE6wC,EAAM,GAAG,EAAE,EAAE,CAAC,CAAC,EAC/C,GAAIphB,IAAU,KACZ,SAEF,KAAM,CACJ,KAAAtiC,CACD,EAAGsiC,EACJ,GAAItiC,IAAS,QAAS,CACpB,MAAMqiC,EAAO,SAAS,eAAeC,EAAM,KAAK,EAChD+G,EAAS,KAAKhH,CAAI,EAClBihB,EAAK,OAAOjhB,CAAI,EAChB,SAEF,IAAIuhB,EAgBJ,IAfIp6C,EAAA84B,GAAA,YAAAA,EAAO,aAAP,MAAA94B,EAAmB,MACrBo6C,EAAY,SAAS,gBAAgBthB,EAAM,WAAW,MAAOtiC,CAAI,EAEjE4jD,EAAY,SAAS,cAAc5jD,CAAI,EAEzCsjD,EAAK,OAAOM,CAAS,EACjBthB,EAAM,YACR,KAAK,cAAc,CACjB,KAAMshB,EACN,QAASthB,EACT,QAAAsb,EACA,OAAA5yC,EACA,YAAA0xC,CACV,CAAS,EAECpa,EAAM,UAAYA,EAAM,SAAS,OAAS,EAC5CohB,EAAM,KAAK,CAACphB,EAAO,GAAIshB,CAAS,CAAC,UACxBthB,EAAM,MAAO,CACtB,MAAMD,EAAO,SAAS,eAAeC,EAAM,KAAK,EAC5C8gB,EAAU,QAAQ,gBAAgBpjD,CAAI,GACxCqpC,EAAS,KAAKhH,CAAI,EAEpBuhB,EAAU,OAAOvhB,CAAI,GAGzB,UAAWwhB,KAAMF,EAAQ,iBAAiB,uDAAuD,EAC/FE,EAAG,aAAa,WAAY,EAAI,EAElC,MAAO,CACL,SAAAxa,CACN,CACG,CACD,OAAO,OAAOp2B,EAAY,CACxB,MAAMlR,EAAY,UAAUkR,EAAW,SAAS,UAAU,KAAK,GAAG,KAClEA,EAAW,IAAI,MAAM,UAAYlR,EACjCkR,EAAW,IAAI,OAAS,EACzB,CACF,CACDlX,EAAQ,SAAWsnD,CAEZ,EAEA,CAACvnD,EAAyBC,EAAS8V,IAAwB,CAIlE,OAAO,eAAe9V,EAAS,aAAe,CAC5C,MAAO,EACT,GACAA,EAAQ,YAAc,OACtB,IAAIiZ,EAAiBnD,EAAoB,CAAC,EACtCC,EAAQD,EAAoB,CAAC,EAC7B0R,GAAW1R,EAAoB,EAAE,EACrC,IAAIiyC,EAAc,KAAM,CACtB,aAAc,IACRhyC,EAAM,aAAa,8BAA8B,CACtD,CACH,EACA/V,EAAQ,YAAc+nD,EACtB,CAgPE,IAASC,EAAT,SAAsBC,EAAQ,CAC5B,IAAIC,EAAS,CAAA,EACb,MAAM7qB,EAAM,CAAA,EACZ,UAAW8qB,KAAiBF,EAAQ,CAClC,GAAIE,EAAc,KAAO,OAAQ,CAC/BD,EAAO,KAAK,CACV,KAAM,GACN,GAAI,QACJ,MAAO,CAAE,CACnB,CAAS,EACD7qB,EAAI,KAAK6qB,CAAM,EACfA,EAASA,EAAO,GAAG,EAAE,EAAE,MACvB,SAEEC,EAAc,KAAO,UACvBD,EAAS7qB,EAAI,MAEb6qB,EAAO,KAAKC,CAAa,EAG7B,OAAOD,CACR,EACQE,EAAT,SAAYvkD,EAAO,CACjB,GAAI,OAAO,UAAUA,CAAK,EACxB,OAAOA,EAAM,WAEf,MAAMykB,EAAIzkB,EAAM,QAAQ,EAAE,EAC1B,IAAImB,EAAIsjB,EAAE,OAAS,EACnB,GAAIA,EAAEtjB,CAAC,IAAM,IACX,OAAOsjB,EAET,GACEtjB,UACOsjB,EAAEtjB,CAAC,IAAM,KAClB,OAAOsjB,EAAE,UAAU,EAAGA,EAAEtjB,CAAC,IAAM,IAAMA,EAAIA,EAAI,CAAC,CAC/C,EACQqjD,EAAT,SAAY/hD,EAAG,CACb,GAAIA,EAAE,CAAC,IAAM,GAAKA,EAAE,CAAC,IAAM,EAAG,CAC5B,GAAIA,EAAE,CAAC,IAAM,GAAKA,EAAE,CAAC,IAAM,EACzB,OAAIA,EAAE,CAAC,IAAM,GAAKA,EAAE,CAAC,IAAM,EAClB,GAEF,SAAS8hD,EAAG9hD,EAAE,CAAC,CAAC,KAAK8hD,EAAG9hD,EAAE,CAAC,CAAC,KAErC,GAAIA,EAAE,CAAC,IAAMA,EAAE,CAAC,GAAKA,EAAE,CAAC,IAAM,CAACA,EAAE,CAAC,EAAG,CACnC,MAAMS,EAAI,KAAK,KAAKT,EAAE,CAAC,CAAC,EAAI,IAAM,KAAK,GACvC,MAAO,UAAU8hD,EAAGrhD,CAAC,cAGnBT,EAAE,CAAC,IAAM,GAAKA,EAAE,CAAC,IAAM,GAAKA,EAAE,CAAC,IAAM,GAAKA,EAAE,CAAC,IAAM,EACrD,MAAO,aAAa8hD,EAAG9hD,EAAE,CAAC,CAAC,KAAK8hD,EAAG9hD,EAAE,CAAC,CAAC,KAG3C,MAAO,UAAU8hD,EAAG9hD,EAAE,CAAC,CAAC,KAAK8hD,EAAG9hD,EAAE,CAAC,CAAC,KAAK8hD,EAAG9hD,EAAE,CAAC,CAAC,KAAK8hD,EAAG9hD,EAAE,CAAC,CAAC,KAAK8hD,EAAG9hD,EAAE,CAAC,CAAC,KAAU8hD,EAAG9hD,EAAE,CAAC,CAAC,IAC1F,EArSD,MAAMgiD,EAAe,CACnB,UAAW,SACX,WAAY,SACZ,UAAW,SACf,EACQC,EAAS,uCACTC,EAAW,+BACXn3B,EAAkB,CAAC,OAAQ,QAAS,QAAQ,EAC5CC,EAAmB,CAAC,QAAS,QAAS,OAAO,EAC7Cm3B,EAAkB,SAAU7+C,EAAM8+C,EAAc,GAAIC,EAAkB,GAAO,CACjF,GAAI,IAAI,iBAAmB,OAAO,KAAS,KAAe,CAACA,EACzD,OAAO,IAAI,gBAAgB,IAAI,KAAK,CAAC/+C,CAAI,EAAG,CAC1C,KAAM8+C,CACP,CAAA,CAAC,EAEJ,MAAME,EAAS,oEACf,IAAI5/C,EAAS,QAAQ0/C,YACrB,QAAS1jD,EAAI,EAAGkE,EAAKU,EAAK,OAAQ5E,EAAIkE,EAAIlE,GAAK,EAAG,CAChD,MAAM6jD,EAAKj/C,EAAK5E,CAAC,EAAI,IACf8jD,EAAKl/C,EAAK5E,EAAI,CAAC,EAAI,IACnB+jD,GAAKn/C,EAAK5E,EAAI,CAAC,EAAI,IACnBgkD,EAAKH,GAAM,EACfI,IAAMJ,EAAK,IAAM,EAAIC,GAAM,EACvBI,GAAKlkD,EAAI,EAAIkE,GAAM4/C,EAAK,KAAQ,EAAIC,IAAM,EAAI,GAC9CI,GAAKnkD,EAAI,EAAIkE,EAAK6/C,GAAK,GAAO,GACpC//C,GAAU4/C,EAAOI,CAAE,EAAIJ,EAAOK,EAAE,EAAIL,EAAOM,EAAE,EAAIN,EAAOO,EAAE,EAE5D,OAAOngD,CACX,EACQogD,EAAsB,UAAY,CACtC,MAAMC,EAAa,IAAI,WAAW,CAAC,IAAM,GAAM,GAAM,GAAM,GAAM,GAAM,GAAM,EAAI,CAAC,EAC5EC,EAAqB,GACrBC,EAAW,IAAI,WAAW,GAAG,EACnC,QAASvkD,GAAI,EAAGA,GAAI,IAAKA,KAAK,CAC5B,IAAIgC,EAAIhC,GACR,QAASk2B,GAAI,EAAGA,GAAI,EAAGA,KACjBl0B,EAAI,EACNA,EAAI,WAAaA,GAAK,EAAI,WAE1BA,EAAIA,GAAK,EAAI,WAGjBuiD,EAASvkD,EAAC,EAAIgC,EAEhB,SAASwiD,EAAM5/C,GAAMmY,EAAO9T,GAAK,CAC/B,IAAIw7C,GAAM,GACV,QAASzkD,GAAI+c,EAAO/c,GAAIiJ,GAAKjJ,KAAK,CAChC,MAAM+B,IAAK0iD,GAAM7/C,GAAK5E,EAAC,GAAK,IACtBe,GAAIwjD,EAASxiD,EAAC,EACpB0iD,GAAMA,KAAQ,EAAI1jD,GAEpB,OAAO0jD,GAAM,EACd,CACD,SAASC,EAAct1C,GAAMu1C,EAAM//C,GAAMwe,GAAQ,CAC/C,IAAI/hB,GAAI+hB,GACR,MAAM8vB,GAAMyR,EAAK,OACjB//C,GAAKvD,EAAC,EAAI6xC,IAAO,GAAK,IACtBtuC,GAAKvD,GAAI,CAAC,EAAI6xC,IAAO,GAAK,IAC1BtuC,GAAKvD,GAAI,CAAC,EAAI6xC,IAAO,EAAI,IACzBtuC,GAAKvD,GAAI,CAAC,EAAI6xC,GAAM,IACpB7xC,IAAK,EACLuD,GAAKvD,EAAC,EAAI+N,GAAK,WAAW,CAAC,EAAI,IAC/BxK,GAAKvD,GAAI,CAAC,EAAI+N,GAAK,WAAW,CAAC,EAAI,IACnCxK,GAAKvD,GAAI,CAAC,EAAI+N,GAAK,WAAW,CAAC,EAAI,IACnCxK,GAAKvD,GAAI,CAAC,EAAI+N,GAAK,WAAW,CAAC,EAAI,IACnC/N,IAAK,EACLuD,GAAK,IAAI+/C,EAAMtjD,EAAC,EAChBA,IAAKsjD,EAAK,OACV,MAAMF,GAAMD,EAAM5/C,GAAMwe,GAAS,EAAG/hB,EAAC,EACrCuD,GAAKvD,EAAC,EAAIojD,IAAO,GAAK,IACtB7/C,GAAKvD,GAAI,CAAC,EAAIojD,IAAO,GAAK,IAC1B7/C,GAAKvD,GAAI,CAAC,EAAIojD,IAAO,EAAI,IACzB7/C,GAAKvD,GAAI,CAAC,EAAIojD,GAAM,GACrB,CACD,SAASG,EAAQhgD,GAAMmY,EAAO9T,GAAK,CACjC,IAAIlH,GAAI,EACJhB,GAAI,EACR,QAASf,GAAI+c,EAAO/c,GAAIiJ,GAAK,EAAEjJ,GAC7B+B,IAAKA,IAAK6C,GAAK5E,EAAC,EAAI,MAAS,MAC7Be,IAAKA,GAAIgB,IAAK,MAEhB,OAAOhB,IAAK,GAAKgB,EAClB,CACD,SAAS8iD,EAAYC,GAAU,CAC7B,GAAI,CAACtiC,GAAS,SACZ,OAAOuiC,EAAwBD,EAAQ,EAEzC,GAAI,CACF,IAAInlC,EACA,SAAS,QAAQ,SAAS,IAAI,GAAK,EACrCA,EAAQmlC,GAERnlC,EAAQ,OAAO,KAAKmlC,EAAQ,EAE9B,MAAM1jB,GAAS,WAAgB,YAAYzhB,EAAO,CAChD,MAAO,CACjB,CAAS,EACD,OAAOyhB,cAAkB,WAAaA,GAAS,IAAI,WAAWA,EAAM,CACrE,OAAQ1gB,EAAP,IACI3P,EAAM,MAAM,gEAAkE2P,CAAC,CACpF,CACD,OAAOqkC,EAAwBD,EAAQ,CACxC,CACD,SAASC,EAAwBD,GAAU,CACzC,IAAI5R,EAAM4R,GAAS,OACnB,MAAME,GAAiB,MACjBC,GAAgB,KAAK,KAAK/R,EAAM8R,EAAc,EAC9CE,GAAO,IAAI,WAAW,EAAIhS,EAAM+R,GAAgB,EAAI,CAAC,EAC3D,IAAIE,GAAK,EACTD,GAAKC,IAAI,EAAI,IACbD,GAAKC,IAAI,EAAI,IACb,IAAI19B,GAAM,EACV,KAAOyrB,EAAM8R,IACXE,GAAKC,IAAI,EAAI,EACbD,GAAKC,IAAI,EAAI,IACbD,GAAKC,IAAI,EAAI,IACbD,GAAKC,IAAI,EAAI,EACbD,GAAKC,IAAI,EAAI,EACbD,GAAK,IAAIJ,GAAS,SAASr9B,GAAKA,GAAMu9B,EAAc,EAAGG,EAAE,EACzDA,IAAMH,GACNv9B,IAAOu9B,GACP9R,GAAO8R,GAETE,GAAKC,IAAI,EAAI,EACbD,GAAKC,IAAI,EAAIjS,EAAM,IACnBgS,GAAKC,IAAI,EAAIjS,GAAO,EAAI,IACxBgS,GAAKC,IAAI,EAAI,CAACjS,EAAM,MAAS,IAC7BgS,GAAKC,IAAI,GAAK,CAACjS,EAAM,QAAW,EAAI,IACpCgS,GAAK,IAAIJ,GAAS,SAASr9B,EAAG,EAAG09B,EAAE,EACnCA,IAAML,GAAS,OAASr9B,GACxB,MAAM29B,EAAQR,EAAQE,GAAU,EAAGA,GAAS,MAAM,EAClD,OAAAI,GAAKC,IAAI,EAAIC,GAAS,GAAK,IAC3BF,GAAKC,IAAI,EAAIC,GAAS,GAAK,IAC3BF,GAAKC,IAAI,EAAIC,GAAS,EAAI,IAC1BF,GAAKC,IAAI,EAAIC,EAAQ,IACdF,EACR,CACD,SAASG,EAAOn+B,GAASo+B,EAAM3B,GAAiB4B,GAAQ,CACtD,MAAM51C,GAAQuX,GAAQ,MAChBtX,GAASsX,GAAQ,OACvB,IAAIs+B,GAAUC,EAAWj+B,GACzB,MAAM5nB,GAAQsnB,GAAQ,KACtB,OAAQo+B,EAAI,CACV,KAAKv0C,EAAM,UAAU,eACnB00C,EAAY,EACZD,GAAW,EACXh+B,GAAW7X,GAAQ,GAAK,EACxB,MACF,KAAKoB,EAAM,UAAU,UACnB00C,EAAY,EACZD,GAAW,EACXh+B,GAAW7X,GAAQ,EACnB,MACF,KAAKoB,EAAM,UAAU,WACnB00C,EAAY,EACZD,GAAW,EACXh+B,GAAW7X,GAAQ,EACnB,MACF,QACE,MAAM,IAAI,MAAM,gBAAgB,CACnC,CACD,MAAMm1C,EAAW,IAAI,YAAY,EAAIt9B,IAAY5X,EAAM,EACvD,IAAI81C,EAAiB,EACnBC,EAAc,EAChB,QAAS3yC,EAAI,EAAGA,EAAIpD,GAAQ,EAAEoD,EAC5B8xC,EAASY,GAAgB,EAAI,EAC7BZ,EAAS,IAAIllD,GAAM,SAAS+lD,EAAaA,EAAcn+B,EAAQ,EAAGk+B,CAAc,EAChFC,GAAen+B,GACfk+B,GAAkBl+B,GAEpB,GAAI89B,IAASv0C,EAAM,UAAU,gBAAkBw0C,GAAQ,CACrDG,EAAiB,EACjB,QAAS1yC,EAAI,EAAGA,EAAIpD,GAAQoD,IAAK,CAC/B0yC,IACA,QAAS1lD,EAAI,EAAGA,EAAIwnB,GAAUxnB,IAC5B8kD,EAASY,GAAgB,GAAK,KAIpC,MAAME,EAAO,IAAI,WAAW,CAACj2C,IAAS,GAAK,IAAMA,IAAS,GAAK,IAAMA,IAAS,EAAI,IAAMA,GAAQ,IAAMC,IAAU,GAAK,IAAMA,IAAU,GAAK,IAAMA,IAAU,EAAI,IAAMA,GAAS,IAAM41C,GAAUC,EAAW,EAAM,EAAM,CAAI,CAAC,EACnNP,EAAOL,EAAYC,CAAQ,EAC3Be,EAAYxB,EAAW,OAASC,EAAqB,EAAIsB,EAAK,OAASV,EAAK,OAC5EtgD,GAAO,IAAI,WAAWihD,CAAS,EACrC,IAAIziC,EAAS,EACb,OAAAxe,GAAK,IAAIy/C,EAAYjhC,CAAM,EAC3BA,GAAUihC,EAAW,OACrBK,EAAc,OAAQkB,EAAMhhD,GAAMwe,CAAM,EACxCA,GAAUkhC,EAAqBsB,EAAK,OACpClB,EAAc,QAASQ,EAAMtgD,GAAMwe,CAAM,EACzCA,GAAUkhC,EAAqBY,EAAK,OACpCR,EAAc,OAAQ,IAAI,WAAW,CAAC,EAAG9/C,GAAMwe,CAAM,EAC9CqgC,EAAgB7+C,GAAM,YAAa++C,EAAe,CAC1D,CACD,OAAO,SAA6Bz8B,EAASy8B,GAAiB4B,GAAQ,CACpE,MAAMD,GAAOp+B,EAAQ,OAAS,OAAYnW,EAAM,UAAU,eAAiBmW,EAAQ,KACnF,OAAOm+B,EAAOn+B,EAASo+B,GAAM3B,GAAiB4B,EAAM,CAC1D,CACA,IACE,MAAMO,CAAc,CAClB,aAAc,CACZ,KAAK,cAAgB,EACrB,KAAK,WAAaxC,EAAa,WAC/B,KAAK,SAAW,EAChB,KAAK,WAAavyC,EAAM,gBACxB,KAAK,WAAaA,EAAM,qBACxB,KAAK,QAAU,EACf,KAAK,kBAAoBA,EAAM,kBAAkB,KACjD,KAAK,gBAAkB,EACvB,KAAK,EAAI,EACT,KAAK,EAAI,EACT,KAAK,MAAQ,EACb,KAAK,MAAQ,EACb,KAAK,YAAc,EACnB,KAAK,YAAc,EACnB,KAAK,WAAa,EAClB,KAAK,SAAW,EAChB,KAAK,UAAYuyC,EAAa,UAC9B,KAAK,YAAc,UACnB,KAAK,UAAY,EACjB,KAAK,YAAc,EACnB,KAAK,UAAY,EACjB,KAAK,SAAW,GAChB,KAAK,QAAU,GACf,KAAK,WAAa,EAClB,KAAK,UAAY,GACjB,KAAK,UAAY,EACjB,KAAK,aAAe,GACpB,KAAK,cAAgB,KACrB,KAAK,UAAY,KACjB,KAAK,OAAS,EACf,CACD,OAAQ,CACN,OAAO,OAAO,OAAO,IAAI,CAC1B,CACD,gBAAgBvwC,EAAGC,EAAG,CACpB,KAAK,EAAID,EACT,KAAK,EAAIC,CACV,CACF,CAwDD,IAAI+yC,EAAY,EACZC,EAAY,EACZC,EAAe,EACnBjrD,EAAQ,YAAc+nD,EAAc,KAAM,CACxC,YAAYpyC,EAAYD,EAAMizC,EAAkB,GAAO,IACjD1vC,EAAe,YAAY,8EAA8E,EAC7G,KAAK,WAAa,IAAIA,EAAe,cACrC,KAAK,QAAU,IAAI6xC,EACnB,KAAK,gBAAkB/0C,EAAM,gBAC7B,KAAK,eAAiB,GACtB,KAAK,WAAa,GAClB,KAAK,WAAaJ,EAClB,KAAK,KAAOD,EACZ,KAAK,YAAc,KACnB,KAAK,cAAgB,GACrB,KAAK,WAAa,GAClB,KAAK,cAAgB,OAAO,OAAO,IAAI,EACvC,KAAK,SAAW,KAChB,KAAK,gBAAkB,CAAC,CAACizC,EACzB,KAAK,mBAAqB,GAC1B,UAAWxsB,KAAMpmB,EAAM,IACrB,KAAK,mBAAmBA,EAAM,IAAIomB,CAAE,CAAC,EAAIA,CAE5C,CACD,UAAUvyB,EAAMkoB,EAAW,KAAM,CAC/B,OAAI,OAAOloB,GAAS,SACXA,EAAK,WAAW,IAAI,EAAI,KAAK,WAAW,IAAIA,CAAI,EAAI,KAAK,KAAK,IAAIA,CAAI,EAExEkoB,CACR,CACD,MAAO,CACL,KAAK,eAAe,KAAK,KAAK,eAAe,EAC7C,MAAMqD,EAAM,KAAK,QACjB,KAAK,WAAW,KAAKA,CAAG,EACxB,KAAK,QAAUA,EAAI,OACpB,CACD,SAAU,CACR,KAAK,gBAAkB,KAAK,eAAe,IAAG,EAC9C,KAAK,QAAU,KAAK,WAAW,IAAG,EAClC,KAAK,YAAc,KACnB,KAAK,KAAO,IACb,CACD,MAAMgR,EAAO,CACX,KAAK,KAAI,EACT,KAAK,cAAcA,CAAK,EACxB,KAAK,QAAO,CACb,CACD,iBAAiBp0B,EAAc,CAC7B,MAAMsgB,EAAUtgB,EAAa,QACvBqgB,EAAYrgB,EAAa,UAC/B,QAAS/M,EAAI,EAAGkE,EAAKmpB,EAAQ,OAAQrtB,EAAIkE,EAAIlE,IAC3C,GAAIqtB,EAAQrtB,CAAC,IAAM+Q,EAAM,IAAI,WAG7B,UAAWpS,KAAOyuB,EAAUptB,CAAC,EAAG,CAC9B,MAAM2tB,EAAWhvB,EAAI,WAAW,IAAI,EAAI,KAAK,WAAa,KAAK,KACzDmR,EAAU,IAAI,QAAQpL,GAAW,CACrCipB,EAAS,IAAIhvB,EAAK+F,CAAO,CACrC,CAAW,EACD,KAAK,QAAQ,aAAa,KAAKoL,CAAO,EAG1C,OAAO,QAAQ,IAAI,KAAK,QAAQ,YAAY,CAC7C,CACD,UAAU/N,EAAGhB,EAAGiB,EAAGP,EAAGif,EAAGC,EAAG,CAC1B,MAAMulC,EAAkB,CAACnkD,EAAGhB,EAAGiB,EAAGP,EAAGif,EAAGC,CAAC,EACzC,KAAK,gBAAkB5P,EAAM,KAAK,UAAU,KAAK,gBAAiBm1C,CAAe,EACjF,KAAK,KAAO,IACb,CACD,OAAOn5C,EAAc3C,EAAU,CAC7B,KAAK,SAAWA,EAChB,MAAM+7C,EAAa,KAAK,YAAY/7C,CAAQ,EAC5C,OAAO,KAAK,iBAAiB2C,CAAY,EAAE,KAAK,KAC9C,KAAK,gBAAkBgE,EAAM,gBAC7B,KAAK,cAAc,KAAK,cAAchE,CAAY,CAAC,EAC5Co5C,EACR,CACF,CACD,cAAcp5C,EAAc,CAC1B,MAAMq5C,EAAoB,KAAK,mBACzBh5B,EAAYrgB,EAAa,UACzBsgB,EAAUtgB,EAAa,QACvBk2C,EAAS,CAAA,EACf,QAASjjD,EAAI,EAAGkE,EAAKmpB,EAAQ,OAAQrtB,EAAIkE,EAAIlE,IAAK,CAChD,MAAMytB,EAAOJ,EAAQrtB,CAAC,EACtBijD,EAAO,KAAK,CACV,KAAAx1B,EACA,GAAI24B,EAAkB34B,CAAI,EAC1B,KAAML,EAAUptB,CAAC,CAC3B,CAAS,EAEH,OAAOgjD,EAAaC,CAAM,CAC3B,CACD,cAAcC,EAAQ,CACpB,UAAWmD,KAAiBnD,EAAQ,CAClC,MAAMoD,EAAKD,EAAc,GACnB54B,EAAO44B,EAAc,KACrB5hC,EAAO4hC,EAAc,KAC3B,OAAQ54B,EAAO,EAAC,CACd,KAAK1c,EAAM,IAAI,UACb,KAAK,UAAS,EACd,MACF,KAAKA,EAAM,IAAI,WACb,MACF,KAAKA,EAAM,IAAI,WACb,KAAK,WAAW0T,CAAI,EACpB,MACF,KAAK1T,EAAM,IAAI,mBACb,KAAK,mBAAmB0T,EAAK,CAAC,EAAGA,EAAK,CAAC,CAAC,EACxC,MACF,KAAK1T,EAAM,IAAI,QACb,KAAK,QAAQ0T,CAAI,EACjB,MACF,KAAK1T,EAAM,IAAI,SACb,KAAK,SAAS0T,EAAK,CAAC,CAAC,EACrB,MACF,KAAK1T,EAAM,IAAI,eACb,KAAK,SAAS0T,EAAK,CAAC,CAAC,EACrB,MACF,KAAK1T,EAAM,IAAI,QACb,KAAK,QAAO,EACZ,MACF,KAAKA,EAAM,IAAI,SACb,KAAK,SAAS0T,EAAK,CAAC,EAAGA,EAAK,CAAC,CAAC,EAC9B,MACF,KAAK1T,EAAM,IAAI,eACb,KAAK,eAAe0T,EAAK,CAAC,CAAC,EAC3B,MACF,KAAK1T,EAAM,IAAI,eACb,KAAK,eAAe0T,EAAK,CAAC,CAAC,EAC3B,MACF,KAAK1T,EAAM,IAAI,UACb,KAAK,UAAU0T,EAAK,CAAC,CAAC,EACtB,MACF,KAAK1T,EAAM,IAAI,cACb,KAAK,cAAc0T,EAAK,CAAC,EAAGA,EAAK,CAAC,EAAGA,EAAK,CAAC,EAAGA,EAAK,CAAC,EAAGA,EAAK,CAAC,EAAGA,EAAK,CAAC,CAAC,EACvE,MACF,KAAK1T,EAAM,IAAI,YACb,KAAK,YAAY0T,EAAK,CAAC,CAAC,EACxB,MACF,KAAK1T,EAAM,IAAI,qBACb,KAAK,qBAAqB0T,EAAK,CAAC,CAAC,EACjC,MACF,KAAK1T,EAAM,IAAI,aACb,KAAK,aAAa0T,EAAK,CAAC,CAAC,EACzB,MACF,KAAK1T,EAAM,IAAI,YACb,KAAK,YAAY0T,EAAK,CAAC,CAAC,EACxB,MACF,KAAK1T,EAAM,IAAI,WACb,KAAK,WAAW0T,EAAK,CAAC,CAAC,EACvB,MACF,KAAK1T,EAAM,IAAI,cACb,KAAK,cAAc0T,EAAK,CAAC,CAAC,EAC1B,MACF,KAAK1T,EAAM,IAAI,gBACb,KAAK,gBAAgB0T,EAAK,CAAC,EAAGA,EAAK,CAAC,EAAGA,EAAK,CAAC,CAAC,EAC9C,MACF,KAAK1T,EAAM,IAAI,kBACb,KAAK,kBAAkB0T,EAAK,CAAC,EAAGA,EAAK,CAAC,EAAGA,EAAK,CAAC,CAAC,EAChD,MACF,KAAK1T,EAAM,IAAI,gBACb,KAAK,gBAAgB0T,CAAI,EACzB,MACF,KAAK1T,EAAM,IAAI,cACb,KAAK,cAAc0T,CAAI,EACvB,MACF,KAAK1T,EAAM,IAAI,YACb,KAAK,YAAY0T,EAAK,CAAC,CAAC,EACxB,MACF,KAAK1T,EAAM,IAAI,QACb,KAAK,QAAQ0T,EAAK,CAAC,EAAGA,EAAK,CAAC,CAAC,EAC7B,MACF,KAAK1T,EAAM,IAAI,mBACb,KAAK,mBAAmB0T,EAAK,CAAC,CAAC,EAC/B,MACF,KAAK1T,EAAM,IAAI,YACb,KAAK,YAAY0T,EAAK,CAAC,CAAC,EACxB,MACF,KAAK1T,EAAM,IAAI,UACb,KAAK,UAAU0T,EAAK,CAAC,CAAC,EACtB,MACF,KAAK1T,EAAM,IAAI,KACb,KAAK,KAAI,EACT,MACF,KAAKA,EAAM,IAAI,OACb,KAAK,OAAM,EACX,MACF,KAAKA,EAAM,IAAI,OACb,KAAK,OAAM,EACX,MACF,KAAKA,EAAM,IAAI,WACb,KAAK,WAAU,EACf,MACF,KAAKA,EAAM,IAAI,aACb,KAAK,aAAY,EACjB,MACF,KAAKA,EAAM,IAAI,KACb,KAAK,KAAK,SAAS,EACnB,MACF,KAAKA,EAAM,IAAI,OACb,KAAK,KAAK,SAAS,EACnB,MACF,KAAKA,EAAM,IAAI,yBACb,KAAK,yBAAwB,EAC7B,MACF,KAAKA,EAAM,IAAI,kBACb,KAAK,kBAAkB0T,EAAK,CAAC,CAAC,EAC9B,MACF,KAAK1T,EAAM,IAAI,wBACb,KAAK,wBAAwB0T,EAAK,CAAC,CAAC,EACpC,MACF,KAAK1T,EAAM,IAAI,sBACb,KAAK,sBAAsB0T,EAAK,CAAC,CAAC,EAClC,MACF,KAAK1T,EAAM,IAAI,sBACb,KAAK,sBAAsB0T,EAAK,CAAC,EAAGA,EAAK,CAAC,CAAC,EAC3C,MACF,KAAK1T,EAAM,IAAI,oBACb,KAAK,oBAAmB,EACxB,MACF,KAAKA,EAAM,IAAI,UACb,KAAK,UAAS,EACd,MACF,KAAKA,EAAM,IAAI,YACb,KAAK,YAAW,EAChB,MACF,KAAKA,EAAM,IAAI,gBACb,KAAK,gBAAe,EACpB,MACF,KAAKA,EAAM,IAAI,kBACb,KAAK,kBAAiB,EACtB,MACF,KAAKA,EAAM,IAAI,SACb,KAAK,SAAQ,EACb,MACF,KAAKA,EAAM,IAAI,UACb,KAAK,UAAU0T,EAAK,CAAC,EAAGA,EAAK,CAAC,EAAGA,EAAK,CAAC,EAAGA,EAAK,CAAC,EAAGA,EAAK,CAAC,EAAGA,EAAK,CAAC,CAAC,EACnE,MACF,KAAK1T,EAAM,IAAI,cACb,KAAK,cAAc0T,EAAK,CAAC,EAAGA,EAAK,CAAC,CAAC,EACnC,MACF,KAAK1T,EAAM,IAAI,QACb,KAAK,QAAO,EACZ,MACF,IAAK,IACH,KAAK,MAAMs1C,EAAc,KAAK,EAC9B,MACF,WACMt1C,EAAM,MAAM,0BAA0Bu1C,GAAI,EAC9C,KACH,EAEJ,CACD,eAAen0B,EAAa,CAC1B,KAAK,QAAQ,YAAcA,CAC5B,CACD,eAAeD,EAAa,CAC1B,KAAK,QAAQ,YAAcA,CAC5B,CACD,UAAW,CACT,KAAK,SAAS,EAAG,KAAK,QAAQ,OAAO,CACtC,CACD,cAAcnwB,EAAGhB,EAAGiB,EAAGP,EAAGif,EAAGC,EAAG,CAC9B,MAAM6D,EAAU,KAAK,QACrBA,EAAQ,WAAaA,EAAQ,WAAa,CAACziB,EAAGhB,EAAGiB,EAAGP,EAAGif,EAAGC,CAAC,EAC3D6D,EAAQ,gBAAkB,KAAK,MAAMziB,EAAGhB,CAAC,EACzCyjB,EAAQ,EAAIA,EAAQ,MAAQ,EAC5BA,EAAQ,EAAIA,EAAQ,MAAQ,EAC5BA,EAAQ,QAAU,GAClBA,EAAQ,QAAU,GAClBA,EAAQ,MAAQ,KAAK,WAAW,cAAc,WAAW,EACzDA,EAAQ,MAAM,eAAe,KAAM,cAAeA,EAAQ,UAAU,EACpEA,EAAQ,MAAM,eAAe,KAAM,YAAa,GAAG4+B,EAAG5+B,EAAQ,QAAQ,KAAK,EAC3EA,EAAQ,MAAM,eAAe,KAAM,IAAK4+B,EAAG,CAAC5+B,EAAQ,CAAC,CAAC,EACtDA,EAAQ,WAAa,KAAK,WAAW,cAAc,UAAU,EAC7DA,EAAQ,WAAW,OAAOA,EAAQ,KAAK,CACxC,CACD,WAAY,CACV,MAAMA,EAAU,KAAK,QACrBA,EAAQ,EAAIA,EAAQ,MAAQ,EAC5BA,EAAQ,EAAIA,EAAQ,MAAQ,EAC5BA,EAAQ,WAAazT,EAAM,gBAC3ByT,EAAQ,WAAazT,EAAM,gBAC3ByT,EAAQ,gBAAkB,EAC1BA,EAAQ,MAAQ,KAAK,WAAW,cAAc,WAAW,EACzDA,EAAQ,WAAa,KAAK,WAAW,cAAc,UAAU,EAC7DA,EAAQ,OAAS,KAAK,WAAW,cAAc,OAAO,EACtDA,EAAQ,QAAU,GAClBA,EAAQ,QAAU,EACnB,CACD,SAASzR,EAAGC,EAAG,CACb,MAAMwR,EAAU,KAAK,QACrBA,EAAQ,EAAIA,EAAQ,OAASzR,EAC7ByR,EAAQ,EAAIA,EAAQ,OAASxR,EAC7BwR,EAAQ,QAAU,GAClBA,EAAQ,QAAU,GAClBA,EAAQ,MAAQ,KAAK,WAAW,cAAc,WAAW,EACzDA,EAAQ,MAAM,eAAe,KAAM,cAAeA,EAAQ,UAAU,EACpEA,EAAQ,MAAM,eAAe,KAAM,YAAa,GAAG4+B,EAAG5+B,EAAQ,QAAQ,KAAK,EAC3EA,EAAQ,MAAM,eAAe,KAAM,IAAK4+B,EAAG,CAAC5+B,EAAQ,CAAC,CAAC,CACvD,CACD,SAASwN,EAAQ,CACf,MAAMxN,EAAU,KAAK,QACfhV,EAAOgV,EAAQ,KACfkN,EAAWlN,EAAQ,SACzB,GAAIkN,IAAa,EACf,OAEF,MAAMO,EAAgBzN,EAAQ,cACxB0N,EAAc1N,EAAQ,YACtB2N,EAAc3N,EAAQ,YACtB4N,EAAgB5N,EAAQ,cACxB6N,EAAa7N,EAAQ,WAAa4N,EAClCG,GAAW/iB,EAAK,SAChBgjB,EAAaD,GAAW,EAAI,GAC5BE,GAAkBjjB,EAAK,gBACvBkjB,GAAoBhB,EAAWlN,EAAQ,WAAW,CAAC,EACzD,IAAIzR,GAAI,EACR,UAAWggB,KAASf,EAAQ,CAC1B,GAAIe,IAAU,KAAM,CAClBhgB,IAAKqf,EAAgBD,EACrB,iBACS,OAAOY,GAAU,SAAU,CACpChgB,IAAKyf,EAAaO,EAAQrB,EAAW,IACrC,SAEF,MAAMX,IAAWgC,EAAM,QAAUZ,EAAc,GAAKD,EAC9C9N,GAAY2O,EAAM,SACxB,IAAIG,EAASC,EACTxjB,EAAQojB,EAAM,MAClB,GAAIR,GAAU,CACZ,IAAIc,EACJ,MAAMD,EAAUL,EAAM,SAAWN,GACjCY,EAAKN,EAAM,QAAUK,EAAQ,CAAC,EAAIzjB,EAAQ,GAC1C0jB,EAAK,CAACA,EAAKX,GACX,MAAMY,GAAKF,EAAQ,CAAC,EAAIV,GACxB/iB,EAAQyjB,EAAU,CAACA,EAAQ,CAAC,EAAIzjB,EAChCujB,EAAUG,EAAKpB,EACfkB,GAAWpgB,GAAIugB,IAAMrB,OAErBiB,EAAUngB,GAAIkf,EACdkB,EAAU,GAERJ,EAAM,UAAYvjB,EAAK,eACzBgV,EAAQ,QAAQ,KAAKA,EAAQ,EAAI0O,CAAO,EACpCX,IACF/N,EAAQ,QAAQ,KAAK,CAACA,EAAQ,EAAI2O,CAAO,EAE3C3O,EAAQ,MAAM,aAAeJ,IAE/B,IAAIuP,EACApB,GACFoB,EAAYhkB,EAAQ+iB,GAAoB3B,GAAUqB,EAElDuB,EAAYhkB,EAAQ+iB,GAAoB3B,GAAUqB,EAEpDrf,IAAK4gB,EAEPnP,EAAQ,MAAM,eAAe,KAAM,IAAKA,EAAQ,QAAQ,IAAI4+B,CAAE,EAAE,KAAK,GAAG,CAAC,EACrE7wB,GACF/N,EAAQ,MAAM,eAAe,KAAM,IAAKA,EAAQ,QAAQ,IAAI4+B,CAAE,EAAE,KAAK,GAAG,CAAC,EAEzE5+B,EAAQ,MAAM,eAAe,KAAM,IAAK4+B,EAAG,CAAC5+B,EAAQ,CAAC,CAAC,EAEpD+N,GACF/N,EAAQ,GAAKzR,GAEbyR,EAAQ,GAAKzR,GAAIsf,EAEnB7N,EAAQ,MAAM,eAAe,KAAM,cAAeA,EAAQ,UAAU,EACpEA,EAAQ,MAAM,eAAe,KAAM,YAAa,GAAG4+B,EAAG5+B,EAAQ,QAAQ,KAAK,EACvEA,EAAQ,YAAc8+B,EAAa,WACrC9+B,EAAQ,MAAM,eAAe,KAAM,aAAcA,EAAQ,SAAS,EAEhEA,EAAQ,aAAe8+B,EAAa,YACtC9+B,EAAQ,MAAM,eAAe,KAAM,cAAeA,EAAQ,UAAU,EAEtE,MAAMmN,GAAiBnN,EAAQ,kBAAoBzT,EAAM,kBAAkB,iBAa3E,GAZI4gB,KAAmB5gB,EAAM,kBAAkB,MAAQ4gB,KAAmB5gB,EAAM,kBAAkB,aAC5FyT,EAAQ,YAAc8+B,EAAa,WACrC9+B,EAAQ,MAAM,eAAe,KAAM,OAAQA,EAAQ,SAAS,EAE1DA,EAAQ,UAAY,GACtBA,EAAQ,MAAM,eAAe,KAAM,eAAgBA,EAAQ,SAAS,GAE7DA,EAAQ,oBAAsBzT,EAAM,kBAAkB,YAC/DyT,EAAQ,MAAM,eAAe,KAAM,OAAQ,aAAa,EAExDA,EAAQ,MAAM,eAAe,KAAM,OAAQ,MAAM,EAE/CmN,KAAmB5gB,EAAM,kBAAkB,QAAU4gB,KAAmB5gB,EAAM,kBAAkB,YAAa,CAC/G,MAAMw1C,EAAiB,GAAK/hC,EAAQ,iBAAmB,GACvD,KAAK,qBAAqBA,EAAQ,MAAO+hC,CAAc,EAEzD,IAAIC,GAAahiC,EAAQ,WACrBA,EAAQ,WAAa,IACvBgiC,GAAaA,GAAW,QACxBA,GAAW,CAAC,GAAKhiC,EAAQ,UAE3BA,EAAQ,WAAW,eAAe,KAAM,YAAa,GAAG6+B,EAAGmD,EAAU,WAAWpD,EAAG/wB,CAAU,QAAQ,EACrG7N,EAAQ,WAAW,eAAe++B,EAAQ,YAAa,UAAU,EACjE/+B,EAAQ,WAAW,OAAOA,EAAQ,KAAK,EACvCA,EAAQ,OAAO,OAAOA,EAAQ,UAAU,EACxC,KAAK,sBAAuB,EAAC,OAAOA,EAAQ,UAAU,CACvD,CACD,mBAAmBzR,EAAGC,EAAG,CACvB,KAAK,WAAW,CAACA,CAAC,EAClB,KAAK,SAASD,EAAGC,CAAC,CACnB,CACD,aAAake,EAAS,CACpB,GAAI,CAACA,EAAQ,KACX,MAAM,IAAI,MAAM,mGAAwG,EAErH,KAAK,WACR,KAAK,SAAW,KAAK,WAAW,cAAc,WAAW,EACzD,KAAK,SAAS,eAAe,KAAM,OAAQ,UAAU,EACrD,KAAK,KAAK,OAAO,KAAK,QAAQ,GAEhC,MAAMx2B,EAAM+oD,EAAgBvyB,EAAQ,KAAMA,EAAQ,SAAU,KAAK,eAAe,EAChF,KAAK,SAAS,aAAe,8BAA8BA,EAAQ,yBAA8Bx2B;AAAA,CAClG,CACD,QAAQ2E,EAAS,CACf,MAAMmlB,EAAU,KAAK,QACf0M,EAAU,KAAK,WAAW,IAAI7xB,EAAQ,CAAC,CAAC,EAC9C,IAAIilB,EAAOjlB,EAAQ,CAAC,EACpBmlB,EAAQ,KAAO0M,EACX,KAAK,YAAc,CAACA,EAAQ,aAAe,CAAC,KAAK,cAAcA,EAAQ,UAAU,IACnF,KAAK,aAAaA,CAAO,EACzB,KAAK,cAAcA,EAAQ,UAAU,EAAIA,GAE3C1M,EAAQ,WAAa0M,EAAQ,YAAcngB,EAAM,qBACjD,IAAIogB,EAAO,SACPD,EAAQ,MACVC,EAAO,MACED,EAAQ,OACjBC,EAAO,QAET,MAAMC,EAASF,EAAQ,OAAS,SAAW,SACvC5M,EAAO,GACTA,EAAO,CAACA,EACRE,EAAQ,cAAgB,IAExBA,EAAQ,cAAgB,EAE1BA,EAAQ,SAAWF,EACnBE,EAAQ,WAAa0M,EAAQ,WAC7B1M,EAAQ,WAAa2M,EACrB3M,EAAQ,UAAY4M,EACpB5M,EAAQ,MAAQ,KAAK,WAAW,cAAc,WAAW,EACzDA,EAAQ,MAAM,eAAe,KAAM,IAAK4+B,EAAG,CAAC5+B,EAAQ,CAAC,CAAC,EACtDA,EAAQ,QAAU,GAClBA,EAAQ,QAAU,EACnB,CACD,SAAU,OACR,MAAMA,EAAU,KAAK,QACjBA,EAAQ,kBAAoBzT,EAAM,kBAAkB,oBAAoBtI,EAAA+b,EAAQ,aAAR,MAAA/b,EAAoB,mBAC9F+b,EAAQ,QAAUA,EAAQ,WAC1B,KAAK,KAAK,SAAS,EACnB,KAAK,QAAO,EAEf,CACD,aAAa7U,EAAO,CACdA,EAAQ,IACV,KAAK,QAAQ,UAAYA,EAE5B,CACD,WAAW2D,EAAO,CAChB,KAAK,QAAQ,QAAU+Y,EAAgB/Y,CAAK,CAC7C,CACD,YAAYA,EAAO,CACjB,KAAK,QAAQ,SAAWgZ,EAAiBhZ,CAAK,CAC/C,CACD,cAAcmc,EAAO,CACnB,KAAK,QAAQ,WAAaA,CAC3B,CACD,eAAeg3B,EAAa,CAC1B,KAAK,QAAQ,YAAcA,CAC5B,CACD,kBAAkB5lD,EAAGC,EAAGC,EAAG,CACzB,KAAK,QAAQ,YAAcgQ,EAAM,KAAK,aAAalQ,EAAGC,EAAGC,CAAC,CAC3D,CACD,aAAa2lD,EAAW,CACtB,KAAK,QAAQ,UAAYA,CAC1B,CACD,gBAAgB7lD,EAAGC,EAAGC,EAAG,CACvB,KAAK,QAAQ,UAAYgQ,EAAM,KAAK,aAAalQ,EAAGC,EAAGC,CAAC,EACxD,KAAK,QAAQ,MAAQ,KAAK,WAAW,cAAc,WAAW,EAC9D,KAAK,QAAQ,QAAU,GACvB,KAAK,QAAQ,QAAU,EACxB,CACD,gBAAgB0jB,EAAM,CACpB,KAAK,QAAQ,YAAc,KAAK,oBAAoBA,CAAI,CACzD,CACD,cAAcA,EAAM,CAClB,KAAK,QAAQ,UAAY,KAAK,oBAAoBA,CAAI,CACvD,CACD,YAAYA,EAAM,CAChB,MAAM9U,EAAQ,KAAK,SAAS,MACtBC,EAAS,KAAK,SAAS,OACvB6kB,EAAM1jB,EAAM,KAAK,iBAAiB,KAAK,eAAe,EACtD2jB,EAAK3jB,EAAM,KAAK,eAAe,CAAC,EAAG,CAAC,EAAG0jB,CAAG,EAC1CE,EAAK5jB,EAAM,KAAK,eAAe,CAAC,EAAGnB,CAAM,EAAG6kB,CAAG,EAC/CG,EAAK7jB,EAAM,KAAK,eAAe,CAACpB,EAAO,CAAC,EAAG8kB,CAAG,EAC9CI,EAAK9jB,EAAM,KAAK,eAAe,CAACpB,EAAOC,CAAM,EAAG6kB,CAAG,EACnD7xB,EAAK,KAAK,IAAI8xB,EAAG,CAAC,EAAGC,EAAG,CAAC,EAAGC,EAAG,CAAC,EAAGC,EAAG,CAAC,CAAC,EACxChyB,GAAK,KAAK,IAAI6xB,EAAG,CAAC,EAAGC,EAAG,CAAC,EAAGC,EAAG,CAAC,EAAGC,EAAG,CAAC,CAAC,EACxC/xB,EAAK,KAAK,IAAI4xB,EAAG,CAAC,EAAGC,EAAG,CAAC,EAAGC,EAAG,CAAC,EAAGC,EAAG,CAAC,CAAC,EACxC9xB,GAAK,KAAK,IAAI2xB,EAAG,CAAC,EAAGC,EAAG,CAAC,EAAGC,EAAG,CAAC,EAAGC,EAAG,CAAC,CAAC,EACxCxyB,GAAO,KAAK,WAAW,cAAc,UAAU,EACrDA,GAAK,eAAe,KAAM,IAAKO,CAAE,EACjCP,GAAK,eAAe,KAAM,IAAKQ,EAAE,EACjCR,GAAK,eAAe,KAAM,QAASS,EAAKF,CAAE,EAC1CP,GAAK,eAAe,KAAM,SAAUU,GAAKF,EAAE,EAC3CR,GAAK,eAAe,KAAM,OAAQ,KAAK,oBAAoBoiB,CAAI,CAAC,EAC5D,KAAK,QAAQ,UAAY,GAC3BpiB,GAAK,eAAe,KAAM,eAAgB,KAAK,QAAQ,SAAS,EAElE,KAAK,sBAAqB,EAAG,OAAOA,EAAI,CACzC,CACD,oBAAoBoiB,EAAM,CACxB,OAAIA,EAAK,CAAC,IAAM,gBACP,KAAK,mBAAmBA,CAAI,EAE9B,KAAK,oBAAoBA,CAAI,CACrC,CACD,mBAAmBA,EAAM,CACvB,MAAM5O,EAAQ4O,EAAK,CAAC,EACd1X,EAAe0X,EAAK,CAAC,EACrB+P,EAAS/P,EAAK,CAAC,GAAK1T,EAAM,gBAC1B,CAACnO,EAAIC,EAAIC,EAAIC,CAAE,EAAI0hB,EAAK,CAAC,EACzBuW,EAAQvW,EAAK,CAAC,EACdwW,GAAQxW,EAAK,CAAC,EACdyW,EAAYzW,EAAK,CAAC,EAClBkiC,GAAW,UAAUV,MACrB,CAACW,GAAKC,GAAKC,GAAKC,EAAG,EAAIh2C,EAAM,KAAK,cAAc,CAAC,GAAGA,EAAM,KAAK,eAAe,CAACnO,EAAIC,CAAE,EAAG2xB,CAAM,EAAG,GAAGzjB,EAAM,KAAK,eAAe,CAACjO,EAAIC,CAAE,EAAGyxB,CAAM,CAAC,CAAC,EAChJ,CAACwyB,EAAQC,EAAM,EAAIl2C,EAAM,KAAK,8BAA8ByjB,CAAM,EAClE0yB,GAASlsB,EAAQgsB,EACjBG,EAASlsB,GAAQgsB,GACjBG,EAAS,KAAK,WAAW,cAAc,aAAa,EAC1DA,EAAO,eAAe,KAAM,KAAMT,EAAQ,EAC1CS,EAAO,eAAe,KAAM,eAAgB,gBAAgB,EAC5DA,EAAO,eAAe,KAAM,QAASF,EAAM,EAC3CE,EAAO,eAAe,KAAM,SAAUD,CAAM,EAC5CC,EAAO,eAAe,KAAM,IAAK,GAAGR,IAAK,EACzCQ,EAAO,eAAe,KAAM,IAAK,GAAGP,IAAK,EACzC,MAAM1pC,EAAM,KAAK,IACX+oC,EAAkB,KAAK,gBACvBx3B,EAAY,KAAK,QAAQ,UACzBkC,EAAc,KAAK,QAAQ,YAC3BkE,GAAO,KAAK,WAAW,OAAOgyB,GAAMF,GAAKG,GAAMF,EAAG,EAGxD,GAFA,KAAK,IAAM/xB,GACX,KAAK,gBAAkBN,EACnB0G,IAAc,EAAG,CACnB,MAAMa,EAAWhrB,EAAM,KAAK,aAAa,GAAG8E,CAAK,EACjD,KAAK,QAAQ,UAAYkmB,EACzB,KAAK,QAAQ,YAAcA,EAE7B,YAAK,cAAc,KAAK,cAAchvB,CAAY,CAAC,EACnD,KAAK,IAAMoQ,EACX,KAAK,gBAAkB+oC,EACvB,KAAK,QAAQ,UAAYx3B,EACzB,KAAK,QAAQ,YAAckC,EAC3Bw2B,EAAO,OAAOtyB,GAAK,WAAW,CAAC,CAAC,EAChC,KAAK,KAAK,OAAOsyB,CAAM,EAChB,QAAQT,KAChB,CACD,oBAAoBliC,EAAM,CAIxB,OAHI,OAAOA,GAAS,WAClBA,EAAO,KAAK,KAAK,IAAIA,CAAI,GAEnBA,EAAK,CAAC,EAAC,CACb,IAAK,cACH,MAAM4iC,EAAY,UAAUpB,MACtBqB,EAAa7iC,EAAK,CAAC,EACzB,IAAI8iC,EACJ,OAAQ9iC,EAAK,CAAC,EAAC,CACb,IAAK,QACH,MAAM+iC,EAAS/iC,EAAK,CAAC,EACfgjC,EAAShjC,EAAK,CAAC,EACrB8iC,EAAW,KAAK,WAAW,cAAc,oBAAoB,EAC7DA,EAAS,eAAe,KAAM,KAAMF,CAAS,EAC7CE,EAAS,eAAe,KAAM,gBAAiB,gBAAgB,EAC/DA,EAAS,eAAe,KAAM,KAAMC,EAAO,CAAC,CAAC,EAC7CD,EAAS,eAAe,KAAM,KAAMC,EAAO,CAAC,CAAC,EAC7CD,EAAS,eAAe,KAAM,KAAME,EAAO,CAAC,CAAC,EAC7CF,EAAS,eAAe,KAAM,KAAME,EAAO,CAAC,CAAC,EAC7C,MACF,IAAK,SACH,MAAMC,EAAajjC,EAAK,CAAC,EACnBkjC,EAAcljC,EAAK,CAAC,EACpBmjC,EAAcnjC,EAAK,CAAC,EACpBojC,GAAepjC,EAAK,CAAC,EAC3B8iC,EAAW,KAAK,WAAW,cAAc,oBAAoB,EAC7DA,EAAS,eAAe,KAAM,KAAMF,CAAS,EAC7CE,EAAS,eAAe,KAAM,gBAAiB,gBAAgB,EAC/DA,EAAS,eAAe,KAAM,KAAMI,EAAY,CAAC,CAAC,EAClDJ,EAAS,eAAe,KAAM,KAAMI,EAAY,CAAC,CAAC,EAClDJ,EAAS,eAAe,KAAM,IAAKM,EAAY,EAC/CN,EAAS,eAAe,KAAM,KAAMG,EAAW,CAAC,CAAC,EACjDH,EAAS,eAAe,KAAM,KAAMG,EAAW,CAAC,CAAC,EACjDH,EAAS,eAAe,KAAM,KAAMK,CAAW,EAC/C,MACF,QACE,MAAM,IAAI,MAAM,6BAA6BnjC,EAAK,CAAC,GAAG,CACzD,CACD,UAAWkT,KAAa2vB,EAAY,CAClC,MAAMQ,EAAO,KAAK,WAAW,cAAc,UAAU,EACrDA,EAAK,eAAe,KAAM,SAAUnwB,EAAU,CAAC,CAAC,EAChDmwB,EAAK,eAAe,KAAM,aAAcnwB,EAAU,CAAC,CAAC,EACpD4vB,EAAS,OAAOO,CAAI,EAEtB,YAAK,KAAK,OAAOP,CAAQ,EAClB,QAAQF,KACjB,IAAK,OACH,SAAIt2C,EAAM,MAAM,4BAA4B,EACrC,KACT,IAAK,QACH,MAAO,UACT,QACE,MAAM,IAAI,MAAM,oBAAoB0T,EAAK,CAAC,GAAG,CAChD,CACF,CACD,QAAQiL,EAAWC,EAAW,CAC5B,KAAK,QAAQ,UAAYD,EACzB,KAAK,QAAQ,UAAYC,CAC1B,CACD,cAAcS,EAAK3L,EAAM,CACvB,MAAMD,EAAU,KAAK,QACrB,IAAIzR,EAAIyR,EAAQ,EACdxR,EAAIwR,EAAQ,EACV/iB,EAAI,CAAA,EACJiC,EAAI,EACR,UAAWyzB,KAAM/G,EACf,OAAQ+G,EAAK,EAAC,CACZ,KAAKpmB,EAAM,IAAI,UACbgC,EAAI0R,EAAK/gB,GAAG,EACZsP,EAAIyR,EAAK/gB,GAAG,EACZ,MAAMiM,EAAQ8U,EAAK/gB,GAAG,EAChBkM,GAAS6U,EAAK/gB,GAAG,EACjB+sB,EAAK1d,EAAIpD,EACT+gB,GAAK1d,EAAIpD,GACfnO,EAAE,KAAK,IAAK2hD,EAAGrwC,CAAC,EAAGqwC,EAAGpwC,CAAC,EAAG,IAAKowC,EAAG3yB,CAAE,EAAG2yB,EAAGpwC,CAAC,EAAG,IAAKowC,EAAG3yB,CAAE,EAAG2yB,EAAG1yB,EAAE,EAAG,IAAK0yB,EAAGrwC,CAAC,EAAGqwC,EAAG1yB,EAAE,EAAG,GAAG,EAC1F,MACF,KAAK3f,EAAM,IAAI,OACbgC,EAAI0R,EAAK/gB,GAAG,EACZsP,EAAIyR,EAAK/gB,GAAG,EACZjC,EAAE,KAAK,IAAK2hD,EAAGrwC,CAAC,EAAGqwC,EAAGpwC,CAAC,CAAC,EACxB,MACF,KAAKjC,EAAM,IAAI,OACbgC,EAAI0R,EAAK/gB,GAAG,EACZsP,EAAIyR,EAAK/gB,GAAG,EACZjC,EAAE,KAAK,IAAK2hD,EAAGrwC,CAAC,EAAGqwC,EAAGpwC,CAAC,CAAC,EACxB,MACF,KAAKjC,EAAM,IAAI,QACbgC,EAAI0R,EAAK/gB,EAAI,CAAC,EACdsP,EAAIyR,EAAK/gB,EAAI,CAAC,EACdjC,EAAE,KAAK,IAAK2hD,EAAG3+B,EAAK/gB,CAAC,CAAC,EAAG0/C,EAAG3+B,EAAK/gB,EAAI,CAAC,CAAC,EAAG0/C,EAAG3+B,EAAK/gB,EAAI,CAAC,CAAC,EAAG0/C,EAAG3+B,EAAK/gB,EAAI,CAAC,CAAC,EAAG0/C,EAAGrwC,CAAC,EAAGqwC,EAAGpwC,CAAC,CAAC,EACxFtP,GAAK,EACL,MACF,KAAKqN,EAAM,IAAI,SACbtP,EAAE,KAAK,IAAK2hD,EAAGrwC,CAAC,EAAGqwC,EAAGpwC,CAAC,EAAGowC,EAAG3+B,EAAK/gB,CAAC,CAAC,EAAG0/C,EAAG3+B,EAAK/gB,EAAI,CAAC,CAAC,EAAG0/C,EAAG3+B,EAAK/gB,EAAI,CAAC,CAAC,EAAG0/C,EAAG3+B,EAAK/gB,EAAI,CAAC,CAAC,CAAC,EACxFqP,EAAI0R,EAAK/gB,EAAI,CAAC,EACdsP,EAAIyR,EAAK/gB,EAAI,CAAC,EACdA,GAAK,EACL,MACF,KAAKqN,EAAM,IAAI,SACbgC,EAAI0R,EAAK/gB,EAAI,CAAC,EACdsP,EAAIyR,EAAK/gB,EAAI,CAAC,EACdjC,EAAE,KAAK,IAAK2hD,EAAG3+B,EAAK/gB,CAAC,CAAC,EAAG0/C,EAAG3+B,EAAK/gB,EAAI,CAAC,CAAC,EAAG0/C,EAAGrwC,CAAC,EAAGqwC,EAAGpwC,CAAC,EAAGowC,EAAGrwC,CAAC,EAAGqwC,EAAGpwC,CAAC,CAAC,EACpEtP,GAAK,EACL,MACF,KAAKqN,EAAM,IAAI,UACbtP,EAAE,KAAK,GAAG,EACV,KACH,CAEHA,EAAIA,EAAE,KAAK,GAAG,EACV+iB,EAAQ,MAAQ4L,EAAI,OAAS,GAAKA,EAAI,CAAC,IAAMrf,EAAM,IAAI,WAAaqf,EAAI,CAAC,IAAMrf,EAAM,IAAI,OAC3FtP,EAAI+iB,EAAQ,KAAK,eAAe,KAAM,GAAG,EAAI/iB,GAE7C+iB,EAAQ,KAAO,KAAK,WAAW,cAAc,UAAU,EACvD,KAAK,sBAAuB,EAAC,OAAOA,EAAQ,IAAI,GAElDA,EAAQ,KAAK,eAAe,KAAM,IAAK/iB,CAAC,EACxC+iB,EAAQ,KAAK,eAAe,KAAM,OAAQ,MAAM,EAChDA,EAAQ,QAAUA,EAAQ,KAC1BA,EAAQ,gBAAgBzR,EAAGC,CAAC,CAC7B,CACD,SAAU,CACR,MAAMwR,EAAU,KAAK,QAErB,GADAA,EAAQ,KAAO,KACX,CAAC,KAAK,YACR,OAEF,GAAI,CAACA,EAAQ,QAAS,CACpB,KAAK,YAAc,KACnB,OAEF,MAAMujC,EAAS,WAAWhC,MACpBiC,EAAW,KAAK,WAAW,cAAc,cAAc,EAC7DA,EAAS,eAAe,KAAM,KAAMD,CAAM,EAC1CC,EAAS,eAAe,KAAM,YAAa3E,EAAG,KAAK,eAAe,CAAC,EACnE,MAAM4E,EAAczjC,EAAQ,QAAQ,UAAU,EAAI,EASlD,GARI,KAAK,cAAgB,UACvByjC,EAAY,eAAe,KAAM,YAAa,SAAS,EAEvDA,EAAY,eAAe,KAAM,YAAa,SAAS,EAEzD,KAAK,YAAc,KACnBD,EAAS,OAAOC,CAAW,EAC3B,KAAK,KAAK,OAAOD,CAAQ,EACrBxjC,EAAQ,cAAe,CACzBA,EAAQ,UAAY,KACpB,UAAW0jC,KAAQ,KAAK,WACtBA,EAAK,UAAY,KAEnBF,EAAS,eAAe,KAAM,YAAaxjC,EAAQ,aAAa,EAElEA,EAAQ,cAAgB,QAAQujC,KAChC,KAAK,KAAO,IACb,CACD,KAAK34C,EAAM,CACT,KAAK,YAAcA,CACpB,CACD,WAAY,CACV,MAAMoV,EAAU,KAAK,QACrB,GAAIA,EAAQ,KAAM,CAChB,MAAM/iB,EAAI,GAAG+iB,EAAQ,KAAK,eAAe,KAAM,GAAG,KAClDA,EAAQ,KAAK,eAAe,KAAM,IAAK/iB,CAAC,EAE3C,CACD,WAAWuvB,EAAS,CAClB,KAAK,QAAQ,QAAU,CAACA,CACzB,CACD,YAAYm3B,EAAU,CACpB,KAAK,QAAQ,SAAWA,CACzB,CACD,qBAAqB12B,EAAmB,CACtC,KAAK,QAAQ,kBAAoBA,CAClC,CACD,UAAUh3B,EAAO,CACf,KAAK,QAAQ,WAAaA,EAAQ,GACnC,CACD,mBAAmBwP,EAAQ,CAAE,CAC7B,YAAY2lB,EAAU,CAAE,CACxB,UAAUC,EAAQ,CAChB,SAAW,CAACxvB,EAAKxB,CAAK,IAAKgxB,EACzB,OAAQxvB,EAAG,CACT,IAAK,KACH,KAAK,aAAaxB,CAAK,EACvB,MACF,IAAK,KACH,KAAK,WAAWA,CAAK,EACrB,MACF,IAAK,KACH,KAAK,YAAYA,CAAK,EACtB,MACF,IAAK,KACH,KAAK,cAAcA,CAAK,EACxB,MACF,IAAK,IACH,KAAK,QAAQA,EAAM,CAAC,EAAGA,EAAM,CAAC,CAAC,EAC/B,MACF,IAAK,KACH,KAAK,mBAAmBA,CAAK,EAC7B,MACF,IAAK,KACH,KAAK,YAAYA,CAAK,EACtB,MACF,IAAK,OACH,KAAK,QAAQA,CAAK,EAClB,MACF,IAAK,KACH,KAAK,eAAeA,CAAK,EACzB,MACF,IAAK,KACH,KAAK,aAAaA,CAAK,EACvB,MACF,WACMkS,EAAM,MAAM,wCAAwC1Q,GAAK,EAC7D,KACH,CAEJ,CACD,MAAO,CACL,MAAMmkB,EAAU,KAAK,QACjBA,EAAQ,UACVA,EAAQ,QAAQ,eAAe,KAAM,OAAQA,EAAQ,SAAS,EAC9DA,EAAQ,QAAQ,eAAe,KAAM,eAAgBA,EAAQ,SAAS,EACtE,KAAK,QAAO,EAEf,CACD,QAAS,CACP,MAAMA,EAAU,KAAK,QACjBA,EAAQ,UACV,KAAK,qBAAqBA,EAAQ,OAAO,EACzCA,EAAQ,QAAQ,eAAe,KAAM,OAAQ,MAAM,EACnD,KAAK,QAAO,EAEf,CACD,qBAAqBtQ,EAASqyC,EAAiB,EAAG,CAChD,MAAM/hC,EAAU,KAAK,QACrB,IAAIkL,EAAYlL,EAAQ,UACpB+hC,IAAmB,GAAK72B,EAAU,OAAS,IAC7CA,EAAYA,EAAU,IAAI,SAAU7wB,EAAO,CACzC,OAAO0nD,EAAiB1nD,CAClC,CAAS,GAEHqV,EAAQ,eAAe,KAAM,SAAUsQ,EAAQ,WAAW,EAC1DtQ,EAAQ,eAAe,KAAM,iBAAkBsQ,EAAQ,WAAW,EAClEtQ,EAAQ,eAAe,KAAM,oBAAqBkvC,EAAG5+B,EAAQ,UAAU,CAAC,EACxEtQ,EAAQ,eAAe,KAAM,iBAAkBsQ,EAAQ,OAAO,EAC9DtQ,EAAQ,eAAe,KAAM,kBAAmBsQ,EAAQ,QAAQ,EAChEtQ,EAAQ,eAAe,KAAM,eAAgBkvC,EAAGmD,EAAiB/hC,EAAQ,SAAS,EAAI,IAAI,EAC1FtQ,EAAQ,eAAe,KAAM,mBAAoBwb,EAAU,IAAI0zB,CAAE,EAAE,KAAK,GAAG,CAAC,EAC5ElvC,EAAQ,eAAe,KAAM,oBAAqBkvC,EAAGmD,EAAiB/hC,EAAQ,SAAS,EAAI,IAAI,CAChG,CACD,QAAS,QACP/b,EAAA,KAAK,QAAQ,UAAb,MAAAA,EAAsB,eAAe,KAAM,YAAa,WACxD,KAAK,KAAI,CACV,CACD,YAAa,CACX,KAAK,OAAM,EACX,KAAK,KAAI,CACV,CACD,cAAe,QACbA,EAAA,KAAK,QAAQ,UAAb,MAAAA,EAAsB,eAAe,KAAM,YAAa,WACxD,KAAK,WAAU,CAChB,CACD,aAAc,CACZ,KAAK,UAAS,EACd,KAAK,OAAM,CACZ,CACD,iBAAkB,CAChB,KAAK,UAAS,EACd,KAAK,WAAU,CAChB,CACD,mBAAoB,CAClB,KAAK,UAAS,EACd,KAAK,aAAY,CAClB,CACD,0BAA2B,CACzB,MAAMpG,EAAO,KAAK,WAAW,cAAc,UAAU,EACrDA,EAAK,eAAe,KAAM,IAAK,GAAG,EAClCA,EAAK,eAAe,KAAM,IAAK,GAAG,EAClCA,EAAK,eAAe,KAAM,QAAS,KAAK,EACxCA,EAAK,eAAe,KAAM,SAAU,KAAK,EACzCA,EAAK,eAAe,KAAM,OAAQ,KAAK,QAAQ,SAAS,EACxD,KAAK,sBAAqB,EAAG,OAAOA,CAAI,CACzC,CACD,kBAAkB8N,EAAO,CACvB,MAAM+W,EAAU,KAAK,UAAU/W,CAAK,EACpC,GAAI,CAAC+W,EAAS,IACRnW,EAAM,MAAM,kCAAkCZ,oBAAwB,EAC1E,OAEF,KAAK,wBAAwB+W,CAAO,CACrC,CACD,wBAAwBA,EAASS,EAAM,CACrC,MAAMhY,EAAQuX,EAAQ,MAChBtX,EAASsX,EAAQ,OACjBkhC,EAAShE,EAAoBl9B,EAAS,KAAK,gBAAiB,CAAC,CAACS,CAAI,EAClE0gC,EAAW,KAAK,WAAW,cAAc,UAAU,EACzDA,EAAS,eAAe,KAAM,IAAK,GAAG,EACtCA,EAAS,eAAe,KAAM,IAAK,GAAG,EACtCA,EAAS,eAAe,KAAM,QAASjF,EAAGzzC,CAAK,CAAC,EAChD04C,EAAS,eAAe,KAAM,SAAUjF,EAAGxzC,CAAM,CAAC,EAClD,KAAK,QAAQ,QAAUy4C,EACvB,KAAK,KAAK,SAAS,EACnB,MAAMC,EAAQ,KAAK,WAAW,cAAc,WAAW,EACvDA,EAAM,eAAe9E,EAAU,aAAc4E,CAAM,EACnDE,EAAM,eAAe,KAAM,IAAK,GAAG,EACnCA,EAAM,eAAe,KAAM,IAAKlF,EAAG,CAACxzC,CAAM,CAAC,EAC3C04C,EAAM,eAAe,KAAM,QAASlF,EAAGzzC,CAAK,EAAI,IAAI,EACpD24C,EAAM,eAAe,KAAM,SAAUlF,EAAGxzC,CAAM,EAAI,IAAI,EACtD04C,EAAM,eAAe,KAAM,YAAa,SAASlF,EAAG,EAAIzzC,CAAK,KAAKyzC,EAAG,GAAKxzC,CAAM,IAAI,EAChF+X,EACFA,EAAK,OAAO2gC,CAAK,EAEjB,KAAK,sBAAqB,EAAG,OAAOA,CAAK,CAE5C,CACD,sBAAsBv6B,EAAK,CACzB,MAAM7G,EAAU,KAAK,UAAU6G,EAAI,KAAMA,CAAG,EAC5C,GAAI7G,EAAQ,OAAQ,IACdnW,EAAM,MAAM,wIAA6I,EAC7J,OAEF,MAAMyT,EAAU,KAAK,QACf7U,EAAQuX,EAAQ,MAChBtX,EAASsX,EAAQ,OACjBwH,EAAYlK,EAAQ,UAC1BA,EAAQ,OAAS,OAAOwhC,MACxB,MAAMr+B,EAAO,KAAK,WAAW,cAAc,UAAU,EACrDA,EAAK,eAAe,KAAM,KAAMnD,EAAQ,MAAM,EAC9C,MAAMniB,EAAO,KAAK,WAAW,cAAc,UAAU,EACrDA,EAAK,eAAe,KAAM,IAAK,GAAG,EAClCA,EAAK,eAAe,KAAM,IAAK,GAAG,EAClCA,EAAK,eAAe,KAAM,QAAS+gD,EAAGzzC,CAAK,CAAC,EAC5CtN,EAAK,eAAe,KAAM,SAAU+gD,EAAGxzC,CAAM,CAAC,EAC9CvN,EAAK,eAAe,KAAM,OAAQqsB,CAAS,EAC3CrsB,EAAK,eAAe,KAAM,OAAQ,QAAQmiB,EAAQ,SAAS,EAC3D,KAAK,KAAK,OAAOmD,CAAI,EACrB,KAAK,sBAAqB,EAAG,OAAOtlB,CAAI,EACxC,KAAK,wBAAwB6kB,EAASS,CAAI,CAC3C,CACD,sBAAsB6M,EAAQM,EAAM,CAIlC,GAHI,MAAM,QAAQN,CAAM,GAAKA,EAAO,SAAW,GAC7C,KAAK,UAAUA,EAAO,CAAC,EAAGA,EAAO,CAAC,EAAGA,EAAO,CAAC,EAAGA,EAAO,CAAC,EAAGA,EAAO,CAAC,EAAGA,EAAO,CAAC,CAAC,EAE7EM,EAAM,CACR,MAAMnlB,EAAQmlB,EAAK,CAAC,EAAIA,EAAK,CAAC,EACxBllB,EAASklB,EAAK,CAAC,EAAIA,EAAK,CAAC,EACzBuzB,EAAW,KAAK,WAAW,cAAc,UAAU,EACzDA,EAAS,eAAe,KAAM,IAAKvzB,EAAK,CAAC,CAAC,EAC1CuzB,EAAS,eAAe,KAAM,IAAKvzB,EAAK,CAAC,CAAC,EAC1CuzB,EAAS,eAAe,KAAM,QAASjF,EAAGzzC,CAAK,CAAC,EAChD04C,EAAS,eAAe,KAAM,SAAUjF,EAAGxzC,CAAM,CAAC,EAClD,KAAK,QAAQ,QAAUy4C,EACvB,KAAK,KAAK,SAAS,EACnB,KAAK,QAAO,EAEf,CACD,qBAAsB,CAAE,CACxB,YAAYj+C,EAAU,CACpB,MAAM+S,EAAM,KAAK,WAAW,OAAO/S,EAAS,MAAOA,EAAS,MAAM,EAC5Dm+C,EAAc,KAAK,WAAW,cAAc,UAAU,EAC5DprC,EAAI,OAAOorC,CAAW,EACtB,KAAK,KAAOA,EACZ,MAAMC,EAAY,KAAK,WAAW,cAAc,OAAO,EACvD,OAAAA,EAAU,eAAe,KAAM,YAAanF,EAAGj5C,EAAS,SAAS,CAAC,EAClE+S,EAAI,OAAOqrC,CAAS,EACpB,KAAK,IAAMA,EACJrrC,CACR,CACD,kBAAmB,CACjB,GAAI,CAAC,KAAK,QAAQ,UAAW,CAC3B,MAAMsrC,EAAY,KAAK,WAAW,cAAc,OAAO,EACvDA,EAAU,eAAe,KAAM,YAAa,KAAK,QAAQ,aAAa,EACtE,KAAK,IAAI,OAAOA,CAAS,EACzB,KAAK,QAAQ,UAAYA,EAE3B,OAAO,KAAK,QAAQ,SACrB,CACD,uBAAwB,CACtB,OAAK,KAAK,OACR,KAAK,KAAO,KAAK,WAAW,cAAc,OAAO,EACjD,KAAK,KAAK,eAAe,KAAM,YAAapF,EAAG,KAAK,eAAe,CAAC,EAChE,KAAK,QAAQ,cACf,KAAK,iBAAkB,EAAC,OAAO,KAAK,IAAI,EAExC,KAAK,IAAI,OAAO,KAAK,IAAI,GAGtB,KAAK,IACb,CACL,CACC,CAEM,CACP,EAGc,yBAA2B,CAAA,EAG/B,SAAS,oBAAoBqF,EAAU,CAEtC,IAAIC,EAAe,yBAAyBD,CAAQ,EACpD,GAAIC,IAAiB,OACpB,OAAOA,EAAa,QAGrB,IAAI7V,EAAS,yBAAyB4V,CAAQ,EAAI,CAGjD,QAAS,CAAE,CACvB,EAGW,2BAAoBA,CAAQ,EAAE5V,EAAQA,EAAO,QAAS,mBAAmB,EAGlEA,EAAO,OACd,CAGX,IAAI,oBAAsB,CAAA,EAE1B,OAAC,IAAM,CACP,IAAI93C,EAAU,oBAGd,OAAO,eAAeA,EAAS,aAAe,CAC5C,MAAO,EACT,GACA,OAAO,eAAeA,EAAS,iBAAmB,CAChD,WAAY,GACZ,IAAK,UAAY,CACf,OAAO+V,EAAM,cACd,CACH,GACA,OAAO,eAAe/V,EAAS,wBAA0B,CACvD,WAAY,GACZ,IAAK,UAAY,CACf,OAAO4tD,GAAyB,qBACjC,CACH,GACA,OAAO,eAAe5tD,EAAS,6BAA+B,CAC5D,WAAY,GACZ,IAAK,UAAY,CACf,OAAO+V,EAAM,0BACd,CACH,GACA,OAAO,eAAe/V,EAAS,uBAAyB,CACtD,WAAY,GACZ,IAAK,UAAY,CACf,OAAO+V,EAAM,oBACd,CACH,GACA,OAAO,eAAe/V,EAAS,4BAA8B,CAC3D,WAAY,GACZ,IAAK,UAAY,CACf,OAAOgX,EAAO,yBACf,CACH,GACA,OAAO,eAAehX,EAAS,kBAAoB,CACjD,WAAY,GACZ,IAAK,UAAY,CACf,OAAO6tD,EAAkB,eAC1B,CACH,GACA,OAAO,eAAe7tD,EAAS,iBAAmB,CAChD,WAAY,GACZ,IAAK,UAAY,CACf,OAAO+V,EAAM,cACd,CACH,GACA,OAAO,eAAe/V,EAAS,sBAAwB,CACrD,WAAY,GACZ,IAAK,UAAY,CACf,OAAO+V,EAAM,mBACd,CACH,GACA,OAAO,eAAe/V,EAAS,cAAgB,CAC7C,WAAY,GACZ,IAAK,UAAY,CACf,OAAO+V,EAAM,WACd,CACH,GACA,OAAO,eAAe/V,EAAS,sBAAwB,CACrD,WAAY,GACZ,IAAK,UAAY,CACf,OAAO8tD,EAAgB,mBACxB,CACH,GACA,OAAO,eAAe9tD,EAAS,sBAAwB,CACrD,WAAY,GACZ,IAAK,UAAY,CACf,OAAO+V,EAAM,mBACd,CACH,GACA,OAAO,eAAe/V,EAAS,sBAAwB,CACrD,WAAY,GACZ,IAAK,UAAY,CACf,OAAO+V,EAAM,mBACd,CACH,GACA,OAAO,eAAe/V,EAAS,MAAQ,CACrC,WAAY,GACZ,IAAK,UAAY,CACf,OAAO+V,EAAM,GACd,CACH,GACA,OAAO,eAAe/V,EAAS,wBAA0B,CACvD,WAAY,GACZ,IAAK,UAAY,CACf,OAAO+tD,EAAK,qBACb,CACH,GACA,OAAO,eAAe/tD,EAAS,gBAAkB,CAC/C,WAAY,GACZ,IAAK,UAAY,CACf,OAAOiZ,EAAe,aACvB,CACH,GACA,OAAO,eAAejZ,EAAS,YAAc,CAC3C,WAAY,GACZ,IAAK,UAAY,CACf,OAAO+tD,EAAK,SACb,CACH,GACA,OAAO,eAAe/tD,EAAS,oBAAsB,CACnD,WAAY,GACZ,IAAK,UAAY,CACf,OAAO+V,EAAM,iBACd,CACH,GACA,OAAO,eAAe/V,EAAS,iBAAmB,CAChD,WAAY,GACZ,IAAK,UAAY,CACf,OAAO+V,EAAM,cACd,CACH,GACA,OAAO,eAAe/V,EAAS,gBAAkB,CAC/C,WAAY,GACZ,IAAK,UAAY,CACf,OAAOiZ,EAAe,aACvB,CACH,GACA,OAAO,eAAejZ,EAAS,oBAAsB,CACnD,WAAY,GACZ,IAAK,UAAY,CACf,OAAO+V,EAAM,iBACd,CACH,GACA,OAAO,eAAe/V,EAAS,8BAAgC,CAC7D,WAAY,GACZ,IAAK,UAAY,CACf,OAAOiZ,EAAe,2BACvB,CACH,GACA,OAAO,eAAejZ,EAAS,cAAgB,CAC7C,WAAY,GACZ,IAAK,UAAY,CACf,OAAOguD,EAAK,WACb,CACH,GACA,OAAO,eAAehuD,EAAS,8BAAgC,CAC7D,WAAY,GACZ,IAAK,UAAY,CACf,OAAO+V,EAAM,2BACd,CACH,GACA,OAAO,eAAe/V,EAAS,OAAS,CACtC,WAAY,GACZ,IAAK,UAAY,CACf,OAAO+V,EAAM,IACd,CACH,GACA,OAAO,eAAe/V,EAAS,iBAAmB,CAChD,WAAY,GACZ,IAAK,UAAY,CACf,OAAO+V,EAAM,cACd,CACH,GACA,OAAO,eAAe/V,EAAS,WAAa,CAC1C,WAAY,GACZ,IAAK,UAAY,CACf,OAAO28C,EAAW,QACnB,CACH,GACA,OAAO,eAAe38C,EAAS,QAAU,CACvC,WAAY,GACZ,IAAK,UAAY,CACf,OAAO+tD,EAAK,KACb,CACH,GACA,OAAO,eAAe/tD,EAAS,yBAA2B,CACxD,WAAY,GACZ,IAAK,UAAY,CACf,OAAO+V,EAAM,sBACd,CACH,GACA,OAAO,eAAe/V,EAAS,cAAgB,CAC7C,WAAY,GACZ,IAAK,UAAY,CACf,OAAO+tD,EAAK,WACb,CACH,GACA,OAAO,eAAe/tD,EAAS,qBAAuB,CACpD,WAAY,GACZ,IAAK,UAAY,CACf,OAAOiZ,EAAe,kBACvB,CACH,GACA,OAAO,eAAejZ,EAAS,wBAA0B,CACvD,WAAY,GACZ,IAAK,UAAY,CACf,OAAOiZ,EAAe,qBACvB,CACH,GACA,OAAO,eAAejZ,EAAS,qBAAuB,CACpD,WAAY,GACZ,IAAK,UAAY,CACf,OAAOiZ,EAAe,kBACvB,CACH,GACA,OAAO,eAAejZ,EAAS,eAAiB,CAC9C,WAAY,GACZ,IAAK,UAAY,CACf,OAAOiZ,EAAe,YACvB,CACH,GACA,OAAO,eAAejZ,EAAS,YAAc,CAC3C,WAAY,GACZ,IAAK,UAAY,CACf,OAAOiZ,EAAe,SACvB,CACH,GACA,OAAO,eAAejZ,EAAS,aAAe,CAC5C,WAAY,GACZ,IAAK,UAAY,CACf,OAAOiZ,EAAe,UACvB,CACH,GACA,OAAO,eAAejZ,EAAS,mBAAqB,CAClD,WAAY,GACZ,IAAK,UAAY,CACf,OAAO+V,EAAM,gBACd,CACH,GACA,OAAO,eAAe/V,EAAS,kBAAoB,CACjD,WAAY,GACZ,IAAK,UAAY,CACf,OAAOiuD,EAAY,eACpB,CACH,GACA,OAAO,eAAejuD,EAAS,qBAAuB,CACpD,WAAY,GACZ,IAAK,UAAY,CACf,OAAOiZ,EAAe,kBACvB,CACH,GACA,OAAO,eAAejZ,EAAS,SAAW,CACxC,WAAY,GACZ,IAAK,UAAY,CACf,OAAO+V,EAAM,MACd,CACH,GACA,OAAO,eAAe/V,EAAS,kBAAoB,CACjD,WAAY,GACZ,IAAK,UAAY,CACf,OAAOiuD,EAAY,eACpB,CACH,GACA,OAAO,eAAejuD,EAAS,UAAY,CACzC,WAAY,GACZ,IAAK,UAAY,CACf,OAAO+tD,EAAK,OACb,CACH,GACA,IAAIh4C,EAAQ,oBAAoB,CAAC,EAC7Bg4C,EAAO,oBAAoB,CAAC,EAC5B90C,EAAiB,oBAAoB,CAAC,EACtCg1C,EAAc,oBAAoB,EAAE,EACpCL,GAA2B,oBAAoB,EAAE,EACjD52C,EAAS,oBAAoB,CAAC,EAC9B62C,EAAoB,oBAAoB,EAAE,EAC1CC,EAAkB,oBAAoB,EAAE,EACxCE,EAAO,oBAAoB,EAAE,EAC7BrR,EAAa,oBAAoB,EAAE,CAGvC,KAEiB,mBACjB,GAAa,CAEZ,kLC/nfA,SAA0C98C,EAAMC,EAAS,CAExDg4C,EAAA,QAAiBh4C,GAOlB,GAAE,WAAY,KACE,IAAM,CAEb,IAAIouD,EAAuB,CACrC,CAEO,CAACnuD,EAAyBC,EAAS8V,IAAwB,iBAIlE,OAAO,eAAe9V,EAAS,aAAe,CAC5C,MAAO,EACT,GACAA,EAAQ,kBAAoBA,EAAQ,eAAiBA,EAAQ,WAAa,OAC1E,IAAImuD,EAAYr4C,EAAoB,CAAC,EACrC,MAAMs4C,EAAmB,+BACnBC,EAAa,CACjB,KAAM,EACN,KAAM,EACN,MAAO,EACP,OAAQ,EACR,IAAK,CACP,EACAruD,EAAQ,WAAaquD,EACrB,SAASC,EAAkB1N,EAAM,CAC/B,IAAAlhD,EACA,OAAAoY,EACA,IAAAy2C,EACA,QAAAx3B,EAAU,EACX,EAAG,GAAI,CACN,GAAI,CAACr3B,GAAO,OAAOA,GAAQ,SACzB,MAAM,IAAI,MAAM,wCAAwC,EAE1D,MAAM8uD,KAAqBL,EAAU,sBAAsBzuD,CAAG,EAC1Dq3B,EACF6pB,EAAK,KAAOA,EAAK,MAAQ4N,GAEzB5N,EAAK,KAAO,GACZA,EAAK,MAAQ,aAAa4N,IAC1B5N,EAAK,QAAU,IACN,IAGX,IAAI6N,EAAY,GAChB,OAAQ32C,EAAM,CACZ,KAAKu2C,EAAW,KACd,MACF,KAAKA,EAAW,KACdI,EAAY,QACZ,MACF,KAAKJ,EAAW,MACdI,EAAY,SACZ,MACF,KAAKJ,EAAW,OACdI,EAAY,UACZ,MACF,KAAKJ,EAAW,IACdI,EAAY,OACZ,KACH,CACD7N,EAAK,OAAS6N,EACd7N,EAAK,IAAM,OAAO2N,GAAQ,SAAWA,EAAMH,CAC5C,CACD,MAAMM,EAAN,KAAqB,CAEnB,YAAY,CACV,SAAAvzC,EACA,mBAAAwzC,EAAqB,KACrB,gBAAAC,EAAkB,KAClB,sBAAAC,EAAwB,EACzB,EAAG,GAAI,CAwCRrlD,EAAA,KAAAslD,GA9CAtlD,EAAA,KAAAulD,EAAiB,IAAI,KAOnB,KAAK,SAAW5zC,EAChB,KAAK,mBAAqBwzC,EAC1B,KAAK,gBAAkBC,EACvB,KAAK,oBAAsB,GAC3B,KAAK,uBAAyBC,EAC9B,KAAK,QAAU,KACf,KAAK,YAAc,KACnB,KAAK,UAAY,KACjB,KAAK,WAAa,IACnB,CACD,YAAYG,EAAazrD,EAAU,KAAM,CACvC,KAAK,QAAUA,EACf,KAAK,YAAcyrD,EACnBjlD,EAAA,KAAKglD,GAAe,OACrB,CACD,UAAUE,EAAW,CACnB,KAAK,UAAYA,CAClB,CACD,WAAWC,EAAY,CACrB,KAAK,WAAaA,CACnB,CACD,IAAI,YAAa,CACf,OAAO,KAAK,YAAc,KAAK,YAAY,SAAW,CACvD,CACD,IAAI,MAAO,CACT,OAAO,KAAK,UAAU,iBACvB,CACD,IAAI,KAAKrrD,EAAO,CACd,KAAK,UAAU,kBAAoBA,CACpC,CACD,IAAI,UAAW,CACb,OAAO,KAAK,UAAU,aACvB,CACD,IAAI,SAASA,EAAO,CAClB,KAAK,UAAU,cAAgBA,CAChC,CACD,IAAI,sBAAuB,CACzB,OAAO,KAAK,UAAU,oBACvB,CAuCD,MAAM,gBAAgBmqB,EAAM,CAC1B,GAAI,CAAC,KAAK,YACR,OAEF,IAAImhC,EAAWC,EAQf,GAPI,OAAOphC,GAAS,UAClBmhC,EAAYnhC,EACZohC,EAAe,MAAM,KAAK,YAAY,eAAephC,CAAI,IAEzDmhC,EAAY,KACZC,EAAe,MAAMphC,GAEnB,CAAC,MAAM,QAAQohC,CAAY,EAAG,CAChC,QAAQ,MAAM,oCAAoCA,kDAAkEphC,KAAQ,EAC5H,OAEFpe,EAAA,KAAKk/C,EAAAO,IAAL,UAA4BrhC,EAAMmhC,EAAWC,EAC9C,CACD,SAAS/hD,EAAK,CACZ,GAAI,CAAC,KAAK,YACR,OAEF,MAAMc,EAAa,OAAOd,GAAQ,UAAY,KAAK,UAAU,sBAAsBA,CAAG,GAAKA,EAAM,EACjG,GAAI,EAAE,OAAO,UAAUc,CAAU,GAAKA,EAAa,GAAKA,GAAc,KAAK,YAAa,CACtF,QAAQ,MAAM,6BAA6Bd,yBAA2B,EACtE,OAEE,KAAK,aACP,KAAK,WAAW,sBAChB,KAAK,WAAW,SAASc,CAAU,GAErC,KAAK,UAAU,mBAAmB,CAChC,WAAAA,CACN,CAAK,CACF,CACD,kBAAkByyC,EAAMlhD,EAAK4vD,EAAY,GAAO,CAC9ChB,EAAkB1N,EAAM,CACtB,IAAAlhD,EACA,OAAQ4vD,EAAYjB,EAAW,MAAQ,KAAK,mBAC5C,IAAK,KAAK,gBACV,QAAS,KAAK,mBACpB,CAAK,CACF,CACD,mBAAmBrgC,EAAM,CACvB,GAAI,OAAOA,GAAS,UAClB,GAAIA,EAAK,OAAS,EAChB,OAAO,KAAK,aAAa,IAAM,OAAOA,CAAI,CAAC,UAEpC,MAAM,QAAQA,CAAI,EAAG,CAC9B,MAAM7oB,EAAM,KAAK,UAAU6oB,CAAI,EAC/B,GAAI7oB,EAAI,OAAS,EACf,OAAO,KAAK,aAAa,IAAM,OAAOA,CAAG,CAAC,EAG9C,OAAO,KAAK,aAAa,EAAE,CAC5B,CACD,aAAaoqD,EAAQ,CACnB,OAAO,KAAK,QAAU,KAAK,QAAUA,EAASA,CAC/C,CACD,QAAQ14C,EAAM,OACZ,GAAI,CAAC,KAAK,YACR,OAEF,IAAI1I,EAAY6f,EAChB,GAAInX,EAAK,SAAS,GAAG,EAAG,CACtB,MAAMlX,KAAawuD,EAAU,kBAAkBt3C,CAAI,EACnD,GAAIlX,EAAO,IAAI,QAAQ,EAAG,CACxB,MAAM6vD,EAAQ7vD,EAAO,IAAI,QAAQ,EAAE,WAAW,IAAK,EAAE,EACnD8vD,EAAS9vD,EAAO,IAAI,QAAQ,IAAM,OACpC,KAAK,SAAS,SAAS,kBAAmB,CACxC,OAAQ,KACR,MAAO8vD,EAASD,EAAQA,EAAM,MAAM,MAAM,CACpD,CAAS,EAKH,GAHI7vD,EAAO,IAAI,MAAM,IACnBwO,EAAaxO,EAAO,IAAI,MAAM,EAAI,GAAK,GAErCA,EAAO,IAAI,MAAM,EAAG,CACtB,MAAM+vD,EAAW/vD,EAAO,IAAI,MAAM,EAAE,MAAM,GAAG,EACvCgwD,EAAUD,EAAS,CAAC,EACpBE,EAAgB,WAAWD,CAAO,EACnCA,EAAQ,SAAS,KAAK,EAKrBA,IAAY,OAASA,IAAY,OACnC3hC,EAAO,CAAC,KAAM,CACZ,KAAM2hC,CACpB,CAAa,EACQA,IAAY,QAAUA,IAAY,SAAWA,IAAY,QAAUA,IAAY,QACxF3hC,EAAO,CAAC,KAAM,CACZ,KAAM2hC,CACpB,EAAeD,EAAS,OAAS,EAAIA,EAAS,CAAC,EAAI,EAAI,IAAI,EACtCC,IAAY,OACjBD,EAAS,SAAW,EACtB,QAAQ,MAAM,2DAA2D,EAEzE1hC,EAAO,CAAC,KAAM,CACZ,KAAM2hC,CACtB,EAAiBD,EAAS,CAAC,EAAI,EAAGA,EAAS,CAAC,EAAI,EAAGA,EAAS,CAAC,EAAI,EAAGA,EAAS,CAAC,EAAI,CAAC,EAGvE,QAAQ,MAAM,4BAA4BC,+BAAqC,EArBjF3hC,EAAO,CAAC,KAAM,CACZ,KAAM,KAClB,EAAa0hC,EAAS,OAAS,EAAIA,EAAS,CAAC,EAAI,EAAI,KAAMA,EAAS,OAAS,EAAIA,EAAS,CAAC,EAAI,EAAI,KAAME,EAAgBA,EAAgB,IAAMD,CAAO,EAuB5I3hC,EACF,KAAK,UAAU,mBAAmB,CAChC,WAAY7f,GAAc,KAAK,KAC/B,UAAW6f,EACX,oBAAqB,EAC/B,CAAS,EACQ7f,IACT,KAAK,KAAOA,GAEVxO,EAAO,IAAI,UAAU,GACvB,KAAK,SAAS,SAAS,WAAY,CACjC,OAAQ,KACR,KAAMA,EAAO,IAAI,UAAU,CACrC,CAAS,EAECA,EAAO,IAAI,WAAW,GACxB,KAAK,gBAAgBA,EAAO,IAAI,WAAW,CAAC,MAEzC,CACLquB,EAAO,SAASnX,CAAI,EACpB,GAAI,CACFmX,EAAO,KAAK,MAAMA,CAAI,EACjB,MAAM,QAAQA,CAAI,IACrBA,EAAOA,EAAK,WAEtB,MAAQ,CAAa,CACf,GAAI,OAAOA,GAAS,UAAYpe,EAAAnC,EAAAihD,EAAemB,EAAAC,IAAf,KAAAriD,EAA2CugB,GAAO,CAChF,KAAK,gBAAgBA,CAAI,EACzB,OAEF,QAAQ,MAAM,4BAA4B,SAASnX,CAAI,gCAAgC,EAE1F,CACD,mBAAmBmsB,EAAQ,SACzB,OAAQA,EAAM,CACZ,IAAK,UACHv1B,EAAA,KAAK,aAAL,MAAAA,EAAiB,OACjB,MACF,IAAK,aACHkC,EAAA,KAAK,aAAL,MAAAA,EAAiB,UACjB,MACF,IAAK,WACH,KAAK,UAAU,WACf,MACF,IAAK,WACH,KAAK,UAAU,eACf,MACF,IAAK,WACH,KAAK,KAAO,KAAK,WACjB,MACF,IAAK,YACH,KAAK,KAAO,EACZ,KAGH,CACD,KAAK,SAAS,SAAS,cAAe,CACpC,OAAQ,KACR,OAAAqzB,CACN,CAAK,CACF,CACD,MAAM,mBAAmBA,EAAQ,CAC/B,MAAMgsB,EAAc,KAAK,YACnBz+C,EAAwB,MAAM,KAAK,UAAU,6BACnD,GAAIy+C,IAAgB,KAAK,YACvB,OAEF,IAAIzpB,EACJ,UAAW7Y,KAAQsW,EAAO,MAAO,CAC/B,OAAQtW,EAAI,CACV,IAAK,KACL,IAAK,MACL,IAAK,SACH6Y,EAAW7Y,EACX,QACH,CACD,OAAQ6Y,EAAQ,CACd,IAAK,KACHh1B,EAAsB,cAAcmc,EAAM,EAAI,EAC9C,MACF,IAAK,MACHnc,EAAsB,cAAcmc,EAAM,EAAK,EAC/C,MACF,IAAK,SACH,MAAMqN,EAAQxpB,EAAsB,SAASmc,CAAI,EAC7CqN,GACFxpB,EAAsB,cAAcmc,EAAM,CAACqN,EAAM,OAAO,EAE1D,KACH,EAEH,KAAK,UAAU,6BAA+B,QAAQ,QAAQxpB,CAAqB,CACpF,CACD,aAAaw/C,EAASC,EAAS,CAC7B,GAAI,CAACA,EACH,OAEF,MAAMC,EAASD,EAAQ,MAAQ,EAAI,GAAGA,EAAQ,OAAS,GAAGA,EAAQ,OAAOA,EAAQ,MACjFjmD,EAAA,KAAKglD,GAAe,IAAIkB,EAAQF,CAAO,CACxC,CACD,kBAAkBC,EAAS,CACzB,GAAI,CAACA,EACH,OAAO,KAET,MAAMC,EAASD,EAAQ,MAAQ,EAAI,GAAGA,EAAQ,OAAS,GAAGA,EAAQ,OAAOA,EAAQ,MACjF,OAAOjmD,EAAA,KAAKglD,GAAe,IAAIkB,CAAM,GAAK,IAC3C,CACD,cAAc9hD,EAAY,CACxB,OAAO,KAAK,UAAU,cAAcA,CAAU,CAC/C,CACD,aAAaA,EAAY,CACvB,OAAO,KAAK,UAAU,aAAaA,CAAU,CAC9C,CAoDF,EApWD,IAAM+hD,EAANxB,EACEK,EAAA,YA8CAD,EAAA,YAAAO,GAAsB,SAACc,EAAShB,EAAY,KAAMC,EAAc,CAC9D,MAAMgB,EAAUhB,EAAa,CAAC,EAC9B,IAAIjhD,EACJ,GAAI,OAAOiiD,GAAY,UAAYA,IAAY,MAE7C,GADAjiD,EAAa,KAAK,kBAAkBiiD,CAAO,EACvC,CAACjiD,EAAY,CACf,KAAK,YAAY,aAAaiiD,CAAO,EAAE,KAAK7hD,GAAa,CACvD,KAAK,aAAaA,EAAY,EAAG6hD,CAAO,EACxCxgD,EAAA,KAAKk/C,EAAAO,IAAL,UAA4Bc,EAAShB,EAAWC,EAC1D,CAAS,EAAE,MAAM,IAAM,CACb,QAAQ,MAAM,2CAA2CgB,+CAA0DD,KAAW,CACxI,CAAS,EACD,gBAEO,OAAO,UAAUC,CAAO,EACjCjiD,EAAaiiD,EAAU,MAClB,CACL,QAAQ,MAAM,2CAA2CA,sDAAiED,KAAW,EACrI,OAEF,GAAI,CAAChiD,GAAcA,EAAa,GAAKA,EAAa,KAAK,WAAY,CACjE,QAAQ,MAAM,2CAA2CA,4CAA0DgiD,KAAW,EAC9H,OAEE,KAAK,aACP,KAAK,WAAW,sBAChB,KAAK,WAAW,KAAK,CACnB,UAAAhB,EACA,aAAAC,EACA,WAAAjhD,CACR,CAAO,GAEH,KAAK,UAAU,mBAAmB,CAChC,WAAAA,EACA,UAAWihD,EACX,sBAAuB,KAAK,sBAClC,CAAK,CACF,EA6NMS,EAAA,YAAAC,GAA2B,SAAC9hC,EAAM,CACvC,GAAI,CAAC,MAAM,QAAQA,CAAI,EACrB,MAAO,GAET,MAAMqiC,EAAariC,EAAK,OACxB,GAAIqiC,EAAa,EACf,MAAO,GAET,MAAM38C,EAAOsa,EAAK,CAAC,EACnB,GAAI,EAAE,OAAOta,GAAS,UAAY,OAAO,UAAUA,EAAK,GAAG,GAAK,OAAO,UAAUA,EAAK,GAAG,IAAM,EAAE,OAAO,UAAUA,CAAI,GAAKA,GAAQ,GACjI,MAAO,GAET,MAAM48C,EAAOtiC,EAAK,CAAC,EACnB,GAAI,EAAE,OAAOsiC,GAAS,UAAY,OAAOA,EAAK,MAAS,UACrD,MAAO,GAET,IAAIC,EAAY,GAChB,OAAQD,EAAK,KAAI,CACf,IAAK,MACH,GAAID,IAAe,EACjB,MAAO,GAET,MACF,IAAK,MACL,IAAK,OACH,OAAOA,IAAe,EACxB,IAAK,OACL,IAAK,QACL,IAAK,OACL,IAAK,QACH,GAAIA,IAAe,EACjB,MAAO,GAET,MACF,IAAK,OACH,GAAIA,IAAe,EACjB,MAAO,GAETE,EAAY,GACZ,MACF,QACE,MAAO,EACV,CACD,QAASvrD,EAAI,EAAGA,EAAIqrD,EAAYrrD,IAAK,CACnC,MAAMy2C,EAAQztB,EAAKhpB,CAAC,EACpB,GAAI,EAAE,OAAOy2C,GAAU,UAAY8U,GAAa9U,IAAU,MACxD,MAAO,GAGX,MAAO,EACR,EAlDDjyC,EAjTI0mD,EAiTGL,GAoDT7vD,EAAQ,eAAiBkwD,EACzB,MAAMM,CAAkB,CACtB,aAAc,CACZ,KAAK,oBAAsB,EAC5B,CACD,IAAI,YAAa,CACf,MAAO,EACR,CACD,IAAI,MAAO,CACT,MAAO,EACR,CACD,IAAI,KAAK3sD,EAAO,CAAE,CAClB,IAAI,UAAW,CACb,MAAO,EACR,CACD,IAAI,SAASA,EAAO,CAAE,CACtB,IAAI,sBAAuB,CACzB,MAAO,EACR,CACD,MAAM,gBAAgBmqB,EAAM,CAAE,CAC9B,SAAS3gB,EAAK,CAAE,CAChB,kBAAkBuzC,EAAMlhD,EAAK4vD,EAAY,GAAO,CAC9ChB,EAAkB1N,EAAM,CACtB,IAAAlhD,EACA,QAAS,KAAK,mBACpB,CAAK,CACF,CACD,mBAAmBsuB,EAAM,CACvB,MAAO,GACR,CACD,aAAanX,EAAM,CACjB,MAAO,GACR,CACD,QAAQA,EAAM,CAAE,CAChB,mBAAmBmsB,EAAQ,CAAE,CAC7B,mBAAmBA,EAAQ,CAAE,CAC7B,aAAa+sB,EAASC,EAAS,CAAE,CACjC,cAAc7hD,EAAY,CACxB,MAAO,EACR,CACD,aAAaA,EAAY,CACvB,MAAO,EACR,CACF,CACDnO,EAAQ,kBAAoBwwD,CAErB,EAEA,CAACzwD,EAAyBC,IAAY,gBAI7C,OAAO,eAAeA,EAAS,aAAe,CAC5C,MAAO,EACT,GACAA,EAAQ,iBAAmBA,EAAQ,iBAAmBA,EAAQ,cAAgBA,EAAQ,cAAgBA,EAAQ,WAAaA,EAAQ,YAAcA,EAAQ,WAAaA,EAAQ,kBAAoBA,EAAQ,gBAAkBA,EAAQ,YAAcA,EAAQ,sBAAwBA,EAAQ,YAAcA,EAAQ,UAAYA,EAAQ,UAAYA,EAAQ,eAAiBA,EAAQ,oBAAsBA,EAAQ,oBAAsBA,EAAQ,cAAgBA,EAAQ,WAAaA,EAAQ,gBAAkB,OAC5eA,EAAQ,2BAA6BywD,EACrCzwD,EAAQ,yBAA2B0wD,EACnC1wD,EAAQ,oBAAsB2wD,GAC9B3wD,EAAQ,kCAAoC4wD,GAC5C5wD,EAAQ,sBAAwB6wD,EAChC7wD,EAAQ,SAAW,OACnBA,EAAQ,0BAA4B8wD,EACpC9wD,EAAQ,kBAAoB+wD,GAC5B/wD,EAAQ,mBAAqBgxD,GAC7BhxD,EAAQ,sBAAwBixD,EAChCjxD,EAAQ,gBAAkBkxD,EAC1BlxD,EAAQ,kBAAoBmxD,EAC5BnxD,EAAQ,kBAAoBoxD,EAC5BpxD,EAAQ,qBAAuBqxD,EAC/BrxD,EAAQ,yBAA2BsxD,GACnCtxD,EAAQ,6BAA+BuxD,GACvCvxD,EAAQ,iBAAmBwxD,EAC3BxxD,EAAQ,qBAAuByxD,GAC/BzxD,EAAQ,cAAgB0xD,GACxB1xD,EAAQ,eAAiB2xD,EACzB3xD,EAAQ,iBAAmB4xD,EAC3B5xD,EAAQ,YAAc6xD,EACtB,MAAMC,EAAsB,OAC5B9xD,EAAQ,oBAAsB8xD,EAC9B,MAAMC,EAAgB,EACtB/xD,EAAQ,cAAgB+xD,EACxB,MAAMC,EAAsB,IAC5BhyD,EAAQ,oBAAsBgyD,EAC9B,MAAMC,EAAY,GAClBjyD,EAAQ,UAAYiyD,EACpB,MAAMC,EAAY,GAClBlyD,EAAQ,UAAYkyD,EACpB,MAAMC,EAAgB,EACtBnyD,EAAQ,cAAgBmyD,EACxB,MAAMC,EAAiB,KACvBpyD,EAAQ,eAAiBoyD,EACzB,MAAMC,EAAoB,GAC1BryD,EAAQ,kBAAoBqyD,EAC5B,MAAMC,EAAmB,EACzBtyD,EAAQ,iBAAmBsyD,EAC3B,MAAMC,EAAkB,CACtB,QAAS,EACT,QAAS,EACT,OAAQ,EACR,SAAU,CACZ,EACAvyD,EAAQ,gBAAkBuyD,EAC1B,MAAMC,EAAwB,CAC5B,QAAS,EACT,OAAQ,EACR,SAAU,EACV,WAAY,CACd,EACAxyD,EAAQ,sBAAwBwyD,EAChC,MAAMC,EAAc,CAClB,QAAS,GACT,KAAM,EACN,OAAQ,EACR,QAAS,EACT,YAAa,EACb,OAAQ,CACV,EACAzyD,EAAQ,YAAcyyD,EACtB,MAAMC,EAAgB,CACpB,QAAS,EACT,OAAQ,EACR,mBAAoB,CACtB,EACA1yD,EAAQ,cAAgB0yD,EACxB,MAAMC,EAAa,CACjB,QAAS,GACT,SAAU,EACV,WAAY,EACZ,QAAS,EACT,KAAM,CACR,EACA3yD,EAAQ,WAAa2yD,EACrB,MAAMC,EAAa,CACjB,QAAS,GACT,KAAM,EACN,IAAK,EACL,KAAM,CACR,EACA5yD,EAAQ,WAAa4yD,EACrB,MAAMC,EAAa,CACjB,OAAQ,EACR,KAAM,EACN,KAAM,CACR,EACA7yD,EAAQ,WAAa6yD,EACrB,MAAMC,EAAkB,eACxB9yD,EAAQ,gBAAkB8yD,EAC1B,MAAMC,CAAY,CAChB,aAAc,CACZ,MAAMC,EAAa,OAAO,kBAAoB,EAC9C,KAAK,GAAKA,EACV,KAAK,GAAKA,CACX,CACD,IAAI,QAAS,CACX,OAAO,KAAK,KAAO,GAAK,KAAK,KAAO,CACrC,CACF,CACDhzD,EAAQ,YAAc+yD,EACtB,SAASpB,EAAez4C,EAAS+5C,EAAMC,GAAgB,GAAO,CAC5D,IAAIp8C,GAASoC,EAAQ,aACrB,GAAI,CAACpC,GAAQ,CACX,QAAQ,MAAM,0CAA0C,EACxD,OAEF,IAAI/H,GAAUmK,EAAQ,UAAYA,EAAQ,UACtCpK,GAAUoK,EAAQ,WAAaA,EAAQ,WAC3C,KAAOpC,GAAO,eAAiBA,GAAO,cAAgBA,GAAO,cAAgBA,GAAO,aAAeo8C,KAAkBp8C,GAAO,UAAU,SAAS,eAAe,GAAK,iBAAiBA,EAAM,EAAE,WAAa,WAIvM,GAHA/H,IAAW+H,GAAO,UAClBhI,IAAWgI,GAAO,WAClBA,GAASA,GAAO,aACZ,CAACA,GACH,OAGAm8C,IACEA,EAAK,MAAQ,SACflkD,IAAWkkD,EAAK,KAEdA,EAAK,OAAS,SAChBnkD,IAAWmkD,EAAK,KAChBn8C,GAAO,WAAahI,KAGxBgI,GAAO,UAAY/H,EACpB,CACD,SAAS8iD,EAAYsB,EAAiB/9C,EAAU,CAC9C,MAAMg+C,GAAiB,SAAUv/C,GAAK,CAChCw/C,KAGJA,GAAM,OAAO,sBAAsB,UAAmC,CACpEA,GAAM,KACN,MAAMC,GAAWH,EAAgB,WAC3Bvd,GAAQpQ,GAAM,MAChB8tB,KAAa1d,KACfpQ,GAAM,MAAQ8tB,GAAW1d,IAE3BpQ,GAAM,MAAQ8tB,GACd,MAAMC,GAAWJ,EAAgB,UAC3Btd,GAAQrQ,GAAM,MAChB+tB,KAAa1d,KACfrQ,GAAM,KAAO+tB,GAAW1d,IAE1BrQ,GAAM,MAAQ+tB,GACdn+C,EAASowB,EAAK,CACpB,CAAK,EACL,EACQA,GAAQ,CACZ,MAAO,GACP,KAAM,GACN,MAAO2tB,EAAgB,WACvB,MAAOA,EAAgB,UACvB,cAAeC,EACnB,EACE,IAAIC,GAAM,KACV,OAAAF,EAAgB,iBAAiB,SAAUC,GAAgB,EAAI,EACxD5tB,EACR,CACD,SAASgsB,EAAiBhC,EAAO,CAC/B,MAAM7vD,EAAS,IAAI,IACnB,SAAW,CAAC0F,GAAKxB,EAAK,IAAK,IAAI,gBAAgB2rD,CAAK,EAClD7vD,EAAO,IAAI0F,GAAI,YAAa,EAAExB,EAAK,EAErC,OAAOlE,CACR,CACD,MAAM6zD,EAA4B,eAClC,SAAS/B,GAAqBtsD,EAAKsuD,EAAmB,GAAO,CAC3D,OAAI,OAAOtuD,GAAQ,UACjB,QAAQ,MAAM,gCAAgC,EACvCA,IAELsuD,IACFtuD,EAAMA,EAAI,WAAWquD,EAA2B,GAAG,GAE9CruD,EAAI,WAAW,KAAQ,EAAE,EACjC,CACD,SAAS0rD,EAAsB1qB,EAAOutB,EAAW3xC,GAAQ,EAAG,CAC1D,IAAI4xC,GAAW5xC,GACX6xC,GAAWztB,EAAM,OAAS,EAC9B,GAAIytB,GAAW,GAAK,CAACF,EAAUvtB,EAAMytB,EAAQ,CAAC,EAC5C,OAAOztB,EAAM,OAEf,GAAIutB,EAAUvtB,EAAMwtB,EAAQ,CAAC,EAC3B,OAAOA,GAET,KAAOA,GAAWC,IAAU,CAC1B,MAAMC,GAAeF,GAAWC,IAAY,EACtCE,GAAc3tB,EAAM0tB,EAAY,EAClCH,EAAUI,EAAW,EACvBF,GAAWC,GAEXF,GAAWE,GAAe,EAG9B,OAAOF,EACR,CACD,SAAShD,GAAoB54C,EAAG,CAC9B,GAAI,KAAK,MAAMA,CAAC,IAAMA,EACpB,MAAO,CAACA,EAAG,CAAC,EAEd,MAAMg8C,EAAO,EAAIh8C,EACX0c,GAAQ,EACd,GAAIs/B,EAAOt/B,GACT,MAAO,CAAC,EAAGA,EAAK,EACX,GAAI,KAAK,MAAMs/B,CAAI,IAAMA,EAC9B,MAAO,CAAC,EAAGA,CAAI,EAEjB,MAAMC,GAAKj8C,EAAI,EAAIg8C,EAAOh8C,EAC1B,IAAIhR,GAAI,EACNhB,GAAI,EACJiB,GAAI,EACJP,GAAI,EACN,OAAa,CACX,MAAMJ,GAAIU,GAAIC,GACZk4B,GAAIn5B,GAAIU,GACV,GAAIy4B,GAAIzK,GACN,MAEEu/B,IAAM3tD,GAAI64B,IACZl4B,GAAIX,GACJI,GAAIy4B,KAEJn4B,GAAIV,GACJN,GAAIm5B,IAGR,IAAIiE,GACJ,OAAI6wB,GAAKjtD,GAAIhB,GAAIiB,GAAIP,GAAIutD,GACvB7wB,GAAS6wB,KAAOj8C,EAAI,CAAChR,GAAGhB,EAAC,EAAI,CAACA,GAAGgB,EAAC,EAElCo8B,GAAS6wB,KAAOj8C,EAAI,CAAC/Q,GAAGP,EAAC,EAAI,CAACA,GAAGO,EAAC,EAE7Bm8B,EACR,CACD,SAASuuB,GAAc35C,EAAGmK,EAAK,CAC7B,MAAMrc,GAAIkS,EAAImK,EACd,OAAOrc,KAAM,EAAIkS,EAAI,KAAK,MAAMA,EAAIlS,GAAIqc,CAAG,CAC5C,CACD,SAAS6uC,GAAkB,CACzB,KAAAkD,EACA,SAAAC,EACA,OAAAC,EACF,EAAG,CACD,KAAM,CAACrsD,GAAIC,GAAIC,GAAIC,EAAE,EAAIgsD,EACnBG,GAAoBD,GAAS,MAAQ,EACrCx/C,IAAS3M,GAAKF,IAAM,GAAKosD,EACzBt/C,IAAU3M,GAAKF,IAAM,GAAKmsD,EAChC,MAAO,CACL,MAAOE,GAAoBx/C,GAASD,GACpC,OAAQy/C,GAAoBz/C,GAAQC,EACxC,CACC,CACD,SAASg8C,GAAkC7P,EAAOsT,EAAOznB,GAAK,CAC5D,GAAImU,EAAQ,EACV,OAAOA,EAET,IAAIuT,GAAMD,EAAMtT,CAAK,EAAE,IACnBwT,GAAUD,GAAI,UAAYA,GAAI,UAC9BC,IAAW3nB,KACb0nB,GAAMD,EAAMtT,EAAQ,CAAC,EAAE,IACvBwT,GAAUD,GAAI,UAAYA,GAAI,WAEhC,QAAStvD,GAAI+7C,EAAQ,EAAG/7C,IAAK,IAC3BsvD,GAAMD,EAAMrvD,EAAC,EAAE,IACX,EAAAsvD,GAAI,UAAYA,GAAI,UAAYA,GAAI,cAAgBC,KAF1B,EAAEvvD,GAKhC+7C,EAAQ/7C,GAEV,OAAO+7C,CACR,CACD,SAASiQ,GAAmB,CAC1B,SAAAwD,EACA,MAAAH,EACA,iBAAAI,GAAmB,GACnB,WAAAC,GAAa,GACb,IAAAC,GAAM,EACR,EAAG,CACD,MAAM/nB,GAAM4nB,EAAS,UACnBI,GAAShoB,GAAM4nB,EAAS,aACpB7nB,GAAO6nB,EAAS,WACpBK,GAAQloB,GAAO6nB,EAAS,YAC1B,SAASM,GAA4Bb,GAAM,CACzC,MAAM/6C,GAAU+6C,GAAK,IAErB,OADsB/6C,GAAQ,UAAYA,GAAQ,UAAYA,GAAQ,aAC/C0zB,EACxB,CACD,SAASmoB,GAAmCd,GAAM,CAChD,MAAM/6C,GAAU+6C,GAAK,IACfe,GAAc97C,GAAQ,WAAaA,GAAQ,WAC3C+7C,GAAeD,GAAc97C,GAAQ,YAC3C,OAAOy7C,GAAMK,GAAcH,GAAQI,GAAetoB,EACnD,CACD,MAAM/H,GAAU,CAAE,EAChBswB,GAAM,IAAI,IACVC,GAAWd,EAAM,OACnB,IAAIe,EAAyBvE,EAAsBwD,EAAOK,GAAaK,GAAqCD,EAA2B,EACnIM,EAAyB,GAAKA,EAAyBD,IAAY,CAACT,KACtEU,EAAyBxE,GAAkCwE,EAAwBf,EAAOznB,EAAG,GAE/F,IAAIyoB,EAAWX,GAAaG,GAAQ,GACpC,QAAS7vD,GAAIowD,EAAwBpwD,GAAImwD,GAAUnwD,KAAK,CACtD,MAAMivD,GAAOI,EAAMrvD,EAAC,EAClBkU,GAAU+6C,GAAK,IACXqB,GAAep8C,GAAQ,WAAaA,GAAQ,WAC5Cq8C,GAAgBr8C,GAAQ,UAAYA,GAAQ,UAC5Cs8C,GAAYt8C,GAAQ,YACxBu8C,GAAav8C,GAAQ,aACjBw8C,GAAYJ,GAAeE,GAC3BG,GAAaJ,GAAgBE,GACnC,GAAIJ,IAAa,GACXM,IAAcf,KAChBS,EAAWM,aAEHjB,GAAaY,GAAeC,IAAiBF,EACvD,MAEF,GAAIM,IAAc/oB,IAAO2oB,IAAiBX,IAAUc,IAAa/oB,IAAQ2oB,IAAgBT,GACvF,SAEF,MAAMe,GAAe,KAAK,IAAI,EAAGhpB,GAAM2oB,EAAa,EAAI,KAAK,IAAI,EAAGI,GAAaf,EAAM,EACjFiB,GAAc,KAAK,IAAI,EAAGlpB,GAAO2oB,EAAY,EAAI,KAAK,IAAI,EAAGI,GAAYb,EAAK,EAC9EiB,IAAkBL,GAAaG,IAAgBH,GACnDM,IAAiBP,GAAYK,IAAeL,GACxCQ,GAAUF,GAAiBC,GAAgB,IAAM,EACvDnxB,GAAQ,KAAK,CACX,GAAIqvB,GAAK,GACT,EAAGqB,GACH,EAAGC,GACH,KAAAtB,GACA,QAAA+B,GACA,aAAcD,GAAgB,IAAM,CAC1C,CAAK,EACDb,GAAI,IAAIjB,GAAK,EAAE,EAEjB,MAAMhtD,EAAQ29B,GAAQ,CAAC,EACrBqxB,GAAOrxB,GAAQ,GAAG,EAAE,EACtB,OAAI6vB,IACF7vB,GAAQ,KAAK,SAAU79B,GAAGhB,GAAG,CAC3B,MAAMmwD,GAAKnvD,GAAE,QAAUhB,GAAE,QACzB,OAAI,KAAK,IAAImwD,EAAE,EAAI,KACV,CAACA,GAEHnvD,GAAE,GAAKhB,GAAE,EACtB,CAAK,EAEI,CACL,MAAAkB,EACA,KAAAgvD,GACA,MAAOrxB,GACP,IAAAswB,EACJ,CACC,CACD,SAAS7D,EAAqBx9C,EAAK,CACjCA,EAAI,eAAc,CACnB,CACD,SAAS09C,GAA6B19C,EAAK,CACzC,IAAIsiD,EAAQ,KAAK,MAAMtiD,EAAI,OAAQA,EAAI,MAAM,EAC7C,MAAMyW,GAAQ,KAAK,MAAMzW,EAAI,OAAQA,EAAI,MAAM,EAC/C,MAAI,KAAQ,KAAK,GAAKyW,IAASA,GAAQ,IAAO,KAAK,KACjD6rC,EAAQ,CAACA,GAEJA,CACR,CACD,SAAS7E,GAAyBz9C,EAAK,CACrC,MAAMuiD,EAAYviD,EAAI,UACtB,IAAIsiD,GAAQ5E,GAA6B19C,CAAG,EAC5C,MAAMwiD,GAAwB,GACxBC,GAAuB,GAC7B,OAAIF,IAAc,WAAW,gBAC3BD,IAASE,GAAwBC,GACxBF,IAAc,WAAW,iBAClCD,IAASG,IAEJH,EACR,CACD,SAASjF,EAAgB5mC,EAAO,CAC9B,OAAO,OAAO,UAAUA,CAAK,GAAKA,EAAQ,KAAO,CAClD,CACD,SAAS6mC,EAAkB3yC,EAAM,CAC/B,OAAO,OAAO,UAAUA,CAAI,GAAK,OAAO,OAAOm0C,CAAU,EAAE,SAASn0C,CAAI,GAAKA,IAASm0C,EAAW,OAClG,CACD,SAASvB,EAAkB5yC,EAAM,CAC/B,OAAO,OAAO,UAAUA,CAAI,GAAK,OAAO,OAAOo0C,CAAU,EAAE,SAASp0C,CAAI,GAAKA,IAASo0C,EAAW,OAClG,CACD,SAAS3B,EAAsB3nC,EAAM,CACnC,OAAOA,EAAK,OAASA,EAAK,MAC3B,CACD,MAAMitC,EAAmB,IAAI,QAAQ,SAAU7sD,EAAS,CACtD,OAAO,sBAAsBA,CAAO,CACtC,CAAC,EACD1J,EAAQ,iBAAmBu2D,EAC3B,MAAMC,EAAW,SAAS,gBAAgB,MAC1Cx2D,EAAQ,SAAWw2D,EACnB,SAASC,GAAMttD,EAAGutD,EAAK/0B,GAAK,CAC1B,OAAO,KAAK,IAAI,KAAK,IAAIx4B,EAAGutD,CAAG,EAAG/0B,EAAG,CACtC,CACD,MAAMg1B,CAAY,CAMhB,YAAYC,EAAK,CALjBptD,EAAA,KAAAqtD,EAAa,MACbrtD,EAAA,KAAAstD,EAA2B,MAC3BttD,EAAA,KAAAutD,EAAW,GACXvtD,EAAA,KAAAwtD,EAAS,MACTxtD,EAAA,KAAAk7B,GAAW,IAET76B,GAAA,KAAKgtD,EAAaD,EAAI,WACtB/sD,GAAA,KAAKmtD,EAASJ,EAAI,MACnB,CACD,IAAI,SAAU,CACZ,OAAO7sD,EAAA,KAAKgtD,EACb,CACD,IAAI,QAAQ1pD,EAAK,CAEf,GADAxD,GAAA,KAAKktD,EAAWN,GAAMppD,EAAK,EAAG,GAAG,GAC7B,MAAMA,CAAG,EAAG,CACdtD,EAAA,KAAK8sD,GAAW,IAAI,eAAe,EACnC,OAEF9sD,EAAA,KAAK8sD,GAAW,OAAO,eAAe,EACtC9sD,EAAA,KAAKitD,GAAO,YAAY,wBAAyB,GAAGjtD,EAAA,KAAKgtD,KAAW,CACrE,CACD,SAASE,EAAQ,CACf,GAAI,CAACA,EACH,OAGF,MAAMC,GADYD,EAAO,WACQ,YAAcA,EAAO,YAClDC,GAAiB,GACnBntD,EAAA,KAAKitD,GAAO,YAAY,2BAA4B,GAAGE,MAAkB,CAE5E,CACD,oBAAoBxlD,EAAQ,IAAM,CAC5B,MAAM3H,EAAA,KAAKgtD,EAAQ,IAGnBhtD,EAAA,KAAK+sD,IACP,aAAa/sD,EAAA,KAAK+sD,EAAwB,EAE5C,KAAK,KAAI,EACTjtD,GAAA,KAAKitD,EAA2B,WAAW,IAAM,CAC/CjtD,GAAA,KAAKitD,EAA2B,MAChC,KAAK,KAAI,CACV,EAAEplD,CAAK,GACT,CACD,MAAO,CACA3H,EAAA,KAAK26B,MAGV76B,GAAA,KAAK66B,GAAW,IAChB36B,EAAA,KAAK8sD,GAAW,IAAI,QAAQ,EAC7B,CACD,MAAO,CACD9sD,EAAA,KAAK26B,MAGT76B,GAAA,KAAK66B,GAAW,IAChB36B,EAAA,KAAK8sD,GAAW,OAAO,QAAQ,EAChC,CACF,CA1DCA,EAAA,YACAC,EAAA,YACAC,EAAA,YACAC,EAAA,YACAtyB,GAAA,YAuDF1kC,EAAQ,YAAc22D,EACtB,SAAS7F,GAA4B,CACnC,IAAIqG,EAAU,SACVC,EAAqBD,EAAQ,eAAiBA,EAAQ,cAAc,QAAQ,EAChF,KAAOC,GAAA,MAAAA,EAAoB,YACzBD,EAAUC,EAAmB,WAC7BA,EAAqBD,EAAQ,eAAiBA,EAAQ,cAAc,QAAQ,EAE9E,OAAOC,CACR,CACD,SAAS3G,EAA2BvjB,EAAQ,CAC1C,IAAImqB,EAAa1E,EAAW,SAC1B2E,GAAa1E,EAAW,KAC1B,OAAQ1lB,EAAM,CACZ,IAAK,aACHmqB,EAAa1E,EAAW,KACxB,MACF,IAAK,YACH,MACF,IAAK,cACH0E,EAAa1E,EAAW,KAC1B,IAAK,gBACH2E,GAAa1E,EAAW,IACxB,MACF,IAAK,eACHyE,EAAa1E,EAAW,KAC1B,IAAK,iBACH2E,GAAa1E,EAAW,KACxB,KACH,CACD,MAAO,CACL,WAAAyE,EACA,WAAAC,EACJ,CACC,CACD,SAAS5G,EAAyBlyC,EAAM,CACtC,OAAQA,EAAI,CACV,IAAK,UACH,OAAOi0C,EAAY,KACrB,IAAK,YACH,OAAOA,EAAY,OACrB,IAAK,cACH,OAAOA,EAAY,QACrB,IAAK,iBACH,OAAOA,EAAY,YACrB,IAAK,QACH,OAAOA,EAAY,MACtB,CACD,OAAOA,EAAY,IACpB,CACD,SAASb,EAAiB2F,EAAQC,EAAQvD,GAAO,KAAM,CACrDsD,EAAO,UAAU,OAAO,UAAWC,CAAM,EACzCD,EAAO,aAAa,eAAgBC,CAAM,EAC1CvD,IAAA,MAAAA,GAAM,UAAU,OAAO,SAAU,CAACuD,EACnC,CAEM,EAEA,CAACz3D,EAAyBC,EAAS8V,IAAwB,cAIlE,OAAO,eAAe9V,EAAS,aAAe,CAC5C,MAAO,EACT,GACAA,EAAQ,uBAAyB,OACjC,IAAIy3D,EAAY3hD,EAAoB,CAAC,EACjC4hD,EAAc5hD,EAAoB,CAAC,EACnCq4C,EAAYr4C,EAAoB,CAAC,EACrC,MAAM6hD,CAAuB,CAG3B,YAAY,CACV,QAAAC,EACA,QAAAC,EACA,YAAAlX,EACA,gBAAAmX,EACA,kBAAA18C,EAAoB,KACpB,mBAAA28C,EAAqB,GACrB,YAAAC,EAAc,GACd,KAAA5nB,EAAOsnB,EAAY,SACnB,gBAAAO,EAAkB,GAClB,oBAAAC,EAAsB,KACtB,oBAAAC,EAAsB,KACtB,oBAAA3oD,EAAsB,KACtB,qBAAA22C,GAAuB,IAC3B,EAAK,CAwFH38C,EAAA,KAAA4uD,GAxGA5uD,EAAA,KAAA6uD,EAAkB,GAClB7uD,EAAA,KAAA8uD,EAA6B,MAgB3B,KAAK,QAAUV,EACf,KAAK,QAAUC,EACf,KAAK,YAAclX,EACnB,KAAK,gBAAkBmX,EACvB,KAAK,mBAAqBC,EAC1B,KAAK,YAAcC,EACnB,KAAK,KAAO5nB,EACZ,KAAK,kBAAoBh1B,EACzB,KAAK,gBAAkB68C,EACvB,KAAK,qBAAuBC,GAAuB,QAAQ,QAAQ,EAAK,EACxE,KAAK,qBAAuBC,GAAuB,QAAQ,QAAQ,IAAI,EACvE,KAAK,qBAAuB3oD,EAC5B,KAAK,sBAAwB22C,GAC7B,KAAK,IAAM,KACX,KAAK,WAAa,GAClB,KAAK,UAAYxF,EAAY,QAC9B,CACD,MAAM,OAAOvxC,EAAUH,EAAS,UAAW,OACzC,GAAI,KAAK,IAAK,CACZ,GAAI,KAAK,YAAclF,EAAA,KAAKsuD,KAAoB,EAC9C,OAEFZ,EAAU,gBAAgB,OAAO,CAC/B,SAAUroD,EAAS,MAAM,CACvB,SAAU,EACpB,CAAS,EACD,IAAK,KAAK,IACV,oBAAqB,KAAK,oBAClC,CAAO,EACD,OAEF,KAAM,CAAC82C,EAAaqS,EAAcC,CAAY,EAAI,MAAM,QAAQ,IAAI,CAAC,KAAK,QAAQ,eAAe,CAC/F,OAAAvpD,CACD,CAAA,EAAG,KAAK,qBAAsB,KAAK,oBAAoB,CAAC,EACzD,GAAI,MAAK,WAOT,IAJApF,GAAA,KAAKwuD,EAAkBnS,EAAY,QACnC,KAAK,IAAM,SAAS,cAAc,KAAK,EACvC,KAAK,IAAI,UAAY,kBACrB,KAAK,QAAQ,OAAO,KAAK,GAAG,EACxBn8C,EAAA,KAAKsuD,KAAoB,EAAG,CAC9B,KAAK,KAAI,EACT,OAEFZ,EAAU,gBAAgB,OAAO,CAC/B,SAAUroD,EAAS,MAAM,CACvB,SAAU,EAClB,CAAO,EACD,IAAK,KAAK,IACV,YAAA82C,EACA,KAAM,KAAK,QACX,mBAAoB,KAAK,mBACzB,YAAa,KAAK,YAClB,YAAa,KAAK,YAClB,gBAAiB,KAAK,gBACtB,kBAAmB,KAAK,kBACxB,gBAAiB,KAAK,gBACtB,aAAAqS,EACA,aAAAC,EACA,oBAAqB,KAAK,qBAC1B,qBAAsB,KAAK,qBACjC,CAAK,EACD,KAAK,KAAK,UAAU,KAAK,GAAG,EACxB,KAAK,YAAY,sBACnB5oD,EAAA,KAAKwoD,EAAAK,IAAL,UAAkCtK,EAAU,sBAAsB,YAE/DpkD,EAAA,KAAKuuD,KACRzuD,GAAA,KAAKyuD,EAA6BzkD,GAAO,CACvCjE,EAAA,KAAKwoD,EAAAK,IAAL,UAAkC5kD,EAAI,MAC9C,IACMpG,EAAA,KAAK,YAAL,MAAAA,EAAgB,IAAI,0BAA2B1D,EAAA,KAAKuuD,KAEvD,CACD,QAAS,OACP,KAAK,WAAa,GACdvuD,EAAA,KAAKuuD,MACP7qD,EAAA,KAAK,YAAL,MAAAA,EAAgB,KAAK,0BAA2B1D,EAAA,KAAKuuD,IACrDzuD,GAAA,KAAKyuD,EAA6B,MAErC,CACD,MAAO,CACA,KAAK,MAGV,KAAK,IAAI,OAAS,GACnB,CAsBF,CA7HCD,EAAA,YACAC,EAAA,YAuGAF,EAAA,YAAAK,GAA4B,SAACjzB,EAAO,CAClC,GAAI,CAAC,KAAK,IACR,OAEF,IAAIkzB,EAAsB,GAC1B,OAAQlzB,EAAK,CACX,KAAK2oB,EAAU,sBAAsB,WACnCuK,EAAsB,GACtB,MACF,KAAKvK,EAAU,sBAAsB,OACnC,MACF,QACE,MACH,CACD,UAAWwK,KAAW,KAAK,IAAI,WACzBA,EAAQ,aAAa,oBAAoB,IAG7CA,EAAQ,MAAQD,EAEnB,EAEH14D,EAAQ,uBAAyB23D,CAE1B,EAEC7f,GAAW,CAInB,IAAI8gB,EACA,OAAO,OAAW,KAAe,OAAO,sBAAsB,EAChEA,EAAW,OAAO,sBAAsB,EAExCA,EAAWpyB,WAAA,EAEbsR,EAAO,QAAU8gB,CAEV,EAEA,CAAC74D,EAAyBC,IAAY,CAI7C,OAAO,eAAeA,EAAS,aAAe,CAC5C,MAAO,EACT,GACAA,EAAQ,SAAW,OACnBA,EAAQ,cAAgB64D,EACxB74D,EAAQ,gBAAkB84D,EAC1B,MAAMC,EAAuB,CAC3B,SAAU,oBACV,cAAe,qCACf,uBAAwB,oCACxB,uBAAwB,oCACxB,gCAAiC,qBACjC,0CAA2C,KAC3C,+CAAgD,KAChD,mDAAoD,WACpD,oDAAqD,YACrD,sCAAuC,KACvC,sCAAuC,KACvC,0CAA2C,SAC3C,yCAA0C,QAC1C,+CAAgD,oDAChD,oDAAqD,8DACrD,mCAAoC,MACpC,kCAAmC,KACnC,kBAAmB,oBACnB,cAAe,gBACf,iBAAkB,gBAClB,kBAAmB,6BACnB,iBAAkB,iDAClB,oBAAqB,8CACrB,wBAAyB,iCACzB,0BAA2B,mCAC3B,8BAA+B,4BAC/B,gCAAiC,8BACjC,eAAgB,mBAChB,iBAAkB,aAClB,eAAgB,WAChB,gBAAiB,iBACjB,kBAAmB,cACnB,mBAAoB,aACpB,cAAe,2CACf,mBAAoB,iCACpB,mBAAoB,oBACpB,0BAA2B,8BAC3B,gBAAiB,8CACjB,uBAAwB,4DACxB,mBAAoB,qDACpB,mBAAoB,4DACpB,2BAA4B,gBAC5B,6BAA8B,cAC9B,uBAAwB,cACxB,6BAA8B,oBAChC,EAEEA,EAAqB,uBAAyB,gBAEhD,SAASD,EAAgBzzD,EAAKokB,EAAM,CAClC,OAAQpkB,EAAG,CACT,IAAK,mBACHA,EAAM,oBAAoBokB,EAAK,QAAU,EAAI,MAAQ,WACrD,MACF,IAAK,yBACHpkB,EAAM,0BAA0BokB,EAAK,QAAU,EAAI,MAAQ,WAC3D,KACH,CACD,OAAOsvC,EAAqB1zD,CAAG,GAAK,EACrC,CACD,MAAM2zD,EAAqB,CACzB,GAAI,QACJ,GAAI,QACJ,GAAI,QACJ,GAAI,QACJ,GAAI,QACJ,GAAI,QACJ,GAAI,QACJ,GAAI,QACJ,GAAI,QACJ,GAAI,QACJ,GAAI,QACJ,GAAI,QACJ,GAAI,QACJ,GAAI,OACN,EACA,SAASH,EAAcI,EAAU,CAC/B,OAAOD,EAAmBC,GAAA,YAAAA,EAAU,aAAa,GAAKA,CACvD,CACD,SAASC,EAAgBnvB,EAAMtgB,EAAM,CACnC,OAAKA,EAGEsgB,EAAK,WAAW,uBAAwB,CAACovB,EAAKl1D,IAC5CA,KAAQwlB,EAAOA,EAAKxlB,CAAI,EAAI,KAAOA,EAAO,IAClD,EAJQ8lC,CAKV,CACD,MAAMqvB,EAAW,CACf,MAAM,aAAc,CAClB,MAAO,OACR,EACD,MAAM,cAAe,CACnB,MAAO,KACR,EACD,MAAM,IAAI/zD,EAAKokB,EAAO,KAAMqI,EAAWgnC,EAAgBzzD,EAAKokB,CAAI,EAAG,CACjE,OAAOyvC,EAAgBpnC,EAAUrI,CAAI,CACtC,EACD,MAAM,UAAUvQ,EAAS,CAAE,CAC7B,EACAlZ,EAAQ,SAAWo5D,CAEZ,EAEA,CAACr5D,EAAyBC,EAAS8V,IAAwB,OAIlE,OAAO,eAAe9V,EAAS,aAAe,CAC5C,MAAO,EACT,GACAA,EAAQ,gBAAkB,OAC1B,IAAIy3D,EAAY3hD,EAAoB,CAAC,EAErC,SAASujD,EAASC,EAAS11C,EAAU,CACnC,MAAM7c,EAAI,SAAS,cAAc,GAAG,EACpC,GAAI,CAACA,EAAE,MACL,MAAM,IAAI,MAAM,gDAAgD,EAElEA,EAAE,KAAOuyD,EACTvyD,EAAE,OAAS,UACP,aAAcA,IAChBA,EAAE,SAAW6c,IAEd,SAAS,MAAQ,SAAS,iBAAiB,OAAO7c,CAAC,EACpDA,EAAE,MAAK,EACPA,EAAE,OAAM,CACT,CACD,MAAMwyD,CAAgB,CAAtB,cACE/vD,EAAA,KAAAgwD,EAAgB,IAAI,SACpB,YAAY95D,EAAKkkB,EAAU61C,EAAU,CACnC,GAAI,IAAKhC,EAAU,wBAAwB/3D,EAAK,oBAAoB,EAAG,CACrE,QAAQ,MAAM,kCAAkCA,GAAK,EACrD,OAEF25D,EAAS35D,EAAM,yBAA0BkkB,CAAQ,CAClD,CACD,aAAaha,EAAMga,EAAU8kC,EAAa,CACxC,MAAM4Q,EAAU,IAAI,gBAAgB,IAAI,KAAK,CAAC1vD,CAAI,EAAG,CACnD,KAAM8+C,CACP,CAAA,CAAC,EACF2Q,EAASC,EAAS11C,CAAQ,CAC3B,CACD,mBAAmB1K,EAAStP,EAAMga,EAAU,CAE1C,MAAM8kC,KADgB+O,EAAU,WAAW7zC,CAAQ,EACnB,kBAAoB,GACpD,YAAK,aAAaha,EAAMga,EAAU8kC,CAAW,EACtC,EACR,CACD,SAASgR,EAAMh6D,EAAKkkB,EAAU61C,EAAU,CACtC,MAAMH,EAAU,IAAI,gBAAgBI,CAAI,EACxCL,EAASC,EAAS11C,CAAQ,CAC3B,CACF,CAxBC41C,EAAA,YAyBFx5D,EAAQ,gBAAkBu5D,CAEnB,EAEA,CAACx5D,EAAyBC,IAAY,OAI7C,OAAO,eAAeA,EAAS,aAAe,CAC5C,MAAO,EACT,GACAA,EAAQ,WAAaA,EAAQ,SAAWA,EAAQ,mBAAqB,OACrEA,EAAQ,qBAAuB25D,EAC/B,MAAMC,EAAa,CACjB,MAAO,QACP,QAAS,SACX,EACA55D,EAAQ,WAAa45D,EACrB,SAASD,EAAqB,CAC5B,OAAA7hD,EACA,KAAA7T,EACA,MAAAyN,EAAQ,CACV,EAAG,CACD,OAAO,IAAI,QAAQ,SAAUhI,EAASC,EAAQ,CAC5C,GAAI,OAAOmO,GAAW,UAAY,EAAE7T,GAAQ,OAAOA,GAAS,WAAa,EAAE,OAAO,UAAUyN,CAAK,GAAKA,GAAS,GAC7G,MAAM,IAAI,MAAM,4CAA4C,EAE9D,SAAS4xB,EAAQlvB,EAAM,CACjB0D,aAAkB+hD,EACpB/hD,EAAO,KAAK7T,EAAM61D,CAAY,EAE9BhiD,EAAO,oBAAoB7T,EAAM61D,CAAY,EAE3CC,GACF,aAAaA,CAAO,EAEtBrwD,EAAQ0K,CAAI,CACb,CACD,MAAM0lD,EAAex2B,EAAQ,KAAK,KAAMs2B,EAAW,KAAK,EACpD9hD,aAAkB+hD,EACpB/hD,EAAO,IAAI7T,EAAM61D,CAAY,EAE7BhiD,EAAO,iBAAiB7T,EAAM61D,CAAY,EAE5C,MAAME,EAAiB12B,EAAQ,KAAK,KAAMs2B,EAAW,OAAO,EACtDG,EAAU,WAAWC,EAAgBtoD,CAAK,CACpD,CAAG,CACF,CACD,MAAMmoD,CAAS,CAAf,cACErwD,EAAA,KAAAwI,EAAa,OAAO,OAAO,IAAI,GAC/B,GAAGiwC,EAAWp0C,EAAUrK,EAAU,KAAM,CACtC,KAAK,IAAIy+C,EAAWp0C,EAAU,CAC5B,SAAU,GACV,KAAMrK,GAAA,YAAAA,EAAS,IACrB,CAAK,CACF,CACD,IAAIy+C,EAAWp0C,EAAUrK,EAAU,KAAM,CACvC,KAAK,KAAKy+C,EAAWp0C,EAAU,CAC7B,SAAU,GACV,KAAMrK,GAAA,YAAAA,EAAS,IACrB,CAAK,CACF,CACD,SAASy+C,EAAWr4C,EAAM,CACxB,MAAMqwD,EAAiBlwD,EAAA,KAAKiI,GAAWiwC,CAAS,EAChD,GAAI,CAACgY,GAAkBA,EAAe,SAAW,EAC/C,OAEF,IAAIC,EACJ,SAAW,CACT,SAAArsD,EACA,SAAAssD,EACA,KAAAC,CACN,IAASH,EAAe,MAAM,CAAC,EAAG,CAI5B,GAHIG,GACF,KAAK,KAAKnY,EAAWp0C,CAAQ,EAE3BssD,EAAU,EACXD,MAAsB,CAAA,IAAI,KAAKrsD,CAAQ,EACxC,SAEFA,EAASjE,CAAI,EAEf,GAAIswD,EAAmB,CACrB,UAAWrsD,KAAYqsD,EACrBrsD,EAASjE,CAAI,EAEfswD,EAAoB,KAEvB,CACD,IAAIjY,EAAWp0C,EAAUrK,EAAU,KAAM,SAChBiK,EAAA1D,EAAA,KAAKiI,IAALiwC,KAAAx0C,EAAAw0C,GAA+B,CAAA,IACvC,KAAK,CAClB,SAAAp0C,EACA,UAAUrK,GAAA,YAAAA,EAAS,YAAa,GAChC,MAAMA,GAAA,YAAAA,EAAS,QAAS,EAC9B,CAAK,CACF,CACD,KAAKy+C,EAAWp0C,EAAUrK,EAAU,KAAM,CACxC,MAAMy2D,EAAiBlwD,EAAA,KAAKiI,GAAWiwC,CAAS,EAChD,GAAKgY,GAGL,QAASj1D,EAAI,EAAGkE,EAAK+wD,EAAe,OAAQj1D,EAAIkE,EAAIlE,IAClD,GAAIi1D,EAAej1D,CAAC,EAAE,WAAa6I,EAAU,CAC3CosD,EAAe,OAAOj1D,EAAG,CAAC,EAC1B,QAGL,CACF,CA5DCgN,EAAA,YA6DFhS,EAAQ,SAAW65D,EACnB,MAAMQ,UAA2BR,CAAS,CACxC,SAAS5X,EAAWr4C,EAAM,CACxB,MAAM,IAAI,MAAM,8CAA8C,CAC/D,CACF,CACD5J,EAAQ,mBAAqBq6D,CAEtB,EAEA,CAACt6D,EAAyBC,EAAS8V,IAAwB,CAIlE,OAAO,eAAe9V,EAAS,aAAe,CAC5C,MAAO,EACT,GACAA,EAAQ,YAAc,OACtB8V,EAAoB,CAAC,EACrB,IAAI4hD,EAAc5hD,EAAoB,CAAC,EACvC,MAAMwkD,EAAU,SAAS,QACzB,MAAMC,CAAY,CAChB,YAAYC,EAAM,CAChB,KAAK,MAAQA,EACb,KAAK,OAAS,IAAI,QAAQ,CAAC9wD,EAASC,IAAW,CAC7C2wD,EAAQ,eAAgB5C,EAAY,eAAe8C,CAAI,EAAG,IAAM,CAC9D9wD,EAAQ4wD,CAAO,CACvB,CAAO,CACP,CAAK,CACF,CACD,MAAM,aAAc,CAElB,OADa,MAAM,KAAK,QACZ,aACb,CACD,MAAM,cAAe,CAEnB,OADa,MAAM,KAAK,QACZ,cACb,CACD,MAAM,IAAIj1D,EAAKokB,EAAO,KAAMqI,KAAe4lC,EAAY,iBAAiBryD,EAAKokB,CAAI,EAAG,CAElF,OADa,MAAM,KAAK,QACZ,IAAIpkB,EAAKokB,EAAMqI,CAAQ,CACpC,CACD,MAAM,UAAU5Y,EAAS,CAEvB,OADa,MAAM,KAAK,QACZ,UAAUA,CAAO,CAC9B,CACF,CACDlZ,EAAQ,YAAcu6D,CAEf,EAEA,IAAM,CAIb,SAAS,QAAU,SAAUE,EAAQC,EAAUC,EAAW,CACxD,IAAIC,EAAY,CAAA,EACZC,EAAY,GACZC,EAAY,cACZC,EAAY,GACZC,EAAU,CAAA,EACVC,EAAc,UACdC,EAAwB,GAC5B,SAASC,GAAuB,CAC9B,OAAOT,EAAS,iBAAiB,+BAA+B,CACjE,CACD,SAASU,GAAoB,CAC3B,IAAI52C,EAASk2C,EAAS,cAAc,iCAAiC,EACrE,OAAOl2C,EAAS,KAAK,MAAMA,EAAO,SAAS,EAAI,IAChD,CACD,SAAS62C,EAAwBniD,EAAS,CACxC,OAAOA,EAAUA,EAAQ,iBAAiB,iBAAiB,EAAI,CAAA,CAChE,CACD,SAASoiD,EAAkBpiD,EAAS,CAClC,GAAI,CAACA,EAAS,MAAO,GACrB,IAAIqiD,GAASriD,EAAQ,aAAa,cAAc,EAC5CsiD,GAAWtiD,EAAQ,aAAa,gBAAgB,EAChDuQ,GAAO,CAAA,EACX,GAAI+xC,GACF,GAAI,CACF/xC,GAAO,KAAK,MAAM+xC,EAAQ,CAC3B,MAAC,CACA,QAAQ,KAAK,kCAAoCD,EAAM,CACxD,CAEH,MAAO,CACL,GAAIA,GACJ,KAAM9xC,EACZ,CACG,CACD,SAASgyC,EAAY/7D,EAAKg8D,GAAWC,GAAW,CAC9CD,GAAYA,IAAa,SAAoB9xD,GAAM,CAAA,EACnD+xD,GAAYA,IAAa,UAAsB,GAC/C,IAAIvxB,GAAM,IAAI,eACdA,GAAI,KAAK,MAAO1qC,EAAKw7D,CAAqB,EACtC9wB,GAAI,kBACNA,GAAI,iBAAiB,2BAA2B,EAElDA,GAAI,mBAAqB,UAAY,CAC/BA,GAAI,YAAc,IAChBA,GAAI,QAAU,KAAOA,GAAI,SAAW,EACtCsxB,GAAUtxB,GAAI,YAAY,EAE1BuxB,KAGV,EACIvxB,GAAI,QAAUuxB,GACdvxB,GAAI,UAAYuxB,GAChB,GAAI,CACFvxB,GAAI,KAAK,IAAI,CACd,MAAC,CACAuxB,IACD,CACF,CACD,SAASC,EAAcC,EAAMrB,GAAMsB,GAAiBC,GAAiB,CACnE,IAAIC,GAAUH,EAAK,QAAQ,UAAW,EAAE,GAAK,KAC7C,SAASI,GAAWlyB,GAAM,CACxB,OAAIA,GAAK,YAAY,IAAI,EAAI,EAAUA,GAChCA,GAAK,QAAQ,QAAS,IAAI,EAAE,QAAQ,OAAQ;AAAA,CAAI,EAAE,QAAQ,OAAQ,IAAI,EAAE,QAAQ,OAAQ,GAAI,EAAE,QAAQ,OAAQ,IAAI,EAAE,QAAQ,OAAQ,IAAI,EAAE,QAAQ,OAAQ,GAAG,EAAE,QAAQ,OAAQ,GAAG,EAAE,QAAQ,OAAQ,GAAG,EAAE,QAAQ,OAAQ,GAAG,CACpO,CACD,SAASmyB,EAAgBnyB,GAAMoyB,GAA0B,CACvD,IAAIC,EAAa,CAAA,EACbC,EAAU,YACVC,EAAY,cACZC,EAAY,mBACZC,EAAW,iCACXC,EAAU,yBACd,SAASC,GAAcC,EAASC,EAAgBC,EAAwB,CACtE,IAAI5mB,EAAU0mB,EAAQ,QAAQN,EAAS,EAAE,EAAE,MAAM,SAAS,EACtDS,EAAc,IACdC,EAAcvC,GAAK,MAAM,IAAK,CAAC,EAAE,CAAC,EAClCwC,EAAW,GACX1zB,EAAQ,GACZ,SAAS2zB,IAAY,CACnB,OAAa,CACX,GAAI,CAAChnB,EAAQ,OAAQ,CACnB4mB,IACA,OAEF,IAAIlsB,EAAOsF,EAAQ,QACnB,GAAI,CAAAqmB,EAAU,KAAK3rB,CAAI,EACvB,IAAIisB,EAAgB,CAElB,GADAtzB,EAAQizB,EAAU,KAAK5rB,CAAI,EACvBrH,EAAO,CACTwzB,EAAcxzB,EAAM,CAAC,EAAE,YAAW,EAClC0zB,EAAWF,IAAgB,KAAOA,IAAgBtC,IAAQsC,IAAgBC,EAC1E,iBACSC,EACT,SAGF,GADA1zB,EAAQkzB,EAAS,KAAK7rB,CAAI,EACtBrH,EAAO,CACT4zB,EAAWlB,GAAU1yB,EAAM,CAAC,EAAG2zB,EAAS,EACxC,QAGJ,IAAI5/B,EAAMsT,EAAK,MAAM8rB,CAAO,EACxBp/B,GAAOA,EAAI,QAAU,IACvB++B,EAAW/+B,EAAI,CAAC,CAAC,EAAI4+B,GAAW5+B,EAAI,CAAC,CAAC,IAG3C,CACD4/B,IACD,CACD,SAASC,EAAWx9D,EAAK0V,EAAU,CACjCqmD,EAAY/7D,EAAK,SAAU+lD,EAAS,CAClCiX,GAAcjX,EAAS,GAAOrwC,CAAQ,CAChD,EAAW,UAAY,CACb,QAAQ,KAAK1V,EAAM,aAAa,EAChC0V,GACV,CAAS,CACF,CACDsnD,GAAc3yB,GAAM,GAAM,UAAY,CACpCoyB,GAAyBC,CAAU,CAC3C,CAAO,CACF,CACDX,EAAYI,EAAM,SAAUj8D,GAAU,CACpCi7D,GAAaj7D,GACbs8D,EAAgBt8D,GAAU,SAAUgK,GAAM,CACxC,QAASvE,KAAOuE,GAAM,CACpB,IAAIyE,EACFzK,EACAm9C,EAAQ17C,EAAI,YAAY,GAAG,EACzB07C,EAAQ,GACV1yC,EAAKhJ,EAAI,UAAU,EAAG07C,CAAK,EAC3Bn9C,EAAOyB,EAAI,UAAU07C,EAAQ,CAAC,IAE9B1yC,EAAKhJ,EACLzB,EAAOk3D,GAEJF,EAAUvsD,CAAE,IACfusD,EAAUvsD,CAAE,EAAI,IAElBusD,EAAUvsD,CAAE,EAAEzK,CAAI,EAAIgG,GAAKvE,CAAG,EAE5By2D,IACFA,IAEV,CAAO,CACF,EAAEC,EAAe,CACnB,CACD,SAASoB,EAAW3C,EAAMplD,GAAU,CAC9BolD,IACFA,EAAOA,EAAK,eAEdplD,GAAWA,IAAY,UAAqB,GAC5CgoD,IACArC,EAAYP,EACZ,IAAI6C,GAAYlC,IACZmC,GAAYD,GAAU,OAC1B,GAAIC,KAAc,EAAG,CACnB,IAAIC,GAAOnC,IACX,GAAImC,IAAQA,GAAK,SAAWA,GAAK,eAAgB,CAG/C,GAFA,QAAQ,IAAI,kDAAkD,EAC9D3C,EAAY2C,GAAK,QAAQ/C,CAAI,EACzB,CAACI,EAAW,CACd,IAAI4C,GAAgBD,GAAK,eAAe,YAAW,EACnD,QAASE,KAAeF,GAAK,QAE3B,GADAE,EAAcA,EAAY,cACtBA,IAAgBjD,EAAM,CACxBI,EAAY2C,GAAK,QAAQ/C,CAAI,EAC7B,WACSiD,IAAgBD,KACzB5C,EAAY2C,GAAK,QAAQC,EAAa,GAI5CpoD,UAEA,QAAQ,IAAI,oCAAoC,EAElD6lD,EAAc,WACd,OAEF,IAAIyC,GAAmB,KACnBC,GAAiB,EACrBD,GAAmB,UAAY,CAC7BC,KACIA,IAAkBL,KACpBloD,KACA6lD,EAAc,WAEtB,EACI,SAAS2C,EAAiBhd,EAAM,CAC9B,IAAIib,EAAOjb,EAAK,KAChB,KAAK,KAAO,SAAU4Z,EAAMplD,GAAU,CACpCwmD,EAAcC,EAAMrB,EAAMplD,GAAU,UAAY,CAC9C,QAAQ,KAAKymD,EAAO,aAAa,EACjC,QAAQ,KAAK,IAAMrB,EAAO,sBAAsB,EAChDO,EAAY,GACZ3lD,IACV,CAAS,CACT,CACK,CACD,QAASpQ,EAAI,EAAGA,EAAIs4D,GAAWt4D,IAAK,CAClC,IAAI64D,EAAW,IAAID,EAAiBP,GAAUr4D,CAAC,CAAC,EAChD64D,EAAS,KAAKrD,EAAMkD,EAAgB,EAEvC,CACD,SAASN,GAAQ,CACfxC,EAAY,CAAA,EACZC,EAAY,GACZE,EAAY,EACb,CACD,SAAS+C,EAAetD,EAAM,CAC5B,IAAIuD,GAAgB,CAClB,GAAM,EACN,GAAM,EACN,GAAM,EACN,GAAM,EACN,IAAO,EACP,GAAM,EACN,GAAM,GACN,IAAO,EACP,IAAO,EACP,GAAM,EACN,GAAM,EACN,GAAM,EACN,GAAM,EACN,GAAM,EACN,GAAM,GACN,IAAO,EACP,GAAM,GACN,GAAM,EACN,IAAO,EACP,IAAO,EACP,GAAM,GACN,GAAM,GACN,GAAM,EACN,GAAM,EACN,GAAM,EACN,GAAM,EACN,GAAM,EACN,GAAM,EACN,GAAM,EACN,GAAM,EACN,GAAM,EACN,GAAM,EACN,GAAM,EACN,GAAM,EACN,GAAM,EACN,GAAM,EACN,IAAO,EACP,GAAM,EACN,GAAM,EACN,IAAO,EACP,GAAM,EACN,GAAM,EACN,GAAM,GACN,GAAM,EACN,IAAO,EACP,GAAM,EACN,IAAO,EACP,GAAM,GACN,GAAM,EACN,IAAO,EACP,GAAM,EACN,GAAM,EACN,GAAM,GACN,GAAM,EACN,GAAM,EACN,GAAM,EACN,GAAM,EACN,GAAM,EACN,GAAM,EACN,GAAM,EACN,GAAM,EACN,IAAO,EACP,GAAM,EACN,GAAM,EACN,IAAO,EACP,IAAO,EACP,IAAO,EACP,IAAO,EACP,IAAO,EACP,GAAM,EACN,GAAM,EACN,GAAM,EACN,GAAM,EACN,GAAM,EACN,IAAO,EACP,IAAO,GACP,GAAM,EACN,GAAM,EACN,IAAO,GACP,GAAM,EACN,GAAM,EACN,GAAM,EACN,GAAM,EACN,GAAM,GACN,GAAM,EACN,IAAO,EACP,GAAM,EACN,GAAM,GACN,GAAM,EACN,GAAM,EACN,GAAM,EACN,GAAM,EACN,GAAM,EACN,GAAM,GACN,GAAM,EACN,IAAO,EACP,IAAO,EACP,GAAM,EACN,GAAM,EACN,GAAM,EACN,GAAM,EACN,GAAM,EACN,GAAM,EACN,GAAM,EACN,IAAO,EACP,GAAM,EACN,IAAO,EACP,GAAM,EACN,GAAM,EACN,GAAM,EACN,IAAO,EACP,GAAM,GACN,GAAM,EACN,GAAM,EACN,GAAM,EACN,GAAM,EACN,IAAO,EACP,GAAM,GACN,IAAO,EACP,IAAO,EACP,IAAO,EACP,GAAM,EACN,IAAO,EACP,IAAO,EACP,GAAM,EACN,GAAM,GACN,IAAO,GACP,GAAM,GACN,GAAM,GACN,IAAO,EACP,IAAO,EACP,IAAO,EACP,IAAO,EACP,IAAO,EACP,GAAM,EACN,GAAM,EACN,GAAM,EACN,GAAM,GACN,GAAM,EACN,IAAO,EACP,GAAM,EACN,GAAM,EACN,GAAM,EACN,IAAO,EACP,GAAM,EACN,GAAM,EACN,IAAO,EACP,GAAM,EACN,GAAM,EACN,IAAO,EACP,GAAM,EACN,GAAM,EACN,GAAM,EACN,GAAM,EACN,GAAM,EACN,GAAM,EACN,IAAO,GACP,GAAM,GACN,GAAM,EACN,GAAM,EACN,GAAM,EACN,IAAO,EACP,GAAM,EACN,IAAO,EACP,GAAM,EACN,GAAM,EACN,IAAO,EACP,GAAM,EACN,GAAM,EACN,GAAM,CACZ,EACI,SAASC,GAAKr4D,EAAGs4D,GAAM,CACrB,OAAOA,GAAK,QAAQt4D,CAAC,IAAM,EAC5B,CACD,SAASu4D,GAAUv4D,EAAGoc,GAAO9T,GAAK,CAChC,OAAO8T,IAASpc,GAAKA,GAAKsI,EAC3B,CACD,IAAIkwD,GAAc,CAChB,EAAK,SAAUx4D,EAAG,CAChB,MAAO,OACR,EACD,EAAK,SAAUA,EAAG,CAChB,OAAIu4D,GAAUv4D,EAAI,IAAK,EAAG,EAAE,EAAU,MAClCA,IAAM,EAAU,OAChBu4D,GAAUv4D,EAAI,IAAK,GAAI,EAAE,EAAU,OACnCA,GAAK,EAAU,MACfA,GAAK,EAAU,MACZ,OACR,EACD,EAAK,SAAUA,EAAG,CAChB,OAAIA,IAAM,GAAKA,EAAI,KAAO,EAAU,OAChCA,GAAK,EAAU,MACfA,GAAK,EAAU,MACZ,OACR,EACD,EAAK,SAAUA,EAAG,CAChB,OAAIA,GAAK,EAAU,MACZ,OACR,EACD,EAAK,SAAUA,EAAG,CAChB,OAAIu4D,GAAUv4D,EAAG,EAAG,CAAC,EAAU,MACxB,OACR,EACD,EAAK,SAAUA,EAAG,CAChB,OAAIu4D,GAAUv4D,EAAG,EAAG,CAAC,GAAKA,GAAK,EAAU,MAClC,OACR,EACD,EAAK,SAAUA,EAAG,CAChB,OAAIA,IAAM,EAAU,OAChBA,EAAI,IAAM,GAAKA,EAAI,KAAO,GAAW,MAClC,OACR,EACD,EAAK,SAAUA,EAAG,CAChB,OAAIA,GAAK,EAAU,MACfA,GAAK,EAAU,MACZ,OACR,EACD,EAAK,SAAUA,EAAG,CAChB,OAAIu4D,GAAUv4D,EAAG,EAAG,CAAC,EAAU,MAC3Bu4D,GAAUv4D,EAAG,EAAG,EAAE,EAAU,OAC5BA,GAAK,EAAU,MACfA,GAAK,EAAU,MACZ,OACR,EACD,EAAK,SAAUA,EAAG,CAChB,OAAIA,IAAM,GAAKA,GAAK,GAAKu4D,GAAUv4D,EAAI,IAAK,EAAG,EAAE,EAAU,MACvDA,GAAK,EAAU,MACZ,OACR,EACD,GAAM,SAAUA,EAAG,CACjB,OAAIu4D,GAAUv4D,EAAI,GAAI,EAAG,CAAC,GAAK,CAACu4D,GAAUv4D,EAAI,IAAK,GAAI,EAAE,EAAU,MAC/DA,EAAI,IAAM,GAAK,CAACu4D,GAAUv4D,EAAI,IAAK,GAAI,EAAE,EAAU,MAChD,OACR,EACD,GAAM,SAAUA,EAAG,CACjB,OAAIu4D,GAAUv4D,EAAI,GAAI,EAAG,CAAC,GAAK,CAACu4D,GAAUv4D,EAAI,IAAK,GAAI,EAAE,EAAU,MAC/DA,EAAI,KAAO,GAAKu4D,GAAUv4D,EAAI,GAAI,EAAG,CAAC,GAAKu4D,GAAUv4D,EAAI,IAAK,GAAI,EAAE,EAAU,OAC9EA,EAAI,IAAM,GAAKA,EAAI,KAAO,GAAW,MAClC,OACR,EACD,GAAM,SAAUA,EAAG,CACjB,OAAIu4D,GAAUv4D,EAAG,EAAG,CAAC,EAAU,MAC3BA,GAAK,EAAU,MACZ,OACR,EACD,GAAM,SAAUA,EAAG,CACjB,OAAIu4D,GAAUv4D,EAAI,GAAI,EAAG,CAAC,GAAK,CAACu4D,GAAUv4D,EAAI,IAAK,GAAI,EAAE,EAAU,MAC/DA,GAAK,GAAKu4D,GAAUv4D,EAAI,GAAI,EAAG,CAAC,GAAKu4D,GAAUv4D,EAAI,GAAI,EAAG,CAAC,GAAKu4D,GAAUv4D,EAAI,IAAK,GAAI,EAAE,EAAU,OACnGA,GAAK,EAAU,MACZ,OACR,EACD,GAAM,SAAUA,EAAG,CACjB,OAAIu4D,GAAUv4D,EAAI,IAAK,EAAG,CAAC,EAAU,MACjCA,EAAI,KAAO,EAAU,MACrBA,EAAI,KAAO,EAAU,MAClB,OACR,EACD,GAAM,SAAUA,EAAG,CACjB,OAAIA,IAAM,GAAKu4D,GAAUv4D,EAAI,IAAK,EAAG,EAAE,EAAU,MAC7Cu4D,GAAUv4D,EAAI,IAAK,GAAI,EAAE,EAAU,OACnCA,GAAK,EAAU,MACZ,OACR,EACD,GAAM,SAAUA,EAAG,CACjB,OAAIA,EAAI,IAAM,GAAKA,GAAK,GAAW,MAC5B,OACR,EACD,GAAM,SAAUA,EAAG,CACjB,OAAIA,GAAK,EAAU,MACfA,IAAM,EAAU,OAChBA,GAAK,EAAU,OACfA,GAAK,EAAU,MACfA,GAAK,EAAU,MACZ,OACR,EACD,GAAM,SAAUA,EAAG,CACjB,OAAIA,IAAM,EAAU,OAChBu4D,GAAUv4D,EAAG,EAAG,CAAC,GAAKA,IAAM,GAAKA,GAAK,EAAU,MAC7C,OACR,EACD,GAAM,SAAUA,EAAG,CACjB,OAAIu4D,GAAUv4D,EAAG,EAAG,EAAE,EAAU,MAC5Bu4D,GAAUv4D,EAAG,EAAG,CAAC,EAAU,MACxB,OACR,EACD,GAAM,SAAUA,EAAG,CACjB,OAAKu4D,GAAUv4D,EAAI,GAAI,EAAG,CAAC,GAAKA,EAAI,IAAM,IAAM,EAAEu4D,GAAUv4D,EAAI,IAAK,GAAI,EAAE,GAAKu4D,GAAUv4D,EAAI,IAAK,GAAI,EAAE,GAAKu4D,GAAUv4D,EAAI,IAAK,GAAI,EAAE,GAAW,MAC9IA,EAAI,MAAY,GAAKA,IAAM,EAAU,OACrCA,EAAI,IAAM,GAAK,CAACq4D,GAAKr4D,EAAI,IAAK,CAAC,GAAI,GAAI,EAAE,CAAC,EAAU,MACpDA,EAAI,IAAM,GAAK,CAACq4D,GAAKr4D,EAAI,IAAK,CAAC,GAAI,GAAI,EAAE,CAAC,EAAU,MACjD,OACR,EACD,GAAM,SAAUA,EAAG,CACjB,OAAIA,IAAM,EAAU,OAChBA,GAAK,EAAU,MACZ,OACR,EACD,GAAM,SAAUA,EAAG,CACjB,OAAIu4D,GAAUv4D,EAAG,EAAG,CAAC,GAAKu4D,GAAUv4D,EAAG,GAAI,EAAE,EAAU,MAChD,OACR,EACD,GAAM,SAAUA,EAAG,CACjB,OAAIu4D,GAAUv4D,EAAI,GAAI,EAAG,CAAC,GAAKA,EAAI,KAAO,EAAU,MAC7C,OACR,EACD,GAAM,SAAUA,EAAG,CACjB,OAAIu4D,GAAUv4D,EAAG,EAAG,EAAE,GAAKu4D,GAAUv4D,EAAG,GAAI,EAAE,EAAU,MACpDq4D,GAAKr4D,EAAG,CAAC,EAAG,EAAE,CAAC,EAAU,MACzBq4D,GAAKr4D,EAAG,CAAC,EAAG,EAAE,CAAC,EAAU,MACtB,OACR,CACP,EACQo7C,GAAQgd,GAAcvD,EAAK,QAAQ,OAAQ,EAAE,CAAC,EAClD,OAAMzZ,MAASod,GAMRA,GAAYpd,EAAK,GALtB,QAAQ,KAAK,4BAA8ByZ,EAAO,GAAG,EAC9C,UAAY,CACjB,MAAO,OACf,EAGG,CACDQ,EAAQ,OAAS,SAAU71D,EAAKs2C,GAAOp2C,GAAKzB,GAAM,CAChD,IAAI+B,GAAI,WAAW81C,EAAK,EAExB,GADI,MAAM91C,EAAC,GACP/B,IAAQk3D,EAAW,OAAO31D,EACzB61D,EAAQ,eACXA,EAAQ,aAAe8C,EAAe/C,CAAS,GAEjD,IAAIha,GAAQ,IAAMia,EAAQ,aAAar1D,EAAC,EAAI,IAC5C,OAAIA,KAAM,GAAKN,GAAM,WAAYu1D,EAC/Bz1D,EAAMy1D,EAAUv1D,GAAM,QAAQ,EAAEzB,EAAI,EAC3B+B,IAAK,GAAKN,GAAM,UAAWu1D,EACpCz1D,EAAMy1D,EAAUv1D,GAAM,OAAO,EAAEzB,EAAI,EAC1B+B,IAAK,GAAKN,GAAM,UAAWu1D,EACpCz1D,EAAMy1D,EAAUv1D,GAAM,OAAO,EAAEzB,EAAI,EAC1ByB,GAAM07C,MAAS6Z,EACxBz1D,EAAMy1D,EAAUv1D,GAAM07C,EAAK,EAAEn9C,EAAI,EACxByB,GAAM,YAAau1D,IAC5Bz1D,EAAMy1D,EAAUv1D,GAAM,SAAS,EAAEzB,EAAI,GAEhCuB,CACX,EACE,SAASi5D,EAAY/4D,EAAKokB,GAAMqI,GAAU,CACxC,IAAIloB,GAAOgxD,EAAUv1D,CAAG,EACxB,GAAI,CAACuE,GAAM,CAET,GADA,QAAQ,KAAK,IAAMvE,EAAM,gBAAgB,EACrC,CAACysB,GACH,OAAO,KAETloB,GAAOkoB,GAET,IAAIusC,GAAK,CAAA,EACT,QAASz6D,MAAQgG,GAAM,CACrB,IAAIzE,EAAMyE,GAAKhG,EAAI,EACnBuB,EAAMm5D,EAAan5D,EAAKskB,GAAMpkB,EAAKzB,EAAI,EACvCuB,EAAMo5D,EAAep5D,EAAKskB,GAAMpkB,CAAG,EACnCg5D,GAAGz6D,EAAI,EAAIuB,EAEb,OAAOk5D,EACR,CACD,SAASC,EAAan5D,EAAKskB,GAAMpkB,GAAKzB,GAAM,CAC1C,IAAI46D,GAAU,2CACVC,GAAUD,GAAQ,KAAKr5D,CAAG,EAC9B,GAAI,CAACs5D,IAAW,CAACA,GAAQ,OAAQ,OAAOt5D,EACxC,IAAIu5D,EAAYD,GAAQ,CAAC,EACrBE,GAAYF,GAAQ,CAAC,EACrBhjB,GAMJ,GALIhyB,IAAQk1C,MAAal1C,GACvBgyB,GAAQhyB,GAAKk1C,EAAS,EACbA,MAAa/D,IACtBnf,GAAQmf,EAAU+D,EAAS,GAEzBD,KAAa1D,EAAS,CACxB,IAAI4D,EAAQ5D,EAAQ0D,CAAS,EAC7Bv5D,EAAMy5D,EAAMz5D,EAAKs2C,GAAOp2C,GAAKzB,EAAI,EAEnC,OAAOuB,CACR,CACD,SAASo5D,EAAep5D,EAAKskB,GAAMpkB,GAAK,CACtC,IAAIw5D,GAAS,uBACb,OAAO15D,EAAI,QAAQ05D,GAAQ,SAAUC,GAAcC,GAAK,CACtD,OAAIt1C,IAAQs1C,MAAOt1C,GACVA,GAAKs1C,EAAG,EAEbA,MAAOnE,EACFA,EAAUmE,EAAG,GAEtB,QAAQ,IAAI,cAAgBA,GAAM,WAAa15D,GAAM,gBAAgB,EAC9Dy5D,GACb,CAAK,CACF,CACD,SAASE,EAAiB9lD,EAAS,CACjC,IAAIk3B,GAAOkrB,EAAkBpiD,CAAO,EACpC,GAAKk3B,GAAK,GACV,KAAIxmC,GAAOw0D,EAAYhuB,GAAK,GAAIA,GAAK,IAAI,EACzC,GAAI,CAACxmC,GAAM,CACT,QAAQ,KAAK,IAAMwmC,GAAK,GAAK,gBAAgB,EAC7C,OAEF,GAAIxmC,GAAKkxD,CAAS,EAAG,CACnB,GAAImE,EAAqB/lD,CAAO,IAAM,EACpCA,EAAQ4hD,CAAS,EAAIlxD,GAAKkxD,CAAS,MAC9B,CAGL,QAFIoE,GAAWhmD,EAAQ,WACnBysB,GAAQ,GACH3gC,GAAI,EAAGm6D,EAAID,GAAS,OAAQl6D,GAAIm6D,EAAGn6D,KACtCk6D,GAASl6D,EAAC,EAAE,WAAa,GAAK,KAAK,KAAKk6D,GAASl6D,EAAC,EAAE,SAAS,IAC3D2gC,GACFu5B,GAASl6D,EAAC,EAAE,UAAY,IAExBk6D,GAASl6D,EAAC,EAAE,UAAY4E,GAAKkxD,CAAS,EACtCn1B,GAAQ,KAId,GAAI,CAACA,GAAO,CACV,IAAIy5B,GAAW1E,EAAS,eAAe9wD,GAAKkxD,CAAS,CAAC,EACtD5hD,EAAQ,QAAQkmD,EAAQ,GAG5B,OAAOx1D,GAAKkxD,CAAS,EAEvB,QAASpsC,MAAK9kB,GACZsP,EAAQwV,EAAC,EAAI9kB,GAAK8kB,EAAC,EAEtB,CACD,SAASuwC,EAAqB/lD,EAAS,CACrC,GAAIA,EAAQ,SACV,OAAOA,EAAQ,SAAS,OAE1B,GAAI,OAAOA,EAAQ,kBAAsB,IACvC,OAAOA,EAAQ,kBAGjB,QADI0T,GAAQ,EACH5nB,GAAI,EAAGA,GAAIkU,EAAQ,WAAW,OAAQlU,KAC7C4nB,IAAS1T,EAAQ,WAAa,EAAI,EAAI,EAExC,OAAO0T,EACR,CACD,SAASyyC,GAAkBnmD,EAAS,CAClCA,EAAUA,GAAWwhD,EAAS,gBAG9B,QAFIwE,GAAW7D,EAAwBniD,CAAO,EAC1ComD,GAAeJ,GAAS,OACnBl6D,GAAI,EAAGA,GAAIs6D,GAAct6D,KAChCg6D,EAAiBE,GAASl6D,EAAC,CAAC,EAE9Bg6D,EAAiB9lD,CAAO,CACzB,CACD,MAAO,CACL,IAAK,SAAU7T,EAAKokB,GAAM81C,GAAgB,CACxC,IAAIxe,GAAQ17C,EAAI,YAAY,GAAG,EAC3BzB,GAAOk3D,EACP/Z,GAAQ,IACVn9C,GAAOyB,EAAI,UAAU07C,GAAQ,CAAC,EAC9B17C,EAAMA,EAAI,UAAU,EAAG07C,EAAK,GAE9B,IAAIjvB,GACAytC,KACFztC,GAAW,CAAA,EACXA,GAASluB,EAAI,EAAI27D,IAEnB,IAAI31D,EAAOw0D,EAAY/4D,EAAKokB,GAAMqI,EAAQ,EAC1C,OAAIloB,GAAQhG,MAAQgG,EACXA,EAAKhG,EAAI,EAEX,KAAOyB,EAAM,IACrB,EACD,QAAS,UAAY,CACnB,OAAOu1D,CACR,EACD,QAAS,UAAY,CACnB,OAAOC,CACR,EACD,YAAa,UAAY,CACvB,OAAOE,CACR,EACD,YAAa,SAAUP,EAAMplD,GAAU,CACrC+nD,EAAW3C,EAAM,UAAY,CACvBplD,IAAUA,IACtB,CAAO,CACF,EACD,aAAc,UAAY,CACxB,IAAIoqD,EAAU,CAAC,KAAM,KAAM,KAAM,KAAM,IAAI,EACvCC,GAAY1E,EAAU,MAAM,IAAK,CAAC,EAAE,CAAC,EACzC,OAAOyE,EAAQ,QAAQC,EAAS,GAAK,EAAI,MAAQ,KAClD,EACD,UAAWJ,GACX,cAAe,UAAY,CACzB,OAAOpE,CACR,EACD,MAAO,SAAU7lD,EAAU,CACzB,GAAKA,EAEM6lD,GAAe,YAAcA,GAAe,cACrDR,EAAO,WAAW,UAAY,CAC5BrlD,GACV,CAAS,EACQslD,EAAS,kBAClBA,EAAS,iBAAiB,YAAa,SAASN,IAAO,CACrDM,EAAS,oBAAoB,YAAaN,EAAI,EAC9ChlD,GACV,CAAS,MATD,OAWH,CACL,CACA,EAAE,OAAQ,QAAQ,CAEX,EAEA,CAACrV,EAAyBC,EAAS8V,IAAwB,0HAIlE,OAAO,eAAe9V,EAAS,aAAe,CAC5C,MAAO,EACT,GACAA,EAAQ,kBAAoBA,EAAQ,UAAY,OAChD,IAAImuD,EAAYr4C,EAAoB,CAAC,EACjC4pD,EAAkB5pD,EAAoB,EAAE,EACxC2hD,EAAY3hD,EAAoB,CAAC,EACrC,MAAM6pD,EAAY,CAChB,MAAO,EACP,UAAW,EACX,QAAS,EACT,QAAS,CACX,EACA3/D,EAAQ,UAAY2/D,EACpB,MAAMC,EAAe,IACfC,EAA0B,IAC1BC,EAA2B,KAC3BC,EAA0B,CAC9B,IAAU,IACV,IAAU,IACV,IAAU,IACV,IAAU,IACV,IAAU,IACV,IAAU,IACV,IAAU,IACV,IAAU,IACV,IAAU,IACV,IAAU,MACV,IAAU,MACV,IAAU,KACZ,EACMC,EAAuB,IAAI,IAAI,CAAC,MAAQ,MAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,MAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,KAAQ,IAAM,CAAC,EAC7Y,IAAIC,EACJ,MAAMC,EAAqB,WACrBC,EAAwB,uDACxBC,EAAiC,qBACjCC,EAAmC,qBACnCC,EAAoB,oDACpBC,EAAoB,IAAI,IACxBC,EAA+B,6EAC/BC,EAA0B,IAAI,IACpC,IAAIC,EAAoB,KACpBC,EAAsB,KAC1B,SAASC,EAAU72B,GAAM,CACvB,MAAM82B,GAAoB,CAAA,EAC1B,IAAIv6D,GACJ,MAAQA,GAAIg6D,EAAkB,KAAKv2B,EAAI,KAAO,MAAM,CAClD,GAAI,CACF,MAAAgX,EACD,EAAGz6C,GACJ,UAAWw6D,MAAQx6D,GAAE,CAAC,EAAG,CACvB,IAAI4xC,GAAMqoB,EAAkB,IAAIO,EAAI,EAC/B5oB,KACHA,GAAM4oB,GAAK,UAAU,KAAK,EAAE,OAC5BP,EAAkB,IAAIO,GAAM5oB,EAAG,GAEjC2oB,GAAkB,KAAK,CAAC3oB,GAAK6I,IAAO,CAAC,GAGzC,IAAIggB,GACJ,GAAIF,GAAkB,SAAW,GAAKH,EACpCK,GAAqBL,UACZG,GAAkB,OAAS,GAAKF,EACzCI,GAAqBJ,MAChB,CACL,MAAMK,GAAU,OAAO,KAAKjB,CAAuB,EAAE,KAAK,EAAE,EACtDkB,MAA0BvB,EAAgB,wBAG1CwB,GAAS,KAAKF,UAAeC,uFAC/BJ,GAAkB,SAAW,EAC/BE,GAAqBL,EAAoB,IAAI,OAAOQ,GAAS,aAAc,KAAK,EAEhFH,GAAqBJ,EAAsB,IAAI,OAAOO,GAAS,KAAKV,KAAiC,KAAK,EAG9G,MAAMW,GAAyB,CAAA,EAC/B,MAAQ76D,GAAI45D,EAAmB,KAAKn2B,EAAI,KAAO,MAC7Co3B,GAAuB,KAAK,CAAC76D,GAAE,CAAC,EAAE,OAAQA,GAAE,KAAK,CAAC,EAEpD,IAAI86D,GAAar3B,GAAK,UAAU,KAAK,EACrC,MAAMpP,GAAY,CAAC,CAAC,EAAG,CAAC,CAAC,EACzB,IAAI0mC,GAAqB,EACrBC,GAAgB,EAChBC,GAAQ,EACRC,GAAc,EACdC,GAAM,EACNC,GAAgB,GACpB,OAAAN,GAAaA,GAAW,QAAQL,GAAoB,CAACz3B,GAAO5iC,GAAIC,GAAIC,GAAIC,GAAI86D,GAAIC,GAAIC,GAAIC,GAAI98D,KAAM,cAEhG,GADAA,IAAKw8D,GACD96D,GAAI,CACN,MAAMq7D,GAAchC,EAAwBr5D,EAAE,EACxCu7B,GAAK8/B,GAAY,OACvB,QAASr5D,GAAI,EAAGA,GAAIu5B,GAAIv5B,KACtBiyB,GAAU,KAAK,CAAC31B,GAAIu8D,GAAQ74D,GAAG64D,GAAQ74D,EAAC,CAAC,EAE3C,OAAA64D,IAASt/B,GAAK,EACP8/B,GAET,GAAIp7D,GAAI,CACN,IAAIo7D,GAActB,EAAwB,IAAI95D,EAAE,EAC3Co7D,KACHA,GAAcp7D,GAAG,UAAU,MAAM,EACjC85D,EAAwB,IAAI95D,GAAIo7D,EAAW,GAE7C,MAAM9/B,GAAK8/B,GAAY,OACvB,QAASr5D,GAAI,EAAGA,GAAIu5B,GAAIv5B,KACtBiyB,GAAU,KAAK,CAAC31B,GAAIu8D,GAAQ74D,GAAG64D,GAAQ74D,EAAC,CAAC,EAE3C,OAAA64D,IAASt/B,GAAK,EACP8/B,GAET,GAAIn7D,GACF,OAAA86D,GAAgB,GACZ18D,GAAIy8D,OAAQh0D,GAAA0zD,GAAuBE,EAAkB,IAAzC,YAAA5zD,GAA6C,IAC3D,EAAE4zD,IAEF1mC,GAAU,KAAK,CAAC31B,GAAI,EAAIu8D,GAAQ,EAAGA,GAAQ,CAAC,CAAC,EAC7CA,IAAS,EACTC,IAAe,GAEjB7mC,GAAU,KAAK,CAAC31B,GAAIu8D,GAAQ,EAAGA,EAAK,CAAC,EACrCC,IAAe,EACfC,IAAO,EACA76D,GAAG,OAAO,CAAC,EAEpB,GAAIC,GAAI,CACN,MAAMm7D,GAAqBn7D,GAAG,SAAS;AAAA,CAAI,EACrCqxC,GAAM8pB,GAAqBn7D,GAAG,OAAS,EAAIA,GAAG,OACpD66D,GAAgB,GAChB,IAAIz/B,GAAKiW,GACLlzC,GAAIy8D,OAAQ9xD,GAAAwxD,GAAuBE,EAAkB,IAAzC,YAAA1xD,GAA6C,MAC3DsyB,IAAMk/B,GAAuBE,EAAkB,EAAE,CAAC,EAClD,EAAEA,IAEJ,QAAS34D,GAAI,EAAGA,IAAKu5B,GAAIv5B,KACvBiyB,GAAU,KAAK,CAAC31B,GAAI,EAAIu8D,GAAQ74D,GAAG64D,GAAQ74D,EAAC,CAAC,EAI/C,OAFA64D,IAASt/B,GACTu/B,IAAev/B,GACX+/B,IACFh9D,IAAKkzC,GAAM,EACXvd,GAAU,KAAK,CAAC31B,GAAIu8D,GAAQ,EAAG,EAAIA,EAAK,CAAC,EACzCA,IAAS,EACTC,IAAe,EACfC,IAAO,EACA56D,GAAG,MAAM,EAAGqxC,EAAG,GAEjBrxC,GAET,GAAI86D,GAAI,CACN,MAAMzpB,GAAMypB,GAAG,OAAS,EACxB,OAAAhnC,GAAU,KAAK,CAAC31B,GAAIu8D,GAAQrpB,GAAK,EAAIqpB,EAAK,CAAC,EAC3CA,IAAS,EACTC,IAAe,EACfC,IAAO,EACAE,GAAG,MAAM,EAAG,EAAE,EAEvB,GAAIC,GAAI,CACN,MAAM1pB,GAAM0pB,GAAG,OAAS,EACxB,OAAAjnC,GAAU,KAAK,CAAC31B,GAAIu8D,GAAQrpB,GAAKqpB,EAAK,CAAC,EACvCC,IAAe,EACfC,IAAO,EACAG,GAAG,MAAM,EAAG,EAAE,EAEvB,GAAIC,GACF,OAAAlnC,GAAU,KAAK,CAAC31B,GAAIu8D,GAAQ,EAAGA,GAAQ,CAAC,CAAC,EACzCA,IAAS,EACTC,IAAe,EACfC,IAAO,EACA,IAET,GAAIz8D,GAAIy8D,OAAQzxD,GAAA6wD,GAAkBS,EAAa,IAA/B,YAAAtxD,GAAmC,IAAI,CACrD,MAAMiyD,GAAapB,GAAkBS,EAAa,EAAE,CAAC,EAAI,EACzD,EAAEA,GACF,QAAS54D,GAAI,EAAGA,IAAKu5D,GAAYv5D,KAC/BiyB,GAAU,KAAK,CAAC31B,IAAKu8D,GAAQ74D,IAAI64D,GAAQ74D,EAAC,CAAC,EAE7C64D,IAASU,GACTT,IAAeS,GAEjB,OAAOH,EACX,CAAG,EACDnnC,GAAU,KAAK,CAACymC,GAAW,OAAQG,EAAK,CAAC,EAClC,CAACH,GAAYzmC,GAAW+mC,EAAa,CAC7C,CACD,SAASQ,GAAiBC,GAAO11C,GAAKyrB,GAAK,CACzC,GAAI,CAACiqB,GACH,MAAO,CAAC11C,GAAKyrB,EAAG,EAElB,MAAMn2B,GAAQ0K,GACRxe,GAAMwe,GAAMyrB,GAAM,EACxB,IAAIlzC,MAAQmpD,EAAU,uBAAuBgU,GAAOpqD,IAAKA,GAAE,CAAC,GAAKgK,EAAK,EAClEogD,GAAMn9D,EAAC,EAAE,CAAC,EAAI+c,IAChB,EAAE/c,GAEJ,IAAI0D,MAAQylD,EAAU,uBAAuBgU,GAAOpqD,IAAKA,GAAE,CAAC,GAAK9J,GAAKjJ,EAAC,EACnEm9D,GAAMz5D,EAAC,EAAE,CAAC,EAAIuF,IAChB,EAAEvF,GAEJ,MAAM05D,GAAWrgD,GAAQogD,GAAMn9D,EAAC,EAAE,CAAC,EAE7Bq9D,GADSp0D,GAAMk0D,GAAMz5D,EAAC,EAAE,CAAC,EACP,EAAI05D,GAC5B,MAAO,CAACA,GAAUC,EAAM,CACzB,CACD,MAAMC,CAAkB,CAItB,YAAY,CACV,YAAA3hB,GACA,SAAAxlC,GACA,6BAAAonD,GAA+B,EACnC,EAAK,CAiCH/4D,EAAA,KAAAg5D,IA4EAh5D,EAAA,KAAAi5D,GA8BAj5D,EAAA,KAAIk5D,IAaJl5D,EAAA,KAAAm5D,GA8BAn5D,EAAA,KAAAo5D,GAmBAp5D,EAAA,KAAAq5D,GAmBAr5D,EAAA,KAAAs5D,GAwCAt5D,EAAA,KAAAu5D,GAyCAv5D,EAAA,KAAAimC,GAkCAjmC,EAAA,KAAAw5D,GASAx5D,EAAA,KAAAy5D,GAMAz5D,EAAA,KAAA05D,GAiDA15D,EAAA,KAAA25D,IAmBA35D,EAAA,KAAA45D,IAcA55D,EAAA,KAAA65D,IAWA75D,EAAA,KAAA85D,IAmBA95D,EAAA,KAAA+5D,IAmBA/5D,EAAA,KAAAg6D,IAqBAh6D,EAAA,KAAAi6D,GAMAj6D,EAAA,KAAAk6D,GAngBAl6D,EAAA,KAAAm6D,GAAS,MACTn6D,EAAA,KAAAo6D,GAAgC,IAChCp6D,EAAA,KAAAq6D,GAAqB,GAMnB,KAAK,aAAeljB,GACpB,KAAK,UAAYxlC,GACjBtR,GAAA,KAAK+5D,GAAgCrB,IACrC3yD,EAAA,KAAK6yD,EAAAqB,IAAL,WACA3oD,GAAS,IAAI,OAAQvL,EAAA,KAAK4yD,GAAAuB,IAAQ,KAAK,IAAI,CAAC,EAC5C5oD,GAAS,IAAI,eAAgBvL,EAAA,KAAK2zD,GAAAS,IAAgB,KAAK,IAAI,CAAC,CAC7D,CACD,IAAI,kBAAmB,CACrB,OAAO,KAAK,iBACb,CACD,IAAI,aAAc,CAChB,OAAO,KAAK,YACb,CACD,IAAI,mBAAoB,CACtB,OAAO,KAAK,kBACb,CACD,IAAI,UAAW,CACb,OAAO,KAAK,SACb,CACD,IAAI,OAAQ,CACV,OAAOj6D,EAAA,KAAK45D,GACb,CACD,YAAY3U,GAAa,CACnB,KAAK,cACPp/C,EAAA,KAAK6yD,EAAAqB,IAAL,WAEG9U,KAGL,KAAK,aAAeA,GACpB,KAAK,qBAAqB,UAC3B,CAyDD,oBAAoB,CAClB,QAAA91C,GAAU,KACV,aAAA+qD,GAAe,EACf,UAAA11D,GAAY,GACZ,WAAA21D,GAAa,EACjB,EAAK,CACD,GAAI,CAAC,KAAK,gBAAkB,CAAChrD,GAC3B,OACK,GAAIgrD,KAAe,IAAMA,KAAe,KAAK,UAAU,SAC5D,OACK,GAAI31D,KAAc,IAAMA,KAAc,KAAK,UAAU,QAC1D,OAEF,KAAK,eAAiB,GACtB,MAAM0kD,GAAO,CACX,IAAK4M,EACL,KAAMoE,GAAenE,CAC3B,KACQ3R,EAAU,gBAAgBj1C,GAAS+5C,GAAM,EAAI,CAClD,CA4ZF,CA/gBC0Q,GAAA,YACAC,GAAA,YACAC,GAAA,YAsCArB,GAAA,YAAAuB,GAAO,SAACv+B,GAAO,CACb,GAAI,CAACA,GACH,OAEEA,GAAM,eAAiB,KACzB,QAAQ,MAAM,gHAAqH,EAC/H,OAAOA,GAAM,OAAU,WACzBA,GAAM,MAAQA,GAAM,MAAM,MAAM,MAAM,IAG1C,MAAMwpB,GAAc,KAAK,aACnB,CACJ,KAAA56C,EACD,EAAGoxB,IACAz7B,EAAA,KAAK45D,MAAW,MAAQ/zD,EAAA,KAAK+yD,EAAAwB,IAAL,UAAuB3+B,OACjD,KAAK,YAAc,IAErB37B,GAAA,KAAK85D,GAASn+B,IACVpxB,KAAS,sBACXxE,EAAA,KAAK8zD,EAAAU,IAAL,UAAoBzE,EAAU,SAEhC,KAAK,qBAAqB,QAAQ,KAAK,IAAM,CAC3C,GAAI,CAAC,KAAK,cAAgB3Q,IAAe,KAAK,eAAiBA,GAC7D,OAEFp/C,EAAA,KAAK6/B,EAAAc,IAAL,WACA,MAAM8zB,GAAgB,CAAC,KAAK,kBACtBC,GAAiB,CAAC,CAAC,KAAK,aAC1B,KAAK,eACP,aAAa,KAAK,YAAY,EAC9B,KAAK,aAAe,MAEjBlwD,GAKM,KAAK,YACdxE,EAAA,KAAKszD,EAAAqB,IAAL,WACSnwD,KAAS,SAClBxE,EAAA,KAAKszD,EAAAqB,IAAL,WACIF,IAAiBt6D,EAAA,KAAK45D,IAAO,cAC/B/zD,EAAA,KAAKqzD,EAAAuB,IAAL,YAEOpwD,KAAS,sBACdkwD,GACF10D,EAAA,KAAKszD,EAAAqB,IAAL,WAEA,KAAK,kBAAoB,GAE3B30D,EAAA,KAAKqzD,EAAAuB,IAAL,YAEA50D,EAAA,KAAKszD,EAAAqB,IAAL,WAnBA,KAAK,aAAe,WAAW,IAAM,CACnC30D,EAAA,KAAKszD,EAAAqB,IAAL,WACA,KAAK,aAAe,IACrB,EAAE3E,CAAY,CAkBvB,CAAK,CACF,EAqBD6C,EAAA,YAAAqB,GAAM,UAAG,CACP,KAAK,kBAAoB,GACzB,KAAK,eAAiB,GACtB,KAAK,aAAe,KACpB,KAAK,aAAe,GACpB,KAAK,mBAAqB,GAC1Bj6D,GAAA,KAAKg6D,GAAqB,GAC1Bh6D,GAAA,KAAK85D,GAAS,MACd,KAAK,UAAY,CACf,QAAS,GACT,SAAU,EAChB,EACI,KAAK,QAAU,CACb,QAAS,KACT,SAAU,KACV,QAAS,EACf,EACI,KAAK,qBAAuB,GAC5B,KAAK,cAAgB,GACrB,KAAK,WAAa,GAClB,KAAK,eAAiB,GACtB,KAAK,mBAAqB,EAC1B,KAAK,eAAiB,KACtB,KAAK,oBAAsB,IAAI,IAC/B,KAAK,eAAiB,KACtB,KAAK,YAAc,GACnB,aAAa,KAAK,YAAY,EAC9B,KAAK,aAAe,KACpB,KAAK,qBAAuB,IAAIlM,EAAU,iBAC3C,EACGiL,GAAA,YAAA+B,GAAM,UAAG,CACX,KAAM,CACJ,MAAAjV,EACN,EAAQzlD,EAAA,KAAK45D,IACT,OAAI,OAAOnU,IAAU,UACfA,KAAU,KAAK,YACjB,KAAK,UAAYA,GACjB,CAAC,KAAK,gBAAgB,EAAIoR,EAAUpR,EAAK,GAEpC,KAAK,mBAENA,IAAS,CAAA,GAAI,OAAOtwB,IAAK,CAAC,CAACA,EAAC,EAAE,IAAIA,IAAK0hC,EAAU1hC,EAAC,EAAE,CAAC,CAAC,CAC/D,EACDyjC,EAAA,YAAAwB,GAAiB,SAAC3+B,GAAO,CACvB,MAAMk/B,GAAWl/B,GAAM,MACrBm/B,GAAY56D,EAAA,KAAK45D,IAAO,MACpBiB,GAAU,OAAOF,GAEvB,GAAIE,KADS,OAAOD,GAElB,MAAO,GAET,GAAIC,KAAY,UACd,GAAIF,KAAaC,GACf,MAAO,WAGL,KAAK,UAAUD,EAAQ,IAAM,KAAK,UAAUC,EAAS,EACvD,MAAO,GAGX,OAAQn/B,GAAM,KAAI,CAChB,IAAK,QACH,MAAMr3B,GAAa,KAAK,UAAU,QAAU,EACtCwyC,GAAc,KAAK,aACzB,OAAIxyC,IAAc,GAAKA,IAAcwyC,GAAY,YAAcxyC,KAAewyC,GAAY,MAAQ,CAACA,GAAY,cAAcxyC,EAAU,EAIzI,IAAK,qBACH,MAAO,EACV,CACD,MAAO,EACR,EACDy0D,EAAA,YAAAiC,GAAa,SAACpf,GAASqf,GAAUjgE,GAAQ,CACvC,IAAIykC,GAAQmc,GAAQ,MAAM,EAAGqf,EAAQ,EAAE,MAAM1E,CAA8B,EAC3E,GAAI92B,GAAO,CACT,MAAMriC,GAAQw+C,GAAQ,WAAWqf,EAAQ,EACnCrwC,GAAQ6U,GAAM,CAAC,EAAE,WAAW,CAAC,EACnC,MAAQo2B,EAAgB,kBAAkBz4D,EAAK,OAAUy4D,EAAgB,kBAAkBjrC,EAAK,EAC9F,MAAO,GAIX,GADA6U,GAAQmc,GAAQ,MAAMqf,GAAWjgE,EAAM,EAAE,MAAMw7D,CAAgC,EAC3E/2B,GAAO,CACT,MAAM2sB,GAAOxQ,GAAQ,WAAWqf,GAAWjgE,GAAS,CAAC,EAC/C4vB,GAAQ6U,GAAM,CAAC,EAAE,WAAW,CAAC,EACnC,MAAQo2B,EAAgB,kBAAkBzJ,EAAI,OAAUyJ,EAAgB,kBAAkBjrC,EAAK,EAC7F,MAAO,GAGX,MAAO,EACR,EACDouC,EAAA,YAAAkC,GAAqB,SAACvV,GAAOwV,GAAYz2D,GAAW02D,GAAa,CAC/D,MAAMrgD,GAAU,KAAK,aAAarW,EAAS,EAAI,CAAA,EACzC22D,GAAgB,KAAK,mBAAmB32D,EAAS,EAAI,CAAA,EAC3D,GAAI,CAACihD,GACH,OAEF,MAAM2S,GAAQ,KAAK,WAAW5zD,EAAS,EACvC,IAAI+6B,GACJ,MAAQA,GAAQkmB,GAAM,KAAKyV,EAAW,KAAO,MAAM,CACjD,GAAID,IAAc,CAACp1D,EAAA,KAAKgzD,EAAAiC,IAAL,UAAmBI,GAAa37B,GAAM,MAAOA,GAAM,CAAC,EAAE,QACvE,SAEF,KAAM,CAAC67B,GAAUC,EAAQ,EAAIlD,GAAiBC,GAAO74B,GAAM,MAAOA,GAAM,CAAC,EAAE,MAAM,EAC7E87B,KACFxgD,GAAQ,KAAKugD,EAAQ,EACrBD,GAAc,KAAKE,EAAQ,GAGhC,EACDtC,EAAA,YAAAuC,GAAsB,SAAC7V,GAAOkS,GAAe,CAC3C,KAAM,CACJ,gBAAA4D,EACN,EAAQv7D,EAAA,KAAK45D,IACT,IAAI4B,GAAY,GAChB/V,GAAQA,GAAM,WAAW2Q,EAAuB,CAAC72B,GAAO5iC,GAAIC,GAAIC,GAAIC,GAAI86D,KAClEj7D,GACK,SAASA,SAEdC,GACK,OAAOA,SAEZC,GACK,OAEL0+D,GACKz+D,IAAM86D,GAEX96D,GACKm5D,EAAqB,IAAIn5D,GAAG,WAAW,CAAC,CAAC,EAAIA,GAAK,GAEvD66D,IACF6D,GAAY,GACL,GAAG5D,aAELA,EACR,EACD,MAAM6D,GAAiB,OACvB,OAAIhW,GAAM,SAASgW,EAAc,IAC/BhW,GAAQA,GAAM,MAAM,EAAGA,GAAM,OAASgW,GAAe,MAAM,GAEzDF,IACE5D,KACFzB,MAA6B,OAAO,aAAa,GAAGD,CAAoB,GACxEuF,GAAY,GACZ/V,GAAQ,GAAGA,SAAYyQ,mBAGpB,CAACsF,GAAW/V,EAAK,CACzB,EACDuT,EAAA,YAAA0C,GAAe,SAACl3D,GAAW,CACzB,IAAIihD,GAAQzlD,EAAA,KAAK24D,GAAA+B,IACjB,GAAIjV,GAAM,SAAW,EACnB,OAEF,KAAM,CACJ,cAAAkW,GACA,WAAAV,EACN,EAAQj7D,EAAA,KAAK45D,IACHsB,GAAc,KAAK,cAAc12D,EAAS,EAC1CmzD,GAAgB,KAAK,eAAenzD,EAAS,EACnD,IAAIg3D,GAAY,GACZ,OAAO/V,IAAU,SACnB,CAAC+V,GAAW/V,EAAK,EAAI5/C,EAAA,KAAKkzD,EAAAuC,IAAL,UAA4B7V,GAAOkS,IAExDlS,GAAQA,GAAM,KAAI,EAAG,QAAS,EAAC,IAAItwB,IAAK,CACtC,KAAM,CAACymC,GAAeC,EAAS,EAAIh2D,EAAA,KAAKkzD,EAAAuC,IAAL,UAA4BnmC,GAAGwiC,IAClE,OAAA6D,QAAcI,IACP,IAAIC,KACnB,CAAO,EAAE,KAAK,GAAG,EAEb,MAAMz8B,GAAQ,IAAIo8B,GAAY,IAAM,KAAKG,GAAgB,GAAK,MAC9DlW,GAAQA,GAAQ,IAAI,OAAOA,GAAOrmB,EAAK,EAAI,KAC3Cv5B,EAAA,KAAKizD,EAAAkC,IAAL,UAA2BvV,GAAOwV,GAAYz2D,GAAW02D,IACrDl7D,EAAA,KAAK45D,IAAO,cACd/zD,EAAA,KAAKozD,EAAA6C,IAAL,UAAiBt3D,IAEf,KAAK,iBAAmBA,KAC1B,KAAK,eAAiB,KACtBqB,EAAA,KAAKwzD,GAAA0C,IAAL,YAEF,MAAMC,GAAmB,KAAK,aAAax3D,EAAS,EAAE,OACtD,KAAK,oBAAsBw3D,GACvBh8D,EAAA,KAAK65D,IACHmC,GAAmB,GACrBn2D,EAAA,KAAK6zD,EAAAuC,IAAL,WAEc,EAALz4D,GAAA,KAAKs2D,IAAL,IAA4B,KAAK,aAAa,YACzDj0D,EAAA,KAAK6zD,EAAAuC,IAAL,UAEH,EACDv2B,EAAA,YAAAc,GAAY,UAAG,CACb,GAAI,KAAK,qBAAqB,OAAS,EACrC,OAEF,IAAIz7B,GAAU,QAAQ,UACtB,MAAMmxD,GAAc,CAClB,qBAAsB,EAC5B,EACI,QAASjhE,GAAI,EAAGkE,GAAK,KAAK,aAAa,WAAYlE,GAAIkE,GAAIlE,KAAK,CAC9D,MAAMkhE,GAAwB,IAAIzO,EAAU,kBAC5C,KAAK,qBAAqBzyD,EAAC,EAAIkhE,GAAsB,QACrDpxD,GAAUA,GAAQ,KAAK,IACd,KAAK,aAAa,QAAQ9P,GAAI,CAAC,EAAE,KAAK6yD,IACpCA,GAAQ,eAAeoO,EAAW,CAC1C,EAAE,KAAKr1D,IAAe,CACrB,MAAM7L,GAAS,CAAA,EACf,UAAWohE,MAAYv1D,GAAY,MACjC7L,GAAO,KAAKohE,GAAS,GAAG,EACpBA,GAAS,QACXphE,GAAO,KAAK;AAAA,CAAI,EAGpB,CAAC,KAAK,cAAcC,EAAC,EAAG,KAAK,WAAWA,EAAC,EAAG,KAAK,eAAeA,EAAC,CAAC,EAAI47D,EAAU77D,GAAO,KAAK,EAAE,CAAC,EAC/FmhE,GAAsB,QAAO,CAC9B,EAAEp8D,IAAU,CACX,QAAQ,MAAM,uCAAuC9E,GAAI,IAAK8E,EAAM,EACpE,KAAK,cAAc9E,EAAC,EAAI,GACxB,KAAK,WAAWA,EAAC,EAAI,KACrB,KAAK,eAAeA,EAAC,EAAI,GACzBkhE,GAAsB,QAAO,CACvC,CAAS,CACF,EAEJ,EACDlD,EAAA,YAAA6C,GAAW,SAAC9kB,GAAO,CACb,KAAK,gBAAkB,KAAK,UAAU,UAAYA,KACpD,KAAK,aAAa,KAAOA,GAAQ,GAEnC,KAAK,UAAU,SAAS,yBAA0B,CAChD,OAAQ,KACR,UAAWA,EACjB,CAAK,CACF,EACDkiB,EAAA,YAAAuB,GAAe,UAAG,CAChB,KAAK,UAAU,SAAS,yBAA0B,CAChD,OAAQ,KACR,UAAW,EACjB,CAAK,CACF,EACDtB,EAAA,YAAAqB,GAAU,UAAG,CACX,MAAM6B,GAAWr8D,EAAA,KAAK45D,IAAO,aACvB0C,GAAmB,KAAK,aAAa,KAAO,EAC5CC,GAAW,KAAK,aAAa,WAEnC,GADA,KAAK,kBAAoB,GACrB,KAAK,YAAa,CACpB,KAAK,YAAc,GACnB,KAAK,UAAU,QAAU,KAAK,UAAU,SAAW,GACnD,KAAK,QAAQ,QAAUD,GACvB,KAAK,QAAQ,SAAW,KACxB,KAAK,QAAQ,QAAU,GACvB,KAAK,eAAiB,KACtB,KAAK,aAAa,OAAS,EAC3B,KAAK,mBAAmB,OAAS,EACjCx8D,GAAA,KAAKg6D,GAAqB,GAC1B,KAAK,mBAAqB,EAC1Bj0D,EAAA,KAAKqzD,EAAAuB,IAAL,WACA,QAASx/D,GAAI,EAAGA,GAAIshE,GAAUthE,KACxB,KAAK,oBAAoB,IAAIA,EAAC,IAGlC,KAAK,oBAAoB,IAAIA,EAAC,EAC9B,KAAK,qBAAqBA,EAAC,EAAE,KAAK,IAAM,CACtC,KAAK,oBAAoB,OAAOA,EAAC,EACjC4K,EAAA,KAAKmzD,EAAA0C,IAAL,UAAqBzgE,GAC/B,CAAS,GAIL,GADc+E,EAAA,KAAK24D,GAAA+B,IACT,SAAW,EAAG,CACtB70D,EAAA,KAAK8zD,EAAAU,IAAL,UAAoBzE,EAAU,OAC9B,OAEF,GAAI,KAAK,eACP,OAEF,MAAMv3C,GAAS,KAAK,QAEpB,GADA,KAAK,eAAiBk+C,GAClBl+C,GAAO,WAAa,KAAM,CAC5B,MAAMm+C,GAAiB,KAAK,aAAan+C,GAAO,OAAO,EAAE,OACzD,GAAI,CAACg+C,IAAYh+C,GAAO,SAAW,EAAIm+C,IAAkBH,IAAYh+C,GAAO,SAAW,EAAG,CACxFA,GAAO,SAAWg+C,GAAWh+C,GAAO,SAAW,EAAIA,GAAO,SAAW,EACrExY,EAAA,KAAK0zD,GAAAkD,IAAL,UAAkB,IAClB,OAEF52D,EAAA,KAAKyzD,GAAAoD,IAAL,UAAwBL,IAE1Bx2D,EAAA,KAAKwzD,GAAA0C,IAAL,UACD,EACD3C,GAAA,YAAAuD,GAAa,SAAC9hD,GAAS,CACrB,MAAMwD,GAAS,KAAK,QACdu+C,GAAa/hD,GAAQ,OACrBwhD,GAAWr8D,EAAA,KAAK45D,IAAO,aAC7B,OAAIgD,IACFv+C,GAAO,SAAWg+C,GAAWO,GAAa,EAAI,EAC9C/2D,EAAA,KAAK0zD,GAAAkD,IAAL,UAAkB,IACX,KAET52D,EAAA,KAAKyzD,GAAAoD,IAAL,UAAwBL,IACpBh+C,GAAO,UACTA,GAAO,SAAW,KACd,KAAK,eAAiB,IACxBxY,EAAA,KAAK0zD,GAAAkD,IAAL,UAAkB,IACX,IAGJ,GACR,EACDpD,GAAA,YAAA0C,GAAc,UAAG,CACX,KAAK,iBAAmB,MAC1B,QAAQ,MAAM,qCAAqC,EAErD,IAAIlhD,GAAU,KACd,EAAG,CACD,MAAMgiD,GAAU,KAAK,QAAQ,QAE7B,GADAhiD,GAAU,KAAK,aAAagiD,EAAO,EAC/B,CAAChiD,GAAS,CACZ,KAAK,eAAiBgiD,GACtB,aAEK,CAACh3D,EAAA,KAAKuzD,GAAAuD,IAAL,UAAmB9hD,IAC9B,EACDy+C,GAAA,YAAAoD,GAAkB,SAACL,GAAU,CAC3B,MAAMh+C,GAAS,KAAK,QACdk+C,GAAW,KAAK,aAAa,WACnCl+C,GAAO,QAAUg+C,GAAWh+C,GAAO,QAAU,EAAIA,GAAO,QAAU,EAClEA,GAAO,SAAW,KAClB,KAAK,kBACDA,GAAO,SAAWk+C,IAAYl+C,GAAO,QAAU,KACjDA,GAAO,QAAUg+C,GAAWE,GAAW,EAAI,EAC3Cl+C,GAAO,QAAU,GAEpB,EACDk7C,GAAA,YAAAkD,GAAY,SAAC7gC,GAAQ,GAAO,CAC1B,IAAIH,GAAQm6B,EAAU,UACtB,MAAMkH,GAAU,KAAK,QAAQ,QAE7B,GADA,KAAK,QAAQ,QAAU,GACnBlhC,GAAO,CACT,MAAMmhC,GAAe,KAAK,UAAU,QACpC,KAAK,UAAU,QAAU,KAAK,QAAQ,QACtC,KAAK,UAAU,SAAW,KAAK,QAAQ,SACvCthC,GAAQqhC,GAAUlH,EAAU,QAAUA,EAAU,MAC5CmH,KAAiB,IAAMA,KAAiB,KAAK,UAAU,SACzDl3D,EAAA,KAAKozD,EAAA6C,IAAL,UAAiBiB,IAGrBl3D,EAAA,KAAK8zD,EAAAU,IAAL,UAAoB5+B,GAAOz7B,EAAA,KAAK45D,IAAO,cACnC,KAAK,UAAU,UAAY,KAC7B,KAAK,eAAiB,GACtB/zD,EAAA,KAAKozD,EAAA6C,IAAL,UAAiB,KAAK,UAAU,SAEnC,EACDtC,GAAA,YAAAS,GAAe,SAACnwD,GAAK,CACnB,MAAMm7C,GAAc,KAAK,aACzB,KAAK,qBAAqB,QAAQ,KAAK,IAAM,CACvC,CAAC,KAAK,cAAgBA,IAAe,KAAK,eAAiBA,KAG3D,KAAK,eACP,aAAa,KAAK,YAAY,EAC9B,KAAK,aAAe,MAElB,KAAK,iBACP,KAAK,eAAiB,KACtB,KAAK,YAAc,IAErBp/C,EAAA,KAAK8zD,EAAAU,IAAL,UAAoBzE,EAAU,OAC9B,KAAK,kBAAoB,GACzB/vD,EAAA,KAAKqzD,EAAAuB,IAAL,WACN,CAAK,CACF,EACDhB,GAAA,YAAAuD,GAAoB,UAAG,QACrB,KAAM,CACJ,QAAAH,GACA,SAAAI,EACN,EAAQ,KAAK,UACT,IAAIx9C,GAAU,EACZxb,GAAQ,KAAK,mBACf,GAAIg5D,KAAa,GAAI,CACnB,QAAShiE,GAAI,EAAGA,GAAI4hE,GAAS5hE,KAC3BwkB,MAAW/b,GAAA,KAAK,aAAazI,EAAC,IAAnB,YAAAyI,GAAsB,SAAU,EAE7C+b,IAAWw9C,GAAW,EAExB,OAAIx9C,GAAU,GAAKA,GAAUxb,MAC3Bwb,GAAUxb,GAAQ,GAEb,CACL,QAAAwb,GACA,MAAAxb,EACN,CACG,EACDy1D,EAAA,YAAAuC,GAAqB,UAAG,CACtB,KAAK,UAAU,SAAS,yBAA0B,CAChD,OAAQ,KACR,aAAcp2D,EAAA,KAAK4zD,GAAAuD,IAAL,UACpB,CAAK,CACF,EACDrD,EAAA,YAAAU,GAAc,SAAC5+B,GAAO4gC,GAAW,GAAO,QAClC,CAACr8D,EAAA,KAAK65D,MAAkC75D,EAAA,KAAK85D,MAAuB,KAAK,aAAa,YAAcr+B,KAAUm6B,EAAU,UAG5H,KAAK,UAAU,SAAS,yBAA0B,CAChD,OAAQ,KACR,MAAAn6B,GACA,SAAA4gC,GACA,aAAcx2D,EAAA,KAAK4zD,GAAAuD,IAAL,WACd,WAAUt5D,GAAA1D,EAAA,KAAK45D,MAAL,YAAAl2D,GAAa,QAAS,IACtC,CAAK,CACF,EAEHzN,EAAQ,kBAAoBsiE,CAErB,EAEA,CAACviE,EAAyBC,IAAY,CAI7C,OAAO,eAAeA,EAAS,aAAe,CAC5C,MAAO,EACT,GACAA,EAAQ,cAAgB,OACxBA,EAAQ,iBAAmBinE,EAC3BjnE,EAAQ,qBAAuBknE,EAC/B,MAAMC,EAAgB,CACpB,MAAO,EACP,aAAc,EACd,MAAO,EACP,WAAY,EACZ,gBAAiB,EACjB,gBAAiB,EACjB,0BAA2B,EAC3B,YAAa,CACf,EACAnnE,EAAQ,cAAgBmnE,EACxB,SAASC,EAAqBC,EAAU,CACtC,OAAOA,EAAW,KACnB,CACD,SAASC,EAAQD,EAAU,CACzB,OAAQA,EAAW,SAAY,CAChC,CACD,SAASE,EAAaF,EAAU,CAC9B,OAAOA,GAAY,IAAQA,GAAY,KAAQA,GAAY,IAAQA,GAAY,EAChF,CACD,SAASG,EAAaH,EAAU,CAC9B,OAAOA,GAAY,IAAQA,GAAY,EACxC,CACD,SAASI,EAAaJ,EAAU,CAC9B,OAAOA,IAAa,IAAQA,IAAa,GAAQA,IAAa,IAAQA,IAAa,EACpF,CACD,SAASK,EAAML,EAAU,CACvB,OAAOA,GAAY,OAAUA,GAAY,OAAUA,GAAY,OAAUA,GAAY,KACtF,CACD,SAASM,EAAWN,EAAU,CAC5B,OAAOA,GAAY,OAAUA,GAAY,KAC1C,CACD,SAASO,EAAWP,EAAU,CAC5B,OAAOA,GAAY,OAAUA,GAAY,KAC1C,CACD,SAASQ,EAAoBR,EAAU,CACrC,OAAOA,GAAY,OAAUA,GAAY,KAC1C,CACD,SAASS,EAAOT,EAAU,CACxB,OAAQA,EAAW,SAAY,IAChC,CACD,SAASJ,EAAiBI,EAAU,CAClC,OAAID,EAAqBC,CAAQ,EAC3BC,EAAQD,CAAQ,EACdI,EAAaJ,CAAQ,EAChBF,EAAc,MACZI,EAAaF,CAAQ,GAAKG,EAAaH,CAAQ,GAAKA,IAAa,GACnEF,EAAc,aAEhBA,EAAc,MACZW,EAAOT,CAAQ,EACjBF,EAAc,YACZE,IAAa,IACfF,EAAc,MAEhBA,EAAc,aAEnBO,EAAML,CAAQ,EACTF,EAAc,WACZQ,EAAWN,CAAQ,EACrBF,EAAc,gBACZS,EAAWP,CAAQ,EACrBF,EAAc,gBACZU,EAAoBR,CAAQ,EAC9BF,EAAc,0BAEhBA,EAAc,YACtB,CACD,IAAIY,EACJ,SAASb,GAAuB,CAC9B,OAAAa,MAAsB,sXACfA,CACR,CAEM,EAEA,CAAChoE,EAAyBC,EAAS8V,IAAwB,CAIlE,OAAO,eAAe9V,EAAS,aAAe,CAC5C,MAAO,EACT,GACAA,EAAQ,WAAa,OACrBA,EAAQ,kBAAoBgoE,EAC5BhoE,EAAQ,kBAAoBioE,EAC5B,IAAI9Z,EAAYr4C,EAAoB,CAAC,EACjCoyD,EAAepyD,EAAoB,CAAC,EACxC,MAAMqyD,EAAsB,IACtBC,EAA6B,GAC7BC,EAA0B,IAChC,SAASC,GAAiB,CACxB,OAAO,SAAS,SAAS,IAC1B,CACD,MAAMC,CAAW,CACf,YAAY,CACV,YAAA5nB,EACA,SAAAxlC,CACJ,EAAK,CACD,KAAK,YAAcwlC,EACnB,KAAK,SAAWxlC,EAChB,KAAK,aAAe,GACpB,KAAK,aAAe,GACpB,KAAK,MAAK,EACV,KAAK,aAAe,KACpB,KAAK,SAAS,IAAI,YAAa,IAAM,CACnC,KAAK,eAAiB,GACtB,KAAK,SAAS,IAAI,cAAetH,GAAO,CACtC,KAAK,eAAiB,CAAC,CAACA,EAAI,UACpC,EAAS,CACD,KAAM,EACd,CAAO,CACP,CAAK,CACF,CACD,WAAW,CACT,YAAA20D,EACA,aAAAC,EAAe,GACf,UAAAC,EAAY,EAChB,EAAK,CACD,GAAI,CAACF,GAAe,OAAOA,GAAgB,SAAU,CACnD,QAAQ,MAAM,sEAAsE,EACpF,OAEE,KAAK,cACP,KAAK,MAAK,EAEZ,MAAMG,EAAgB,KAAK,eAAiB,IAAM,KAAK,eAAiBH,EACxE,KAAK,aAAeA,EACpB,KAAK,WAAaE,IAAc,GAChC,KAAK,aAAe,GACpB,KAAK,YAAW,EAChB,MAAMljC,EAAQ,OAAO,QAAQ,MAQ7B,GAPA,KAAK,oBAAsB,GAC3B,KAAK,iBAAmB,EACxB,KAAK,aAAe8iC,IACpB,KAAK,oBAAsB,EAC3B,KAAK,KAAO,KAAK,QAAU,EAC3B,KAAK,aAAe,KACpB,KAAK,UAAY,KACb,CAAC,KAAK,cAAc9iC,EAAO,EAAI,GAAKijC,EAAc,CACpD,KAAM,CACJ,KAAA5xD,EACA,KAAAnD,EACA,SAAA7E,CACR,EAAU,KAAK,kBAAkB,EAAI,EAC/B,GAAI,CAACgI,GAAQ8xD,GAAiBF,EAAc,CAC1C,KAAK,oBAAoB,KAAM,EAAI,EACnC,OAEF,KAAK,oBAAoB,CACvB,KAAA5xD,EACA,KAAAnD,EACA,SAAA7E,CACD,EAAE,EAAI,EACP,OAEF,MAAMoyC,EAAczb,EAAM,YAC1B,KAAK,qBAAqByb,EAAazb,EAAM,IAAK,EAAI,EAClDyb,EAAY,WAAa,SAC3B,KAAK,iBAAmBA,EAAY,UAElCA,EAAY,MACd,KAAK,iBAAmB,KAAK,UAAUA,EAAY,IAAI,EACvD,KAAK,aAAa,KAAO,MAChBA,EAAY,KACrB,KAAK,iBAAmBA,EAAY,KAC3BA,EAAY,OACrB,KAAK,iBAAmB,QAAQA,EAAY,OAE/C,CACD,OAAQ,CACF,KAAK,eACP,KAAK,UAAS,EACd,KAAK,aAAe,GACpB,KAAK,cAAa,GAEhB,KAAK,yBACP,aAAa,KAAK,sBAAsB,EACxC,KAAK,uBAAyB,MAEhC,KAAK,iBAAmB,KACxB,KAAK,iBAAmB,IACzB,CACD,KAAK,CACH,UAAAkO,EAAY,KACZ,aAAAC,EACA,WAAAjhD,CACJ,EAAK,CACD,GAAI,CAAC,KAAK,aACR,OAEF,GAAIghD,GAAa,OAAOA,GAAc,SAAU,CAC9C,QAAQ,MAAM,qBAA0BA,wCAAgD,EACxF,eACU,MAAM,QAAQC,CAAY,GAG/B,GAAI,CAAC,KAAK,aAAajhD,CAAU,IAClCA,IAAe,MAAQ,KAAK,cAAc,CAC5C,QAAQ,MAAM,qBAA0BA,yCAAkD,EAC1F,YANqC,CACvC,QAAQ,MAAM,qBAA0BihD,2CAAsD,EAC9F,OAOF,MAAMv4C,EAAOs4C,GAAa,KAAK,UAAUC,CAAY,EACrD,GAAI,CAACv4C,EACH,OAEF,IAAI+xD,EAAe,GACnB,GAAI,KAAK,eAAiBX,EAAkB,KAAK,aAAa,KAAMpxD,CAAI,GAAKmxD,EAAkB,KAAK,aAAa,KAAM5Y,CAAY,GAAI,CACrI,GAAI,KAAK,aAAa,KACpB,OAEFwZ,EAAe,GAEb,KAAK,qBAAuB,CAACA,IAGjC,KAAK,oBAAoB,CACvB,KAAMxZ,EACN,KAAAv4C,EACA,KAAM1I,EACN,SAAU,KAAK,YAAY,QAC5B,EAAEy6D,CAAY,EACV,KAAK,sBACR,KAAK,oBAAsB,GAC3B,QAAQ,UAAU,KAAK,IAAM,CAC3B,KAAK,oBAAsB,EACnC,CAAO,GAEJ,CACD,SAASz6D,EAAY,OACnB,GAAK,KAAK,aAGV,IAAI,CAAC,KAAK,aAAaA,CAAU,EAAG,CAClC,QAAQ,MAAM,yBAAyBA,gCAAyC,EAChF,SAEEV,EAAA,KAAK,eAAL,YAAAA,EAAmB,QAASU,IAG5B,KAAK,sBAGT,KAAK,oBAAoB,CACvB,KAAM,KACN,KAAM,QAAQA,IACd,KAAMA,EACN,SAAU,KAAK,YAAY,QACjC,CAAK,EACI,KAAK,sBACR,KAAK,oBAAsB,GAC3B,QAAQ,UAAU,KAAK,IAAM,CAC3B,KAAK,oBAAsB,EACnC,CAAO,KAEJ,CACD,qBAAsB,CAChB,CAAC,KAAK,cAAgB,KAAK,qBAG/B,KAAK,wBAAuB,CAC7B,CACD,MAAO,CACL,GAAI,CAAC,KAAK,cAAgB,KAAK,oBAC7B,OAEF,MAAMq3B,EAAQ,OAAO,QAAQ,MACzB,KAAK,cAAcA,CAAK,GAAKA,EAAM,IAAM,GAC3C,OAAO,QAAQ,MAElB,CACD,SAAU,CACR,GAAI,CAAC,KAAK,cAAgB,KAAK,oBAC7B,OAEF,MAAMA,EAAQ,OAAO,QAAQ,MACzB,KAAK,cAAcA,CAAK,GAAKA,EAAM,IAAM,KAAK,SAChD,OAAO,QAAQ,SAElB,CACD,IAAI,oBAAqB,CACvB,OAAO,KAAK,eAAiB,KAAK,qBAAuB,KAAK,iBAAmB,EAClF,CACD,IAAI,iBAAkB,CACpB,OAAO,KAAK,aAAe,KAAK,iBAAmB,IACpD,CACD,IAAI,iBAAkB,CACpB,OAAO,KAAK,aAAe,KAAK,iBAAmB,IACpD,CACD,oBAAoByb,EAAa2nB,EAAe,GAAO,CACrD,MAAMC,EAAgBD,GAAgB,CAAC,KAAK,aACtCE,EAAW,CACf,YAAa,KAAK,aAClB,IAAKD,EAAgB,KAAK,KAAO,KAAK,KAAO,EAC7C,YAAA5nB,CACN,EACI,KAAK,qBAAqBA,EAAa6nB,EAAS,GAAG,EACnD,IAAIC,EACJ,GAAI,KAAK,aAAc9nB,GAAA,MAAAA,EAAa,MAAM,CACxC,MAAM19C,EAAU,SAAS,SAAS,KAAK,MAAM,GAAG,EAAE,CAAC,EAC9CA,EAAQ,WAAW,SAAS,IAC/BwlE,EAAS,GAAGxlE,KAAW09C,EAAY,QAGnC4nB,EACF,OAAO,QAAQ,aAAaC,EAAU,GAAIC,CAAM,EAEhD,OAAO,QAAQ,UAAUD,EAAU,GAAIC,CAAM,CAEhD,CACD,wBAAwBC,EAAY,GAAO,CACzC,GAAI,CAAC,KAAK,UACR,OAEF,IAAIC,EAAW,KAAK,UAKpB,GAJID,IACFC,EAAW,OAAO,OAAO,OAAO,OAAO,IAAI,EAAG,KAAK,SAAS,EAC5DA,EAAS,UAAY,IAEnB,CAAC,KAAK,aAAc,CACtB,KAAK,oBAAoBA,CAAQ,EACjC,OAEF,GAAI,KAAK,aAAa,UAAW,CAC/B,KAAK,oBAAoBA,EAAU,EAAI,EACvC,OAKF,GAHI,KAAK,aAAa,OAASA,EAAS,MAGpC,CAAC,KAAK,aAAa,MAA4C,KAAK,qBAAuBb,EAC7F,OAEF,IAAIQ,EAAe,GACnB,GAAI,KAAK,aAAa,MAAQK,EAAS,OAAS,KAAK,aAAa,MAAQA,EAAS,KAAM,CACvF,GAAI,KAAK,aAAa,OAAS,QAAa,CAAC,KAAK,aAAa,MAC7D,OAEFL,EAAe,GAEjB,KAAK,oBAAoBK,EAAUL,CAAY,CAChD,CACD,aAAav7D,EAAK,CAChB,OAAO,OAAO,UAAUA,CAAG,GAAKA,EAAM,GAAKA,GAAO,KAAK,YAAY,UACpE,CACD,cAAcm4B,EAAO0jC,EAAc,GAAO,CACxC,GAAI,CAAC1jC,EACH,MAAO,GAET,GAAIA,EAAM,cAAgB,KAAK,aAC7B,GAAI0jC,EAAa,CACf,GAAI,OAAO1jC,EAAM,aAAgB,UAAYA,EAAM,YAAY,SAAW,KAAK,aAAa,OAC1F,MAAO,GAET,KAAM,CAAC2jC,CAAS,EAAI,YAAY,iBAAiB,YAAY,EAC7D,IAAIA,GAAA,YAAAA,EAAW,QAAS,SACtB,MAAO,OAGT,OAAO,GAMX,MAHI,GAAC,OAAO,UAAU3jC,EAAM,GAAG,GAAKA,EAAM,IAAM,GAG5CA,EAAM,cAAgB,MAAQ,OAAOA,EAAM,aAAgB,SAIhE,CACD,qBAAqByb,EAAamoB,EAAKC,EAAkB,GAAO,CAC1D,KAAK,yBACP,aAAa,KAAK,sBAAsB,EACxC,KAAK,uBAAyB,MAE5BA,IAAmBpoB,GAAA,MAAAA,EAAa,YAClC,OAAOA,EAAY,UAErB,KAAK,aAAeA,EACpB,KAAK,KAAOmoB,EACZ,KAAK,QAAU,KAAK,IAAI,KAAK,QAASA,CAAG,EACzC,KAAK,oBAAsB,CAC5B,CACD,kBAAkBE,EAAiB,GAAO,CACxC,MAAMzyD,EAAO,SAASyxD,EAAgB,CAAA,EAAE,UAAU,CAAC,EAC7C3oE,KAAawuD,EAAU,kBAAkBt3C,CAAI,EAC7C0yD,EAAY5pE,EAAO,IAAI,WAAW,GAAK,GAC7C,IAAI+T,EAAO/T,EAAO,IAAI,MAAM,EAAI,EAChC,OAAI,CAAC,KAAK,aAAa+T,CAAI,GAAK41D,GAAkBC,EAAU,OAAS,KACnE71D,EAAO,MAEF,CACL,KAAAmD,EACA,KAAAnD,EACA,SAAU,KAAK,YAAY,QACjC,CACG,CACD,gBAAgB,CACd,SAAA81D,CACJ,EAAK,CACG,KAAK,yBACP,aAAa,KAAK,sBAAsB,EACxC,KAAK,uBAAyB,MAEhC,KAAK,UAAY,CACf,KAAMA,EAAS,cAAc,UAAU,CAAC,EACxC,KAAM,KAAK,YAAY,KACvB,MAAOA,EAAS,WAChB,SAAUA,EAAS,QACzB,EACQ,MAAK,sBAG6B,KAAK,gBAAkB,KAAK,cAAgB,CAAC,KAAK,aAAa,MACnG,KAAK,sBAGL,KAAK,uBAAyB,WAAW,IAAM,CACxC,KAAK,qBACR,KAAK,wBAAwB,EAAI,EAEnC,KAAK,uBAAyB,IAC/B,EAAEnB,CAAuB,EAE7B,CACD,UAAU,CACR,MAAA7iC,CACJ,EAAK,CACD,MAAMikC,EAAUnB,EAAgB,EAC9BoB,EAAc,KAAK,eAAiBD,EAEtC,GADA,KAAK,aAAeA,EAChB,CAACjkC,EAAO,CACV,KAAK,OACL,KAAM,CACJ,KAAA3uB,EACA,KAAAnD,EACA,SAAA7E,CACR,EAAU,KAAK,oBACT,KAAK,oBAAoB,CACvB,KAAAgI,EACA,KAAAnD,EACA,SAAA7E,CACD,EAAE,EAAI,EACP,OAEF,GAAI,CAAC,KAAK,cAAc22B,CAAK,EAC3B,OAEF,KAAK,oBAAsB,GACvBkkC,IACF,KAAK,sBACDxB,EAAa,sBAAsB,CACrC,OAAQ,OACR,KAAM,aACN,MAAOC,CACf,CAAO,EAAE,KAAK,IAAM,CACZ,KAAK,kBACb,CAAO,GAEH,MAAMlnB,EAAczb,EAAM,YAC1B,KAAK,qBAAqByb,EAAazb,EAAM,IAAK,EAAI,KAC9C2oB,EAAU,iBAAiBlN,EAAY,QAAQ,IACrD,KAAK,YAAY,SAAWA,EAAY,UAEtCA,EAAY,KACd,KAAK,YAAY,gBAAgBA,EAAY,IAAI,EACxCA,EAAY,KACrB,KAAK,YAAY,QAAQA,EAAY,IAAI,EAChCA,EAAY,OACrB,KAAK,YAAY,KAAOA,EAAY,MAEtC,QAAQ,UAAU,KAAK,IAAM,CAC3B,KAAK,oBAAsB,EACjC,CAAK,CACF,CACD,WAAY,EACN,CAAC,KAAK,cAAgB,KAAK,aAAa,YAC1C,KAAK,wBAAuB,CAE/B,CACD,aAAc,CACR,KAAK,eAGT,KAAK,aAAe,CAClB,eAAgB,KAAK,gBAAgB,KAAK,IAAI,EAC9C,SAAU,KAAK,UAAU,KAAK,IAAI,EAClC,SAAU,KAAK,UAAU,KAAK,IAAI,CACxC,EACI,KAAK,SAAS,IAAI,iBAAkB,KAAK,aAAa,cAAc,EACpE,OAAO,iBAAiB,WAAY,KAAK,aAAa,QAAQ,EAC9D,OAAO,iBAAiB,WAAY,KAAK,aAAa,QAAQ,EAC/D,CACD,eAAgB,CACT,KAAK,eAGV,KAAK,SAAS,KAAK,iBAAkB,KAAK,aAAa,cAAc,EACrE,OAAO,oBAAoB,WAAY,KAAK,aAAa,QAAQ,EACjE,OAAO,oBAAoB,WAAY,KAAK,aAAa,QAAQ,EACjE,KAAK,aAAe,KACrB,CACF,CACDjhD,EAAQ,WAAauoE,EACrB,SAASN,EAAkB0B,EAAUC,EAAU,CAC7C,OAAI,OAAOD,GAAa,UAAY,OAAOC,GAAa,SAC/C,GAELD,IAAaC,MAGKzb,EAAU,kBAAkBwb,CAAQ,EAAE,IAAI,WAAW,IACzDC,CAInB,CACD,SAAS5B,EAAkB6B,EAAWC,EAAY,CAChD,SAASC,EAAa9iE,EAAOC,EAAQ,CAInC,GAHI,OAAOD,GAAU,OAAOC,GAGxB,MAAM,QAAQD,CAAK,GAAK,MAAM,QAAQC,CAAM,EAC9C,MAAO,GAET,GAAID,IAAU,MAAQ,OAAOA,GAAU,UAAYC,IAAW,KAAM,CAClE,GAAI,OAAO,KAAKD,CAAK,EAAE,SAAW,OAAO,KAAKC,CAAM,EAAE,OACpD,MAAO,GAET,UAAW7B,KAAO4B,EAChB,GAAI,CAAC8iE,EAAa9iE,EAAM5B,CAAG,EAAG6B,EAAO7B,CAAG,CAAC,EACvC,MAAO,GAGX,MAAO,GAET,OAAO4B,IAAUC,GAAU,OAAO,MAAMD,CAAK,GAAK,OAAO,MAAMC,CAAM,CACtE,CAID,GAHI,EAAE,MAAM,QAAQ2iE,CAAS,GAAK,MAAM,QAAQC,CAAU,IAGtDD,EAAU,SAAWC,EAAW,OAClC,MAAO,GAET,QAAS9kE,EAAI,EAAGkE,EAAK2gE,EAAU,OAAQ7kE,EAAIkE,EAAIlE,IAC7C,GAAI,CAAC+kE,EAAaF,EAAU7kE,CAAC,EAAG8kE,EAAW9kE,CAAC,CAAC,EAC3C,MAAO,GAGX,MAAO,EACR,CAEM,EAEA,CAACjF,EAAyBC,EAAS8V,IAAwB,oEAIlE,OAAO,eAAe9V,EAAS,aAAe,CAC5C,MAAO,EACT,GACAA,EAAQ,YAAc,OACtB,IAAIy3D,EAAY3hD,EAAoB,CAAC,EACjCq4C,EAAYr4C,EAAoB,CAAC,EACjCk0D,EAAmCl0D,EAAoB,EAAE,EACzDm0D,EAA4Bn0D,EAAoB,CAAC,EACjDo0D,EAAep0D,EAAoB,EAAE,EACrC4hD,EAAc5hD,EAAoB,CAAC,EACnCq0D,EAAoBr0D,EAAoB,CAAC,EACzCs0D,EAA6Bt0D,EAAoB,EAAE,EACnDu0D,EAAsBv0D,EAAoB,EAAE,EAC5Cw0D,EAAoBx0D,EAAoB,EAAE,EAC1Cy0D,EAAsBz0D,EAAoB,EAAE,EAC5C00D,EAAqB10D,EAAoB,EAAE,EAC/C,MAAM20D,EAAoBP,EAAa,oBAAoB,iBAAmB,SACxEQ,EAA2B,KACxB,CACL,0BAA2B,KAC3B,kBAAmB,KACnB,gBAAiB,KACjB,gBAAiB,GACjB,oBAAqB,KACrB,eAAgB,KAChB,oBAAqB,KACrB,IAAI,aAAc,CAChB,OAAO,IAAIP,EAAkB,iBAC9B,CACL,GAEA,MAAMQ,CAAY,CAahB,YAAYnnE,EAAS,CA0FrBgG,EAAA,KAAAohE,IAkCAphE,EAAA,KAAMqhE,IAeNrhE,EAAA,KAAMshE,GAeNthE,EAAA,KAAMuhE,IAkBNvhE,EAAA,KAAMwhE,GAkCNxhE,EAAA,KAAMyhE,GAYNzhE,EAAA,KAAM0hE,GAuQN1hE,EAAA,KAAM2hE,GA7eN3hE,EAAA,KAAA4hE,EAAkB3T,EAAU,eAAe,cAC3CjuD,EAAA,KAAA6hE,EAAmB,MACnB7hE,EAAA,KAAA8hE,EAAa,MACb9hE,EAAA,KAAA+hE,EAAoB,MACpB/hE,EAAA,KAAAgiE,EAAe,MACfhiE,EAAA,KAAAiiE,EAAkBtd,EAAU,gBAAgB,SAC5C3kD,EAAA,KAAAkiE,GAAiBvd,EAAU,cAAc,QACzC3kD,EAAA,KAAAmiE,EAAsB,CACpB,uBAAwB,GACxB,mBAAoB,EACxB,GACEniE,EAAA,KAAAoiE,GAAe,IAAI,eAEjB,MAAM1wD,EAAY1X,EAAQ,UACpBqoE,EAAkBroE,EAAQ,gBAChC,KAAK,GAAKA,EAAQ,GAClB,KAAK,YAAc,OAAS,KAAK,GACjCqG,GAAA,KAAKwhE,EAAmB7nE,EAAQ,iBAAmBknE,GACnD,KAAK,QAAU,KACf,KAAK,UAAY,KACjB,KAAK,SAAW,EAChB,KAAK,MAAQlnE,EAAQ,OAAS2qD,EAAU,cACxC,KAAK,SAAW0d,EAChB,KAAK,cAAgBA,EAAgB,SACrC,KAAK,8BAAgCroE,EAAQ,8BAAgC,KAC7E,KAAK,qBAAuB,GAC5BqG,GAAA,KAAK6hE,GAAiBloE,EAAQ,eAAiB2qD,EAAU,cAAc,QACvEtkD,GAAA,KAAKuhE,EAAkB5nE,EAAQ,gBAAkBi0D,EAAU,eAAe,cAC1E,KAAK,mBAAqBj0D,EAAQ,oBAAsB,GACxD,KAAK,eAAiBA,EAAQ,gBAAkB,GAChD,KAAK,2BAA6BA,EAAQ,4BAA8B,GACxE,KAAK,gBAAkBA,EAAQ,iBAAmBinE,EAClD,KAAK,WAAajnE,EAAQ,YAAc,KACxC,KAAK,SAAWA,EAAQ,SACxB,KAAK,eAAiBA,EAAQ,eAC9B,KAAK,KAAOA,EAAQ,MAAQk0D,EAAY,SACxC,KAAK,WAAa,KAClB,KAAK,OAAS,KACd,KAAK,cAAgB,GAACjqD,EAAA,KAAK,iBAAL,MAAAA,EAAqB,aAC3C,KAAK,qBAAuB,KAC5B,KAAK,gBAAkB,KACvB,KAAK,sBAAwB,KAC7B,KAAK,UAAY,KACjB,KAAK,UAAY,KACjB,KAAK,SAAW,KAChB,KAAK,gBAAkB,KACvB,MAAMyU,EAAM,SAAS,cAAc,KAAK,EAYxC,GAXAA,EAAI,UAAY,OAChBA,EAAI,aAAa,mBAAoB,KAAK,EAAE,EAC5CA,EAAI,aAAa,OAAQ,QAAQ,EACjC,KAAK,KAAK,IAAI,gBAAiB,CAC7B,KAAM,KAAK,EACjB,CAAK,EAAE,KAAK9e,GAAO,CACb8e,EAAI,aAAa,aAAc9e,CAAG,CACxC,CAAK,EACD,KAAK,IAAM8e,EACXtS,EAAA,KAAKg7D,GAAAkB,IAAL,WACA5wD,GAAA,MAAAA,EAAW,OAAOgH,GACd,KAAK,cAAe,CACtBhH,GAAA,MAAAA,EAAW,MAAM,YAAY,iBAAkB,KAAK,MAAQu8C,EAAU,cAAc,kBACpF,KAAM,CACJ,6BAAAloD,CACD,EAAG/L,EACA+L,GACFA,EAA6B,KAAKgB,IAAyB,CACrDhB,IAAiC,KAAK,gCAG1CxF,EAAA,KAAK4hE,GAAoB,uBAAyBp7D,GAAsB,qBAClF,CAAS,EAGN,CACD,IAAI,gBAAiB,CACnB,OAAOxG,EAAA,KAAK0hE,EACb,CACD,IAAI,eAAejmC,EAAO,CACxB,GAAIA,IAAUz7B,EAAA,KAAK0hE,GAQnB,OALA5hE,GAAA,KAAK4hE,EAAkBjmC,GACnBz7B,EAAA,KAAKuhE,KACP,aAAavhE,EAAA,KAAKuhE,EAAU,EAC5BzhE,GAAA,KAAKyhE,EAAa,OAEZ9lC,EAAK,CACX,KAAK2oB,EAAU,gBAAgB,OAC7B,KAAK,IAAI,UAAU,OAAO,SAAS,EACnC,MACF,KAAKA,EAAU,gBAAgB,QAC7B,KAAK,IAAI,UAAU,IAAI,aAAa,EACpCtkD,GAAA,KAAKyhE,EAAa,WAAW,IAAM,CACjC,KAAK,IAAI,UAAU,IAAI,SAAS,EAChCzhE,GAAA,KAAKyhE,EAAa,KACnB,EAAE,CAAC,GACJ,MACF,KAAKnd,EAAU,gBAAgB,QAC/B,KAAKA,EAAU,gBAAgB,SAC7B,KAAK,IAAI,UAAU,OAAO,cAAe,SAAS,EAClD,KACH,CACF,CAaD,WAAW0J,EAAS,CAClB,KAAK,QAAUA,EACf,KAAK,cAAgBA,EAAQ,OAC7B,MAAMkU,GAAiB,KAAK,SAAW,KAAK,eAAiB,IAC7D,KAAK,SAAWlU,EAAQ,YAAY,CAClC,MAAO,KAAK,MAAQJ,EAAU,cAAc,iBAC5C,SAAUsU,CAChB,CAAK,EACDn8D,EAAA,KAAKg7D,GAAAkB,IAAL,WACA,KAAK,MAAK,CACX,CACD,SAAU,OACR,KAAK,MAAK,GACVr+D,EAAA,KAAK,UAAL,MAAAA,EAAc,SACf,CACD,IAAI,kBAAmB,CACrB,SAAWgqD,EAAU,QAAQ,KAAM,mBAAoB,IAAI6S,EAAkB,gBAAgB,CAC3F,UAAW,KAAK,GAAK,EACrB,SAAU,KAAK,SACf,eAAgBvgE,EAAA,KAAKshE,GAAL,WAAwB,cACzC,CAAA,CAAC,CACH,CAwGD,gBAAgBW,EAAgB,GAAO,CACrC,GAAI,CAAC,KAAK,UACR,OAEF,MAAMC,EAAkB,KAAK,UAAU,WACvCliE,EAAA,KAAK6hE,IAAa,OAAOK,CAAe,EACxCA,EAAgB,MAAQ,EACxBA,EAAgB,OAAS,EACrBD,GACF,KAAK,UAAU,SAEjB,KAAK,UAAY,IAClB,CACD,MAAM,CACJ,cAAAE,EAAgB,GAChB,oBAAAC,EAAsB,GACtB,0BAAAC,EAA4B,GAC5B,aAAAC,EAAe,GACf,cAAAC,EAAgB,EACjB,EAAG,GAAI,oBACN,KAAK,gBAAgB,CACnB,oBAAAH,EACA,0BAAAC,EACA,aAAAC,EACA,cAAAC,CACN,CAAK,EACD,KAAK,eAAiBne,EAAU,gBAAgB,QAChD,MAAMjsC,EAAM,KAAK,IACXqqD,GAAarqD,EAAI,WACrBsqD,EAAgBN,GAAiB,KAAK,WAAa,KACnDO,EAAsBN,KAAuB1+D,GAAA,KAAK,kBAAL,YAAAA,GAAsB,MAAO,KAC1Ei/D,GAA4BN,KAA6Bz8D,GAAA,KAAK,wBAAL,YAAAA,GAA4B,MAAO,KAC5Fg9D,GAAeN,KAAgBr8D,GAAA,KAAK,WAAL,YAAAA,GAAe,MAAO,KACrD48D,GAAgBN,KAAiB1mC,GAAA,KAAK,YAAL,YAAAA,GAAgB,MAAO,KAC1D,QAAS5gC,GAAIunE,GAAW,OAAS,EAAGvnE,IAAK,EAAGA,KAAK,CAC/C,MAAMshC,GAAOimC,GAAWvnE,EAAC,EACzB,OAAQshC,GAAI,CACV,KAAKkmC,EACL,KAAKC,EACL,KAAKC,GACL,KAAKC,GACL,KAAKC,GACH,QACH,CACDtmC,GAAK,OAAM,EAEbpkB,EAAI,gBAAgB,aAAa,EAC7BuqD,GACF,KAAK,gBAAgB,OAEnBC,IACF,KAAK,sBAAsB,OAEzBC,IACF,KAAK,SAAS,OAEZC,IACF,KAAK,UAAU,QAEjBC,GAAA,KAAK,kBAAL,MAAAA,GAAsB,OACjBL,IACC,KAAK,SACPziE,EAAA,KAAK6hE,IAAa,OAAO,KAAK,MAAM,EACpC,KAAK,OAAO,MAAQ,EACpB,KAAK,OAAO,OAAS,EACrB,OAAO,KAAK,QAEd,KAAK,gBAAe,EAEvB,CACD,OAAO,CACL,MAAAnsE,EAAQ,EACR,SAAAoP,EAAW,KACX,6BAAAU,EAA+B,KAC/B,aAAAu9D,EAAe,EACnB,EAAK,OACD,KAAK,MAAQrtE,GAAS,KAAK,MACvB,OAAOoP,GAAa,WACtB,KAAK,SAAWA,GAEdU,aAAwC,UAC1C,KAAK,8BAAgCA,EACrCA,EAA6B,KAAKgB,IAAyB,CACrDhB,IAAiC,KAAK,gCAG1CxF,EAAA,KAAK4hE,GAAoB,uBAAyBp7D,GAAsB,qBAChF,CAAO,GAEH,MAAMw7D,GAAiB,KAAK,SAAW,KAAK,eAAiB,IAC7D,KAAK,SAAW,KAAK,SAAS,MAAM,CAClC,MAAO,KAAK,MAAQtU,EAAU,cAAc,iBAC5C,SAAUsU,CAChB,CAAK,EACDn8D,EAAA,KAAKg7D,GAAAkB,IAAL,WACI,KAAK,iBACPr+D,EAAA,KAAK,IAAI,aAAT,MAAAA,EAAqB,MAAM,YAAY,iBAAkB,KAAK,SAAS,QAEzE,IAAIs/D,EAAsB,GAC1B,GAAI,KAAK,QAAU,KAAK,gBAAkB,EAAG,CAC3C,KAAM,CACJ,MAAAp4D,GACA,OAAAC,EACR,EAAU,KAAK,SACH,CACJ,GAAAzN,GACA,GAAAC,EACR,EAAU,KAAK,aACJ,KAAK,MAAMuN,EAAK,EAAIxN,GAAK,IAAM,KAAK,MAAMyN,EAAM,EAAIxN,GAAK,GAAK,KAAK,kBACtE2lE,EAAsB,IAG1B,MAAMC,GAAc,KAAK,gBAAkB,KAAK,sBAAwBD,EAClEE,EAAkB,CAACD,IAAeF,GAAgB,GAAKA,EAAe,IAC5E,GAAI,KAAK,OAAQ,CACf,GAAIG,GAAmBD,GAAa,CAC9BC,GAAmB,KAAK,iBAAmB9e,EAAU,gBAAgB,WACvE,KAAK,gBAAgB,CACnB,cAAe,GACf,oBAAqB,GACrB,0BAA2B,GAC3B,aAAc,GACd,cAAe,GACf,iBAAkB2e,CAC9B,CAAW,EACD,KAAK,eAAiB3e,EAAU,gBAAgB,UAElD,KAAK,aAAa,CAChB,OAAQ,KAAK,OACb,sBAAuB,GACvB,4BAA6B,GAC7B,eAAgB,GAChB,gBAAiB,CAAC8e,EAClB,cAAeA,CACzB,CAAS,EACD,KAAK,SAAS,SAAS,eAAgB,CACrC,OAAQ,KACR,WAAY,KAAK,GACjB,aAAc,GACd,UAAW,YAAY,IAAK,EAC5B,MAAOljE,EAAA,KAAKyhE,EACtB,CAAS,EACD,OAEE,CAAC,KAAK,WAAa,CAAC,KAAK,OAAO,SAClC,KAAK,UAAY,KAAK,OAAO,WAC7B,KAAK,UAAU,MAAM,SAAW,YAGhC,KAAK,WACP,KAAK,aAAa,CAChB,OAAQ,KAAK,UAAU,UAC/B,CAAO,EAEH,KAAK,MAAM,CACT,cAAe,GACf,oBAAqB,GACrB,0BAA2B,GAC3B,aAAc,GACd,cAAe,EACrB,CAAK,CACF,CACD,gBAAgB,CACd,oBAAAW,EAAsB,GACtB,0BAAAC,EAA4B,GAC5B,aAAAC,EAAe,GACf,cAAAC,EAAgB,GAChB,iBAAAY,EAAmB,CACpB,EAAG,GAAI,OACF,KAAK,aACP,KAAK,WAAW,OAAOA,CAAgB,EACvC,KAAK,WAAa,MAEpB,KAAK,OAAS,KACV,KAAK,YAAc,CAACZ,GAAiB,CAAC,KAAK,UAAU,OACvD,KAAK,UAAU,SACf,KAAK,UAAY,MAEf,KAAK,iBAAmB,CAAC,KAAK,YAChC,KAAK,gBAAkB,MAErB,KAAK,kBAAoB,CAACH,GAAuB,CAAC,KAAK,gBAAgB,OACzE,KAAK,gBAAgB,SACrB,KAAK,gBAAkB,KACvB,KAAK,qBAAuB,MAE1B,KAAK,wBAA0B,CAACC,GAA6B,CAAC,KAAK,sBAAsB,OAC3F,KAAK,sBAAsB,SAC3B,KAAK,sBAAwB,MAE3B,KAAK,WAAa,CAACC,GAAgB,CAAC,KAAK,SAAS,OACpD,KAAK,SAAS,SACd,KAAK,SAAW,MAChB5+D,EAAA,KAAK,mBAAL,MAAAA,EAAuB,UAE1B,CACD,aAAa,CACX,OAAAqK,EACA,sBAAAq1D,EAAwB,GACxB,4BAAAC,EAA8B,GAC9B,eAAAC,EAAiB,GACjB,gBAAAC,EAAkB,GAClB,cAAAC,EAAgB,EACpB,EAAK,OACD,GAAI,CAACz1D,EAAO,aAAa,SAAS,EAAG,CACnCA,EAAO,aAAa,UAAW,EAAI,EACnC,KAAM,CACJ,MAAAQ,CACD,EAAGR,EACJQ,EAAM,MAAQA,EAAM,OAAS,GAE/B,MAAMk1D,GAAmBzjE,EAAA,KAAK6hE,IAAa,IAAI9zD,CAAM,EACrD,GAAI,KAAK,WAAa01D,GAAkB,CACtC,MAAMC,EAAmB,KAAK,SAAS,SAAWD,GAAiB,SAC7DE,GAAc,KAAK,IAAID,CAAgB,EAC7C,IAAI1hD,GAAS,EACXC,GAAS,EACX,GAAI0hD,KAAgB,IAAMA,KAAgB,IAAK,CAC7C,KAAM,CACJ,MAAA/4D,GACA,OAAAC,EACV,EAAY,KAAK,SACTmX,GAASnX,GAASD,GAClBqX,GAASrX,GAAQC,GAEnBkD,EAAO,MAAM,UAAY,UAAU21D,eAA8B1hD,OAAWC,MAE1EmhD,GAAyB,KAAK,iBAChCv9D,EAAA,KAAKi7D,GAAA8C,IAAL,WAEEP,GAA+B,KAAK,uBACtCx9D,EAAA,KAAKk7D,EAAA8C,IAAL,WAEEP,GAAkB,KAAK,UACzBz9D,EAAA,KAAKm7D,GAAA8C,IAAL,WAEE,KAAK,YACHN,GACF,KAAK,UAAU,QACf9/D,EAAA,KAAK,kBAAL,MAAAA,EAAsB,QACb6/D,GACT19D,EAAA,KAAKo7D,EAAA8C,IAAL,WAGL,CACD,IAAI,OAAQ,CACV,OAAO,KAAK,SAAS,KACtB,CACD,IAAI,QAAS,CACX,OAAO,KAAK,SAAS,MACtB,CACD,aAAa/1D,EAAGC,EAAG,CACjB,OAAO,KAAK,SAAS,kBAAkBD,EAAGC,CAAC,CAC5C,CAwBD,MAAM,MAAO,CACP,KAAK,iBAAmBm2C,EAAU,gBAAgB,UACpD,QAAQ,MAAM,qCAAqC,EACnD,KAAK,MAAK,GAEZ,KAAM,CACJ,IAAAjsC,EACA,KAAAkuB,EACA,WAAA3gC,EACA,QAAAooD,EACA,SAAAzoD,CACD,EAAG,KACJ,GAAI,CAACyoD,EACH,WAAK,eAAiB1J,EAAU,gBAAgB,SAC1C,IAAI,MAAM,uBAAuB,EAEzC,KAAK,eAAiBA,EAAU,gBAAgB,QAChD,MAAM4f,EAAgB,SAAS,cAAc,KAAK,EAalD,GAZAA,EAAc,UAAU,IAAI,eAAe,EAC3C7rD,EAAI,OAAO6rD,CAAa,EACpB,CAAC,KAAK,WAAahkE,EAAA,KAAK2hE,MAAmBvd,EAAU,cAAc,SAAW,CAAC0J,EAAQ,YACzF,KAAK,wBAAL,KAAK,sBAA0B,IAAIwS,EAAoB,0BACvD,KAAK,UAAY,IAAIE,EAAoB,iBAAiB,CACxD,YAAa,KAAK,iBAClB,qBAAsB,KAAK,sBAC3B,2BAA4B,KAAK,2BACjC,kBAAmBxgE,EAAA,KAAK2hE,MAAmBvd,EAAU,cAAc,kBAC3E,CAAO,EACDjsC,EAAI,OAAO,KAAK,UAAU,GAAG,GAE3B,CAAC,KAAK,iBAAmBnY,EAAA,KAAKqhE,KAAoB3T,EAAU,eAAe,QAAS,CACtF,KAAM,CACJ,kBAAAr8C,EACA,gBAAA08C,EACA,gBAAAG,EACA,oBAAAE,GACA,oBAAAD,GACA,YAAAvX,EACR,EAAU52C,EAAA,KAAKshE,GAAL,WACJ,KAAK,uBAAL,KAAK,qBAAyB,IAAI,KAClC,KAAK,gBAAkB,IAAIpB,EAA0B,uBAAuB,CAC1E,QAAS/nD,EACT,QAAA21C,EACA,kBAAAz8C,EACA,mBAAoB,KAAK,mBACzB,YAAarR,EAAA,KAAKqhE,KAAoB3T,EAAU,eAAe,aAC/D,YAAA9W,GACA,gBAAAmX,EACA,KAAA1nB,EACA,gBAAA6nB,EACA,oBAAAC,GACA,oBAAAC,GACA,oBAAqB,KAAK,qBAC1B,qBAAsB,KAAK,qBACnC,CAAO,EAEH,MAAM6V,GAAyBC,GAAQ,CAErC,GADAC,IAAA,MAAAA,GAAa,IACT,KAAK,gBAAkB,CAAC,KAAK,eAAe,kBAAkB,IAAI,EAAG,CACvE,KAAK,eAAiB/f,EAAU,gBAAgB,OAChD,KAAK,OAAS,IAAM,CAClB,KAAK,eAAiBA,EAAU,gBAAgB,QAChD8f,GACV,EACQ,OAEFA,GACN,EACU,CACJ,MAAAt5D,EACA,OAAAC,CACD,EAAGxF,EACEmT,GAAS,SAAS,cAAc,QAAQ,EAC9CA,GAAO,aAAa,OAAQ,cAAc,EAC1CA,GAAO,OAAS,GAChB,MAAM4rD,GAAS,CAAC,EAAE1+D,GAAA,MAAAA,EAAY,aAAcA,GAAA,MAAAA,EAAY,aACxD,IAAIy+D,GAAaE,GAAc,EACzB,CAACD,IAAUC,KACb7rD,GAAO,OAAS,GAChB2rD,GAAa,KAErB,EACIH,EAAc,OAAOxrD,EAAM,EAC3B,KAAK,OAASA,GACd,MAAMkD,GAAMlD,GAAO,WAAW,KAAM,CAClC,MAAO,EACb,CAAK,EACK8rD,GAAc,KAAK,YAAc,IAAIlgB,EAAU,YACrD,GAAI,KAAK,eAAgB,CACvB,MAAMmgB,EAAqBl/D,EAAS,MAAM,CACxC,MAAOqoD,EAAU,cAAc,gBACvC,CAAO,EACD4W,GAAY,IAAMC,EAAmB,MAAQ35D,EAC7C05D,GAAY,IAAMC,EAAmB,OAAS15D,EAEhD,GAAI,KAAK,gBAAkB,EAAG,CAC5B,MAAM25D,EAAmB55D,EAAQC,EAC3B45D,EAAW,KAAK,KAAK,KAAK,gBAAkBD,CAAgB,EAC9DF,GAAY,GAAKG,GAAYH,GAAY,GAAKG,GAChDH,GAAY,GAAKG,EACjBH,GAAY,GAAKG,EACjB,KAAK,qBAAuB,IAE5B,KAAK,qBAAuB,GAGhC,MAAMC,MAAUtgB,EAAU,qBAAqBkgB,GAAY,EAAE,EACvDK,MAAUvgB,EAAU,qBAAqBkgB,GAAY,EAAE,EAC7D9rD,GAAO,SAAY4rC,EAAU,eAAex5C,EAAQ05D,GAAY,GAAII,GAAI,CAAC,CAAC,EAC1ElsD,GAAO,UAAa4rC,EAAU,eAAev5C,EAASy5D,GAAY,GAAIK,GAAI,CAAC,CAAC,EAC5E,KAAM,CACJ,MAAAp2D,EACD,EAAGiK,GACJjK,GAAM,SAAY61C,EAAU,eAAex5C,EAAO85D,GAAI,CAAC,CAAC,EAAI,KAC5Dn2D,GAAM,UAAa61C,EAAU,eAAev5C,EAAQ85D,GAAI,CAAC,CAAC,EAAI,KAC9D3kE,EAAA,KAAK6hE,IAAa,IAAIrpD,GAAQnT,CAAQ,EACtC,MAAMpJ,GAAYqoE,GAAY,OAAS,CAACA,GAAY,GAAI,EAAG,EAAGA,GAAY,GAAI,EAAG,CAAC,EAAI,KAChFM,GAAgB,CACpB,cAAelpD,GACf,UAAAzf,GACA,SAAAoJ,EACA,eAAgBrF,EAAA,KAAKqhE,GACrB,6BAA8B,KAAK,8BACnC,oBAAqB,KAAK,qBAC1B,WAAA37D,CACN,EACUY,GAAa,KAAK,WAAa,KAAK,QAAQ,OAAOs+D,EAAa,EACtEt+D,GAAW,WAAa29D,GACxB,MAAMY,GAAgBv+D,GAAW,QAAQ,KAAK,SAAY,CAOxD,GANA69D,IAAA,MAAAA,GAAa,IACb,MAAMt+D,EAAA,KAAKu7D,EAAA0D,IAAL,UAAuBx+D,IAC7BT,EAAA,KAAKo7D,EAAA8C,IAAL,WACI,KAAK,iBACP,MAAMl+D,EAAA,KAAKi7D,GAAA8C,IAAL,WAEJ,CAAC,KAAK,sBAAuB,CAC/B,KAAM,CACJ,0BAAAmB,CACV,EAAY/kE,EAAA,KAAKshE,GAAL,WACJ,GAAI,CAACyD,EACH,OAEF,KAAK,sBAAwB,IAAI9E,EAAiC,6BAA6B,CAC7F,UAAW8E,EACX,QAAS5sD,EACT,QAAA21C,EACA,KAAAznB,EACA,qBAAsB,KAAK,qBACrC,CAAS,EAEHxgC,EAAA,KAAKk7D,EAAA8C,IAAL,UACD,EAAE19D,IACKA,aAAiBunD,EAAU,6BAC/ByW,IAAA,MAAAA,GAAa,IAERt+D,EAAA,KAAKu7D,EAAA0D,IAAL,UAAuBx+D,GAAYH,GAC3C,EACD,GAAI2nD,EAAQ,UAAW,CACrB,GAAK,KAAK,SAWC,KAAK,SAAS,KACvB31C,EAAI,OAAO,KAAK,SAAS,GAAG,MAZV,CAClB,KAAM,CACJ,kBAAA9G,EACA,YAAAulC,CACV,EAAY52C,EAAA,KAAKshE,GAAL,WACJ,KAAK,SAAW,IAAIb,EAAmB,gBAAgB,CACrD,QAAStoD,EACT,QAAA21C,EACA,kBAAAz8C,EACA,YAAAulC,CACV,CAAS,EAIH/wC,EAAA,KAAKm7D,GAAA8C,IAAL,WAEF,OAAA3rD,EAAI,aAAa,cAAe,EAAI,EACpC,KAAK,SAAS,SAAS,aAAc,CACnC,OAAQ,KACR,WAAY,KAAK,EACvB,CAAK,EACM0sD,EACR,CACD,aAAaG,EAAO,CAClB,KAAK,UAAY,OAAOA,GAAU,SAAWA,EAAQ,KACjD,KAAK,YAAc,KACrB,KAAK,IAAI,aAAa,kBAAmB,KAAK,SAAS,EAEvD,KAAK,IAAI,gBAAgB,iBAAiB,CAE7C,CACD,IAAI,iBAAkB,CACpB,KAAM,CACJ,uBAAAC,EACA,mBAAAC,CACN,EAAQllE,EAAA,KAAK4hE,GACT,OAAOqD,GAA0BC,EAAqB,KAAK,OAAS,IACrE,CACF,CAxsBC7D,EAAA,YACAC,EAAA,YACAC,EAAA,YACAC,EAAA,YACAC,EAAA,YACAC,EAAA,YACAC,GAAA,YACAC,EAAA,YAIAC,GAAA,YA2FAhB,GAAA,YAAAkB,GAAc,UAAG,CACf,KAAM,CACJ,SAAA18D,CACD,EAAG,KACJ,GAAI,KAAK,QAAS,CAChB,GAAIrF,EAAA,KAAKwhE,KAAsBn8D,EAAS,SACtC,OAEFvF,GAAA,KAAK0hE,EAAoBn8D,EAAS,aAEhCqoD,EAAU,oBAAoB,KAAK,IAAKroD,EAAU,GAAM,EAAK,CAClE,EAuBKy7D,GAAA,YAAA8C,GAAsB,gBAAG,CAC7B,IAAIz9D,EAAQ,KACZ,GAAI,CACF,MAAM,KAAK,gBAAgB,OAAO,KAAK,SAAU,SAAS,CAC3D,OAAQjH,EAAP,CACA,QAAQ,MAAM,4BAA4BA,KAAM,EAChDiH,EAAQjH,CACd,QAAc,CACR,KAAK,SAAS,SAAS,0BAA2B,CAChD,OAAQ,KACR,WAAY,KAAK,GACjB,MAAAiH,CACR,CAAO,CACF,CACF,EACK46D,EAAA,YAAA8C,GAA4B,gBAAG,CACnC,IAAI19D,EAAQ,KACZ,GAAI,CACF,MAAM,KAAK,sBAAsB,OAAO,KAAK,SAAU,SAAS,CACjE,OAAQjH,EAAP,CACA,QAAQ,MAAM,kCAAkCA,KAAM,EACtDiH,EAAQjH,CACd,QAAc,CACR,KAAK,SAAS,SAAS,gCAAiC,CACtD,OAAQ,KACR,WAAY,KAAK,GACjB,MAAAiH,CACR,CAAO,CACF,CACF,EACK66D,GAAA,YAAA8C,GAAe,gBAAG,CACtB,IAAI39D,EAAQ,KACZ,GAAI,CACF,MAAMizB,EAAS,MAAM,KAAK,SAAS,OAAO,KAAK,SAAU,SAAS,EAC9DA,GAAA,MAAAA,EAAQ,UAAY,KAAK,kBAC3BvzB,EAAA,KAAKs7D,EAAAgE,IAAL,UAA+B/rC,EAAO,SAEzC,OAAQl6B,EAAP,CACA,QAAQ,MAAM,qBAAqBA,KAAM,EACzCiH,EAAQjH,CACd,QAAc,CACR,KAAK,SAAS,SAAS,mBAAoB,CACzC,OAAQ,KACR,WAAY,KAAK,GACjB,MAAAiH,CACR,CAAO,CACF,CACF,EACK86D,EAAA,YAAA8C,GAAgB,gBAAG,CACvB,KAAM,CACJ,QAAAjW,EACA,UAAAsX,EACA,SAAA//D,CACD,EAAG,KACJ,GAAI,CAAC+/D,EACH,OAEF,IAAIj/D,EAAQ,KACZ,GAAI,CACF,GAAI,CAACi/D,EAAU,cAAe,CAC5B,MAAMr+D,EAAiB+mD,EAAQ,kBAAkB,CAC/C,qBAAsB,GACtB,qBAAsB,EAChC,CAAS,EACDsX,EAAU,qBAAqBr+D,CAAc,EAE/C,MAAMq+D,EAAU,OAAO//D,CAAQ,CAChC,OAAQnG,EAAP,CACA,GAAIA,aAAcwuD,EAAU,eAC1B,OAEF,QAAQ,MAAM,sBAAsBxuD,KAAM,EAC1CiH,EAAQjH,CACT,CACD,KAAK,SAAS,SAAS,oBAAqB,CAC1C,OAAQ,KACR,WAAY,KAAK,GACjB,YAAakmE,EAAU,YACvB,MAAAj/D,CACN,CAAK,EACDN,EAAA,KAAKq7D,EAAAmE,IAAL,UACD,EACKnE,EAAA,YAAAmE,GAAsB,gBAAG,WAC7B,GAAI,CAAC,KAAK,UACR,OAEF,KAAK,kBAAL,KAAK,gBAAoB,IAAIhF,EAA2B,wBACxD,MAAMiF,EAAO,MAAQ,KAAK,gBAAgB,cAA+C,KAA/B,KAAK,QAAQ,iBACjEC,GAAU7hE,EAAA,KAAK,kBAAL,YAAAA,EAAsB,OAAO4hE,GACzCC,KACF3/D,EAAA,KAAK,SAAL,MAAAA,EAAa,OAAO2/D,KAEtBt/D,EAAA,KAAK,kBAAL,MAAAA,EAAsB,MACvB,EACKk7D,EAAA,YAAAgE,GAAyB,eAAC5hC,EAAU,CACxC,MAAMvD,EAAO,MAAM,KAAK,QAAQ,eAAc,EACxC5D,EAAQ,CAAA,EACd,UAAWwH,KAAQ5D,EAAK,MACtB5D,EAAM,KAAKwH,EAAK,GAAG,EAErB,KAAK,iBAAiB,eAAeL,EAAUnH,CAAK,EACpD,KAAK,iBAAiB,QACvB,EA+PKglC,EAAA,YAAA0D,GAAiB,eAACx+D,EAAYH,EAAQ,KAAM,CAIhD,GAHIG,IAAe,KAAK,aACtB,KAAK,WAAa,MAEhBH,aAAiBunD,EAAU,4BAA6B,CAC1D5tD,GAAA,KAAK2hE,EAAe,MACpB,OAaF,GAXA3hE,GAAA,KAAK2hE,EAAet7D,GACpB,KAAK,eAAiBi+C,EAAU,gBAAgB,SAChD,KAAK,gBAAgB,EAAI,EACzBpkD,EAAA,KAAK4hE,GAAoB,mBAAqB,CAACt7D,EAAW,eAC1D,KAAK,SAAS,SAAS,eAAgB,CACrC,OAAQ,KACR,WAAY,KAAK,GACjB,aAAc,GACd,UAAW,YAAY,IAAK,EAC5B,MAAOtG,EAAA,KAAKyhE,EAClB,CAAK,EACGt7D,EACF,MAAMA,CAET,EAsMHlQ,EAAQ,YAAc2qE,CAEf,EAEA,CAAC5qE,EAAyBC,EAAS8V,IAAwB,OAIlE,OAAO,eAAe9V,EAAS,aAAe,CAC5C,MAAO,EACT,GACAA,EAAQ,6BAA+B,OACvC,IAAIy3D,EAAY3hD,EAAoB,CAAC,EACjC4hD,EAAc5hD,EAAoB,CAAC,EACvC,MAAMy5D,CAA6B,CAEjC,YAAY/rE,EAAS,CADrBgG,EAAA,KAAAqlC,EAAA,QAEE,KAAK,QAAUrrC,EAAQ,QACvB,KAAK,QAAUA,EAAQ,QACvB,KAAK,qBAAuBA,EAAQ,qBACpC,KAAK,KAAOA,EAAQ,MAAQk0D,EAAY,SACxC,KAAK,sBAAwB,KAC7B,KAAK,IAAM,KACX,KAAK,WAAa,GAClB7tD,GAAA,KAAKglC,EAAarrC,EAAQ,UAC3B,CACD,MAAM,OAAO4L,EAAUH,EAAS,UAAW,CAIzC,GAHIA,IAAW,WAGX,KAAK,WACP,OAEF,MAAMugE,EAAiBpgE,EAAS,MAAM,CACpC,SAAU,EAChB,CAAK,EACD,GAAI,KAAK,IAAK,CACZ,KAAK,sBAAsB,OAAO,CAChC,SAAUogE,CAClB,CAAO,EACD,KAAK,KAAI,EACT,OAEF,MAAMttD,EAAM,KAAK,IAAM,SAAS,cAAc,KAAK,EACnDA,EAAI,UAAY,wBAChBA,EAAI,SAAW,EACfA,EAAI,OAAS,GACb,KAAK,QAAQ,OAAOA,CAAG,EACvB,KAAK,sBAAwB,IAAIu1C,EAAU,sBAAsB,CAC/D,UAAW1tD,EAAA,KAAK8kC,GAChB,IAAA3sB,EACA,qBAAsB,KAAK,qBAC3B,UAAW,KAAK,QAAQ,WAAa,EACrC,KAAM,KAAK,KACX,SAAUstD,CAChB,CAAK,EACD,MAAMt4D,EAAa,CACjB,SAAUs4D,EACV,IAAAttD,EACA,YAAa,KACb,OAAAjT,CACN,EACI,KAAK,sBAAsB,OAAOiI,CAAU,EAC5C,KAAK,KAAI,CACV,CACD,QAAS,CACP,KAAK,WAAa,GACb,KAAK,MAGV,KAAK,QAAU,KACf,KAAK,sBAAsB,UAC3B,KAAK,IAAI,SACV,CACD,MAAO,CACA,KAAK,MAGV,KAAK,IAAI,OAAS,GACnB,CACD,MAAO,CACD,CAAC,KAAK,KAAO,KAAK,sBAAsB,UAG5C,KAAK,IAAI,OAAS,GACnB,CACF,CAvEC23B,EAAA,YAwEF7uC,EAAQ,6BAA+BuvE,CAEhC,EAEA,CAACxvE,EAAyBC,IAAY,CAI7C,OAAO,eAAeA,EAAS,aAAe,CAC5C,MAAO,EACT,GACAA,EAAQ,oBAAsBA,EAAQ,WAAaA,EAAQ,WAAa,OACxE,MAAMyvE,EAAsB,OAAO,OAAO,IAAI,EAC9CzvE,EAAQ,oBAAsByvE,EAC9B,CACE,MAAMC,EAAY,UAAU,WAAa,GACnCC,EAAW,UAAU,UAAY,GACjCC,EAAiB,UAAU,gBAAkB,EAC7CC,EAAY,UAAU,KAAKH,CAAS,EACpCI,EAAQ,4BAA4B,KAAKJ,CAAS,GAAKC,IAAa,YAAcC,EAAiB,GACxG,UAAqC,EAChCE,GAASD,KACXJ,EAAoB,gBAAkB,QAE5C,IACC,CACD,MAAMM,EAAa,CACjB,OAAQ,EACR,IAAK,EACL,OAAQ,EACR,WAAY,GACd,EACA/vE,EAAQ,WAAa+vE,EACrB,MAAMC,EAAiB,CACrB,qBAAsB,CACpB,MAAO,EACP,KAAMD,EAAW,OAASA,EAAW,UACtC,EACD,eAAgB,CACd,MAAO,EACP,KAAMA,EAAW,OAASA,EAAW,UACtC,EACD,iBAAkB,CAChB,MAAO,EACP,KAAMA,EAAW,OAASA,EAAW,UACtC,EACD,iBAAkB,CAChB,MAAO,IACP,KAAMA,EAAW,OAASA,EAAW,UACtC,EACD,iBAAkB,CAChB,MAAO,GACP,KAAMA,EAAW,OAASA,EAAW,UACtC,EACD,eAAgB,CACd,MAAO,GACP,KAAMA,EAAW,MAClB,EACD,kBAAmB,CACjB,MAAO,GACP,KAAMA,EAAW,OAASA,EAAW,UACtC,EACD,sBAAuB,CACrB,MAAO,GACP,KAAMA,EAAW,OAASA,EAAW,UACtC,EACD,kBAAmB,CACjB,MAAO,GACP,KAAMA,EAAW,OAASA,EAAW,UACtC,EACD,sBAAuB,CACrB,MAAO,GACP,KAAMA,EAAW,OAASA,EAAW,UACtC,EACD,gBAAiB,CACf,MAAO,GACP,KAAMA,EAAW,OAASA,EAAW,UACtC,EACD,gBAAiB,CACf,MAAO,+BACP,KAAMA,EAAW,MAClB,EACD,mBAAoB,CAClB,MAAO,EACP,KAAMA,EAAW,OAASA,EAAW,UACtC,EACD,iBAAkB,CAChB,MAAO,GACP,KAAMA,EAAW,OAASA,EAAW,UACtC,EACD,sBAAuB,CACrB,MAAO,GACP,KAAMA,EAAW,OAASA,EAAW,UACtC,EACD,mBAAoB,CAClB,MAAO,YACP,KAAMA,EAAW,MAClB,EACD,gBAAiB,CACf,MAAO,SACP,KAAMA,EAAW,MAClB,EACD,gBAAiB,CACf,MAAO,GACP,KAAMA,EAAW,OAASA,EAAW,UACtC,EACD,qBAAsB,CACpB,MAAO,SACP,KAAMA,EAAW,OAASA,EAAW,UACtC,EACD,qBAAsB,CACpB,MAAO,aACP,KAAMA,EAAW,OAASA,EAAW,UACtC,EACD,cAAe,CACb,MAAO,GACP,KAAMA,EAAW,OAASA,EAAW,UACtC,EACD,gBAAiB,CACf,MAAO,IACP,KAAMA,EAAW,MAClB,EACD,kBAAmB,CACjB,MAAO,GACP,KAAMA,EAAW,OAASA,EAAW,UACtC,EACD,iBAAkB,CAChB,MAAO,GACP,KAAMA,EAAW,OAASA,EAAW,UACtC,EACD,iBAAkB,CAChB,MAAO,GACP,KAAMA,EAAW,OAASA,EAAW,UACtC,EACD,cAAe,CACb,MAAO,EACP,KAAMA,EAAW,OAASA,EAAW,UACtC,EACD,eAAgB,CACd,MAAO,GACP,KAAMA,EAAW,OAASA,EAAW,UACtC,EACD,eAAgB,CACd,MAAO,EACP,KAAMA,EAAW,OAASA,EAAW,UACtC,EACD,WAAY,CACV,MAAO,EACP,KAAMA,EAAW,OAASA,EAAW,UACtC,EACD,WAAY,CACV,MAAO,GACP,KAAMA,EAAW,GAClB,EACD,QAAS,CACP,MAAO,gBACP,KAAMA,EAAW,GAClB,EACD,iBAAkB,CAChB,MAAO,GACP,KAAMA,EAAW,IAAMA,EAAW,UACnC,EACD,gBAAiB,CACf,MAAO,GACP,KAAMA,EAAW,IAAMA,EAAW,UACnC,EACD,aAAc,CACZ,MAAO,GACP,KAAMA,EAAW,IAAMA,EAAW,UACnC,EACD,cAAe,CACb,MAAO,GACP,KAAMA,EAAW,IAAMA,EAAW,UACnC,EACD,WAAY,CACV,MAAO,GACP,KAAMA,EAAW,GAClB,EACD,UAAW,CACT,MAAO,GACP,KAAMA,EAAW,IAAMA,EAAW,UACnC,EACD,oBAAqB,CACnB,MAAO,GACP,KAAMA,EAAW,GAClB,EACD,gBAAiB,CACf,MAAO,GACP,KAAMA,EAAW,GAClB,EACD,2BAA4B,CAC1B,MAAO,GACP,KAAMA,EAAW,GAClB,EACD,aAAc,CACZ,MAAO,GACP,KAAMA,EAAW,GAClB,EACD,OAAQ,CACN,MAAO,GACP,KAAMA,EAAW,GAClB,EACD,oBAAqB,CACnB,MAAO,yBACP,KAAMA,EAAW,GAClB,EACD,UAAW,CACT,MAAO,EACP,KAAMA,EAAW,GAClB,EACD,WAAY,CACV,MAAO,KACP,KAAMA,EAAW,MAClB,EACD,UAAW,CACT,MAAO,yBACP,KAAMA,EAAW,MAClB,CACH,EAEEC,EAAe,WAAa,CAC1B,MAAO,qCACP,KAAMD,EAAW,MACrB,EACEC,EAAe,mBAAqB,CAClC,MAAO,GACP,KAAMD,EAAW,MACrB,EACEC,EAAe,OAAS,CACtB,MAAO,UAAU,UAAY,QAC7B,KAAMD,EAAW,MACrB,EACEC,EAAe,iBAAmB,CAChC,MAAO,0BACP,KAAMD,EAAW,MACrB,EAEA,MAAME,EAAc,OAAO,OAAO,IAAI,EACtC,MAAMC,CAAW,CACf,aAAc,CACZ,MAAM,IAAI,MAAM,+BAA+B,CAChD,CACD,OAAO,IAAIjsE,EAAM,CACf,MAAMksE,EAAaF,EAAYhsE,CAAI,EACnC,GAAIksE,IAAe,OACjB,OAAOA,EAET,MAAMC,EAAgBJ,EAAe/rE,CAAI,EACzC,GAAImsE,IAAkB,OACpB,OAAOX,EAAoBxrE,CAAI,GAAKmsE,EAAc,KAGrD,CACD,OAAO,OAAO9lB,EAAO,KAAM,CACzB,MAAM9mD,EAAU,OAAO,OAAO,IAAI,EAClC,UAAWS,KAAQ+rE,EAAgB,CACjC,MAAMI,EAAgBJ,EAAe/rE,CAAI,EACzC,GAAIqmD,EAAM,CACR,GAAK,EAAAA,EAAO8lB,EAAc,MACxB,SAEF,GAAI9lB,IAASylB,EAAW,WAAY,CAClC,MAAMlsE,EAAQusE,EAAc,MAC1BC,EAAY,OAAOxsE,EACrB,GAAIwsE,IAAc,WAAaA,IAAc,UAAYA,IAAc,UAAY,OAAO,UAAUxsE,CAAK,EAAG,CAC1GL,EAAQS,CAAI,EAAIJ,EAChB,SAEF,MAAM,IAAI,MAAM,gCAAgCI,GAAM,GAG1D,MAAMksE,EAAaF,EAAYhsE,CAAI,EACnCT,EAAQS,CAAI,EAAIksE,IAAe,OAAYA,EAAaV,EAAoBxrE,CAAI,GAAKmsE,EAAc,MAErG,OAAO5sE,CACR,CACD,OAAO,IAAIS,EAAMJ,EAAO,CACtBosE,EAAYhsE,CAAI,EAAIJ,CACrB,CACD,OAAO,OAAOL,EAAS,CACrB,UAAWS,KAAQT,EACjBysE,EAAYhsE,CAAI,EAAIT,EAAQS,CAAI,CAEnC,CACD,OAAO,OAAOA,EAAM,CAClB,OAAOgsE,EAAYhsE,CAAI,CACxB,CACF,CACDjE,EAAQ,WAAakwE,EAEnBA,EAAW,gBAAkB,UAAY,CACvC,OAAO,OAAO,KAAKD,CAAW,EAAE,OAAS,CAC7C,CAGO,EAEA,CAAClwE,EAAyBC,IAAY,iBAI7C,OAAO,eAAeA,EAAS,aAAe,CAC5C,MAAO,EACT,GACAA,EAAQ,uBAAyB,OACjC,MAAMswE,EAAwB,CAC5B,SAAU,KACV,iBAAkB,KAClB,KAAM,QACN,KAAM,QACN,IAAK,QACL,MAAO,OACP,UAAW,OACX,EAAG,KACH,EAAG,UACH,MAAO,KACP,OAAQ,OACR,IAAK,QACL,IAAK,KACL,KAAM,KACN,GAAI,KACJ,OAAQ,KACR,KAAM,OACN,MAAO,OACP,KAAM,OACN,KAAM,KACN,GAAI,KACJ,GAAI,KACJ,GAAI,KACJ,QAAS,KACT,GAAI,KACJ,GAAI,KACJ,EAAG,OACH,GAAI,WACJ,MAAO,KACP,MAAO,QACP,GAAI,MACJ,GAAI,eACJ,GAAI,OACJ,MAAO,eACP,MAAO,KACP,MAAO,KACP,QAAS,KACT,OAAQ,SACR,QAAS,KACT,SAAU,IACZ,EACMC,EAAkB,WACxB,MAAMC,CAAuB,CAA7B,cAuBEhnE,EAAA,KAAAinE,GAWAjnE,EAAA,KAAAknE,GAjCAlnE,EAAA,KAAAmnE,EAAW,QACX,IAAI,eAAgB,CAClB,OAAO5mE,EAAA,KAAK4mE,KAAa,MAC1B,CACD,OAAOC,EAAY,CACjB,GAAI7mE,EAAA,KAAK4mE,KAAa,OACpB,OAAO5mE,EAAA,KAAK4mE,GAEd,MAAMrB,EAAU1/D,EAAA,KAAK8gE,EAAAG,IAAL,UAAWD,GAC3B,OAAAtB,GAAA,MAAAA,EAAS,UAAU,IAAI,cAChBzlE,GAAA,KAAK8mE,EAAWrB,EACxB,CACD,MAAO,CACDvlE,EAAA,KAAK4mE,IAAY,CAAC5mE,EAAA,KAAK4mE,GAAS,SAClC5mE,EAAA,KAAK4mE,GAAS,OAAS,GAE1B,CACD,MAAO,QACDljE,EAAA1D,EAAA,KAAK4mE,KAAL,MAAAljE,EAAe,SACjB1D,EAAA,KAAK4mE,GAAS,OAAS,GAE1B,CAyCF,CA9DCA,EAAA,YAsBAF,EAAA,YAAAK,GAAc,SAACC,EAAeC,EAAa,CACrCD,EAAc,MAAQ,QACxBC,EAAY,aAAa,aAAcD,EAAc,GAAG,EAEtDA,EAAc,KAAO,QACvBC,EAAY,aAAa,YAAaD,EAAc,EAAE,EAEpDA,EAAc,OAAS,QACzBC,EAAY,aAAa,OAAQD,EAAc,IAAI,CAEtD,EACDL,EAAA,YAAAG,GAAK,SAACvqC,EAAM,CACV,GAAI,CAACA,EACH,OAAO,KAET,MAAMptB,EAAU,SAAS,cAAc,MAAM,EAC7C,GAAI,SAAUotB,EAAM,CAClB,KAAM,CACJ,KAAA2qC,CACD,EAAG3qC,EACEgD,EAAQ2nC,EAAK,MAAMV,CAAe,EACpCjnC,GACFpwB,EAAQ,aAAa,OAAQ,SAAS,EACtCA,EAAQ,aAAa,aAAcowB,EAAM,CAAC,CAAC,GAClCgnC,EAAsBW,CAAI,GACnC/3D,EAAQ,aAAa,OAAQo3D,EAAsBW,CAAI,CAAC,EAI5D,GADArhE,EAAA,KAAK6gE,EAAAK,IAAL,UAAoBxqC,EAAMptB,GACtBotB,EAAK,SACP,GAAIA,EAAK,SAAS,SAAW,GAAK,OAAQA,EAAK,SAAS,CAAC,EACvD12B,EAAA,KAAK6gE,EAAAK,IAAL,UAAoBxqC,EAAK,SAAS,CAAC,EAAGptB,OAEtC,WAAWg4D,KAAO5qC,EAAK,SACrBptB,EAAQ,OAAOtJ,EAAA,KAAK8gE,EAAAG,IAAL,UAAWK,EAAI,EAIpC,OAAOh4D,CACR,EAEHlZ,EAAQ,uBAAyBwwE,CAE1B,EAEA,CAACzwE,EAAyBC,EAAS8V,IAAwB,uBAIlE,OAAO,eAAe9V,EAAS,aAAe,CAC5C,MAAO,EACT,GACAA,EAAQ,yBAA2B,OACnC,IAAImuD,EAAYr4C,EAAoB,CAAC,EACrC,MAAMq7D,EAAN,KAA+B,CAA/B,cAgGE3nE,EAAA,KAAA4nE,GA/FA5nE,EAAA,KAAA6nE,EAAW,IACX7nE,EAAA,KAAA8nE,EAAgB,MAChB9nE,EAAA,KAAA+nE,EAAa,IAAI,KACjB/nE,EAAA,KAAAgoE,EAAmB,IAAI,KACvB,eAAelkC,EAAU,CACvBzjC,GAAA,KAAKynE,EAAgBhkC,EACtB,CA0BD,QAAS,CACP,GAAIvjC,EAAA,KAAKsnE,GACP,MAAM,IAAI,MAAM,8CAA8C,EAEhE,GAAI,CAACtnE,EAAA,KAAKunE,GACR,MAAM,IAAI,MAAM,0CAA0C,EAK5D,GAHAznE,GAAA,KAAKwnE,EAAW,IAChBxnE,GAAA,KAAKynE,EAAgBvnE,EAAA,KAAKunE,GAAc,MAAK,GAC7CvnE,EAAA,KAAKunE,GAAc,KAAK1hE,EAAAuhE,EAAyBM,EAAAC,GAAwB,EACrE3nE,EAAA,KAAKwnE,GAAW,KAAO,EAAG,CAC5B,MAAMI,EAAe5nE,EAAA,KAAKunE,GAC1B,SAAW,CAACjjE,EAAIujE,CAAS,IAAK7nE,EAAA,KAAKwnE,GAAY,CAE7C,GAAI,CADY,SAAS,eAAeljE,CAAE,EAC5B,CACZtE,EAAA,KAAKwnE,GAAW,OAAOljE,CAAE,EACzB,SAEFuB,EAAA,KAAKwhE,EAAAS,IAAL,UAAsBxjE,EAAIsjE,EAAaC,CAAS,IAGpD,SAAW,CAAC14D,EAAS44D,CAAW,IAAK/nE,EAAA,KAAKynE,GACxC,KAAK,sBAAsBt4D,EAAS44D,CAAW,EAEjD/nE,EAAA,KAAKynE,GAAiB,OACvB,CACD,SAAU,CACHznE,EAAA,KAAKsnE,KAGVtnE,EAAA,KAAKynE,GAAiB,QACtB3nE,GAAA,KAAKynE,EAAgB,MACrBznE,GAAA,KAAKwnE,EAAW,IACjB,CACD,yBAAyBn4D,EAAS,CAChC,GAAI,CAACnP,EAAA,KAAKsnE,GAAU,CAClBtnE,EAAA,KAAKynE,GAAiB,OAAOt4D,CAAO,EACpC,OAEF,MAAMgmD,EAAWn1D,EAAA,KAAKunE,GACtB,GAAI,CAACpS,GAAYA,EAAS,SAAW,EACnC,OAEF,KAAM,CACJ,GAAA7wD,CACD,EAAG6K,EACE04D,EAAY7nE,EAAA,KAAKwnE,GAAW,IAAIljE,CAAE,EACxC,GAAIujE,IAAc,OAChB,OAEF,MAAMtrC,EAAO44B,EAAS0S,CAAS,EAC/B7nE,EAAA,KAAKwnE,GAAW,OAAOljE,CAAE,EACzB,IAAI0jE,EAAOzrC,EAAK,aAAa,WAAW,EACpCyrC,GAAA,MAAAA,EAAM,SAAS1jE,KACjB0jE,EAAOA,EAAK,MAAM,GAAG,EAAE,OAAOh6D,GAAKA,IAAM1J,CAAE,EAAE,KAAK,GAAG,EACjD0jE,EACFzrC,EAAK,aAAa,YAAayrC,CAAI,GAEnCzrC,EAAK,gBAAgB,WAAW,EAChCA,EAAK,aAAa,OAAQ,cAAc,GAG7C,CAQD,sBAAsBptB,EAAS44D,EAAa,CAC1C,KAAM,CACJ,GAAAzjE,CACD,EAAG6K,EACJ,GAAI,CAAC7K,EACH,OAEF,GAAI,CAACtE,EAAA,KAAKsnE,GAAU,CAClBtnE,EAAA,KAAKynE,GAAiB,IAAIt4D,EAAS44D,CAAW,EAC9C,OAEEA,GACF,KAAK,yBAAyB54D,CAAO,EAEvC,MAAMgmD,EAAWn1D,EAAA,KAAKunE,GACtB,GAAI,CAACpS,GAAYA,EAAS,SAAW,EACnC,OAEF,MAAMne,KAAYoN,EAAU,uBAAuB+Q,EAAU54B,UAAQ,OAAA12B,EAAAnC,EAAA0jE,EAAyBM,EAAAC,IAAzB,KAAAjkE,EAAkDyL,EAASotB,GAAQ,EAAC,EACnIsrC,EAAY,KAAK,IAAI,EAAG7wB,EAAQ,CAAC,EACvCnxC,EAAA,KAAKwhE,EAAAS,IAAL,UAAsBxjE,EAAI6wD,EAAS0S,CAAS,GAC5C7nE,EAAA,KAAKwnE,GAAW,IAAIljE,EAAIujE,CAAS,CAClC,CACD,iBAAiB12D,EAAWhC,EAAS2tC,EAAgBirB,EAAa,CAEhE,GADA,KAAK,sBAAsBjrB,EAAgBirB,CAAW,EAClD,CAAC52D,EAAU,gBAAiB,CAC9BA,EAAU,OAAOhC,CAAO,EACxB,OAEF,MAAMgmD,EAAW,MAAM,KAAKhkD,EAAU,UAAU,EAAE,OAAOorB,GAAQA,IAASptB,CAAO,EACjF,GAAIgmD,EAAS,SAAW,EACtB,OAEF,MAAM8S,EAAmBnrB,GAAkB3tC,EACrC6nC,KAAYoN,EAAU,uBAAuB+Q,EAAU54B,UAAQ,OAAA12B,EAAAnC,EAAA0jE,EAAyBM,EAAAC,IAAzB,KAAAjkE,EAAkDukE,EAAkB1rC,GAAQ,EAAC,EAC9Iya,IAAU,EACZme,EAAS,CAAC,EAAE,OAAOhmD,CAAO,EAE1BgmD,EAASne,EAAQ,CAAC,EAAE,MAAM7nC,CAAO,CAEpC,CACF,EAhJD,IAAM+4D,EAANd,EACEE,EAAA,YACAC,EAAA,YACAC,EAAA,YACAC,EAAA,YAIOC,EAAA,YAAAC,GAAwB,SAACQ,EAAIC,EAAI,CACtC,MAAM7qE,EAAQ4qE,EAAG,wBACX3qE,EAAQ4qE,EAAG,wBACjB,GAAI7qE,EAAM,QAAU,GAAKA,EAAM,SAAW,EACxC,MAAO,GAET,GAAIC,EAAM,QAAU,GAAKA,EAAM,SAAW,EACxC,MAAO,GAET,MAAM6qE,EAAO9qE,EAAM,EACb+qE,EAAO/qE,EAAM,EAAIA,EAAM,OACvBgrE,EAAOhrE,EAAM,EAAIA,EAAM,OAAS,EAChCirE,EAAOhrE,EAAM,EACbirE,EAAOjrE,EAAM,EAAIA,EAAM,OACvBkrE,GAAOlrE,EAAM,EAAIA,EAAM,OAAS,EACtC,GAAI+qE,GAAQC,GAAQE,IAAQJ,EAC1B,MAAO,GAET,GAAII,IAAQL,GAAQE,GAAQE,EAC1B,MAAO,GAET,MAAME,EAAWprE,EAAM,EAAIA,EAAM,MAAQ,EACnCqrE,GAAWprE,EAAM,EAAIA,EAAM,MAAQ,EACzC,OAAOmrE,EAAWC,EACnB,EAgEDvB,EAAA,YAAAS,GAAgB,SAACxjE,EAAIi4B,EAAM,CACzB,MAAMyrC,EAAOzrC,EAAK,aAAa,WAAW,EACrCyrC,GAAA,MAAAA,EAAM,SAAS1jE,IAClBi4B,EAAK,aAAa,YAAayrC,EAAO,GAAGA,KAAQ1jE,IAAOA,CAAE,EAE5Di4B,EAAK,gBAAgB,MAAM,CAC5B,EA9FD98B,EARIyoE,EAQGR,GAyITzxE,EAAQ,yBAA2BiyE,CAE5B,EAEA,CAAClyE,EAAyBC,IAAY,CAI7C,OAAO,eAAeA,EAAS,aAAe,CAC5C,MAAO,EACT,GACAA,EAAQ,gBAAkB,OAC1B,MAAM4yE,CAAgB,CACpB,YAAY,CACV,eAAAC,EACA,SAAA13D,EACA,UAAA5M,CACJ,EAAK,CACD,KAAK,eAAiBskE,EACtB,KAAK,QAAU,GACf,KAAK,SAAW13D,EAChB,KAAK,QAAU5M,EACf,KAAK,0BAA4B,KACjC,KAAK,SAAW,KAChB,KAAK,oBAAsB,KAC3B,KAAK,QAAU,EAChB,CACD,eAAe0iC,EAAM6hC,EAAO,CAC1B,KAAK,SAAW7hC,EAChB,KAAK,oBAAsB6hC,CAC5B,CACD,QAAS,CACP,GAAI,CAAC,KAAK,UAAY,CAAC,KAAK,oBAC1B,MAAM,IAAI,MAAM,0CAA0C,EAE5D,GAAI,KAAK,QACP,MAAM,IAAI,MAAM,qCAAqC,EAEvD,KAAK,QAAU,GACV,KAAK,4BACR,KAAK,0BAA4Bj/D,GAAO,EAClCA,EAAI,YAAc,KAAK,SAAWA,EAAI,YAAc,KACtD,KAAK,eAAc,CAE7B,EACM,KAAK,SAAS,IAAI,yBAA0B,KAAK,yBAAyB,GAE5E,KAAK,eAAc,CACpB,CACD,SAAU,CACH,KAAK,UAGV,KAAK,QAAU,GACX,KAAK,4BACP,KAAK,SAAS,KAAK,yBAA0B,KAAK,yBAAyB,EAC3E,KAAK,0BAA4B,MAEnC,KAAK,eAAe,EAAI,EACzB,CACD,gBAAgB+Q,EAASsgD,EAAe,CACtC,GAAI,CAACtgD,EACH,MAAO,GAET,KAAM,CACJ,oBAAA6oB,CACD,EAAG,KACJ,IAAIzoC,EAAI,EACN+tE,EAAS,EACX,MAAM9kE,EAAMw/B,EAAoB,OAAS,EACnCtK,EAAS,CAAA,EACf,QAAS78B,EAAI,EAAG0sE,EAAKpuD,EAAQ,OAAQte,EAAI0sE,EAAI1sE,IAAK,CAChD,IAAI0gE,EAAWpiD,EAAQte,CAAC,EACxB,KAAOtB,IAAMiJ,GAAO+4D,GAAY+L,EAAStlC,EAAoBzoC,CAAC,EAAE,QAC9D+tE,GAAUtlC,EAAoBzoC,CAAC,EAAE,OACjCA,IAEEA,IAAMyoC,EAAoB,QAC5B,QAAQ,MAAM,mCAAmC,EAEnD,MAAMnE,EAAQ,CACZ,MAAO,CACL,OAAQtkC,EACR,OAAQgiE,EAAW+L,CACpB,CACT,EAEM,IADA/L,GAAY9B,EAAc5+D,CAAC,EACpBtB,IAAMiJ,GAAO+4D,EAAW+L,EAAStlC,EAAoBzoC,CAAC,EAAE,QAC7D+tE,GAAUtlC,EAAoBzoC,CAAC,EAAE,OACjCA,IAEFskC,EAAM,IAAM,CACV,OAAQtkC,EACR,OAAQgiE,EAAW+L,CAC3B,EACM5vC,EAAO,KAAKmG,CAAK,EAEnB,OAAOnG,CACR,CACD,eAAeve,EAAS,CACtB,GAAIA,EAAQ,SAAW,EACrB,OAEF,KAAM,CACJ,eAAAiuD,EACA,QAAAjM,CACD,EAAG,KACE,CACJ,oBAAAn5B,EACA,SAAAH,CACD,EAAG,KACE2lC,EAAiBrM,IAAYiM,EAAe,SAAS,QACrDK,EAAmBL,EAAe,SAAS,SAC3CM,EAAeN,EAAe,MAAM,aAC1C,IAAIO,EAAU,KACd,MAAMC,EAAW,CACf,OAAQ,GACR,OAAQ,MACd,EACI,SAASC,EAAUxlE,EAAOmyC,EAAW,CACnC,MAAMszB,EAASzlE,EAAM,OACrB,OAAAw/B,EAASimC,CAAM,EAAE,YAAc,GACxBC,EAAgBD,EAAQ,EAAGzlE,EAAM,OAAQmyC,CAAS,CAC1D,CACD,SAASuzB,EAAgBD,EAAQE,EAAYC,EAAUzzB,EAAW,CAChE,IAAI/9B,GAAMorB,EAASimC,CAAM,EACzB,GAAIrxD,GAAI,WAAa,KAAK,UAAW,CACnC,MAAMqD,GAAO,SAAS,cAAc,MAAM,EAC1CrD,GAAI,OAAOqD,EAAI,EACfA,GAAK,OAAOrD,EAAG,EACforB,EAASimC,CAAM,EAAIhuD,GACnBrD,GAAMqD,GAER,MAAMkgC,EAAUhY,EAAoB8lC,CAAM,EAAE,UAAUE,EAAYC,CAAQ,EACpEptC,GAAO,SAAS,eAAemf,CAAO,EAC5C,GAAIxF,EAAW,CACb,MAAM16B,GAAO,SAAS,cAAc,MAAM,EAC1C,OAAAA,GAAK,UAAY,GAAG06B,aACpB16B,GAAK,OAAO+gB,EAAI,EAChBpkB,GAAI,OAAOqD,EAAI,EACR06B,EAAU,SAAS,UAAU,EAAI16B,GAAK,WAAa,EAE5D,OAAArD,GAAI,OAAOokB,EAAI,EACR,CACR,CACD,IAAIqtC,EAAKT,EACPU,EAAKD,EAAK,EACZ,GAAIR,EACFQ,EAAK,EACLC,EAAKhvD,EAAQ,eACJ,CAACquD,EACV,OAEF,IAAIY,EAAa,GACbC,EAAa,GACjB,QAAS9uE,EAAI2uE,EAAI3uE,EAAI4uE,EAAI5uE,IAAK,CAC5B,MAAMskC,EAAQ1kB,EAAQ5f,CAAC,EACjB8I,EAAQw7B,EAAM,MACpB,GAAIx7B,EAAM,SAAW+lE,GAAc/lE,EAAM,SAAWgmE,EAClD,SAEFD,EAAa/lE,EAAM,OACnBgmE,EAAahmE,EAAM,OACnB,MAAMG,EAAMq7B,EAAM,IACZyqC,GAAad,GAAkBjuE,IAAMkuE,EACrCc,EAAkBD,GAAa,YAAc,GACnD,IAAI9P,GAAe,EASnB,GARI,CAACmP,GAAWtlE,EAAM,SAAWslE,EAAQ,QACnCA,IAAY,MACdI,EAAgBJ,EAAQ,OAAQA,EAAQ,OAAQC,EAAS,MAAM,EAEjEC,EAAUxlE,CAAK,GAEf0lE,EAAgBJ,EAAQ,OAAQA,EAAQ,OAAQtlE,EAAM,MAAM,EAE1DA,EAAM,SAAWG,EAAI,OACvBg2D,GAAeuP,EAAgB1lE,EAAM,OAAQA,EAAM,OAAQG,EAAI,OAAQ,YAAc+lE,CAAe,MAC/F,CACL/P,GAAeuP,EAAgB1lE,EAAM,OAAQA,EAAM,OAAQulE,EAAS,OAAQ,kBAAoBW,CAAe,EAC/G,QAASC,GAAKnmE,EAAM,OAAS,EAAGomE,GAAKjmE,EAAI,OAAQgmE,GAAKC,GAAID,KACxD3mC,EAAS2mC,EAAE,EAAE,UAAY,mBAAqBD,EAEhDV,EAAUrlE,EAAK,gBAAkB+lE,CAAe,EAElDZ,EAAUnlE,EACN8lE,IACFlB,EAAe,oBAAoB,CACjC,QAASvlC,EAASx/B,EAAM,MAAM,EAC9B,aAAAm2D,GACA,UAAW2C,EACX,WAAYsM,CACtB,CAAS,EAGDE,GACFI,EAAgBJ,EAAQ,OAAQA,EAAQ,OAAQC,EAAS,MAAM,CAElE,CACD,eAAec,EAAQ,GAAO,CAC5B,GAAI,CAAC,KAAK,SAAW,CAACA,EACpB,OAEF,KAAM,CACJ,eAAAtB,EACA,QAAAjuD,EACA,QAAAgiD,CACD,EAAG,KACE,CACJ,oBAAAn5B,EACA,SAAAH,CACD,EAAG,KACJ,IAAI8mC,EAAqB,GACzB,UAAW9qC,KAAS1kB,EAAS,CAC3B,MAAM9W,EAAQ,KAAK,IAAIsmE,EAAoB9qC,EAAM,MAAM,MAAM,EAC7D,QAAS3jC,EAAImI,EAAOG,EAAMq7B,EAAM,IAAI,OAAQ3jC,GAAKsI,EAAKtI,IAAK,CACzD,MAAMuc,EAAMorB,EAAS3nC,CAAC,EACtBuc,EAAI,YAAcurB,EAAoB9nC,CAAC,EACvCuc,EAAI,UAAY,GAElBkyD,EAAqB9qC,EAAM,IAAI,OAAS,EAE1C,GAAI,EAACupC,GAAA,MAAAA,EAAgB,mBAAoBsB,EACvC,OAEF,MAAME,EAAcxB,EAAe,YAAYjM,CAAO,GAAK,KACrD0N,EAAoBzB,EAAe,kBAAkBjM,CAAO,GAAK,KACvE,KAAK,QAAU,KAAK,gBAAgByN,EAAaC,CAAiB,EAClE,KAAK,eAAe,KAAK,OAAO,CACjC,CACF,CACDt0E,EAAQ,gBAAkB4yE,CAEnB,EAEA,CAAC7yE,EAAyBC,EAAS8V,IAAwB,uBAIlE,OAAO,eAAe9V,EAAS,aAAe,CAC5C,MAAO,EACT,GACAA,EAAQ,iBAAmB,OAC3B,IAAIy3D,EAAY3hD,EAAoB,CAAC,EACjCq4C,EAAYr4C,EAAoB,CAAC,EACrC,MAAMy+D,CAAiB,CAKrB,YAAY,CACV,YAAAC,EAAc,KACd,qBAAAruB,EAAuB,KACvB,2BAAAx6C,EAA6B,GAC7B,kBAAA8oE,EAAoB,EACxB,EAAK,CAcHjrE,EAAA,KAAAkrE,GAoFAlrE,EAAA,KAAAmrE,GA3GAnrE,EAAA,KAAAorE,EAAqB,IACrBprE,EAAA,KAAAqrE,EAAY,GACZrrE,EAAA,KAAAsrE,EAAS,GACTtrE,EAAA,KAAAurE,EAAqB,MAOnB,KAAK,oBAAsB,GAC3B,KAAK,cAAgB,GACrB,KAAK,SAAW,GAChB,KAAK,kBAAoB,IAAI,QAC7B,KAAK,oBAAsB,KAC3B,KAAK,YAAcP,EACnB,KAAK,qBAAuBruB,EAC5B,KAAK,2BAA6Bx6C,EAClC9B,GAAA,KAAK+qE,EAAqBH,IAAsB,IAChD,KAAK,IAAM,SAAS,cAAc,KAAK,EACvC,KAAK,IAAI,UAAY,YACrB,KAAK,KAAI,CACV,CAQD,IAAI,aAAc,CAChB,OAAO,KAAK,SAAS,MACtB,CACD,MAAM,OAAOrlE,EAAU,WACrB,GAAI,CAACrF,EAAA,KAAKgrE,GACR,MAAM,IAAI,MAAM,6CAA6C,EAE/D,MAAMt1E,EAAQ2P,EAAS,OAAS,WAAW,kBAAoB,GACzD,CACJ,SAAAP,CACD,EAAGO,EACJ,GAAI,KAAK,cAAe,CACtB,MAAMyW,EAAahX,IAAa9E,EAAA,KAAK8qE,GAC/B/mC,EAAcruC,IAAUsK,EAAA,KAAK+qE,IAC/BjvD,GAAcioB,KAChB,KAAK,KAAI,KACL2pB,EAAU,iBAAiB,CAC7B,UAAW,KAAK,IAChB,SAAAroD,EACA,SAAU,KAAK,SACf,kBAAmB,KAAK,kBACxB,2BAA4B,KAAK,2BACjC,YAAA0+B,EACA,WAAAjoB,CACV,CAAS,EACDhc,GAAA,KAAKirE,EAASr1E,GACdoK,GAAA,KAAKgrE,EAAYhmE,IAEnB,KAAK,KAAI,EACT,OAEF,KAAK,OAAM,GACXpB,EAAA,KAAK,cAAL,MAAAA,EAAkB,eAAe,KAAK,SAAU,KAAK,sBACrDkC,EAAA,KAAK,uBAAL,MAAAA,EAA2B,eAAe,KAAK,UAC/C,KAAK,uBAA0B8nD,EAAU,iBAAiB,CACxD,kBAAmB1tD,EAAA,KAAKgrE,GACxB,UAAW,KAAK,IAChB,SAAA3lE,EACA,SAAU,KAAK,SACf,kBAAmB,KAAK,kBACxB,oBAAqB,KAAK,oBAC1B,2BAA4B,KAAK,0BACvC,CAAK,EACD,MAAM,KAAK,oBAAoB,QAC/BQ,EAAA,KAAK8kE,EAAAM,IAAL,WACAnrE,GAAA,KAAKirE,EAASr1E,GACdoK,GAAA,KAAKgrE,EAAYhmE,GACjB,KAAK,KAAI,GACTmB,EAAA,KAAK,uBAAL,MAAAA,EAA2B,QAC5B,CACD,MAAO,OACA,KAAK,IAAI,UACZvC,EAAA,KAAK,cAAL,MAAAA,EAAkB,UAClB,KAAK,IAAI,OAAS,GAErB,CACD,MAAO,OACD,KAAK,IAAI,QAAU,KAAK,gBAC1B,KAAK,IAAI,OAAS,IAClBA,EAAA,KAAK,cAAL,MAAAA,EAAkB,SAErB,CACD,QAAS,SACH,KAAK,sBACP,KAAK,oBAAoB,SACzB,KAAK,oBAAsB,OAE7BA,EAAA,KAAK,cAAL,MAAAA,EAAkB,WAClBkC,EAAA,KAAK,uBAAL,MAAAA,EAA2B,UAC3B,KAAK,oBAAoB,OAAS,EAClC,KAAK,SAAS,OAAS,EACvB,KAAK,kBAAoB,IAAI,OAC9B,CACD,qBAAqBvC,EAAQ,CAC3B,KAAK,OAAM,EACXvD,GAAA,KAAKkrE,EAAqB3nE,EAC3B,CAoCF,CA9ICwnE,EAAA,YACAC,EAAA,YACAC,EAAA,YACAC,EAAA,YAoBAL,EAAA,YAAAM,GAAgB,UAAG,CACjB,KAAK,cAAgB,GACrB,MAAMC,EAAe,SAAS,cAAc,KAAK,EACjDA,EAAa,UAAY,eACzB,KAAK,IAAI,OAAOA,CAAY,EAC5BrlE,EAAA,KAAK+kE,EAAAO,IAAL,UACD,EA8EDP,EAAA,YAAAO,GAAU,UAAG,CACX,KAAM,CACJ,IAAAhzD,CACD,EAAG,KACJA,EAAI,iBAAiB,YAAarO,GAAO,CACvC,MAAM5F,EAAMiU,EAAI,cAAc,eAAe,EAC7C,GAAI,CAACjU,EACH,OAEF,IAAIknE,EAAYthE,EAAI,SAAWqO,EAE/B,GADAizD,MAAc,iBAAiBlnE,CAAG,EAAE,iBAAiB,kBAAkB,IAAM,QACzEknE,EAAW,CACb,MAAMC,EAAYlzD,EAAI,wBAChBrc,EAAI,KAAK,IAAI,GAAIgO,EAAI,MAAQuhE,EAAU,KAAOA,EAAU,MAAM,EACpEnnE,EAAI,MAAM,KAAOpI,EAAI,KAAK,QAAQ,CAAC,EAAI,IAEzCoI,EAAI,UAAU,IAAI,QAAQ,CAChC,CAAK,EACDiU,EAAI,iBAAiB,UAAW,IAAM,CACpC,MAAMjU,EAAMiU,EAAI,cAAc,eAAe,EACxCjU,IAGLA,EAAI,MAAM,IAAM,GAChBA,EAAI,UAAU,OAAO,QAAQ,EACnC,CAAK,EACDiU,EAAI,iBAAiB,OAAQ/P,GAAS,CACpC,GAAI,CAACpI,EAAA,KAAK6qE,GAAoB,CAC5B,MAAMS,EAAY,SAAS,eAC3BljE,EAAM,cAAc,QAAQ,gBAAkBg8C,EAAU,yBAA0BsJ,EAAU,kBAAkB4d,EAAU,SAAU,CAAA,CAAC,CAAC,EAEtIljE,EAAM,eAAc,EACpBA,EAAM,gBAAe,CAC3B,CAAK,CACF,EAEHnS,EAAQ,iBAAmBu0E,CAEpB,EAEA,CAACx0E,EAAyBC,EAAS8V,IAAwB,CAIlE,OAAO,eAAe9V,EAAS,aAAe,CAC5C,MAAO,EACT,GACAA,EAAQ,gBAAkB,OAC1B,IAAIy3D,EAAY3hD,EAAoB,CAAC,EACrC,MAAMw/D,CAAgB,CACpB,YAAY,CACV,QAAA1d,EACA,QAAAC,EACA,kBAAAz8C,EAAoB,KACpB,YAAAulC,EACA,QAAA40B,EAAU,IACd,EAAK,CACD,KAAK,QAAU3d,EACf,KAAK,QAAUC,EACf,KAAK,kBAAoBz8C,EACzB,KAAK,YAAculC,EACnB,KAAK,QAAU40B,EACf,KAAK,IAAM,KACX,KAAK,WAAa,EACnB,CACD,MAAM,OAAOnmE,EAAUH,EAAS,UAAW,CACzC,GAAIA,IAAW,QAAS,CACtB,MAAMiI,EAAa,CACjB,SAAU9H,EAAS,MAAM,CACvB,SAAU,EACpB,CAAS,EACD,IAAK,KAAK,IACV,QAAS,KAAK,QACd,kBAAmB,KAAK,kBACxB,YAAa,KAAK,YAClB,OAAAH,CACR,EACYiT,EAAM,SAAS,cAAc,KAAK,EACxC,YAAK,QAAQ,OAAOA,CAAG,EACvBhL,EAAW,IAAMgL,EACVu1C,EAAU,SAAS,OAAOvgD,CAAU,EAE7C,MAAMq+D,EAAU,MAAM,KAAK,QAAQ,OAAM,EACzC,GAAI,KAAK,YAAc,CAACA,EACtB,MAAO,CACL,SAAU,CAAE,CACpB,EAEI,MAAMr+D,EAAa,CACjB,SAAU9H,EAAS,MAAM,CACvB,SAAU,EAClB,CAAO,EACD,IAAK,KAAK,IACV,QAAAmmE,EACA,kBAAmB,KAAK,kBACxB,YAAa,KAAK,YAClB,OAAAtmE,CACN,EACI,OAAI,KAAK,IACAwoD,EAAU,SAAS,OAAOvgD,CAAU,GAE7C,KAAK,IAAM,SAAS,cAAc,KAAK,EACvC,KAAK,QAAQ,OAAO,KAAK,GAAG,EAC5BA,EAAW,IAAM,KAAK,IACfugD,EAAU,SAAS,OAAOvgD,CAAU,EAC5C,CACD,QAAS,CACP,KAAK,WAAa,EACnB,CACD,MAAO,CACA,KAAK,MAGV,KAAK,IAAI,OAAS,GACnB,CACF,CACDlX,EAAQ,gBAAkBs1E,CAEnB,EAEA,CAACv1E,EAAyBC,EAAS8V,IAAwB,CAIlE,OAAO,eAAe9V,EAAS,aAAe,CAC5C,MAAO,EACT,GACAA,EAAQ,oBAAsB,OAC9B,IAAImuD,EAAYr4C,EAAoB,CAAC,EACjC2hD,EAAY3hD,EAAoB,CAAC,EACrC,MAAM0/D,CAAoB,CACxB,YAAY,CACV,SAAAr6D,EACA,iBAAAs6D,EAAmB,KACnB,iBAAAC,EAAmB,KACnB,oBAAAC,EAAsB,IAC1B,EAAK,CACD,KAAK,aAAe,KACpB,KAAK,WAAa,KAClB,KAAK,iBAAmB,KACxB,KAAK,mBAAqB,KAC1B,KAAK,WAAa,KAClB,KAAK,OAAS,GACd,KAAK,UAAYx6D,EACjB,KAAK,kBAAoBs6D,EACzB,KAAK,kBAAoBC,EACzB,KAAK,qBAAuBC,EACvB,KAAK,mBACR,OAAO,iBAAiB,oBAAqBxjE,GAAS,CACpD,KAAK,UAAU,SAAS,oBAAqB,CAC3C,OAAQ,OACR,OAAQA,EAAM,MACxB,CAAS,CACT,CAAO,CAEJ,CACD,UAAU88C,EAAW,CACnB,KAAK,WAAaA,CACnB,CACD,MAAM,YAAYD,EAAa,OAK7B,GAJI,KAAK,cACP,MAAM,KAAK,oBAEb,KAAK,aAAeA,EAChB,CAACA,EACH,OAEF,KAAM,CAAC4mB,EAASC,EAAkBC,CAAU,EAAI,MAAM,QAAQ,IAAI,CAAC9mB,EAAY,gBAAe,EAAIA,EAAY,uBAAsB,EAAIA,EAAY,aAAc,CAAA,CAAC,EACnK,GAAI,CAAC4mB,GAAW,CAACE,EAAY,CAC3B,MAAM,KAAK,oBACX,OAEF,GAAI9mB,IAAgB,KAAK,aAGzB,IAAI,CACF,KAAK,WAAa,KAAK,kBACxB,OAAQ9+C,EAAP,CACA,QAAQ,MAAM,qCAAqCA,GAAA,YAAAA,EAAO,WAAW,EACrE,MAAM,KAAK,oBACX,MACD,CACD,KAAK,gBAAgB,IAAI,oBAAqBiC,GAAS,EACjDA,GAAA,YAAAA,EAAO,UAAW,QAGtB,KAAK,mBAAmBA,EAAM,MAAM,CAC1C,CAAK,EACD,KAAK,gBAAgB,IAAI,yBAA0BA,GAAS,QAC1D1E,EAAA,KAAK,aAAL,MAAAA,EAAiB,uBAAuB0E,EAAM,OACpD,CAAK,EACD,KAAK,gBAAgB,IAAI,eAAgB,CAAC,CACxC,WAAAhE,EACA,SAAAi4D,CACN,IAAU,CACAj4D,IAAei4D,IAGnB,KAAK,mBAAmBA,CAAQ,EAChC,KAAK,kBAAkBj4D,CAAU,EACvC,CAAK,EACD,KAAK,gBAAgB,IAAI,eAAgB,CAAC,CACxC,WAAAA,CACN,IAAU,CACC,KAAK,iBAAiB,IAAIA,CAAU,GAGrCA,IAAe,KAAK,WAAW,mBAGnC,KAAK,kBAAkBA,CAAU,CACvC,CAAK,EACD,KAAK,gBAAgB,IAAI,eAAgB,MAAMgE,GAAS,SACtD,MAAM,KAAK,mBAAmB,KAAK,WAAW,iBAAiB,EAC/D,OAAM1E,EAAA,KAAK,aAAL,YAAAA,EAAiB,uBAAuB,CAC5C,GAAI,MACJ,KAAM,WACd,KACMkC,EAAA,KAAK,mBAAL,MAAAA,EAAuB,SAC7B,CAAK,EACD,SAAW,CAAC1L,EAAM4J,CAAQ,IAAK,KAAK,gBAClC,KAAK,UAAU,IAAI5J,EAAM4J,CAAQ,EAEnC,GAAI,CACF,MAAMkoE,EAAgB,MAAM,KAAK,oBACjC,GAAI/mB,IAAgB,KAAK,aACvB,OAEF,MAAM,KAAK,WAAW,cAAc,CAClC,QAAA4mB,EACA,iBAAAC,EACA,QAAS,CACP,SAAU,UAAU,SACpB,SAAU,UAAU,QACrB,EACD,QAAS,CACP,GAAGE,EACH,QAASD,CACV,CACT,CAAO,EACD,KAAK,UAAU,SAAS,iBAAkB,CACxC,OAAQ,IAChB,CAAO,CACF,OAAQ5lE,EAAP,CACA,QAAQ,MAAM,qCAAqCA,GAAA,YAAAA,EAAO,WAAW,EACrE,MAAM,KAAK,oBACX,MACD,CACD,OAAMzC,EAAA,KAAK,aAAL,YAAAA,EAAiB,uBAAuB,CAC5C,GAAI,MACJ,KAAM,MACZ,IACI,MAAM,KAAK,kBAAkB,KAAK,WAAW,kBAAmB,EAAI,EACpE,QAAQ,UAAU,KAAK,IAAM,CACvBuhD,IAAgB,KAAK,eACvB,KAAK,OAAS,GAEtB,CAAK,EACF,CACD,MAAM,iBAAiBvP,EAAQ,OAC7B,OAAOhyC,EAAA,KAAK,aAAL,YAAAA,EAAiB,uBAAuB,CAC7C,GAAI,MACJ,KAAM,UACZ,EACG,CACD,MAAM,gBAAgBgyC,EAAQ,OAC5B,OAAOhyC,EAAA,KAAK,aAAL,YAAAA,EAAiB,uBAAuB,CAC7C,GAAI,MACJ,KAAM,SACZ,EACG,CACD,MAAM,kBAAkBgyC,EAAQ,OAC9B,OAAOhyC,EAAA,KAAK,aAAL,YAAAA,EAAiB,uBAAuB,CAC7C,GAAI,MACJ,KAAM,WACZ,EACG,CACD,MAAM,iBAAiBgyC,EAAQ,OAC7B,OAAOhyC,EAAA,KAAK,aAAL,YAAAA,EAAiB,uBAAuB,CAC7C,GAAI,MACJ,KAAM,UACZ,EACG,CACD,IAAI,gBAAiB,OACnB,QAAOA,EAAA,KAAK,qBAAL,YAAAA,EAAyB,UAAW,IAC5C,CACD,IAAI,OAAQ,CACV,OAAO,KAAK,MACb,CACD,IAAI,iBAAkB,CACpB,SAAWgqD,EAAU,QAAQ,KAAM,kBAAmB,IAAI,GAAK,CAChE,CACD,IAAI,kBAAmB,CACrB,SAAWA,EAAU,QAAQ,KAAM,mBAAoB,IAAI,GAAK,CACjE,CACD,IAAI,eAAgB,CAClB,SAAWA,EAAU,QAAQ,KAAM,gBAAiB,IAAI,GAAK,CAC9D,CACD,MAAM,mBAAmBhY,EAAQ,OAC/B,MAAMu2B,EAAuB,KAAK,WAAW,sBAAwB,KAAK,WAAW,2BAC/E,CACJ,GAAA3nE,EACA,SAAA4nE,EACA,QAAAC,EACA,MAAAryE,CACD,EAAG47C,EACJ,GAAI,CAACpxC,EAAI,CACP,OAAQ6nE,EAAO,CACb,IAAK,QACH,QAAQ,MAAK,EACb,MACF,IAAK,QACH,QAAQ,MAAMryE,CAAK,EACnB,MACF,IAAK,SACH,CACE,GAAImyE,EACF,OAEF,MAAMG,KAAYhoB,EAAU,4BAA4BtqD,CAAK,EAC7D,KAAK,WAAW,WAAasyE,EAAM,WACnC,KACD,CACH,IAAK,WACH,KAAK,WAAW,kBAAoBtyE,EAAQ,EAC5C,MACF,IAAK,QACH,MAAM,KAAK,WAAW,aACtB,KAAK,UAAU,SAAS,QAAS,CAC/B,OAAQ,IACpB,CAAW,EACD,MACF,IAAK,UACH,QAAQ,IAAIA,CAAK,EACjB,MACF,IAAK,OACH,GAAImyE,EACF,OAEF,KAAK,WAAW,kBAAoBnyE,EACpC,MACF,IAAK,SACH,KAAK,UAAU,SAAS,WAAY,CAClC,OAAQ,IACpB,CAAW,EACD,MACF,IAAK,YACH,KAAK,WAAW,kBAAoB,EACpC,MACF,IAAK,WACH,KAAK,WAAW,kBAAoB,KAAK,WAAW,WACpD,MACF,IAAK,WACH,KAAK,WAAW,WAChB,MACF,IAAK,WACH,KAAK,WAAW,eAChB,MACF,IAAK,aACH,GAAImyE,EACF,OAEF,KAAK,WAAW,gBAChB,MACF,IAAK,cACH,GAAIA,EACF,OAEF,KAAK,WAAW,gBAChB,KACH,CACD,OAEF,GAAIA,GACEv2B,EAAO,MACT,OAGJ,OAAOA,EAAO,GACd,OAAOA,EAAO,SACd,MAAMyV,EAAM+gB,EAAW,CAAC5nE,EAAI,GAAG4nE,CAAQ,EAAI,CAAC5nE,CAAE,EAC9C,UAAW+nE,KAAalhB,EAAK,CAC3B,MAAMh8C,EAAU,SAAS,cAAc,qBAAqBk9D,KAAa,EACrEl9D,EACFA,EAAQ,cAAc,IAAI,YAAY,oBAAqB,CACzD,OAAAumC,CACD,CAAA,CAAC,GAEFhyC,EAAA,KAAK,eAAL,MAAAA,EAAmB,kBAAkB,SAAS2oE,EAAW32B,GAG9D,CACD,MAAM,kBAAkBtxC,EAAYkoE,EAAa,GAAO,CACtD,MAAMrnB,EAAc,KAAK,aACvBsnB,EAAe,KAAK,cAItB,GAHID,IACF,KAAK,iBAAmB,IAAI5e,EAAU,mBAEpC,CAAC,KAAK,iBACR,OAEF,MAAM8e,EAAW,KAAK,WAAW,YAAYpoE,EAAa,CAAC,EAC3D,IAAIooE,GAAA,YAAAA,EAAU,kBAAmBpoB,EAAU,gBAAgB,SAAU,CACnE,KAAK,iBAAiB,IAAIhgD,CAAU,EACpC,OAEF,KAAK,iBAAiB,OAAOA,CAAU,EACvC,MAAMqoE,GAAkB,SAAY,SAClC,MAAMn3B,EAAU,MAAQi3B,EAAa,IAAInoE,CAAU,EAAuC,MAAnCV,EAAA8oE,EAAS,UAAT,YAAA9oE,EAAkB,gBACrEuhD,IAAgB,KAAK,cAGzB,OAAMr/C,EAAA,KAAK,aAAL,YAAAA,EAAiB,uBAAuB,CAC5C,GAAI,OACJ,KAAM,WACN,WAAAxB,EACA,QAAAkxC,CACR,GACA,KACIi3B,EAAa,IAAInoE,EAAYqoE,CAAc,CAC5C,CACD,MAAM,mBAAmBroE,EAAY,OACnC,MAAM6gD,EAAc,KAAK,aACvBsnB,EAAe,KAAK,cAItB,GAHI,CAAC,KAAK,kBAGN,KAAK,iBAAiB,IAAInoE,CAAU,EACtC,OAEF,MAAMqoE,EAAiBF,EAAa,IAAInoE,CAAU,EAC7CqoE,IAGLF,EAAa,IAAInoE,EAAY,IAAI,EACjC,MAAMqoE,EACFxnB,IAAgB,KAAK,cAGzB,OAAMvhD,EAAA,KAAK,aAAL,YAAAA,EAAiB,uBAAuB,CAC5C,GAAI,OACJ,KAAM,YACN,WAAAU,CACN,IACG,CACD,MAAM,mBAAoB,CACxB,GAAI,KAAK,qBACP,OAAO,KAAK,qBAAqB,KAAK,YAAY,EAEpD,KAAM,CACJ,oBAAAwnE,CACN,EAAQ7/D,EAAoB,EAAE,EAC1B,OAAO6/D,EAAoB,KAAK,YAAY,CAC7C,CACD,kBAAmB,CAEjB,GADA,KAAK,mBAAqB,IAAIle,EAAU,kBACpC,KAAK,WACP,MAAM,IAAI,MAAM,6CAA6C,EAE/D,GAAI,KAAK,kBACP,OAAO,KAAK,kBAAkB,gBAAgB,CAC5C,iBAAkB,KAAK,iBAC/B,CAAO,EAEH,KAAM,CACJ,iBAAAgf,CACN,EAAQ3gE,EAAoB,EAAE,EAC1B,OAAO,IAAI2gE,EAAiB,KAAK,iBAAiB,CACnD,CACD,MAAM,mBAAoB,SACxB,GAAI,CAAC,KAAK,WAAY,CACpB,KAAK,aAAe,MACpBhpE,EAAA,KAAK,qBAAL,MAAAA,EAAyB,UACzB,OAEE,KAAK,mBACP,MAAM,QAAQ,KAAK,CAAC,KAAK,iBAAiB,QAAS,IAAI,QAAQ/D,GAAW,CACxE,WAAWA,EAAS,GAAI,CACzB,CAAA,CAAC,CAAC,EAAE,MAAMI,GAAU,CAAE,CAAA,EACvB,KAAK,iBAAmB,MAE1B,KAAK,aAAe,KACpB,GAAI,CACF,MAAM,KAAK,WAAW,gBAC5B,MAAM,CAAa,CACf,SAAW,CAAC7F,EAAM4J,CAAQ,IAAK,KAAK,gBAClC,KAAK,UAAU,KAAK5J,EAAM4J,CAAQ,EAEpC,KAAK,gBAAgB,QACrB,KAAK,iBAAiB,QACtB,KAAK,cAAc,QACnB,KAAK,WAAa,KAClB,KAAK,OAAS,IACd8B,EAAA,KAAK,qBAAL,MAAAA,EAAyB,SAC1B,CACF,CACD3P,EAAQ,oBAAsBw1E,CAEvB,EAEA,CAACz1E,EAAyBC,EAAS8V,IAAwB,CAIlE,OAAO,eAAe9V,EAAS,aAAe,CAC5C,MAAO,EACT,GACAA,EAAQ,iBAAmB,OAC3BA,EAAQ,oBAAsB21E,EAC9B,IAAIle,EAAY3hD,EAAoB,CAAC,EACrC,eAAe6/D,EAAoB3mB,EAAa,CAC9C,MAAMtvD,EAAM,GACV6D,EAAU7D,EAAI,MAAM,GAAG,EAAE,CAAC,EAC5B,GAAI,CACF,KAAAY,EACA,SAAAo2E,EACA,2BAAA9oE,EACA,cAAA+oE,CACJ,EAAM,MAAM3nB,EAAY,cACtB,GAAI,CAAC2nB,EAAe,CAClB,KAAM,CACJ,OAAA9xE,CACN,EAAQ,MAAMmqD,EAAY,kBACtB2nB,EAAgB9xE,EAElB,MAAO,CACL,GAAGvE,EACH,QAASiD,EACT,SAAUozE,EACV,SAAU/oE,MAAkC6pD,EAAU,uBAAuB/3D,CAAG,EAChF,SAAUg3E,GAAA,YAAAA,EAAU,SACpB,QAASA,GAAA,YAAAA,EAAU,IAAI,cACvB,SAAU1nB,EAAY,SACtB,IAAKtvD,CACT,CACC,CACD,MAAM+2E,CAAiB,CACrB,YAAYhB,EAAkB,CAC5B,KAAK,UAAahe,EAAU,YAAYge,EAAkB,EAAI,EAAE,KAAK,IAC5D,OAAO,aAAa,gBAC5B,CACF,CACD,MAAM,cAAc7rE,EAAM,EACR,MAAM,KAAK,QACnB,OAAOA,CAAI,CACpB,CACD,MAAM,uBAAuBuI,EAAO,CAClC,MAAMykE,EAAU,MAAM,KAAK,OAC3B,WAAW,IAAMA,EAAQ,cAAczkE,CAAK,EAAG,CAAC,CACjD,CACD,MAAM,gBAAiB,EACL,MAAM,KAAK,QACnB,YAAW,CACpB,CACF,CACDnS,EAAQ,iBAAmBy2E,CAEpB,EAEA,CAAC12E,EAAyBC,EAAS8V,IAAwB,CAIlE,OAAO,eAAe9V,EAAS,aAAe,CAC5C,MAAO,EACT,GACAA,EAAQ,oBAAsB,OAC9B,IAAImuD,EAAYr4C,EAAoB,CAAC,EACjC+gE,EAAc/gE,EAAoB,EAAE,EACxC,MAAMghE,UAA4BD,EAAY,SAAU,CACtD,YAAa,CACX,MAAM,WAAU,EAChB,KAAK,YAAc1oB,EAAU,WAAW,KACxC,KAAK,YAAcA,EAAU,WAAW,IACzC,CACD,IAAI,WAAW3vC,EAAM,CAAE,CACvB,mBAAoB,CAAE,CACtB,IAAI,WAAWA,EAAM,CAAE,CACvB,mBAAoB,CAAE,CACvB,CACDxe,EAAQ,oBAAsB82E,CAEvB,EAEA,CAAC/2E,EAAyBC,EAAS8V,IAAwB,wIAIlE,OAAO,eAAe9V,EAAS,aAAe,CAC5C,MAAO,EACT,GACAA,EAAQ,gBAAkBA,EAAQ,UAAYA,EAAQ,kBAAoB,OAC1E,IAAIy3D,EAAY3hD,EAAoB,CAAC,EACjCq4C,EAAYr4C,EAAoB,CAAC,EACjC4hD,EAAc5hD,EAAoB,CAAC,EACnCihE,EAAiBjhE,EAAoB,EAAE,EACvCkhE,EAAuBlhE,EAAoB,EAAE,EAC7Cq0D,EAAoBr0D,EAAoB,CAAC,EAC7C,MAAMmhE,EAAqB,GACrBC,EAAkB,CACtB,uBAAwB,KACxB,qBAAsB,KACtB,sBAAuB,GACzB,EACAl3E,EAAQ,gBAAkBk3E,EAC1B,SAASC,EAA4B34D,GAAM,CACzC,OAAO,OAAO,OAAOi5C,EAAU,oBAAoB,EAAE,SAASj5C,EAAI,GAAKA,KAASi5C,EAAU,qBAAqB,OAChH,CACD,MAAM2f,CAAkB,CAGtB,YAAY9tD,EAAM,CAuClB9f,EAAA,KAAA6tE,GAzCA7tE,EAAA,KAAA8tE,EAAO,IAAI,KACX9tE,EAAA,KAAA+tE,EAAQ,GAEN1tE,GAAA,KAAK0tE,EAAQjuD,EACd,CACD,KAAK2qC,EAAM,CACT,MAAMujB,EAAMztE,EAAA,KAAKutE,GACbE,EAAI,IAAIvjB,CAAI,GACdujB,EAAI,OAAOvjB,CAAI,EAEjBujB,EAAI,IAAIvjB,CAAI,EACRujB,EAAI,KAAOztE,EAAA,KAAKwtE,IAClB3nE,EAAA,KAAKynE,EAAAI,IAAL,UAEH,CACD,OAAOC,EAASC,EAAY,KAAM,CAChC9tE,GAAA,KAAK0tE,EAAQG,GACb,MAAMF,EAAMztE,EAAA,KAAKutE,GACjB,GAAIK,EAAW,CACb,MAAMzuE,GAAKsuE,EAAI,KACf,IAAIxyE,GAAI,EACR,UAAWivD,MAAQujB,EAKjB,GAJIG,EAAU,IAAI1jB,GAAK,EAAE,IACvBujB,EAAI,OAAOvjB,EAAI,EACfujB,EAAI,IAAIvjB,EAAI,GAEV,EAAEjvD,GAAIkE,GACR,MAIN,KAAOsuE,EAAI,KAAOztE,EAAA,KAAKwtE,IACrB3nE,EAAA,KAAKynE,EAAAI,IAAL,UAEH,CACD,IAAIxjB,EAAM,CACR,OAAOlqD,EAAA,KAAKutE,GAAK,IAAIrjB,CAAI,CAC1B,CACD,CAAC,OAAO,QAAQ,GAAI,CAClB,OAAOlqD,EAAA,KAAKutE,GAAK,MAClB,CAMF,CA9CCA,EAAA,YACAC,EAAA,YAwCAF,EAAA,YAAAI,GAAiB,UAAG,CAClB,MAAMG,EAAY7tE,EAAA,KAAKutE,GAAK,KAAI,EAAG,KAAM,EAAC,MAC1CM,GAAA,MAAAA,EAAW,UACX7tE,EAAA,KAAKutE,GAAK,OAAOM,CAAS,CAC3B,EAEH53E,EAAQ,kBAAoBo3E,EAC5B,MAAMS,CAAU,CAiBd,YAAYr0E,EAAS,CAiMrBgG,EAAA,KAAA6hE,GA6BA7hE,EAAA,KAAAsuE,GAoBAtuE,EAAA,KAAAuuE,GAyCAvuE,EAAA,KAAAwuE,IA0RAxuE,EAAA,KAAAyuE,GAmDAzuE,EAAA,KAAA0uE,GA+BA1uE,EAAA,KAAA2uE,GAGA3uE,EAAA,KAAA4uE,GAqDA5uE,EAAA,KAAI6uE,IAMJ7uE,EAAA,KAAA8uE,GAiDA9uE,EAAA,KAAA+uE,IA4OA/uE,EAAA,KAAMgvE,IAkBNhvE,EAAA,KAAAivE,IAkWAjvE,EAAA,KAAAkvE,IAMAlvE,EAAA,KAAAmvE,IA52CAnvE,EAAA,KAAAovE,EAAU,MACVpvE,EAAA,KAAAqvE,EAAwBphB,EAAU,qBAAqB,MACvDjuD,EAAA,KAAAsvE,EAA6B,MAC7BtvE,EAAA,KAAA4hE,EAAkB3T,EAAU,eAAe,cAC3CjuD,EAAA,KAAAuvE,EAAoB,MACpBvvE,EAAA,KAAAwvE,EAAqB,MACrBxvE,EAAA,KAAAorE,GAAqB,IACrBprE,EAAA,KAAAyvE,EAAwB,IACxBzvE,EAAA,KAAA0vE,GAAqB,MACrB1vE,EAAA,KAAA2vE,GAA0B,IAC1B3vE,EAAA,KAAA4vE,GAA2B,GAC3B5vE,EAAA,KAAA6vE,GAAkB,IAAI,eAAezpE,EAAA,KAAK+oE,GAAAW,IAAwB,KAAK,IAAI,CAAC,GAC5E9vE,EAAA,KAAA+vE,GAAuB,MACvB/vE,EAAA,KAAAgwE,EAAsB,MACtBhwE,EAAA,KAAAiwE,GAAkB,MAClBjwE,EAAA,KAAAkiE,GAAiBvd,EAAU,cAAc,iBAEvC,MAAMurB,EAAgB,UACtB,GAAIjiB,EAAU,UAAYiiB,EACxB,MAAM,IAAI,MAAM,oBAAoBjiB,EAAU,+CAA+CiiB,KAAiB,EAIhH,GAFA,KAAK,UAAYl2E,EAAQ,UACzB,KAAK,OAASA,EAAQ,QAAUA,EAAQ,UAAU,oBAC9CiK,EAAA,KAAK,YAAL,YAAAA,EAAgB,WAAY,SAASkC,GAAA,KAAK,SAAL,YAAAA,GAAa,WAAY,MAChE,MAAM,IAAI,MAAM,6CAA6C,EAE/D,GAAI,KAAK,UAAU,cAAgB,iBAAiB,KAAK,SAAS,EAAE,WAAa,WAC/E,MAAM,IAAI,MAAM,gDAAgD,EAElE5F,EAAA,KAAKsvE,IAAgB,QAAQ,KAAK,SAAS,EAC3C,KAAK,SAAW71E,EAAQ,SACxB,KAAK,YAAcA,EAAQ,aAAe,IAAI2mE,EAAkB,kBAChE,KAAK,gBAAkB3mE,EAAQ,iBAAmB,KAClD,KAAK,eAAiBA,EAAQ,gBAAkB,KAChD,KAAK,kBAAoBA,EAAQ,kBAAoB,KACrDqG,GAAA,KAAK6hE,GAAiBloE,EAAQ,eAAiB2qD,EAAU,cAAc,QACvEtkD,GAAA,KAAKuhE,EAAkB5nE,EAAQ,gBAAkBi0D,EAAU,eAAe,cAC1E5tD,GAAA,KAAKgvE,EAAwBr1E,EAAQ,sBAAwBi0D,EAAU,qBAAqB,MAC5F,KAAK,mBAAqBj0D,EAAQ,oBAAsB,GACxD,KAAK,sBAAwBA,EAAQ,uBAAyB,GAC9D,KAAK,kBAAoBA,EAAQ,mBAAqB,GACtD,KAAK,eAAiBA,EAAQ,gBAAkB,GAChD,KAAK,2BAA6BA,EAAQ,4BAA8B,GACxE,KAAK,gBAAkBA,EAAQ,gBAC/B,KAAK,KAAOA,EAAQ,MAAQk0D,EAAY,SACxC7tD,GAAA,KAAK+qE,GAAqBpxE,EAAQ,mBAAqB,IACvD,KAAK,WAAaA,EAAQ,YAAc,KACpC,KAAK,YAAc,EAAE,IAAI,SAAS,QAAS,KAAK,WAAW,UAAU,GAAK,IAAI,SAAS,QAAS,KAAK,WAAW,UAAU,MACxH,KAAK,WAAW,YAAc,KAAK,WAAW,aAChD,QAAQ,KAAK,6FAA6F,EAE5G,KAAK,WAAa,MAEpB,KAAK,sBAAwB,CAACA,EAAQ,eAClC,KAAK,uBACP,KAAK,eAAiB,IAAIwzE,EAAqB,kBAC/C,KAAK,eAAe,UAAU,IAAI,GAElC,KAAK,eAAiBxzE,EAAQ,eAEhC,KAAK,UAAa2qD,EAAU,aAAa,KAAK,UAAW,KAAK,cAAc,KAAK,IAAI,CAAC,EACtF,KAAK,sBAAwBA,EAAU,sBAAsB,QAC7D,KAAK,cAAgB,KAAK,aAAe,KACzC,KAAK,WAAU,EACX,KAAK,mBACP,KAAK,OAAO,UAAU,IAAI,mBAAmB,EAE/Cv+C,EAAA,KAAK8oE,GAAAiB,IAAL,UACD,CACD,IAAI,YAAa,CACf,OAAO,KAAK,OAAO,MACpB,CACD,YAAY54B,EAAO,CACjB,OAAO,KAAK,OAAOA,CAAK,CACzB,CACD,IAAI,gBAAiB,CACnB,OAAO,KAAK,iBAAiB,SAAW,KAAK,OAAO,MAAMw1B,GAAYA,GAAA,YAAAA,EAAU,OAAO,CACxF,CACD,IAAI,aAAc,CAChB,OAAOxsE,EAAA,KAAKqhE,KAAoB3T,EAAU,eAAe,YAC1D,CACD,IAAI,iBAAkB,CACpB,MAAO,CAAC,CAAC,KAAK,iBACf,CACD,IAAI,mBAAoB,CACtB,OAAO,KAAK,kBACb,CACD,IAAI,kBAAkBpqD,EAAK,CACzB,GAAI,CAAC,OAAO,UAAUA,CAAG,EACvB,MAAM,IAAI,MAAM,sBAAsB,EAEnC,KAAK,cAGL,KAAK,sBAAsBA,EAAK,EAAI,GACvC,QAAQ,MAAM,uBAAuBA,yBAA2B,EAEnE,CACD,sBAAsBA,EAAKusE,EAAuB,GAAO,QACvD,GAAI,KAAK,qBAAuBvsE,EAC9B,OAAIusE,GACFhqE,EAAA,KAAK2oE,GAAAsB,IAAL,WAEK,GAET,GAAI,EAAE,EAAIxsE,GAAOA,GAAO,KAAK,YAC3B,MAAO,GAET,MAAM+4D,EAAW,KAAK,mBACtB,YAAK,mBAAqB/4D,EAC1B,KAAK,SAAS,SAAS,eAAgB,CACrC,OAAQ,KACR,WAAYA,EACZ,YAAWI,GAAA,KAAK,cAAL,YAAAA,GAAmBJ,EAAM,KAAM,KAC1C,SAAA+4D,CACN,CAAK,EACGwT,GACFhqE,EAAA,KAAK2oE,GAAAsB,IAAL,WAEK,EACR,CACD,IAAI,kBAAmB,OACrB,QAAOpsE,EAAA,KAAK,cAAL,YAAAA,EAAmB,KAAK,mBAAqB,KAAM,IAC3D,CACD,IAAI,iBAAiBJ,EAAK,CACxB,GAAI,CAAC,KAAK,YACR,OAEF,IAAIqG,EAAOrG,EAAM,EACjB,GAAI,KAAK,YAAa,CACpB,MAAMrI,EAAI,KAAK,YAAY,QAAQqI,CAAG,EAClCrI,GAAK,IACP0O,EAAO1O,EAAI,GAGV,KAAK,sBAAsB0O,EAAM,EAAI,GACxC,QAAQ,MAAM,sBAAsBrG,yBAA2B,CAElE,CACD,IAAI,cAAe,CACjB,OAAO,KAAK,gBAAkB8gD,EAAU,cAAgB,KAAK,cAAgBA,EAAU,aACxF,CACD,IAAI,aAAa9gD,EAAK,CACpB,GAAI,MAAMA,CAAG,EACX,MAAM,IAAI,MAAM,wBAAwB,EAErC,KAAK,aAGVuC,EAAA,KAAK0oE,EAAAwB,IAAL,UAAezsE,EAAK,CAClB,SAAU,EAChB,EACG,CACD,IAAI,mBAAoB,CACtB,OAAO,KAAK,kBACb,CACD,IAAI,kBAAkBA,EAAK,CACpB,KAAK,aAGVuC,EAAA,KAAK0oE,EAAAwB,IAAL,UAAezsE,EAAK,CAClB,SAAU,EAChB,EACG,CACD,IAAI,eAAgB,CAClB,OAAO,KAAK,cACb,CACD,IAAI,cAAcwB,EAAU,CAC1B,GAAI,IAAKs/C,EAAU,iBAAiBt/C,CAAQ,EAC1C,MAAM,IAAI,MAAM,+BAA+B,EASjD,GAPI,CAAC,KAAK,cAGVA,GAAY,IACRA,EAAW,IACbA,GAAY,KAEV,KAAK,iBAAmBA,GAC1B,OAEF,KAAK,eAAiBA,EACtB,MAAMV,EAAa,KAAK,mBACxB,KAAK,QAAQ,GAAM,CACjB,SAAAU,CACN,CAAK,EACG,KAAK,oBACPe,EAAA,KAAK0oE,EAAAwB,IAAL,UAAe,KAAK,mBAAoB,CACtC,SAAU,EAClB,GAEI,KAAK,SAAS,SAAS,mBAAoB,CACzC,OAAQ,KACR,cAAejrE,EACf,WAAAV,CACN,CAAK,EACG,KAAK,uBACP,KAAK,OAAM,CAEd,CACD,IAAI,kBAAmB,CACrB,OAAO,KAAK,YAAc,KAAK,qBAAqB,QAAU,IAC/D,CACD,IAAI,iBAAkB,CACpB,OAAO,KAAK,YAAc,KAAK,2BAA2B,QAAU,IACrE,CACD,IAAI,cAAe,CACjB,OAAO,KAAK,YAAc,KAAK,iBAAiB,QAAU,IAC3D,CAmED,MAAM,YAAa,CACjB,MAAM2kE,EAAQ,CAAA,EACR9pE,EAAS,CAAA,EACf,QAAS+mD,EAAU,EAAGgqB,GAAa,KAAK,YAAY,SAAUhqB,GAAWgqB,GAAY,EAAEhqB,EAAS,CAC9F,GAAIhmD,EAAA,KAAKovE,IACP,OAAO,KAETnwE,EAAO,OAAS,EAChB,MAAM0K,GAAO,MAAM,KAAK,YAAY,QAAQq8C,CAAO,EAC7C,CACJ,MAAA5pB,EACR,EAAU,MAAMzyB,GAAK,iBACf,UAAWi6B,MAAQxH,GACbwH,GAAK,KACP3kC,EAAO,KAAK2kC,GAAK,GAAG,EAElBA,GAAK,QACP3kC,EAAO,KAAK;AAAA,CAAI,EAGpB8pE,EAAM,QAAS3kB,EAAU,sBAAsBnlD,EAAO,KAAK,EAAE,CAAC,CAAC,EAEjE,OAAO8pE,EAAM,KAAK;AAAA,CAAI,CACvB,CAkCD,YAAY9jB,EAAa,WAevB,GAdI,KAAK,cACP,KAAK,SAAS,SAAS,eAAgB,CACrC,OAAQ,IAChB,CAAO,EACD,KAAK,iBAAgB,EACrB,KAAK,WAAU,GACfvhD,GAAA,KAAK,iBAAL,MAAAA,GAAqB,YAAY,OACjCkC,GAAA,KAAK,oBAAL,MAAAA,GAAwB,YAAY,MAChC5F,EAAA,KAAK+uE,KACP/uE,EAAA,KAAK+uE,GAA2B,UAChCjvE,GAAA,KAAKivE,EAA6B,QAGtC,KAAK,YAAc9pB,EACf,CAACA,EACH,OAEF,MAAM+qB,EAAa/qB,EAAY,SACzBgrB,EAAmBhrB,EAAY,QAAQ,CAAC,EACxCz/C,GAA+By/C,EAAY,2BAC3CirB,GAAqBlwE,EAAA,KAAK6qE,IAAqB5lB,EAAY,iBAAmB,QAAQ,UAC5F,GAAI+qB,EAAa7C,EAAgB,uBAAwB,CACvD,QAAQ,KAAK,mFAAmF,EAChG,MAAM14D,GAAO,KAAK,YAAc2vC,EAAU,WAAW,KACrD,KAAK,SAAS,SAAS,oBAAqB,CAC1C,OAAQ,KACR,KAAA3vC,EACR,CAAO,EAEH,KAAK,iBAAiB,QAAQ,KAAK,IAAM,CACvC,KAAK,SAAS,SAAS,cAAe,CACpC,OAAQ,KACR,WAAAu7D,CACR,CAAO,CACP,EAAO,IAAM,CAAE,CAAA,EACX,KAAK,cAAgBlmE,IAAO,CAC1B,MAAM0iE,GAAW,KAAK,OAAO1iE,GAAI,WAAa,CAAC,EAC1C0iE,IAGLxsE,EAAA,KAAK6uE,GAAQ,KAAKrC,EAAQ,CAChC,EACI,KAAK,SAAS,IAAI,aAAc,KAAK,aAAa,EAClD,KAAK,aAAe1iE,IAAO,CACrBA,GAAI,cAAgB,KAAK,2BAA2B,UAGxD,KAAK,2BAA2B,QAAQ,CACtC,UAAWA,GAAI,SACvB,CAAO,EACD,KAAK,SAAS,KAAK,eAAgB,KAAK,YAAY,EACpD,KAAK,aAAe,KAChB9J,EAAA,KAAKyvE,KACP,SAAS,oBAAoB,mBAAoBzvE,EAAA,KAAKyvE,EAAmB,EACzE3vE,GAAA,KAAK2vE,EAAsB,OAEnC,EACI,KAAK,SAAS,IAAI,eAAgB,KAAK,YAAY,EACnD,QAAQ,IAAI,CAACQ,EAAkBC,EAAkB,CAAC,EAAE,KAAK,CAAC,CAACC,GAAcC,EAAW,IAAM,CACxF,GAAInrB,IAAgB,KAAK,YACvB,OAEF,KAAK,qBAAqB,QAAQkrB,EAAY,EAC9C,KAAK,8BAAgC3qE,GACrC,KAAM,CACJ,qBAAA6qE,GACA,eAAA/qE,GACA,cAAAgrE,EACR,EAAUzqE,EAAA,KAAKkoE,EAAAwC,IAAL,UAA4BH,IAChC,GAAIE,KAAkBlsB,EAAU,cAAc,QAAS,CACrD,MAAMj1C,GAAUrP,GAAA,KAAKqvE,GAAqB,SAAS,cAAc,KAAK,GACtEhgE,GAAQ,GAAK,oBACb,KAAK,OAAO,OAAOA,EAAO,EAE5B,GAAIkhE,KAAyB3iB,EAAU,qBAAqB,QAAS,CACnE,MAAMj5C,GAAO47D,GACTprB,EAAY,UACd,QAAQ,KAAK,0CAA0C,EAC9CmoB,EAA4B34D,EAAI,GACzC3U,GAAA,KAAKivE,EAA6B,IAAIrhB,EAAU,0BAA0B,KAAK,UAAW,KAAK,SAAUzI,GAAA,YAAAA,EAAa,iBAAiB,GACnIxwC,KAASi5C,EAAU,qBAAqB,MAC1C1tD,EAAA,KAAK+uE,GAA2B,WAAWt6D,EAAI,GAGjD,QAAQ,MAAM,kCAAkCA,IAAM,EAG1D,MAAM+7D,GAAkB3qE,EAAA,KAAKy7D,EAAAmP,IAAiB,KAAK,IAAI,EACjDC,GAAgB,KAAK,cAAgBtsB,EAAU,WAAW,KAAO,KAAO,KAAK,OAC7E1uD,GAAQ,KAAK,aACb2P,GAAW8qE,GAAa,YAAY,CACxC,MAAOz6E,GAAQg4D,EAAU,cAAc,gBAC/C,CAAO,EACD,KAAK,OAAO,MAAM,YAAY,iBAAkBroD,GAAS,KAAK,EAC9D,QAAS2gD,GAAU,EAAGA,IAAWgqB,EAAY,EAAEhqB,GAAS,CACtD,MAAMwmB,GAAW,IAAIQ,EAAe,YAAY,CAC9C,UAAW0D,GACX,SAAU,KAAK,SACf,GAAI1qB,GACJ,MAAAtwD,GACA,gBAAiB2P,GAAS,MAAO,EACjC,6BAAAG,GACA,eAAgB,KAAK,eACrB,cAAA8qE,GACA,eAAAhrE,GACA,mBAAoB,KAAK,mBACzB,eAAgB,KAAK,eACrB,2BAA4B,KAAK,2BACjC,gBAAiB,KAAK,gBACtB,WAAY,KAAK,WACjB,KAAM,KAAK,KACX,gBAAAkrE,EACV,CAAS,EACD,KAAK,OAAO,KAAKhE,EAAQ,EAE3B,MAAMmE,GAAgB,KAAK,OAAO,CAAC,EAC/BA,KACFA,GAAc,WAAWR,EAAY,EACrC,KAAK,YAAY,aAAa,EAAGA,GAAa,GAAG,GAE/C,KAAK,cAAgB/rB,EAAU,WAAW,KAC5Cv+C,EAAA,KAAKqoE,EAAA0C,IAAL,WACS,KAAK,cAAgBxsB,EAAU,WAAW,MACnD,KAAK,kBAAiB,EAExBv+C,EAAA,KAAKmoE,EAAA6C,IAAL,WAAoC,KAAK,SAAY,WAanD,IAZAntE,GAAA,KAAK,iBAAL,MAAAA,GAAqB,YAAYuhD,IACjCr/C,GAAA,KAAK,oBAAL,MAAAA,GAAwB,YAAYq/C,GAChCjlD,EAAA,KAAKmvE,MACPrvE,GAAA,KAAKmvE,EAAqBppE,EAAA,KAAKooE,GAAA6C,IAAc,KAAK,KAAMR,EAAa,GACrE,SAAS,iBAAiB,OAAQtwE,EAAA,KAAKivE,EAAkB,GAEvDjvE,EAAA,KAAK+uE,IACP,KAAK,SAAS,SAAS,8BAA+B,CACpD,OAAQ,KACR,KAAM/uE,EAAA,KAAK8uE,EACvB,CAAW,EAEC7pB,EAAY,cAAc,kBAAoB+qB,EAAa7C,EAAgB,qBAAsB,CACnG,KAAK,iBAAiB,UACtB,OAEF,IAAI4D,GAAef,EAAa,EAChC,GAAIe,IAAgB,EAAG,CACrB,KAAK,iBAAiB,UACtB,OAEF,QAAS/qB,GAAU,EAAGA,IAAWgqB,EAAY,EAAEhqB,GAAS,CACtD,MAAMj7C,GAAUk6C,EAAY,QAAQe,EAAO,EAAE,KAAK8H,IAAW,CAC3D,MAAM0e,GAAW,KAAK,OAAOxmB,GAAU,CAAC,EACnCwmB,GAAS,SACZA,GAAS,WAAW1e,EAAO,EAE7B,KAAK,YAAY,aAAa9H,GAAS8H,GAAQ,GAAG,EAC9C,EAAEijB,KAAiB,GACrB,KAAK,iBAAiB,SAEzB,EAAEhxE,IAAU,CACX,QAAQ,MAAM,sBAAsBimD,0BAAgCjmD,EAAM,EACtE,EAAEgxE,KAAiB,GACrB,KAAK,iBAAiB,SAEpC,CAAW,EACG/qB,GAAUmnB,EAAgB,wBAA0B,GACtD,MAAMpiE,GAGlB,CAAO,EACD,KAAK,SAAS,SAAS,YAAa,CAClC,OAAQ,IAChB,CAAO,EACDk6C,EAAY,cAAc,KAAK,CAAC,CAC9B,KAAA1uD,EACR,IAAY,CACA0uD,IAAgB,KAAK,aAGrB1uD,GAAK,WACP,KAAK,OAAO,KAAOA,GAAK,SAElC,CAAO,EACG,KAAK,uBACP,KAAK,OAAM,CAEnB,CAAK,EAAE,MAAMwJ,IAAU,CACjB,QAAQ,MAAM,8BAA+BA,EAAM,EACnD,KAAK,iBAAiB,OAAOA,EAAM,CACzC,CAAK,CACF,CACD,cAAcixE,EAAQ,OACpB,GAAK,KAAK,YAGV,CAAKA,EAEQ,MAAM,QAAQA,CAAM,GAAK,KAAK,YAAY,WAAaA,EAAO,OAIzE,KAAK,YAAcA,GAHnB,KAAK,YAAc,KACnB,QAAQ,MAAM,qCAAqC,GAHnD,KAAK,YAAc,KAOrB,QAAS/1E,EAAI,EAAGkE,GAAK,KAAK,OAAO,OAAQlE,EAAIkE,GAAIlE,IAC/C,KAAK,OAAOA,CAAC,EAAE,eAAayI,EAAA,KAAK,cAAL,YAAAA,EAAmBzI,KAAM,IAAI,EAE5D,CACD,YAAa,CACX,KAAK,OAAS,GACd,KAAK,mBAAqB,EAC1B,KAAK,cAAgBmpD,EAAU,cAC/B,KAAK,mBAAqB,KAC1B,KAAK,YAAc,KACnBtkD,GAAA,KAAK+uE,EAAU,IAAIxB,EAAkBH,CAAkB,GACvD,KAAK,UAAY,KACjB,KAAK,eAAiB,EACtB,KAAK,8BAAgC,KACrC,KAAK,qBAAuB,IAAIxf,EAAU,kBAC1C,KAAK,2BAA6B,IAAIA,EAAU,kBAChD,KAAK,iBAAmB,IAAIA,EAAU,kBACtC,KAAK,YAActJ,EAAU,WAAW,SACxC,KAAK,oBAAsBA,EAAU,WAAW,QAChD,KAAK,YAAcA,EAAU,WAAW,KACxCtkD,GAAA,KAAK0vE,GAAuB,CAC1B,mBAAoB,EACpB,WAAY,GACZ,MAAO,CAAE,CACf,GACQ,KAAK,gBACP,KAAK,SAAS,KAAK,aAAc,KAAK,aAAa,EACnD,KAAK,cAAgB,MAEnB,KAAK,eACP,KAAK,SAAS,KAAK,eAAgB,KAAK,YAAY,EACpD,KAAK,aAAe,MAElBxvE,EAAA,KAAKyvE,KACP,SAAS,oBAAoB,mBAAoBzvE,EAAA,KAAKyvE,EAAmB,EACzE3vE,GAAA,KAAK2vE,EAAsB,OAE7B,KAAK,OAAO,YAAc,GAC1B,KAAK,kBAAiB,EACtB,KAAK,OAAO,gBAAgB,MAAM,EAC9BzvE,EAAA,KAAKmvE,MACP,SAAS,oBAAoB,OAAQnvE,EAAA,KAAKivE,EAAkB,EAC5DnvE,GAAA,KAAKmvE,EAAqB,MAC1BjvE,EAAA,KAAKmvE,IAAmB,SACxBrvE,GAAA,KAAKqvE,GAAqB,MAE7B,CA8CD,eAAgB,CACV,KAAK,aAAe,GAGxB,KAAK,OAAM,CACZ,CAwJD,sBAAsBnK,EAAO,CAC3B,GAAI,CAAC,KAAK,YACR,OAAO,KAET,MAAM/pE,EAAI,KAAK,YAAY,QAAQ+pE,CAAK,EACxC,OAAI/pE,EAAI,EACC,KAEFA,EAAI,CACZ,CACD,mBAAmB,CACjB,WAAAmJ,EACA,UAAA6sE,EAAY,KACZ,oBAAAC,EAAsB,GACtB,sBAAApsB,GAAwB,EAC5B,EAAK,CACD,GAAI,CAAC,KAAK,YACR,OAEF,MAAM0nB,GAAW,OAAO,UAAUpoE,CAAU,GAAK,KAAK,OAAOA,EAAa,CAAC,EAC3E,GAAI,CAACooE,GAAU,CACb,QAAQ,MAAM,wBAAwBpoE,yCAAkD,EACxF,OAEF,GAAI,KAAK,sBAAwB,CAAC6sE,EAAW,CAC3C,KAAK,sBAAsB7sE,EAAY,EAAI,EAC3C,OAEF,IAAI4J,GAAI,EACNC,GAAI,EACFrD,GAAQ,EACVC,GAAS,EACTqe,GACAC,GACF,MAAMkhC,GAAoBmiB,GAAS,SAAW,MAAQ,EAChD7+D,IAAa08C,GAAoBmiB,GAAS,OAASA,GAAS,OAASA,GAAS,MAAQ9e,EAAU,cAAc,iBAC9G9/C,IAAcy8C,GAAoBmiB,GAAS,MAAQA,GAAS,QAAUA,GAAS,MAAQ9e,EAAU,cAAc,iBACrH,IAAIh4D,GAAQ,EACZ,OAAQu7E,EAAU,CAAC,EAAE,KAAI,CACvB,IAAK,MACHjjE,GAAIijE,EAAU,CAAC,EACfhjE,GAAIgjE,EAAU,CAAC,EACfv7E,GAAQu7E,EAAU,CAAC,EACnBjjE,GAAIA,KAAM,KAAOA,GAAI,EACrBC,GAAIA,KAAM,KAAOA,GAAIL,GACrB,MACF,IAAK,MACL,IAAK,OACHlY,GAAQ,WACR,MACF,IAAK,OACL,IAAK,QACHuY,GAAIgjE,EAAU,CAAC,EACfv7E,GAAQ,aACJuY,KAAM,MAAQ,KAAK,WACrBD,GAAI,KAAK,UAAU,KACnBC,GAAI,KAAK,UAAU,MACV,OAAOA,IAAM,UAAYA,GAAI,KACtCA,GAAIL,IAEN,MACF,IAAK,OACL,IAAK,QACHI,GAAIijE,EAAU,CAAC,EACfrmE,GAAQ+C,GACR9C,GAAS+C,GACTlY,GAAQ,cACR,MACF,IAAK,OACHsY,GAAIijE,EAAU,CAAC,EACfhjE,GAAIgjE,EAAU,CAAC,EACfrmE,GAAQqmE,EAAU,CAAC,EAAIjjE,GACvBnD,GAASomE,EAAU,CAAC,EAAIhjE,GACxB,IAAIkjE,GAAW/sB,EAAU,kBACvBgtB,GAAWhtB,EAAU,iBACnB,KAAK,oBACP+sB,GAAWC,GAAW,GAExBloD,IAAc,KAAK,UAAU,YAAcioD,IAAYvmE,GAAQ8iD,EAAU,cAAc,iBACvFvkC,IAAe,KAAK,UAAU,aAAeioD,IAAYvmE,GAAS6iD,EAAU,cAAc,iBAC1Fh4D,GAAQ,KAAK,IAAI,KAAK,IAAIwzB,EAAU,EAAG,KAAK,IAAIC,EAAW,CAAC,EAC5D,MACF,QACE,QAAQ,MAAM,wBAAwB8nD,EAAU,CAAC,EAAE,wCAAwC,EAC3F,MACH,CAQD,GAPKnsB,KACCpvD,IAASA,KAAU,KAAK,cAC1B,KAAK,kBAAoBA,GAChB,KAAK,gBAAkB0uD,EAAU,gBAC1C,KAAK,kBAAoBA,EAAU,sBAGnC1uD,KAAU,YAAc,CAACu7E,EAAU,CAAC,EAAG,CACzCprE,EAAA,KAAKsoE,EAAAkD,IAAL,UAAqB7E,IACrB,OAEF,MAAM8E,GAAe,CAAC9E,GAAS,SAAS,uBAAuBx+D,GAAGC,EAAC,EAAGu+D,GAAS,SAAS,uBAAuBx+D,GAAIpD,GAAOqD,GAAIpD,EAAM,CAAC,EACrI,IAAI+3B,GAAO,KAAK,IAAI0uC,GAAa,CAAC,EAAE,CAAC,EAAGA,GAAa,CAAC,EAAE,CAAC,CAAC,EACtDzuC,GAAM,KAAK,IAAIyuC,GAAa,CAAC,EAAE,CAAC,EAAGA,GAAa,CAAC,EAAE,CAAC,CAAC,EACpDJ,IACHtuC,GAAO,KAAK,IAAIA,GAAM,CAAC,EACvBC,GAAM,KAAK,IAAIA,GAAK,CAAC,GAEvBh9B,EAAA,KAAKsoE,EAAAkD,IAAL,UAAqB7E,GAAU,CAC7B,KAAA5pC,GACA,IAAAC,EACN,EACG,CACD,gBAAgB0uC,EAAW,CACzB,MAAMC,EAAe,KAAK,cACpBC,EAAoB,KAAK,mBACzBC,GAAuB,WAAWD,CAAiB,IAAMD,EAAe,KAAK,MAAMA,EAAe,GAAK,EAAI,IAAMC,EACjHrtE,GAAamtE,EAAU,GACvBI,GAAkB,KAAK,OAAOvtE,GAAa,CAAC,EAC5C+M,GAAY,KAAK,UACjBuI,GAAUi4D,GAAgB,aAAaxgE,GAAU,WAAaogE,EAAU,EAAGpgE,GAAU,UAAYogE,EAAU,CAAC,EAC5GK,GAAU,KAAK,MAAMl4D,GAAQ,CAAC,CAAC,EAC/Bm4D,GAAS,KAAK,MAAMn4D,GAAQ,CAAC,CAAC,EACpC,IAAIo4D,GAAgB,SAAS1tE,KACxB,KAAK,uBACR0tE,IAAiB,SAASJ,MAAwBE,MAAWC,MAE/D,KAAK,UAAY,CACf,WAAAztE,GACA,MAAOstE,GACP,IAAKG,GACL,KAAMD,GACN,SAAU,KAAK,eACf,cAAAE,EACN,CACG,CACD,QAAS,CACP,MAAMj3C,EAAU,KAAK,mBACfk3C,EAAel3C,EAAQ,MAC3Bm3C,EAAkBD,EAAa,OACjC,GAAIC,IAAoB,EACtB,OAEF,MAAMC,GAAe,KAAK,IAAI/E,EAAoB,EAAI8E,EAAkB,CAAC,EACzEhyE,EAAA,KAAK6uE,GAAQ,OAAOoD,GAAcp3C,EAAQ,GAAG,EAC7C,KAAK,eAAe,sBAAsBA,CAAO,EACjD,MAAMq3C,GAAiB,KAAK,cAAgB9tB,EAAU,WAAW,OAAS,KAAK,cAAgBA,EAAU,WAAW,MAAQ,KAAK,cAAgBA,EAAU,WAAW,UAChK+tB,GAAY,KAAK,mBACvB,IAAIC,GAAoB,GACxB,UAAWzoE,MAAQooE,EAAc,CAC/B,GAAIpoE,GAAK,QAAU,IACjB,MAEF,GAAIA,GAAK,KAAOwoE,IAAaD,GAAgB,CAC3CE,GAAoB,GACpB,OAGJ,KAAK,sBAAsBA,GAAoBD,GAAYJ,EAAa,CAAC,EAAE,EAAE,EAC7E,KAAK,gBAAgBl3C,EAAQ,KAAK,EAClC,KAAK,SAAS,SAAS,iBAAkB,CACvC,OAAQ,KACR,SAAU,KAAK,SACrB,CAAK,CACF,CACD,gBAAgB1rB,EAAS,CACvB,OAAO,KAAK,UAAU,SAASA,CAAO,CACvC,CACD,OAAQ,CACN,KAAK,UAAU,OAChB,CACD,IAAI,iBAAkB,CACpB,OAAO,iBAAiB,KAAK,SAAS,EAAE,YAAc,KACvD,CACD,IAAI,sBAAuB,CACzB,OAAO,KAAK,wBAA0Bi1C,EAAU,sBAAsB,UACvE,CACD,IAAI,4BAA6B,CAC/B,OAAO,KAAK,wBAA0BA,EAAU,sBAAsB,QACvE,CACD,IAAI,8BAA+B,CACjC,OAAO,KAAK,qBAAuB,GAAQ,KAAK,UAAU,YAAc,KAAK,UAAU,WACxF,CACD,IAAI,4BAA6B,CAC/B,OAAO,KAAK,qBAAuB,GAAQ,KAAK,UAAU,aAAe,KAAK,UAAU,YACzF,CACD,kBAAmB,CACjB,MAAMkG,EAAQ,KAAK,cAAgBlG,EAAU,WAAW,KAAOpkD,EAAA,KAAKwvE,IAAqB,MAAQ,KAAK,OACpG7kB,EAAa,KAAK,cAAgBvG,EAAU,WAAW,WACvDwG,EAAMD,GAAc,KAAK,gBAC3B,SAAWvG,EAAU,oBAAoB,CACvC,SAAU,KAAK,UACf,MAAAkG,EACA,iBAAkB,GAClB,WAAAK,EACA,IAAAC,CACN,CAAK,CACF,CACD,cAAcxmD,EAAY,CACxB,OAAK,KAAK,YAGJ,OAAO,UAAUA,CAAU,GAAKA,EAAa,GAAKA,GAAc,KAAK,WAIpE,KAAK,iBAAkB,EAAC,IAAI,IAAIA,CAAU,GAH/C,QAAQ,MAAM,mBAAmBA,yBAAkC,EAC5D,IAJA,EAOV,CACD,aAAaA,EAAY,CACvB,GAAI,CAAC,KAAK,YACR,MAAO,GAET,GAAI,EAAE,OAAO,UAAUA,CAAU,GAAKA,EAAa,GAAKA,GAAc,KAAK,YACzE,eAAQ,MAAM,kBAAkBA,yBAAkC,EAC3D,GAET,MAAMooE,EAAW,KAAK,OAAOpoE,EAAa,CAAC,EAC3C,OAAOpE,EAAA,KAAK6uE,GAAQ,IAAIrC,CAAQ,CACjC,CACD,SAAU,CACR,UAAWA,KAAY,KAAK,OACtBA,EAAS,iBAAmBpoB,EAAU,gBAAgB,UACxDooB,EAAS,MAAK,CAGnB,CACD,kBAAmB,CACjB,UAAWA,KAAY,KAAK,OAC1BA,EAAS,gBAAe,CAE3B,CAiCD,eAAe6F,EAAuB,CACpC,MAAMN,EAAeM,GAAyB,KAAK,iBAAgB,EAC7DC,EAAczsE,EAAA,KAAK6oE,GAAA6D,IAAL,UAAqBR,GACnCS,GAAiB,KAAK,cAAgBpuB,EAAU,WAAW,MAAQ,KAAK,cAAgBA,EAAU,WAAW,WAC7GooB,GAAW,KAAK,eAAe,mBAAmBuF,EAAc,KAAK,OAAQO,EAAaE,EAAc,EAC9G,OAAIhG,IACF3mE,EAAA,KAAK4oE,GAAAgE,IAAL,UAA0BjG,IAAU,KAAK,IAAM,CAC7C,KAAK,eAAe,WAAWA,EAAQ,CAC/C,CAAO,EACM,IAEF,EACR,CACD,IAAI,mBAAoB,CACtB,MAAMmE,EAAgB,KAAK,OAAO,CAAC,EACnC,QAAS11E,EAAI,EAAGkE,EAAK,KAAK,OAAO,OAAQlE,EAAIkE,EAAI,EAAElE,EAAG,CACpD,MAAMuxE,GAAW,KAAK,OAAOvxE,CAAC,EAC9B,GAAIuxE,GAAS,QAAUmE,EAAc,OAASnE,GAAS,SAAWmE,EAAc,OAC9E,MAAO,GAGX,MAAO,EACR,CACD,kBAAmB,CACjB,IAAI+B,EACJ,OAAO,KAAK,OAAO,IAAIlG,GAAY,CACjC,MAAMnnE,EAAWmnE,EAAS,QAAQ,YAAY,CAC5C,MAAO,CACf,CAAO,EACKmG,MAAkBvuB,EAAU,uBAAuB/+C,CAAQ,EACjE,GAAIqtE,IAAuB,OACzBA,EAAqBC,WACZ,KAAK,uBAAyBA,KAAgBD,EACvD,MAAO,CACL,MAAOrtE,EAAS,OAChB,OAAQA,EAAS,MACjB,UAAWA,EAAS,SAAW,IAAM,GAC/C,EAEM,MAAO,CACL,MAAOA,EAAS,MAChB,OAAQA,EAAS,OACjB,SAAUA,EAAS,QAC3B,CACA,CAAK,CACF,CACD,IAAI,8BAA+B,CACjC,OAAK,KAAK,YAGL,KAAK,8BAIH,KAAK,+BAHV,QAAQ,MAAM,oDAAoD,EAC3D,KAAK,YAAY,4BAJjB,QAAQ,QAAQ,IAAI,CAO9B,CACD,IAAI,6BAA6B0F,EAAS,CACxC,GAAI,EAAEA,aAAmB,SACvB,MAAM,IAAI,MAAM,yCAAyCA,GAAS,EAE/D,KAAK,aAGL,KAAK,gCAGV,KAAK,8BAAgCA,EACrC,KAAK,QAAQ,GAAO,CAClB,6BAA8BA,CACpC,CAAK,EACD,KAAK,SAAS,SAAS,+BAAgC,CACrD,OAAQ,KACR,QAAAA,CACN,CAAK,EACF,CACD,IAAI,YAAa,CACf,OAAO,KAAK,WACb,CACD,IAAI,WAAW0J,EAAM,CACnB,GAAI,KAAK,cAAgBA,EAGzB,IAAI,IAAK2vC,EAAU,mBAAmB3vC,CAAI,EACxC,MAAM,IAAI,MAAM,wBAAwBA,GAAM,EAE5C,KAAK,WAAa04D,EAAgB,yBAGtC,KAAK,oBAAsB,KAAK,YAChC,KAAK,YAAc14D,EACnB,KAAK,SAAS,SAAS,oBAAqB,CAC1C,OAAQ,KACR,KAAAA,CACN,CAAK,EACD,KAAK,kBAAkB,KAAK,kBAAkB,GAC/C,CACD,kBAAkBrQ,EAAa,KAAM,CACnC,MAAMkpD,EAAa,KAAK,YACtBJ,EAAS,KAAK,OAChBA,EAAO,UAAU,OAAO,mBAAoBI,IAAelJ,EAAU,WAAW,UAAU,EAC1F8I,EAAO,UAAU,OAAO,gBAAiBI,IAAelJ,EAAU,WAAW,OAAO,EAChF,GAAC,KAAK,aAAe,CAAChgD,KAGtBkpD,IAAelJ,EAAU,WAAW,KACtCv+C,EAAA,KAAKqoE,EAAA0C,IAAL,WACS,KAAK,sBAAwBxsB,EAAU,WAAW,MAC3D,KAAK,kBAAiB,EAEpB,KAAK,oBAAsB,MAAM,KAAK,kBAAkB,GAC1Dv+C,EAAA,KAAK0oE,EAAAwB,IAAL,UAAe,KAAK,mBAAoB,CACtC,SAAU,EAClB,GAEI,KAAK,sBAAsB3rE,EAAY,EAAI,EAC3C,KAAK,OAAM,EACZ,CACD,IAAI,YAAa,CACf,OAAO,KAAK,WACb,CACD,IAAI,WAAWqQ,EAAM,CACnB,GAAI,KAAK,cAAgBA,EAGzB,IAAI,IAAK2vC,EAAU,mBAAmB3vC,CAAI,EACxC,MAAM,IAAI,MAAM,wBAAwBA,GAAM,EAEhD,KAAK,YAAcA,EACnB,KAAK,SAAS,SAAS,oBAAqB,CAC1C,OAAQ,KACR,KAAAA,CACN,CAAK,EACD,KAAK,kBAAkB,KAAK,kBAAkB,EAC/C,CACD,kBAAkBrQ,EAAa,KAAM,CACnC,GAAI,CAAC,KAAK,YACR,OAEF,MAAM8oD,EAAS,KAAK,OAClB0lB,EAAQ,KAAK,OACf,GAAI,KAAK,cAAgBxuB,EAAU,WAAW,KAC5Cv+C,EAAA,KAAKqoE,EAAA0C,IAAL,mBAEA1jB,EAAO,YAAc,GACjB,KAAK,cAAgB9I,EAAU,WAAW,KAC5C,UAAWooB,MAAY,KAAK,OAC1Btf,EAAO,OAAOsf,GAAS,GAAG,MAEvB,CACL,MAAMqG,GAAS,KAAK,YAAc,EAClC,IAAIC,GAAS,KACb,QAAS73E,GAAI,EAAGkE,GAAKyzE,EAAM,OAAQ33E,GAAIkE,GAAI,EAAElE,GACvC63E,KAAW,MACbA,GAAS,SAAS,cAAc,KAAK,EACrCA,GAAO,UAAY,SACnB5lB,EAAO,OAAO4lB,EAAM,GACX73E,GAAI,IAAM43E,KACnBC,GAASA,GAAO,UAAU,EAAK,EAC/B5lB,EAAO,OAAO4lB,EAAM,GAEtBA,GAAO,OAAOF,EAAM33E,EAAC,EAAE,GAAG,EAI3BmJ,IAGD,KAAK,oBAAsB,MAAM,KAAK,kBAAkB,GAC1DyB,EAAA,KAAK0oE,EAAAwB,IAAL,UAAe,KAAK,mBAAoB,CACtC,SAAU,EAClB,GAEI,KAAK,sBAAsB3rE,EAAY,EAAI,EAC3C,KAAK,OAAM,EACZ,CACD,gBAAgB2uE,EAAmB1W,EAAW,GAAO,CACnD,OAAQ,KAAK,YAAW,CACtB,KAAKjY,EAAU,WAAW,QACxB,CACE,KAAM,CACF,MAAAkG,CACd,EAAgB,KAAK,iBAAkB,EAC3B0oB,GAAa,IAAI,IACnB,SAAW,CACT,GAAA1uE,GACA,EAAA2J,GACA,QAAAg+C,GACA,aAAAz9C,EACD,IAAI87C,EAAO,CACV,GAAI2B,KAAY,GAAKz9C,GAAe,IAClC,SAEF,IAAIykE,GAASD,GAAW,IAAI/kE,EAAC,EACxBglE,IACHD,GAAW,IAAI/kE,GAAGglE,QAAW,CAAE,EAAA,EAEjCA,GAAO,KAAK3uE,EAAE,EAEhB,UAAW2uE,MAAUD,GAAW,SAAU,CACxC,MAAMlpB,GAAempB,GAAO,QAAQF,CAAiB,EACrD,GAAIjpB,KAAiB,GACnB,SAEF,MAAMyS,GAAW0W,GAAO,OACxB,GAAI1W,KAAa,EACf,MAEF,GAAIF,EACF,QAASphE,GAAI6uD,GAAe,EAAG3qD,GAAK,EAAGlE,IAAKkE,GAAIlE,KAAK,CACnD,MAAMk3E,GAAYc,GAAOh4E,EAAC,EACxBi4E,GAAaD,GAAOh4E,GAAI,CAAC,EAAI,EAC/B,GAAIk3E,GAAYe,GACd,OAAOH,EAAoBG,OAI/B,SAASj4E,GAAI6uD,GAAe,EAAG3qD,GAAKo9D,GAAUthE,GAAIkE,GAAIlE,KAAK,CACzD,MAAMk3E,GAAYc,GAAOh4E,EAAC,EACxBi4E,GAAaD,GAAOh4E,GAAI,CAAC,EAAI,EAC/B,GAAIk3E,GAAYe,GACd,OAAOA,GAAaH,EAI1B,GAAI1W,EAAU,CACZ,MAAM8W,GAAUF,GAAO,CAAC,EACxB,GAAIE,GAAUJ,EACZ,OAAOA,EAAoBI,GAAU,MAElC,CACL,MAAMC,GAASH,GAAO1W,GAAW,CAAC,EAClC,GAAI6W,GAASL,EACX,OAAOK,GAASL,EAAoB,EAGxC,MAEF,KACD,CACH,KAAK3uB,EAAU,WAAW,WAEtB,MAEJ,KAAKA,EAAU,WAAW,KAC1B,KAAKA,EAAU,WAAW,SACxB,CACE,GAAI,KAAK,cAAgBA,EAAU,WAAW,KAC5C,MAEF,MAAMyuB,EAAS,KAAK,YAAc,EAClC,GAAIxW,GAAY0W,EAAoB,IAAMF,EACxC,MACK,GAAI,CAACxW,GAAY0W,EAAoB,IAAMF,EAChD,MAEF,KAAM,CACF,MAAAvoB,EACd,EAAgB,KAAK,iBAAkB,EAC3B4oB,GAAa7W,EAAW0W,EAAoB,EAAIA,EAAoB,EACtE,SAAW,CACT,GAAAzuE,GACA,QAAA2nD,GACA,aAAAz9C,EACD,IAAI87C,GACH,GAAIhmD,KAAO4uE,GAGX,IAAIjnB,GAAU,GAAKz9C,KAAiB,IAClC,MAAO,GAET,MAEF,KACD,CACJ,CACD,MAAO,EACR,CACD,UAAW,CACT,MAAMukE,EAAoB,KAAK,mBAC7B/C,EAAa,KAAK,WACpB,GAAI+C,GAAqB/C,EACvB,MAAO,GAET,MAAMqD,EAAU,KAAK,gBAAgBN,EAAmB,EAAK,GAAK,EAClE,YAAK,kBAAoB,KAAK,IAAIA,EAAoBM,EAASrD,CAAU,EAClE,EACR,CACD,cAAe,CACb,MAAM+C,EAAoB,KAAK,mBAC/B,GAAIA,GAAqB,EACvB,MAAO,GAET,MAAMM,EAAU,KAAK,gBAAgBN,EAAmB,EAAI,GAAK,EACjE,YAAK,kBAAoB,KAAK,IAAIA,EAAoBM,EAAS,CAAC,EACzD,EACR,CACD,cAAc,CACZ,aAAAtQ,EACA,YAAAj/B,EACA,MAAA/gB,CACD,EAAG,GAAI,CACN,GAAI,CAAC,KAAK,YACR,OAEF,IAAIuwD,GAAW,KAAK,cACpB,GAAIxvC,EAAc,EAChBwvC,GAAW,KAAK,MAAMA,GAAWxvC,EAAc,GAAG,EAAI,QACjD,CACL/gB,MAAU,GACV,GACEuwD,GAAW,KAAK,MAAMA,GAAWlvB,EAAU,qBAAqB,QAAQ,CAAC,EAAI,EAAE,EAAI,SAC5E,EAAErhC,EAAQ,GAAKuwD,GAAWlvB,EAAU,WAE/Cv+C,EAAA,KAAK0oE,EAAAwB,IAAL,UAAe,KAAK,IAAI3rB,EAAU,UAAWkvB,EAAQ,EAAG,CACtD,SAAU,GACV,aAAAvQ,CACN,EACG,CACD,cAAc,CACZ,aAAAA,EACA,YAAAj/B,EACA,MAAA/gB,CACD,EAAG,GAAI,CACN,GAAI,CAAC,KAAK,YACR,OAEF,IAAIuwD,GAAW,KAAK,cACpB,GAAIxvC,EAAc,GAAKA,EAAc,EACnCwvC,GAAW,KAAK,MAAMA,GAAWxvC,EAAc,GAAG,EAAI,QACjD,CACL/gB,MAAU,GACV,GACEuwD,GAAW,KAAK,OAAOA,GAAWlvB,EAAU,qBAAqB,QAAQ,CAAC,EAAI,EAAE,EAAI,SAC7E,EAAErhC,EAAQ,GAAKuwD,GAAWlvB,EAAU,WAE/Cv+C,EAAA,KAAK0oE,EAAAwB,IAAL,UAAe,KAAK,IAAI3rB,EAAU,UAAWkvB,EAAQ,EAAG,CACtD,SAAU,GACV,aAAAvQ,CACN,EACG,CAgBD,IAAI,kBAAmB,CACrB,OAAO/iE,EAAA,KAAKgvE,IAALlvE,GAAA,KAAKkvE,EAAsB,CAAC,KAAK,UAAU,UAAW,KAAK,UAAU,UAAU,EACvF,CACD,IAAI,sBAAuB,CACzB,OAAOhvE,EAAA,KAAK+uE,GAA6B/uE,EAAA,KAAK8uE,GAAwBphB,EAAU,qBAAqB,OACtG,CACD,IAAI,qBAAqBj5C,EAAM,CAC7B,GAAI,CAACzU,EAAA,KAAK+uE,GACR,MAAM,IAAI,MAAM,sCAAsC,EAExD,GAAI/uE,EAAA,KAAK8uE,KAA0Br6D,EAGnC,IAAI,CAAC24D,EAA4B34D,CAAI,EACnC,MAAM,IAAI,MAAM,kCAAkCA,GAAM,EAErD,KAAK,cAGV3U,GAAA,KAAKgvE,EAAwBr6D,GAC7B,KAAK,SAAS,SAAS,8BAA+B,CACpD,OAAQ,KACR,KAAAA,CACN,CAAK,EACDzU,EAAA,KAAK+uE,GAA2B,WAAWt6D,CAAI,GAChD,CACD,IAAI,uBAAuB,CACzB,KAAApK,EACA,MAAAvQ,CACJ,EAAK,CACD,GAAI,CAACkG,EAAA,KAAK+uE,GACR,MAAM,IAAI,MAAM,sCAAsC,EAExD/uE,EAAA,KAAK+uE,GAA2B,aAAa1kE,EAAMvQ,CAAK,CACzD,CACD,QAAQy5E,EAAW,GAAOC,EAAa,OAAO,OAAO,IAAI,EAAG,CAC1D,GAAK,KAAK,YAGV,WAAWhH,KAAY,KAAK,OAC1BA,EAAS,OAAOgH,CAAU,EAExBxzE,EAAA,KAAK0vE,MAAoB,OAC3B,aAAa1vE,EAAA,KAAK0vE,GAAe,EACjC5vE,GAAA,KAAK4vE,GAAkB,OAEpB6D,GACH,KAAK,OAAM,EAEd,CACF,CAv6CC1E,EAAA,YACAC,EAAA,YACAC,EAAA,YACA1N,EAAA,YACA2N,EAAA,YACAC,EAAA,YACApE,GAAA,YACAqE,EAAA,YACAC,GAAA,YACAC,GAAA,YACAC,GAAA,YACAC,GAAA,YACAE,GAAA,YACAC,EAAA,YACAC,GAAA,YACA/N,GAAA,YAkMAL,EAAA,YAAAmP,GAAgB,UAAG,CACjB,MAAM//D,EAAO,KACb,MAAO,CACL,IAAI,2BAA4B,CAC9B,OAAO1Q,EAAA0Q,EAAKq+D,EACb,EACD,IAAI,mBAAoB,OACtB,OAAOrrE,EAAAgN,EAAK,cAAL,YAAAhN,EAAkB,iBAC1B,EACD,IAAI,iBAAkB,CACpB,OAAOgN,EAAK,eACb,EACD,IAAI,iBAAkB,CACpB,MAAO,CAAC,CAACA,EAAK,iBACf,EACD,IAAI,qBAAsB,OACxB,OAAOhN,EAAAgN,EAAK,cAAL,YAAAhN,EAAkB,iBAC1B,EACD,IAAI,gBAAiB,CACnB,OAAOgN,EAAK,cACb,EACD,IAAI,qBAAsB,OACxB,OAAOhN,EAAAgN,EAAK,cAAL,YAAAhN,EAAkB,cAC1B,EACD,IAAI,aAAc,CAChB,OAAOgN,EAAK,WACb,CACP,CACG,EACDq9D,EAAA,YAAAwC,GAAsB,SAACH,EAAa,CAClC,MAAMx6E,EAAS,CACb,qBAAsBoK,EAAA,KAAK8uE,GAC3B,eAAgB9uE,EAAA,KAAKqhE,GACrB,cAAerhE,EAAA,KAAK2hE,GAC1B,EACI,OAAKyO,IAGD,CAACA,EAAY,SAAS1iB,EAAU,eAAe,IAAI,GAAK1tD,EAAA,KAAK2hE,MAAmBvd,EAAU,cAAc,SAC1GxuD,EAAO,cAAgBwuD,EAAU,cAAc,oBAE5CgsB,EAAY,SAAS1iB,EAAU,eAAe,eAAe,IAChE93D,EAAO,qBAAuB83D,EAAU,qBAAqB,SAE3D,CAAC0iB,EAAY,SAAS1iB,EAAU,eAAe,kBAAkB,GAAK,CAAC0iB,EAAY,SAAS1iB,EAAU,eAAe,sBAAsB,GAAK1tD,EAAA,KAAKqhE,KAAoB3T,EAAU,eAAe,eACpM93D,EAAO,eAAiB83D,EAAU,eAAe,SAE5C93D,CACR,EACDo4E,EAAA,YAAA6C,GAA4B,UAAG,CAC7B,GAAI,SAAS,kBAAoB,UAAY,CAAC,KAAK,UAAU,cAAgB,KAAK,iBAAkB,EAAC,MAAM,SAAW,EACpH,OAAO,QAAQ,UAEjB,MAAM4C,EAA0B,IAAI,QAAQ9zE,GAAW,CACrDG,GAAA,KAAK2vE,EAAsB,IAAM,CAC3B,SAAS,kBAAoB,WAGjC9vE,IACA,SAAS,oBAAoB,mBAAoBK,EAAA,KAAKyvE,EAAmB,EACzE3vE,GAAA,KAAK2vE,EAAsB,MACnC,GACM,SAAS,iBAAiB,mBAAoBzvE,EAAA,KAAKyvE,EAAmB,CAC5E,CAAK,EACD,OAAO,QAAQ,KAAK,CAAC,KAAK,2BAA2B,QAASgE,CAAuB,CAAC,CACvF,EAyBDxF,GAAA,YAAA6C,GAAa,SAACR,EAAeloE,EAAO,CAClC,MAAMkjE,EAAY,SAAS,eACrB,CACJ,UAAAoI,GACA,WAAAC,EACD,EAAGrI,EACJ,GAAIqI,IAAcD,IAAapI,EAAU,aAAatrE,EAAA,KAAKmvE,GAAkB,EAAG,CAC9E,GAAInvE,EAAA,KAAKkvE,IAAyBoB,IAAkBlsB,EAAU,cAAc,mBAAoB,CAC9Fh8C,EAAM,eAAc,EACpBA,EAAM,gBAAe,EACrB,OAEFtI,GAAA,KAAKovE,EAAwB,IAC7B,MAAM0E,GAAc,KAAK,UAAU,MAAM,OACzC,KAAK,UAAU,MAAM,OAAS,OAC9B,MAAMC,GAAgBC,IAAMh0E,GAAA,KAAKsvE,GAA0B0E,GAAG,MAAQ,UACtE,OAAO,iBAAiB,UAAWD,EAAa,EAChD,KAAK,WAAU,EAAG,KAAK,MAAM7zC,IAAQ,CAC/BA,KAAS,MACX,MAAM,UAAU,UAAU,UAAUA,EAAI,CAElD,CAAO,EAAE,MAAMjgC,IAAU,CACjB,QAAQ,KAAK,kDAAkDA,GAAO,SAAS,CACvF,CAAO,EAAE,QAAQ,IAAM,CACfD,GAAA,KAAKovE,EAAwB,IAC7BpvE,GAAA,KAAKsvE,GAA0B,IAC/B,OAAO,oBAAoB,UAAWyE,EAAa,EACnD,KAAK,UAAU,MAAM,OAASD,EACtC,CAAO,EACDxrE,EAAM,eAAc,EACpBA,EAAM,gBAAe,EAExB,EA0PD8lE,EAAA,YAAA0C,GAAsB,UAAG,CACvB,GAAI,KAAK,cAAgBxsB,EAAU,WAAW,KAC5C,MAAM,IAAI,MAAM,mDAAmD,EAErE,MAAMhgD,EAAa,KAAK,mBACtBq3B,EAAQz7B,EAAA,KAAKwvE,IACbtiB,EAAS,KAAK,OAGhB,GAFAA,EAAO,YAAc,GACrBzxB,EAAM,MAAM,OAAS,EACjB,KAAK,cAAgB2oB,EAAU,WAAW,MAAQ,CAAC,KAAK,qBAAsB,CAChF,MAAMooB,GAAW,KAAK,OAAOpoE,EAAa,CAAC,EAC3C8oD,EAAO,OAAOsf,GAAS,GAAG,EAC1B/wC,EAAM,MAAM,KAAK+wC,EAAQ,MACpB,CACL,MAAMuH,GAAe,IAAI,IACvBlB,GAAS,KAAK,YAAc,EAC1BA,KAAW,GACbkB,GAAa,IAAI3vE,EAAa,CAAC,EACtBA,EAAa,IAAMyuE,IAC5BkB,GAAa,IAAI3vE,EAAa,CAAC,EAC/B2vE,GAAa,IAAI3vE,CAAU,IAE3B2vE,GAAa,IAAI3vE,EAAa,CAAC,EAC/B2vE,GAAa,IAAI3vE,EAAa,CAAC,GAEjC,MAAM0uE,GAAS,SAAS,cAAc,KAAK,EAE3C,GADAA,GAAO,UAAY,SACf,KAAK,qBAAsB,CAC7B,MAAMkB,GAAY,SAAS,cAAc,KAAK,EAC9CA,GAAU,UAAY,YACtBlB,GAAO,OAAOkB,EAAS,EAEzB,UAAW/4E,MAAK84E,GAAc,CAC5B,MAAMvH,GAAW,KAAK,OAAOvxE,EAAC,EACzBuxE,KAGLsG,GAAO,OAAOtG,GAAS,GAAG,EAC1B/wC,EAAM,MAAM,KAAK+wC,EAAQ,GAE3Btf,EAAO,OAAO4lB,EAAM,EAEtBr3C,EAAM,WAAar3B,GAAcq3B,EAAM,mBACvCA,EAAM,mBAAqBr3B,CAC5B,EAOD+pE,EAAA,YAAAkD,GAAe,SAAC7E,EAAUyH,EAAW,KAAM,CACzC,KAAM,CACJ,IAAA97D,EACA,GAAA7T,EACD,EAAGkoE,EAQJ,GAPI,KAAK,qBAAuBloE,IAC9B,KAAK,sBAAsBA,EAAE,EAE3B,KAAK,cAAgB8/C,EAAU,WAAW,OAC5Cv+C,EAAA,KAAKqoE,EAAA0C,IAAL,WACA,KAAK,OAAM,GAET,CAACqD,GAAY,CAAC,KAAK,qBAAsB,CAC3C,MAAMrxC,GAAOzqB,EAAI,WAAaA,EAAI,WAChC2yC,GAAQloB,GAAOzqB,EAAI,YACf,CACJ,WAAA+7D,GACA,YAAAC,EACR,EAAU,KAAK,WACL,KAAK,cAAgB/vB,EAAU,WAAW,YAAcxhB,GAAOsxC,IAAcppB,GAAQopB,GAAaC,MACpGF,EAAW,CACT,KAAM,EACN,IAAK,CACf,MAGQ7vB,EAAU,gBAAgBjsC,EAAK87D,CAAQ,EACvC,CAAC,KAAK,oBAAsB,KAAK,YACnC,KAAK,UAAY,KAEpB,EACD7F,EAAA,YAAAgG,GAAY,SAACd,EAAU,CACrB,OAAOA,IAAa,KAAK,eAAiB,KAAK,IAAIA,EAAW,KAAK,aAAa,EAAI,KACrF,EACDjF,EAAA,YAAAgG,GAAoB,SAACf,EAAUgB,EAAU,CACvC,SAAAC,EAAW,GACX,OAAAC,GAAS,GACT,aAAAzR,GAAe,EACnB,EAAK,CAED,GADA,KAAK,mBAAqBuR,EAAS,WAC/BzuE,EAAA,KAAKuoE,EAAAgG,IAAL,UAAkBd,GAAW,CAC3BkB,IACF,KAAK,SAAS,SAAS,gBAAiB,CACtC,OAAQ,KACR,MAAOlB,EACP,YAAagB,CACvB,CAAS,EAEH,OAEF,KAAK,OAAO,MAAM,YAAY,iBAAkBhB,EAAW5lB,EAAU,cAAc,gBAAgB,EACnG,MAAMwV,GAAkBH,IAAgB,GAAKA,GAAe,IAY5D,GAXA,KAAK,QAAQ,GAAM,CACjB,MAAOuQ,EACP,aAAcpQ,GAAkBH,GAAe,EACrD,CAAK,EACGG,IACFpjE,GAAA,KAAK4vE,GAAkB,WAAW,IAAM,CACtC5vE,GAAA,KAAK4vE,GAAkB,MACvB,KAAK,QAAO,CACb,EAAE3M,EAAY,GAEjB,KAAK,cAAgBuQ,EACjB,CAACiB,EAAU,CACb,IAAI5qE,GAAO,KAAK,mBACdsa,GACE,KAAK,WAAa,EAAE,KAAK,sBAAwB,KAAK,8BACxDta,GAAO,KAAK,UAAU,WACtBsa,GAAO,CAAC,KAAM,CACZ,KAAM,KAChB,EAAW,KAAK,UAAU,KAAM,KAAK,UAAU,IAAK,IAAI,GAElD,KAAK,mBAAmB,CACtB,WAAYta,GACZ,UAAWsa,GACX,oBAAqB,EAC7B,CAAO,EAEH,KAAK,SAAS,SAAS,gBAAiB,CACtC,OAAQ,KACR,MAAOqvD,EACP,YAAakB,GAASF,EAAW,MACvC,CAAK,EACG,KAAK,uBACP,KAAK,OAAM,CAEd,EACGhG,GAAA,YAAAmG,GAAqB,UAAG,CAC1B,OAAI,KAAK,cAAgBrwB,EAAU,WAAW,MAAQ,KAAK,cAAgBA,EAAU,WAAW,WACvF,EAEF,CACR,EACDmqB,EAAA,YAAAwB,GAAS,SAACj2E,EAAOL,EAAS,CACxB,IAAI/D,EAAQ,WAAWoE,CAAK,EAC5B,GAAIpE,EAAQ,EACV+D,EAAQ,OAAS,GACjBoM,EAAA,KAAKwoE,EAAAgG,IAAL,UAA0B3+E,EAAOoE,EAAOL,OACnC,CACL,MAAMi7E,GAAc,KAAK,OAAO,KAAK,mBAAqB,CAAC,EAC3D,GAAI,CAACA,GACH,OAEF,IAAIvD,GAAW/sB,EAAU,kBACvBgtB,GAAWhtB,EAAU,iBACnB,KAAK,sBACP+sB,GAAWC,GAAW,EAClB,KAAK,cAAgBhtB,EAAU,WAAW,OAC5C+sB,IAAY,IAEL,KAAK,kBACdA,GAAWC,GAAW,EACb,KAAK,cAAgBhtB,EAAU,WAAW,aACnD,CAAC+sB,GAAUC,EAAQ,EAAI,CAACA,GAAUD,EAAQ,GAE5C,MAAMwD,IAAkB,KAAK,UAAU,YAAcxD,IAAYuD,GAAY,MAAQA,GAAY,MAAQ10E,EAAA,KAAKsuE,GAAAmG,IACxGG,IAAmB,KAAK,UAAU,aAAexD,IAAYsD,GAAY,OAASA,GAAY,MACpG,OAAQ56E,EAAK,CACX,IAAK,cACHpE,EAAQ,EACR,MACF,IAAK,aACHA,EAAQi/E,GACR,MACF,IAAK,cACHj/E,EAAQk/E,GACR,MACF,IAAK,WACHl/E,EAAQ,KAAK,IAAIi/E,GAAgBC,EAAe,EAChD,MACF,IAAK,OACH,MAAMC,MAAsBzwB,EAAU,uBAAuBswB,EAAW,EAAIC,GAAiB,KAAK,IAAIC,GAAiBD,EAAc,EACrIj/E,EAAQ,KAAK,IAAI0uD,EAAU,eAAgBywB,EAAe,EAC1D,MACF,QACE,QAAQ,MAAM,eAAe/6E,8BAAkC,EAC/D,MACH,CACDL,EAAQ,OAAS,GACjBoM,EAAA,KAAKwoE,EAAAgG,IAAL,UAA0B3+E,EAAOoE,EAAOL,GAE3C,EACD+0E,GAAA,YAAAsB,GAAqB,UAAG,CACtB,MAAMtD,EAAW,KAAK,OAAO,KAAK,mBAAqB,CAAC,EACpD,KAAK,sBACP3mE,EAAA,KAAK0oE,EAAAwB,IAAL,UAAe,KAAK,mBAAoB,CACtC,SAAU,EAClB,GAEIlqE,EAAA,KAAKsoE,EAAAkD,IAAL,UAAqB7E,EACtB,EAoOKiC,GAAA,YAAAgE,GAAoB,eAACjG,EAAU,SACnC,GAAIA,EAAS,QACX,OAAOA,EAAS,QAElB,GAAI,CACF,MAAM1e,GAAU,MAAM,KAAK,YAAY,QAAQ0e,EAAS,EAAE,EAC1D,OAAKA,EAAS,SACZA,EAAS,WAAW1e,EAAO,GAExBloD,GAAAlC,EAAA,KAAK,aAAY,oBAAjB,MAAAkC,EAAA,KAAAlC,EAAqCoqD,GAAQ,MAChD,KAAK,YAAY,aAAa0e,EAAS,GAAI1e,GAAQ,GAAG,EAEjDA,EACR,OAAQ/tD,GAAP,CACA,eAAQ,MAAM,mCAAoCA,EAAM,EACjD,IACR,CACF,EACD2uE,GAAA,YAAA6D,GAAe,SAAC13C,EAAS,SACvB,KAAIn3B,EAAAm3B,EAAQ,QAAR,YAAAn3B,EAAe,MAAO,EACxB,MAAO,GACF,KAAIkC,EAAAi1B,EAAQ,OAAR,YAAAj1B,EAAc,MAAO,KAAK,WACnC,MAAO,GAET,OAAQ,KAAK,YAAW,CACtB,KAAKw+C,EAAU,WAAW,KACxB,OAAOpkD,EAAA,KAAKwvE,IAAqB,WACnC,KAAKprB,EAAU,WAAW,WACxB,OAAO,KAAK,OAAO,KACtB,CACD,OAAO,KAAK,OAAO,IACpB,EAqVDuqB,GAAA,YAAAiB,GAAyB,SAAC/kE,EAAS,KAAK,UAAU,aAAc,CAC1DA,IAAW7K,EAAA,KAAKqvE,MAClBvvE,GAAA,KAAKuvE,GAA2BxkE,GAChCu5C,EAAU,SAAS,YAAY,4BAA6B,GAAGv5C,KAAU,EAE5E,EACD+jE,GAAA,YAAAW,GAAuB,SAACrjC,EAAS,CAC/B,UAAWz/B,KAASy/B,EAClB,GAAIz/B,EAAM,SAAW,KAAK,UAAW,CACnC5G,EAAA,KAAK8oE,GAAAiB,IAAL,UAA+B,KAAK,MAAMnjE,EAAM,cAAc,CAAC,EAAE,SAAS,GAC1E3M,GAAA,KAAKkvE,EAAoB,MACzB,MAGL,EAoDH/4E,EAAQ,UAAY63E,CAEb,EAEA,CAAC93E,EAAyBC,EAAS8V,IAAwB,CAIlE,OAAO,eAAe9V,EAAS,aAAe,CAC5C,MAAO,EACT,GACAA,EAAQ,kBAAoB,OAC5B,IAAIy3D,EAAY3hD,EAAoB,CAAC,EACjCq4C,EAAYr4C,EAAoB,CAAC,EACrC,MAAM+oE,EAAkB,IACxB,MAAMC,CAAkB,CACtB,aAAc,CACZ,KAAK,UAAY,KACjB,KAAK,mBAAqB,KAC1B,KAAK,OAAS,KACd,KAAK,oBAAsB,KAC3B,KAAK,YAAc,KACnB,KAAK,SAAW,GAChB,KAAK,uBAAyB,EAC/B,CACD,UAAU7vB,EAAW,CACnB,KAAK,UAAYA,CAClB,CACD,mBAAmB8vB,EAAoB,CACrC,KAAK,mBAAqBA,CAC3B,CACD,kBAAkB9qB,EAAM,CACtB,OAAO,KAAK,sBAAwBA,EAAK,WAC1C,CACD,WAAY,CACV,MAAO,CAAC,CAAC,KAAK,SACf,CACD,sBAAsBmoB,EAAuB,OACvC,KAAK,cACP,aAAa,KAAK,WAAW,EAC7B,KAAK,YAAc,MAEjB,MAAK,UAAU,eAAeA,CAAqB,IAGnD,KAAK,0BAA0B3uE,EAAA,KAAK,qBAAL,MAAAA,EAAyB,mBAGxD,KAAK,UAGL,KAAK,SACP,KAAK,YAAc,WAAW,KAAK,OAAO,KAAK,IAAI,EAAGoxE,CAAe,GAExE,CACD,mBAAmBj6C,EAASyvB,EAAO2qB,EAAczC,EAAiB,GAAO,CACvE,MAAM0C,EAAer6C,EAAQ,MAC3Bs6C,EAAaD,EAAa,OAC5B,GAAIC,IAAe,EACjB,OAAO,KAET,QAASl6E,EAAI,EAAGA,EAAIk6E,EAAYl6E,IAAK,CACnC,MAAMivD,EAAOgrB,EAAaj6E,CAAC,EAAE,KAC7B,GAAI,CAAC,KAAK,eAAeivD,CAAI,EAC3B,OAAOA,EAGX,MAAMipB,EAAUt4C,EAAQ,MAAM,GAC5Bu4C,EAASv4C,EAAQ,KAAK,GACxB,GAAIu4C,EAASD,EAAU,EAAIgC,EAAY,CACrC,MAAMC,EAAav6C,EAAQ,IAC3B,QAAS5/B,EAAI,EAAGkE,EAAKi0E,EAASD,EAASl4E,EAAIkE,EAAIlE,IAAK,CAClD,MAAMo6E,EAASJ,EAAe9B,EAAUl4E,EAAIm4E,EAASn4E,EACrD,GAAIm6E,EAAW,IAAIC,CAAM,EACvB,SAEF,MAAMC,EAAWhrB,EAAM+qB,EAAS,CAAC,EACjC,GAAI,CAAC,KAAK,eAAeC,CAAQ,EAC/B,OAAOA,GAIb,IAAIC,EAAiBN,EAAe7B,EAASD,EAAU,EACnDqC,EAAgBlrB,EAAMirB,CAAc,EAIxC,OAHIC,GAAiB,CAAC,KAAK,eAAeA,CAAa,GAGnDhD,IACF+C,GAAkBN,EAAe,EAAI,GACrCO,EAAgBlrB,EAAMirB,CAAc,EAChCC,GAAiB,CAAC,KAAK,eAAeA,CAAa,GAC9CA,EAGJ,IACR,CACD,eAAetrB,EAAM,CACnB,OAAOA,EAAK,iBAAmB9F,EAAU,gBAAgB,QAC1D,CACD,WAAW8F,EAAM,CACf,OAAQA,EAAK,eAAc,CACzB,KAAK9F,EAAU,gBAAgB,SAC7B,MAAO,GACT,KAAKA,EAAU,gBAAgB,OAC7B,KAAK,oBAAsB8F,EAAK,YAChCA,EAAK,OAAM,EACX,MACF,KAAK9F,EAAU,gBAAgB,QAC7B,KAAK,oBAAsB8F,EAAK,YAChC,MACF,KAAK9F,EAAU,gBAAgB,QAC7B,KAAK,oBAAsB8F,EAAK,YAChCA,EAAK,OAAO,QAAQ,IAAM,CACxB,KAAK,sBAAqB,CACpC,CAAS,EAAE,MAAMnqD,GAAU,CACbA,aAAkB2tD,EAAU,6BAGhC,QAAQ,MAAM,gBAAgB3tD,IAAS,CACjD,CAAS,EACD,KACH,CACD,MAAO,EACR,CACF,CACD9J,EAAQ,kBAAoB8+E,CAErB,CACP,EAGcU,EAA2B,CAAA,EAG/B,SAAS1pE,EAAoB43C,EAAU,CAEtC,IAAIC,EAAe6xB,EAAyB9xB,CAAQ,EACpD,GAAIC,IAAiB,OACpB,OAAOA,EAAa,QAGrB,IAAI7V,EAAS0nC,EAAyB9xB,CAAQ,EAAI,CAGjD,QAAS,CAAE,CACvB,EAGW,OAAAQ,EAAoBR,CAAQ,EAAE5V,EAAQA,EAAO,QAAShiC,CAAmB,EAGlEgiC,EAAO,OACd,CAGX,IAAI2nC,GAAsB,CAAA,EAE1B,OAAC,IAAM,CACP,IAAIz/E,EAAUy/E,GAGd,OAAO,eAAez/E,EAAS,aAAe,CAC5C,MAAO,EACT,GACA,OAAO,eAAeA,EAAS,yBAA2B,CACxD,WAAY,GACZ,IAAK,UAAY,CACf,OAAOiqE,EAA0B,sBAClC,CACH,GACAjqE,EAAQ,uBAAyBA,EAAQ,wBAA0BA,EAAQ,8BAAgCA,EAAQ,8BAAgC,OACnJ,OAAO,eAAeA,EAAS,kBAAoB,CACjD,WAAY,GACZ,IAAK,UAAY,CACf,OAAO0/E,EAAkB,eAC1B,CACH,GACA,OAAO,eAAe1/E,EAAS,WAAa,CAC1C,WAAY,GACZ,IAAK,UAAY,CACf,OAAOkoE,EAAa,QACrB,CACH,GACA,OAAO,eAAeloE,EAAS,cAAgB,CAC7C,WAAY,GACZ,IAAK,UAAY,CACf,OAAO2/E,EAAa,WACrB,CACH,GACA,OAAO,eAAe3/E,EAAS,aAAe,CAC5C,WAAY,GACZ,IAAK,UAAY,CACf,OAAOmqE,EAAkB,UAC1B,CACH,GACA,OAAO,eAAenqE,EAAS,WAAa,CAC1C,WAAY,GACZ,IAAK,UAAY,CACf,OAAO03D,EAAY,QACpB,CACH,GACA,OAAO,eAAe13D,EAAS,oBAAsB,CACnD,WAAY,GACZ,IAAK,UAAY,CACf,OAAO4/E,EAAqB,iBAC7B,CACH,GACA,OAAO,eAAe5/E,EAAS,aAAe,CAC5C,WAAY,GACZ,IAAK,UAAY,CACf,OAAO6/E,EAAa,UACrB,CACH,GACA,OAAO,eAAe7/E,EAAS,iBAAmB,CAChD,WAAY,GACZ,IAAK,UAAY,CACf,OAAOmqE,EAAkB,cAC1B,CACH,GACA,OAAO,eAAenqE,EAAS,cAAgB,CAC7C,WAAY,GACZ,IAAK,UAAY,CACf,OAAO+2E,EAAe,WACvB,CACH,GACA,OAAO,eAAe/2E,EAAS,sBAAwB,CACrD,WAAY,GACZ,IAAK,UAAY,CACf,OAAO8/E,EAAuB,mBAC/B,CACH,GACA,OAAO,eAAe9/E,EAAS,sBAAwB,CACrD,WAAY,GACZ,IAAK,UAAY,CACf,OAAO+/E,EAAwB,mBAChC,CACH,GACA,OAAO,eAAe//E,EAAS,YAAc,CAC3C,WAAY,GACZ,IAAK,UAAY,CACf,OAAO62E,EAAY,SACpB,CACH,GACA,OAAO,eAAe72E,EAAS,cAAgB,CAC7C,WAAY,GACZ,IAAK,UAAY,CACf,OAAOmuD,EAAU,WAClB,CACH,GACA,OAAO,eAAenuD,EAAS,kBAAoB,CACjD,WAAY,GACZ,IAAK,UAAY,CACf,OAAOmuD,EAAU,eAClB,CACH,GACA,OAAO,eAAenuD,EAAS,aAAe,CAC5C,WAAY,GACZ,IAAK,UAAY,CACf,OAAOmuD,EAAU,UAClB,CACH,GACA,OAAO,eAAenuD,EAAS,oBAAsB,CACnD,WAAY,GACZ,IAAK,UAAY,CACf,OAAOmqE,EAAkB,iBAC1B,CACH,GACA,OAAO,eAAenqE,EAAS,aAAe,CAC5C,WAAY,GACZ,IAAK,UAAY,CACf,OAAOmuD,EAAU,UAClB,CACH,GACA,OAAO,eAAenuD,EAAS,yBAA2B,CACxD,WAAY,GACZ,IAAK,UAAY,CACf,OAAOoqE,EAA2B,sBACnC,CACH,GACA,OAAO,eAAepqE,EAAS,mBAAqB,CAClD,WAAY,GACZ,IAAK,UAAY,CACf,OAAOuqE,EAAoB,gBAC5B,CACH,GACA,OAAO,eAAevqE,EAAS,kBAAoB,CACjD,WAAY,GACZ,IAAK,UAAY,CACf,OAAOwqE,EAAmB,eAC3B,CACH,GACA,OAAO,eAAexqE,EAAS,mBAAqB,CAClD,WAAY,GACZ,IAAK,UAAY,CACf,OAAOmuD,EAAU,gBAClB,CACH,GACA,IAAIgc,EAAoBr0D,EAAoB,CAAC,EACzCq4C,EAAYr4C,EAAoB,CAAC,EACjCm0D,EAA4Bn0D,EAAoB,CAAC,EACjD4pE,EAAoB5pE,EAAoB,CAAC,EACzCoyD,EAAepyD,EAAoB,CAAC,EACpC6pE,EAAe7pE,EAAoB,CAAC,EACpC4hD,EAAc5hD,EAAoB,CAAC,EACnC8pE,EAAuB9pE,EAAoB,EAAE,EAC7C+pE,EAAe/pE,EAAoB,EAAE,EACrCihE,EAAiBjhE,EAAoB,EAAE,EACvCgqE,EAAyBhqE,EAAoB,EAAE,EAC/CiqE,EAA0BjqE,EAAoB,EAAE,EAChD+gE,EAAc/gE,EAAoB,EAAE,EACpCs0D,EAA6Bt0D,EAAoB,EAAE,EACnDy0D,EAAsBz0D,EAAoB,EAAE,EAC5C00D,EAAqB10D,EAAoB,EAAE,EAG/C,MAAMkqE,CAA8B,CAClC,aAAc,CACZ,MAAM,IAAI,MAAM,iLAA2L,CAC5M,CACF,CACDhgF,EAAQ,8BAAgCggF,EACxC,MAAMC,CAA8B,CAClC,aAAc,CACZ,MAAM,IAAI,MAAM,+HAAoI,CACrJ,CACF,CACDjgF,EAAQ,8BAAgCigF,EACxC,MAAMC,CAAwB,CAC5B,aAAc,CACZ,MAAM,IAAI,MAAM,oKAA8K,CAC/L,CACF,CACDlgF,EAAQ,wBAA0BkgF,EAClC,MAAMC,CAAuB,CAC3B,aAAc,CACZ,MAAM,IAAI,MAAM,yJAAmK,CACpL,CACF,CACDngF,EAAQ,uBAAyBmgF,CACjC,KAEiBV,EACjB,GAAa,CAEZ,sCCr8ODW,WAAAA,oBAA0B,UAAY,kCAMtC,MAAA,UAAeC,oBAAgB,CAC7B,KAAM,iBACN,WAAY,CAAA,kBAACC,YAAmB,gBAAAC,YAAiBC,YAAAA,YAAaC,kBAAAA,WAAiB,EAC/E,MAAO,CACL,MAAO,CACL,KAAM,OACN,SAAU,EACZ,EACA,QAAS,CACP,KAAM,OACN,SAAU,EACZ,EACA,WAAY,CACV,KAAM,QACN,QAAS,EACX,EACA,KAAM,CACJ,KAAM,QACN,QAAS,EACX,EACA,QAAS,CACP,KAAM,QACN,QAAS,EACX,EACA,UAAW,CACT,KAAM,QACN,QAAS,EACX,EACA,SAAU,CACR,KAAM,QACN,QAAS,EACX,CACF,EACA,MAAO,CACE,MAAA,CACL,MAAO,KAAK,MACZ,UAAW,CAAC,EACZ,kBAAmB,GACnB,gBAAiB,GACjB,QAAS,GACT,MAAO,GACP,YAAa,EACb,YAAa,GACb,eAAgB,GAChB,iBAAkB,GAClB,SAAU,KACV,MAAO,EACP,YAAa,OACb,OAAQ,MAAA,CAEZ,EACA,SAAU,CACR,gBAAiB,CACf,OAAO,KAAK,WAAa,OAAO,KAAK,KAAK,SAAS,EAAE,SAAW,CAClE,EACA,gBAAiB,CACR,OAAA,KAAK,gBAAkB,KAAK,cACrC,CACF,EACA,SAAU,CACR,KAAK,YAAc,OACd,KAAK,UAGV,MAAMC,EAAa,CACjB,oBACA,SACA,SACA,UACA,WACA,eACA,gBACA,MAAA,EAEF,UAAWz+B,KAAay+B,EACrB,KAAK,IAAuB,iBAAiBz+B,EAAapuC,GAAyC,CAE7F,KAAKouC,CAAS,EAAEpuC,EAAI,MAAe,CAAA,CACvB,CAEvB,EACA,WAAY,CACV,KAAK,wBAAwB,CAC/B,EACA,QAAS,CACP,QAAS,gBAAkB,CACrB,GAAA,KAAK,QAAU,wBACZ,KAAA,MAAQ,KAAK,GAAG,0BAA0B,MAE3C,IAAA,CAEF,MAAM8sE,EAAO,MAAM,UAAU,GAAG,KAAK,mBAAmB,KAAK,OAAO,EAC9D3xB,EAAc,MAAM4xB,WAAkB,YAAAD,EAAK,GAAG,EAAE,QAGhD1pB,EAAS,IAAI4gB,4BAAU,CAC3B,UAAW,KAAK,MAAM,gBACtB,SAAU,IAAIhe,kBAAAA,SACd,OAAQ,KAAK,MAAM,SAAA,CACpB,EACD5C,EAAO,YAAYjI,CAAW,EAG9BiI,EAAO,SAAS,GAAG,eAAiBvxC,GAA+B,CACjE,KAAK,YAAcA,EAAE,WACfm7D,MAAAA,GAAgB,IAAI,YAAY,aAAc,CAAC,OAAQ,CAAC,WAAYn7D,EAAE,UAAU,CAAA,CAAE,EACvF,KAAK,IAAuB,cAAcm7D,EAAa,CAAA,CACzD,EACM5pB,EAAA,SAAS,GAAG,YAAa,IAAM,CAC/B,KAAA,YAAcA,EAAO,kBAAoB,MAAA,CAC/C,EACD,KAAK,MAAQjI,EAAY,SACnB,MAAA6xB,EAAgB,IAAI,YAAY,WAAY,CAAC,OAAQ,CAAC,SAAU7xB,EAAY,QAAQ,CAAA,CAAE,EAC3F,KAAK,IAAuB,cAAc6xB,CAAa,EAGnD,KAAA,YAAcC,YAAQ9xB,CAAW,EACjC,KAAA,OAAS8xB,YAAQ7pB,CAAM,QAErBvxC,GACP,KAAK,MAASA,EAAY,OAC5B,CAEF,KAAK,QAAU,EACjB,EACA,OAAO7W,EAAkB,WAEtBpB,EAAA,KAAK,SAAL,YAAAA,EAAa,YAAY,KAAK,YAAc,IAAmB,OAAO,CAAC,SAAAoB,CAAA,CAAS,GACjFc,EAAA,KAAK,SAAL,MAAAA,EAAa,SACTd,IAAa,EACf,KAAK,UAAU,KAAK,YAAc,CAAC,EAAIA,EAEvC,OAAO,KAAK,UAAU,KAAK,YAAc,CAAC,CAE9C,EACA,kBAAkBkhD,EAAiB,CAChC,KAAK,OAAqB,kBAAoBA,CACjD,EACA,QAAS,CACP,MAAMkH,EAAS,KAAK,OACpBA,EAAO,cAAc,CAAC,YAAa,GAAI,CAAA,EAClC,KAAA,YAAcA,EAAO,aAAa,SAAS,CAClD,EACA,SAAU,CACR,MAAMA,EAAS,KAAK,OACpBA,EAAO,cAAc,CAAC,YAAa,GAAI,CAAA,EAClC,KAAA,YAAcA,EAAO,aAAa,SAAS,CAClD,EACA,SAASx3D,EAAe,CACrB,KAAK,OAAqB,kBAAoBA,EAC/C,KAAK,YAAcA,CACrB,EACA,yBAA0B,UAAY,CAC/B,KAAK,WACR,KAAK,SAAW,OAAO,YAAY,IAAM,KAAK,qBAAA,EAAwB,GAAG,EAE7E,EACA,wBAAyB,UAAY,CACnC,KAAK,UAAY,OAAO,cAAc,KAAK,QAAQ,EACnD,KAAK,SAAW,IAClB,EACA,aAAaob,EAAe,CAC1B,MAAMo8C,EAAS,KAAK,OACpB,KAAK,gBAAkB,GACvB,KAAK,kBAAoBp8C,EACrBA,GACF,KAAK,yBAAyB,EAC9Bo8C,EAAO,qBAAuBn1D,WAAqB,qBAAA,IACnDm1D,EAAO,uBAAyB,CAC9B,KAAMl1D,WAA2B,2BAAA,cACjC,MAAO,EAAA,EAETk1D,EAAO,uBAAyB,CAC9B,KAAMl1D,WAA2B,2BAAA,YACjC,MAAO,EAAA,EAETk1D,EAAO,uBAAyB,CAC9B,KAAMl1D,WAA2B,2BAAA,UACjC,MAAO8Y,CAAA,IAGT,KAAK,wBAAwB,EAC7Bo8C,EAAO,qBAAuBn1D,WAAqB,qBAAA,KAEvD,EACA,cAAc+Y,EAAe,CAC3B,MAAMo8C,EAAS,KAAK,OACpB,KAAK,kBAAoB,GACzB,KAAK,gBAAkBp8C,EACnBA,GACF,KAAK,yBAAyB,EAC9Bo8C,EAAO,qBAAuBn1D,WAAqB,qBAAA,SACnDm1D,EAAO,uBAAyB,CAC9B,KAAMl1D,WAA2B,2BAAA,cACjC,MAAO,EAAA,EAETk1D,EAAO,uBAAyB,CAC9B,KAAMl1D,WAA2B,2BAAA,eACjC,MAAO8Y,CAAA,IAGT,KAAK,wBAAwB,EAC7Bo8C,EAAO,qBAAuBn1D,WAAqB,qBAAA,KAEvD,EACA,sBAAuB,CAChB,KAAA,eAAiB,CAAC,CAAC,KAAK,aAAe,KAAK,YAAY,kBAAkB,KAAO,CACxF,EACA,MAAM,MAAO,CACP,GAAA,CAAC,KAAK,eACD,MAAA,GAET,KAAK,iBAAmB,GACxB,KAAK,cAAc,EAAE,EACrB,MAAM8H,EAAO,MAAO,KAAK,YAAuC,aAAa,EACvE8vD,EAAO,IAAI,KAAK,CAAC9vD,CAAI,EAAG,CAAC,KAAM,iBAAA,CAAkB,EAEjDm3E,EAAK,IAAI,SACZA,EAAA,OAAO,OAAQrnB,CAAI,EACnBqnB,EAAA,OAAO,YAAa,KAAK,UAAUC,IAAAA,MAAM,KAAK,SAAS,CAAC,CAAC,EACxD,GAAA,CACF,MAAMphF,EAAW,MAAM,UAAU,GAAG,KAAK,sBAAsB,KAAK,QAAS,CAC3E,OAAQ,OACR,QAAS,OACT,KAAMmhF,CAAA,CACP,EACD,KAAK,UAAY,GACjB,KAAK,eAAiB,GACtB,KAAK,MAAQnhF,EAAS,MACjB,KAAK,gBACH8lB,GACP,KAAK,MAASA,EAAY,OAC5B,CACA,KAAK,iBAAmB,EAC1B,CACF,CACF,CAAC,yKApVY,WAAC,CAAiB,MAAA,WACrB,WAAM,CACN,IAAA,kBAAA,MAAA,gCAEwB,WAAY,CAAA,MAAA,6BAOlC,WAAU,CAAA,MAAA,8BAiEd,WAAM,CAAA,IAAA,8LA/EZu7D,qBAmFM,mBAAA,SAjFFC,cAMM,EAAAC,uBAAA,MAAA,WAAA,CAAAC,IAAA,mBADJ,MAAyC,WAAzC,CAAAA,IAAA,mBAAA,MAAA,WAAA,kDAKJ,EAAA,GAAA,CAAA,CAAA,+BAIE,WAKE,CAAAC,EAAA,OAAAA,EAAA,YAAAH,IAAAA,4BAHiBI,EAAW,CACzB,IAAK,EACL,eAAsBD,EAAA,YAAA,MAAAA,EAAA,+CAGjB,EAAA,KAAA,EAAQ,0EADlB,GAIE,EAAA,EAAAA,EAAA,UAAAH,IAAAA,4BAFqBK,EAAqB,CACvC,IAAA,EAAA,mBAAAF,EAAA,UAAAA,EAAA,YAAA,CAAA,GAAA,uBAGS,KAAA,EAAI,CAAW,mBAAA,YAAA,CAAA,GAAAG,IAAAA,mBAD7B,GAME,EAAA,EAAAH,EAAA,MAAAA,EAAA,aAAAH,IAAAA,4BAJiBO,EAAW,CACzB,IAAA,EACA,eAAaJ,EAAA,YACb,WAAYA,EAAE,OAAA,YAAAA,EAAA,+BAGT,EAAA,KAAA,EAAS,oFADnB,GAaE,EAAA,EAAAA,EAAA,WAAAH,IAAAA,YAXuBQ,IAAAA,YAAAC,EAAA,CACpB,IAAA,EACA,KAAK,iBACN,eAAaN,EAAI,mBAAA,GAChB,MAAMA,EAAE,kBAAA,eAAA,gDAKR,KAAA,UACA,QAAA,SAAA,2BAGK,EAAA,KAAO,iEADjB,GAcE,EAAA,EAAAA,EAAA,SAAAH,IAAAA,YAZmBQ,IAAAA,YAAAC,EAAA,CAChB,IAAA,EACA,KAAK,aACN,eAAaN,EAAM,iBAAA,GAClB,MAAMA,EAAE,gBAAA,eAAA,iEAMR,QAAA,UACA,MAAA,SAAA,4BAIL,EAAA,KAAA,EAAA,CAAA,eAUS,wBATLG,IAAAA,mBAAa,GAAA,EAAA,EAAAJ,IAAAA,mBACR,SAAC,CAEL,KAAA,SAAA,MAAAQ,IAAA,eAAA,CAAA,MAAAP,EAAA,eAAA,cAAA,sBAAA,CAAA,EAEH,QAGErhE,EAAA,CAAA,IAAAA,EAAA,CAAA,EAAA,IAAAyJ,IAAA43D,EAAA,MAAAA,EAAA,KAAA,GAAA53D,CAAA,EAAA,EAAA,sKAII,EAAA,CAAA,CAAA,CAAA,+LC/Dd,SAAS,aAAc,CACrB,SAAS,iBAA8B,yCAAyC,EAAE,QAASiD,GAAS,CAC5F,MAAAm1D,EAAqB,CAAC,QAAS,GAAI,MAAO,GAAI,GAAGn1D,EAAK,SAC5D,UAAWo1D,IAAY,CAAC,aAAc,OAAQ,UAAW,YAAa,UAAU,EAC1E,OAAOp1D,EAAK,QAAQo1D,CAAQ,EAAM,MACpCD,EAAMC,CAAQ,EAAIp1D,EAAK,QAAQo1D,CAAQ,IAAM,QAEjDC,qBAAU,OAAQF,CAAK,EAAE,IAAI,IAAI,EAAE,MAAMn1D,CAAI,CAAA,CAC9C,CACH,CAGA,cAGA,MAAM,SAAW,IAAI,iBAAiB,WAAW,EACjD,SAAS,QAAQ,SAAU,CAAC,UAAW,GAAM,QAAS,GAAK","x_google_ignoreList":[4,5]} \ No newline at end of file +{"version":3,"file":"osis-document-editor.umd.min.js","sources":["../../../frontend/i18n.ts","../../../frontend/components/ToolbarZoom.vue","../../../frontend/utils.ts","../../../__vite-browser-external","../../../node_modules/pdfjs-dist/build/pdf.js","../../../node_modules/pdfjs-dist/web/pdf_viewer.js","../../../frontend/DocumentEditor.vue","../../../frontend/editor.ts"],"sourcesContent":["/*\n *\n * OSIS stands for Open Student Information System. It's an application\n * designed to manage the core business of higher education institutions,\n * such as universities, faculties, institutes and professional schools.\n * The core business involves the administration of students, teachers,\n * courses, programs and so on.\n *\n * Copyright (C) 2015-2021 Université catholique de Louvain (http://www.uclouvain.be)\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU General Public License for more details.\n *\n * A copy of this license - GNU General Public License - is available\n * at the root of the source code of this program. If not,\n * see http://www.gnu.org/licenses/.\n *\n */\n\nimport {createI18n} from 'vue-i18n';\nimport fr from \"./locales/fr\";\nimport en from \"./locales/en\";\n\nexport const i18n = createI18n({\n locale: document.documentElement.lang || 'en',\n allowComposition: true,\n messages: {\n en,\n fr,\n },\n});\n","\n\n\n\n\n","/*\n *\n * OSIS stands for Open Student Information System. It's an application\n * designed to manage the core business of higher education institutions,\n * such as universities, faculties, institutes and professional schools.\n * The core business involves the administration of students, teachers,\n * courses, programs and so on.\n *\n * Copyright (C) 2015-2021 Université catholique de Louvain (http://www.uclouvain.be)\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU General Public License for more details.\n *\n * A copy of this license - GNU General Public License - is available\n * at the root of the source code of this program. If not,\n * see http://www.gnu.org/licenses/.\n *\n */\nimport {i18n} from './i18n';\n\nexport function humanizedSize(size: number): string {\n let i = 0;\n while (size >= 1024) {\n size /= 1024;\n ++i;\n }\n const unit = i18n.global.t(`units[${i}]`);\n return `${size.toFixed(2)} ${unit}`;\n}\n\n\nexport async function doRequest(url: string, params?: object): Promise {\n const response = await fetch(url, {\n headers: {'Content-Type': 'application/json'},\n ...params,\n });\n if (response.status >= 200 && response.status < 300) {\n return response.json();\n } else {\n throw new Error(response.statusText);\n }\n}\n","export default {}","/**\n * @licstart The following is the entire license notice for the\n * JavaScript code in this page\n *\n * Copyright 2023 Mozilla Foundation\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n * @licend The above is the entire license notice for the\n * JavaScript code in this page\n */\n\n(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine(\"pdfjs-dist/build/pdf\", [], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"pdfjs-dist/build/pdf\"] = factory();\n\telse\n\t\troot[\"pdfjs-dist/build/pdf\"] = root.pdfjsLib = factory();\n})(globalThis, () => {\nreturn /******/ (() => { // webpackBootstrap\n/******/ \t\"use strict\";\n/******/ \tvar __webpack_modules__ = ([\n/* 0 */,\n/* 1 */\n/***/ ((__unused_webpack_module, exports) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.VerbosityLevel = exports.Util = exports.UnknownErrorException = exports.UnexpectedResponseException = exports.TextRenderingMode = exports.RenderingIntentFlag = exports.PromiseCapability = exports.PermissionFlag = exports.PasswordResponses = exports.PasswordException = exports.PageActionEventType = exports.OPS = exports.MissingPDFException = exports.MAX_IMAGE_SIZE_TO_CACHE = exports.LINE_FACTOR = exports.LINE_DESCENT_FACTOR = exports.InvalidPDFException = exports.ImageKind = exports.IDENTITY_MATRIX = exports.FormatError = exports.FeatureTest = exports.FONT_IDENTITY_MATRIX = exports.DocumentActionEventType = exports.CMapCompressionType = exports.BaseException = exports.BASELINE_FACTOR = exports.AnnotationType = exports.AnnotationStateModelType = exports.AnnotationReviewState = exports.AnnotationReplyType = exports.AnnotationMode = exports.AnnotationMarkedState = exports.AnnotationFlag = exports.AnnotationFieldFlag = exports.AnnotationEditorType = exports.AnnotationEditorPrefix = exports.AnnotationEditorParamsType = exports.AnnotationBorderStyleType = exports.AnnotationActionEventType = exports.AbortException = void 0;\nexports.assert = assert;\nexports.bytesToString = bytesToString;\nexports.createValidAbsoluteUrl = createValidAbsoluteUrl;\nexports.getModificationDate = getModificationDate;\nexports.getVerbosityLevel = getVerbosityLevel;\nexports.info = info;\nexports.isArrayBuffer = isArrayBuffer;\nexports.isArrayEqual = isArrayEqual;\nexports.normalizeUnicode = normalizeUnicode;\nexports.objectFromMap = objectFromMap;\nexports.objectSize = objectSize;\nexports.setVerbosityLevel = setVerbosityLevel;\nexports.shadow = shadow;\nexports.string32 = string32;\nexports.stringToBytes = stringToBytes;\nexports.stringToPDFString = stringToPDFString;\nexports.stringToUTF8String = stringToUTF8String;\nexports.unreachable = unreachable;\nexports.utf8StringToString = utf8StringToString;\nexports.warn = warn;\n;\nconst IDENTITY_MATRIX = [1, 0, 0, 1, 0, 0];\nexports.IDENTITY_MATRIX = IDENTITY_MATRIX;\nconst FONT_IDENTITY_MATRIX = [0.001, 0, 0, 0.001, 0, 0];\nexports.FONT_IDENTITY_MATRIX = FONT_IDENTITY_MATRIX;\nconst MAX_IMAGE_SIZE_TO_CACHE = 10e6;\nexports.MAX_IMAGE_SIZE_TO_CACHE = MAX_IMAGE_SIZE_TO_CACHE;\nconst LINE_FACTOR = 1.35;\nexports.LINE_FACTOR = LINE_FACTOR;\nconst LINE_DESCENT_FACTOR = 0.35;\nexports.LINE_DESCENT_FACTOR = LINE_DESCENT_FACTOR;\nconst BASELINE_FACTOR = LINE_DESCENT_FACTOR / LINE_FACTOR;\nexports.BASELINE_FACTOR = BASELINE_FACTOR;\nconst RenderingIntentFlag = {\n ANY: 0x01,\n DISPLAY: 0x02,\n PRINT: 0x04,\n SAVE: 0x08,\n ANNOTATIONS_FORMS: 0x10,\n ANNOTATIONS_STORAGE: 0x20,\n ANNOTATIONS_DISABLE: 0x40,\n OPLIST: 0x100\n};\nexports.RenderingIntentFlag = RenderingIntentFlag;\nconst AnnotationMode = {\n DISABLE: 0,\n ENABLE: 1,\n ENABLE_FORMS: 2,\n ENABLE_STORAGE: 3\n};\nexports.AnnotationMode = AnnotationMode;\nconst AnnotationEditorPrefix = \"pdfjs_internal_editor_\";\nexports.AnnotationEditorPrefix = AnnotationEditorPrefix;\nconst AnnotationEditorType = {\n DISABLE: -1,\n NONE: 0,\n FREETEXT: 3,\n INK: 15\n};\nexports.AnnotationEditorType = AnnotationEditorType;\nconst AnnotationEditorParamsType = {\n FREETEXT_SIZE: 1,\n FREETEXT_COLOR: 2,\n FREETEXT_OPACITY: 3,\n INK_COLOR: 11,\n INK_THICKNESS: 12,\n INK_OPACITY: 13\n};\nexports.AnnotationEditorParamsType = AnnotationEditorParamsType;\nconst PermissionFlag = {\n PRINT: 0x04,\n MODIFY_CONTENTS: 0x08,\n COPY: 0x10,\n MODIFY_ANNOTATIONS: 0x20,\n FILL_INTERACTIVE_FORMS: 0x100,\n COPY_FOR_ACCESSIBILITY: 0x200,\n ASSEMBLE: 0x400,\n PRINT_HIGH_QUALITY: 0x800\n};\nexports.PermissionFlag = PermissionFlag;\nconst TextRenderingMode = {\n FILL: 0,\n STROKE: 1,\n FILL_STROKE: 2,\n INVISIBLE: 3,\n FILL_ADD_TO_PATH: 4,\n STROKE_ADD_TO_PATH: 5,\n FILL_STROKE_ADD_TO_PATH: 6,\n ADD_TO_PATH: 7,\n FILL_STROKE_MASK: 3,\n ADD_TO_PATH_FLAG: 4\n};\nexports.TextRenderingMode = TextRenderingMode;\nconst ImageKind = {\n GRAYSCALE_1BPP: 1,\n RGB_24BPP: 2,\n RGBA_32BPP: 3\n};\nexports.ImageKind = ImageKind;\nconst AnnotationType = {\n TEXT: 1,\n LINK: 2,\n FREETEXT: 3,\n LINE: 4,\n SQUARE: 5,\n CIRCLE: 6,\n POLYGON: 7,\n POLYLINE: 8,\n HIGHLIGHT: 9,\n UNDERLINE: 10,\n SQUIGGLY: 11,\n STRIKEOUT: 12,\n STAMP: 13,\n CARET: 14,\n INK: 15,\n POPUP: 16,\n FILEATTACHMENT: 17,\n SOUND: 18,\n MOVIE: 19,\n WIDGET: 20,\n SCREEN: 21,\n PRINTERMARK: 22,\n TRAPNET: 23,\n WATERMARK: 24,\n THREED: 25,\n REDACT: 26\n};\nexports.AnnotationType = AnnotationType;\nconst AnnotationStateModelType = {\n MARKED: \"Marked\",\n REVIEW: \"Review\"\n};\nexports.AnnotationStateModelType = AnnotationStateModelType;\nconst AnnotationMarkedState = {\n MARKED: \"Marked\",\n UNMARKED: \"Unmarked\"\n};\nexports.AnnotationMarkedState = AnnotationMarkedState;\nconst AnnotationReviewState = {\n ACCEPTED: \"Accepted\",\n REJECTED: \"Rejected\",\n CANCELLED: \"Cancelled\",\n COMPLETED: \"Completed\",\n NONE: \"None\"\n};\nexports.AnnotationReviewState = AnnotationReviewState;\nconst AnnotationReplyType = {\n GROUP: \"Group\",\n REPLY: \"R\"\n};\nexports.AnnotationReplyType = AnnotationReplyType;\nconst AnnotationFlag = {\n INVISIBLE: 0x01,\n HIDDEN: 0x02,\n PRINT: 0x04,\n NOZOOM: 0x08,\n NOROTATE: 0x10,\n NOVIEW: 0x20,\n READONLY: 0x40,\n LOCKED: 0x80,\n TOGGLENOVIEW: 0x100,\n LOCKEDCONTENTS: 0x200\n};\nexports.AnnotationFlag = AnnotationFlag;\nconst AnnotationFieldFlag = {\n READONLY: 0x0000001,\n REQUIRED: 0x0000002,\n NOEXPORT: 0x0000004,\n MULTILINE: 0x0001000,\n PASSWORD: 0x0002000,\n NOTOGGLETOOFF: 0x0004000,\n RADIO: 0x0008000,\n PUSHBUTTON: 0x0010000,\n COMBO: 0x0020000,\n EDIT: 0x0040000,\n SORT: 0x0080000,\n FILESELECT: 0x0100000,\n MULTISELECT: 0x0200000,\n DONOTSPELLCHECK: 0x0400000,\n DONOTSCROLL: 0x0800000,\n COMB: 0x1000000,\n RICHTEXT: 0x2000000,\n RADIOSINUNISON: 0x2000000,\n COMMITONSELCHANGE: 0x4000000\n};\nexports.AnnotationFieldFlag = AnnotationFieldFlag;\nconst AnnotationBorderStyleType = {\n SOLID: 1,\n DASHED: 2,\n BEVELED: 3,\n INSET: 4,\n UNDERLINE: 5\n};\nexports.AnnotationBorderStyleType = AnnotationBorderStyleType;\nconst AnnotationActionEventType = {\n E: \"Mouse Enter\",\n X: \"Mouse Exit\",\n D: \"Mouse Down\",\n U: \"Mouse Up\",\n Fo: \"Focus\",\n Bl: \"Blur\",\n PO: \"PageOpen\",\n PC: \"PageClose\",\n PV: \"PageVisible\",\n PI: \"PageInvisible\",\n K: \"Keystroke\",\n F: \"Format\",\n V: \"Validate\",\n C: \"Calculate\"\n};\nexports.AnnotationActionEventType = AnnotationActionEventType;\nconst DocumentActionEventType = {\n WC: \"WillClose\",\n WS: \"WillSave\",\n DS: \"DidSave\",\n WP: \"WillPrint\",\n DP: \"DidPrint\"\n};\nexports.DocumentActionEventType = DocumentActionEventType;\nconst PageActionEventType = {\n O: \"PageOpen\",\n C: \"PageClose\"\n};\nexports.PageActionEventType = PageActionEventType;\nconst VerbosityLevel = {\n ERRORS: 0,\n WARNINGS: 1,\n INFOS: 5\n};\nexports.VerbosityLevel = VerbosityLevel;\nconst CMapCompressionType = {\n NONE: 0,\n BINARY: 1\n};\nexports.CMapCompressionType = CMapCompressionType;\nconst OPS = {\n dependency: 1,\n setLineWidth: 2,\n setLineCap: 3,\n setLineJoin: 4,\n setMiterLimit: 5,\n setDash: 6,\n setRenderingIntent: 7,\n setFlatness: 8,\n setGState: 9,\n save: 10,\n restore: 11,\n transform: 12,\n moveTo: 13,\n lineTo: 14,\n curveTo: 15,\n curveTo2: 16,\n curveTo3: 17,\n closePath: 18,\n rectangle: 19,\n stroke: 20,\n closeStroke: 21,\n fill: 22,\n eoFill: 23,\n fillStroke: 24,\n eoFillStroke: 25,\n closeFillStroke: 26,\n closeEOFillStroke: 27,\n endPath: 28,\n clip: 29,\n eoClip: 30,\n beginText: 31,\n endText: 32,\n setCharSpacing: 33,\n setWordSpacing: 34,\n setHScale: 35,\n setLeading: 36,\n setFont: 37,\n setTextRenderingMode: 38,\n setTextRise: 39,\n moveText: 40,\n setLeadingMoveText: 41,\n setTextMatrix: 42,\n nextLine: 43,\n showText: 44,\n showSpacedText: 45,\n nextLineShowText: 46,\n nextLineSetSpacingShowText: 47,\n setCharWidth: 48,\n setCharWidthAndBounds: 49,\n setStrokeColorSpace: 50,\n setFillColorSpace: 51,\n setStrokeColor: 52,\n setStrokeColorN: 53,\n setFillColor: 54,\n setFillColorN: 55,\n setStrokeGray: 56,\n setFillGray: 57,\n setStrokeRGBColor: 58,\n setFillRGBColor: 59,\n setStrokeCMYKColor: 60,\n setFillCMYKColor: 61,\n shadingFill: 62,\n beginInlineImage: 63,\n beginImageData: 64,\n endInlineImage: 65,\n paintXObject: 66,\n markPoint: 67,\n markPointProps: 68,\n beginMarkedContent: 69,\n beginMarkedContentProps: 70,\n endMarkedContent: 71,\n beginCompat: 72,\n endCompat: 73,\n paintFormXObjectBegin: 74,\n paintFormXObjectEnd: 75,\n beginGroup: 76,\n endGroup: 77,\n beginAnnotation: 80,\n endAnnotation: 81,\n paintImageMaskXObject: 83,\n paintImageMaskXObjectGroup: 84,\n paintImageXObject: 85,\n paintInlineImageXObject: 86,\n paintInlineImageXObjectGroup: 87,\n paintImageXObjectRepeat: 88,\n paintImageMaskXObjectRepeat: 89,\n paintSolidColorImageMask: 90,\n constructPath: 91\n};\nexports.OPS = OPS;\nconst PasswordResponses = {\n NEED_PASSWORD: 1,\n INCORRECT_PASSWORD: 2\n};\nexports.PasswordResponses = PasswordResponses;\nlet verbosity = VerbosityLevel.WARNINGS;\nfunction setVerbosityLevel(level) {\n if (Number.isInteger(level)) {\n verbosity = level;\n }\n}\nfunction getVerbosityLevel() {\n return verbosity;\n}\nfunction info(msg) {\n if (verbosity >= VerbosityLevel.INFOS) {\n console.log(`Info: ${msg}`);\n }\n}\nfunction warn(msg) {\n if (verbosity >= VerbosityLevel.WARNINGS) {\n console.log(`Warning: ${msg}`);\n }\n}\nfunction unreachable(msg) {\n throw new Error(msg);\n}\nfunction assert(cond, msg) {\n if (!cond) {\n unreachable(msg);\n }\n}\nfunction _isValidProtocol(url) {\n switch (url?.protocol) {\n case \"http:\":\n case \"https:\":\n case \"ftp:\":\n case \"mailto:\":\n case \"tel:\":\n return true;\n default:\n return false;\n }\n}\nfunction createValidAbsoluteUrl(url, baseUrl = null, options = null) {\n if (!url) {\n return null;\n }\n try {\n if (options && typeof url === \"string\") {\n if (options.addDefaultProtocol && url.startsWith(\"www.\")) {\n const dots = url.match(/\\./g);\n if (dots?.length >= 2) {\n url = `http://${url}`;\n }\n }\n if (options.tryConvertEncoding) {\n try {\n url = stringToUTF8String(url);\n } catch (ex) {}\n }\n }\n const absoluteUrl = baseUrl ? new URL(url, baseUrl) : new URL(url);\n if (_isValidProtocol(absoluteUrl)) {\n return absoluteUrl;\n }\n } catch (ex) {}\n return null;\n}\nfunction shadow(obj, prop, value, nonSerializable = false) {\n Object.defineProperty(obj, prop, {\n value,\n enumerable: !nonSerializable,\n configurable: true,\n writable: false\n });\n return value;\n}\nconst BaseException = function BaseExceptionClosure() {\n function BaseException(message, name) {\n if (this.constructor === BaseException) {\n unreachable(\"Cannot initialize BaseException.\");\n }\n this.message = message;\n this.name = name;\n }\n BaseException.prototype = new Error();\n BaseException.constructor = BaseException;\n return BaseException;\n}();\nexports.BaseException = BaseException;\nclass PasswordException extends BaseException {\n constructor(msg, code) {\n super(msg, \"PasswordException\");\n this.code = code;\n }\n}\nexports.PasswordException = PasswordException;\nclass UnknownErrorException extends BaseException {\n constructor(msg, details) {\n super(msg, \"UnknownErrorException\");\n this.details = details;\n }\n}\nexports.UnknownErrorException = UnknownErrorException;\nclass InvalidPDFException extends BaseException {\n constructor(msg) {\n super(msg, \"InvalidPDFException\");\n }\n}\nexports.InvalidPDFException = InvalidPDFException;\nclass MissingPDFException extends BaseException {\n constructor(msg) {\n super(msg, \"MissingPDFException\");\n }\n}\nexports.MissingPDFException = MissingPDFException;\nclass UnexpectedResponseException extends BaseException {\n constructor(msg, status) {\n super(msg, \"UnexpectedResponseException\");\n this.status = status;\n }\n}\nexports.UnexpectedResponseException = UnexpectedResponseException;\nclass FormatError extends BaseException {\n constructor(msg) {\n super(msg, \"FormatError\");\n }\n}\nexports.FormatError = FormatError;\nclass AbortException extends BaseException {\n constructor(msg) {\n super(msg, \"AbortException\");\n }\n}\nexports.AbortException = AbortException;\nfunction bytesToString(bytes) {\n if (typeof bytes !== \"object\" || bytes?.length === undefined) {\n unreachable(\"Invalid argument for bytesToString\");\n }\n const length = bytes.length;\n const MAX_ARGUMENT_COUNT = 8192;\n if (length < MAX_ARGUMENT_COUNT) {\n return String.fromCharCode.apply(null, bytes);\n }\n const strBuf = [];\n for (let i = 0; i < length; i += MAX_ARGUMENT_COUNT) {\n const chunkEnd = Math.min(i + MAX_ARGUMENT_COUNT, length);\n const chunk = bytes.subarray(i, chunkEnd);\n strBuf.push(String.fromCharCode.apply(null, chunk));\n }\n return strBuf.join(\"\");\n}\nfunction stringToBytes(str) {\n if (typeof str !== \"string\") {\n unreachable(\"Invalid argument for stringToBytes\");\n }\n const length = str.length;\n const bytes = new Uint8Array(length);\n for (let i = 0; i < length; ++i) {\n bytes[i] = str.charCodeAt(i) & 0xff;\n }\n return bytes;\n}\nfunction string32(value) {\n return String.fromCharCode(value >> 24 & 0xff, value >> 16 & 0xff, value >> 8 & 0xff, value & 0xff);\n}\nfunction objectSize(obj) {\n return Object.keys(obj).length;\n}\nfunction objectFromMap(map) {\n const obj = Object.create(null);\n for (const [key, value] of map) {\n obj[key] = value;\n }\n return obj;\n}\nfunction isLittleEndian() {\n const buffer8 = new Uint8Array(4);\n buffer8[0] = 1;\n const view32 = new Uint32Array(buffer8.buffer, 0, 1);\n return view32[0] === 1;\n}\nfunction isEvalSupported() {\n try {\n new Function(\"\");\n return true;\n } catch (e) {\n return false;\n }\n}\nclass FeatureTest {\n static get isLittleEndian() {\n return shadow(this, \"isLittleEndian\", isLittleEndian());\n }\n static get isEvalSupported() {\n return shadow(this, \"isEvalSupported\", isEvalSupported());\n }\n static get isOffscreenCanvasSupported() {\n return shadow(this, \"isOffscreenCanvasSupported\", typeof OffscreenCanvas !== \"undefined\");\n }\n static get platform() {\n if (typeof navigator === \"undefined\") {\n return shadow(this, \"platform\", {\n isWin: false,\n isMac: false\n });\n }\n return shadow(this, \"platform\", {\n isWin: navigator.platform.includes(\"Win\"),\n isMac: navigator.platform.includes(\"Mac\")\n });\n }\n}\nexports.FeatureTest = FeatureTest;\nconst hexNumbers = [...Array(256).keys()].map(n => n.toString(16).padStart(2, \"0\"));\nclass Util {\n static makeHexColor(r, g, b) {\n return `#${hexNumbers[r]}${hexNumbers[g]}${hexNumbers[b]}`;\n }\n static scaleMinMax(transform, minMax) {\n let temp;\n if (transform[0]) {\n if (transform[0] < 0) {\n temp = minMax[0];\n minMax[0] = minMax[1];\n minMax[1] = temp;\n }\n minMax[0] *= transform[0];\n minMax[1] *= transform[0];\n if (transform[3] < 0) {\n temp = minMax[2];\n minMax[2] = minMax[3];\n minMax[3] = temp;\n }\n minMax[2] *= transform[3];\n minMax[3] *= transform[3];\n } else {\n temp = minMax[0];\n minMax[0] = minMax[2];\n minMax[2] = temp;\n temp = minMax[1];\n minMax[1] = minMax[3];\n minMax[3] = temp;\n if (transform[1] < 0) {\n temp = minMax[2];\n minMax[2] = minMax[3];\n minMax[3] = temp;\n }\n minMax[2] *= transform[1];\n minMax[3] *= transform[1];\n if (transform[2] < 0) {\n temp = minMax[0];\n minMax[0] = minMax[1];\n minMax[1] = temp;\n }\n minMax[0] *= transform[2];\n minMax[1] *= transform[2];\n }\n minMax[0] += transform[4];\n minMax[1] += transform[4];\n minMax[2] += transform[5];\n minMax[3] += transform[5];\n }\n static transform(m1, m2) {\n return [m1[0] * m2[0] + m1[2] * m2[1], m1[1] * m2[0] + m1[3] * m2[1], m1[0] * m2[2] + m1[2] * m2[3], m1[1] * m2[2] + m1[3] * m2[3], m1[0] * m2[4] + m1[2] * m2[5] + m1[4], m1[1] * m2[4] + m1[3] * m2[5] + m1[5]];\n }\n static applyTransform(p, m) {\n const xt = p[0] * m[0] + p[1] * m[2] + m[4];\n const yt = p[0] * m[1] + p[1] * m[3] + m[5];\n return [xt, yt];\n }\n static applyInverseTransform(p, m) {\n const d = m[0] * m[3] - m[1] * m[2];\n const xt = (p[0] * m[3] - p[1] * m[2] + m[2] * m[5] - m[4] * m[3]) / d;\n const yt = (-p[0] * m[1] + p[1] * m[0] + m[4] * m[1] - m[5] * m[0]) / d;\n return [xt, yt];\n }\n static getAxialAlignedBoundingBox(r, m) {\n const p1 = Util.applyTransform(r, m);\n const p2 = Util.applyTransform(r.slice(2, 4), m);\n const p3 = Util.applyTransform([r[0], r[3]], m);\n const p4 = Util.applyTransform([r[2], r[1]], m);\n return [Math.min(p1[0], p2[0], p3[0], p4[0]), Math.min(p1[1], p2[1], p3[1], p4[1]), Math.max(p1[0], p2[0], p3[0], p4[0]), Math.max(p1[1], p2[1], p3[1], p4[1])];\n }\n static inverseTransform(m) {\n const d = m[0] * m[3] - m[1] * m[2];\n return [m[3] / d, -m[1] / d, -m[2] / d, m[0] / d, (m[2] * m[5] - m[4] * m[3]) / d, (m[4] * m[1] - m[5] * m[0]) / d];\n }\n static singularValueDecompose2dScale(m) {\n const transpose = [m[0], m[2], m[1], m[3]];\n const a = m[0] * transpose[0] + m[1] * transpose[2];\n const b = m[0] * transpose[1] + m[1] * transpose[3];\n const c = m[2] * transpose[0] + m[3] * transpose[2];\n const d = m[2] * transpose[1] + m[3] * transpose[3];\n const first = (a + d) / 2;\n const second = Math.sqrt((a + d) ** 2 - 4 * (a * d - c * b)) / 2;\n const sx = first + second || 1;\n const sy = first - second || 1;\n return [Math.sqrt(sx), Math.sqrt(sy)];\n }\n static normalizeRect(rect) {\n const r = rect.slice(0);\n if (rect[0] > rect[2]) {\n r[0] = rect[2];\n r[2] = rect[0];\n }\n if (rect[1] > rect[3]) {\n r[1] = rect[3];\n r[3] = rect[1];\n }\n return r;\n }\n static intersect(rect1, rect2) {\n const xLow = Math.max(Math.min(rect1[0], rect1[2]), Math.min(rect2[0], rect2[2]));\n const xHigh = Math.min(Math.max(rect1[0], rect1[2]), Math.max(rect2[0], rect2[2]));\n if (xLow > xHigh) {\n return null;\n }\n const yLow = Math.max(Math.min(rect1[1], rect1[3]), Math.min(rect2[1], rect2[3]));\n const yHigh = Math.min(Math.max(rect1[1], rect1[3]), Math.max(rect2[1], rect2[3]));\n if (yLow > yHigh) {\n return null;\n }\n return [xLow, yLow, xHigh, yHigh];\n }\n static bezierBoundingBox(x0, y0, x1, y1, x2, y2, x3, y3) {\n const tvalues = [],\n bounds = [[], []];\n let a, b, c, t, t1, t2, b2ac, sqrtb2ac;\n for (let i = 0; i < 2; ++i) {\n if (i === 0) {\n b = 6 * x0 - 12 * x1 + 6 * x2;\n a = -3 * x0 + 9 * x1 - 9 * x2 + 3 * x3;\n c = 3 * x1 - 3 * x0;\n } else {\n b = 6 * y0 - 12 * y1 + 6 * y2;\n a = -3 * y0 + 9 * y1 - 9 * y2 + 3 * y3;\n c = 3 * y1 - 3 * y0;\n }\n if (Math.abs(a) < 1e-12) {\n if (Math.abs(b) < 1e-12) {\n continue;\n }\n t = -c / b;\n if (0 < t && t < 1) {\n tvalues.push(t);\n }\n continue;\n }\n b2ac = b * b - 4 * c * a;\n sqrtb2ac = Math.sqrt(b2ac);\n if (b2ac < 0) {\n continue;\n }\n t1 = (-b + sqrtb2ac) / (2 * a);\n if (0 < t1 && t1 < 1) {\n tvalues.push(t1);\n }\n t2 = (-b - sqrtb2ac) / (2 * a);\n if (0 < t2 && t2 < 1) {\n tvalues.push(t2);\n }\n }\n let j = tvalues.length,\n mt;\n const jlen = j;\n while (j--) {\n t = tvalues[j];\n mt = 1 - t;\n bounds[0][j] = mt * mt * mt * x0 + 3 * mt * mt * t * x1 + 3 * mt * t * t * x2 + t * t * t * x3;\n bounds[1][j] = mt * mt * mt * y0 + 3 * mt * mt * t * y1 + 3 * mt * t * t * y2 + t * t * t * y3;\n }\n bounds[0][jlen] = x0;\n bounds[1][jlen] = y0;\n bounds[0][jlen + 1] = x3;\n bounds[1][jlen + 1] = y3;\n bounds[0].length = bounds[1].length = jlen + 2;\n return [Math.min(...bounds[0]), Math.min(...bounds[1]), Math.max(...bounds[0]), Math.max(...bounds[1])];\n }\n}\nexports.Util = Util;\nconst PDFStringTranslateTable = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x2d8, 0x2c7, 0x2c6, 0x2d9, 0x2dd, 0x2db, 0x2da, 0x2dc, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x2022, 0x2020, 0x2021, 0x2026, 0x2014, 0x2013, 0x192, 0x2044, 0x2039, 0x203a, 0x2212, 0x2030, 0x201e, 0x201c, 0x201d, 0x2018, 0x2019, 0x201a, 0x2122, 0xfb01, 0xfb02, 0x141, 0x152, 0x160, 0x178, 0x17d, 0x131, 0x142, 0x153, 0x161, 0x17e, 0, 0x20ac];\nfunction stringToPDFString(str) {\n if (str[0] >= \"\\xEF\") {\n let encoding;\n if (str[0] === \"\\xFE\" && str[1] === \"\\xFF\") {\n encoding = \"utf-16be\";\n } else if (str[0] === \"\\xFF\" && str[1] === \"\\xFE\") {\n encoding = \"utf-16le\";\n } else if (str[0] === \"\\xEF\" && str[1] === \"\\xBB\" && str[2] === \"\\xBF\") {\n encoding = \"utf-8\";\n }\n if (encoding) {\n try {\n const decoder = new TextDecoder(encoding, {\n fatal: true\n });\n const buffer = stringToBytes(str);\n return decoder.decode(buffer);\n } catch (ex) {\n warn(`stringToPDFString: \"${ex}\".`);\n }\n }\n }\n const strBuf = [];\n for (let i = 0, ii = str.length; i < ii; i++) {\n const code = PDFStringTranslateTable[str.charCodeAt(i)];\n strBuf.push(code ? String.fromCharCode(code) : str.charAt(i));\n }\n return strBuf.join(\"\");\n}\nfunction stringToUTF8String(str) {\n return decodeURIComponent(escape(str));\n}\nfunction utf8StringToString(str) {\n return unescape(encodeURIComponent(str));\n}\nfunction isArrayBuffer(v) {\n return typeof v === \"object\" && v?.byteLength !== undefined;\n}\nfunction isArrayEqual(arr1, arr2) {\n if (arr1.length !== arr2.length) {\n return false;\n }\n for (let i = 0, ii = arr1.length; i < ii; i++) {\n if (arr1[i] !== arr2[i]) {\n return false;\n }\n }\n return true;\n}\nfunction getModificationDate(date = new Date()) {\n const buffer = [date.getUTCFullYear().toString(), (date.getUTCMonth() + 1).toString().padStart(2, \"0\"), date.getUTCDate().toString().padStart(2, \"0\"), date.getUTCHours().toString().padStart(2, \"0\"), date.getUTCMinutes().toString().padStart(2, \"0\"), date.getUTCSeconds().toString().padStart(2, \"0\")];\n return buffer.join(\"\");\n}\nclass PromiseCapability {\n #settled = false;\n constructor() {\n this.promise = new Promise((resolve, reject) => {\n this.resolve = data => {\n this.#settled = true;\n resolve(data);\n };\n this.reject = reason => {\n this.#settled = true;\n reject(reason);\n };\n });\n }\n get settled() {\n return this.#settled;\n }\n}\nexports.PromiseCapability = PromiseCapability;\nlet NormalizeRegex = null;\nlet NormalizationMap = null;\nfunction normalizeUnicode(str) {\n if (!NormalizeRegex) {\n NormalizeRegex = /([\\u00a0\\u00b5\\u037e\\u0eb3\\u2000-\\u200a\\u202f\\u2126\\ufb00-\\ufb04\\ufb06\\ufb20-\\ufb36\\ufb38-\\ufb3c\\ufb3e\\ufb40-\\ufb41\\ufb43-\\ufb44\\ufb46-\\ufba1\\ufba4-\\ufba9\\ufbae-\\ufbb1\\ufbd3-\\ufbdc\\ufbde-\\ufbe7\\ufbea-\\ufbf8\\ufbfc-\\ufbfd\\ufc00-\\ufc5d\\ufc64-\\ufcf1\\ufcf5-\\ufd3d\\ufd88\\ufdf4\\ufdfa-\\ufdfb\\ufe71\\ufe77\\ufe79\\ufe7b\\ufe7d]+)|(\\ufb05+)/gu;\n NormalizationMap = new Map([[\"ſt\", \"ſt\"]]);\n }\n return str.replaceAll(NormalizeRegex, (_, p1, p2) => {\n return p1 ? p1.normalize(\"NFKC\") : NormalizationMap.get(p2);\n });\n}\n\n/***/ }),\n/* 2 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.build = exports.RenderTask = exports.PDFWorkerUtil = exports.PDFWorker = exports.PDFPageProxy = exports.PDFDocumentProxy = exports.PDFDocumentLoadingTask = exports.PDFDataRangeTransport = exports.LoopbackPort = exports.DefaultStandardFontDataFactory = exports.DefaultFilterFactory = exports.DefaultCanvasFactory = exports.DefaultCMapReaderFactory = void 0;\nexports.getDocument = getDocument;\nexports.version = void 0;\nvar _util = __w_pdfjs_require__(1);\nvar _annotation_storage = __w_pdfjs_require__(3);\nvar _display_utils = __w_pdfjs_require__(6);\nvar _font_loader = __w_pdfjs_require__(9);\nvar _canvas = __w_pdfjs_require__(11);\nvar _worker_options = __w_pdfjs_require__(14);\nvar _is_node = __w_pdfjs_require__(10);\nvar _message_handler = __w_pdfjs_require__(15);\nvar _metadata = __w_pdfjs_require__(16);\nvar _optional_content_config = __w_pdfjs_require__(17);\nvar _transport_stream = __w_pdfjs_require__(18);\nvar _xfa_text = __w_pdfjs_require__(19);\nconst DEFAULT_RANGE_CHUNK_SIZE = 65536;\nconst RENDERING_CANCELLED_TIMEOUT = 100;\nconst DELAYED_CLEANUP_TIMEOUT = 5000;\nlet DefaultCanvasFactory = _display_utils.DOMCanvasFactory;\nexports.DefaultCanvasFactory = DefaultCanvasFactory;\nlet DefaultCMapReaderFactory = _display_utils.DOMCMapReaderFactory;\nexports.DefaultCMapReaderFactory = DefaultCMapReaderFactory;\nlet DefaultFilterFactory = _display_utils.DOMFilterFactory;\nexports.DefaultFilterFactory = DefaultFilterFactory;\nlet DefaultStandardFontDataFactory = _display_utils.DOMStandardFontDataFactory;\nexports.DefaultStandardFontDataFactory = DefaultStandardFontDataFactory;\nif (_is_node.isNodeJS) {\n const {\n NodeCanvasFactory,\n NodeCMapReaderFactory,\n NodeFilterFactory,\n NodeStandardFontDataFactory\n } = __w_pdfjs_require__(20);\n exports.DefaultCanvasFactory = DefaultCanvasFactory = NodeCanvasFactory;\n exports.DefaultCMapReaderFactory = DefaultCMapReaderFactory = NodeCMapReaderFactory;\n exports.DefaultFilterFactory = DefaultFilterFactory = NodeFilterFactory;\n exports.DefaultStandardFontDataFactory = DefaultStandardFontDataFactory = NodeStandardFontDataFactory;\n}\nlet createPDFNetworkStream;\n{\n if (_is_node.isNodeJS) {\n const {\n PDFNodeStream\n } = __w_pdfjs_require__(21);\n createPDFNetworkStream = params => {\n return new PDFNodeStream(params);\n };\n } else {\n const {\n PDFNetworkStream\n } = __w_pdfjs_require__(24);\n const {\n PDFFetchStream\n } = __w_pdfjs_require__(25);\n createPDFNetworkStream = params => {\n return (0, _display_utils.isValidFetchUrl)(params.url) ? new PDFFetchStream(params) : new PDFNetworkStream(params);\n };\n }\n}\nfunction getDocument(src) {\n if (typeof src === \"string\" || src instanceof URL) {\n src = {\n url: src\n };\n } else if ((0, _util.isArrayBuffer)(src)) {\n src = {\n data: src\n };\n }\n if (typeof src !== \"object\") {\n throw new Error(\"Invalid parameter in getDocument, need parameter object.\");\n }\n if (!src.url && !src.data && !src.range) {\n throw new Error(\"Invalid parameter object: need either .data, .range or .url\");\n }\n const task = new PDFDocumentLoadingTask();\n const {\n docId\n } = task;\n const url = src.url ? getUrlProp(src.url) : null;\n const data = src.data ? getDataProp(src.data) : null;\n const httpHeaders = src.httpHeaders || null;\n const withCredentials = src.withCredentials === true;\n const password = src.password ?? null;\n const rangeTransport = src.range instanceof PDFDataRangeTransport ? src.range : null;\n const rangeChunkSize = Number.isInteger(src.rangeChunkSize) && src.rangeChunkSize > 0 ? src.rangeChunkSize : DEFAULT_RANGE_CHUNK_SIZE;\n let worker = src.worker instanceof PDFWorker ? src.worker : null;\n const verbosity = src.verbosity;\n const docBaseUrl = typeof src.docBaseUrl === \"string\" && !(0, _display_utils.isDataScheme)(src.docBaseUrl) ? src.docBaseUrl : null;\n const cMapUrl = typeof src.cMapUrl === \"string\" ? src.cMapUrl : null;\n const cMapPacked = src.cMapPacked !== false;\n const CMapReaderFactory = src.CMapReaderFactory || DefaultCMapReaderFactory;\n const standardFontDataUrl = typeof src.standardFontDataUrl === \"string\" ? src.standardFontDataUrl : null;\n const StandardFontDataFactory = src.StandardFontDataFactory || DefaultStandardFontDataFactory;\n const ignoreErrors = src.stopAtErrors !== true;\n const maxImageSize = Number.isInteger(src.maxImageSize) && src.maxImageSize > -1 ? src.maxImageSize : -1;\n const isEvalSupported = src.isEvalSupported !== false;\n const isOffscreenCanvasSupported = typeof src.isOffscreenCanvasSupported === \"boolean\" ? src.isOffscreenCanvasSupported : !_is_node.isNodeJS;\n const canvasMaxAreaInBytes = Number.isInteger(src.canvasMaxAreaInBytes) ? src.canvasMaxAreaInBytes : -1;\n const disableFontFace = typeof src.disableFontFace === \"boolean\" ? src.disableFontFace : _is_node.isNodeJS;\n const fontExtraProperties = src.fontExtraProperties === true;\n const enableXfa = src.enableXfa === true;\n const ownerDocument = src.ownerDocument || globalThis.document;\n const disableRange = src.disableRange === true;\n const disableStream = src.disableStream === true;\n const disableAutoFetch = src.disableAutoFetch === true;\n const pdfBug = src.pdfBug === true;\n const length = rangeTransport ? rangeTransport.length : src.length ?? NaN;\n const useSystemFonts = typeof src.useSystemFonts === \"boolean\" ? src.useSystemFonts : !_is_node.isNodeJS && !disableFontFace;\n const useWorkerFetch = typeof src.useWorkerFetch === \"boolean\" ? src.useWorkerFetch : CMapReaderFactory === _display_utils.DOMCMapReaderFactory && StandardFontDataFactory === _display_utils.DOMStandardFontDataFactory && (0, _display_utils.isValidFetchUrl)(cMapUrl, document.baseURI) && (0, _display_utils.isValidFetchUrl)(standardFontDataUrl, document.baseURI);\n const canvasFactory = src.canvasFactory || new DefaultCanvasFactory({\n ownerDocument\n });\n const filterFactory = src.filterFactory || new DefaultFilterFactory({\n docId,\n ownerDocument\n });\n const styleElement = null;\n (0, _util.setVerbosityLevel)(verbosity);\n const transportFactory = {\n canvasFactory,\n filterFactory\n };\n if (!useWorkerFetch) {\n transportFactory.cMapReaderFactory = new CMapReaderFactory({\n baseUrl: cMapUrl,\n isCompressed: cMapPacked\n });\n transportFactory.standardFontDataFactory = new StandardFontDataFactory({\n baseUrl: standardFontDataUrl\n });\n }\n if (!worker) {\n const workerParams = {\n verbosity,\n port: _worker_options.GlobalWorkerOptions.workerPort\n };\n worker = workerParams.port ? PDFWorker.fromPort(workerParams) : new PDFWorker(workerParams);\n task._worker = worker;\n }\n const fetchDocParams = {\n docId,\n apiVersion: '3.6.172',\n data,\n password,\n disableAutoFetch,\n rangeChunkSize,\n length,\n docBaseUrl,\n enableXfa,\n evaluatorOptions: {\n maxImageSize,\n disableFontFace,\n ignoreErrors,\n isEvalSupported,\n isOffscreenCanvasSupported,\n canvasMaxAreaInBytes,\n fontExtraProperties,\n useSystemFonts,\n cMapUrl: useWorkerFetch ? cMapUrl : null,\n standardFontDataUrl: useWorkerFetch ? standardFontDataUrl : null\n }\n };\n const transportParams = {\n ignoreErrors,\n isEvalSupported,\n disableFontFace,\n fontExtraProperties,\n enableXfa,\n ownerDocument,\n disableAutoFetch,\n pdfBug,\n styleElement\n };\n worker.promise.then(function () {\n if (task.destroyed) {\n throw new Error(\"Loading aborted\");\n }\n const workerIdPromise = _fetchDocument(worker, fetchDocParams);\n const networkStreamPromise = new Promise(function (resolve) {\n let networkStream;\n if (rangeTransport) {\n networkStream = new _transport_stream.PDFDataTransportStream({\n length,\n initialData: rangeTransport.initialData,\n progressiveDone: rangeTransport.progressiveDone,\n contentDispositionFilename: rangeTransport.contentDispositionFilename,\n disableRange,\n disableStream\n }, rangeTransport);\n } else if (!data) {\n networkStream = createPDFNetworkStream({\n url,\n length,\n httpHeaders,\n withCredentials,\n rangeChunkSize,\n disableRange,\n disableStream\n });\n }\n resolve(networkStream);\n });\n return Promise.all([workerIdPromise, networkStreamPromise]).then(function ([workerId, networkStream]) {\n if (task.destroyed) {\n throw new Error(\"Loading aborted\");\n }\n const messageHandler = new _message_handler.MessageHandler(docId, workerId, worker.port);\n const transport = new WorkerTransport(messageHandler, task, networkStream, transportParams, transportFactory);\n task._transport = transport;\n messageHandler.send(\"Ready\", null);\n });\n }).catch(task._capability.reject);\n return task;\n}\nasync function _fetchDocument(worker, source) {\n if (worker.destroyed) {\n throw new Error(\"Worker was destroyed\");\n }\n const workerId = await worker.messageHandler.sendWithPromise(\"GetDocRequest\", source, source.data ? [source.data.buffer] : null);\n if (worker.destroyed) {\n throw new Error(\"Worker was destroyed\");\n }\n return workerId;\n}\nfunction getUrlProp(val) {\n if (val instanceof URL) {\n return val.href;\n }\n try {\n return new URL(val, window.location).href;\n } catch (ex) {\n if (_is_node.isNodeJS && typeof val === \"string\") {\n return val;\n }\n }\n throw new Error(\"Invalid PDF url data: \" + \"either string or URL-object is expected in the url property.\");\n}\nfunction getDataProp(val) {\n if (_is_node.isNodeJS && typeof Buffer !== \"undefined\" && val instanceof Buffer) {\n (0, _display_utils.deprecated)(\"Please provide binary data as `Uint8Array`, rather than `Buffer`.\");\n return new Uint8Array(val);\n }\n if (val instanceof Uint8Array && val.byteLength === val.buffer.byteLength) {\n return val;\n }\n if (typeof val === \"string\") {\n return (0, _util.stringToBytes)(val);\n }\n if (typeof val === \"object\" && !isNaN(val?.length) || (0, _util.isArrayBuffer)(val)) {\n return new Uint8Array(val);\n }\n throw new Error(\"Invalid PDF binary data: either TypedArray, \" + \"string, or array-like object is expected in the data property.\");\n}\nclass PDFDocumentLoadingTask {\n static #docId = 0;\n constructor() {\n this._capability = new _util.PromiseCapability();\n this._transport = null;\n this._worker = null;\n this.docId = `d${PDFDocumentLoadingTask.#docId++}`;\n this.destroyed = false;\n this.onPassword = null;\n this.onProgress = null;\n }\n get promise() {\n return this._capability.promise;\n }\n async destroy() {\n this.destroyed = true;\n await this._transport?.destroy();\n this._transport = null;\n if (this._worker) {\n this._worker.destroy();\n this._worker = null;\n }\n }\n}\nexports.PDFDocumentLoadingTask = PDFDocumentLoadingTask;\nclass PDFDataRangeTransport {\n constructor(length, initialData, progressiveDone = false, contentDispositionFilename = null) {\n this.length = length;\n this.initialData = initialData;\n this.progressiveDone = progressiveDone;\n this.contentDispositionFilename = contentDispositionFilename;\n this._rangeListeners = [];\n this._progressListeners = [];\n this._progressiveReadListeners = [];\n this._progressiveDoneListeners = [];\n this._readyCapability = new _util.PromiseCapability();\n }\n addRangeListener(listener) {\n this._rangeListeners.push(listener);\n }\n addProgressListener(listener) {\n this._progressListeners.push(listener);\n }\n addProgressiveReadListener(listener) {\n this._progressiveReadListeners.push(listener);\n }\n addProgressiveDoneListener(listener) {\n this._progressiveDoneListeners.push(listener);\n }\n onDataRange(begin, chunk) {\n for (const listener of this._rangeListeners) {\n listener(begin, chunk);\n }\n }\n onDataProgress(loaded, total) {\n this._readyCapability.promise.then(() => {\n for (const listener of this._progressListeners) {\n listener(loaded, total);\n }\n });\n }\n onDataProgressiveRead(chunk) {\n this._readyCapability.promise.then(() => {\n for (const listener of this._progressiveReadListeners) {\n listener(chunk);\n }\n });\n }\n onDataProgressiveDone() {\n this._readyCapability.promise.then(() => {\n for (const listener of this._progressiveDoneListeners) {\n listener();\n }\n });\n }\n transportReady() {\n this._readyCapability.resolve();\n }\n requestDataRange(begin, end) {\n (0, _util.unreachable)(\"Abstract method PDFDataRangeTransport.requestDataRange\");\n }\n abort() {}\n}\nexports.PDFDataRangeTransport = PDFDataRangeTransport;\nclass PDFDocumentProxy {\n constructor(pdfInfo, transport) {\n this._pdfInfo = pdfInfo;\n this._transport = transport;\n }\n get annotationStorage() {\n return this._transport.annotationStorage;\n }\n get filterFactory() {\n return this._transport.filterFactory;\n }\n get numPages() {\n return this._pdfInfo.numPages;\n }\n get fingerprints() {\n return this._pdfInfo.fingerprints;\n }\n get isPureXfa() {\n return (0, _util.shadow)(this, \"isPureXfa\", !!this._transport._htmlForXfa);\n }\n get allXfaHtml() {\n return this._transport._htmlForXfa;\n }\n getPage(pageNumber) {\n return this._transport.getPage(pageNumber);\n }\n getPageIndex(ref) {\n return this._transport.getPageIndex(ref);\n }\n getDestinations() {\n return this._transport.getDestinations();\n }\n getDestination(id) {\n return this._transport.getDestination(id);\n }\n getPageLabels() {\n return this._transport.getPageLabels();\n }\n getPageLayout() {\n return this._transport.getPageLayout();\n }\n getPageMode() {\n return this._transport.getPageMode();\n }\n getViewerPreferences() {\n return this._transport.getViewerPreferences();\n }\n getOpenAction() {\n return this._transport.getOpenAction();\n }\n getAttachments() {\n return this._transport.getAttachments();\n }\n getJavaScript() {\n return this._transport.getJavaScript();\n }\n getJSActions() {\n return this._transport.getDocJSActions();\n }\n getOutline() {\n return this._transport.getOutline();\n }\n getOptionalContentConfig() {\n return this._transport.getOptionalContentConfig();\n }\n getPermissions() {\n return this._transport.getPermissions();\n }\n getMetadata() {\n return this._transport.getMetadata();\n }\n getMarkInfo() {\n return this._transport.getMarkInfo();\n }\n getData() {\n return this._transport.getData();\n }\n saveDocument() {\n return this._transport.saveDocument();\n }\n getDownloadInfo() {\n return this._transport.downloadInfoCapability.promise;\n }\n cleanup(keepLoadedFonts = false) {\n return this._transport.startCleanup(keepLoadedFonts || this.isPureXfa);\n }\n destroy() {\n return this.loadingTask.destroy();\n }\n get loadingParams() {\n return this._transport.loadingParams;\n }\n get loadingTask() {\n return this._transport.loadingTask;\n }\n getFieldObjects() {\n return this._transport.getFieldObjects();\n }\n hasJSActions() {\n return this._transport.hasJSActions();\n }\n getCalculationOrderIds() {\n return this._transport.getCalculationOrderIds();\n }\n}\nexports.PDFDocumentProxy = PDFDocumentProxy;\nclass PDFPageProxy {\n #delayedCleanupTimeout = null;\n #pendingCleanup = false;\n constructor(pageIndex, pageInfo, transport, pdfBug = false) {\n this._pageIndex = pageIndex;\n this._pageInfo = pageInfo;\n this._transport = transport;\n this._stats = pdfBug ? new _display_utils.StatTimer() : null;\n this._pdfBug = pdfBug;\n this.commonObjs = transport.commonObjs;\n this.objs = new PDFObjects();\n this._maybeCleanupAfterRender = false;\n this._intentStates = new Map();\n this.destroyed = false;\n }\n get pageNumber() {\n return this._pageIndex + 1;\n }\n get rotate() {\n return this._pageInfo.rotate;\n }\n get ref() {\n return this._pageInfo.ref;\n }\n get userUnit() {\n return this._pageInfo.userUnit;\n }\n get view() {\n return this._pageInfo.view;\n }\n getViewport({\n scale,\n rotation = this.rotate,\n offsetX = 0,\n offsetY = 0,\n dontFlip = false\n } = {}) {\n return new _display_utils.PageViewport({\n viewBox: this.view,\n scale,\n rotation,\n offsetX,\n offsetY,\n dontFlip\n });\n }\n getAnnotations({\n intent = \"display\"\n } = {}) {\n const intentArgs = this._transport.getRenderingIntent(intent);\n return this._transport.getAnnotations(this._pageIndex, intentArgs.renderingIntent);\n }\n getJSActions() {\n return this._transport.getPageJSActions(this._pageIndex);\n }\n get isPureXfa() {\n return (0, _util.shadow)(this, \"isPureXfa\", !!this._transport._htmlForXfa);\n }\n async getXfa() {\n return this._transport._htmlForXfa?.children[this._pageIndex] || null;\n }\n render({\n canvasContext,\n viewport,\n intent = \"display\",\n annotationMode = _util.AnnotationMode.ENABLE,\n transform = null,\n background = null,\n optionalContentConfigPromise = null,\n annotationCanvasMap = null,\n pageColors = null,\n printAnnotationStorage = null\n }) {\n if (arguments[0]?.canvasFactory) {\n throw new Error(\"render no longer accepts the `canvasFactory`-option, \" + \"please pass it to the `getDocument`-function instead.\");\n }\n this._stats?.time(\"Overall\");\n const intentArgs = this._transport.getRenderingIntent(intent, annotationMode, printAnnotationStorage);\n this.#pendingCleanup = false;\n this.#abortDelayedCleanup();\n if (!optionalContentConfigPromise) {\n optionalContentConfigPromise = this._transport.getOptionalContentConfig();\n }\n let intentState = this._intentStates.get(intentArgs.cacheKey);\n if (!intentState) {\n intentState = Object.create(null);\n this._intentStates.set(intentArgs.cacheKey, intentState);\n }\n if (intentState.streamReaderCancelTimeout) {\n clearTimeout(intentState.streamReaderCancelTimeout);\n intentState.streamReaderCancelTimeout = null;\n }\n const intentPrint = !!(intentArgs.renderingIntent & _util.RenderingIntentFlag.PRINT);\n if (!intentState.displayReadyCapability) {\n intentState.displayReadyCapability = new _util.PromiseCapability();\n intentState.operatorList = {\n fnArray: [],\n argsArray: [],\n lastChunk: false,\n separateAnnots: null\n };\n this._stats?.time(\"Page Request\");\n this._pumpOperatorList(intentArgs);\n }\n const complete = error => {\n intentState.renderTasks.delete(internalRenderTask);\n if (this._maybeCleanupAfterRender || intentPrint) {\n this.#pendingCleanup = true;\n }\n this.#tryCleanup(!intentPrint);\n if (error) {\n internalRenderTask.capability.reject(error);\n this._abortOperatorList({\n intentState,\n reason: error instanceof Error ? error : new Error(error)\n });\n } else {\n internalRenderTask.capability.resolve();\n }\n this._stats?.timeEnd(\"Rendering\");\n this._stats?.timeEnd(\"Overall\");\n };\n const internalRenderTask = new InternalRenderTask({\n callback: complete,\n params: {\n canvasContext,\n viewport,\n transform,\n background\n },\n objs: this.objs,\n commonObjs: this.commonObjs,\n annotationCanvasMap,\n operatorList: intentState.operatorList,\n pageIndex: this._pageIndex,\n canvasFactory: this._transport.canvasFactory,\n filterFactory: this._transport.filterFactory,\n useRequestAnimationFrame: !intentPrint,\n pdfBug: this._pdfBug,\n pageColors\n });\n (intentState.renderTasks ||= new Set()).add(internalRenderTask);\n const renderTask = internalRenderTask.task;\n Promise.all([intentState.displayReadyCapability.promise, optionalContentConfigPromise]).then(([transparency, optionalContentConfig]) => {\n if (this.#pendingCleanup) {\n complete();\n return;\n }\n this._stats?.time(\"Rendering\");\n internalRenderTask.initializeGraphics({\n transparency,\n optionalContentConfig\n });\n internalRenderTask.operatorListChanged();\n }).catch(complete);\n return renderTask;\n }\n getOperatorList({\n intent = \"display\",\n annotationMode = _util.AnnotationMode.ENABLE,\n printAnnotationStorage = null\n } = {}) {\n function operatorListChanged() {\n if (intentState.operatorList.lastChunk) {\n intentState.opListReadCapability.resolve(intentState.operatorList);\n intentState.renderTasks.delete(opListTask);\n }\n }\n const intentArgs = this._transport.getRenderingIntent(intent, annotationMode, printAnnotationStorage, true);\n let intentState = this._intentStates.get(intentArgs.cacheKey);\n if (!intentState) {\n intentState = Object.create(null);\n this._intentStates.set(intentArgs.cacheKey, intentState);\n }\n let opListTask;\n if (!intentState.opListReadCapability) {\n opListTask = Object.create(null);\n opListTask.operatorListChanged = operatorListChanged;\n intentState.opListReadCapability = new _util.PromiseCapability();\n (intentState.renderTasks ||= new Set()).add(opListTask);\n intentState.operatorList = {\n fnArray: [],\n argsArray: [],\n lastChunk: false,\n separateAnnots: null\n };\n this._stats?.time(\"Page Request\");\n this._pumpOperatorList(intentArgs);\n }\n return intentState.opListReadCapability.promise;\n }\n streamTextContent({\n includeMarkedContent = false,\n disableNormalization = false\n } = {}) {\n const TEXT_CONTENT_CHUNK_SIZE = 100;\n return this._transport.messageHandler.sendWithStream(\"GetTextContent\", {\n pageIndex: this._pageIndex,\n includeMarkedContent: includeMarkedContent === true,\n disableNormalization: disableNormalization === true\n }, {\n highWaterMark: TEXT_CONTENT_CHUNK_SIZE,\n size(textContent) {\n return textContent.items.length;\n }\n });\n }\n getTextContent(params = {}) {\n if (this._transport._htmlForXfa) {\n return this.getXfa().then(xfa => {\n return _xfa_text.XfaText.textContent(xfa);\n });\n }\n const readableStream = this.streamTextContent(params);\n return new Promise(function (resolve, reject) {\n function pump() {\n reader.read().then(function ({\n value,\n done\n }) {\n if (done) {\n resolve(textContent);\n return;\n }\n Object.assign(textContent.styles, value.styles);\n textContent.items.push(...value.items);\n pump();\n }, reject);\n }\n const reader = readableStream.getReader();\n const textContent = {\n items: [],\n styles: Object.create(null)\n };\n pump();\n });\n }\n getStructTree() {\n return this._transport.getStructTree(this._pageIndex);\n }\n _destroy() {\n this.destroyed = true;\n const waitOn = [];\n for (const intentState of this._intentStates.values()) {\n this._abortOperatorList({\n intentState,\n reason: new Error(\"Page was destroyed.\"),\n force: true\n });\n if (intentState.opListReadCapability) {\n continue;\n }\n for (const internalRenderTask of intentState.renderTasks) {\n waitOn.push(internalRenderTask.completed);\n internalRenderTask.cancel();\n }\n }\n this.objs.clear();\n this.#pendingCleanup = false;\n this.#abortDelayedCleanup();\n return Promise.all(waitOn);\n }\n cleanup(resetStats = false) {\n this.#pendingCleanup = true;\n const success = this.#tryCleanup(false);\n if (resetStats && success) {\n this._stats &&= new _display_utils.StatTimer();\n }\n return success;\n }\n #tryCleanup(delayed = false) {\n this.#abortDelayedCleanup();\n if (!this.#pendingCleanup) {\n return false;\n }\n if (delayed) {\n this.#delayedCleanupTimeout = setTimeout(() => {\n this.#delayedCleanupTimeout = null;\n this.#tryCleanup(false);\n }, DELAYED_CLEANUP_TIMEOUT);\n return false;\n }\n for (const {\n renderTasks,\n operatorList\n } of this._intentStates.values()) {\n if (renderTasks.size > 0 || !operatorList.lastChunk) {\n return false;\n }\n }\n this._intentStates.clear();\n this.objs.clear();\n this.#pendingCleanup = false;\n return true;\n }\n #abortDelayedCleanup() {\n if (this.#delayedCleanupTimeout) {\n clearTimeout(this.#delayedCleanupTimeout);\n this.#delayedCleanupTimeout = null;\n }\n }\n _startRenderPage(transparency, cacheKey) {\n const intentState = this._intentStates.get(cacheKey);\n if (!intentState) {\n return;\n }\n this._stats?.timeEnd(\"Page Request\");\n intentState.displayReadyCapability?.resolve(transparency);\n }\n _renderPageChunk(operatorListChunk, intentState) {\n for (let i = 0, ii = operatorListChunk.length; i < ii; i++) {\n intentState.operatorList.fnArray.push(operatorListChunk.fnArray[i]);\n intentState.operatorList.argsArray.push(operatorListChunk.argsArray[i]);\n }\n intentState.operatorList.lastChunk = operatorListChunk.lastChunk;\n intentState.operatorList.separateAnnots = operatorListChunk.separateAnnots;\n for (const internalRenderTask of intentState.renderTasks) {\n internalRenderTask.operatorListChanged();\n }\n if (operatorListChunk.lastChunk) {\n this.#tryCleanup(true);\n }\n }\n _pumpOperatorList({\n renderingIntent,\n cacheKey,\n annotationStorageMap\n }) {\n const readableStream = this._transport.messageHandler.sendWithStream(\"GetOperatorList\", {\n pageIndex: this._pageIndex,\n intent: renderingIntent,\n cacheKey,\n annotationStorage: annotationStorageMap\n });\n const reader = readableStream.getReader();\n const intentState = this._intentStates.get(cacheKey);\n intentState.streamReader = reader;\n const pump = () => {\n reader.read().then(({\n value,\n done\n }) => {\n if (done) {\n intentState.streamReader = null;\n return;\n }\n if (this._transport.destroyed) {\n return;\n }\n this._renderPageChunk(value, intentState);\n pump();\n }, reason => {\n intentState.streamReader = null;\n if (this._transport.destroyed) {\n return;\n }\n if (intentState.operatorList) {\n intentState.operatorList.lastChunk = true;\n for (const internalRenderTask of intentState.renderTasks) {\n internalRenderTask.operatorListChanged();\n }\n this.#tryCleanup(true);\n }\n if (intentState.displayReadyCapability) {\n intentState.displayReadyCapability.reject(reason);\n } else if (intentState.opListReadCapability) {\n intentState.opListReadCapability.reject(reason);\n } else {\n throw reason;\n }\n });\n };\n pump();\n }\n _abortOperatorList({\n intentState,\n reason,\n force = false\n }) {\n if (!intentState.streamReader) {\n return;\n }\n if (intentState.streamReaderCancelTimeout) {\n clearTimeout(intentState.streamReaderCancelTimeout);\n intentState.streamReaderCancelTimeout = null;\n }\n if (!force) {\n if (intentState.renderTasks.size > 0) {\n return;\n }\n if (reason instanceof _display_utils.RenderingCancelledException) {\n let delay = RENDERING_CANCELLED_TIMEOUT;\n if (reason.extraDelay > 0 && reason.extraDelay < 1000) {\n delay += reason.extraDelay;\n }\n intentState.streamReaderCancelTimeout = setTimeout(() => {\n intentState.streamReaderCancelTimeout = null;\n this._abortOperatorList({\n intentState,\n reason,\n force: true\n });\n }, delay);\n return;\n }\n }\n intentState.streamReader.cancel(new _util.AbortException(reason.message)).catch(() => {});\n intentState.streamReader = null;\n if (this._transport.destroyed) {\n return;\n }\n for (const [curCacheKey, curIntentState] of this._intentStates) {\n if (curIntentState === intentState) {\n this._intentStates.delete(curCacheKey);\n break;\n }\n }\n this.cleanup();\n }\n get stats() {\n return this._stats;\n }\n}\nexports.PDFPageProxy = PDFPageProxy;\nclass LoopbackPort {\n #listeners = new Set();\n #deferred = Promise.resolve();\n postMessage(obj, transfer) {\n const event = {\n data: structuredClone(obj, transfer ? {\n transfer\n } : null)\n };\n this.#deferred.then(() => {\n for (const listener of this.#listeners) {\n listener.call(this, event);\n }\n });\n }\n addEventListener(name, listener) {\n this.#listeners.add(listener);\n }\n removeEventListener(name, listener) {\n this.#listeners.delete(listener);\n }\n terminate() {\n this.#listeners.clear();\n }\n}\nexports.LoopbackPort = LoopbackPort;\nconst PDFWorkerUtil = {\n isWorkerDisabled: false,\n fallbackWorkerSrc: null,\n fakeWorkerId: 0\n};\nexports.PDFWorkerUtil = PDFWorkerUtil;\n{\n if (_is_node.isNodeJS && typeof require === \"function\") {\n PDFWorkerUtil.isWorkerDisabled = true;\n PDFWorkerUtil.fallbackWorkerSrc = \"./pdf.worker.js\";\n } else if (typeof document === \"object\") {\n const pdfjsFilePath = document?.currentScript?.src;\n if (pdfjsFilePath) {\n PDFWorkerUtil.fallbackWorkerSrc = pdfjsFilePath.replace(/(\\.(?:min\\.)?js)(\\?.*)?$/i, \".worker$1$2\");\n }\n }\n PDFWorkerUtil.isSameOrigin = function (baseUrl, otherUrl) {\n let base;\n try {\n base = new URL(baseUrl);\n if (!base.origin || base.origin === \"null\") {\n return false;\n }\n } catch (e) {\n return false;\n }\n const other = new URL(otherUrl, base);\n return base.origin === other.origin;\n };\n PDFWorkerUtil.createCDNWrapper = function (url) {\n const wrapper = `importScripts(\"${url}\");`;\n return URL.createObjectURL(new Blob([wrapper]));\n };\n}\nclass PDFWorker {\n static #workerPorts = new WeakMap();\n constructor({\n name = null,\n port = null,\n verbosity = (0, _util.getVerbosityLevel)()\n } = {}) {\n if (port && PDFWorker.#workerPorts.has(port)) {\n throw new Error(\"Cannot use more than one PDFWorker per port.\");\n }\n this.name = name;\n this.destroyed = false;\n this.verbosity = verbosity;\n this._readyCapability = new _util.PromiseCapability();\n this._port = null;\n this._webWorker = null;\n this._messageHandler = null;\n if (port) {\n PDFWorker.#workerPorts.set(port, this);\n this._initializeFromPort(port);\n return;\n }\n this._initialize();\n }\n get promise() {\n return this._readyCapability.promise;\n }\n get port() {\n return this._port;\n }\n get messageHandler() {\n return this._messageHandler;\n }\n _initializeFromPort(port) {\n this._port = port;\n this._messageHandler = new _message_handler.MessageHandler(\"main\", \"worker\", port);\n this._messageHandler.on(\"ready\", function () {});\n this._readyCapability.resolve();\n this._messageHandler.send(\"configure\", {\n verbosity: this.verbosity\n });\n }\n _initialize() {\n if (!PDFWorkerUtil.isWorkerDisabled && !PDFWorker._mainThreadWorkerMessageHandler) {\n let {\n workerSrc\n } = PDFWorker;\n try {\n if (!PDFWorkerUtil.isSameOrigin(window.location.href, workerSrc)) {\n workerSrc = PDFWorkerUtil.createCDNWrapper(new URL(workerSrc, window.location).href);\n }\n const worker = new Worker(workerSrc);\n const messageHandler = new _message_handler.MessageHandler(\"main\", \"worker\", worker);\n const terminateEarly = () => {\n worker.removeEventListener(\"error\", onWorkerError);\n messageHandler.destroy();\n worker.terminate();\n if (this.destroyed) {\n this._readyCapability.reject(new Error(\"Worker was destroyed\"));\n } else {\n this._setupFakeWorker();\n }\n };\n const onWorkerError = () => {\n if (!this._webWorker) {\n terminateEarly();\n }\n };\n worker.addEventListener(\"error\", onWorkerError);\n messageHandler.on(\"test\", data => {\n worker.removeEventListener(\"error\", onWorkerError);\n if (this.destroyed) {\n terminateEarly();\n return;\n }\n if (data) {\n this._messageHandler = messageHandler;\n this._port = worker;\n this._webWorker = worker;\n this._readyCapability.resolve();\n messageHandler.send(\"configure\", {\n verbosity: this.verbosity\n });\n } else {\n this._setupFakeWorker();\n messageHandler.destroy();\n worker.terminate();\n }\n });\n messageHandler.on(\"ready\", data => {\n worker.removeEventListener(\"error\", onWorkerError);\n if (this.destroyed) {\n terminateEarly();\n return;\n }\n try {\n sendTest();\n } catch (e) {\n this._setupFakeWorker();\n }\n });\n const sendTest = () => {\n const testObj = new Uint8Array();\n messageHandler.send(\"test\", testObj, [testObj.buffer]);\n };\n sendTest();\n return;\n } catch (e) {\n (0, _util.info)(\"The worker has been disabled.\");\n }\n }\n this._setupFakeWorker();\n }\n _setupFakeWorker() {\n if (!PDFWorkerUtil.isWorkerDisabled) {\n (0, _util.warn)(\"Setting up fake worker.\");\n PDFWorkerUtil.isWorkerDisabled = true;\n }\n PDFWorker._setupFakeWorkerGlobal.then(WorkerMessageHandler => {\n if (this.destroyed) {\n this._readyCapability.reject(new Error(\"Worker was destroyed\"));\n return;\n }\n const port = new LoopbackPort();\n this._port = port;\n const id = `fake${PDFWorkerUtil.fakeWorkerId++}`;\n const workerHandler = new _message_handler.MessageHandler(id + \"_worker\", id, port);\n WorkerMessageHandler.setup(workerHandler, port);\n const messageHandler = new _message_handler.MessageHandler(id, id + \"_worker\", port);\n this._messageHandler = messageHandler;\n this._readyCapability.resolve();\n messageHandler.send(\"configure\", {\n verbosity: this.verbosity\n });\n }).catch(reason => {\n this._readyCapability.reject(new Error(`Setting up fake worker failed: \"${reason.message}\".`));\n });\n }\n destroy() {\n this.destroyed = true;\n if (this._webWorker) {\n this._webWorker.terminate();\n this._webWorker = null;\n }\n PDFWorker.#workerPorts.delete(this._port);\n this._port = null;\n if (this._messageHandler) {\n this._messageHandler.destroy();\n this._messageHandler = null;\n }\n }\n static fromPort(params) {\n if (!params?.port) {\n throw new Error(\"PDFWorker.fromPort - invalid method signature.\");\n }\n if (this.#workerPorts.has(params.port)) {\n return this.#workerPorts.get(params.port);\n }\n return new PDFWorker(params);\n }\n static get workerSrc() {\n if (_worker_options.GlobalWorkerOptions.workerSrc) {\n return _worker_options.GlobalWorkerOptions.workerSrc;\n }\n if (PDFWorkerUtil.fallbackWorkerSrc !== null) {\n if (!_is_node.isNodeJS) {\n (0, _display_utils.deprecated)('No \"GlobalWorkerOptions.workerSrc\" specified.');\n }\n return PDFWorkerUtil.fallbackWorkerSrc;\n }\n throw new Error('No \"GlobalWorkerOptions.workerSrc\" specified.');\n }\n static get _mainThreadWorkerMessageHandler() {\n try {\n return globalThis.pdfjsWorker?.WorkerMessageHandler || null;\n } catch (ex) {\n return null;\n }\n }\n static get _setupFakeWorkerGlobal() {\n const loader = async () => {\n const mainWorkerMessageHandler = this._mainThreadWorkerMessageHandler;\n if (mainWorkerMessageHandler) {\n return mainWorkerMessageHandler;\n }\n if (_is_node.isNodeJS && typeof require === \"function\") {\n const worker = eval(\"require\")(this.workerSrc);\n return worker.WorkerMessageHandler;\n }\n await (0, _display_utils.loadScript)(this.workerSrc);\n return window.pdfjsWorker.WorkerMessageHandler;\n };\n return (0, _util.shadow)(this, \"_setupFakeWorkerGlobal\", loader());\n }\n}\nexports.PDFWorker = PDFWorker;\nclass WorkerTransport {\n #methodPromises = new Map();\n #pageCache = new Map();\n #pagePromises = new Map();\n constructor(messageHandler, loadingTask, networkStream, params, factory) {\n this.messageHandler = messageHandler;\n this.loadingTask = loadingTask;\n this.commonObjs = new PDFObjects();\n this.fontLoader = new _font_loader.FontLoader({\n ownerDocument: params.ownerDocument,\n styleElement: params.styleElement\n });\n this._params = params;\n this.canvasFactory = factory.canvasFactory;\n this.filterFactory = factory.filterFactory;\n this.cMapReaderFactory = factory.cMapReaderFactory;\n this.standardFontDataFactory = factory.standardFontDataFactory;\n this.destroyed = false;\n this.destroyCapability = null;\n this._passwordCapability = null;\n this._networkStream = networkStream;\n this._fullReader = null;\n this._lastProgress = null;\n this.downloadInfoCapability = new _util.PromiseCapability();\n this.setupMessageHandler();\n }\n #cacheSimpleMethod(name, data = null) {\n const cachedPromise = this.#methodPromises.get(name);\n if (cachedPromise) {\n return cachedPromise;\n }\n const promise = this.messageHandler.sendWithPromise(name, data);\n this.#methodPromises.set(name, promise);\n return promise;\n }\n get annotationStorage() {\n return (0, _util.shadow)(this, \"annotationStorage\", new _annotation_storage.AnnotationStorage());\n }\n getRenderingIntent(intent, annotationMode = _util.AnnotationMode.ENABLE, printAnnotationStorage = null, isOpList = false) {\n let renderingIntent = _util.RenderingIntentFlag.DISPLAY;\n let annotationMap = null;\n switch (intent) {\n case \"any\":\n renderingIntent = _util.RenderingIntentFlag.ANY;\n break;\n case \"display\":\n break;\n case \"print\":\n renderingIntent = _util.RenderingIntentFlag.PRINT;\n break;\n default:\n (0, _util.warn)(`getRenderingIntent - invalid intent: ${intent}`);\n }\n switch (annotationMode) {\n case _util.AnnotationMode.DISABLE:\n renderingIntent += _util.RenderingIntentFlag.ANNOTATIONS_DISABLE;\n break;\n case _util.AnnotationMode.ENABLE:\n break;\n case _util.AnnotationMode.ENABLE_FORMS:\n renderingIntent += _util.RenderingIntentFlag.ANNOTATIONS_FORMS;\n break;\n case _util.AnnotationMode.ENABLE_STORAGE:\n renderingIntent += _util.RenderingIntentFlag.ANNOTATIONS_STORAGE;\n const annotationStorage = renderingIntent & _util.RenderingIntentFlag.PRINT && printAnnotationStorage instanceof _annotation_storage.PrintAnnotationStorage ? printAnnotationStorage : this.annotationStorage;\n annotationMap = annotationStorage.serializable;\n break;\n default:\n (0, _util.warn)(`getRenderingIntent - invalid annotationMode: ${annotationMode}`);\n }\n if (isOpList) {\n renderingIntent += _util.RenderingIntentFlag.OPLIST;\n }\n return {\n renderingIntent,\n cacheKey: `${renderingIntent}_${_annotation_storage.AnnotationStorage.getHash(annotationMap)}`,\n annotationStorageMap: annotationMap\n };\n }\n destroy() {\n if (this.destroyCapability) {\n return this.destroyCapability.promise;\n }\n this.destroyed = true;\n this.destroyCapability = new _util.PromiseCapability();\n if (this._passwordCapability) {\n this._passwordCapability.reject(new Error(\"Worker was destroyed during onPassword callback\"));\n }\n const waitOn = [];\n for (const page of this.#pageCache.values()) {\n waitOn.push(page._destroy());\n }\n this.#pageCache.clear();\n this.#pagePromises.clear();\n if (this.hasOwnProperty(\"annotationStorage\")) {\n this.annotationStorage.resetModified();\n }\n const terminated = this.messageHandler.sendWithPromise(\"Terminate\", null);\n waitOn.push(terminated);\n Promise.all(waitOn).then(() => {\n this.commonObjs.clear();\n this.fontLoader.clear();\n this.#methodPromises.clear();\n this.filterFactory.destroy();\n if (this._networkStream) {\n this._networkStream.cancelAllRequests(new _util.AbortException(\"Worker was terminated.\"));\n }\n if (this.messageHandler) {\n this.messageHandler.destroy();\n this.messageHandler = null;\n }\n this.destroyCapability.resolve();\n }, this.destroyCapability.reject);\n return this.destroyCapability.promise;\n }\n setupMessageHandler() {\n const {\n messageHandler,\n loadingTask\n } = this;\n messageHandler.on(\"GetReader\", (data, sink) => {\n (0, _util.assert)(this._networkStream, \"GetReader - no `IPDFStream` instance available.\");\n this._fullReader = this._networkStream.getFullReader();\n this._fullReader.onProgress = evt => {\n this._lastProgress = {\n loaded: evt.loaded,\n total: evt.total\n };\n };\n sink.onPull = () => {\n this._fullReader.read().then(function ({\n value,\n done\n }) {\n if (done) {\n sink.close();\n return;\n }\n (0, _util.assert)(value instanceof ArrayBuffer, \"GetReader - expected an ArrayBuffer.\");\n sink.enqueue(new Uint8Array(value), 1, [value]);\n }).catch(reason => {\n sink.error(reason);\n });\n };\n sink.onCancel = reason => {\n this._fullReader.cancel(reason);\n sink.ready.catch(readyReason => {\n if (this.destroyed) {\n return;\n }\n throw readyReason;\n });\n };\n });\n messageHandler.on(\"ReaderHeadersReady\", data => {\n const headersCapability = new _util.PromiseCapability();\n const fullReader = this._fullReader;\n fullReader.headersReady.then(() => {\n if (!fullReader.isStreamingSupported || !fullReader.isRangeSupported) {\n if (this._lastProgress) {\n loadingTask.onProgress?.(this._lastProgress);\n }\n fullReader.onProgress = evt => {\n loadingTask.onProgress?.({\n loaded: evt.loaded,\n total: evt.total\n });\n };\n }\n headersCapability.resolve({\n isStreamingSupported: fullReader.isStreamingSupported,\n isRangeSupported: fullReader.isRangeSupported,\n contentLength: fullReader.contentLength\n });\n }, headersCapability.reject);\n return headersCapability.promise;\n });\n messageHandler.on(\"GetRangeReader\", (data, sink) => {\n (0, _util.assert)(this._networkStream, \"GetRangeReader - no `IPDFStream` instance available.\");\n const rangeReader = this._networkStream.getRangeReader(data.begin, data.end);\n if (!rangeReader) {\n sink.close();\n return;\n }\n sink.onPull = () => {\n rangeReader.read().then(function ({\n value,\n done\n }) {\n if (done) {\n sink.close();\n return;\n }\n (0, _util.assert)(value instanceof ArrayBuffer, \"GetRangeReader - expected an ArrayBuffer.\");\n sink.enqueue(new Uint8Array(value), 1, [value]);\n }).catch(reason => {\n sink.error(reason);\n });\n };\n sink.onCancel = reason => {\n rangeReader.cancel(reason);\n sink.ready.catch(readyReason => {\n if (this.destroyed) {\n return;\n }\n throw readyReason;\n });\n };\n });\n messageHandler.on(\"GetDoc\", ({\n pdfInfo\n }) => {\n this._numPages = pdfInfo.numPages;\n this._htmlForXfa = pdfInfo.htmlForXfa;\n delete pdfInfo.htmlForXfa;\n loadingTask._capability.resolve(new PDFDocumentProxy(pdfInfo, this));\n });\n messageHandler.on(\"DocException\", function (ex) {\n let reason;\n switch (ex.name) {\n case \"PasswordException\":\n reason = new _util.PasswordException(ex.message, ex.code);\n break;\n case \"InvalidPDFException\":\n reason = new _util.InvalidPDFException(ex.message);\n break;\n case \"MissingPDFException\":\n reason = new _util.MissingPDFException(ex.message);\n break;\n case \"UnexpectedResponseException\":\n reason = new _util.UnexpectedResponseException(ex.message, ex.status);\n break;\n case \"UnknownErrorException\":\n reason = new _util.UnknownErrorException(ex.message, ex.details);\n break;\n default:\n (0, _util.unreachable)(\"DocException - expected a valid Error.\");\n }\n loadingTask._capability.reject(reason);\n });\n messageHandler.on(\"PasswordRequest\", exception => {\n this._passwordCapability = new _util.PromiseCapability();\n if (loadingTask.onPassword) {\n const updatePassword = password => {\n if (password instanceof Error) {\n this._passwordCapability.reject(password);\n } else {\n this._passwordCapability.resolve({\n password\n });\n }\n };\n try {\n loadingTask.onPassword(updatePassword, exception.code);\n } catch (ex) {\n this._passwordCapability.reject(ex);\n }\n } else {\n this._passwordCapability.reject(new _util.PasswordException(exception.message, exception.code));\n }\n return this._passwordCapability.promise;\n });\n messageHandler.on(\"DataLoaded\", data => {\n loadingTask.onProgress?.({\n loaded: data.length,\n total: data.length\n });\n this.downloadInfoCapability.resolve(data);\n });\n messageHandler.on(\"StartRenderPage\", data => {\n if (this.destroyed) {\n return;\n }\n const page = this.#pageCache.get(data.pageIndex);\n page._startRenderPage(data.transparency, data.cacheKey);\n });\n messageHandler.on(\"commonobj\", ([id, type, exportedData]) => {\n if (this.destroyed) {\n return;\n }\n if (this.commonObjs.has(id)) {\n return;\n }\n switch (type) {\n case \"Font\":\n const params = this._params;\n if (\"error\" in exportedData) {\n const exportedError = exportedData.error;\n (0, _util.warn)(`Error during font loading: ${exportedError}`);\n this.commonObjs.resolve(id, exportedError);\n break;\n }\n const inspectFont = params.pdfBug && globalThis.FontInspector?.enabled ? (font, url) => globalThis.FontInspector.fontAdded(font, url) : null;\n const font = new _font_loader.FontFaceObject(exportedData, {\n isEvalSupported: params.isEvalSupported,\n disableFontFace: params.disableFontFace,\n ignoreErrors: params.ignoreErrors,\n inspectFont\n });\n this.fontLoader.bind(font).catch(reason => {\n return messageHandler.sendWithPromise(\"FontFallback\", {\n id\n });\n }).finally(() => {\n if (!params.fontExtraProperties && font.data) {\n font.data = null;\n }\n this.commonObjs.resolve(id, font);\n });\n break;\n case \"FontPath\":\n case \"Image\":\n case \"Pattern\":\n this.commonObjs.resolve(id, exportedData);\n break;\n default:\n throw new Error(`Got unknown common object type ${type}`);\n }\n });\n messageHandler.on(\"obj\", ([id, pageIndex, type, imageData]) => {\n if (this.destroyed) {\n return;\n }\n const pageProxy = this.#pageCache.get(pageIndex);\n if (pageProxy.objs.has(id)) {\n return;\n }\n switch (type) {\n case \"Image\":\n pageProxy.objs.resolve(id, imageData);\n if (imageData) {\n let length;\n if (imageData.bitmap) {\n const {\n width,\n height\n } = imageData;\n length = width * height * 4;\n } else {\n length = imageData.data?.length || 0;\n }\n if (length > _util.MAX_IMAGE_SIZE_TO_CACHE) {\n pageProxy._maybeCleanupAfterRender = true;\n }\n }\n break;\n case \"Pattern\":\n pageProxy.objs.resolve(id, imageData);\n break;\n default:\n throw new Error(`Got unknown object type ${type}`);\n }\n });\n messageHandler.on(\"DocProgress\", data => {\n if (this.destroyed) {\n return;\n }\n loadingTask.onProgress?.({\n loaded: data.loaded,\n total: data.total\n });\n });\n messageHandler.on(\"FetchBuiltInCMap\", data => {\n if (this.destroyed) {\n return Promise.reject(new Error(\"Worker was destroyed.\"));\n }\n if (!this.cMapReaderFactory) {\n return Promise.reject(new Error(\"CMapReaderFactory not initialized, see the `useWorkerFetch` parameter.\"));\n }\n return this.cMapReaderFactory.fetch(data);\n });\n messageHandler.on(\"FetchStandardFontData\", data => {\n if (this.destroyed) {\n return Promise.reject(new Error(\"Worker was destroyed.\"));\n }\n if (!this.standardFontDataFactory) {\n return Promise.reject(new Error(\"StandardFontDataFactory not initialized, see the `useWorkerFetch` parameter.\"));\n }\n return this.standardFontDataFactory.fetch(data);\n });\n }\n getData() {\n return this.messageHandler.sendWithPromise(\"GetData\", null);\n }\n saveDocument() {\n if (this.annotationStorage.size <= 0) {\n (0, _util.warn)(\"saveDocument called while `annotationStorage` is empty, \" + \"please use the getData-method instead.\");\n }\n return this.messageHandler.sendWithPromise(\"SaveDocument\", {\n isPureXfa: !!this._htmlForXfa,\n numPages: this._numPages,\n annotationStorage: this.annotationStorage.serializable,\n filename: this._fullReader?.filename ?? null\n }).finally(() => {\n this.annotationStorage.resetModified();\n });\n }\n getPage(pageNumber) {\n if (!Number.isInteger(pageNumber) || pageNumber <= 0 || pageNumber > this._numPages) {\n return Promise.reject(new Error(\"Invalid page request.\"));\n }\n const pageIndex = pageNumber - 1,\n cachedPromise = this.#pagePromises.get(pageIndex);\n if (cachedPromise) {\n return cachedPromise;\n }\n const promise = this.messageHandler.sendWithPromise(\"GetPage\", {\n pageIndex\n }).then(pageInfo => {\n if (this.destroyed) {\n throw new Error(\"Transport destroyed\");\n }\n const page = new PDFPageProxy(pageIndex, pageInfo, this, this._params.pdfBug);\n this.#pageCache.set(pageIndex, page);\n return page;\n });\n this.#pagePromises.set(pageIndex, promise);\n return promise;\n }\n getPageIndex(ref) {\n if (typeof ref !== \"object\" || ref === null || !Number.isInteger(ref.num) || ref.num < 0 || !Number.isInteger(ref.gen) || ref.gen < 0) {\n return Promise.reject(new Error(\"Invalid pageIndex request.\"));\n }\n return this.messageHandler.sendWithPromise(\"GetPageIndex\", {\n num: ref.num,\n gen: ref.gen\n });\n }\n getAnnotations(pageIndex, intent) {\n return this.messageHandler.sendWithPromise(\"GetAnnotations\", {\n pageIndex,\n intent\n });\n }\n getFieldObjects() {\n return this.#cacheSimpleMethod(\"GetFieldObjects\");\n }\n hasJSActions() {\n return this.#cacheSimpleMethod(\"HasJSActions\");\n }\n getCalculationOrderIds() {\n return this.messageHandler.sendWithPromise(\"GetCalculationOrderIds\", null);\n }\n getDestinations() {\n return this.messageHandler.sendWithPromise(\"GetDestinations\", null);\n }\n getDestination(id) {\n if (typeof id !== \"string\") {\n return Promise.reject(new Error(\"Invalid destination request.\"));\n }\n return this.messageHandler.sendWithPromise(\"GetDestination\", {\n id\n });\n }\n getPageLabels() {\n return this.messageHandler.sendWithPromise(\"GetPageLabels\", null);\n }\n getPageLayout() {\n return this.messageHandler.sendWithPromise(\"GetPageLayout\", null);\n }\n getPageMode() {\n return this.messageHandler.sendWithPromise(\"GetPageMode\", null);\n }\n getViewerPreferences() {\n return this.messageHandler.sendWithPromise(\"GetViewerPreferences\", null);\n }\n getOpenAction() {\n return this.messageHandler.sendWithPromise(\"GetOpenAction\", null);\n }\n getAttachments() {\n return this.messageHandler.sendWithPromise(\"GetAttachments\", null);\n }\n getJavaScript() {\n return this.messageHandler.sendWithPromise(\"GetJavaScript\", null);\n }\n getDocJSActions() {\n return this.messageHandler.sendWithPromise(\"GetDocJSActions\", null);\n }\n getPageJSActions(pageIndex) {\n return this.messageHandler.sendWithPromise(\"GetPageJSActions\", {\n pageIndex\n });\n }\n getStructTree(pageIndex) {\n return this.messageHandler.sendWithPromise(\"GetStructTree\", {\n pageIndex\n });\n }\n getOutline() {\n return this.messageHandler.sendWithPromise(\"GetOutline\", null);\n }\n getOptionalContentConfig() {\n return this.messageHandler.sendWithPromise(\"GetOptionalContentConfig\", null).then(results => {\n return new _optional_content_config.OptionalContentConfig(results);\n });\n }\n getPermissions() {\n return this.messageHandler.sendWithPromise(\"GetPermissions\", null);\n }\n getMetadata() {\n const name = \"GetMetadata\",\n cachedPromise = this.#methodPromises.get(name);\n if (cachedPromise) {\n return cachedPromise;\n }\n const promise = this.messageHandler.sendWithPromise(name, null).then(results => {\n return {\n info: results[0],\n metadata: results[1] ? new _metadata.Metadata(results[1]) : null,\n contentDispositionFilename: this._fullReader?.filename ?? null,\n contentLength: this._fullReader?.contentLength ?? null\n };\n });\n this.#methodPromises.set(name, promise);\n return promise;\n }\n getMarkInfo() {\n return this.messageHandler.sendWithPromise(\"GetMarkInfo\", null);\n }\n async startCleanup(keepLoadedFonts = false) {\n if (this.destroyed) {\n return;\n }\n await this.messageHandler.sendWithPromise(\"Cleanup\", null);\n for (const page of this.#pageCache.values()) {\n const cleanupSuccessful = page.cleanup();\n if (!cleanupSuccessful) {\n throw new Error(`startCleanup: Page ${page.pageNumber} is currently rendering.`);\n }\n }\n this.commonObjs.clear();\n if (!keepLoadedFonts) {\n this.fontLoader.clear();\n }\n this.#methodPromises.clear();\n this.filterFactory.destroy(true);\n }\n get loadingParams() {\n const {\n disableAutoFetch,\n enableXfa\n } = this._params;\n return (0, _util.shadow)(this, \"loadingParams\", {\n disableAutoFetch,\n enableXfa\n });\n }\n}\nclass PDFObjects {\n #objs = Object.create(null);\n #ensureObj(objId) {\n const obj = this.#objs[objId];\n if (obj) {\n return obj;\n }\n return this.#objs[objId] = {\n capability: new _util.PromiseCapability(),\n data: null\n };\n }\n get(objId, callback = null) {\n if (callback) {\n const obj = this.#ensureObj(objId);\n obj.capability.promise.then(() => callback(obj.data));\n return null;\n }\n const obj = this.#objs[objId];\n if (!obj?.capability.settled) {\n throw new Error(`Requesting object that isn't resolved yet ${objId}.`);\n }\n return obj.data;\n }\n has(objId) {\n const obj = this.#objs[objId];\n return obj?.capability.settled || false;\n }\n resolve(objId, data = null) {\n const obj = this.#ensureObj(objId);\n obj.data = data;\n obj.capability.resolve();\n }\n clear() {\n for (const objId in this.#objs) {\n const {\n data\n } = this.#objs[objId];\n data?.bitmap?.close();\n }\n this.#objs = Object.create(null);\n }\n}\nclass RenderTask {\n #internalRenderTask = null;\n constructor(internalRenderTask) {\n this.#internalRenderTask = internalRenderTask;\n this.onContinue = null;\n }\n get promise() {\n return this.#internalRenderTask.capability.promise;\n }\n cancel(extraDelay = 0) {\n this.#internalRenderTask.cancel(null, extraDelay);\n }\n get separateAnnots() {\n const {\n separateAnnots\n } = this.#internalRenderTask.operatorList;\n if (!separateAnnots) {\n return false;\n }\n const {\n annotationCanvasMap\n } = this.#internalRenderTask;\n return separateAnnots.form || separateAnnots.canvas && annotationCanvasMap?.size > 0;\n }\n}\nexports.RenderTask = RenderTask;\nclass InternalRenderTask {\n static #canvasInUse = new WeakSet();\n constructor({\n callback,\n params,\n objs,\n commonObjs,\n annotationCanvasMap,\n operatorList,\n pageIndex,\n canvasFactory,\n filterFactory,\n useRequestAnimationFrame = false,\n pdfBug = false,\n pageColors = null\n }) {\n this.callback = callback;\n this.params = params;\n this.objs = objs;\n this.commonObjs = commonObjs;\n this.annotationCanvasMap = annotationCanvasMap;\n this.operatorListIdx = null;\n this.operatorList = operatorList;\n this._pageIndex = pageIndex;\n this.canvasFactory = canvasFactory;\n this.filterFactory = filterFactory;\n this._pdfBug = pdfBug;\n this.pageColors = pageColors;\n this.running = false;\n this.graphicsReadyCallback = null;\n this.graphicsReady = false;\n this._useRequestAnimationFrame = useRequestAnimationFrame === true && typeof window !== \"undefined\";\n this.cancelled = false;\n this.capability = new _util.PromiseCapability();\n this.task = new RenderTask(this);\n this._cancelBound = this.cancel.bind(this);\n this._continueBound = this._continue.bind(this);\n this._scheduleNextBound = this._scheduleNext.bind(this);\n this._nextBound = this._next.bind(this);\n this._canvas = params.canvasContext.canvas;\n }\n get completed() {\n return this.capability.promise.catch(function () {});\n }\n initializeGraphics({\n transparency = false,\n optionalContentConfig\n }) {\n if (this.cancelled) {\n return;\n }\n if (this._canvas) {\n if (InternalRenderTask.#canvasInUse.has(this._canvas)) {\n throw new Error(\"Cannot use the same canvas during multiple render() operations. \" + \"Use different canvas or ensure previous operations were \" + \"cancelled or completed.\");\n }\n InternalRenderTask.#canvasInUse.add(this._canvas);\n }\n if (this._pdfBug && globalThis.StepperManager?.enabled) {\n this.stepper = globalThis.StepperManager.create(this._pageIndex);\n this.stepper.init(this.operatorList);\n this.stepper.nextBreakPoint = this.stepper.getNextBreakPoint();\n }\n const {\n canvasContext,\n viewport,\n transform,\n background\n } = this.params;\n this.gfx = new _canvas.CanvasGraphics(canvasContext, this.commonObjs, this.objs, this.canvasFactory, this.filterFactory, {\n optionalContentConfig\n }, this.annotationCanvasMap, this.pageColors);\n this.gfx.beginDrawing({\n transform,\n viewport,\n transparency,\n background\n });\n this.operatorListIdx = 0;\n this.graphicsReady = true;\n this.graphicsReadyCallback?.();\n }\n cancel(error = null, extraDelay = 0) {\n this.running = false;\n this.cancelled = true;\n this.gfx?.endDrawing();\n if (this._canvas) {\n InternalRenderTask.#canvasInUse.delete(this._canvas);\n }\n this.callback(error || new _display_utils.RenderingCancelledException(`Rendering cancelled, page ${this._pageIndex + 1}`, \"canvas\", extraDelay));\n }\n operatorListChanged() {\n if (!this.graphicsReady) {\n this.graphicsReadyCallback ||= this._continueBound;\n return;\n }\n this.stepper?.updateOperatorList(this.operatorList);\n if (this.running) {\n return;\n }\n this._continue();\n }\n _continue() {\n this.running = true;\n if (this.cancelled) {\n return;\n }\n if (this.task.onContinue) {\n this.task.onContinue(this._scheduleNextBound);\n } else {\n this._scheduleNext();\n }\n }\n _scheduleNext() {\n if (this._useRequestAnimationFrame) {\n window.requestAnimationFrame(() => {\n this._nextBound().catch(this._cancelBound);\n });\n } else {\n Promise.resolve().then(this._nextBound).catch(this._cancelBound);\n }\n }\n async _next() {\n if (this.cancelled) {\n return;\n }\n this.operatorListIdx = this.gfx.executeOperatorList(this.operatorList, this.operatorListIdx, this._continueBound, this.stepper);\n if (this.operatorListIdx === this.operatorList.argsArray.length) {\n this.running = false;\n if (this.operatorList.lastChunk) {\n this.gfx.endDrawing(this.pageColors);\n if (this._canvas) {\n InternalRenderTask.#canvasInUse.delete(this._canvas);\n }\n this.callback();\n }\n }\n }\n}\nconst version = '3.6.172';\nexports.version = version;\nconst build = '4d3dfe254';\nexports.build = build;\n\n/***/ }),\n/* 3 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.PrintAnnotationStorage = exports.AnnotationStorage = void 0;\nvar _util = __w_pdfjs_require__(1);\nvar _editor = __w_pdfjs_require__(4);\nvar _murmurhash = __w_pdfjs_require__(8);\nclass AnnotationStorage {\n #modified = false;\n #storage = new Map();\n constructor() {\n this.onSetModified = null;\n this.onResetModified = null;\n this.onAnnotationEditor = null;\n }\n getValue(key, defaultValue) {\n const value = this.#storage.get(key);\n if (value === undefined) {\n return defaultValue;\n }\n return Object.assign(defaultValue, value);\n }\n getRawValue(key) {\n return this.#storage.get(key);\n }\n remove(key) {\n this.#storage.delete(key);\n if (this.#storage.size === 0) {\n this.resetModified();\n }\n if (typeof this.onAnnotationEditor === \"function\") {\n for (const value of this.#storage.values()) {\n if (value instanceof _editor.AnnotationEditor) {\n return;\n }\n }\n this.onAnnotationEditor(null);\n }\n }\n setValue(key, value) {\n const obj = this.#storage.get(key);\n let modified = false;\n if (obj !== undefined) {\n for (const [entry, val] of Object.entries(value)) {\n if (obj[entry] !== val) {\n modified = true;\n obj[entry] = val;\n }\n }\n } else {\n modified = true;\n this.#storage.set(key, value);\n }\n if (modified) {\n this.#setModified();\n }\n if (value instanceof _editor.AnnotationEditor && typeof this.onAnnotationEditor === \"function\") {\n this.onAnnotationEditor(value.constructor._type);\n }\n }\n has(key) {\n return this.#storage.has(key);\n }\n getAll() {\n return this.#storage.size > 0 ? (0, _util.objectFromMap)(this.#storage) : null;\n }\n setAll(obj) {\n for (const [key, val] of Object.entries(obj)) {\n this.setValue(key, val);\n }\n }\n get size() {\n return this.#storage.size;\n }\n #setModified() {\n if (!this.#modified) {\n this.#modified = true;\n if (typeof this.onSetModified === \"function\") {\n this.onSetModified();\n }\n }\n }\n resetModified() {\n if (this.#modified) {\n this.#modified = false;\n if (typeof this.onResetModified === \"function\") {\n this.onResetModified();\n }\n }\n }\n get print() {\n return new PrintAnnotationStorage(this);\n }\n get serializable() {\n if (this.#storage.size === 0) {\n return null;\n }\n const clone = new Map();\n for (const [key, val] of this.#storage) {\n const serialized = val instanceof _editor.AnnotationEditor ? val.serialize() : val;\n if (serialized) {\n clone.set(key, serialized);\n }\n }\n return clone;\n }\n static getHash(map) {\n if (!map) {\n return \"\";\n }\n const hash = new _murmurhash.MurmurHash3_64();\n for (const [key, val] of map) {\n hash.update(`${key}:${JSON.stringify(val)}`);\n }\n return hash.hexdigest();\n }\n}\nexports.AnnotationStorage = AnnotationStorage;\nclass PrintAnnotationStorage extends AnnotationStorage {\n #serializable = null;\n constructor(parent) {\n super();\n this.#serializable = structuredClone(parent.serializable);\n }\n get print() {\n (0, _util.unreachable)(\"Should not call PrintAnnotationStorage.print\");\n }\n get serializable() {\n return this.#serializable;\n }\n}\nexports.PrintAnnotationStorage = PrintAnnotationStorage;\n\n/***/ }),\n/* 4 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.AnnotationEditor = void 0;\nvar _tools = __w_pdfjs_require__(5);\nvar _util = __w_pdfjs_require__(1);\nclass AnnotationEditor {\n #boundFocusin = this.focusin.bind(this);\n #boundFocusout = this.focusout.bind(this);\n #hasBeenSelected = false;\n #isEditing = false;\n #isInEditMode = false;\n _uiManager = null;\n #zIndex = AnnotationEditor._zIndex++;\n static _colorManager = new _tools.ColorManager();\n static _zIndex = 1;\n constructor(parameters) {\n if (this.constructor === AnnotationEditor) {\n (0, _util.unreachable)(\"Cannot initialize AnnotationEditor.\");\n }\n this.parent = parameters.parent;\n this.id = parameters.id;\n this.width = this.height = null;\n this.pageIndex = parameters.parent.pageIndex;\n this.name = parameters.name;\n this.div = null;\n this._uiManager = parameters.uiManager;\n const {\n rotation,\n rawDims: {\n pageWidth,\n pageHeight,\n pageX,\n pageY\n }\n } = this.parent.viewport;\n this.rotation = rotation;\n this.pageRotation = (360 + rotation - this._uiManager.viewParameters.rotation) % 360;\n this.pageDimensions = [pageWidth, pageHeight];\n this.pageTranslation = [pageX, pageY];\n const [width, height] = this.parentDimensions;\n this.x = parameters.x / width;\n this.y = parameters.y / height;\n this.isAttachedToDOM = false;\n }\n static get _defaultLineColor() {\n return (0, _util.shadow)(this, \"_defaultLineColor\", this._colorManager.getHexCode(\"CanvasText\"));\n }\n addCommands(params) {\n this._uiManager.addCommands(params);\n }\n get currentLayer() {\n return this._uiManager.currentLayer;\n }\n setInBackground() {\n this.div.style.zIndex = 0;\n }\n setInForeground() {\n this.div.style.zIndex = this.#zIndex;\n }\n setParent(parent) {\n if (parent !== null) {\n this.pageIndex = parent.pageIndex;\n this.pageDimensions = parent.pageDimensions;\n }\n this.parent = parent;\n }\n focusin(event) {\n if (!this.#hasBeenSelected) {\n this.parent.setSelected(this);\n } else {\n this.#hasBeenSelected = false;\n }\n }\n focusout(event) {\n if (!this.isAttachedToDOM) {\n return;\n }\n const target = event.relatedTarget;\n if (target?.closest(`#${this.id}`)) {\n return;\n }\n event.preventDefault();\n if (!this.parent?.isMultipleSelection) {\n this.commitOrRemove();\n }\n }\n commitOrRemove() {\n if (this.isEmpty()) {\n this.remove();\n } else {\n this.commit();\n }\n }\n commit() {\n this.addToAnnotationStorage();\n }\n addToAnnotationStorage() {\n this._uiManager.addToAnnotationStorage(this);\n }\n dragstart(event) {\n const rect = this.parent.div.getBoundingClientRect();\n this.startX = event.clientX - rect.x;\n this.startY = event.clientY - rect.y;\n event.dataTransfer.setData(\"text/plain\", this.id);\n event.dataTransfer.effectAllowed = \"move\";\n }\n setAt(x, y, tx, ty) {\n const [width, height] = this.parentDimensions;\n [tx, ty] = this.screenToPageTranslation(tx, ty);\n this.x = (x + tx) / width;\n this.y = (y + ty) / height;\n this.div.style.left = `${100 * this.x}%`;\n this.div.style.top = `${100 * this.y}%`;\n }\n translate(x, y) {\n const [width, height] = this.parentDimensions;\n [x, y] = this.screenToPageTranslation(x, y);\n this.x += x / width;\n this.y += y / height;\n this.div.style.left = `${100 * this.x}%`;\n this.div.style.top = `${100 * this.y}%`;\n }\n screenToPageTranslation(x, y) {\n switch (this.parentRotation) {\n case 90:\n return [y, -x];\n case 180:\n return [-x, -y];\n case 270:\n return [-y, x];\n default:\n return [x, y];\n }\n }\n get parentScale() {\n return this._uiManager.viewParameters.realScale;\n }\n get parentRotation() {\n return (this._uiManager.viewParameters.rotation + this.pageRotation) % 360;\n }\n get parentDimensions() {\n const {\n realScale\n } = this._uiManager.viewParameters;\n const [pageWidth, pageHeight] = this.pageDimensions;\n return [pageWidth * realScale, pageHeight * realScale];\n }\n setDims(width, height) {\n const [parentWidth, parentHeight] = this.parentDimensions;\n this.div.style.width = `${100 * width / parentWidth}%`;\n this.div.style.height = `${100 * height / parentHeight}%`;\n }\n fixDims() {\n const {\n style\n } = this.div;\n const {\n height,\n width\n } = style;\n const widthPercent = width.endsWith(\"%\");\n const heightPercent = height.endsWith(\"%\");\n if (widthPercent && heightPercent) {\n return;\n }\n const [parentWidth, parentHeight] = this.parentDimensions;\n if (!widthPercent) {\n style.width = `${100 * parseFloat(width) / parentWidth}%`;\n }\n if (!heightPercent) {\n style.height = `${100 * parseFloat(height) / parentHeight}%`;\n }\n }\n getInitialTranslation() {\n return [0, 0];\n }\n render() {\n this.div = document.createElement(\"div\");\n this.div.setAttribute(\"data-editor-rotation\", (360 - this.rotation) % 360);\n this.div.className = this.name;\n this.div.setAttribute(\"id\", this.id);\n this.div.setAttribute(\"tabIndex\", 0);\n this.setInForeground();\n this.div.addEventListener(\"focusin\", this.#boundFocusin);\n this.div.addEventListener(\"focusout\", this.#boundFocusout);\n const [tx, ty] = this.getInitialTranslation();\n this.translate(tx, ty);\n (0, _tools.bindEvents)(this, this.div, [\"dragstart\", \"pointerdown\"]);\n return this.div;\n }\n pointerdown(event) {\n const {\n isMac\n } = _util.FeatureTest.platform;\n if (event.button !== 0 || event.ctrlKey && isMac) {\n event.preventDefault();\n return;\n }\n if (event.ctrlKey && !isMac || event.shiftKey || event.metaKey && isMac) {\n this.parent.toggleSelected(this);\n } else {\n this.parent.setSelected(this);\n }\n this.#hasBeenSelected = true;\n }\n getRect(tx, ty) {\n const scale = this.parentScale;\n const [pageWidth, pageHeight] = this.pageDimensions;\n const [pageX, pageY] = this.pageTranslation;\n const shiftX = tx / scale;\n const shiftY = ty / scale;\n const x = this.x * pageWidth;\n const y = this.y * pageHeight;\n const width = this.width * pageWidth;\n const height = this.height * pageHeight;\n switch (this.rotation) {\n case 0:\n return [x + shiftX + pageX, pageHeight - y - shiftY - height + pageY, x + shiftX + width + pageX, pageHeight - y - shiftY + pageY];\n case 90:\n return [x + shiftY + pageX, pageHeight - y + shiftX + pageY, x + shiftY + height + pageX, pageHeight - y + shiftX + width + pageY];\n case 180:\n return [x - shiftX - width + pageX, pageHeight - y + shiftY + pageY, x - shiftX + pageX, pageHeight - y + shiftY + height + pageY];\n case 270:\n return [x - shiftY - height + pageX, pageHeight - y - shiftX - width + pageY, x - shiftY + pageX, pageHeight - y - shiftX + pageY];\n default:\n throw new Error(\"Invalid rotation\");\n }\n }\n getRectInCurrentCoords(rect, pageHeight) {\n const [x1, y1, x2, y2] = rect;\n const width = x2 - x1;\n const height = y2 - y1;\n switch (this.rotation) {\n case 0:\n return [x1, pageHeight - y2, width, height];\n case 90:\n return [x1, pageHeight - y1, height, width];\n case 180:\n return [x2, pageHeight - y1, width, height];\n case 270:\n return [x2, pageHeight - y2, height, width];\n default:\n throw new Error(\"Invalid rotation\");\n }\n }\n onceAdded() {}\n isEmpty() {\n return false;\n }\n enableEditMode() {\n this.#isInEditMode = true;\n }\n disableEditMode() {\n this.#isInEditMode = false;\n }\n isInEditMode() {\n return this.#isInEditMode;\n }\n shouldGetKeyboardEvents() {\n return false;\n }\n needsToBeRebuilt() {\n return this.div && !this.isAttachedToDOM;\n }\n rebuild() {\n this.div?.addEventListener(\"focusin\", this.#boundFocusin);\n }\n serialize() {\n (0, _util.unreachable)(\"An editor must be serializable\");\n }\n static deserialize(data, parent, uiManager) {\n const editor = new this.prototype.constructor({\n parent,\n id: parent.getNextId(),\n uiManager\n });\n editor.rotation = data.rotation;\n const [pageWidth, pageHeight] = editor.pageDimensions;\n const [x, y, width, height] = editor.getRectInCurrentCoords(data.rect, pageHeight);\n editor.x = x / pageWidth;\n editor.y = y / pageHeight;\n editor.width = width / pageWidth;\n editor.height = height / pageHeight;\n return editor;\n }\n remove() {\n this.div.removeEventListener(\"focusin\", this.#boundFocusin);\n this.div.removeEventListener(\"focusout\", this.#boundFocusout);\n if (!this.isEmpty()) {\n this.commit();\n }\n this.parent.remove(this);\n }\n select() {\n this.div?.classList.add(\"selectedEditor\");\n }\n unselect() {\n this.div?.classList.remove(\"selectedEditor\");\n }\n updateParams(type, value) {}\n disableEditing() {}\n enableEditing() {}\n get propertiesToUpdate() {\n return {};\n }\n get contentDiv() {\n return this.div;\n }\n get isEditing() {\n return this.#isEditing;\n }\n set isEditing(value) {\n this.#isEditing = value;\n if (value) {\n this.parent.setSelected(this);\n this.parent.setActiveEditor(this);\n } else {\n this.parent.setActiveEditor(null);\n }\n }\n}\nexports.AnnotationEditor = AnnotationEditor;\n\n/***/ }),\n/* 5 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.KeyboardManager = exports.CommandManager = exports.ColorManager = exports.AnnotationEditorUIManager = void 0;\nexports.bindEvents = bindEvents;\nexports.opacityToHex = opacityToHex;\nvar _util = __w_pdfjs_require__(1);\nvar _display_utils = __w_pdfjs_require__(6);\nfunction bindEvents(obj, element, names) {\n for (const name of names) {\n element.addEventListener(name, obj[name].bind(obj));\n }\n}\nfunction opacityToHex(opacity) {\n return Math.round(Math.min(255, Math.max(1, 255 * opacity))).toString(16).padStart(2, \"0\");\n}\nclass IdManager {\n #id = 0;\n getId() {\n return `${_util.AnnotationEditorPrefix}${this.#id++}`;\n }\n}\nclass CommandManager {\n #commands = [];\n #locked = false;\n #maxSize;\n #position = -1;\n constructor(maxSize = 128) {\n this.#maxSize = maxSize;\n }\n add({\n cmd,\n undo,\n mustExec,\n type = NaN,\n overwriteIfSameType = false,\n keepUndo = false\n }) {\n if (mustExec) {\n cmd();\n }\n if (this.#locked) {\n return;\n }\n const save = {\n cmd,\n undo,\n type\n };\n if (this.#position === -1) {\n if (this.#commands.length > 0) {\n this.#commands.length = 0;\n }\n this.#position = 0;\n this.#commands.push(save);\n return;\n }\n if (overwriteIfSameType && this.#commands[this.#position].type === type) {\n if (keepUndo) {\n save.undo = this.#commands[this.#position].undo;\n }\n this.#commands[this.#position] = save;\n return;\n }\n const next = this.#position + 1;\n if (next === this.#maxSize) {\n this.#commands.splice(0, 1);\n } else {\n this.#position = next;\n if (next < this.#commands.length) {\n this.#commands.splice(next);\n }\n }\n this.#commands.push(save);\n }\n undo() {\n if (this.#position === -1) {\n return;\n }\n this.#locked = true;\n this.#commands[this.#position].undo();\n this.#locked = false;\n this.#position -= 1;\n }\n redo() {\n if (this.#position < this.#commands.length - 1) {\n this.#position += 1;\n this.#locked = true;\n this.#commands[this.#position].cmd();\n this.#locked = false;\n }\n }\n hasSomethingToUndo() {\n return this.#position !== -1;\n }\n hasSomethingToRedo() {\n return this.#position < this.#commands.length - 1;\n }\n destroy() {\n this.#commands = null;\n }\n}\nexports.CommandManager = CommandManager;\nclass KeyboardManager {\n constructor(callbacks) {\n this.buffer = [];\n this.callbacks = new Map();\n this.allKeys = new Set();\n const {\n isMac\n } = _util.FeatureTest.platform;\n for (const [keys, callback] of callbacks) {\n for (const key of keys) {\n const isMacKey = key.startsWith(\"mac+\");\n if (isMac && isMacKey) {\n this.callbacks.set(key.slice(4), callback);\n this.allKeys.add(key.split(\"+\").at(-1));\n } else if (!isMac && !isMacKey) {\n this.callbacks.set(key, callback);\n this.allKeys.add(key.split(\"+\").at(-1));\n }\n }\n }\n }\n #serialize(event) {\n if (event.altKey) {\n this.buffer.push(\"alt\");\n }\n if (event.ctrlKey) {\n this.buffer.push(\"ctrl\");\n }\n if (event.metaKey) {\n this.buffer.push(\"meta\");\n }\n if (event.shiftKey) {\n this.buffer.push(\"shift\");\n }\n this.buffer.push(event.key);\n const str = this.buffer.join(\"+\");\n this.buffer.length = 0;\n return str;\n }\n exec(self, event) {\n if (!this.allKeys.has(event.key)) {\n return;\n }\n const callback = this.callbacks.get(this.#serialize(event));\n if (!callback) {\n return;\n }\n callback.bind(self)();\n event.stopPropagation();\n event.preventDefault();\n }\n}\nexports.KeyboardManager = KeyboardManager;\nclass ColorManager {\n static _colorsMapping = new Map([[\"CanvasText\", [0, 0, 0]], [\"Canvas\", [255, 255, 255]]]);\n get _colors() {\n const colors = new Map([[\"CanvasText\", null], [\"Canvas\", null]]);\n (0, _display_utils.getColorValues)(colors);\n return (0, _util.shadow)(this, \"_colors\", colors);\n }\n convert(color) {\n const rgb = (0, _display_utils.getRGB)(color);\n if (!window.matchMedia(\"(forced-colors: active)\").matches) {\n return rgb;\n }\n for (const [name, RGB] of this._colors) {\n if (RGB.every((x, i) => x === rgb[i])) {\n return ColorManager._colorsMapping.get(name);\n }\n }\n return rgb;\n }\n getHexCode(name) {\n const rgb = this._colors.get(name);\n if (!rgb) {\n return name;\n }\n return _util.Util.makeHexColor(...rgb);\n }\n}\nexports.ColorManager = ColorManager;\nclass AnnotationEditorUIManager {\n #activeEditor = null;\n #allEditors = new Map();\n #allLayers = new Map();\n #annotationStorage = null;\n #commandManager = new CommandManager();\n #currentPageIndex = 0;\n #editorTypes = null;\n #editorsToRescale = new Set();\n #eventBus = null;\n #idManager = new IdManager();\n #isEnabled = false;\n #mode = _util.AnnotationEditorType.NONE;\n #selectedEditors = new Set();\n #boundCopy = this.copy.bind(this);\n #boundCut = this.cut.bind(this);\n #boundPaste = this.paste.bind(this);\n #boundKeydown = this.keydown.bind(this);\n #boundOnEditingAction = this.onEditingAction.bind(this);\n #boundOnPageChanging = this.onPageChanging.bind(this);\n #boundOnScaleChanging = this.onScaleChanging.bind(this);\n #boundOnRotationChanging = this.onRotationChanging.bind(this);\n #previousStates = {\n isEditing: false,\n isEmpty: true,\n hasSomethingToUndo: false,\n hasSomethingToRedo: false,\n hasSelectedEditor: false\n };\n #container = null;\n static _keyboardManager = new KeyboardManager([[[\"ctrl+a\", \"mac+meta+a\"], AnnotationEditorUIManager.prototype.selectAll], [[\"ctrl+z\", \"mac+meta+z\"], AnnotationEditorUIManager.prototype.undo], [[\"ctrl+y\", \"ctrl+shift+Z\", \"mac+meta+shift+Z\"], AnnotationEditorUIManager.prototype.redo], [[\"Backspace\", \"alt+Backspace\", \"ctrl+Backspace\", \"shift+Backspace\", \"mac+Backspace\", \"mac+alt+Backspace\", \"mac+ctrl+Backspace\", \"Delete\", \"ctrl+Delete\", \"shift+Delete\"], AnnotationEditorUIManager.prototype.delete], [[\"Escape\", \"mac+Escape\"], AnnotationEditorUIManager.prototype.unselectAll]]);\n constructor(container, eventBus, annotationStorage) {\n this.#container = container;\n this.#eventBus = eventBus;\n this.#eventBus._on(\"editingaction\", this.#boundOnEditingAction);\n this.#eventBus._on(\"pagechanging\", this.#boundOnPageChanging);\n this.#eventBus._on(\"scalechanging\", this.#boundOnScaleChanging);\n this.#eventBus._on(\"rotationchanging\", this.#boundOnRotationChanging);\n this.#annotationStorage = annotationStorage;\n this.viewParameters = {\n realScale: _display_utils.PixelsPerInch.PDF_TO_CSS_UNITS,\n rotation: 0\n };\n }\n destroy() {\n this.#removeKeyboardManager();\n this.#eventBus._off(\"editingaction\", this.#boundOnEditingAction);\n this.#eventBus._off(\"pagechanging\", this.#boundOnPageChanging);\n this.#eventBus._off(\"scalechanging\", this.#boundOnScaleChanging);\n this.#eventBus._off(\"rotationchanging\", this.#boundOnRotationChanging);\n for (const layer of this.#allLayers.values()) {\n layer.destroy();\n }\n this.#allLayers.clear();\n this.#allEditors.clear();\n this.#editorsToRescale.clear();\n this.#activeEditor = null;\n this.#selectedEditors.clear();\n this.#commandManager.destroy();\n }\n onPageChanging({\n pageNumber\n }) {\n this.#currentPageIndex = pageNumber - 1;\n }\n focusMainContainer() {\n this.#container.focus();\n }\n addShouldRescale(editor) {\n this.#editorsToRescale.add(editor);\n }\n removeShouldRescale(editor) {\n this.#editorsToRescale.delete(editor);\n }\n onScaleChanging({\n scale\n }) {\n this.commitOrRemove();\n this.viewParameters.realScale = scale * _display_utils.PixelsPerInch.PDF_TO_CSS_UNITS;\n for (const editor of this.#editorsToRescale) {\n editor.onScaleChanging();\n }\n }\n onRotationChanging({\n pagesRotation\n }) {\n this.commitOrRemove();\n this.viewParameters.rotation = pagesRotation;\n }\n addToAnnotationStorage(editor) {\n if (!editor.isEmpty() && this.#annotationStorage && !this.#annotationStorage.has(editor.id)) {\n this.#annotationStorage.setValue(editor.id, editor);\n }\n }\n #addKeyboardManager() {\n this.#container.addEventListener(\"keydown\", this.#boundKeydown);\n }\n #removeKeyboardManager() {\n this.#container.removeEventListener(\"keydown\", this.#boundKeydown);\n }\n #addCopyPasteListeners() {\n document.addEventListener(\"copy\", this.#boundCopy);\n document.addEventListener(\"cut\", this.#boundCut);\n document.addEventListener(\"paste\", this.#boundPaste);\n }\n #removeCopyPasteListeners() {\n document.removeEventListener(\"copy\", this.#boundCopy);\n document.removeEventListener(\"cut\", this.#boundCut);\n document.removeEventListener(\"paste\", this.#boundPaste);\n }\n copy(event) {\n event.preventDefault();\n if (this.#activeEditor) {\n this.#activeEditor.commitOrRemove();\n }\n if (!this.hasSelection) {\n return;\n }\n const editors = [];\n for (const editor of this.#selectedEditors) {\n if (!editor.isEmpty()) {\n editors.push(editor.serialize());\n }\n }\n if (editors.length === 0) {\n return;\n }\n event.clipboardData.setData(\"application/pdfjs\", JSON.stringify(editors));\n }\n cut(event) {\n this.copy(event);\n this.delete();\n }\n paste(event) {\n event.preventDefault();\n let data = event.clipboardData.getData(\"application/pdfjs\");\n if (!data) {\n return;\n }\n try {\n data = JSON.parse(data);\n } catch (ex) {\n (0, _util.warn)(`paste: \"${ex.message}\".`);\n return;\n }\n if (!Array.isArray(data)) {\n return;\n }\n this.unselectAll();\n const layer = this.#allLayers.get(this.#currentPageIndex);\n try {\n const newEditors = [];\n for (const editor of data) {\n const deserializedEditor = layer.deserialize(editor);\n if (!deserializedEditor) {\n return;\n }\n newEditors.push(deserializedEditor);\n }\n const cmd = () => {\n for (const editor of newEditors) {\n this.#addEditorToLayer(editor);\n }\n this.#selectEditors(newEditors);\n };\n const undo = () => {\n for (const editor of newEditors) {\n editor.remove();\n }\n };\n this.addCommands({\n cmd,\n undo,\n mustExec: true\n });\n } catch (ex) {\n (0, _util.warn)(`paste: \"${ex.message}\".`);\n }\n }\n keydown(event) {\n if (!this.getActive()?.shouldGetKeyboardEvents()) {\n AnnotationEditorUIManager._keyboardManager.exec(this, event);\n }\n }\n onEditingAction(details) {\n if ([\"undo\", \"redo\", \"delete\", \"selectAll\"].includes(details.name)) {\n this[details.name]();\n }\n }\n #dispatchUpdateStates(details) {\n const hasChanged = Object.entries(details).some(([key, value]) => this.#previousStates[key] !== value);\n if (hasChanged) {\n this.#eventBus.dispatch(\"annotationeditorstateschanged\", {\n source: this,\n details: Object.assign(this.#previousStates, details)\n });\n }\n }\n #dispatchUpdateUI(details) {\n this.#eventBus.dispatch(\"annotationeditorparamschanged\", {\n source: this,\n details\n });\n }\n setEditingState(isEditing) {\n if (isEditing) {\n this.#addKeyboardManager();\n this.#addCopyPasteListeners();\n this.#dispatchUpdateStates({\n isEditing: this.#mode !== _util.AnnotationEditorType.NONE,\n isEmpty: this.#isEmpty(),\n hasSomethingToUndo: this.#commandManager.hasSomethingToUndo(),\n hasSomethingToRedo: this.#commandManager.hasSomethingToRedo(),\n hasSelectedEditor: false\n });\n } else {\n this.#removeKeyboardManager();\n this.#removeCopyPasteListeners();\n this.#dispatchUpdateStates({\n isEditing: false\n });\n }\n }\n registerEditorTypes(types) {\n if (this.#editorTypes) {\n return;\n }\n this.#editorTypes = types;\n for (const editorType of this.#editorTypes) {\n this.#dispatchUpdateUI(editorType.defaultPropertiesToUpdate);\n }\n }\n getId() {\n return this.#idManager.getId();\n }\n get currentLayer() {\n return this.#allLayers.get(this.#currentPageIndex);\n }\n get currentPageIndex() {\n return this.#currentPageIndex;\n }\n addLayer(layer) {\n this.#allLayers.set(layer.pageIndex, layer);\n if (this.#isEnabled) {\n layer.enable();\n } else {\n layer.disable();\n }\n }\n removeLayer(layer) {\n this.#allLayers.delete(layer.pageIndex);\n }\n updateMode(mode) {\n this.#mode = mode;\n if (mode === _util.AnnotationEditorType.NONE) {\n this.setEditingState(false);\n this.#disableAll();\n } else {\n this.setEditingState(true);\n this.#enableAll();\n for (const layer of this.#allLayers.values()) {\n layer.updateMode(mode);\n }\n }\n }\n updateToolbar(mode) {\n if (mode === this.#mode) {\n return;\n }\n this.#eventBus.dispatch(\"switchannotationeditormode\", {\n source: this,\n mode\n });\n }\n updateParams(type, value) {\n if (!this.#editorTypes) {\n return;\n }\n for (const editor of this.#selectedEditors) {\n editor.updateParams(type, value);\n }\n for (const editorType of this.#editorTypes) {\n editorType.updateDefaultParams(type, value);\n }\n }\n #enableAll() {\n if (!this.#isEnabled) {\n this.#isEnabled = true;\n for (const layer of this.#allLayers.values()) {\n layer.enable();\n }\n }\n }\n #disableAll() {\n this.unselectAll();\n if (this.#isEnabled) {\n this.#isEnabled = false;\n for (const layer of this.#allLayers.values()) {\n layer.disable();\n }\n }\n }\n getEditors(pageIndex) {\n const editors = [];\n for (const editor of this.#allEditors.values()) {\n if (editor.pageIndex === pageIndex) {\n editors.push(editor);\n }\n }\n return editors;\n }\n getEditor(id) {\n return this.#allEditors.get(id);\n }\n addEditor(editor) {\n this.#allEditors.set(editor.id, editor);\n }\n removeEditor(editor) {\n this.#allEditors.delete(editor.id);\n this.unselect(editor);\n this.#annotationStorage?.remove(editor.id);\n }\n #addEditorToLayer(editor) {\n const layer = this.#allLayers.get(editor.pageIndex);\n if (layer) {\n layer.addOrRebuild(editor);\n } else {\n this.addEditor(editor);\n }\n }\n setActiveEditor(editor) {\n if (this.#activeEditor === editor) {\n return;\n }\n this.#activeEditor = editor;\n if (editor) {\n this.#dispatchUpdateUI(editor.propertiesToUpdate);\n }\n }\n toggleSelected(editor) {\n if (this.#selectedEditors.has(editor)) {\n this.#selectedEditors.delete(editor);\n editor.unselect();\n this.#dispatchUpdateStates({\n hasSelectedEditor: this.hasSelection\n });\n return;\n }\n this.#selectedEditors.add(editor);\n editor.select();\n this.#dispatchUpdateUI(editor.propertiesToUpdate);\n this.#dispatchUpdateStates({\n hasSelectedEditor: true\n });\n }\n setSelected(editor) {\n for (const ed of this.#selectedEditors) {\n if (ed !== editor) {\n ed.unselect();\n }\n }\n this.#selectedEditors.clear();\n this.#selectedEditors.add(editor);\n editor.select();\n this.#dispatchUpdateUI(editor.propertiesToUpdate);\n this.#dispatchUpdateStates({\n hasSelectedEditor: true\n });\n }\n isSelected(editor) {\n return this.#selectedEditors.has(editor);\n }\n unselect(editor) {\n editor.unselect();\n this.#selectedEditors.delete(editor);\n this.#dispatchUpdateStates({\n hasSelectedEditor: this.hasSelection\n });\n }\n get hasSelection() {\n return this.#selectedEditors.size !== 0;\n }\n undo() {\n this.#commandManager.undo();\n this.#dispatchUpdateStates({\n hasSomethingToUndo: this.#commandManager.hasSomethingToUndo(),\n hasSomethingToRedo: true,\n isEmpty: this.#isEmpty()\n });\n }\n redo() {\n this.#commandManager.redo();\n this.#dispatchUpdateStates({\n hasSomethingToUndo: true,\n hasSomethingToRedo: this.#commandManager.hasSomethingToRedo(),\n isEmpty: this.#isEmpty()\n });\n }\n addCommands(params) {\n this.#commandManager.add(params);\n this.#dispatchUpdateStates({\n hasSomethingToUndo: true,\n hasSomethingToRedo: false,\n isEmpty: this.#isEmpty()\n });\n }\n #isEmpty() {\n if (this.#allEditors.size === 0) {\n return true;\n }\n if (this.#allEditors.size === 1) {\n for (const editor of this.#allEditors.values()) {\n return editor.isEmpty();\n }\n }\n return false;\n }\n delete() {\n this.commitOrRemove();\n if (!this.hasSelection) {\n return;\n }\n const editors = [...this.#selectedEditors];\n const cmd = () => {\n for (const editor of editors) {\n editor.remove();\n }\n };\n const undo = () => {\n for (const editor of editors) {\n this.#addEditorToLayer(editor);\n }\n };\n this.addCommands({\n cmd,\n undo,\n mustExec: true\n });\n }\n commitOrRemove() {\n this.#activeEditor?.commitOrRemove();\n }\n #selectEditors(editors) {\n this.#selectedEditors.clear();\n for (const editor of editors) {\n if (editor.isEmpty()) {\n continue;\n }\n this.#selectedEditors.add(editor);\n editor.select();\n }\n this.#dispatchUpdateStates({\n hasSelectedEditor: true\n });\n }\n selectAll() {\n for (const editor of this.#selectedEditors) {\n editor.commit();\n }\n this.#selectEditors(this.#allEditors.values());\n }\n unselectAll() {\n if (this.#activeEditor) {\n this.#activeEditor.commitOrRemove();\n return;\n }\n if (this.#selectedEditors.size === 0) {\n return;\n }\n for (const editor of this.#selectedEditors) {\n editor.unselect();\n }\n this.#selectedEditors.clear();\n this.#dispatchUpdateStates({\n hasSelectedEditor: false\n });\n }\n isActive(editor) {\n return this.#activeEditor === editor;\n }\n getActive() {\n return this.#activeEditor;\n }\n getMode() {\n return this.#mode;\n }\n}\nexports.AnnotationEditorUIManager = AnnotationEditorUIManager;\n\n/***/ }),\n/* 6 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.StatTimer = exports.RenderingCancelledException = exports.PixelsPerInch = exports.PageViewport = exports.PDFDateString = exports.DOMStandardFontDataFactory = exports.DOMSVGFactory = exports.DOMFilterFactory = exports.DOMCanvasFactory = exports.DOMCMapReaderFactory = exports.AnnotationPrefix = void 0;\nexports.deprecated = deprecated;\nexports.getColorValues = getColorValues;\nexports.getCurrentTransform = getCurrentTransform;\nexports.getCurrentTransformInverse = getCurrentTransformInverse;\nexports.getFilenameFromUrl = getFilenameFromUrl;\nexports.getPdfFilenameFromUrl = getPdfFilenameFromUrl;\nexports.getRGB = getRGB;\nexports.getXfaPageViewport = getXfaPageViewport;\nexports.isDataScheme = isDataScheme;\nexports.isPdfFile = isPdfFile;\nexports.isValidFetchUrl = isValidFetchUrl;\nexports.loadScript = loadScript;\nexports.setLayerDimensions = setLayerDimensions;\nvar _base_factory = __w_pdfjs_require__(7);\nvar _util = __w_pdfjs_require__(1);\nconst SVG_NS = \"http://www.w3.org/2000/svg\";\nconst AnnotationPrefix = \"pdfjs_internal_id_\";\nexports.AnnotationPrefix = AnnotationPrefix;\nclass PixelsPerInch {\n static CSS = 96.0;\n static PDF = 72.0;\n static PDF_TO_CSS_UNITS = this.CSS / this.PDF;\n}\nexports.PixelsPerInch = PixelsPerInch;\nclass DOMFilterFactory extends _base_factory.BaseFilterFactory {\n #_cache;\n #_defs;\n #docId;\n #document;\n #hcmFilter;\n #hcmKey;\n #hcmUrl;\n #id = 0;\n constructor({\n docId,\n ownerDocument = globalThis.document\n } = {}) {\n super();\n this.#docId = docId;\n this.#document = ownerDocument;\n }\n get #cache() {\n return this.#_cache ||= new Map();\n }\n get #defs() {\n if (!this.#_defs) {\n const div = this.#document.createElement(\"div\");\n const {\n style\n } = div;\n style.visibility = \"hidden\";\n style.contain = \"strict\";\n style.width = style.height = 0;\n style.position = \"absolute\";\n style.top = style.left = 0;\n style.zIndex = -1;\n const svg = this.#document.createElementNS(SVG_NS, \"svg\");\n svg.setAttribute(\"width\", 0);\n svg.setAttribute(\"height\", 0);\n this.#_defs = this.#document.createElementNS(SVG_NS, \"defs\");\n div.append(svg);\n svg.append(this.#_defs);\n this.#document.body.append(div);\n }\n return this.#_defs;\n }\n #appendFeFunc(feComponentTransfer, func, table) {\n const feFunc = this.#document.createElementNS(SVG_NS, func);\n feFunc.setAttribute(\"type\", \"discrete\");\n feFunc.setAttribute(\"tableValues\", table);\n feComponentTransfer.append(feFunc);\n }\n addFilter(maps) {\n if (!maps) {\n return \"none\";\n }\n let value = this.#cache.get(maps);\n if (value) {\n return value;\n }\n let tableR, tableG, tableB, key;\n if (maps.length === 1) {\n const mapR = maps[0];\n const buffer = new Array(256);\n for (let i = 0; i < 256; i++) {\n buffer[i] = mapR[i] / 255;\n }\n key = tableR = tableG = tableB = buffer.join(\",\");\n } else {\n const [mapR, mapG, mapB] = maps;\n const bufferR = new Array(256);\n const bufferG = new Array(256);\n const bufferB = new Array(256);\n for (let i = 0; i < 256; i++) {\n bufferR[i] = mapR[i] / 255;\n bufferG[i] = mapG[i] / 255;\n bufferB[i] = mapB[i] / 255;\n }\n tableR = bufferR.join(\",\");\n tableG = bufferG.join(\",\");\n tableB = bufferB.join(\",\");\n key = `${tableR}${tableG}${tableB}`;\n }\n value = this.#cache.get(key);\n if (value) {\n this.#cache.set(maps, value);\n return value;\n }\n const id = `g_${this.#docId}_transfer_map_${this.#id++}`;\n const url = `url(#${id})`;\n this.#cache.set(maps, url);\n this.#cache.set(key, url);\n const filter = this.#document.createElementNS(SVG_NS, \"filter\", SVG_NS);\n filter.setAttribute(\"id\", id);\n filter.setAttribute(\"color-interpolation-filters\", \"sRGB\");\n const feComponentTransfer = this.#document.createElementNS(SVG_NS, \"feComponentTransfer\");\n filter.append(feComponentTransfer);\n this.#appendFeFunc(feComponentTransfer, \"feFuncR\", tableR);\n this.#appendFeFunc(feComponentTransfer, \"feFuncG\", tableG);\n this.#appendFeFunc(feComponentTransfer, \"feFuncB\", tableB);\n this.#defs.append(filter);\n return url;\n }\n addHCMFilter(fgColor, bgColor) {\n const key = `${fgColor}-${bgColor}`;\n if (this.#hcmKey === key) {\n return this.#hcmUrl;\n }\n this.#hcmKey = key;\n this.#hcmUrl = \"none\";\n this.#hcmFilter?.remove();\n if (!fgColor || !bgColor) {\n return this.#hcmUrl;\n }\n this.#defs.style.color = fgColor;\n fgColor = getComputedStyle(this.#defs).getPropertyValue(\"color\");\n const fgRGB = getRGB(fgColor);\n fgColor = _util.Util.makeHexColor(...fgRGB);\n this.#defs.style.color = bgColor;\n bgColor = getComputedStyle(this.#defs).getPropertyValue(\"color\");\n const bgRGB = getRGB(bgColor);\n bgColor = _util.Util.makeHexColor(...bgRGB);\n this.#defs.style.color = \"\";\n if (fgColor === \"#000000\" && bgColor === \"#ffffff\" || fgColor === bgColor) {\n return this.#hcmUrl;\n }\n const map = new Array(256);\n for (let i = 0; i <= 255; i++) {\n const x = i / 255;\n map[i] = x <= 0.03928 ? x / 12.92 : ((x + 0.055) / 1.055) ** 2.4;\n }\n const table = map.join(\",\");\n const id = `g_${this.#docId}_hcm_filter`;\n const filter = this.#hcmFilter = this.#document.createElementNS(SVG_NS, \"filter\", SVG_NS);\n filter.setAttribute(\"id\", id);\n filter.setAttribute(\"color-interpolation-filters\", \"sRGB\");\n let feComponentTransfer = this.#document.createElementNS(SVG_NS, \"feComponentTransfer\");\n filter.append(feComponentTransfer);\n this.#appendFeFunc(feComponentTransfer, \"feFuncR\", table);\n this.#appendFeFunc(feComponentTransfer, \"feFuncG\", table);\n this.#appendFeFunc(feComponentTransfer, \"feFuncB\", table);\n const feColorMatrix = this.#document.createElementNS(SVG_NS, \"feColorMatrix\");\n feColorMatrix.setAttribute(\"type\", \"matrix\");\n feColorMatrix.setAttribute(\"values\", \"0.2126 0.7152 0.0722 0 0 0.2126 0.7152 0.0722 0 0 0.2126 0.7152 0.0722 0 0 0 0 0 1 0\");\n filter.append(feColorMatrix);\n feComponentTransfer = this.#document.createElementNS(SVG_NS, \"feComponentTransfer\");\n filter.append(feComponentTransfer);\n const getSteps = (c, n) => {\n const start = fgRGB[c] / 255;\n const end = bgRGB[c] / 255;\n const arr = new Array(n + 1);\n for (let i = 0; i <= n; i++) {\n arr[i] = start + i / n * (end - start);\n }\n return arr.join(\",\");\n };\n this.#appendFeFunc(feComponentTransfer, \"feFuncR\", getSteps(0, 5));\n this.#appendFeFunc(feComponentTransfer, \"feFuncG\", getSteps(1, 5));\n this.#appendFeFunc(feComponentTransfer, \"feFuncB\", getSteps(2, 5));\n this.#defs.append(filter);\n this.#hcmUrl = `url(#${id})`;\n return this.#hcmUrl;\n }\n destroy(keepHCM = false) {\n if (keepHCM && this.#hcmUrl) {\n return;\n }\n if (this.#_defs) {\n this.#_defs.parentNode.parentNode.remove();\n this.#_defs = null;\n }\n if (this.#_cache) {\n this.#_cache.clear();\n this.#_cache = null;\n }\n this.#id = 0;\n }\n}\nexports.DOMFilterFactory = DOMFilterFactory;\nclass DOMCanvasFactory extends _base_factory.BaseCanvasFactory {\n constructor({\n ownerDocument = globalThis.document\n } = {}) {\n super();\n this._document = ownerDocument;\n }\n _createCanvas(width, height) {\n const canvas = this._document.createElement(\"canvas\");\n canvas.width = width;\n canvas.height = height;\n return canvas;\n }\n}\nexports.DOMCanvasFactory = DOMCanvasFactory;\nasync function fetchData(url, asTypedArray = false) {\n if (isValidFetchUrl(url, document.baseURI)) {\n const response = await fetch(url);\n if (!response.ok) {\n throw new Error(response.statusText);\n }\n return asTypedArray ? new Uint8Array(await response.arrayBuffer()) : (0, _util.stringToBytes)(await response.text());\n }\n return new Promise((resolve, reject) => {\n const request = new XMLHttpRequest();\n request.open(\"GET\", url, true);\n if (asTypedArray) {\n request.responseType = \"arraybuffer\";\n }\n request.onreadystatechange = () => {\n if (request.readyState !== XMLHttpRequest.DONE) {\n return;\n }\n if (request.status === 200 || request.status === 0) {\n let data;\n if (asTypedArray && request.response) {\n data = new Uint8Array(request.response);\n } else if (!asTypedArray && request.responseText) {\n data = (0, _util.stringToBytes)(request.responseText);\n }\n if (data) {\n resolve(data);\n return;\n }\n }\n reject(new Error(request.statusText));\n };\n request.send(null);\n });\n}\nclass DOMCMapReaderFactory extends _base_factory.BaseCMapReaderFactory {\n _fetchData(url, compressionType) {\n return fetchData(url, this.isCompressed).then(data => {\n return {\n cMapData: data,\n compressionType\n };\n });\n }\n}\nexports.DOMCMapReaderFactory = DOMCMapReaderFactory;\nclass DOMStandardFontDataFactory extends _base_factory.BaseStandardFontDataFactory {\n _fetchData(url) {\n return fetchData(url, true);\n }\n}\nexports.DOMStandardFontDataFactory = DOMStandardFontDataFactory;\nclass DOMSVGFactory extends _base_factory.BaseSVGFactory {\n _createSVG(type) {\n return document.createElementNS(SVG_NS, type);\n }\n}\nexports.DOMSVGFactory = DOMSVGFactory;\nclass PageViewport {\n constructor({\n viewBox,\n scale,\n rotation,\n offsetX = 0,\n offsetY = 0,\n dontFlip = false\n }) {\n this.viewBox = viewBox;\n this.scale = scale;\n this.rotation = rotation;\n this.offsetX = offsetX;\n this.offsetY = offsetY;\n const centerX = (viewBox[2] + viewBox[0]) / 2;\n const centerY = (viewBox[3] + viewBox[1]) / 2;\n let rotateA, rotateB, rotateC, rotateD;\n rotation %= 360;\n if (rotation < 0) {\n rotation += 360;\n }\n switch (rotation) {\n case 180:\n rotateA = -1;\n rotateB = 0;\n rotateC = 0;\n rotateD = 1;\n break;\n case 90:\n rotateA = 0;\n rotateB = 1;\n rotateC = 1;\n rotateD = 0;\n break;\n case 270:\n rotateA = 0;\n rotateB = -1;\n rotateC = -1;\n rotateD = 0;\n break;\n case 0:\n rotateA = 1;\n rotateB = 0;\n rotateC = 0;\n rotateD = -1;\n break;\n default:\n throw new Error(\"PageViewport: Invalid rotation, must be a multiple of 90 degrees.\");\n }\n if (dontFlip) {\n rotateC = -rotateC;\n rotateD = -rotateD;\n }\n let offsetCanvasX, offsetCanvasY;\n let width, height;\n if (rotateA === 0) {\n offsetCanvasX = Math.abs(centerY - viewBox[1]) * scale + offsetX;\n offsetCanvasY = Math.abs(centerX - viewBox[0]) * scale + offsetY;\n width = (viewBox[3] - viewBox[1]) * scale;\n height = (viewBox[2] - viewBox[0]) * scale;\n } else {\n offsetCanvasX = Math.abs(centerX - viewBox[0]) * scale + offsetX;\n offsetCanvasY = Math.abs(centerY - viewBox[1]) * scale + offsetY;\n width = (viewBox[2] - viewBox[0]) * scale;\n height = (viewBox[3] - viewBox[1]) * scale;\n }\n this.transform = [rotateA * scale, rotateB * scale, rotateC * scale, rotateD * scale, offsetCanvasX - rotateA * scale * centerX - rotateC * scale * centerY, offsetCanvasY - rotateB * scale * centerX - rotateD * scale * centerY];\n this.width = width;\n this.height = height;\n }\n get rawDims() {\n const {\n viewBox\n } = this;\n return (0, _util.shadow)(this, \"rawDims\", {\n pageWidth: viewBox[2] - viewBox[0],\n pageHeight: viewBox[3] - viewBox[1],\n pageX: viewBox[0],\n pageY: viewBox[1]\n });\n }\n clone({\n scale = this.scale,\n rotation = this.rotation,\n offsetX = this.offsetX,\n offsetY = this.offsetY,\n dontFlip = false\n } = {}) {\n return new PageViewport({\n viewBox: this.viewBox.slice(),\n scale,\n rotation,\n offsetX,\n offsetY,\n dontFlip\n });\n }\n convertToViewportPoint(x, y) {\n return _util.Util.applyTransform([x, y], this.transform);\n }\n convertToViewportRectangle(rect) {\n const topLeft = _util.Util.applyTransform([rect[0], rect[1]], this.transform);\n const bottomRight = _util.Util.applyTransform([rect[2], rect[3]], this.transform);\n return [topLeft[0], topLeft[1], bottomRight[0], bottomRight[1]];\n }\n convertToPdfPoint(x, y) {\n return _util.Util.applyInverseTransform([x, y], this.transform);\n }\n}\nexports.PageViewport = PageViewport;\nclass RenderingCancelledException extends _util.BaseException {\n constructor(msg, type, extraDelay = 0) {\n super(msg, \"RenderingCancelledException\");\n this.type = type;\n this.extraDelay = extraDelay;\n }\n}\nexports.RenderingCancelledException = RenderingCancelledException;\nfunction isDataScheme(url) {\n const ii = url.length;\n let i = 0;\n while (i < ii && url[i].trim() === \"\") {\n i++;\n }\n return url.substring(i, i + 5).toLowerCase() === \"data:\";\n}\nfunction isPdfFile(filename) {\n return typeof filename === \"string\" && /\\.pdf$/i.test(filename);\n}\nfunction getFilenameFromUrl(url, onlyStripPath = false) {\n if (!onlyStripPath) {\n [url] = url.split(/[#?]/, 1);\n }\n return url.substring(url.lastIndexOf(\"/\") + 1);\n}\nfunction getPdfFilenameFromUrl(url, defaultFilename = \"document.pdf\") {\n if (typeof url !== \"string\") {\n return defaultFilename;\n }\n if (isDataScheme(url)) {\n (0, _util.warn)('getPdfFilenameFromUrl: ignore \"data:\"-URL for performance reasons.');\n return defaultFilename;\n }\n const reURI = /^(?:(?:[^:]+:)?\\/\\/[^/]+)?([^?#]*)(\\?[^#]*)?(#.*)?$/;\n const reFilename = /[^/?#=]+\\.pdf\\b(?!.*\\.pdf\\b)/i;\n const splitURI = reURI.exec(url);\n let suggestedFilename = reFilename.exec(splitURI[1]) || reFilename.exec(splitURI[2]) || reFilename.exec(splitURI[3]);\n if (suggestedFilename) {\n suggestedFilename = suggestedFilename[0];\n if (suggestedFilename.includes(\"%\")) {\n try {\n suggestedFilename = reFilename.exec(decodeURIComponent(suggestedFilename))[0];\n } catch (ex) {}\n }\n }\n return suggestedFilename || defaultFilename;\n}\nclass StatTimer {\n started = Object.create(null);\n times = [];\n time(name) {\n if (name in this.started) {\n (0, _util.warn)(`Timer is already running for ${name}`);\n }\n this.started[name] = Date.now();\n }\n timeEnd(name) {\n if (!(name in this.started)) {\n (0, _util.warn)(`Timer has not been started for ${name}`);\n }\n this.times.push({\n name,\n start: this.started[name],\n end: Date.now()\n });\n delete this.started[name];\n }\n toString() {\n const outBuf = [];\n let longest = 0;\n for (const {\n name\n } of this.times) {\n longest = Math.max(name.length, longest);\n }\n for (const {\n name,\n start,\n end\n } of this.times) {\n outBuf.push(`${name.padEnd(longest)} ${end - start}ms\\n`);\n }\n return outBuf.join(\"\");\n }\n}\nexports.StatTimer = StatTimer;\nfunction isValidFetchUrl(url, baseUrl) {\n try {\n const {\n protocol\n } = baseUrl ? new URL(url, baseUrl) : new URL(url);\n return protocol === \"http:\" || protocol === \"https:\";\n } catch (ex) {\n return false;\n }\n}\nfunction loadScript(src, removeScriptElement = false) {\n return new Promise((resolve, reject) => {\n const script = document.createElement(\"script\");\n script.src = src;\n script.onload = function (evt) {\n if (removeScriptElement) {\n script.remove();\n }\n resolve(evt);\n };\n script.onerror = function () {\n reject(new Error(`Cannot load script at: ${script.src}`));\n };\n (document.head || document.documentElement).append(script);\n });\n}\nfunction deprecated(details) {\n console.log(\"Deprecated API usage: \" + details);\n}\nlet pdfDateStringRegex;\nclass PDFDateString {\n static toDateObject(input) {\n if (!input || typeof input !== \"string\") {\n return null;\n }\n if (!pdfDateStringRegex) {\n pdfDateStringRegex = new RegExp(\"^D:\" + \"(\\\\d{4})\" + \"(\\\\d{2})?\" + \"(\\\\d{2})?\" + \"(\\\\d{2})?\" + \"(\\\\d{2})?\" + \"(\\\\d{2})?\" + \"([Z|+|-])?\" + \"(\\\\d{2})?\" + \"'?\" + \"(\\\\d{2})?\" + \"'?\");\n }\n const matches = pdfDateStringRegex.exec(input);\n if (!matches) {\n return null;\n }\n const year = parseInt(matches[1], 10);\n let month = parseInt(matches[2], 10);\n month = month >= 1 && month <= 12 ? month - 1 : 0;\n let day = parseInt(matches[3], 10);\n day = day >= 1 && day <= 31 ? day : 1;\n let hour = parseInt(matches[4], 10);\n hour = hour >= 0 && hour <= 23 ? hour : 0;\n let minute = parseInt(matches[5], 10);\n minute = minute >= 0 && minute <= 59 ? minute : 0;\n let second = parseInt(matches[6], 10);\n second = second >= 0 && second <= 59 ? second : 0;\n const universalTimeRelation = matches[7] || \"Z\";\n let offsetHour = parseInt(matches[8], 10);\n offsetHour = offsetHour >= 0 && offsetHour <= 23 ? offsetHour : 0;\n let offsetMinute = parseInt(matches[9], 10) || 0;\n offsetMinute = offsetMinute >= 0 && offsetMinute <= 59 ? offsetMinute : 0;\n if (universalTimeRelation === \"-\") {\n hour += offsetHour;\n minute += offsetMinute;\n } else if (universalTimeRelation === \"+\") {\n hour -= offsetHour;\n minute -= offsetMinute;\n }\n return new Date(Date.UTC(year, month, day, hour, minute, second));\n }\n}\nexports.PDFDateString = PDFDateString;\nfunction getXfaPageViewport(xfaPage, {\n scale = 1,\n rotation = 0\n}) {\n const {\n width,\n height\n } = xfaPage.attributes.style;\n const viewBox = [0, 0, parseInt(width), parseInt(height)];\n return new PageViewport({\n viewBox,\n scale,\n rotation\n });\n}\nfunction getRGB(color) {\n if (color.startsWith(\"#\")) {\n const colorRGB = parseInt(color.slice(1), 16);\n return [(colorRGB & 0xff0000) >> 16, (colorRGB & 0x00ff00) >> 8, colorRGB & 0x0000ff];\n }\n if (color.startsWith(\"rgb(\")) {\n return color.slice(4, -1).split(\",\").map(x => parseInt(x));\n }\n if (color.startsWith(\"rgba(\")) {\n return color.slice(5, -1).split(\",\").map(x => parseInt(x)).slice(0, 3);\n }\n (0, _util.warn)(`Not a valid color format: \"${color}\"`);\n return [0, 0, 0];\n}\nfunction getColorValues(colors) {\n const span = document.createElement(\"span\");\n span.style.visibility = \"hidden\";\n document.body.append(span);\n for (const name of colors.keys()) {\n span.style.color = name;\n const computedColor = window.getComputedStyle(span).color;\n colors.set(name, getRGB(computedColor));\n }\n span.remove();\n}\nfunction getCurrentTransform(ctx) {\n const {\n a,\n b,\n c,\n d,\n e,\n f\n } = ctx.getTransform();\n return [a, b, c, d, e, f];\n}\nfunction getCurrentTransformInverse(ctx) {\n const {\n a,\n b,\n c,\n d,\n e,\n f\n } = ctx.getTransform().invertSelf();\n return [a, b, c, d, e, f];\n}\nfunction setLayerDimensions(div, viewport, mustFlip = false, mustRotate = true) {\n if (viewport instanceof PageViewport) {\n const {\n pageWidth,\n pageHeight\n } = viewport.rawDims;\n const {\n style\n } = div;\n const widthStr = `calc(var(--scale-factor) * ${pageWidth}px)`;\n const heightStr = `calc(var(--scale-factor) * ${pageHeight}px)`;\n if (!mustFlip || viewport.rotation % 180 === 0) {\n style.width = widthStr;\n style.height = heightStr;\n } else {\n style.width = heightStr;\n style.height = widthStr;\n }\n }\n if (mustRotate) {\n div.setAttribute(\"data-main-rotation\", viewport.rotation);\n }\n}\n\n/***/ }),\n/* 7 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.BaseStandardFontDataFactory = exports.BaseSVGFactory = exports.BaseFilterFactory = exports.BaseCanvasFactory = exports.BaseCMapReaderFactory = void 0;\nvar _util = __w_pdfjs_require__(1);\nclass BaseFilterFactory {\n constructor() {\n if (this.constructor === BaseFilterFactory) {\n (0, _util.unreachable)(\"Cannot initialize BaseFilterFactory.\");\n }\n }\n addFilter(maps) {\n return \"none\";\n }\n addHCMFilter(fgColor, bgColor) {\n return \"none\";\n }\n destroy(keepHCM = false) {}\n}\nexports.BaseFilterFactory = BaseFilterFactory;\nclass BaseCanvasFactory {\n constructor() {\n if (this.constructor === BaseCanvasFactory) {\n (0, _util.unreachable)(\"Cannot initialize BaseCanvasFactory.\");\n }\n }\n create(width, height) {\n if (width <= 0 || height <= 0) {\n throw new Error(\"Invalid canvas size\");\n }\n const canvas = this._createCanvas(width, height);\n return {\n canvas,\n context: canvas.getContext(\"2d\")\n };\n }\n reset(canvasAndContext, width, height) {\n if (!canvasAndContext.canvas) {\n throw new Error(\"Canvas is not specified\");\n }\n if (width <= 0 || height <= 0) {\n throw new Error(\"Invalid canvas size\");\n }\n canvasAndContext.canvas.width = width;\n canvasAndContext.canvas.height = height;\n }\n destroy(canvasAndContext) {\n if (!canvasAndContext.canvas) {\n throw new Error(\"Canvas is not specified\");\n }\n canvasAndContext.canvas.width = 0;\n canvasAndContext.canvas.height = 0;\n canvasAndContext.canvas = null;\n canvasAndContext.context = null;\n }\n _createCanvas(width, height) {\n (0, _util.unreachable)(\"Abstract method `_createCanvas` called.\");\n }\n}\nexports.BaseCanvasFactory = BaseCanvasFactory;\nclass BaseCMapReaderFactory {\n constructor({\n baseUrl = null,\n isCompressed = true\n }) {\n if (this.constructor === BaseCMapReaderFactory) {\n (0, _util.unreachable)(\"Cannot initialize BaseCMapReaderFactory.\");\n }\n this.baseUrl = baseUrl;\n this.isCompressed = isCompressed;\n }\n async fetch({\n name\n }) {\n if (!this.baseUrl) {\n throw new Error('The CMap \"baseUrl\" parameter must be specified, ensure that ' + 'the \"cMapUrl\" and \"cMapPacked\" API parameters are provided.');\n }\n if (!name) {\n throw new Error(\"CMap name must be specified.\");\n }\n const url = this.baseUrl + name + (this.isCompressed ? \".bcmap\" : \"\");\n const compressionType = this.isCompressed ? _util.CMapCompressionType.BINARY : _util.CMapCompressionType.NONE;\n return this._fetchData(url, compressionType).catch(reason => {\n throw new Error(`Unable to load ${this.isCompressed ? \"binary \" : \"\"}CMap at: ${url}`);\n });\n }\n _fetchData(url, compressionType) {\n (0, _util.unreachable)(\"Abstract method `_fetchData` called.\");\n }\n}\nexports.BaseCMapReaderFactory = BaseCMapReaderFactory;\nclass BaseStandardFontDataFactory {\n constructor({\n baseUrl = null\n }) {\n if (this.constructor === BaseStandardFontDataFactory) {\n (0, _util.unreachable)(\"Cannot initialize BaseStandardFontDataFactory.\");\n }\n this.baseUrl = baseUrl;\n }\n async fetch({\n filename\n }) {\n if (!this.baseUrl) {\n throw new Error('The standard font \"baseUrl\" parameter must be specified, ensure that ' + 'the \"standardFontDataUrl\" API parameter is provided.');\n }\n if (!filename) {\n throw new Error(\"Font filename must be specified.\");\n }\n const url = `${this.baseUrl}${filename}`;\n return this._fetchData(url).catch(reason => {\n throw new Error(`Unable to load font data at: ${url}`);\n });\n }\n _fetchData(url) {\n (0, _util.unreachable)(\"Abstract method `_fetchData` called.\");\n }\n}\nexports.BaseStandardFontDataFactory = BaseStandardFontDataFactory;\nclass BaseSVGFactory {\n constructor() {\n if (this.constructor === BaseSVGFactory) {\n (0, _util.unreachable)(\"Cannot initialize BaseSVGFactory.\");\n }\n }\n create(width, height, skipDimensions = false) {\n if (width <= 0 || height <= 0) {\n throw new Error(\"Invalid SVG dimensions\");\n }\n const svg = this._createSVG(\"svg:svg\");\n svg.setAttribute(\"version\", \"1.1\");\n if (!skipDimensions) {\n svg.setAttribute(\"width\", `${width}px`);\n svg.setAttribute(\"height\", `${height}px`);\n }\n svg.setAttribute(\"preserveAspectRatio\", \"none\");\n svg.setAttribute(\"viewBox\", `0 0 ${width} ${height}`);\n return svg;\n }\n createElement(type) {\n if (typeof type !== \"string\") {\n throw new Error(\"Invalid SVG element type\");\n }\n return this._createSVG(type);\n }\n _createSVG(type) {\n (0, _util.unreachable)(\"Abstract method `_createSVG` called.\");\n }\n}\nexports.BaseSVGFactory = BaseSVGFactory;\n\n/***/ }),\n/* 8 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.MurmurHash3_64 = void 0;\nvar _util = __w_pdfjs_require__(1);\nconst SEED = 0xc3d2e1f0;\nconst MASK_HIGH = 0xffff0000;\nconst MASK_LOW = 0xffff;\nclass MurmurHash3_64 {\n constructor(seed) {\n this.h1 = seed ? seed & 0xffffffff : SEED;\n this.h2 = seed ? seed & 0xffffffff : SEED;\n }\n update(input) {\n let data, length;\n if (typeof input === \"string\") {\n data = new Uint8Array(input.length * 2);\n length = 0;\n for (let i = 0, ii = input.length; i < ii; i++) {\n const code = input.charCodeAt(i);\n if (code <= 0xff) {\n data[length++] = code;\n } else {\n data[length++] = code >>> 8;\n data[length++] = code & 0xff;\n }\n }\n } else if ((0, _util.isArrayBuffer)(input)) {\n data = input.slice();\n length = data.byteLength;\n } else {\n throw new Error(\"Wrong data format in MurmurHash3_64_update. \" + \"Input must be a string or array.\");\n }\n const blockCounts = length >> 2;\n const tailLength = length - blockCounts * 4;\n const dataUint32 = new Uint32Array(data.buffer, 0, blockCounts);\n let k1 = 0,\n k2 = 0;\n let h1 = this.h1,\n h2 = this.h2;\n const C1 = 0xcc9e2d51,\n C2 = 0x1b873593;\n const C1_LOW = C1 & MASK_LOW,\n C2_LOW = C2 & MASK_LOW;\n for (let i = 0; i < blockCounts; i++) {\n if (i & 1) {\n k1 = dataUint32[i];\n k1 = k1 * C1 & MASK_HIGH | k1 * C1_LOW & MASK_LOW;\n k1 = k1 << 15 | k1 >>> 17;\n k1 = k1 * C2 & MASK_HIGH | k1 * C2_LOW & MASK_LOW;\n h1 ^= k1;\n h1 = h1 << 13 | h1 >>> 19;\n h1 = h1 * 5 + 0xe6546b64;\n } else {\n k2 = dataUint32[i];\n k2 = k2 * C1 & MASK_HIGH | k2 * C1_LOW & MASK_LOW;\n k2 = k2 << 15 | k2 >>> 17;\n k2 = k2 * C2 & MASK_HIGH | k2 * C2_LOW & MASK_LOW;\n h2 ^= k2;\n h2 = h2 << 13 | h2 >>> 19;\n h2 = h2 * 5 + 0xe6546b64;\n }\n }\n k1 = 0;\n switch (tailLength) {\n case 3:\n k1 ^= data[blockCounts * 4 + 2] << 16;\n case 2:\n k1 ^= data[blockCounts * 4 + 1] << 8;\n case 1:\n k1 ^= data[blockCounts * 4];\n k1 = k1 * C1 & MASK_HIGH | k1 * C1_LOW & MASK_LOW;\n k1 = k1 << 15 | k1 >>> 17;\n k1 = k1 * C2 & MASK_HIGH | k1 * C2_LOW & MASK_LOW;\n if (blockCounts & 1) {\n h1 ^= k1;\n } else {\n h2 ^= k1;\n }\n }\n this.h1 = h1;\n this.h2 = h2;\n }\n hexdigest() {\n let h1 = this.h1,\n h2 = this.h2;\n h1 ^= h2 >>> 1;\n h1 = h1 * 0xed558ccd & MASK_HIGH | h1 * 0x8ccd & MASK_LOW;\n h2 = h2 * 0xff51afd7 & MASK_HIGH | ((h2 << 16 | h1 >>> 16) * 0xafd7ed55 & MASK_HIGH) >>> 16;\n h1 ^= h2 >>> 1;\n h1 = h1 * 0x1a85ec53 & MASK_HIGH | h1 * 0xec53 & MASK_LOW;\n h2 = h2 * 0xc4ceb9fe & MASK_HIGH | ((h2 << 16 | h1 >>> 16) * 0xb9fe1a85 & MASK_HIGH) >>> 16;\n h1 ^= h2 >>> 1;\n return (h1 >>> 0).toString(16).padStart(8, \"0\") + (h2 >>> 0).toString(16).padStart(8, \"0\");\n }\n}\nexports.MurmurHash3_64 = MurmurHash3_64;\n\n/***/ }),\n/* 9 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.FontLoader = exports.FontFaceObject = void 0;\nvar _util = __w_pdfjs_require__(1);\nvar _is_node = __w_pdfjs_require__(10);\nclass FontLoader {\n constructor({\n ownerDocument = globalThis.document,\n styleElement = null\n }) {\n this._document = ownerDocument;\n this.nativeFontFaces = [];\n this.styleElement = null;\n this.loadingRequests = [];\n this.loadTestFontId = 0;\n }\n addNativeFontFace(nativeFontFace) {\n this.nativeFontFaces.push(nativeFontFace);\n this._document.fonts.add(nativeFontFace);\n }\n insertRule(rule) {\n if (!this.styleElement) {\n this.styleElement = this._document.createElement(\"style\");\n this._document.documentElement.getElementsByTagName(\"head\")[0].append(this.styleElement);\n }\n const styleSheet = this.styleElement.sheet;\n styleSheet.insertRule(rule, styleSheet.cssRules.length);\n }\n clear() {\n for (const nativeFontFace of this.nativeFontFaces) {\n this._document.fonts.delete(nativeFontFace);\n }\n this.nativeFontFaces.length = 0;\n if (this.styleElement) {\n this.styleElement.remove();\n this.styleElement = null;\n }\n }\n async bind(font) {\n if (font.attached || font.missingFile) {\n return;\n }\n font.attached = true;\n if (this.isFontLoadingAPISupported) {\n const nativeFontFace = font.createNativeFontFace();\n if (nativeFontFace) {\n this.addNativeFontFace(nativeFontFace);\n try {\n await nativeFontFace.loaded;\n } catch (ex) {\n (0, _util.warn)(`Failed to load font '${nativeFontFace.family}': '${ex}'.`);\n font.disableFontFace = true;\n throw ex;\n }\n }\n return;\n }\n const rule = font.createFontFaceRule();\n if (rule) {\n this.insertRule(rule);\n if (this.isSyncFontLoadingSupported) {\n return;\n }\n await new Promise(resolve => {\n const request = this._queueLoadingCallback(resolve);\n this._prepareFontLoadEvent(font, request);\n });\n }\n }\n get isFontLoadingAPISupported() {\n const hasFonts = !!this._document?.fonts;\n return (0, _util.shadow)(this, \"isFontLoadingAPISupported\", hasFonts);\n }\n get isSyncFontLoadingSupported() {\n let supported = false;\n if (_is_node.isNodeJS) {\n supported = true;\n } else if (typeof navigator !== \"undefined\" && /Mozilla\\/5.0.*?rv:\\d+.*? Gecko/.test(navigator.userAgent)) {\n supported = true;\n }\n return (0, _util.shadow)(this, \"isSyncFontLoadingSupported\", supported);\n }\n _queueLoadingCallback(callback) {\n function completeRequest() {\n (0, _util.assert)(!request.done, \"completeRequest() cannot be called twice.\");\n request.done = true;\n while (loadingRequests.length > 0 && loadingRequests[0].done) {\n const otherRequest = loadingRequests.shift();\n setTimeout(otherRequest.callback, 0);\n }\n }\n const {\n loadingRequests\n } = this;\n const request = {\n done: false,\n complete: completeRequest,\n callback\n };\n loadingRequests.push(request);\n return request;\n }\n get _loadTestFont() {\n 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==\");\n return (0, _util.shadow)(this, \"_loadTestFont\", testFont);\n }\n _prepareFontLoadEvent(font, request) {\n function int32(data, offset) {\n return data.charCodeAt(offset) << 24 | data.charCodeAt(offset + 1) << 16 | data.charCodeAt(offset + 2) << 8 | data.charCodeAt(offset + 3) & 0xff;\n }\n function spliceString(s, offset, remove, insert) {\n const chunk1 = s.substring(0, offset);\n const chunk2 = s.substring(offset + remove);\n return chunk1 + insert + chunk2;\n }\n let i, ii;\n const canvas = this._document.createElement(\"canvas\");\n canvas.width = 1;\n canvas.height = 1;\n const ctx = canvas.getContext(\"2d\");\n let called = 0;\n function isFontReady(name, callback) {\n if (++called > 30) {\n (0, _util.warn)(\"Load test font never loaded.\");\n callback();\n return;\n }\n ctx.font = \"30px \" + name;\n ctx.fillText(\".\", 0, 20);\n const imageData = ctx.getImageData(0, 0, 1, 1);\n if (imageData.data[3] > 0) {\n callback();\n return;\n }\n setTimeout(isFontReady.bind(null, name, callback));\n }\n const loadTestFontId = `lt${Date.now()}${this.loadTestFontId++}`;\n let data = this._loadTestFont;\n const COMMENT_OFFSET = 976;\n data = spliceString(data, COMMENT_OFFSET, loadTestFontId.length, loadTestFontId);\n const CFF_CHECKSUM_OFFSET = 16;\n const XXXX_VALUE = 0x58585858;\n let checksum = int32(data, CFF_CHECKSUM_OFFSET);\n for (i = 0, ii = loadTestFontId.length - 3; i < ii; i += 4) {\n checksum = checksum - XXXX_VALUE + int32(loadTestFontId, i) | 0;\n }\n if (i < loadTestFontId.length) {\n checksum = checksum - XXXX_VALUE + int32(loadTestFontId + \"XXX\", i) | 0;\n }\n data = spliceString(data, CFF_CHECKSUM_OFFSET, 4, (0, _util.string32)(checksum));\n const url = `url(data:font/opentype;base64,${btoa(data)});`;\n const rule = `@font-face {font-family:\"${loadTestFontId}\";src:${url}}`;\n this.insertRule(rule);\n const div = this._document.createElement(\"div\");\n div.style.visibility = \"hidden\";\n div.style.width = div.style.height = \"10px\";\n div.style.position = \"absolute\";\n div.style.top = div.style.left = \"0px\";\n for (const name of [font.loadedName, loadTestFontId]) {\n const span = this._document.createElement(\"span\");\n span.textContent = \"Hi\";\n span.style.fontFamily = name;\n div.append(span);\n }\n this._document.body.append(div);\n isFontReady(loadTestFontId, () => {\n div.remove();\n request.complete();\n });\n }\n}\nexports.FontLoader = FontLoader;\nclass FontFaceObject {\n constructor(translatedData, {\n isEvalSupported = true,\n disableFontFace = false,\n ignoreErrors = false,\n inspectFont = null\n }) {\n this.compiledGlyphs = Object.create(null);\n for (const i in translatedData) {\n this[i] = translatedData[i];\n }\n this.isEvalSupported = isEvalSupported !== false;\n this.disableFontFace = disableFontFace === true;\n this.ignoreErrors = ignoreErrors === true;\n this._inspectFont = inspectFont;\n }\n createNativeFontFace() {\n if (!this.data || this.disableFontFace) {\n return null;\n }\n let nativeFontFace;\n if (!this.cssFontInfo) {\n nativeFontFace = new FontFace(this.loadedName, this.data, {});\n } else {\n const css = {\n weight: this.cssFontInfo.fontWeight\n };\n if (this.cssFontInfo.italicAngle) {\n css.style = `oblique ${this.cssFontInfo.italicAngle}deg`;\n }\n nativeFontFace = new FontFace(this.cssFontInfo.fontFamily, this.data, css);\n }\n this._inspectFont?.(this);\n return nativeFontFace;\n }\n createFontFaceRule() {\n if (!this.data || this.disableFontFace) {\n return null;\n }\n const data = (0, _util.bytesToString)(this.data);\n const url = `url(data:${this.mimetype};base64,${btoa(data)});`;\n let rule;\n if (!this.cssFontInfo) {\n rule = `@font-face {font-family:\"${this.loadedName}\";src:${url}}`;\n } else {\n let css = `font-weight: ${this.cssFontInfo.fontWeight};`;\n if (this.cssFontInfo.italicAngle) {\n css += `font-style: oblique ${this.cssFontInfo.italicAngle}deg;`;\n }\n rule = `@font-face {font-family:\"${this.cssFontInfo.fontFamily}\";${css}src:${url}}`;\n }\n this._inspectFont?.(this, url);\n return rule;\n }\n getPathGenerator(objs, character) {\n if (this.compiledGlyphs[character] !== undefined) {\n return this.compiledGlyphs[character];\n }\n let cmds;\n try {\n cmds = objs.get(this.loadedName + \"_path_\" + character);\n } catch (ex) {\n if (!this.ignoreErrors) {\n throw ex;\n }\n (0, _util.warn)(`getPathGenerator - ignoring character: \"${ex}\".`);\n return this.compiledGlyphs[character] = function (c, size) {};\n }\n if (this.isEvalSupported && _util.FeatureTest.isEvalSupported) {\n const jsBuf = [];\n for (const current of cmds) {\n const args = current.args !== undefined ? current.args.join(\",\") : \"\";\n jsBuf.push(\"c.\", current.cmd, \"(\", args, \");\\n\");\n }\n return this.compiledGlyphs[character] = new Function(\"c\", \"size\", jsBuf.join(\"\"));\n }\n return this.compiledGlyphs[character] = function (c, size) {\n for (const current of cmds) {\n if (current.cmd === \"scale\") {\n current.args = [size, -size];\n }\n c[current.cmd].apply(c, current.args);\n }\n };\n }\n}\nexports.FontFaceObject = FontFaceObject;\n\n/***/ }),\n/* 10 */\n/***/ ((__unused_webpack_module, exports) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.isNodeJS = void 0;\nconst isNodeJS = typeof process === \"object\" && process + \"\" === \"[object process]\" && !process.versions.nw && !(process.versions.electron && process.type && process.type !== \"browser\");\nexports.isNodeJS = isNodeJS;\n\n/***/ }),\n/* 11 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.CanvasGraphics = void 0;\nvar _util = __w_pdfjs_require__(1);\nvar _display_utils = __w_pdfjs_require__(6);\nvar _pattern_helper = __w_pdfjs_require__(12);\nvar _image_utils = __w_pdfjs_require__(13);\nvar _is_node = __w_pdfjs_require__(10);\nconst MIN_FONT_SIZE = 16;\nconst MAX_FONT_SIZE = 100;\nconst MAX_GROUP_SIZE = 4096;\nconst EXECUTION_TIME = 15;\nconst EXECUTION_STEPS = 10;\nconst MAX_SIZE_TO_COMPILE = 1000;\nconst FULL_CHUNK_HEIGHT = 16;\nfunction mirrorContextOperations(ctx, destCtx) {\n if (ctx._removeMirroring) {\n throw new Error(\"Context is already forwarding operations.\");\n }\n ctx.__originalSave = ctx.save;\n ctx.__originalRestore = ctx.restore;\n ctx.__originalRotate = ctx.rotate;\n ctx.__originalScale = ctx.scale;\n ctx.__originalTranslate = ctx.translate;\n ctx.__originalTransform = ctx.transform;\n ctx.__originalSetTransform = ctx.setTransform;\n ctx.__originalResetTransform = ctx.resetTransform;\n ctx.__originalClip = ctx.clip;\n ctx.__originalMoveTo = ctx.moveTo;\n ctx.__originalLineTo = ctx.lineTo;\n ctx.__originalBezierCurveTo = ctx.bezierCurveTo;\n ctx.__originalRect = ctx.rect;\n ctx.__originalClosePath = ctx.closePath;\n ctx.__originalBeginPath = ctx.beginPath;\n ctx._removeMirroring = () => {\n ctx.save = ctx.__originalSave;\n ctx.restore = ctx.__originalRestore;\n ctx.rotate = ctx.__originalRotate;\n ctx.scale = ctx.__originalScale;\n ctx.translate = ctx.__originalTranslate;\n ctx.transform = ctx.__originalTransform;\n ctx.setTransform = ctx.__originalSetTransform;\n ctx.resetTransform = ctx.__originalResetTransform;\n ctx.clip = ctx.__originalClip;\n ctx.moveTo = ctx.__originalMoveTo;\n ctx.lineTo = ctx.__originalLineTo;\n ctx.bezierCurveTo = ctx.__originalBezierCurveTo;\n ctx.rect = ctx.__originalRect;\n ctx.closePath = ctx.__originalClosePath;\n ctx.beginPath = ctx.__originalBeginPath;\n delete ctx._removeMirroring;\n };\n ctx.save = function ctxSave() {\n destCtx.save();\n this.__originalSave();\n };\n ctx.restore = function ctxRestore() {\n destCtx.restore();\n this.__originalRestore();\n };\n ctx.translate = function ctxTranslate(x, y) {\n destCtx.translate(x, y);\n this.__originalTranslate(x, y);\n };\n ctx.scale = function ctxScale(x, y) {\n destCtx.scale(x, y);\n this.__originalScale(x, y);\n };\n ctx.transform = function ctxTransform(a, b, c, d, e, f) {\n destCtx.transform(a, b, c, d, e, f);\n this.__originalTransform(a, b, c, d, e, f);\n };\n ctx.setTransform = function ctxSetTransform(a, b, c, d, e, f) {\n destCtx.setTransform(a, b, c, d, e, f);\n this.__originalSetTransform(a, b, c, d, e, f);\n };\n ctx.resetTransform = function ctxResetTransform() {\n destCtx.resetTransform();\n this.__originalResetTransform();\n };\n ctx.rotate = function ctxRotate(angle) {\n destCtx.rotate(angle);\n this.__originalRotate(angle);\n };\n ctx.clip = function ctxRotate(rule) {\n destCtx.clip(rule);\n this.__originalClip(rule);\n };\n ctx.moveTo = function (x, y) {\n destCtx.moveTo(x, y);\n this.__originalMoveTo(x, y);\n };\n ctx.lineTo = function (x, y) {\n destCtx.lineTo(x, y);\n this.__originalLineTo(x, y);\n };\n ctx.bezierCurveTo = function (cp1x, cp1y, cp2x, cp2y, x, y) {\n destCtx.bezierCurveTo(cp1x, cp1y, cp2x, cp2y, x, y);\n this.__originalBezierCurveTo(cp1x, cp1y, cp2x, cp2y, x, y);\n };\n ctx.rect = function (x, y, width, height) {\n destCtx.rect(x, y, width, height);\n this.__originalRect(x, y, width, height);\n };\n ctx.closePath = function () {\n destCtx.closePath();\n this.__originalClosePath();\n };\n ctx.beginPath = function () {\n destCtx.beginPath();\n this.__originalBeginPath();\n };\n}\nclass CachedCanvases {\n constructor(canvasFactory) {\n this.canvasFactory = canvasFactory;\n this.cache = Object.create(null);\n }\n getCanvas(id, width, height) {\n let canvasEntry;\n if (this.cache[id] !== undefined) {\n canvasEntry = this.cache[id];\n this.canvasFactory.reset(canvasEntry, width, height);\n } else {\n canvasEntry = this.canvasFactory.create(width, height);\n this.cache[id] = canvasEntry;\n }\n return canvasEntry;\n }\n delete(id) {\n delete this.cache[id];\n }\n clear() {\n for (const id in this.cache) {\n const canvasEntry = this.cache[id];\n this.canvasFactory.destroy(canvasEntry);\n delete this.cache[id];\n }\n }\n}\nfunction drawImageAtIntegerCoords(ctx, srcImg, srcX, srcY, srcW, srcH, destX, destY, destW, destH) {\n const [a, b, c, d, tx, ty] = (0, _display_utils.getCurrentTransform)(ctx);\n if (b === 0 && c === 0) {\n const tlX = destX * a + tx;\n const rTlX = Math.round(tlX);\n const tlY = destY * d + ty;\n const rTlY = Math.round(tlY);\n const brX = (destX + destW) * a + tx;\n const rWidth = Math.abs(Math.round(brX) - rTlX) || 1;\n const brY = (destY + destH) * d + ty;\n const rHeight = Math.abs(Math.round(brY) - rTlY) || 1;\n ctx.setTransform(Math.sign(a), 0, 0, Math.sign(d), rTlX, rTlY);\n ctx.drawImage(srcImg, srcX, srcY, srcW, srcH, 0, 0, rWidth, rHeight);\n ctx.setTransform(a, b, c, d, tx, ty);\n return [rWidth, rHeight];\n }\n if (a === 0 && d === 0) {\n const tlX = destY * c + tx;\n const rTlX = Math.round(tlX);\n const tlY = destX * b + ty;\n const rTlY = Math.round(tlY);\n const brX = (destY + destH) * c + tx;\n const rWidth = Math.abs(Math.round(brX) - rTlX) || 1;\n const brY = (destX + destW) * b + ty;\n const rHeight = Math.abs(Math.round(brY) - rTlY) || 1;\n ctx.setTransform(0, Math.sign(b), Math.sign(c), 0, rTlX, rTlY);\n ctx.drawImage(srcImg, srcX, srcY, srcW, srcH, 0, 0, rHeight, rWidth);\n ctx.setTransform(a, b, c, d, tx, ty);\n return [rHeight, rWidth];\n }\n ctx.drawImage(srcImg, srcX, srcY, srcW, srcH, destX, destY, destW, destH);\n const scaleX = Math.hypot(a, b);\n const scaleY = Math.hypot(c, d);\n return [scaleX * destW, scaleY * destH];\n}\nfunction compileType3Glyph(imgData) {\n const {\n width,\n height\n } = imgData;\n if (width > MAX_SIZE_TO_COMPILE || height > MAX_SIZE_TO_COMPILE) {\n return null;\n }\n const POINT_TO_PROCESS_LIMIT = 1000;\n const POINT_TYPES = new Uint8Array([0, 2, 4, 0, 1, 0, 5, 4, 8, 10, 0, 8, 0, 2, 1, 0]);\n const width1 = width + 1;\n let points = new Uint8Array(width1 * (height + 1));\n let i, j, j0;\n const lineSize = width + 7 & ~7;\n let data = new Uint8Array(lineSize * height),\n pos = 0;\n for (const elem of imgData.data) {\n let mask = 128;\n while (mask > 0) {\n data[pos++] = elem & mask ? 0 : 255;\n mask >>= 1;\n }\n }\n let count = 0;\n pos = 0;\n if (data[pos] !== 0) {\n points[0] = 1;\n ++count;\n }\n for (j = 1; j < width; j++) {\n if (data[pos] !== data[pos + 1]) {\n points[j] = data[pos] ? 2 : 1;\n ++count;\n }\n pos++;\n }\n if (data[pos] !== 0) {\n points[j] = 2;\n ++count;\n }\n for (i = 1; i < height; i++) {\n pos = i * lineSize;\n j0 = i * width1;\n if (data[pos - lineSize] !== data[pos]) {\n points[j0] = data[pos] ? 1 : 8;\n ++count;\n }\n let sum = (data[pos] ? 4 : 0) + (data[pos - lineSize] ? 8 : 0);\n for (j = 1; j < width; j++) {\n sum = (sum >> 2) + (data[pos + 1] ? 4 : 0) + (data[pos - lineSize + 1] ? 8 : 0);\n if (POINT_TYPES[sum]) {\n points[j0 + j] = POINT_TYPES[sum];\n ++count;\n }\n pos++;\n }\n if (data[pos - lineSize] !== data[pos]) {\n points[j0 + j] = data[pos] ? 2 : 4;\n ++count;\n }\n if (count > POINT_TO_PROCESS_LIMIT) {\n return null;\n }\n }\n pos = lineSize * (height - 1);\n j0 = i * width1;\n if (data[pos] !== 0) {\n points[j0] = 8;\n ++count;\n }\n for (j = 1; j < width; j++) {\n if (data[pos] !== data[pos + 1]) {\n points[j0 + j] = data[pos] ? 4 : 8;\n ++count;\n }\n pos++;\n }\n if (data[pos] !== 0) {\n points[j0 + j] = 4;\n ++count;\n }\n if (count > POINT_TO_PROCESS_LIMIT) {\n return null;\n }\n const steps = new Int32Array([0, width1, -1, 0, -width1, 0, 0, 0, 1]);\n const path = new Path2D();\n for (i = 0; count && i <= height; i++) {\n let p = i * width1;\n const end = p + width;\n while (p < end && !points[p]) {\n p++;\n }\n if (p === end) {\n continue;\n }\n path.moveTo(p % width1, i);\n const p0 = p;\n let type = points[p];\n do {\n const step = steps[type];\n do {\n p += step;\n } while (!points[p]);\n const pp = points[p];\n if (pp !== 5 && pp !== 10) {\n type = pp;\n points[p] = 0;\n } else {\n type = pp & 0x33 * type >> 4;\n points[p] &= type >> 2 | type << 2;\n }\n path.lineTo(p % width1, p / width1 | 0);\n if (!points[p]) {\n --count;\n }\n } while (p0 !== p);\n --i;\n }\n data = null;\n points = null;\n const drawOutline = function (c) {\n c.save();\n c.scale(1 / width, -1 / height);\n c.translate(0, -height);\n c.fill(path);\n c.beginPath();\n c.restore();\n };\n return drawOutline;\n}\nclass CanvasExtraState {\n constructor(width, height) {\n this.alphaIsShape = false;\n this.fontSize = 0;\n this.fontSizeScale = 1;\n this.textMatrix = _util.IDENTITY_MATRIX;\n this.textMatrixScale = 1;\n this.fontMatrix = _util.FONT_IDENTITY_MATRIX;\n this.leading = 0;\n this.x = 0;\n this.y = 0;\n this.lineX = 0;\n this.lineY = 0;\n this.charSpacing = 0;\n this.wordSpacing = 0;\n this.textHScale = 1;\n this.textRenderingMode = _util.TextRenderingMode.FILL;\n this.textRise = 0;\n this.fillColor = \"#000000\";\n this.strokeColor = \"#000000\";\n this.patternFill = false;\n this.fillAlpha = 1;\n this.strokeAlpha = 1;\n this.lineWidth = 1;\n this.activeSMask = null;\n this.transferMaps = \"none\";\n this.startNewPathAndClipBox([0, 0, width, height]);\n }\n clone() {\n const clone = Object.create(this);\n clone.clipBox = this.clipBox.slice();\n return clone;\n }\n setCurrentPoint(x, y) {\n this.x = x;\n this.y = y;\n }\n updatePathMinMax(transform, x, y) {\n [x, y] = _util.Util.applyTransform([x, y], transform);\n this.minX = Math.min(this.minX, x);\n this.minY = Math.min(this.minY, y);\n this.maxX = Math.max(this.maxX, x);\n this.maxY = Math.max(this.maxY, y);\n }\n updateRectMinMax(transform, rect) {\n const p1 = _util.Util.applyTransform(rect, transform);\n const p2 = _util.Util.applyTransform(rect.slice(2), transform);\n this.minX = Math.min(this.minX, p1[0], p2[0]);\n this.minY = Math.min(this.minY, p1[1], p2[1]);\n this.maxX = Math.max(this.maxX, p1[0], p2[0]);\n this.maxY = Math.max(this.maxY, p1[1], p2[1]);\n }\n updateScalingPathMinMax(transform, minMax) {\n _util.Util.scaleMinMax(transform, minMax);\n this.minX = Math.min(this.minX, minMax[0]);\n this.maxX = Math.max(this.maxX, minMax[1]);\n this.minY = Math.min(this.minY, minMax[2]);\n this.maxY = Math.max(this.maxY, minMax[3]);\n }\n updateCurvePathMinMax(transform, x0, y0, x1, y1, x2, y2, x3, y3, minMax) {\n const box = _util.Util.bezierBoundingBox(x0, y0, x1, y1, x2, y2, x3, y3);\n if (minMax) {\n minMax[0] = Math.min(minMax[0], box[0], box[2]);\n minMax[1] = Math.max(minMax[1], box[0], box[2]);\n minMax[2] = Math.min(minMax[2], box[1], box[3]);\n minMax[3] = Math.max(minMax[3], box[1], box[3]);\n return;\n }\n this.updateRectMinMax(transform, box);\n }\n getPathBoundingBox(pathType = _pattern_helper.PathType.FILL, transform = null) {\n const box = [this.minX, this.minY, this.maxX, this.maxY];\n if (pathType === _pattern_helper.PathType.STROKE) {\n if (!transform) {\n (0, _util.unreachable)(\"Stroke bounding box must include transform.\");\n }\n const scale = _util.Util.singularValueDecompose2dScale(transform);\n const xStrokePad = scale[0] * this.lineWidth / 2;\n const yStrokePad = scale[1] * this.lineWidth / 2;\n box[0] -= xStrokePad;\n box[1] -= yStrokePad;\n box[2] += xStrokePad;\n box[3] += yStrokePad;\n }\n return box;\n }\n updateClipFromPath() {\n const intersect = _util.Util.intersect(this.clipBox, this.getPathBoundingBox());\n this.startNewPathAndClipBox(intersect || [0, 0, 0, 0]);\n }\n isEmptyClip() {\n return this.minX === Infinity;\n }\n startNewPathAndClipBox(box) {\n this.clipBox = box;\n this.minX = Infinity;\n this.minY = Infinity;\n this.maxX = 0;\n this.maxY = 0;\n }\n getClippedPathBoundingBox(pathType = _pattern_helper.PathType.FILL, transform = null) {\n return _util.Util.intersect(this.clipBox, this.getPathBoundingBox(pathType, transform));\n }\n}\nfunction putBinaryImageData(ctx, imgData) {\n if (typeof ImageData !== \"undefined\" && imgData instanceof ImageData) {\n ctx.putImageData(imgData, 0, 0);\n return;\n }\n const height = imgData.height,\n width = imgData.width;\n const partialChunkHeight = height % FULL_CHUNK_HEIGHT;\n const fullChunks = (height - partialChunkHeight) / FULL_CHUNK_HEIGHT;\n const totalChunks = partialChunkHeight === 0 ? fullChunks : fullChunks + 1;\n const chunkImgData = ctx.createImageData(width, FULL_CHUNK_HEIGHT);\n let srcPos = 0,\n destPos;\n const src = imgData.data;\n const dest = chunkImgData.data;\n let i, j, thisChunkHeight, elemsInThisChunk;\n if (imgData.kind === _util.ImageKind.GRAYSCALE_1BPP) {\n const srcLength = src.byteLength;\n const dest32 = new Uint32Array(dest.buffer, 0, dest.byteLength >> 2);\n const dest32DataLength = dest32.length;\n const fullSrcDiff = width + 7 >> 3;\n const white = 0xffffffff;\n const black = _util.FeatureTest.isLittleEndian ? 0xff000000 : 0x000000ff;\n for (i = 0; i < totalChunks; i++) {\n thisChunkHeight = i < fullChunks ? FULL_CHUNK_HEIGHT : partialChunkHeight;\n destPos = 0;\n for (j = 0; j < thisChunkHeight; j++) {\n const srcDiff = srcLength - srcPos;\n let k = 0;\n const kEnd = srcDiff > fullSrcDiff ? width : srcDiff * 8 - 7;\n const kEndUnrolled = kEnd & ~7;\n let mask = 0;\n let srcByte = 0;\n for (; k < kEndUnrolled; k += 8) {\n srcByte = src[srcPos++];\n dest32[destPos++] = srcByte & 128 ? white : black;\n dest32[destPos++] = srcByte & 64 ? white : black;\n dest32[destPos++] = srcByte & 32 ? white : black;\n dest32[destPos++] = srcByte & 16 ? white : black;\n dest32[destPos++] = srcByte & 8 ? white : black;\n dest32[destPos++] = srcByte & 4 ? white : black;\n dest32[destPos++] = srcByte & 2 ? white : black;\n dest32[destPos++] = srcByte & 1 ? white : black;\n }\n for (; k < kEnd; k++) {\n if (mask === 0) {\n srcByte = src[srcPos++];\n mask = 128;\n }\n dest32[destPos++] = srcByte & mask ? white : black;\n mask >>= 1;\n }\n }\n while (destPos < dest32DataLength) {\n dest32[destPos++] = 0;\n }\n ctx.putImageData(chunkImgData, 0, i * FULL_CHUNK_HEIGHT);\n }\n } else if (imgData.kind === _util.ImageKind.RGBA_32BPP) {\n j = 0;\n elemsInThisChunk = width * FULL_CHUNK_HEIGHT * 4;\n for (i = 0; i < fullChunks; i++) {\n dest.set(src.subarray(srcPos, srcPos + elemsInThisChunk));\n srcPos += elemsInThisChunk;\n ctx.putImageData(chunkImgData, 0, j);\n j += FULL_CHUNK_HEIGHT;\n }\n if (i < totalChunks) {\n elemsInThisChunk = width * partialChunkHeight * 4;\n dest.set(src.subarray(srcPos, srcPos + elemsInThisChunk));\n ctx.putImageData(chunkImgData, 0, j);\n }\n } else if (imgData.kind === _util.ImageKind.RGB_24BPP) {\n thisChunkHeight = FULL_CHUNK_HEIGHT;\n elemsInThisChunk = width * thisChunkHeight;\n for (i = 0; i < totalChunks; i++) {\n if (i >= fullChunks) {\n thisChunkHeight = partialChunkHeight;\n elemsInThisChunk = width * thisChunkHeight;\n }\n destPos = 0;\n for (j = elemsInThisChunk; j--;) {\n dest[destPos++] = src[srcPos++];\n dest[destPos++] = src[srcPos++];\n dest[destPos++] = src[srcPos++];\n dest[destPos++] = 255;\n }\n ctx.putImageData(chunkImgData, 0, i * FULL_CHUNK_HEIGHT);\n }\n } else {\n throw new Error(`bad image kind: ${imgData.kind}`);\n }\n}\nfunction putBinaryImageMask(ctx, imgData) {\n if (imgData.bitmap) {\n ctx.drawImage(imgData.bitmap, 0, 0);\n return;\n }\n const height = imgData.height,\n width = imgData.width;\n const partialChunkHeight = height % FULL_CHUNK_HEIGHT;\n const fullChunks = (height - partialChunkHeight) / FULL_CHUNK_HEIGHT;\n const totalChunks = partialChunkHeight === 0 ? fullChunks : fullChunks + 1;\n const chunkImgData = ctx.createImageData(width, FULL_CHUNK_HEIGHT);\n let srcPos = 0;\n const src = imgData.data;\n const dest = chunkImgData.data;\n for (let i = 0; i < totalChunks; i++) {\n const thisChunkHeight = i < fullChunks ? FULL_CHUNK_HEIGHT : partialChunkHeight;\n ({\n srcPos\n } = (0, _image_utils.convertBlackAndWhiteToRGBA)({\n src,\n srcPos,\n dest,\n width,\n height: thisChunkHeight,\n nonBlackColor: 0\n }));\n ctx.putImageData(chunkImgData, 0, i * FULL_CHUNK_HEIGHT);\n }\n}\nfunction copyCtxState(sourceCtx, destCtx) {\n const properties = [\"strokeStyle\", \"fillStyle\", \"fillRule\", \"globalAlpha\", \"lineWidth\", \"lineCap\", \"lineJoin\", \"miterLimit\", \"globalCompositeOperation\", \"font\", \"filter\"];\n for (const property of properties) {\n if (sourceCtx[property] !== undefined) {\n destCtx[property] = sourceCtx[property];\n }\n }\n if (sourceCtx.setLineDash !== undefined) {\n destCtx.setLineDash(sourceCtx.getLineDash());\n destCtx.lineDashOffset = sourceCtx.lineDashOffset;\n }\n}\nfunction resetCtxToDefault(ctx) {\n ctx.strokeStyle = ctx.fillStyle = \"#000000\";\n ctx.fillRule = \"nonzero\";\n ctx.globalAlpha = 1;\n ctx.lineWidth = 1;\n ctx.lineCap = \"butt\";\n ctx.lineJoin = \"miter\";\n ctx.miterLimit = 10;\n ctx.globalCompositeOperation = \"source-over\";\n ctx.font = \"10px sans-serif\";\n if (ctx.setLineDash !== undefined) {\n ctx.setLineDash([]);\n ctx.lineDashOffset = 0;\n }\n if (!_is_node.isNodeJS) {\n ctx.filter = \"none\";\n }\n}\nfunction composeSMaskBackdrop(bytes, r0, g0, b0) {\n const length = bytes.length;\n for (let i = 3; i < length; i += 4) {\n const alpha = bytes[i];\n if (alpha === 0) {\n bytes[i - 3] = r0;\n bytes[i - 2] = g0;\n bytes[i - 1] = b0;\n } else if (alpha < 255) {\n const alpha_ = 255 - alpha;\n bytes[i - 3] = bytes[i - 3] * alpha + r0 * alpha_ >> 8;\n bytes[i - 2] = bytes[i - 2] * alpha + g0 * alpha_ >> 8;\n bytes[i - 1] = bytes[i - 1] * alpha + b0 * alpha_ >> 8;\n }\n }\n}\nfunction composeSMaskAlpha(maskData, layerData, transferMap) {\n const length = maskData.length;\n const scale = 1 / 255;\n for (let i = 3; i < length; i += 4) {\n const alpha = transferMap ? transferMap[maskData[i]] : maskData[i];\n layerData[i] = layerData[i] * alpha * scale | 0;\n }\n}\nfunction composeSMaskLuminosity(maskData, layerData, transferMap) {\n const length = maskData.length;\n for (let i = 3; i < length; i += 4) {\n const y = maskData[i - 3] * 77 + maskData[i - 2] * 152 + maskData[i - 1] * 28;\n layerData[i] = transferMap ? layerData[i] * transferMap[y >> 8] >> 8 : layerData[i] * y >> 16;\n }\n}\nfunction genericComposeSMask(maskCtx, layerCtx, width, height, subtype, backdrop, transferMap, layerOffsetX, layerOffsetY, maskOffsetX, maskOffsetY) {\n const hasBackdrop = !!backdrop;\n const r0 = hasBackdrop ? backdrop[0] : 0;\n const g0 = hasBackdrop ? backdrop[1] : 0;\n const b0 = hasBackdrop ? backdrop[2] : 0;\n let composeFn;\n if (subtype === \"Luminosity\") {\n composeFn = composeSMaskLuminosity;\n } else {\n composeFn = composeSMaskAlpha;\n }\n const PIXELS_TO_PROCESS = 1048576;\n const chunkSize = Math.min(height, Math.ceil(PIXELS_TO_PROCESS / width));\n for (let row = 0; row < height; row += chunkSize) {\n const chunkHeight = Math.min(chunkSize, height - row);\n const maskData = maskCtx.getImageData(layerOffsetX - maskOffsetX, row + (layerOffsetY - maskOffsetY), width, chunkHeight);\n const layerData = layerCtx.getImageData(layerOffsetX, row + layerOffsetY, width, chunkHeight);\n if (hasBackdrop) {\n composeSMaskBackdrop(maskData.data, r0, g0, b0);\n }\n composeFn(maskData.data, layerData.data, transferMap);\n layerCtx.putImageData(layerData, layerOffsetX, row + layerOffsetY);\n }\n}\nfunction composeSMask(ctx, smask, layerCtx, layerBox) {\n const layerOffsetX = layerBox[0];\n const layerOffsetY = layerBox[1];\n const layerWidth = layerBox[2] - layerOffsetX;\n const layerHeight = layerBox[3] - layerOffsetY;\n if (layerWidth === 0 || layerHeight === 0) {\n return;\n }\n genericComposeSMask(smask.context, layerCtx, layerWidth, layerHeight, smask.subtype, smask.backdrop, smask.transferMap, layerOffsetX, layerOffsetY, smask.offsetX, smask.offsetY);\n ctx.save();\n ctx.globalAlpha = 1;\n ctx.globalCompositeOperation = \"source-over\";\n ctx.setTransform(1, 0, 0, 1, 0, 0);\n ctx.drawImage(layerCtx.canvas, 0, 0);\n ctx.restore();\n}\nfunction getImageSmoothingEnabled(transform, interpolate) {\n const scale = _util.Util.singularValueDecompose2dScale(transform);\n scale[0] = Math.fround(scale[0]);\n scale[1] = Math.fround(scale[1]);\n const actualScale = Math.fround((globalThis.devicePixelRatio || 1) * _display_utils.PixelsPerInch.PDF_TO_CSS_UNITS);\n if (interpolate !== undefined) {\n return interpolate;\n } else if (scale[0] <= actualScale || scale[1] <= actualScale) {\n return true;\n }\n return false;\n}\nconst LINE_CAP_STYLES = [\"butt\", \"round\", \"square\"];\nconst LINE_JOIN_STYLES = [\"miter\", \"round\", \"bevel\"];\nconst NORMAL_CLIP = {};\nconst EO_CLIP = {};\nclass CanvasGraphics {\n constructor(canvasCtx, commonObjs, objs, canvasFactory, filterFactory, {\n optionalContentConfig,\n markedContentStack = null\n }, annotationCanvasMap, pageColors) {\n this.ctx = canvasCtx;\n this.current = new CanvasExtraState(this.ctx.canvas.width, this.ctx.canvas.height);\n this.stateStack = [];\n this.pendingClip = null;\n this.pendingEOFill = false;\n this.res = null;\n this.xobjs = null;\n this.commonObjs = commonObjs;\n this.objs = objs;\n this.canvasFactory = canvasFactory;\n this.filterFactory = filterFactory;\n this.groupStack = [];\n this.processingType3 = null;\n this.baseTransform = null;\n this.baseTransformStack = [];\n this.groupLevel = 0;\n this.smaskStack = [];\n this.smaskCounter = 0;\n this.tempSMask = null;\n this.suspendedCtx = null;\n this.contentVisible = true;\n this.markedContentStack = markedContentStack || [];\n this.optionalContentConfig = optionalContentConfig;\n this.cachedCanvases = new CachedCanvases(this.canvasFactory);\n this.cachedPatterns = new Map();\n this.annotationCanvasMap = annotationCanvasMap;\n this.viewportScale = 1;\n this.outputScaleX = 1;\n this.outputScaleY = 1;\n this.pageColors = pageColors;\n this._cachedScaleForStroking = null;\n this._cachedGetSinglePixelWidth = null;\n this._cachedBitmapsMap = new Map();\n }\n getObject(data, fallback = null) {\n if (typeof data === \"string\") {\n return data.startsWith(\"g_\") ? this.commonObjs.get(data) : this.objs.get(data);\n }\n return fallback;\n }\n beginDrawing({\n transform,\n viewport,\n transparency = false,\n background = null\n }) {\n const width = this.ctx.canvas.width;\n const height = this.ctx.canvas.height;\n const savedFillStyle = this.ctx.fillStyle;\n this.ctx.fillStyle = background || \"#ffffff\";\n this.ctx.fillRect(0, 0, width, height);\n this.ctx.fillStyle = savedFillStyle;\n if (transparency) {\n const transparentCanvas = this.cachedCanvases.getCanvas(\"transparent\", width, height);\n this.compositeCtx = this.ctx;\n this.transparentCanvas = transparentCanvas.canvas;\n this.ctx = transparentCanvas.context;\n this.ctx.save();\n this.ctx.transform(...(0, _display_utils.getCurrentTransform)(this.compositeCtx));\n }\n this.ctx.save();\n resetCtxToDefault(this.ctx);\n if (transform) {\n this.ctx.transform(...transform);\n this.outputScaleX = transform[0];\n this.outputScaleY = transform[0];\n }\n this.ctx.transform(...viewport.transform);\n this.viewportScale = viewport.scale;\n this.baseTransform = (0, _display_utils.getCurrentTransform)(this.ctx);\n }\n executeOperatorList(operatorList, executionStartIdx, continueCallback, stepper) {\n const argsArray = operatorList.argsArray;\n const fnArray = operatorList.fnArray;\n let i = executionStartIdx || 0;\n const argsArrayLen = argsArray.length;\n if (argsArrayLen === i) {\n return i;\n }\n const chunkOperations = argsArrayLen - i > EXECUTION_STEPS && typeof continueCallback === \"function\";\n const endTime = chunkOperations ? Date.now() + EXECUTION_TIME : 0;\n let steps = 0;\n const commonObjs = this.commonObjs;\n const objs = this.objs;\n let fnId;\n while (true) {\n if (stepper !== undefined && i === stepper.nextBreakPoint) {\n stepper.breakIt(i, continueCallback);\n return i;\n }\n fnId = fnArray[i];\n if (fnId !== _util.OPS.dependency) {\n this[fnId].apply(this, argsArray[i]);\n } else {\n for (const depObjId of argsArray[i]) {\n const objsPool = depObjId.startsWith(\"g_\") ? commonObjs : objs;\n if (!objsPool.has(depObjId)) {\n objsPool.get(depObjId, continueCallback);\n return i;\n }\n }\n }\n i++;\n if (i === argsArrayLen) {\n return i;\n }\n if (chunkOperations && ++steps > EXECUTION_STEPS) {\n if (Date.now() > endTime) {\n continueCallback();\n return i;\n }\n steps = 0;\n }\n }\n }\n #restoreInitialState() {\n while (this.stateStack.length || this.inSMaskMode) {\n this.restore();\n }\n this.ctx.restore();\n if (this.transparentCanvas) {\n this.ctx = this.compositeCtx;\n this.ctx.save();\n this.ctx.setTransform(1, 0, 0, 1, 0, 0);\n this.ctx.drawImage(this.transparentCanvas, 0, 0);\n this.ctx.restore();\n this.transparentCanvas = null;\n }\n }\n endDrawing() {\n this.#restoreInitialState();\n this.cachedCanvases.clear();\n this.cachedPatterns.clear();\n for (const cache of this._cachedBitmapsMap.values()) {\n for (const canvas of cache.values()) {\n if (typeof HTMLCanvasElement !== \"undefined\" && canvas instanceof HTMLCanvasElement) {\n canvas.width = canvas.height = 0;\n }\n }\n cache.clear();\n }\n this._cachedBitmapsMap.clear();\n this.#drawFilter();\n }\n #drawFilter() {\n if (this.pageColors) {\n const hcmFilterId = this.filterFactory.addHCMFilter(this.pageColors.foreground, this.pageColors.background);\n if (hcmFilterId !== \"none\") {\n const savedFilter = this.ctx.filter;\n this.ctx.filter = hcmFilterId;\n this.ctx.drawImage(this.ctx.canvas, 0, 0);\n this.ctx.filter = savedFilter;\n }\n }\n }\n _scaleImage(img, inverseTransform) {\n const width = img.width;\n const height = img.height;\n let widthScale = Math.max(Math.hypot(inverseTransform[0], inverseTransform[1]), 1);\n let heightScale = Math.max(Math.hypot(inverseTransform[2], inverseTransform[3]), 1);\n let paintWidth = width,\n paintHeight = height;\n let tmpCanvasId = \"prescale1\";\n let tmpCanvas, tmpCtx;\n while (widthScale > 2 && paintWidth > 1 || heightScale > 2 && paintHeight > 1) {\n let newWidth = paintWidth,\n newHeight = paintHeight;\n if (widthScale > 2 && paintWidth > 1) {\n newWidth = paintWidth >= 16384 ? Math.floor(paintWidth / 2) - 1 || 1 : Math.ceil(paintWidth / 2);\n widthScale /= paintWidth / newWidth;\n }\n if (heightScale > 2 && paintHeight > 1) {\n newHeight = paintHeight >= 16384 ? Math.floor(paintHeight / 2) - 1 || 1 : Math.ceil(paintHeight) / 2;\n heightScale /= paintHeight / newHeight;\n }\n tmpCanvas = this.cachedCanvases.getCanvas(tmpCanvasId, newWidth, newHeight);\n tmpCtx = tmpCanvas.context;\n tmpCtx.clearRect(0, 0, newWidth, newHeight);\n tmpCtx.drawImage(img, 0, 0, paintWidth, paintHeight, 0, 0, newWidth, newHeight);\n img = tmpCanvas.canvas;\n paintWidth = newWidth;\n paintHeight = newHeight;\n tmpCanvasId = tmpCanvasId === \"prescale1\" ? \"prescale2\" : \"prescale1\";\n }\n return {\n img,\n paintWidth,\n paintHeight\n };\n }\n _createMaskCanvas(img) {\n const ctx = this.ctx;\n const {\n width,\n height\n } = img;\n const fillColor = this.current.fillColor;\n const isPatternFill = this.current.patternFill;\n const currentTransform = (0, _display_utils.getCurrentTransform)(ctx);\n let cache, cacheKey, scaled, maskCanvas;\n if ((img.bitmap || img.data) && img.count > 1) {\n const mainKey = img.bitmap || img.data.buffer;\n cacheKey = JSON.stringify(isPatternFill ? currentTransform : [currentTransform.slice(0, 4), fillColor]);\n cache = this._cachedBitmapsMap.get(mainKey);\n if (!cache) {\n cache = new Map();\n this._cachedBitmapsMap.set(mainKey, cache);\n }\n const cachedImage = cache.get(cacheKey);\n if (cachedImage && !isPatternFill) {\n const offsetX = Math.round(Math.min(currentTransform[0], currentTransform[2]) + currentTransform[4]);\n const offsetY = Math.round(Math.min(currentTransform[1], currentTransform[3]) + currentTransform[5]);\n return {\n canvas: cachedImage,\n offsetX,\n offsetY\n };\n }\n scaled = cachedImage;\n }\n if (!scaled) {\n maskCanvas = this.cachedCanvases.getCanvas(\"maskCanvas\", width, height);\n putBinaryImageMask(maskCanvas.context, img);\n }\n let maskToCanvas = _util.Util.transform(currentTransform, [1 / width, 0, 0, -1 / height, 0, 0]);\n maskToCanvas = _util.Util.transform(maskToCanvas, [1, 0, 0, 1, 0, -height]);\n const cord1 = _util.Util.applyTransform([0, 0], maskToCanvas);\n const cord2 = _util.Util.applyTransform([width, height], maskToCanvas);\n const rect = _util.Util.normalizeRect([cord1[0], cord1[1], cord2[0], cord2[1]]);\n const drawnWidth = Math.round(rect[2] - rect[0]) || 1;\n const drawnHeight = Math.round(rect[3] - rect[1]) || 1;\n const fillCanvas = this.cachedCanvases.getCanvas(\"fillCanvas\", drawnWidth, drawnHeight);\n const fillCtx = fillCanvas.context;\n const offsetX = Math.min(cord1[0], cord2[0]);\n const offsetY = Math.min(cord1[1], cord2[1]);\n fillCtx.translate(-offsetX, -offsetY);\n fillCtx.transform(...maskToCanvas);\n if (!scaled) {\n scaled = this._scaleImage(maskCanvas.canvas, (0, _display_utils.getCurrentTransformInverse)(fillCtx));\n scaled = scaled.img;\n if (cache && isPatternFill) {\n cache.set(cacheKey, scaled);\n }\n }\n fillCtx.imageSmoothingEnabled = getImageSmoothingEnabled((0, _display_utils.getCurrentTransform)(fillCtx), img.interpolate);\n drawImageAtIntegerCoords(fillCtx, scaled, 0, 0, scaled.width, scaled.height, 0, 0, width, height);\n fillCtx.globalCompositeOperation = \"source-in\";\n const inverse = _util.Util.transform((0, _display_utils.getCurrentTransformInverse)(fillCtx), [1, 0, 0, 1, -offsetX, -offsetY]);\n fillCtx.fillStyle = isPatternFill ? fillColor.getPattern(ctx, this, inverse, _pattern_helper.PathType.FILL) : fillColor;\n fillCtx.fillRect(0, 0, width, height);\n if (cache && !isPatternFill) {\n this.cachedCanvases.delete(\"fillCanvas\");\n cache.set(cacheKey, fillCanvas.canvas);\n }\n return {\n canvas: fillCanvas.canvas,\n offsetX: Math.round(offsetX),\n offsetY: Math.round(offsetY)\n };\n }\n setLineWidth(width) {\n if (width !== this.current.lineWidth) {\n this._cachedScaleForStroking = null;\n }\n this.current.lineWidth = width;\n this.ctx.lineWidth = width;\n }\n setLineCap(style) {\n this.ctx.lineCap = LINE_CAP_STYLES[style];\n }\n setLineJoin(style) {\n this.ctx.lineJoin = LINE_JOIN_STYLES[style];\n }\n setMiterLimit(limit) {\n this.ctx.miterLimit = limit;\n }\n setDash(dashArray, dashPhase) {\n const ctx = this.ctx;\n if (ctx.setLineDash !== undefined) {\n ctx.setLineDash(dashArray);\n ctx.lineDashOffset = dashPhase;\n }\n }\n setRenderingIntent(intent) {}\n setFlatness(flatness) {}\n setGState(states) {\n for (const [key, value] of states) {\n switch (key) {\n case \"LW\":\n this.setLineWidth(value);\n break;\n case \"LC\":\n this.setLineCap(value);\n break;\n case \"LJ\":\n this.setLineJoin(value);\n break;\n case \"ML\":\n this.setMiterLimit(value);\n break;\n case \"D\":\n this.setDash(value[0], value[1]);\n break;\n case \"RI\":\n this.setRenderingIntent(value);\n break;\n case \"FL\":\n this.setFlatness(value);\n break;\n case \"Font\":\n this.setFont(value[0], value[1]);\n break;\n case \"CA\":\n this.current.strokeAlpha = value;\n break;\n case \"ca\":\n this.current.fillAlpha = value;\n this.ctx.globalAlpha = value;\n break;\n case \"BM\":\n this.ctx.globalCompositeOperation = value;\n break;\n case \"SMask\":\n this.current.activeSMask = value ? this.tempSMask : null;\n this.tempSMask = null;\n this.checkSMaskState();\n break;\n case \"TR\":\n this.ctx.filter = this.current.transferMaps = this.filterFactory.addFilter(value);\n break;\n }\n }\n }\n get inSMaskMode() {\n return !!this.suspendedCtx;\n }\n checkSMaskState() {\n const inSMaskMode = this.inSMaskMode;\n if (this.current.activeSMask && !inSMaskMode) {\n this.beginSMaskMode();\n } else if (!this.current.activeSMask && inSMaskMode) {\n this.endSMaskMode();\n }\n }\n beginSMaskMode() {\n if (this.inSMaskMode) {\n throw new Error(\"beginSMaskMode called while already in smask mode\");\n }\n const drawnWidth = this.ctx.canvas.width;\n const drawnHeight = this.ctx.canvas.height;\n const cacheId = \"smaskGroupAt\" + this.groupLevel;\n const scratchCanvas = this.cachedCanvases.getCanvas(cacheId, drawnWidth, drawnHeight);\n this.suspendedCtx = this.ctx;\n this.ctx = scratchCanvas.context;\n const ctx = this.ctx;\n ctx.setTransform(...(0, _display_utils.getCurrentTransform)(this.suspendedCtx));\n copyCtxState(this.suspendedCtx, ctx);\n mirrorContextOperations(ctx, this.suspendedCtx);\n this.setGState([[\"BM\", \"source-over\"], [\"ca\", 1], [\"CA\", 1]]);\n }\n endSMaskMode() {\n if (!this.inSMaskMode) {\n throw new Error(\"endSMaskMode called while not in smask mode\");\n }\n this.ctx._removeMirroring();\n copyCtxState(this.ctx, this.suspendedCtx);\n this.ctx = this.suspendedCtx;\n this.suspendedCtx = null;\n }\n compose(dirtyBox) {\n if (!this.current.activeSMask) {\n return;\n }\n if (!dirtyBox) {\n dirtyBox = [0, 0, this.ctx.canvas.width, this.ctx.canvas.height];\n } else {\n dirtyBox[0] = Math.floor(dirtyBox[0]);\n dirtyBox[1] = Math.floor(dirtyBox[1]);\n dirtyBox[2] = Math.ceil(dirtyBox[2]);\n dirtyBox[3] = Math.ceil(dirtyBox[3]);\n }\n const smask = this.current.activeSMask;\n const suspendedCtx = this.suspendedCtx;\n composeSMask(suspendedCtx, smask, this.ctx, dirtyBox);\n this.ctx.save();\n this.ctx.setTransform(1, 0, 0, 1, 0, 0);\n this.ctx.clearRect(0, 0, this.ctx.canvas.width, this.ctx.canvas.height);\n this.ctx.restore();\n }\n save() {\n if (this.inSMaskMode) {\n copyCtxState(this.ctx, this.suspendedCtx);\n this.suspendedCtx.save();\n } else {\n this.ctx.save();\n }\n const old = this.current;\n this.stateStack.push(old);\n this.current = old.clone();\n }\n restore() {\n if (this.stateStack.length === 0 && this.inSMaskMode) {\n this.endSMaskMode();\n }\n if (this.stateStack.length !== 0) {\n this.current = this.stateStack.pop();\n if (this.inSMaskMode) {\n this.suspendedCtx.restore();\n copyCtxState(this.suspendedCtx, this.ctx);\n } else {\n this.ctx.restore();\n }\n this.checkSMaskState();\n this.pendingClip = null;\n this._cachedScaleForStroking = null;\n this._cachedGetSinglePixelWidth = null;\n }\n }\n transform(a, b, c, d, e, f) {\n this.ctx.transform(a, b, c, d, e, f);\n this._cachedScaleForStroking = null;\n this._cachedGetSinglePixelWidth = null;\n }\n constructPath(ops, args, minMax) {\n const ctx = this.ctx;\n const current = this.current;\n let x = current.x,\n y = current.y;\n let startX, startY;\n const currentTransform = (0, _display_utils.getCurrentTransform)(ctx);\n const isScalingMatrix = currentTransform[0] === 0 && currentTransform[3] === 0 || currentTransform[1] === 0 && currentTransform[2] === 0;\n const minMaxForBezier = isScalingMatrix ? minMax.slice(0) : null;\n for (let i = 0, j = 0, ii = ops.length; i < ii; i++) {\n switch (ops[i] | 0) {\n case _util.OPS.rectangle:\n x = args[j++];\n y = args[j++];\n const width = args[j++];\n const height = args[j++];\n const xw = x + width;\n const yh = y + height;\n ctx.moveTo(x, y);\n if (width === 0 || height === 0) {\n ctx.lineTo(xw, yh);\n } else {\n ctx.lineTo(xw, y);\n ctx.lineTo(xw, yh);\n ctx.lineTo(x, yh);\n }\n if (!isScalingMatrix) {\n current.updateRectMinMax(currentTransform, [x, y, xw, yh]);\n }\n ctx.closePath();\n break;\n case _util.OPS.moveTo:\n x = args[j++];\n y = args[j++];\n ctx.moveTo(x, y);\n if (!isScalingMatrix) {\n current.updatePathMinMax(currentTransform, x, y);\n }\n break;\n case _util.OPS.lineTo:\n x = args[j++];\n y = args[j++];\n ctx.lineTo(x, y);\n if (!isScalingMatrix) {\n current.updatePathMinMax(currentTransform, x, y);\n }\n break;\n case _util.OPS.curveTo:\n startX = x;\n startY = y;\n x = args[j + 4];\n y = args[j + 5];\n ctx.bezierCurveTo(args[j], args[j + 1], args[j + 2], args[j + 3], x, y);\n current.updateCurvePathMinMax(currentTransform, startX, startY, args[j], args[j + 1], args[j + 2], args[j + 3], x, y, minMaxForBezier);\n j += 6;\n break;\n case _util.OPS.curveTo2:\n startX = x;\n startY = y;\n ctx.bezierCurveTo(x, y, args[j], args[j + 1], args[j + 2], args[j + 3]);\n current.updateCurvePathMinMax(currentTransform, startX, startY, x, y, args[j], args[j + 1], args[j + 2], args[j + 3], minMaxForBezier);\n x = args[j + 2];\n y = args[j + 3];\n j += 4;\n break;\n case _util.OPS.curveTo3:\n startX = x;\n startY = y;\n x = args[j + 2];\n y = args[j + 3];\n ctx.bezierCurveTo(args[j], args[j + 1], x, y, x, y);\n current.updateCurvePathMinMax(currentTransform, startX, startY, args[j], args[j + 1], x, y, x, y, minMaxForBezier);\n j += 4;\n break;\n case _util.OPS.closePath:\n ctx.closePath();\n break;\n }\n }\n if (isScalingMatrix) {\n current.updateScalingPathMinMax(currentTransform, minMaxForBezier);\n }\n current.setCurrentPoint(x, y);\n }\n closePath() {\n this.ctx.closePath();\n }\n stroke(consumePath = true) {\n const ctx = this.ctx;\n const strokeColor = this.current.strokeColor;\n ctx.globalAlpha = this.current.strokeAlpha;\n if (this.contentVisible) {\n if (typeof strokeColor === \"object\" && strokeColor?.getPattern) {\n ctx.save();\n ctx.strokeStyle = strokeColor.getPattern(ctx, this, (0, _display_utils.getCurrentTransformInverse)(ctx), _pattern_helper.PathType.STROKE);\n this.rescaleAndStroke(false);\n ctx.restore();\n } else {\n this.rescaleAndStroke(true);\n }\n }\n if (consumePath) {\n this.consumePath(this.current.getClippedPathBoundingBox());\n }\n ctx.globalAlpha = this.current.fillAlpha;\n }\n closeStroke() {\n this.closePath();\n this.stroke();\n }\n fill(consumePath = true) {\n const ctx = this.ctx;\n const fillColor = this.current.fillColor;\n const isPatternFill = this.current.patternFill;\n let needRestore = false;\n if (isPatternFill) {\n ctx.save();\n ctx.fillStyle = fillColor.getPattern(ctx, this, (0, _display_utils.getCurrentTransformInverse)(ctx), _pattern_helper.PathType.FILL);\n needRestore = true;\n }\n const intersect = this.current.getClippedPathBoundingBox();\n if (this.contentVisible && intersect !== null) {\n if (this.pendingEOFill) {\n ctx.fill(\"evenodd\");\n this.pendingEOFill = false;\n } else {\n ctx.fill();\n }\n }\n if (needRestore) {\n ctx.restore();\n }\n if (consumePath) {\n this.consumePath(intersect);\n }\n }\n eoFill() {\n this.pendingEOFill = true;\n this.fill();\n }\n fillStroke() {\n this.fill(false);\n this.stroke(false);\n this.consumePath();\n }\n eoFillStroke() {\n this.pendingEOFill = true;\n this.fillStroke();\n }\n closeFillStroke() {\n this.closePath();\n this.fillStroke();\n }\n closeEOFillStroke() {\n this.pendingEOFill = true;\n this.closePath();\n this.fillStroke();\n }\n endPath() {\n this.consumePath();\n }\n clip() {\n this.pendingClip = NORMAL_CLIP;\n }\n eoClip() {\n this.pendingClip = EO_CLIP;\n }\n beginText() {\n this.current.textMatrix = _util.IDENTITY_MATRIX;\n this.current.textMatrixScale = 1;\n this.current.x = this.current.lineX = 0;\n this.current.y = this.current.lineY = 0;\n }\n endText() {\n const paths = this.pendingTextPaths;\n const ctx = this.ctx;\n if (paths === undefined) {\n ctx.beginPath();\n return;\n }\n ctx.save();\n ctx.beginPath();\n for (const path of paths) {\n ctx.setTransform(...path.transform);\n ctx.translate(path.x, path.y);\n path.addToPath(ctx, path.fontSize);\n }\n ctx.restore();\n ctx.clip();\n ctx.beginPath();\n delete this.pendingTextPaths;\n }\n setCharSpacing(spacing) {\n this.current.charSpacing = spacing;\n }\n setWordSpacing(spacing) {\n this.current.wordSpacing = spacing;\n }\n setHScale(scale) {\n this.current.textHScale = scale / 100;\n }\n setLeading(leading) {\n this.current.leading = -leading;\n }\n setFont(fontRefName, size) {\n const fontObj = this.commonObjs.get(fontRefName);\n const current = this.current;\n if (!fontObj) {\n throw new Error(`Can't find font for ${fontRefName}`);\n }\n current.fontMatrix = fontObj.fontMatrix || _util.FONT_IDENTITY_MATRIX;\n if (current.fontMatrix[0] === 0 || current.fontMatrix[3] === 0) {\n (0, _util.warn)(\"Invalid font matrix for font \" + fontRefName);\n }\n if (size < 0) {\n size = -size;\n current.fontDirection = -1;\n } else {\n current.fontDirection = 1;\n }\n this.current.font = fontObj;\n this.current.fontSize = size;\n if (fontObj.isType3Font) {\n return;\n }\n const name = fontObj.loadedName || \"sans-serif\";\n let bold = \"normal\";\n if (fontObj.black) {\n bold = \"900\";\n } else if (fontObj.bold) {\n bold = \"bold\";\n }\n const italic = fontObj.italic ? \"italic\" : \"normal\";\n const typeface = `\"${name}\", ${fontObj.fallbackName}`;\n let browserFontSize = size;\n if (size < MIN_FONT_SIZE) {\n browserFontSize = MIN_FONT_SIZE;\n } else if (size > MAX_FONT_SIZE) {\n browserFontSize = MAX_FONT_SIZE;\n }\n this.current.fontSizeScale = size / browserFontSize;\n this.ctx.font = `${italic} ${bold} ${browserFontSize}px ${typeface}`;\n }\n setTextRenderingMode(mode) {\n this.current.textRenderingMode = mode;\n }\n setTextRise(rise) {\n this.current.textRise = rise;\n }\n moveText(x, y) {\n this.current.x = this.current.lineX += x;\n this.current.y = this.current.lineY += y;\n }\n setLeadingMoveText(x, y) {\n this.setLeading(-y);\n this.moveText(x, y);\n }\n setTextMatrix(a, b, c, d, e, f) {\n this.current.textMatrix = [a, b, c, d, e, f];\n this.current.textMatrixScale = Math.hypot(a, b);\n this.current.x = this.current.lineX = 0;\n this.current.y = this.current.lineY = 0;\n }\n nextLine() {\n this.moveText(0, this.current.leading);\n }\n paintChar(character, x, y, patternTransform) {\n const ctx = this.ctx;\n const current = this.current;\n const font = current.font;\n const textRenderingMode = current.textRenderingMode;\n const fontSize = current.fontSize / current.fontSizeScale;\n const fillStrokeMode = textRenderingMode & _util.TextRenderingMode.FILL_STROKE_MASK;\n const isAddToPathSet = !!(textRenderingMode & _util.TextRenderingMode.ADD_TO_PATH_FLAG);\n const patternFill = current.patternFill && !font.missingFile;\n let addToPath;\n if (font.disableFontFace || isAddToPathSet || patternFill) {\n addToPath = font.getPathGenerator(this.commonObjs, character);\n }\n if (font.disableFontFace || patternFill) {\n ctx.save();\n ctx.translate(x, y);\n ctx.beginPath();\n addToPath(ctx, fontSize);\n if (patternTransform) {\n ctx.setTransform(...patternTransform);\n }\n if (fillStrokeMode === _util.TextRenderingMode.FILL || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) {\n ctx.fill();\n }\n if (fillStrokeMode === _util.TextRenderingMode.STROKE || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) {\n ctx.stroke();\n }\n ctx.restore();\n } else {\n if (fillStrokeMode === _util.TextRenderingMode.FILL || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) {\n ctx.fillText(character, x, y);\n }\n if (fillStrokeMode === _util.TextRenderingMode.STROKE || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) {\n ctx.strokeText(character, x, y);\n }\n }\n if (isAddToPathSet) {\n const paths = this.pendingTextPaths || (this.pendingTextPaths = []);\n paths.push({\n transform: (0, _display_utils.getCurrentTransform)(ctx),\n x,\n y,\n fontSize,\n addToPath\n });\n }\n }\n get isFontSubpixelAAEnabled() {\n const {\n context: ctx\n } = this.cachedCanvases.getCanvas(\"isFontSubpixelAAEnabled\", 10, 10);\n ctx.scale(1.5, 1);\n ctx.fillText(\"I\", 0, 10);\n const data = ctx.getImageData(0, 0, 10, 10).data;\n let enabled = false;\n for (let i = 3; i < data.length; i += 4) {\n if (data[i] > 0 && data[i] < 255) {\n enabled = true;\n break;\n }\n }\n return (0, _util.shadow)(this, \"isFontSubpixelAAEnabled\", enabled);\n }\n showText(glyphs) {\n const current = this.current;\n const font = current.font;\n if (font.isType3Font) {\n return this.showType3Text(glyphs);\n }\n const fontSize = current.fontSize;\n if (fontSize === 0) {\n return undefined;\n }\n const ctx = this.ctx;\n const fontSizeScale = current.fontSizeScale;\n const charSpacing = current.charSpacing;\n const wordSpacing = current.wordSpacing;\n const fontDirection = current.fontDirection;\n const textHScale = current.textHScale * fontDirection;\n const glyphsLength = glyphs.length;\n const vertical = font.vertical;\n const spacingDir = vertical ? 1 : -1;\n const defaultVMetrics = font.defaultVMetrics;\n const widthAdvanceScale = fontSize * current.fontMatrix[0];\n const simpleFillText = current.textRenderingMode === _util.TextRenderingMode.FILL && !font.disableFontFace && !current.patternFill;\n ctx.save();\n ctx.transform(...current.textMatrix);\n ctx.translate(current.x, current.y + current.textRise);\n if (fontDirection > 0) {\n ctx.scale(textHScale, -1);\n } else {\n ctx.scale(textHScale, 1);\n }\n let patternTransform;\n if (current.patternFill) {\n ctx.save();\n const pattern = current.fillColor.getPattern(ctx, this, (0, _display_utils.getCurrentTransformInverse)(ctx), _pattern_helper.PathType.FILL);\n patternTransform = (0, _display_utils.getCurrentTransform)(ctx);\n ctx.restore();\n ctx.fillStyle = pattern;\n }\n let lineWidth = current.lineWidth;\n const scale = current.textMatrixScale;\n if (scale === 0 || lineWidth === 0) {\n const fillStrokeMode = current.textRenderingMode & _util.TextRenderingMode.FILL_STROKE_MASK;\n if (fillStrokeMode === _util.TextRenderingMode.STROKE || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) {\n lineWidth = this.getSinglePixelWidth();\n }\n } else {\n lineWidth /= scale;\n }\n if (fontSizeScale !== 1.0) {\n ctx.scale(fontSizeScale, fontSizeScale);\n lineWidth /= fontSizeScale;\n }\n ctx.lineWidth = lineWidth;\n if (font.isInvalidPDFjsFont) {\n const chars = [];\n let width = 0;\n for (const glyph of glyphs) {\n chars.push(glyph.unicode);\n width += glyph.width;\n }\n ctx.fillText(chars.join(\"\"), 0, 0);\n current.x += width * widthAdvanceScale * textHScale;\n ctx.restore();\n this.compose();\n return undefined;\n }\n let x = 0,\n i;\n for (i = 0; i < glyphsLength; ++i) {\n const glyph = glyphs[i];\n if (typeof glyph === \"number\") {\n x += spacingDir * glyph * fontSize / 1000;\n continue;\n }\n let restoreNeeded = false;\n const spacing = (glyph.isSpace ? wordSpacing : 0) + charSpacing;\n const character = glyph.fontChar;\n const accent = glyph.accent;\n let scaledX, scaledY;\n let width = glyph.width;\n if (vertical) {\n const vmetric = glyph.vmetric || defaultVMetrics;\n const vx = -(glyph.vmetric ? vmetric[1] : width * 0.5) * widthAdvanceScale;\n const vy = vmetric[2] * widthAdvanceScale;\n width = vmetric ? -vmetric[0] : width;\n scaledX = vx / fontSizeScale;\n scaledY = (x + vy) / fontSizeScale;\n } else {\n scaledX = x / fontSizeScale;\n scaledY = 0;\n }\n if (font.remeasure && width > 0) {\n const measuredWidth = ctx.measureText(character).width * 1000 / fontSize * fontSizeScale;\n if (width < measuredWidth && this.isFontSubpixelAAEnabled) {\n const characterScaleX = width / measuredWidth;\n restoreNeeded = true;\n ctx.save();\n ctx.scale(characterScaleX, 1);\n scaledX /= characterScaleX;\n } else if (width !== measuredWidth) {\n scaledX += (width - measuredWidth) / 2000 * fontSize / fontSizeScale;\n }\n }\n if (this.contentVisible && (glyph.isInFont || font.missingFile)) {\n if (simpleFillText && !accent) {\n ctx.fillText(character, scaledX, scaledY);\n } else {\n this.paintChar(character, scaledX, scaledY, patternTransform);\n if (accent) {\n const scaledAccentX = scaledX + fontSize * accent.offset.x / fontSizeScale;\n const scaledAccentY = scaledY - fontSize * accent.offset.y / fontSizeScale;\n this.paintChar(accent.fontChar, scaledAccentX, scaledAccentY, patternTransform);\n }\n }\n }\n let charWidth;\n if (vertical) {\n charWidth = width * widthAdvanceScale - spacing * fontDirection;\n } else {\n charWidth = width * widthAdvanceScale + spacing * fontDirection;\n }\n x += charWidth;\n if (restoreNeeded) {\n ctx.restore();\n }\n }\n if (vertical) {\n current.y -= x;\n } else {\n current.x += x * textHScale;\n }\n ctx.restore();\n this.compose();\n return undefined;\n }\n showType3Text(glyphs) {\n const ctx = this.ctx;\n const current = this.current;\n const font = current.font;\n const fontSize = current.fontSize;\n const fontDirection = current.fontDirection;\n const spacingDir = font.vertical ? 1 : -1;\n const charSpacing = current.charSpacing;\n const wordSpacing = current.wordSpacing;\n const textHScale = current.textHScale * fontDirection;\n const fontMatrix = current.fontMatrix || _util.FONT_IDENTITY_MATRIX;\n const glyphsLength = glyphs.length;\n const isTextInvisible = current.textRenderingMode === _util.TextRenderingMode.INVISIBLE;\n let i, glyph, width, spacingLength;\n if (isTextInvisible || fontSize === 0) {\n return;\n }\n this._cachedScaleForStroking = null;\n this._cachedGetSinglePixelWidth = null;\n ctx.save();\n ctx.transform(...current.textMatrix);\n ctx.translate(current.x, current.y);\n ctx.scale(textHScale, fontDirection);\n for (i = 0; i < glyphsLength; ++i) {\n glyph = glyphs[i];\n if (typeof glyph === \"number\") {\n spacingLength = spacingDir * glyph * fontSize / 1000;\n this.ctx.translate(spacingLength, 0);\n current.x += spacingLength * textHScale;\n continue;\n }\n const spacing = (glyph.isSpace ? wordSpacing : 0) + charSpacing;\n const operatorList = font.charProcOperatorList[glyph.operatorListId];\n if (!operatorList) {\n (0, _util.warn)(`Type3 character \"${glyph.operatorListId}\" is not available.`);\n continue;\n }\n if (this.contentVisible) {\n this.processingType3 = glyph;\n this.save();\n ctx.scale(fontSize, fontSize);\n ctx.transform(...fontMatrix);\n this.executeOperatorList(operatorList);\n this.restore();\n }\n const transformed = _util.Util.applyTransform([glyph.width, 0], fontMatrix);\n width = transformed[0] * fontSize + spacing;\n ctx.translate(width, 0);\n current.x += width * textHScale;\n }\n ctx.restore();\n this.processingType3 = null;\n }\n setCharWidth(xWidth, yWidth) {}\n setCharWidthAndBounds(xWidth, yWidth, llx, lly, urx, ury) {\n this.ctx.rect(llx, lly, urx - llx, ury - lly);\n this.ctx.clip();\n this.endPath();\n }\n getColorN_Pattern(IR) {\n let pattern;\n if (IR[0] === \"TilingPattern\") {\n const color = IR[1];\n const baseTransform = this.baseTransform || (0, _display_utils.getCurrentTransform)(this.ctx);\n const canvasGraphicsFactory = {\n createCanvasGraphics: ctx => {\n return new CanvasGraphics(ctx, this.commonObjs, this.objs, this.canvasFactory, this.filterFactory, {\n optionalContentConfig: this.optionalContentConfig,\n markedContentStack: this.markedContentStack\n });\n }\n };\n pattern = new _pattern_helper.TilingPattern(IR, color, this.ctx, canvasGraphicsFactory, baseTransform);\n } else {\n pattern = this._getPattern(IR[1], IR[2]);\n }\n return pattern;\n }\n setStrokeColorN() {\n this.current.strokeColor = this.getColorN_Pattern(arguments);\n }\n setFillColorN() {\n this.current.fillColor = this.getColorN_Pattern(arguments);\n this.current.patternFill = true;\n }\n setStrokeRGBColor(r, g, b) {\n const color = _util.Util.makeHexColor(r, g, b);\n this.ctx.strokeStyle = color;\n this.current.strokeColor = color;\n }\n setFillRGBColor(r, g, b) {\n const color = _util.Util.makeHexColor(r, g, b);\n this.ctx.fillStyle = color;\n this.current.fillColor = color;\n this.current.patternFill = false;\n }\n _getPattern(objId, matrix = null) {\n let pattern;\n if (this.cachedPatterns.has(objId)) {\n pattern = this.cachedPatterns.get(objId);\n } else {\n pattern = (0, _pattern_helper.getShadingPattern)(this.getObject(objId));\n this.cachedPatterns.set(objId, pattern);\n }\n if (matrix) {\n pattern.matrix = matrix;\n }\n return pattern;\n }\n shadingFill(objId) {\n if (!this.contentVisible) {\n return;\n }\n const ctx = this.ctx;\n this.save();\n const pattern = this._getPattern(objId);\n ctx.fillStyle = pattern.getPattern(ctx, this, (0, _display_utils.getCurrentTransformInverse)(ctx), _pattern_helper.PathType.SHADING);\n const inv = (0, _display_utils.getCurrentTransformInverse)(ctx);\n if (inv) {\n const canvas = ctx.canvas;\n const width = canvas.width;\n const height = canvas.height;\n const bl = _util.Util.applyTransform([0, 0], inv);\n const br = _util.Util.applyTransform([0, height], inv);\n const ul = _util.Util.applyTransform([width, 0], inv);\n const ur = _util.Util.applyTransform([width, height], inv);\n const x0 = Math.min(bl[0], br[0], ul[0], ur[0]);\n const y0 = Math.min(bl[1], br[1], ul[1], ur[1]);\n const x1 = Math.max(bl[0], br[0], ul[0], ur[0]);\n const y1 = Math.max(bl[1], br[1], ul[1], ur[1]);\n this.ctx.fillRect(x0, y0, x1 - x0, y1 - y0);\n } else {\n this.ctx.fillRect(-1e10, -1e10, 2e10, 2e10);\n }\n this.compose(this.current.getClippedPathBoundingBox());\n this.restore();\n }\n beginInlineImage() {\n (0, _util.unreachable)(\"Should not call beginInlineImage\");\n }\n beginImageData() {\n (0, _util.unreachable)(\"Should not call beginImageData\");\n }\n paintFormXObjectBegin(matrix, bbox) {\n if (!this.contentVisible) {\n return;\n }\n this.save();\n this.baseTransformStack.push(this.baseTransform);\n if (Array.isArray(matrix) && matrix.length === 6) {\n this.transform(...matrix);\n }\n this.baseTransform = (0, _display_utils.getCurrentTransform)(this.ctx);\n if (bbox) {\n const width = bbox[2] - bbox[0];\n const height = bbox[3] - bbox[1];\n this.ctx.rect(bbox[0], bbox[1], width, height);\n this.current.updateRectMinMax((0, _display_utils.getCurrentTransform)(this.ctx), bbox);\n this.clip();\n this.endPath();\n }\n }\n paintFormXObjectEnd() {\n if (!this.contentVisible) {\n return;\n }\n this.restore();\n this.baseTransform = this.baseTransformStack.pop();\n }\n beginGroup(group) {\n if (!this.contentVisible) {\n return;\n }\n this.save();\n if (this.inSMaskMode) {\n this.endSMaskMode();\n this.current.activeSMask = null;\n }\n const currentCtx = this.ctx;\n if (!group.isolated) {\n (0, _util.info)(\"TODO: Support non-isolated groups.\");\n }\n if (group.knockout) {\n (0, _util.warn)(\"Knockout groups not supported.\");\n }\n const currentTransform = (0, _display_utils.getCurrentTransform)(currentCtx);\n if (group.matrix) {\n currentCtx.transform(...group.matrix);\n }\n if (!group.bbox) {\n throw new Error(\"Bounding box is required.\");\n }\n let bounds = _util.Util.getAxialAlignedBoundingBox(group.bbox, (0, _display_utils.getCurrentTransform)(currentCtx));\n const canvasBounds = [0, 0, currentCtx.canvas.width, currentCtx.canvas.height];\n bounds = _util.Util.intersect(bounds, canvasBounds) || [0, 0, 0, 0];\n const offsetX = Math.floor(bounds[0]);\n const offsetY = Math.floor(bounds[1]);\n let drawnWidth = Math.max(Math.ceil(bounds[2]) - offsetX, 1);\n let drawnHeight = Math.max(Math.ceil(bounds[3]) - offsetY, 1);\n let scaleX = 1,\n scaleY = 1;\n if (drawnWidth > MAX_GROUP_SIZE) {\n scaleX = drawnWidth / MAX_GROUP_SIZE;\n drawnWidth = MAX_GROUP_SIZE;\n }\n if (drawnHeight > MAX_GROUP_SIZE) {\n scaleY = drawnHeight / MAX_GROUP_SIZE;\n drawnHeight = MAX_GROUP_SIZE;\n }\n this.current.startNewPathAndClipBox([0, 0, drawnWidth, drawnHeight]);\n let cacheId = \"groupAt\" + this.groupLevel;\n if (group.smask) {\n cacheId += \"_smask_\" + this.smaskCounter++ % 2;\n }\n const scratchCanvas = this.cachedCanvases.getCanvas(cacheId, drawnWidth, drawnHeight);\n const groupCtx = scratchCanvas.context;\n groupCtx.scale(1 / scaleX, 1 / scaleY);\n groupCtx.translate(-offsetX, -offsetY);\n groupCtx.transform(...currentTransform);\n if (group.smask) {\n this.smaskStack.push({\n canvas: scratchCanvas.canvas,\n context: groupCtx,\n offsetX,\n offsetY,\n scaleX,\n scaleY,\n subtype: group.smask.subtype,\n backdrop: group.smask.backdrop,\n transferMap: group.smask.transferMap || null,\n startTransformInverse: null\n });\n } else {\n currentCtx.setTransform(1, 0, 0, 1, 0, 0);\n currentCtx.translate(offsetX, offsetY);\n currentCtx.scale(scaleX, scaleY);\n currentCtx.save();\n }\n copyCtxState(currentCtx, groupCtx);\n this.ctx = groupCtx;\n this.setGState([[\"BM\", \"source-over\"], [\"ca\", 1], [\"CA\", 1]]);\n this.groupStack.push(currentCtx);\n this.groupLevel++;\n }\n endGroup(group) {\n if (!this.contentVisible) {\n return;\n }\n this.groupLevel--;\n const groupCtx = this.ctx;\n const ctx = this.groupStack.pop();\n this.ctx = ctx;\n this.ctx.imageSmoothingEnabled = false;\n if (group.smask) {\n this.tempSMask = this.smaskStack.pop();\n this.restore();\n } else {\n this.ctx.restore();\n const currentMtx = (0, _display_utils.getCurrentTransform)(this.ctx);\n this.restore();\n this.ctx.save();\n this.ctx.setTransform(...currentMtx);\n const dirtyBox = _util.Util.getAxialAlignedBoundingBox([0, 0, groupCtx.canvas.width, groupCtx.canvas.height], currentMtx);\n this.ctx.drawImage(groupCtx.canvas, 0, 0);\n this.ctx.restore();\n this.compose(dirtyBox);\n }\n }\n beginAnnotation(id, rect, transform, matrix, hasOwnCanvas) {\n this.#restoreInitialState();\n resetCtxToDefault(this.ctx);\n this.ctx.save();\n this.save();\n if (this.baseTransform) {\n this.ctx.setTransform(...this.baseTransform);\n }\n if (Array.isArray(rect) && rect.length === 4) {\n const width = rect[2] - rect[0];\n const height = rect[3] - rect[1];\n if (hasOwnCanvas && this.annotationCanvasMap) {\n transform = transform.slice();\n transform[4] -= rect[0];\n transform[5] -= rect[1];\n rect = rect.slice();\n rect[0] = rect[1] = 0;\n rect[2] = width;\n rect[3] = height;\n const [scaleX, scaleY] = _util.Util.singularValueDecompose2dScale((0, _display_utils.getCurrentTransform)(this.ctx));\n const {\n viewportScale\n } = this;\n const canvasWidth = Math.ceil(width * this.outputScaleX * viewportScale);\n const canvasHeight = Math.ceil(height * this.outputScaleY * viewportScale);\n this.annotationCanvas = this.canvasFactory.create(canvasWidth, canvasHeight);\n const {\n canvas,\n context\n } = this.annotationCanvas;\n this.annotationCanvasMap.set(id, canvas);\n this.annotationCanvas.savedCtx = this.ctx;\n this.ctx = context;\n this.ctx.save();\n this.ctx.setTransform(scaleX, 0, 0, -scaleY, 0, height * scaleY);\n resetCtxToDefault(this.ctx);\n } else {\n resetCtxToDefault(this.ctx);\n this.ctx.rect(rect[0], rect[1], width, height);\n this.ctx.clip();\n this.endPath();\n }\n }\n this.current = new CanvasExtraState(this.ctx.canvas.width, this.ctx.canvas.height);\n this.transform(...transform);\n this.transform(...matrix);\n }\n endAnnotation() {\n if (this.annotationCanvas) {\n this.ctx.restore();\n this.#drawFilter();\n this.ctx = this.annotationCanvas.savedCtx;\n delete this.annotationCanvas.savedCtx;\n delete this.annotationCanvas;\n }\n }\n paintImageMaskXObject(img) {\n if (!this.contentVisible) {\n return;\n }\n const count = img.count;\n img = this.getObject(img.data, img);\n img.count = count;\n const ctx = this.ctx;\n const glyph = this.processingType3;\n if (glyph) {\n if (glyph.compiled === undefined) {\n glyph.compiled = compileType3Glyph(img);\n }\n if (glyph.compiled) {\n glyph.compiled(ctx);\n return;\n }\n }\n const mask = this._createMaskCanvas(img);\n const maskCanvas = mask.canvas;\n ctx.save();\n ctx.setTransform(1, 0, 0, 1, 0, 0);\n ctx.drawImage(maskCanvas, mask.offsetX, mask.offsetY);\n ctx.restore();\n this.compose();\n }\n paintImageMaskXObjectRepeat(img, scaleX, skewX = 0, skewY = 0, scaleY, positions) {\n if (!this.contentVisible) {\n return;\n }\n img = this.getObject(img.data, img);\n const ctx = this.ctx;\n ctx.save();\n const currentTransform = (0, _display_utils.getCurrentTransform)(ctx);\n ctx.transform(scaleX, skewX, skewY, scaleY, 0, 0);\n const mask = this._createMaskCanvas(img);\n ctx.setTransform(1, 0, 0, 1, mask.offsetX - currentTransform[4], mask.offsetY - currentTransform[5]);\n for (let i = 0, ii = positions.length; i < ii; i += 2) {\n const trans = _util.Util.transform(currentTransform, [scaleX, skewX, skewY, scaleY, positions[i], positions[i + 1]]);\n const [x, y] = _util.Util.applyTransform([0, 0], trans);\n ctx.drawImage(mask.canvas, x, y);\n }\n ctx.restore();\n this.compose();\n }\n paintImageMaskXObjectGroup(images) {\n if (!this.contentVisible) {\n return;\n }\n const ctx = this.ctx;\n const fillColor = this.current.fillColor;\n const isPatternFill = this.current.patternFill;\n for (const image of images) {\n const {\n data,\n width,\n height,\n transform\n } = image;\n const maskCanvas = this.cachedCanvases.getCanvas(\"maskCanvas\", width, height);\n const maskCtx = maskCanvas.context;\n maskCtx.save();\n const img = this.getObject(data, image);\n putBinaryImageMask(maskCtx, img);\n maskCtx.globalCompositeOperation = \"source-in\";\n maskCtx.fillStyle = isPatternFill ? fillColor.getPattern(maskCtx, this, (0, _display_utils.getCurrentTransformInverse)(ctx), _pattern_helper.PathType.FILL) : fillColor;\n maskCtx.fillRect(0, 0, width, height);\n maskCtx.restore();\n ctx.save();\n ctx.transform(...transform);\n ctx.scale(1, -1);\n drawImageAtIntegerCoords(ctx, maskCanvas.canvas, 0, 0, width, height, 0, -1, 1, 1);\n ctx.restore();\n }\n this.compose();\n }\n paintImageXObject(objId) {\n if (!this.contentVisible) {\n return;\n }\n const imgData = this.getObject(objId);\n if (!imgData) {\n (0, _util.warn)(\"Dependent image isn't ready yet\");\n return;\n }\n this.paintInlineImageXObject(imgData);\n }\n paintImageXObjectRepeat(objId, scaleX, scaleY, positions) {\n if (!this.contentVisible) {\n return;\n }\n const imgData = this.getObject(objId);\n if (!imgData) {\n (0, _util.warn)(\"Dependent image isn't ready yet\");\n return;\n }\n const width = imgData.width;\n const height = imgData.height;\n const map = [];\n for (let i = 0, ii = positions.length; i < ii; i += 2) {\n map.push({\n transform: [scaleX, 0, 0, scaleY, positions[i], positions[i + 1]],\n x: 0,\n y: 0,\n w: width,\n h: height\n });\n }\n this.paintInlineImageXObjectGroup(imgData, map);\n }\n applyTransferMapsToCanvas(ctx) {\n if (this.current.transferMaps !== \"none\") {\n ctx.filter = this.current.transferMaps;\n ctx.drawImage(ctx.canvas, 0, 0);\n ctx.filter = \"none\";\n }\n return ctx.canvas;\n }\n applyTransferMapsToBitmap(imgData) {\n if (this.current.transferMaps === \"none\") {\n return imgData.bitmap;\n }\n const {\n bitmap,\n width,\n height\n } = imgData;\n const tmpCanvas = this.cachedCanvases.getCanvas(\"inlineImage\", width, height);\n const tmpCtx = tmpCanvas.context;\n tmpCtx.filter = this.current.transferMaps;\n tmpCtx.drawImage(bitmap, 0, 0);\n tmpCtx.filter = \"none\";\n return tmpCanvas.canvas;\n }\n paintInlineImageXObject(imgData) {\n if (!this.contentVisible) {\n return;\n }\n const width = imgData.width;\n const height = imgData.height;\n const ctx = this.ctx;\n this.save();\n if (!_is_node.isNodeJS) {\n ctx.filter = \"none\";\n }\n ctx.scale(1 / width, -1 / height);\n let imgToPaint;\n if (imgData.bitmap) {\n imgToPaint = this.applyTransferMapsToBitmap(imgData);\n } else if (typeof HTMLElement === \"function\" && imgData instanceof HTMLElement || !imgData.data) {\n imgToPaint = imgData;\n } else {\n const tmpCanvas = this.cachedCanvases.getCanvas(\"inlineImage\", width, height);\n const tmpCtx = tmpCanvas.context;\n putBinaryImageData(tmpCtx, imgData);\n imgToPaint = this.applyTransferMapsToCanvas(tmpCtx);\n }\n const scaled = this._scaleImage(imgToPaint, (0, _display_utils.getCurrentTransformInverse)(ctx));\n ctx.imageSmoothingEnabled = getImageSmoothingEnabled((0, _display_utils.getCurrentTransform)(ctx), imgData.interpolate);\n drawImageAtIntegerCoords(ctx, scaled.img, 0, 0, scaled.paintWidth, scaled.paintHeight, 0, -height, width, height);\n this.compose();\n this.restore();\n }\n paintInlineImageXObjectGroup(imgData, map) {\n if (!this.contentVisible) {\n return;\n }\n const ctx = this.ctx;\n let imgToPaint;\n if (imgData.bitmap) {\n imgToPaint = imgData.bitmap;\n } else {\n const w = imgData.width;\n const h = imgData.height;\n const tmpCanvas = this.cachedCanvases.getCanvas(\"inlineImage\", w, h);\n const tmpCtx = tmpCanvas.context;\n putBinaryImageData(tmpCtx, imgData);\n imgToPaint = this.applyTransferMapsToCanvas(tmpCtx);\n }\n for (const entry of map) {\n ctx.save();\n ctx.transform(...entry.transform);\n ctx.scale(1, -1);\n drawImageAtIntegerCoords(ctx, imgToPaint, entry.x, entry.y, entry.w, entry.h, 0, -1, 1, 1);\n ctx.restore();\n }\n this.compose();\n }\n paintSolidColorImageMask() {\n if (!this.contentVisible) {\n return;\n }\n this.ctx.fillRect(0, 0, 1, 1);\n this.compose();\n }\n markPoint(tag) {}\n markPointProps(tag, properties) {}\n beginMarkedContent(tag) {\n this.markedContentStack.push({\n visible: true\n });\n }\n beginMarkedContentProps(tag, properties) {\n if (tag === \"OC\") {\n this.markedContentStack.push({\n visible: this.optionalContentConfig.isVisible(properties)\n });\n } else {\n this.markedContentStack.push({\n visible: true\n });\n }\n this.contentVisible = this.isContentVisible();\n }\n endMarkedContent() {\n this.markedContentStack.pop();\n this.contentVisible = this.isContentVisible();\n }\n beginCompat() {}\n endCompat() {}\n consumePath(clipBox) {\n const isEmpty = this.current.isEmptyClip();\n if (this.pendingClip) {\n this.current.updateClipFromPath();\n }\n if (!this.pendingClip) {\n this.compose(clipBox);\n }\n const ctx = this.ctx;\n if (this.pendingClip) {\n if (!isEmpty) {\n if (this.pendingClip === EO_CLIP) {\n ctx.clip(\"evenodd\");\n } else {\n ctx.clip();\n }\n }\n this.pendingClip = null;\n }\n this.current.startNewPathAndClipBox(this.current.clipBox);\n ctx.beginPath();\n }\n getSinglePixelWidth() {\n if (!this._cachedGetSinglePixelWidth) {\n const m = (0, _display_utils.getCurrentTransform)(this.ctx);\n if (m[1] === 0 && m[2] === 0) {\n this._cachedGetSinglePixelWidth = 1 / Math.min(Math.abs(m[0]), Math.abs(m[3]));\n } else {\n const absDet = Math.abs(m[0] * m[3] - m[2] * m[1]);\n const normX = Math.hypot(m[0], m[2]);\n const normY = Math.hypot(m[1], m[3]);\n this._cachedGetSinglePixelWidth = Math.max(normX, normY) / absDet;\n }\n }\n return this._cachedGetSinglePixelWidth;\n }\n getScaleForStroking() {\n if (!this._cachedScaleForStroking) {\n const {\n lineWidth\n } = this.current;\n const m = (0, _display_utils.getCurrentTransform)(this.ctx);\n let scaleX, scaleY;\n if (m[1] === 0 && m[2] === 0) {\n const normX = Math.abs(m[0]);\n const normY = Math.abs(m[3]);\n if (lineWidth === 0) {\n scaleX = 1 / normX;\n scaleY = 1 / normY;\n } else {\n const scaledXLineWidth = normX * lineWidth;\n const scaledYLineWidth = normY * lineWidth;\n scaleX = scaledXLineWidth < 1 ? 1 / scaledXLineWidth : 1;\n scaleY = scaledYLineWidth < 1 ? 1 / scaledYLineWidth : 1;\n }\n } else {\n const absDet = Math.abs(m[0] * m[3] - m[2] * m[1]);\n const normX = Math.hypot(m[0], m[1]);\n const normY = Math.hypot(m[2], m[3]);\n if (lineWidth === 0) {\n scaleX = normY / absDet;\n scaleY = normX / absDet;\n } else {\n const baseArea = lineWidth * absDet;\n scaleX = normY > baseArea ? normY / baseArea : 1;\n scaleY = normX > baseArea ? normX / baseArea : 1;\n }\n }\n this._cachedScaleForStroking = [scaleX, scaleY];\n }\n return this._cachedScaleForStroking;\n }\n rescaleAndStroke(saveRestore) {\n const {\n ctx\n } = this;\n const {\n lineWidth\n } = this.current;\n const [scaleX, scaleY] = this.getScaleForStroking();\n ctx.lineWidth = lineWidth || 1;\n if (scaleX === 1 && scaleY === 1) {\n ctx.stroke();\n return;\n }\n let savedMatrix, savedDashes, savedDashOffset;\n if (saveRestore) {\n savedMatrix = (0, _display_utils.getCurrentTransform)(ctx);\n savedDashes = ctx.getLineDash().slice();\n savedDashOffset = ctx.lineDashOffset;\n }\n ctx.scale(scaleX, scaleY);\n const scale = Math.max(scaleX, scaleY);\n ctx.setLineDash(ctx.getLineDash().map(x => x / scale));\n ctx.lineDashOffset /= scale;\n ctx.stroke();\n if (saveRestore) {\n ctx.setTransform(...savedMatrix);\n ctx.setLineDash(savedDashes);\n ctx.lineDashOffset = savedDashOffset;\n }\n }\n isContentVisible() {\n for (let i = this.markedContentStack.length - 1; i >= 0; i--) {\n if (!this.markedContentStack[i].visible) {\n return false;\n }\n }\n return true;\n }\n}\nexports.CanvasGraphics = CanvasGraphics;\nfor (const op in _util.OPS) {\n if (CanvasGraphics.prototype[op] !== undefined) {\n CanvasGraphics.prototype[_util.OPS[op]] = CanvasGraphics.prototype[op];\n }\n}\n\n/***/ }),\n/* 12 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.TilingPattern = exports.PathType = void 0;\nexports.getShadingPattern = getShadingPattern;\nvar _util = __w_pdfjs_require__(1);\nvar _display_utils = __w_pdfjs_require__(6);\nconst PathType = {\n FILL: \"Fill\",\n STROKE: \"Stroke\",\n SHADING: \"Shading\"\n};\nexports.PathType = PathType;\nfunction applyBoundingBox(ctx, bbox) {\n if (!bbox) {\n return;\n }\n const width = bbox[2] - bbox[0];\n const height = bbox[3] - bbox[1];\n const region = new Path2D();\n region.rect(bbox[0], bbox[1], width, height);\n ctx.clip(region);\n}\nclass BaseShadingPattern {\n constructor() {\n if (this.constructor === BaseShadingPattern) {\n (0, _util.unreachable)(\"Cannot initialize BaseShadingPattern.\");\n }\n }\n getPattern() {\n (0, _util.unreachable)(\"Abstract method `getPattern` called.\");\n }\n}\nclass RadialAxialShadingPattern extends BaseShadingPattern {\n constructor(IR) {\n super();\n this._type = IR[1];\n this._bbox = IR[2];\n this._colorStops = IR[3];\n this._p0 = IR[4];\n this._p1 = IR[5];\n this._r0 = IR[6];\n this._r1 = IR[7];\n this.matrix = null;\n }\n _createGradient(ctx) {\n let grad;\n if (this._type === \"axial\") {\n grad = ctx.createLinearGradient(this._p0[0], this._p0[1], this._p1[0], this._p1[1]);\n } else if (this._type === \"radial\") {\n grad = ctx.createRadialGradient(this._p0[0], this._p0[1], this._r0, this._p1[0], this._p1[1], this._r1);\n }\n for (const colorStop of this._colorStops) {\n grad.addColorStop(colorStop[0], colorStop[1]);\n }\n return grad;\n }\n getPattern(ctx, owner, inverse, pathType) {\n let pattern;\n if (pathType === PathType.STROKE || pathType === PathType.FILL) {\n const ownerBBox = owner.current.getClippedPathBoundingBox(pathType, (0, _display_utils.getCurrentTransform)(ctx)) || [0, 0, 0, 0];\n const width = Math.ceil(ownerBBox[2] - ownerBBox[0]) || 1;\n const height = Math.ceil(ownerBBox[3] - ownerBBox[1]) || 1;\n const tmpCanvas = owner.cachedCanvases.getCanvas(\"pattern\", width, height, true);\n const tmpCtx = tmpCanvas.context;\n tmpCtx.clearRect(0, 0, tmpCtx.canvas.width, tmpCtx.canvas.height);\n tmpCtx.beginPath();\n tmpCtx.rect(0, 0, tmpCtx.canvas.width, tmpCtx.canvas.height);\n tmpCtx.translate(-ownerBBox[0], -ownerBBox[1]);\n inverse = _util.Util.transform(inverse, [1, 0, 0, 1, ownerBBox[0], ownerBBox[1]]);\n tmpCtx.transform(...owner.baseTransform);\n if (this.matrix) {\n tmpCtx.transform(...this.matrix);\n }\n applyBoundingBox(tmpCtx, this._bbox);\n tmpCtx.fillStyle = this._createGradient(tmpCtx);\n tmpCtx.fill();\n pattern = ctx.createPattern(tmpCanvas.canvas, \"no-repeat\");\n const domMatrix = new DOMMatrix(inverse);\n pattern.setTransform(domMatrix);\n } else {\n applyBoundingBox(ctx, this._bbox);\n pattern = this._createGradient(ctx);\n }\n return pattern;\n }\n}\nfunction drawTriangle(data, context, p1, p2, p3, c1, c2, c3) {\n const coords = context.coords,\n colors = context.colors;\n const bytes = data.data,\n rowSize = data.width * 4;\n let tmp;\n if (coords[p1 + 1] > coords[p2 + 1]) {\n tmp = p1;\n p1 = p2;\n p2 = tmp;\n tmp = c1;\n c1 = c2;\n c2 = tmp;\n }\n if (coords[p2 + 1] > coords[p3 + 1]) {\n tmp = p2;\n p2 = p3;\n p3 = tmp;\n tmp = c2;\n c2 = c3;\n c3 = tmp;\n }\n if (coords[p1 + 1] > coords[p2 + 1]) {\n tmp = p1;\n p1 = p2;\n p2 = tmp;\n tmp = c1;\n c1 = c2;\n c2 = tmp;\n }\n const x1 = (coords[p1] + context.offsetX) * context.scaleX;\n const y1 = (coords[p1 + 1] + context.offsetY) * context.scaleY;\n const x2 = (coords[p2] + context.offsetX) * context.scaleX;\n const y2 = (coords[p2 + 1] + context.offsetY) * context.scaleY;\n const x3 = (coords[p3] + context.offsetX) * context.scaleX;\n const y3 = (coords[p3 + 1] + context.offsetY) * context.scaleY;\n if (y1 >= y3) {\n return;\n }\n const c1r = colors[c1],\n c1g = colors[c1 + 1],\n c1b = colors[c1 + 2];\n const c2r = colors[c2],\n c2g = colors[c2 + 1],\n c2b = colors[c2 + 2];\n const c3r = colors[c3],\n c3g = colors[c3 + 1],\n c3b = colors[c3 + 2];\n const minY = Math.round(y1),\n maxY = Math.round(y3);\n let xa, car, cag, cab;\n let xb, cbr, cbg, cbb;\n for (let y = minY; y <= maxY; y++) {\n if (y < y2) {\n let k;\n if (y < y1) {\n k = 0;\n } else {\n k = (y1 - y) / (y1 - y2);\n }\n xa = x1 - (x1 - x2) * k;\n car = c1r - (c1r - c2r) * k;\n cag = c1g - (c1g - c2g) * k;\n cab = c1b - (c1b - c2b) * k;\n } else {\n let k;\n if (y > y3) {\n k = 1;\n } else if (y2 === y3) {\n k = 0;\n } else {\n k = (y2 - y) / (y2 - y3);\n }\n xa = x2 - (x2 - x3) * k;\n car = c2r - (c2r - c3r) * k;\n cag = c2g - (c2g - c3g) * k;\n cab = c2b - (c2b - c3b) * k;\n }\n let k;\n if (y < y1) {\n k = 0;\n } else if (y > y3) {\n k = 1;\n } else {\n k = (y1 - y) / (y1 - y3);\n }\n xb = x1 - (x1 - x3) * k;\n cbr = c1r - (c1r - c3r) * k;\n cbg = c1g - (c1g - c3g) * k;\n cbb = c1b - (c1b - c3b) * k;\n const x1_ = Math.round(Math.min(xa, xb));\n const x2_ = Math.round(Math.max(xa, xb));\n let j = rowSize * y + x1_ * 4;\n for (let x = x1_; x <= x2_; x++) {\n k = (xa - x) / (xa - xb);\n if (k < 0) {\n k = 0;\n } else if (k > 1) {\n k = 1;\n }\n bytes[j++] = car - (car - cbr) * k | 0;\n bytes[j++] = cag - (cag - cbg) * k | 0;\n bytes[j++] = cab - (cab - cbb) * k | 0;\n bytes[j++] = 255;\n }\n }\n}\nfunction drawFigure(data, figure, context) {\n const ps = figure.coords;\n const cs = figure.colors;\n let i, ii;\n switch (figure.type) {\n case \"lattice\":\n const verticesPerRow = figure.verticesPerRow;\n const rows = Math.floor(ps.length / verticesPerRow) - 1;\n const cols = verticesPerRow - 1;\n for (i = 0; i < rows; i++) {\n let q = i * verticesPerRow;\n for (let j = 0; j < cols; j++, q++) {\n drawTriangle(data, context, ps[q], ps[q + 1], ps[q + verticesPerRow], cs[q], cs[q + 1], cs[q + verticesPerRow]);\n drawTriangle(data, context, ps[q + verticesPerRow + 1], ps[q + 1], ps[q + verticesPerRow], cs[q + verticesPerRow + 1], cs[q + 1], cs[q + verticesPerRow]);\n }\n }\n break;\n case \"triangles\":\n for (i = 0, ii = ps.length; i < ii; i += 3) {\n drawTriangle(data, context, ps[i], ps[i + 1], ps[i + 2], cs[i], cs[i + 1], cs[i + 2]);\n }\n break;\n default:\n throw new Error(\"illegal figure\");\n }\n}\nclass MeshShadingPattern extends BaseShadingPattern {\n constructor(IR) {\n super();\n this._coords = IR[2];\n this._colors = IR[3];\n this._figures = IR[4];\n this._bounds = IR[5];\n this._bbox = IR[7];\n this._background = IR[8];\n this.matrix = null;\n }\n _createMeshCanvas(combinedScale, backgroundColor, cachedCanvases) {\n const EXPECTED_SCALE = 1.1;\n const MAX_PATTERN_SIZE = 3000;\n const BORDER_SIZE = 2;\n const offsetX = Math.floor(this._bounds[0]);\n const offsetY = Math.floor(this._bounds[1]);\n const boundsWidth = Math.ceil(this._bounds[2]) - offsetX;\n const boundsHeight = Math.ceil(this._bounds[3]) - offsetY;\n const width = Math.min(Math.ceil(Math.abs(boundsWidth * combinedScale[0] * EXPECTED_SCALE)), MAX_PATTERN_SIZE);\n const height = Math.min(Math.ceil(Math.abs(boundsHeight * combinedScale[1] * EXPECTED_SCALE)), MAX_PATTERN_SIZE);\n const scaleX = boundsWidth / width;\n const scaleY = boundsHeight / height;\n const context = {\n coords: this._coords,\n colors: this._colors,\n offsetX: -offsetX,\n offsetY: -offsetY,\n scaleX: 1 / scaleX,\n scaleY: 1 / scaleY\n };\n const paddedWidth = width + BORDER_SIZE * 2;\n const paddedHeight = height + BORDER_SIZE * 2;\n const tmpCanvas = cachedCanvases.getCanvas(\"mesh\", paddedWidth, paddedHeight, false);\n const tmpCtx = tmpCanvas.context;\n const data = tmpCtx.createImageData(width, height);\n if (backgroundColor) {\n const bytes = data.data;\n for (let i = 0, ii = bytes.length; i < ii; i += 4) {\n bytes[i] = backgroundColor[0];\n bytes[i + 1] = backgroundColor[1];\n bytes[i + 2] = backgroundColor[2];\n bytes[i + 3] = 255;\n }\n }\n for (const figure of this._figures) {\n drawFigure(data, figure, context);\n }\n tmpCtx.putImageData(data, BORDER_SIZE, BORDER_SIZE);\n const canvas = tmpCanvas.canvas;\n return {\n canvas,\n offsetX: offsetX - BORDER_SIZE * scaleX,\n offsetY: offsetY - BORDER_SIZE * scaleY,\n scaleX,\n scaleY\n };\n }\n getPattern(ctx, owner, inverse, pathType) {\n applyBoundingBox(ctx, this._bbox);\n let scale;\n if (pathType === PathType.SHADING) {\n scale = _util.Util.singularValueDecompose2dScale((0, _display_utils.getCurrentTransform)(ctx));\n } else {\n scale = _util.Util.singularValueDecompose2dScale(owner.baseTransform);\n if (this.matrix) {\n const matrixScale = _util.Util.singularValueDecompose2dScale(this.matrix);\n scale = [scale[0] * matrixScale[0], scale[1] * matrixScale[1]];\n }\n }\n const temporaryPatternCanvas = this._createMeshCanvas(scale, pathType === PathType.SHADING ? null : this._background, owner.cachedCanvases);\n if (pathType !== PathType.SHADING) {\n ctx.setTransform(...owner.baseTransform);\n if (this.matrix) {\n ctx.transform(...this.matrix);\n }\n }\n ctx.translate(temporaryPatternCanvas.offsetX, temporaryPatternCanvas.offsetY);\n ctx.scale(temporaryPatternCanvas.scaleX, temporaryPatternCanvas.scaleY);\n return ctx.createPattern(temporaryPatternCanvas.canvas, \"no-repeat\");\n }\n}\nclass DummyShadingPattern extends BaseShadingPattern {\n getPattern() {\n return \"hotpink\";\n }\n}\nfunction getShadingPattern(IR) {\n switch (IR[0]) {\n case \"RadialAxial\":\n return new RadialAxialShadingPattern(IR);\n case \"Mesh\":\n return new MeshShadingPattern(IR);\n case \"Dummy\":\n return new DummyShadingPattern();\n }\n throw new Error(`Unknown IR type: ${IR[0]}`);\n}\nconst PaintType = {\n COLORED: 1,\n UNCOLORED: 2\n};\nclass TilingPattern {\n static MAX_PATTERN_SIZE = 3000;\n constructor(IR, color, ctx, canvasGraphicsFactory, baseTransform) {\n this.operatorList = IR[2];\n this.matrix = IR[3] || [1, 0, 0, 1, 0, 0];\n this.bbox = IR[4];\n this.xstep = IR[5];\n this.ystep = IR[6];\n this.paintType = IR[7];\n this.tilingType = IR[8];\n this.color = color;\n this.ctx = ctx;\n this.canvasGraphicsFactory = canvasGraphicsFactory;\n this.baseTransform = baseTransform;\n }\n createPatternCanvas(owner) {\n const operatorList = this.operatorList;\n const bbox = this.bbox;\n const xstep = this.xstep;\n const ystep = this.ystep;\n const paintType = this.paintType;\n const tilingType = this.tilingType;\n const color = this.color;\n const canvasGraphicsFactory = this.canvasGraphicsFactory;\n (0, _util.info)(\"TilingType: \" + tilingType);\n const x0 = bbox[0],\n y0 = bbox[1],\n x1 = bbox[2],\n y1 = bbox[3];\n const matrixScale = _util.Util.singularValueDecompose2dScale(this.matrix);\n const curMatrixScale = _util.Util.singularValueDecompose2dScale(this.baseTransform);\n const combinedScale = [matrixScale[0] * curMatrixScale[0], matrixScale[1] * curMatrixScale[1]];\n const dimx = this.getSizeAndScale(xstep, this.ctx.canvas.width, combinedScale[0]);\n const dimy = this.getSizeAndScale(ystep, this.ctx.canvas.height, combinedScale[1]);\n const tmpCanvas = owner.cachedCanvases.getCanvas(\"pattern\", dimx.size, dimy.size, true);\n const tmpCtx = tmpCanvas.context;\n const graphics = canvasGraphicsFactory.createCanvasGraphics(tmpCtx);\n graphics.groupLevel = owner.groupLevel;\n this.setFillAndStrokeStyleToContext(graphics, paintType, color);\n let adjustedX0 = x0;\n let adjustedY0 = y0;\n let adjustedX1 = x1;\n let adjustedY1 = y1;\n if (x0 < 0) {\n adjustedX0 = 0;\n adjustedX1 += Math.abs(x0);\n }\n if (y0 < 0) {\n adjustedY0 = 0;\n adjustedY1 += Math.abs(y0);\n }\n tmpCtx.translate(-(dimx.scale * adjustedX0), -(dimy.scale * adjustedY0));\n graphics.transform(dimx.scale, 0, 0, dimy.scale, 0, 0);\n tmpCtx.save();\n this.clipBbox(graphics, adjustedX0, adjustedY0, adjustedX1, adjustedY1);\n graphics.baseTransform = (0, _display_utils.getCurrentTransform)(graphics.ctx);\n graphics.executeOperatorList(operatorList);\n graphics.endDrawing();\n return {\n canvas: tmpCanvas.canvas,\n scaleX: dimx.scale,\n scaleY: dimy.scale,\n offsetX: adjustedX0,\n offsetY: adjustedY0\n };\n }\n getSizeAndScale(step, realOutputSize, scale) {\n step = Math.abs(step);\n const maxSize = Math.max(TilingPattern.MAX_PATTERN_SIZE, realOutputSize);\n let size = Math.ceil(step * scale);\n if (size >= maxSize) {\n size = maxSize;\n } else {\n scale = size / step;\n }\n return {\n scale,\n size\n };\n }\n clipBbox(graphics, x0, y0, x1, y1) {\n const bboxWidth = x1 - x0;\n const bboxHeight = y1 - y0;\n graphics.ctx.rect(x0, y0, bboxWidth, bboxHeight);\n graphics.current.updateRectMinMax((0, _display_utils.getCurrentTransform)(graphics.ctx), [x0, y0, x1, y1]);\n graphics.clip();\n graphics.endPath();\n }\n setFillAndStrokeStyleToContext(graphics, paintType, color) {\n const context = graphics.ctx,\n current = graphics.current;\n switch (paintType) {\n case PaintType.COLORED:\n const ctx = this.ctx;\n context.fillStyle = ctx.fillStyle;\n context.strokeStyle = ctx.strokeStyle;\n current.fillColor = ctx.fillStyle;\n current.strokeColor = ctx.strokeStyle;\n break;\n case PaintType.UNCOLORED:\n const cssColor = _util.Util.makeHexColor(color[0], color[1], color[2]);\n context.fillStyle = cssColor;\n context.strokeStyle = cssColor;\n current.fillColor = cssColor;\n current.strokeColor = cssColor;\n break;\n default:\n throw new _util.FormatError(`Unsupported paint type: ${paintType}`);\n }\n }\n getPattern(ctx, owner, inverse, pathType) {\n let matrix = inverse;\n if (pathType !== PathType.SHADING) {\n matrix = _util.Util.transform(matrix, owner.baseTransform);\n if (this.matrix) {\n matrix = _util.Util.transform(matrix, this.matrix);\n }\n }\n const temporaryPatternCanvas = this.createPatternCanvas(owner);\n let domMatrix = new DOMMatrix(matrix);\n domMatrix = domMatrix.translate(temporaryPatternCanvas.offsetX, temporaryPatternCanvas.offsetY);\n domMatrix = domMatrix.scale(1 / temporaryPatternCanvas.scaleX, 1 / temporaryPatternCanvas.scaleY);\n const pattern = ctx.createPattern(temporaryPatternCanvas.canvas, \"repeat\");\n pattern.setTransform(domMatrix);\n return pattern;\n }\n}\nexports.TilingPattern = TilingPattern;\n\n/***/ }),\n/* 13 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.convertBlackAndWhiteToRGBA = convertBlackAndWhiteToRGBA;\nexports.convertToRGBA = convertToRGBA;\nexports.grayToRGBA = grayToRGBA;\nvar _util = __w_pdfjs_require__(1);\nfunction convertToRGBA(params) {\n switch (params.kind) {\n case _util.ImageKind.GRAYSCALE_1BPP:\n return convertBlackAndWhiteToRGBA(params);\n case _util.ImageKind.RGB_24BPP:\n return convertRGBToRGBA(params);\n }\n return null;\n}\nfunction convertBlackAndWhiteToRGBA({\n src,\n srcPos = 0,\n dest,\n width,\n height,\n nonBlackColor = 0xffffffff,\n inverseDecode = false\n}) {\n const black = _util.FeatureTest.isLittleEndian ? 0xff000000 : 0x000000ff;\n const [zeroMapping, oneMapping] = inverseDecode ? [nonBlackColor, black] : [black, nonBlackColor];\n const widthInSource = width >> 3;\n const widthRemainder = width & 7;\n const srcLength = src.length;\n dest = new Uint32Array(dest.buffer);\n let destPos = 0;\n for (let i = 0; i < height; i++) {\n for (const max = srcPos + widthInSource; srcPos < max; srcPos++) {\n const elem = srcPos < srcLength ? src[srcPos] : 255;\n dest[destPos++] = elem & 0b10000000 ? oneMapping : zeroMapping;\n dest[destPos++] = elem & 0b1000000 ? oneMapping : zeroMapping;\n dest[destPos++] = elem & 0b100000 ? oneMapping : zeroMapping;\n dest[destPos++] = elem & 0b10000 ? oneMapping : zeroMapping;\n dest[destPos++] = elem & 0b1000 ? oneMapping : zeroMapping;\n dest[destPos++] = elem & 0b100 ? oneMapping : zeroMapping;\n dest[destPos++] = elem & 0b10 ? oneMapping : zeroMapping;\n dest[destPos++] = elem & 0b1 ? oneMapping : zeroMapping;\n }\n if (widthRemainder === 0) {\n continue;\n }\n const elem = srcPos < srcLength ? src[srcPos++] : 255;\n for (let j = 0; j < widthRemainder; j++) {\n dest[destPos++] = elem & 1 << 7 - j ? oneMapping : zeroMapping;\n }\n }\n return {\n srcPos,\n destPos\n };\n}\nfunction convertRGBToRGBA({\n src,\n srcPos = 0,\n dest,\n destPos = 0,\n width,\n height\n}) {\n let i = 0;\n const len32 = src.length >> 2;\n const src32 = new Uint32Array(src.buffer, srcPos, len32);\n if (_util.FeatureTest.isLittleEndian) {\n for (; i < len32 - 2; i += 3, destPos += 4) {\n const s1 = src32[i];\n const s2 = src32[i + 1];\n const s3 = src32[i + 2];\n dest[destPos] = s1 | 0xff000000;\n dest[destPos + 1] = s1 >>> 24 | s2 << 8 | 0xff000000;\n dest[destPos + 2] = s2 >>> 16 | s3 << 16 | 0xff000000;\n dest[destPos + 3] = s3 >>> 8 | 0xff000000;\n }\n for (let j = i * 4, jj = src.length; j < jj; j += 3) {\n dest[destPos++] = src[j] | src[j + 1] << 8 | src[j + 2] << 16 | 0xff000000;\n }\n } else {\n for (; i < len32 - 2; i += 3, destPos += 4) {\n const s1 = src32[i];\n const s2 = src32[i + 1];\n const s3 = src32[i + 2];\n dest[destPos] = s1 | 0xff;\n dest[destPos + 1] = s1 << 24 | s2 >>> 8 | 0xff;\n dest[destPos + 2] = s2 << 16 | s3 >>> 16 | 0xff;\n dest[destPos + 3] = s3 << 8 | 0xff;\n }\n for (let j = i * 4, jj = src.length; j < jj; j += 3) {\n dest[destPos++] = src[j] << 24 | src[j + 1] << 16 | src[j + 2] << 8 | 0xff;\n }\n }\n return {\n srcPos,\n destPos\n };\n}\nfunction grayToRGBA(src, dest) {\n if (_util.FeatureTest.isLittleEndian) {\n for (let i = 0, ii = src.length; i < ii; i++) {\n dest[i] = src[i] * 0x10101 | 0xff000000;\n }\n } else {\n for (let i = 0, ii = src.length; i < ii; i++) {\n dest[i] = src[i] * 0x1010100 | 0x000000ff;\n }\n }\n}\n\n/***/ }),\n/* 14 */\n/***/ ((__unused_webpack_module, exports) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.GlobalWorkerOptions = void 0;\nconst GlobalWorkerOptions = Object.create(null);\nexports.GlobalWorkerOptions = GlobalWorkerOptions;\nGlobalWorkerOptions.workerPort = null;\nGlobalWorkerOptions.workerSrc = \"\";\n\n/***/ }),\n/* 15 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.MessageHandler = void 0;\nvar _util = __w_pdfjs_require__(1);\nconst CallbackKind = {\n UNKNOWN: 0,\n DATA: 1,\n ERROR: 2\n};\nconst StreamKind = {\n UNKNOWN: 0,\n CANCEL: 1,\n CANCEL_COMPLETE: 2,\n CLOSE: 3,\n ENQUEUE: 4,\n ERROR: 5,\n PULL: 6,\n PULL_COMPLETE: 7,\n START_COMPLETE: 8\n};\nfunction wrapReason(reason) {\n if (!(reason instanceof Error || typeof reason === \"object\" && reason !== null)) {\n (0, _util.unreachable)('wrapReason: Expected \"reason\" to be a (possibly cloned) Error.');\n }\n switch (reason.name) {\n case \"AbortException\":\n return new _util.AbortException(reason.message);\n case \"MissingPDFException\":\n return new _util.MissingPDFException(reason.message);\n case \"PasswordException\":\n return new _util.PasswordException(reason.message, reason.code);\n case \"UnexpectedResponseException\":\n return new _util.UnexpectedResponseException(reason.message, reason.status);\n case \"UnknownErrorException\":\n return new _util.UnknownErrorException(reason.message, reason.details);\n default:\n return new _util.UnknownErrorException(reason.message, reason.toString());\n }\n}\nclass MessageHandler {\n constructor(sourceName, targetName, comObj) {\n this.sourceName = sourceName;\n this.targetName = targetName;\n this.comObj = comObj;\n this.callbackId = 1;\n this.streamId = 1;\n this.streamSinks = Object.create(null);\n this.streamControllers = Object.create(null);\n this.callbackCapabilities = Object.create(null);\n this.actionHandler = Object.create(null);\n this._onComObjOnMessage = event => {\n const data = event.data;\n if (data.targetName !== this.sourceName) {\n return;\n }\n if (data.stream) {\n this.#processStreamMessage(data);\n return;\n }\n if (data.callback) {\n const callbackId = data.callbackId;\n const capability = this.callbackCapabilities[callbackId];\n if (!capability) {\n throw new Error(`Cannot resolve callback ${callbackId}`);\n }\n delete this.callbackCapabilities[callbackId];\n if (data.callback === CallbackKind.DATA) {\n capability.resolve(data.data);\n } else if (data.callback === CallbackKind.ERROR) {\n capability.reject(wrapReason(data.reason));\n } else {\n throw new Error(\"Unexpected callback case\");\n }\n return;\n }\n const action = this.actionHandler[data.action];\n if (!action) {\n throw new Error(`Unknown action from worker: ${data.action}`);\n }\n if (data.callbackId) {\n const cbSourceName = this.sourceName;\n const cbTargetName = data.sourceName;\n new Promise(function (resolve) {\n resolve(action(data.data));\n }).then(function (result) {\n comObj.postMessage({\n sourceName: cbSourceName,\n targetName: cbTargetName,\n callback: CallbackKind.DATA,\n callbackId: data.callbackId,\n data: result\n });\n }, function (reason) {\n comObj.postMessage({\n sourceName: cbSourceName,\n targetName: cbTargetName,\n callback: CallbackKind.ERROR,\n callbackId: data.callbackId,\n reason: wrapReason(reason)\n });\n });\n return;\n }\n if (data.streamId) {\n this.#createStreamSink(data);\n return;\n }\n action(data.data);\n };\n comObj.addEventListener(\"message\", this._onComObjOnMessage);\n }\n on(actionName, handler) {\n const ah = this.actionHandler;\n if (ah[actionName]) {\n throw new Error(`There is already an actionName called \"${actionName}\"`);\n }\n ah[actionName] = handler;\n }\n send(actionName, data, transfers) {\n this.comObj.postMessage({\n sourceName: this.sourceName,\n targetName: this.targetName,\n action: actionName,\n data\n }, transfers);\n }\n sendWithPromise(actionName, data, transfers) {\n const callbackId = this.callbackId++;\n const capability = new _util.PromiseCapability();\n this.callbackCapabilities[callbackId] = capability;\n try {\n this.comObj.postMessage({\n sourceName: this.sourceName,\n targetName: this.targetName,\n action: actionName,\n callbackId,\n data\n }, transfers);\n } catch (ex) {\n capability.reject(ex);\n }\n return capability.promise;\n }\n sendWithStream(actionName, data, queueingStrategy, transfers) {\n const streamId = this.streamId++,\n sourceName = this.sourceName,\n targetName = this.targetName,\n comObj = this.comObj;\n return new ReadableStream({\n start: controller => {\n const startCapability = new _util.PromiseCapability();\n this.streamControllers[streamId] = {\n controller,\n startCall: startCapability,\n pullCall: null,\n cancelCall: null,\n isClosed: false\n };\n comObj.postMessage({\n sourceName,\n targetName,\n action: actionName,\n streamId,\n data,\n desiredSize: controller.desiredSize\n }, transfers);\n return startCapability.promise;\n },\n pull: controller => {\n const pullCapability = new _util.PromiseCapability();\n this.streamControllers[streamId].pullCall = pullCapability;\n comObj.postMessage({\n sourceName,\n targetName,\n stream: StreamKind.PULL,\n streamId,\n desiredSize: controller.desiredSize\n });\n return pullCapability.promise;\n },\n cancel: reason => {\n (0, _util.assert)(reason instanceof Error, \"cancel must have a valid reason\");\n const cancelCapability = new _util.PromiseCapability();\n this.streamControllers[streamId].cancelCall = cancelCapability;\n this.streamControllers[streamId].isClosed = true;\n comObj.postMessage({\n sourceName,\n targetName,\n stream: StreamKind.CANCEL,\n streamId,\n reason: wrapReason(reason)\n });\n return cancelCapability.promise;\n }\n }, queueingStrategy);\n }\n #createStreamSink(data) {\n const streamId = data.streamId,\n sourceName = this.sourceName,\n targetName = data.sourceName,\n comObj = this.comObj;\n const self = this,\n action = this.actionHandler[data.action];\n const streamSink = {\n enqueue(chunk, size = 1, transfers) {\n if (this.isCancelled) {\n return;\n }\n const lastDesiredSize = this.desiredSize;\n this.desiredSize -= size;\n if (lastDesiredSize > 0 && this.desiredSize <= 0) {\n this.sinkCapability = new _util.PromiseCapability();\n this.ready = this.sinkCapability.promise;\n }\n comObj.postMessage({\n sourceName,\n targetName,\n stream: StreamKind.ENQUEUE,\n streamId,\n chunk\n }, transfers);\n },\n close() {\n if (this.isCancelled) {\n return;\n }\n this.isCancelled = true;\n comObj.postMessage({\n sourceName,\n targetName,\n stream: StreamKind.CLOSE,\n streamId\n });\n delete self.streamSinks[streamId];\n },\n error(reason) {\n (0, _util.assert)(reason instanceof Error, \"error must have a valid reason\");\n if (this.isCancelled) {\n return;\n }\n this.isCancelled = true;\n comObj.postMessage({\n sourceName,\n targetName,\n stream: StreamKind.ERROR,\n streamId,\n reason: wrapReason(reason)\n });\n },\n sinkCapability: new _util.PromiseCapability(),\n onPull: null,\n onCancel: null,\n isCancelled: false,\n desiredSize: data.desiredSize,\n ready: null\n };\n streamSink.sinkCapability.resolve();\n streamSink.ready = streamSink.sinkCapability.promise;\n this.streamSinks[streamId] = streamSink;\n new Promise(function (resolve) {\n resolve(action(data.data, streamSink));\n }).then(function () {\n comObj.postMessage({\n sourceName,\n targetName,\n stream: StreamKind.START_COMPLETE,\n streamId,\n success: true\n });\n }, function (reason) {\n comObj.postMessage({\n sourceName,\n targetName,\n stream: StreamKind.START_COMPLETE,\n streamId,\n reason: wrapReason(reason)\n });\n });\n }\n #processStreamMessage(data) {\n const streamId = data.streamId,\n sourceName = this.sourceName,\n targetName = data.sourceName,\n comObj = this.comObj;\n const streamController = this.streamControllers[streamId],\n streamSink = this.streamSinks[streamId];\n switch (data.stream) {\n case StreamKind.START_COMPLETE:\n if (data.success) {\n streamController.startCall.resolve();\n } else {\n streamController.startCall.reject(wrapReason(data.reason));\n }\n break;\n case StreamKind.PULL_COMPLETE:\n if (data.success) {\n streamController.pullCall.resolve();\n } else {\n streamController.pullCall.reject(wrapReason(data.reason));\n }\n break;\n case StreamKind.PULL:\n if (!streamSink) {\n comObj.postMessage({\n sourceName,\n targetName,\n stream: StreamKind.PULL_COMPLETE,\n streamId,\n success: true\n });\n break;\n }\n if (streamSink.desiredSize <= 0 && data.desiredSize > 0) {\n streamSink.sinkCapability.resolve();\n }\n streamSink.desiredSize = data.desiredSize;\n new Promise(function (resolve) {\n resolve(streamSink.onPull?.());\n }).then(function () {\n comObj.postMessage({\n sourceName,\n targetName,\n stream: StreamKind.PULL_COMPLETE,\n streamId,\n success: true\n });\n }, function (reason) {\n comObj.postMessage({\n sourceName,\n targetName,\n stream: StreamKind.PULL_COMPLETE,\n streamId,\n reason: wrapReason(reason)\n });\n });\n break;\n case StreamKind.ENQUEUE:\n (0, _util.assert)(streamController, \"enqueue should have stream controller\");\n if (streamController.isClosed) {\n break;\n }\n streamController.controller.enqueue(data.chunk);\n break;\n case StreamKind.CLOSE:\n (0, _util.assert)(streamController, \"close should have stream controller\");\n if (streamController.isClosed) {\n break;\n }\n streamController.isClosed = true;\n streamController.controller.close();\n this.#deleteStreamController(streamController, streamId);\n break;\n case StreamKind.ERROR:\n (0, _util.assert)(streamController, \"error should have stream controller\");\n streamController.controller.error(wrapReason(data.reason));\n this.#deleteStreamController(streamController, streamId);\n break;\n case StreamKind.CANCEL_COMPLETE:\n if (data.success) {\n streamController.cancelCall.resolve();\n } else {\n streamController.cancelCall.reject(wrapReason(data.reason));\n }\n this.#deleteStreamController(streamController, streamId);\n break;\n case StreamKind.CANCEL:\n if (!streamSink) {\n break;\n }\n new Promise(function (resolve) {\n resolve(streamSink.onCancel?.(wrapReason(data.reason)));\n }).then(function () {\n comObj.postMessage({\n sourceName,\n targetName,\n stream: StreamKind.CANCEL_COMPLETE,\n streamId,\n success: true\n });\n }, function (reason) {\n comObj.postMessage({\n sourceName,\n targetName,\n stream: StreamKind.CANCEL_COMPLETE,\n streamId,\n reason: wrapReason(reason)\n });\n });\n streamSink.sinkCapability.reject(wrapReason(data.reason));\n streamSink.isCancelled = true;\n delete this.streamSinks[streamId];\n break;\n default:\n throw new Error(\"Unexpected stream case\");\n }\n }\n async #deleteStreamController(streamController, streamId) {\n await Promise.allSettled([streamController.startCall?.promise, streamController.pullCall?.promise, streamController.cancelCall?.promise]);\n delete this.streamControllers[streamId];\n }\n destroy() {\n this.comObj.removeEventListener(\"message\", this._onComObjOnMessage);\n }\n}\nexports.MessageHandler = MessageHandler;\n\n/***/ }),\n/* 16 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.Metadata = void 0;\nvar _util = __w_pdfjs_require__(1);\nclass Metadata {\n #metadataMap;\n #data;\n constructor({\n parsedData,\n rawData\n }) {\n this.#metadataMap = parsedData;\n this.#data = rawData;\n }\n getRaw() {\n return this.#data;\n }\n get(name) {\n return this.#metadataMap.get(name) ?? null;\n }\n getAll() {\n return (0, _util.objectFromMap)(this.#metadataMap);\n }\n has(name) {\n return this.#metadataMap.has(name);\n }\n}\nexports.Metadata = Metadata;\n\n/***/ }),\n/* 17 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.OptionalContentConfig = void 0;\nvar _util = __w_pdfjs_require__(1);\nvar _murmurhash = __w_pdfjs_require__(8);\nconst INTERNAL = Symbol(\"INTERNAL\");\nclass OptionalContentGroup {\n #visible = true;\n constructor(name, intent) {\n this.name = name;\n this.intent = intent;\n }\n get visible() {\n return this.#visible;\n }\n _setVisible(internal, visible) {\n if (internal !== INTERNAL) {\n (0, _util.unreachable)(\"Internal method `_setVisible` called.\");\n }\n this.#visible = visible;\n }\n}\nclass OptionalContentConfig {\n #cachedGetHash = null;\n #groups = new Map();\n #initialHash = null;\n #order = null;\n constructor(data) {\n this.name = null;\n this.creator = null;\n if (data === null) {\n return;\n }\n this.name = data.name;\n this.creator = data.creator;\n this.#order = data.order;\n for (const group of data.groups) {\n this.#groups.set(group.id, new OptionalContentGroup(group.name, group.intent));\n }\n if (data.baseState === \"OFF\") {\n for (const group of this.#groups.values()) {\n group._setVisible(INTERNAL, false);\n }\n }\n for (const on of data.on) {\n this.#groups.get(on)._setVisible(INTERNAL, true);\n }\n for (const off of data.off) {\n this.#groups.get(off)._setVisible(INTERNAL, false);\n }\n this.#initialHash = this.getHash();\n }\n #evaluateVisibilityExpression(array) {\n const length = array.length;\n if (length < 2) {\n return true;\n }\n const operator = array[0];\n for (let i = 1; i < length; i++) {\n const element = array[i];\n let state;\n if (Array.isArray(element)) {\n state = this.#evaluateVisibilityExpression(element);\n } else if (this.#groups.has(element)) {\n state = this.#groups.get(element).visible;\n } else {\n (0, _util.warn)(`Optional content group not found: ${element}`);\n return true;\n }\n switch (operator) {\n case \"And\":\n if (!state) {\n return false;\n }\n break;\n case \"Or\":\n if (state) {\n return true;\n }\n break;\n case \"Not\":\n return !state;\n default:\n return true;\n }\n }\n return operator === \"And\";\n }\n isVisible(group) {\n if (this.#groups.size === 0) {\n return true;\n }\n if (!group) {\n (0, _util.warn)(\"Optional content group not defined.\");\n return true;\n }\n if (group.type === \"OCG\") {\n if (!this.#groups.has(group.id)) {\n (0, _util.warn)(`Optional content group not found: ${group.id}`);\n return true;\n }\n return this.#groups.get(group.id).visible;\n } else if (group.type === \"OCMD\") {\n if (group.expression) {\n return this.#evaluateVisibilityExpression(group.expression);\n }\n if (!group.policy || group.policy === \"AnyOn\") {\n for (const id of group.ids) {\n if (!this.#groups.has(id)) {\n (0, _util.warn)(`Optional content group not found: ${id}`);\n return true;\n }\n if (this.#groups.get(id).visible) {\n return true;\n }\n }\n return false;\n } else if (group.policy === \"AllOn\") {\n for (const id of group.ids) {\n if (!this.#groups.has(id)) {\n (0, _util.warn)(`Optional content group not found: ${id}`);\n return true;\n }\n if (!this.#groups.get(id).visible) {\n return false;\n }\n }\n return true;\n } else if (group.policy === \"AnyOff\") {\n for (const id of group.ids) {\n if (!this.#groups.has(id)) {\n (0, _util.warn)(`Optional content group not found: ${id}`);\n return true;\n }\n if (!this.#groups.get(id).visible) {\n return true;\n }\n }\n return false;\n } else if (group.policy === \"AllOff\") {\n for (const id of group.ids) {\n if (!this.#groups.has(id)) {\n (0, _util.warn)(`Optional content group not found: ${id}`);\n return true;\n }\n if (this.#groups.get(id).visible) {\n return false;\n }\n }\n return true;\n }\n (0, _util.warn)(`Unknown optional content policy ${group.policy}.`);\n return true;\n }\n (0, _util.warn)(`Unknown group type ${group.type}.`);\n return true;\n }\n setVisibility(id, visible = true) {\n if (!this.#groups.has(id)) {\n (0, _util.warn)(`Optional content group not found: ${id}`);\n return;\n }\n this.#groups.get(id)._setVisible(INTERNAL, !!visible);\n this.#cachedGetHash = null;\n }\n get hasInitialVisibility() {\n return this.getHash() === this.#initialHash;\n }\n getOrder() {\n if (!this.#groups.size) {\n return null;\n }\n if (this.#order) {\n return this.#order.slice();\n }\n return [...this.#groups.keys()];\n }\n getGroups() {\n return this.#groups.size > 0 ? (0, _util.objectFromMap)(this.#groups) : null;\n }\n getGroup(id) {\n return this.#groups.get(id) || null;\n }\n getHash() {\n if (this.#cachedGetHash !== null) {\n return this.#cachedGetHash;\n }\n const hash = new _murmurhash.MurmurHash3_64();\n for (const [id, group] of this.#groups) {\n hash.update(`${id}:${group.visible}`);\n }\n return this.#cachedGetHash = hash.hexdigest();\n }\n}\nexports.OptionalContentConfig = OptionalContentConfig;\n\n/***/ }),\n/* 18 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.PDFDataTransportStream = void 0;\nvar _util = __w_pdfjs_require__(1);\nvar _display_utils = __w_pdfjs_require__(6);\nclass PDFDataTransportStream {\n constructor({\n length,\n initialData,\n progressiveDone = false,\n contentDispositionFilename = null,\n disableRange = false,\n disableStream = false\n }, pdfDataRangeTransport) {\n (0, _util.assert)(pdfDataRangeTransport, 'PDFDataTransportStream - missing required \"pdfDataRangeTransport\" argument.');\n this._queuedChunks = [];\n this._progressiveDone = progressiveDone;\n this._contentDispositionFilename = contentDispositionFilename;\n if (initialData?.length > 0) {\n const buffer = initialData instanceof Uint8Array && initialData.byteLength === initialData.buffer.byteLength ? initialData.buffer : new Uint8Array(initialData).buffer;\n this._queuedChunks.push(buffer);\n }\n this._pdfDataRangeTransport = pdfDataRangeTransport;\n this._isStreamingSupported = !disableStream;\n this._isRangeSupported = !disableRange;\n this._contentLength = length;\n this._fullRequestReader = null;\n this._rangeReaders = [];\n this._pdfDataRangeTransport.addRangeListener((begin, chunk) => {\n this._onReceiveData({\n begin,\n chunk\n });\n });\n this._pdfDataRangeTransport.addProgressListener((loaded, total) => {\n this._onProgress({\n loaded,\n total\n });\n });\n this._pdfDataRangeTransport.addProgressiveReadListener(chunk => {\n this._onReceiveData({\n chunk\n });\n });\n this._pdfDataRangeTransport.addProgressiveDoneListener(() => {\n this._onProgressiveDone();\n });\n this._pdfDataRangeTransport.transportReady();\n }\n _onReceiveData({\n begin,\n chunk\n }) {\n const buffer = chunk instanceof Uint8Array && chunk.byteLength === chunk.buffer.byteLength ? chunk.buffer : new Uint8Array(chunk).buffer;\n if (begin === undefined) {\n if (this._fullRequestReader) {\n this._fullRequestReader._enqueue(buffer);\n } else {\n this._queuedChunks.push(buffer);\n }\n } else {\n const found = this._rangeReaders.some(function (rangeReader) {\n if (rangeReader._begin !== begin) {\n return false;\n }\n rangeReader._enqueue(buffer);\n return true;\n });\n (0, _util.assert)(found, \"_onReceiveData - no `PDFDataTransportStreamRangeReader` instance found.\");\n }\n }\n get _progressiveDataLength() {\n return this._fullRequestReader?._loaded ?? 0;\n }\n _onProgress(evt) {\n if (evt.total === undefined) {\n this._rangeReaders[0]?.onProgress?.({\n loaded: evt.loaded\n });\n } else {\n this._fullRequestReader?.onProgress?.({\n loaded: evt.loaded,\n total: evt.total\n });\n }\n }\n _onProgressiveDone() {\n this._fullRequestReader?.progressiveDone();\n this._progressiveDone = true;\n }\n _removeRangeReader(reader) {\n const i = this._rangeReaders.indexOf(reader);\n if (i >= 0) {\n this._rangeReaders.splice(i, 1);\n }\n }\n getFullReader() {\n (0, _util.assert)(!this._fullRequestReader, \"PDFDataTransportStream.getFullReader can only be called once.\");\n const queuedChunks = this._queuedChunks;\n this._queuedChunks = null;\n return new PDFDataTransportStreamReader(this, queuedChunks, this._progressiveDone, this._contentDispositionFilename);\n }\n getRangeReader(begin, end) {\n if (end <= this._progressiveDataLength) {\n return null;\n }\n const reader = new PDFDataTransportStreamRangeReader(this, begin, end);\n this._pdfDataRangeTransport.requestDataRange(begin, end);\n this._rangeReaders.push(reader);\n return reader;\n }\n cancelAllRequests(reason) {\n this._fullRequestReader?.cancel(reason);\n for (const reader of this._rangeReaders.slice(0)) {\n reader.cancel(reason);\n }\n this._pdfDataRangeTransport.abort();\n }\n}\nexports.PDFDataTransportStream = PDFDataTransportStream;\nclass PDFDataTransportStreamReader {\n constructor(stream, queuedChunks, progressiveDone = false, contentDispositionFilename = null) {\n this._stream = stream;\n this._done = progressiveDone || false;\n this._filename = (0, _display_utils.isPdfFile)(contentDispositionFilename) ? contentDispositionFilename : null;\n this._queuedChunks = queuedChunks || [];\n this._loaded = 0;\n for (const chunk of this._queuedChunks) {\n this._loaded += chunk.byteLength;\n }\n this._requests = [];\n this._headersReady = Promise.resolve();\n stream._fullRequestReader = this;\n this.onProgress = null;\n }\n _enqueue(chunk) {\n if (this._done) {\n return;\n }\n if (this._requests.length > 0) {\n const requestCapability = this._requests.shift();\n requestCapability.resolve({\n value: chunk,\n done: false\n });\n } else {\n this._queuedChunks.push(chunk);\n }\n this._loaded += chunk.byteLength;\n }\n get headersReady() {\n return this._headersReady;\n }\n get filename() {\n return this._filename;\n }\n get isRangeSupported() {\n return this._stream._isRangeSupported;\n }\n get isStreamingSupported() {\n return this._stream._isStreamingSupported;\n }\n get contentLength() {\n return this._stream._contentLength;\n }\n async read() {\n if (this._queuedChunks.length > 0) {\n const chunk = this._queuedChunks.shift();\n return {\n value: chunk,\n done: false\n };\n }\n if (this._done) {\n return {\n value: undefined,\n done: true\n };\n }\n const requestCapability = new _util.PromiseCapability();\n this._requests.push(requestCapability);\n return requestCapability.promise;\n }\n cancel(reason) {\n this._done = true;\n for (const requestCapability of this._requests) {\n requestCapability.resolve({\n value: undefined,\n done: true\n });\n }\n this._requests.length = 0;\n }\n progressiveDone() {\n if (this._done) {\n return;\n }\n this._done = true;\n }\n}\nclass PDFDataTransportStreamRangeReader {\n constructor(stream, begin, end) {\n this._stream = stream;\n this._begin = begin;\n this._end = end;\n this._queuedChunk = null;\n this._requests = [];\n this._done = false;\n this.onProgress = null;\n }\n _enqueue(chunk) {\n if (this._done) {\n return;\n }\n if (this._requests.length === 0) {\n this._queuedChunk = chunk;\n } else {\n const requestsCapability = this._requests.shift();\n requestsCapability.resolve({\n value: chunk,\n done: false\n });\n for (const requestCapability of this._requests) {\n requestCapability.resolve({\n value: undefined,\n done: true\n });\n }\n this._requests.length = 0;\n }\n this._done = true;\n this._stream._removeRangeReader(this);\n }\n get isStreamingSupported() {\n return false;\n }\n async read() {\n if (this._queuedChunk) {\n const chunk = this._queuedChunk;\n this._queuedChunk = null;\n return {\n value: chunk,\n done: false\n };\n }\n if (this._done) {\n return {\n value: undefined,\n done: true\n };\n }\n const requestCapability = new _util.PromiseCapability();\n this._requests.push(requestCapability);\n return requestCapability.promise;\n }\n cancel(reason) {\n this._done = true;\n for (const requestCapability of this._requests) {\n requestCapability.resolve({\n value: undefined,\n done: true\n });\n }\n this._requests.length = 0;\n this._stream._removeRangeReader(this);\n }\n}\n\n/***/ }),\n/* 19 */\n/***/ ((__unused_webpack_module, exports) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.XfaText = void 0;\nclass XfaText {\n static textContent(xfa) {\n const items = [];\n const output = {\n items,\n styles: Object.create(null)\n };\n function walk(node) {\n if (!node) {\n return;\n }\n let str = null;\n const name = node.name;\n if (name === \"#text\") {\n str = node.value;\n } else if (!XfaText.shouldBuildText(name)) {\n return;\n } else if (node?.attributes?.textContent) {\n str = node.attributes.textContent;\n } else if (node.value) {\n str = node.value;\n }\n if (str !== null) {\n items.push({\n str\n });\n }\n if (!node.children) {\n return;\n }\n for (const child of node.children) {\n walk(child);\n }\n }\n walk(xfa);\n return output;\n }\n static shouldBuildText(name) {\n return !(name === \"textarea\" || name === \"input\" || name === \"option\" || name === \"select\");\n }\n}\nexports.XfaText = XfaText;\n\n/***/ }),\n/* 20 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.NodeStandardFontDataFactory = exports.NodeFilterFactory = exports.NodeCanvasFactory = exports.NodeCMapReaderFactory = void 0;\nvar _base_factory = __w_pdfjs_require__(7);\n;\nconst fetchData = function (url) {\n return new Promise((resolve, reject) => {\n const fs = require(\"fs\");\n fs.readFile(url, (error, data) => {\n if (error || !data) {\n reject(new Error(error));\n return;\n }\n resolve(new Uint8Array(data));\n });\n });\n};\nclass NodeFilterFactory extends _base_factory.BaseFilterFactory {}\nexports.NodeFilterFactory = NodeFilterFactory;\nclass NodeCanvasFactory extends _base_factory.BaseCanvasFactory {\n _createCanvas(width, height) {\n const Canvas = require(\"canvas\");\n return Canvas.createCanvas(width, height);\n }\n}\nexports.NodeCanvasFactory = NodeCanvasFactory;\nclass NodeCMapReaderFactory extends _base_factory.BaseCMapReaderFactory {\n _fetchData(url, compressionType) {\n return fetchData(url).then(data => {\n return {\n cMapData: data,\n compressionType\n };\n });\n }\n}\nexports.NodeCMapReaderFactory = NodeCMapReaderFactory;\nclass NodeStandardFontDataFactory extends _base_factory.BaseStandardFontDataFactory {\n _fetchData(url) {\n return fetchData(url);\n }\n}\nexports.NodeStandardFontDataFactory = NodeStandardFontDataFactory;\n\n/***/ }),\n/* 21 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.PDFNodeStream = void 0;\nvar _util = __w_pdfjs_require__(1);\nvar _network_utils = __w_pdfjs_require__(22);\n;\nconst fs = require(\"fs\");\nconst http = require(\"http\");\nconst https = require(\"https\");\nconst url = require(\"url\");\nconst fileUriRegex = /^file:\\/\\/\\/[a-zA-Z]:\\//;\nfunction parseUrl(sourceUrl) {\n const parsedUrl = url.parse(sourceUrl);\n if (parsedUrl.protocol === \"file:\" || parsedUrl.host) {\n return parsedUrl;\n }\n if (/^[a-z]:[/\\\\]/i.test(sourceUrl)) {\n return url.parse(`file:///${sourceUrl}`);\n }\n if (!parsedUrl.host) {\n parsedUrl.protocol = \"file:\";\n }\n return parsedUrl;\n}\nclass PDFNodeStream {\n constructor(source) {\n this.source = source;\n this.url = parseUrl(source.url);\n this.isHttp = this.url.protocol === \"http:\" || this.url.protocol === \"https:\";\n this.isFsUrl = this.url.protocol === \"file:\";\n this.httpHeaders = this.isHttp && source.httpHeaders || {};\n this._fullRequestReader = null;\n this._rangeRequestReaders = [];\n }\n get _progressiveDataLength() {\n return this._fullRequestReader?._loaded ?? 0;\n }\n getFullReader() {\n (0, _util.assert)(!this._fullRequestReader, \"PDFNodeStream.getFullReader can only be called once.\");\n this._fullRequestReader = this.isFsUrl ? new PDFNodeStreamFsFullReader(this) : new PDFNodeStreamFullReader(this);\n return this._fullRequestReader;\n }\n getRangeReader(start, end) {\n if (end <= this._progressiveDataLength) {\n return null;\n }\n const rangeReader = this.isFsUrl ? new PDFNodeStreamFsRangeReader(this, start, end) : new PDFNodeStreamRangeReader(this, start, end);\n this._rangeRequestReaders.push(rangeReader);\n return rangeReader;\n }\n cancelAllRequests(reason) {\n this._fullRequestReader?.cancel(reason);\n for (const reader of this._rangeRequestReaders.slice(0)) {\n reader.cancel(reason);\n }\n }\n}\nexports.PDFNodeStream = PDFNodeStream;\nclass BaseFullReader {\n constructor(stream) {\n this._url = stream.url;\n this._done = false;\n this._storedError = null;\n this.onProgress = null;\n const source = stream.source;\n this._contentLength = source.length;\n this._loaded = 0;\n this._filename = null;\n this._disableRange = source.disableRange || false;\n this._rangeChunkSize = source.rangeChunkSize;\n if (!this._rangeChunkSize && !this._disableRange) {\n this._disableRange = true;\n }\n this._isStreamingSupported = !source.disableStream;\n this._isRangeSupported = !source.disableRange;\n this._readableStream = null;\n this._readCapability = new _util.PromiseCapability();\n this._headersCapability = new _util.PromiseCapability();\n }\n get headersReady() {\n return this._headersCapability.promise;\n }\n get filename() {\n return this._filename;\n }\n get contentLength() {\n return this._contentLength;\n }\n get isRangeSupported() {\n return this._isRangeSupported;\n }\n get isStreamingSupported() {\n return this._isStreamingSupported;\n }\n async read() {\n await this._readCapability.promise;\n if (this._done) {\n return {\n value: undefined,\n done: true\n };\n }\n if (this._storedError) {\n throw this._storedError;\n }\n const chunk = this._readableStream.read();\n if (chunk === null) {\n this._readCapability = new _util.PromiseCapability();\n return this.read();\n }\n this._loaded += chunk.length;\n this.onProgress?.({\n loaded: this._loaded,\n total: this._contentLength\n });\n const buffer = new Uint8Array(chunk).buffer;\n return {\n value: buffer,\n done: false\n };\n }\n cancel(reason) {\n if (!this._readableStream) {\n this._error(reason);\n return;\n }\n this._readableStream.destroy(reason);\n }\n _error(reason) {\n this._storedError = reason;\n this._readCapability.resolve();\n }\n _setReadableStream(readableStream) {\n this._readableStream = readableStream;\n readableStream.on(\"readable\", () => {\n this._readCapability.resolve();\n });\n readableStream.on(\"end\", () => {\n readableStream.destroy();\n this._done = true;\n this._readCapability.resolve();\n });\n readableStream.on(\"error\", reason => {\n this._error(reason);\n });\n if (!this._isStreamingSupported && this._isRangeSupported) {\n this._error(new _util.AbortException(\"streaming is disabled\"));\n }\n if (this._storedError) {\n this._readableStream.destroy(this._storedError);\n }\n }\n}\nclass BaseRangeReader {\n constructor(stream) {\n this._url = stream.url;\n this._done = false;\n this._storedError = null;\n this.onProgress = null;\n this._loaded = 0;\n this._readableStream = null;\n this._readCapability = new _util.PromiseCapability();\n const source = stream.source;\n this._isStreamingSupported = !source.disableStream;\n }\n get isStreamingSupported() {\n return this._isStreamingSupported;\n }\n async read() {\n await this._readCapability.promise;\n if (this._done) {\n return {\n value: undefined,\n done: true\n };\n }\n if (this._storedError) {\n throw this._storedError;\n }\n const chunk = this._readableStream.read();\n if (chunk === null) {\n this._readCapability = new _util.PromiseCapability();\n return this.read();\n }\n this._loaded += chunk.length;\n this.onProgress?.({\n loaded: this._loaded\n });\n const buffer = new Uint8Array(chunk).buffer;\n return {\n value: buffer,\n done: false\n };\n }\n cancel(reason) {\n if (!this._readableStream) {\n this._error(reason);\n return;\n }\n this._readableStream.destroy(reason);\n }\n _error(reason) {\n this._storedError = reason;\n this._readCapability.resolve();\n }\n _setReadableStream(readableStream) {\n this._readableStream = readableStream;\n readableStream.on(\"readable\", () => {\n this._readCapability.resolve();\n });\n readableStream.on(\"end\", () => {\n readableStream.destroy();\n this._done = true;\n this._readCapability.resolve();\n });\n readableStream.on(\"error\", reason => {\n this._error(reason);\n });\n if (this._storedError) {\n this._readableStream.destroy(this._storedError);\n }\n }\n}\nfunction createRequestOptions(parsedUrl, headers) {\n return {\n protocol: parsedUrl.protocol,\n auth: parsedUrl.auth,\n host: parsedUrl.hostname,\n port: parsedUrl.port,\n path: parsedUrl.path,\n method: \"GET\",\n headers\n };\n}\nclass PDFNodeStreamFullReader extends BaseFullReader {\n constructor(stream) {\n super(stream);\n const handleResponse = response => {\n if (response.statusCode === 404) {\n const error = new _util.MissingPDFException(`Missing PDF \"${this._url}\".`);\n this._storedError = error;\n this._headersCapability.reject(error);\n return;\n }\n this._headersCapability.resolve();\n this._setReadableStream(response);\n const getResponseHeader = name => {\n return this._readableStream.headers[name.toLowerCase()];\n };\n const {\n allowRangeRequests,\n suggestedLength\n } = (0, _network_utils.validateRangeRequestCapabilities)({\n getResponseHeader,\n isHttp: stream.isHttp,\n rangeChunkSize: this._rangeChunkSize,\n disableRange: this._disableRange\n });\n this._isRangeSupported = allowRangeRequests;\n this._contentLength = suggestedLength || this._contentLength;\n this._filename = (0, _network_utils.extractFilenameFromHeader)(getResponseHeader);\n };\n this._request = null;\n if (this._url.protocol === \"http:\") {\n this._request = http.request(createRequestOptions(this._url, stream.httpHeaders), handleResponse);\n } else {\n this._request = https.request(createRequestOptions(this._url, stream.httpHeaders), handleResponse);\n }\n this._request.on(\"error\", reason => {\n this._storedError = reason;\n this._headersCapability.reject(reason);\n });\n this._request.end();\n }\n}\nclass PDFNodeStreamRangeReader extends BaseRangeReader {\n constructor(stream, start, end) {\n super(stream);\n this._httpHeaders = {};\n for (const property in stream.httpHeaders) {\n const value = stream.httpHeaders[property];\n if (value === undefined) {\n continue;\n }\n this._httpHeaders[property] = value;\n }\n this._httpHeaders.Range = `bytes=${start}-${end - 1}`;\n const handleResponse = response => {\n if (response.statusCode === 404) {\n const error = new _util.MissingPDFException(`Missing PDF \"${this._url}\".`);\n this._storedError = error;\n return;\n }\n this._setReadableStream(response);\n };\n this._request = null;\n if (this._url.protocol === \"http:\") {\n this._request = http.request(createRequestOptions(this._url, this._httpHeaders), handleResponse);\n } else {\n this._request = https.request(createRequestOptions(this._url, this._httpHeaders), handleResponse);\n }\n this._request.on(\"error\", reason => {\n this._storedError = reason;\n });\n this._request.end();\n }\n}\nclass PDFNodeStreamFsFullReader extends BaseFullReader {\n constructor(stream) {\n super(stream);\n let path = decodeURIComponent(this._url.path);\n if (fileUriRegex.test(this._url.href)) {\n path = path.replace(/^\\//, \"\");\n }\n fs.lstat(path, (error, stat) => {\n if (error) {\n if (error.code === \"ENOENT\") {\n error = new _util.MissingPDFException(`Missing PDF \"${path}\".`);\n }\n this._storedError = error;\n this._headersCapability.reject(error);\n return;\n }\n this._contentLength = stat.size;\n this._setReadableStream(fs.createReadStream(path));\n this._headersCapability.resolve();\n });\n }\n}\nclass PDFNodeStreamFsRangeReader extends BaseRangeReader {\n constructor(stream, start, end) {\n super(stream);\n let path = decodeURIComponent(this._url.path);\n if (fileUriRegex.test(this._url.href)) {\n path = path.replace(/^\\//, \"\");\n }\n this._setReadableStream(fs.createReadStream(path, {\n start,\n end: end - 1\n }));\n }\n}\n\n/***/ }),\n/* 22 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.createResponseStatusError = createResponseStatusError;\nexports.extractFilenameFromHeader = extractFilenameFromHeader;\nexports.validateRangeRequestCapabilities = validateRangeRequestCapabilities;\nexports.validateResponseStatus = validateResponseStatus;\nvar _util = __w_pdfjs_require__(1);\nvar _content_disposition = __w_pdfjs_require__(23);\nvar _display_utils = __w_pdfjs_require__(6);\nfunction validateRangeRequestCapabilities({\n getResponseHeader,\n isHttp,\n rangeChunkSize,\n disableRange\n}) {\n const returnValues = {\n allowRangeRequests: false,\n suggestedLength: undefined\n };\n const length = parseInt(getResponseHeader(\"Content-Length\"), 10);\n if (!Number.isInteger(length)) {\n return returnValues;\n }\n returnValues.suggestedLength = length;\n if (length <= 2 * rangeChunkSize) {\n return returnValues;\n }\n if (disableRange || !isHttp) {\n return returnValues;\n }\n if (getResponseHeader(\"Accept-Ranges\") !== \"bytes\") {\n return returnValues;\n }\n const contentEncoding = getResponseHeader(\"Content-Encoding\") || \"identity\";\n if (contentEncoding !== \"identity\") {\n return returnValues;\n }\n returnValues.allowRangeRequests = true;\n return returnValues;\n}\nfunction extractFilenameFromHeader(getResponseHeader) {\n const contentDisposition = getResponseHeader(\"Content-Disposition\");\n if (contentDisposition) {\n let filename = (0, _content_disposition.getFilenameFromContentDispositionHeader)(contentDisposition);\n if (filename.includes(\"%\")) {\n try {\n filename = decodeURIComponent(filename);\n } catch (ex) {}\n }\n if ((0, _display_utils.isPdfFile)(filename)) {\n return filename;\n }\n }\n return null;\n}\nfunction createResponseStatusError(status, url) {\n if (status === 404 || status === 0 && url.startsWith(\"file:\")) {\n return new _util.MissingPDFException('Missing PDF \"' + url + '\".');\n }\n return new _util.UnexpectedResponseException(`Unexpected server response (${status}) while retrieving PDF \"${url}\".`, status);\n}\nfunction validateResponseStatus(status) {\n return status === 200 || status === 206;\n}\n\n/***/ }),\n/* 23 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.getFilenameFromContentDispositionHeader = getFilenameFromContentDispositionHeader;\nvar _util = __w_pdfjs_require__(1);\nfunction getFilenameFromContentDispositionHeader(contentDisposition) {\n let needsEncodingFixup = true;\n let tmp = toParamRegExp(\"filename\\\\*\", \"i\").exec(contentDisposition);\n if (tmp) {\n tmp = tmp[1];\n let filename = rfc2616unquote(tmp);\n filename = unescape(filename);\n filename = rfc5987decode(filename);\n filename = rfc2047decode(filename);\n return fixupEncoding(filename);\n }\n tmp = rfc2231getparam(contentDisposition);\n if (tmp) {\n const filename = rfc2047decode(tmp);\n return fixupEncoding(filename);\n }\n tmp = toParamRegExp(\"filename\", \"i\").exec(contentDisposition);\n if (tmp) {\n tmp = tmp[1];\n let filename = rfc2616unquote(tmp);\n filename = rfc2047decode(filename);\n return fixupEncoding(filename);\n }\n function toParamRegExp(attributePattern, flags) {\n return new RegExp(\"(?:^|;)\\\\s*\" + attributePattern + \"\\\\s*=\\\\s*\" + \"(\" + '[^\";\\\\s][^;\\\\s]*' + \"|\" + '\"(?:[^\"\\\\\\\\]|\\\\\\\\\"?)+\"?' + \")\", flags);\n }\n function textdecode(encoding, value) {\n if (encoding) {\n if (!/^[\\x00-\\xFF]+$/.test(value)) {\n return value;\n }\n try {\n const decoder = new TextDecoder(encoding, {\n fatal: true\n });\n const buffer = (0, _util.stringToBytes)(value);\n value = decoder.decode(buffer);\n needsEncodingFixup = false;\n } catch (e) {}\n }\n return value;\n }\n function fixupEncoding(value) {\n if (needsEncodingFixup && /[\\x80-\\xff]/.test(value)) {\n value = textdecode(\"utf-8\", value);\n if (needsEncodingFixup) {\n value = textdecode(\"iso-8859-1\", value);\n }\n }\n return value;\n }\n function rfc2231getparam(contentDispositionStr) {\n const matches = [];\n let match;\n const iter = toParamRegExp(\"filename\\\\*((?!0\\\\d)\\\\d+)(\\\\*?)\", \"ig\");\n while ((match = iter.exec(contentDispositionStr)) !== null) {\n let [, n, quot, part] = match;\n n = parseInt(n, 10);\n if (n in matches) {\n if (n === 0) {\n break;\n }\n continue;\n }\n matches[n] = [quot, part];\n }\n const parts = [];\n for (let n = 0; n < matches.length; ++n) {\n if (!(n in matches)) {\n break;\n }\n let [quot, part] = matches[n];\n part = rfc2616unquote(part);\n if (quot) {\n part = unescape(part);\n if (n === 0) {\n part = rfc5987decode(part);\n }\n }\n parts.push(part);\n }\n return parts.join(\"\");\n }\n function rfc2616unquote(value) {\n if (value.startsWith('\"')) {\n const parts = value.slice(1).split('\\\\\"');\n for (let i = 0; i < parts.length; ++i) {\n const quotindex = parts[i].indexOf('\"');\n if (quotindex !== -1) {\n parts[i] = parts[i].slice(0, quotindex);\n parts.length = i + 1;\n }\n parts[i] = parts[i].replaceAll(/\\\\(.)/g, \"$1\");\n }\n value = parts.join('\"');\n }\n return value;\n }\n function rfc5987decode(extvalue) {\n const encodingend = extvalue.indexOf(\"'\");\n if (encodingend === -1) {\n return extvalue;\n }\n const encoding = extvalue.slice(0, encodingend);\n const langvalue = extvalue.slice(encodingend + 1);\n const value = langvalue.replace(/^[^']*'/, \"\");\n return textdecode(encoding, value);\n }\n function rfc2047decode(value) {\n if (!value.startsWith(\"=?\") || /[\\x00-\\x19\\x80-\\xff]/.test(value)) {\n return value;\n }\n return value.replaceAll(/=\\?([\\w-]*)\\?([QqBb])\\?((?:[^?]|\\?(?!=))*)\\?=/g, function (matches, charset, encoding, text) {\n if (encoding === \"q\" || encoding === \"Q\") {\n text = text.replaceAll(\"_\", \" \");\n text = text.replaceAll(/=([0-9a-fA-F]{2})/g, function (match, hex) {\n return String.fromCharCode(parseInt(hex, 16));\n });\n return textdecode(charset, text);\n }\n try {\n text = atob(text);\n } catch (e) {}\n return textdecode(charset, text);\n });\n }\n return \"\";\n}\n\n/***/ }),\n/* 24 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.PDFNetworkStream = void 0;\nvar _util = __w_pdfjs_require__(1);\nvar _network_utils = __w_pdfjs_require__(22);\n;\nconst OK_RESPONSE = 200;\nconst PARTIAL_CONTENT_RESPONSE = 206;\nfunction getArrayBuffer(xhr) {\n const data = xhr.response;\n if (typeof data !== \"string\") {\n return data;\n }\n return (0, _util.stringToBytes)(data).buffer;\n}\nclass NetworkManager {\n constructor(url, args = {}) {\n this.url = url;\n this.isHttp = /^https?:/i.test(url);\n this.httpHeaders = this.isHttp && args.httpHeaders || Object.create(null);\n this.withCredentials = args.withCredentials || false;\n this.currXhrId = 0;\n this.pendingRequests = Object.create(null);\n }\n requestRange(begin, end, listeners) {\n const args = {\n begin,\n end\n };\n for (const prop in listeners) {\n args[prop] = listeners[prop];\n }\n return this.request(args);\n }\n requestFull(listeners) {\n return this.request(listeners);\n }\n request(args) {\n const xhr = new XMLHttpRequest();\n const xhrId = this.currXhrId++;\n const pendingRequest = this.pendingRequests[xhrId] = {\n xhr\n };\n xhr.open(\"GET\", this.url);\n xhr.withCredentials = this.withCredentials;\n for (const property in this.httpHeaders) {\n const value = this.httpHeaders[property];\n if (value === undefined) {\n continue;\n }\n xhr.setRequestHeader(property, value);\n }\n if (this.isHttp && \"begin\" in args && \"end\" in args) {\n xhr.setRequestHeader(\"Range\", `bytes=${args.begin}-${args.end - 1}`);\n pendingRequest.expectedStatus = PARTIAL_CONTENT_RESPONSE;\n } else {\n pendingRequest.expectedStatus = OK_RESPONSE;\n }\n xhr.responseType = \"arraybuffer\";\n if (args.onError) {\n xhr.onerror = function (evt) {\n args.onError(xhr.status);\n };\n }\n xhr.onreadystatechange = this.onStateChange.bind(this, xhrId);\n xhr.onprogress = this.onProgress.bind(this, xhrId);\n pendingRequest.onHeadersReceived = args.onHeadersReceived;\n pendingRequest.onDone = args.onDone;\n pendingRequest.onError = args.onError;\n pendingRequest.onProgress = args.onProgress;\n xhr.send(null);\n return xhrId;\n }\n onProgress(xhrId, evt) {\n const pendingRequest = this.pendingRequests[xhrId];\n if (!pendingRequest) {\n return;\n }\n pendingRequest.onProgress?.(evt);\n }\n onStateChange(xhrId, evt) {\n const pendingRequest = this.pendingRequests[xhrId];\n if (!pendingRequest) {\n return;\n }\n const xhr = pendingRequest.xhr;\n if (xhr.readyState >= 2 && pendingRequest.onHeadersReceived) {\n pendingRequest.onHeadersReceived();\n delete pendingRequest.onHeadersReceived;\n }\n if (xhr.readyState !== 4) {\n return;\n }\n if (!(xhrId in this.pendingRequests)) {\n return;\n }\n delete this.pendingRequests[xhrId];\n if (xhr.status === 0 && this.isHttp) {\n pendingRequest.onError?.(xhr.status);\n return;\n }\n const xhrStatus = xhr.status || OK_RESPONSE;\n const ok_response_on_range_request = xhrStatus === OK_RESPONSE && pendingRequest.expectedStatus === PARTIAL_CONTENT_RESPONSE;\n if (!ok_response_on_range_request && xhrStatus !== pendingRequest.expectedStatus) {\n pendingRequest.onError?.(xhr.status);\n return;\n }\n const chunk = getArrayBuffer(xhr);\n if (xhrStatus === PARTIAL_CONTENT_RESPONSE) {\n const rangeHeader = xhr.getResponseHeader(\"Content-Range\");\n const matches = /bytes (\\d+)-(\\d+)\\/(\\d+)/.exec(rangeHeader);\n pendingRequest.onDone({\n begin: parseInt(matches[1], 10),\n chunk\n });\n } else if (chunk) {\n pendingRequest.onDone({\n begin: 0,\n chunk\n });\n } else {\n pendingRequest.onError?.(xhr.status);\n }\n }\n getRequestXhr(xhrId) {\n return this.pendingRequests[xhrId].xhr;\n }\n isPendingRequest(xhrId) {\n return xhrId in this.pendingRequests;\n }\n abortRequest(xhrId) {\n const xhr = this.pendingRequests[xhrId].xhr;\n delete this.pendingRequests[xhrId];\n xhr.abort();\n }\n}\nclass PDFNetworkStream {\n constructor(source) {\n this._source = source;\n this._manager = new NetworkManager(source.url, {\n httpHeaders: source.httpHeaders,\n withCredentials: source.withCredentials\n });\n this._rangeChunkSize = source.rangeChunkSize;\n this._fullRequestReader = null;\n this._rangeRequestReaders = [];\n }\n _onRangeRequestReaderClosed(reader) {\n const i = this._rangeRequestReaders.indexOf(reader);\n if (i >= 0) {\n this._rangeRequestReaders.splice(i, 1);\n }\n }\n getFullReader() {\n (0, _util.assert)(!this._fullRequestReader, \"PDFNetworkStream.getFullReader can only be called once.\");\n this._fullRequestReader = new PDFNetworkStreamFullRequestReader(this._manager, this._source);\n return this._fullRequestReader;\n }\n getRangeReader(begin, end) {\n const reader = new PDFNetworkStreamRangeRequestReader(this._manager, begin, end);\n reader.onClosed = this._onRangeRequestReaderClosed.bind(this);\n this._rangeRequestReaders.push(reader);\n return reader;\n }\n cancelAllRequests(reason) {\n this._fullRequestReader?.cancel(reason);\n for (const reader of this._rangeRequestReaders.slice(0)) {\n reader.cancel(reason);\n }\n }\n}\nexports.PDFNetworkStream = PDFNetworkStream;\nclass PDFNetworkStreamFullRequestReader {\n constructor(manager, source) {\n this._manager = manager;\n const args = {\n onHeadersReceived: this._onHeadersReceived.bind(this),\n onDone: this._onDone.bind(this),\n onError: this._onError.bind(this),\n onProgress: this._onProgress.bind(this)\n };\n this._url = source.url;\n this._fullRequestId = manager.requestFull(args);\n this._headersReceivedCapability = new _util.PromiseCapability();\n this._disableRange = source.disableRange || false;\n this._contentLength = source.length;\n this._rangeChunkSize = source.rangeChunkSize;\n if (!this._rangeChunkSize && !this._disableRange) {\n this._disableRange = true;\n }\n this._isStreamingSupported = false;\n this._isRangeSupported = false;\n this._cachedChunks = [];\n this._requests = [];\n this._done = false;\n this._storedError = undefined;\n this._filename = null;\n this.onProgress = null;\n }\n _onHeadersReceived() {\n const fullRequestXhrId = this._fullRequestId;\n const fullRequestXhr = this._manager.getRequestXhr(fullRequestXhrId);\n const getResponseHeader = name => {\n return fullRequestXhr.getResponseHeader(name);\n };\n const {\n allowRangeRequests,\n suggestedLength\n } = (0, _network_utils.validateRangeRequestCapabilities)({\n getResponseHeader,\n isHttp: this._manager.isHttp,\n rangeChunkSize: this._rangeChunkSize,\n disableRange: this._disableRange\n });\n if (allowRangeRequests) {\n this._isRangeSupported = true;\n }\n this._contentLength = suggestedLength || this._contentLength;\n this._filename = (0, _network_utils.extractFilenameFromHeader)(getResponseHeader);\n if (this._isRangeSupported) {\n this._manager.abortRequest(fullRequestXhrId);\n }\n this._headersReceivedCapability.resolve();\n }\n _onDone(data) {\n if (data) {\n if (this._requests.length > 0) {\n const requestCapability = this._requests.shift();\n requestCapability.resolve({\n value: data.chunk,\n done: false\n });\n } else {\n this._cachedChunks.push(data.chunk);\n }\n }\n this._done = true;\n if (this._cachedChunks.length > 0) {\n return;\n }\n for (const requestCapability of this._requests) {\n requestCapability.resolve({\n value: undefined,\n done: true\n });\n }\n this._requests.length = 0;\n }\n _onError(status) {\n this._storedError = (0, _network_utils.createResponseStatusError)(status, this._url);\n this._headersReceivedCapability.reject(this._storedError);\n for (const requestCapability of this._requests) {\n requestCapability.reject(this._storedError);\n }\n this._requests.length = 0;\n this._cachedChunks.length = 0;\n }\n _onProgress(evt) {\n this.onProgress?.({\n loaded: evt.loaded,\n total: evt.lengthComputable ? evt.total : this._contentLength\n });\n }\n get filename() {\n return this._filename;\n }\n get isRangeSupported() {\n return this._isRangeSupported;\n }\n get isStreamingSupported() {\n return this._isStreamingSupported;\n }\n get contentLength() {\n return this._contentLength;\n }\n get headersReady() {\n return this._headersReceivedCapability.promise;\n }\n async read() {\n if (this._storedError) {\n throw this._storedError;\n }\n if (this._cachedChunks.length > 0) {\n const chunk = this._cachedChunks.shift();\n return {\n value: chunk,\n done: false\n };\n }\n if (this._done) {\n return {\n value: undefined,\n done: true\n };\n }\n const requestCapability = new _util.PromiseCapability();\n this._requests.push(requestCapability);\n return requestCapability.promise;\n }\n cancel(reason) {\n this._done = true;\n this._headersReceivedCapability.reject(reason);\n for (const requestCapability of this._requests) {\n requestCapability.resolve({\n value: undefined,\n done: true\n });\n }\n this._requests.length = 0;\n if (this._manager.isPendingRequest(this._fullRequestId)) {\n this._manager.abortRequest(this._fullRequestId);\n }\n this._fullRequestReader = null;\n }\n}\nclass PDFNetworkStreamRangeRequestReader {\n constructor(manager, begin, end) {\n this._manager = manager;\n const args = {\n onDone: this._onDone.bind(this),\n onError: this._onError.bind(this),\n onProgress: this._onProgress.bind(this)\n };\n this._url = manager.url;\n this._requestId = manager.requestRange(begin, end, args);\n this._requests = [];\n this._queuedChunk = null;\n this._done = false;\n this._storedError = undefined;\n this.onProgress = null;\n this.onClosed = null;\n }\n _close() {\n this.onClosed?.(this);\n }\n _onDone(data) {\n const chunk = data.chunk;\n if (this._requests.length > 0) {\n const requestCapability = this._requests.shift();\n requestCapability.resolve({\n value: chunk,\n done: false\n });\n } else {\n this._queuedChunk = chunk;\n }\n this._done = true;\n for (const requestCapability of this._requests) {\n requestCapability.resolve({\n value: undefined,\n done: true\n });\n }\n this._requests.length = 0;\n this._close();\n }\n _onError(status) {\n this._storedError = (0, _network_utils.createResponseStatusError)(status, this._url);\n for (const requestCapability of this._requests) {\n requestCapability.reject(this._storedError);\n }\n this._requests.length = 0;\n this._queuedChunk = null;\n }\n _onProgress(evt) {\n if (!this.isStreamingSupported) {\n this.onProgress?.({\n loaded: evt.loaded\n });\n }\n }\n get isStreamingSupported() {\n return false;\n }\n async read() {\n if (this._storedError) {\n throw this._storedError;\n }\n if (this._queuedChunk !== null) {\n const chunk = this._queuedChunk;\n this._queuedChunk = null;\n return {\n value: chunk,\n done: false\n };\n }\n if (this._done) {\n return {\n value: undefined,\n done: true\n };\n }\n const requestCapability = new _util.PromiseCapability();\n this._requests.push(requestCapability);\n return requestCapability.promise;\n }\n cancel(reason) {\n this._done = true;\n for (const requestCapability of this._requests) {\n requestCapability.resolve({\n value: undefined,\n done: true\n });\n }\n this._requests.length = 0;\n if (this._manager.isPendingRequest(this._requestId)) {\n this._manager.abortRequest(this._requestId);\n }\n this._close();\n }\n}\n\n/***/ }),\n/* 25 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.PDFFetchStream = void 0;\nvar _util = __w_pdfjs_require__(1);\nvar _network_utils = __w_pdfjs_require__(22);\n;\nfunction createFetchOptions(headers, withCredentials, abortController) {\n return {\n method: \"GET\",\n headers,\n signal: abortController.signal,\n mode: \"cors\",\n credentials: withCredentials ? \"include\" : \"same-origin\",\n redirect: \"follow\"\n };\n}\nfunction createHeaders(httpHeaders) {\n const headers = new Headers();\n for (const property in httpHeaders) {\n const value = httpHeaders[property];\n if (value === undefined) {\n continue;\n }\n headers.append(property, value);\n }\n return headers;\n}\nfunction getArrayBuffer(val) {\n if (val instanceof Uint8Array) {\n return val.buffer;\n }\n if (val instanceof ArrayBuffer) {\n return val;\n }\n (0, _util.warn)(`getArrayBuffer - unexpected data format: ${val}`);\n return new Uint8Array(val).buffer;\n}\nclass PDFFetchStream {\n constructor(source) {\n this.source = source;\n this.isHttp = /^https?:/i.test(source.url);\n this.httpHeaders = this.isHttp && source.httpHeaders || {};\n this._fullRequestReader = null;\n this._rangeRequestReaders = [];\n }\n get _progressiveDataLength() {\n return this._fullRequestReader?._loaded ?? 0;\n }\n getFullReader() {\n (0, _util.assert)(!this._fullRequestReader, \"PDFFetchStream.getFullReader can only be called once.\");\n this._fullRequestReader = new PDFFetchStreamReader(this);\n return this._fullRequestReader;\n }\n getRangeReader(begin, end) {\n if (end <= this._progressiveDataLength) {\n return null;\n }\n const reader = new PDFFetchStreamRangeReader(this, begin, end);\n this._rangeRequestReaders.push(reader);\n return reader;\n }\n cancelAllRequests(reason) {\n this._fullRequestReader?.cancel(reason);\n for (const reader of this._rangeRequestReaders.slice(0)) {\n reader.cancel(reason);\n }\n }\n}\nexports.PDFFetchStream = PDFFetchStream;\nclass PDFFetchStreamReader {\n constructor(stream) {\n this._stream = stream;\n this._reader = null;\n this._loaded = 0;\n this._filename = null;\n const source = stream.source;\n this._withCredentials = source.withCredentials || false;\n this._contentLength = source.length;\n this._headersCapability = new _util.PromiseCapability();\n this._disableRange = source.disableRange || false;\n this._rangeChunkSize = source.rangeChunkSize;\n if (!this._rangeChunkSize && !this._disableRange) {\n this._disableRange = true;\n }\n this._abortController = new AbortController();\n this._isStreamingSupported = !source.disableStream;\n this._isRangeSupported = !source.disableRange;\n this._headers = createHeaders(this._stream.httpHeaders);\n const url = source.url;\n fetch(url, createFetchOptions(this._headers, this._withCredentials, this._abortController)).then(response => {\n if (!(0, _network_utils.validateResponseStatus)(response.status)) {\n throw (0, _network_utils.createResponseStatusError)(response.status, url);\n }\n this._reader = response.body.getReader();\n this._headersCapability.resolve();\n const getResponseHeader = name => {\n return response.headers.get(name);\n };\n const {\n allowRangeRequests,\n suggestedLength\n } = (0, _network_utils.validateRangeRequestCapabilities)({\n getResponseHeader,\n isHttp: this._stream.isHttp,\n rangeChunkSize: this._rangeChunkSize,\n disableRange: this._disableRange\n });\n this._isRangeSupported = allowRangeRequests;\n this._contentLength = suggestedLength || this._contentLength;\n this._filename = (0, _network_utils.extractFilenameFromHeader)(getResponseHeader);\n if (!this._isStreamingSupported && this._isRangeSupported) {\n this.cancel(new _util.AbortException(\"Streaming is disabled.\"));\n }\n }).catch(this._headersCapability.reject);\n this.onProgress = null;\n }\n get headersReady() {\n return this._headersCapability.promise;\n }\n get filename() {\n return this._filename;\n }\n get contentLength() {\n return this._contentLength;\n }\n get isRangeSupported() {\n return this._isRangeSupported;\n }\n get isStreamingSupported() {\n return this._isStreamingSupported;\n }\n async read() {\n await this._headersCapability.promise;\n const {\n value,\n done\n } = await this._reader.read();\n if (done) {\n return {\n value,\n done\n };\n }\n this._loaded += value.byteLength;\n this.onProgress?.({\n loaded: this._loaded,\n total: this._contentLength\n });\n return {\n value: getArrayBuffer(value),\n done: false\n };\n }\n cancel(reason) {\n this._reader?.cancel(reason);\n this._abortController.abort();\n }\n}\nclass PDFFetchStreamRangeReader {\n constructor(stream, begin, end) {\n this._stream = stream;\n this._reader = null;\n this._loaded = 0;\n const source = stream.source;\n this._withCredentials = source.withCredentials || false;\n this._readCapability = new _util.PromiseCapability();\n this._isStreamingSupported = !source.disableStream;\n this._abortController = new AbortController();\n this._headers = createHeaders(this._stream.httpHeaders);\n this._headers.append(\"Range\", `bytes=${begin}-${end - 1}`);\n const url = source.url;\n fetch(url, createFetchOptions(this._headers, this._withCredentials, this._abortController)).then(response => {\n if (!(0, _network_utils.validateResponseStatus)(response.status)) {\n throw (0, _network_utils.createResponseStatusError)(response.status, url);\n }\n this._readCapability.resolve();\n this._reader = response.body.getReader();\n }).catch(this._readCapability.reject);\n this.onProgress = null;\n }\n get isStreamingSupported() {\n return this._isStreamingSupported;\n }\n async read() {\n await this._readCapability.promise;\n const {\n value,\n done\n } = await this._reader.read();\n if (done) {\n return {\n value,\n done\n };\n }\n this._loaded += value.byteLength;\n this.onProgress?.({\n loaded: this._loaded\n });\n return {\n value: getArrayBuffer(value),\n done: false\n };\n }\n cancel(reason) {\n this._reader?.cancel(reason);\n this._abortController.abort();\n }\n}\n\n/***/ }),\n/* 26 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.TextLayerRenderTask = void 0;\nexports.renderTextLayer = renderTextLayer;\nexports.updateTextLayer = updateTextLayer;\nvar _util = __w_pdfjs_require__(1);\nvar _display_utils = __w_pdfjs_require__(6);\nconst MAX_TEXT_DIVS_TO_RENDER = 100000;\nconst DEFAULT_FONT_SIZE = 30;\nconst DEFAULT_FONT_ASCENT = 0.8;\nconst ascentCache = new Map();\nfunction getCtx(size, isOffscreenCanvasSupported) {\n let ctx;\n if (isOffscreenCanvasSupported && _util.FeatureTest.isOffscreenCanvasSupported) {\n ctx = new OffscreenCanvas(size, size).getContext(\"2d\", {\n alpha: false\n });\n } else {\n const canvas = document.createElement(\"canvas\");\n canvas.width = canvas.height = size;\n ctx = canvas.getContext(\"2d\", {\n alpha: false\n });\n }\n return ctx;\n}\nfunction getAscent(fontFamily, isOffscreenCanvasSupported) {\n const cachedAscent = ascentCache.get(fontFamily);\n if (cachedAscent) {\n return cachedAscent;\n }\n const ctx = getCtx(DEFAULT_FONT_SIZE, isOffscreenCanvasSupported);\n ctx.font = `${DEFAULT_FONT_SIZE}px ${fontFamily}`;\n const metrics = ctx.measureText(\"\");\n let ascent = metrics.fontBoundingBoxAscent;\n let descent = Math.abs(metrics.fontBoundingBoxDescent);\n if (ascent) {\n const ratio = ascent / (ascent + descent);\n ascentCache.set(fontFamily, ratio);\n ctx.canvas.width = ctx.canvas.height = 0;\n return ratio;\n }\n ctx.strokeStyle = \"red\";\n ctx.clearRect(0, 0, DEFAULT_FONT_SIZE, DEFAULT_FONT_SIZE);\n ctx.strokeText(\"g\", 0, 0);\n let pixels = ctx.getImageData(0, 0, DEFAULT_FONT_SIZE, DEFAULT_FONT_SIZE).data;\n descent = 0;\n for (let i = pixels.length - 1 - 3; i >= 0; i -= 4) {\n if (pixels[i] > 0) {\n descent = Math.ceil(i / 4 / DEFAULT_FONT_SIZE);\n break;\n }\n }\n ctx.clearRect(0, 0, DEFAULT_FONT_SIZE, DEFAULT_FONT_SIZE);\n ctx.strokeText(\"A\", 0, DEFAULT_FONT_SIZE);\n pixels = ctx.getImageData(0, 0, DEFAULT_FONT_SIZE, DEFAULT_FONT_SIZE).data;\n ascent = 0;\n for (let i = 0, ii = pixels.length; i < ii; i += 4) {\n if (pixels[i] > 0) {\n ascent = DEFAULT_FONT_SIZE - Math.floor(i / 4 / DEFAULT_FONT_SIZE);\n break;\n }\n }\n ctx.canvas.width = ctx.canvas.height = 0;\n if (ascent) {\n const ratio = ascent / (ascent + descent);\n ascentCache.set(fontFamily, ratio);\n return ratio;\n }\n ascentCache.set(fontFamily, DEFAULT_FONT_ASCENT);\n return DEFAULT_FONT_ASCENT;\n}\nfunction appendText(task, geom, styles) {\n const textDiv = document.createElement(\"span\");\n const textDivProperties = {\n angle: 0,\n canvasWidth: 0,\n hasText: geom.str !== \"\",\n hasEOL: geom.hasEOL,\n fontSize: 0\n };\n task._textDivs.push(textDiv);\n const tx = _util.Util.transform(task._transform, geom.transform);\n let angle = Math.atan2(tx[1], tx[0]);\n const style = styles[geom.fontName];\n if (style.vertical) {\n angle += Math.PI / 2;\n }\n const fontHeight = Math.hypot(tx[2], tx[3]);\n const fontAscent = fontHeight * getAscent(style.fontFamily, task._isOffscreenCanvasSupported);\n let left, top;\n if (angle === 0) {\n left = tx[4];\n top = tx[5] - fontAscent;\n } else {\n left = tx[4] + fontAscent * Math.sin(angle);\n top = tx[5] - fontAscent * Math.cos(angle);\n }\n const scaleFactorStr = \"calc(var(--scale-factor)*\";\n const divStyle = textDiv.style;\n if (task._container === task._rootContainer) {\n divStyle.left = `${(100 * left / task._pageWidth).toFixed(2)}%`;\n divStyle.top = `${(100 * top / task._pageHeight).toFixed(2)}%`;\n } else {\n divStyle.left = `${scaleFactorStr}${left.toFixed(2)}px)`;\n divStyle.top = `${scaleFactorStr}${top.toFixed(2)}px)`;\n }\n divStyle.fontSize = `${scaleFactorStr}${fontHeight.toFixed(2)}px)`;\n divStyle.fontFamily = style.fontFamily;\n textDivProperties.fontSize = fontHeight;\n textDiv.setAttribute(\"role\", \"presentation\");\n textDiv.textContent = geom.str;\n textDiv.dir = geom.dir;\n if (task._fontInspectorEnabled) {\n textDiv.dataset.fontName = geom.fontName;\n }\n if (angle !== 0) {\n textDivProperties.angle = angle * (180 / Math.PI);\n }\n let shouldScaleText = false;\n if (geom.str.length > 1) {\n shouldScaleText = true;\n } else if (geom.str !== \" \" && geom.transform[0] !== geom.transform[3]) {\n const absScaleX = Math.abs(geom.transform[0]),\n absScaleY = Math.abs(geom.transform[3]);\n if (absScaleX !== absScaleY && Math.max(absScaleX, absScaleY) / Math.min(absScaleX, absScaleY) > 1.5) {\n shouldScaleText = true;\n }\n }\n if (shouldScaleText) {\n textDivProperties.canvasWidth = style.vertical ? geom.height : geom.width;\n }\n task._textDivProperties.set(textDiv, textDivProperties);\n if (task._isReadableStream) {\n task._layoutText(textDiv);\n }\n}\nfunction layout(params) {\n const {\n div,\n scale,\n properties,\n ctx,\n prevFontSize,\n prevFontFamily\n } = params;\n const {\n style\n } = div;\n let transform = \"\";\n if (properties.canvasWidth !== 0 && properties.hasText) {\n const {\n fontFamily\n } = style;\n const {\n canvasWidth,\n fontSize\n } = properties;\n if (prevFontSize !== fontSize || prevFontFamily !== fontFamily) {\n ctx.font = `${fontSize * scale}px ${fontFamily}`;\n params.prevFontSize = fontSize;\n params.prevFontFamily = fontFamily;\n }\n const {\n width\n } = ctx.measureText(div.textContent);\n if (width > 0) {\n transform = `scaleX(${canvasWidth * scale / width})`;\n }\n }\n if (properties.angle !== 0) {\n transform = `rotate(${properties.angle}deg) ${transform}`;\n }\n if (transform.length > 0) {\n style.transform = transform;\n }\n}\nfunction render(task) {\n if (task._canceled) {\n return;\n }\n const textDivs = task._textDivs;\n const capability = task._capability;\n const textDivsLength = textDivs.length;\n if (textDivsLength > MAX_TEXT_DIVS_TO_RENDER) {\n capability.resolve();\n return;\n }\n if (!task._isReadableStream) {\n for (const textDiv of textDivs) {\n task._layoutText(textDiv);\n }\n }\n capability.resolve();\n}\nclass TextLayerRenderTask {\n constructor({\n textContentSource,\n container,\n viewport,\n textDivs,\n textDivProperties,\n textContentItemsStr,\n isOffscreenCanvasSupported\n }) {\n this._textContentSource = textContentSource;\n this._isReadableStream = textContentSource instanceof ReadableStream;\n this._container = this._rootContainer = container;\n this._textDivs = textDivs || [];\n this._textContentItemsStr = textContentItemsStr || [];\n this._isOffscreenCanvasSupported = isOffscreenCanvasSupported;\n this._fontInspectorEnabled = !!globalThis.FontInspector?.enabled;\n this._reader = null;\n this._textDivProperties = textDivProperties || new WeakMap();\n this._canceled = false;\n this._capability = new _util.PromiseCapability();\n this._layoutTextParams = {\n prevFontSize: null,\n prevFontFamily: null,\n div: null,\n scale: viewport.scale * (globalThis.devicePixelRatio || 1),\n properties: null,\n ctx: getCtx(0, isOffscreenCanvasSupported)\n };\n const {\n pageWidth,\n pageHeight,\n pageX,\n pageY\n } = viewport.rawDims;\n this._transform = [1, 0, 0, -1, -pageX, pageY + pageHeight];\n this._pageWidth = pageWidth;\n this._pageHeight = pageHeight;\n (0, _display_utils.setLayerDimensions)(container, viewport);\n this._capability.promise.finally(() => {\n this._layoutTextParams = null;\n }).catch(() => {});\n }\n get promise() {\n return this._capability.promise;\n }\n cancel() {\n this._canceled = true;\n if (this._reader) {\n this._reader.cancel(new _util.AbortException(\"TextLayer task cancelled.\")).catch(() => {});\n this._reader = null;\n }\n this._capability.reject(new _util.AbortException(\"TextLayer task cancelled.\"));\n }\n _processItems(items, styleCache) {\n for (const item of items) {\n if (item.str === undefined) {\n if (item.type === \"beginMarkedContentProps\" || item.type === \"beginMarkedContent\") {\n const parent = this._container;\n this._container = document.createElement(\"span\");\n this._container.classList.add(\"markedContent\");\n if (item.id !== null) {\n this._container.setAttribute(\"id\", `${item.id}`);\n }\n parent.append(this._container);\n } else if (item.type === \"endMarkedContent\") {\n this._container = this._container.parentNode;\n }\n continue;\n }\n this._textContentItemsStr.push(item.str);\n appendText(this, item, styleCache);\n }\n }\n _layoutText(textDiv) {\n const textDivProperties = this._layoutTextParams.properties = this._textDivProperties.get(textDiv);\n this._layoutTextParams.div = textDiv;\n layout(this._layoutTextParams);\n if (textDivProperties.hasText) {\n this._container.append(textDiv);\n }\n if (textDivProperties.hasEOL) {\n const br = document.createElement(\"br\");\n br.setAttribute(\"role\", \"presentation\");\n this._container.append(br);\n }\n }\n _render() {\n const capability = new _util.PromiseCapability();\n let styleCache = Object.create(null);\n if (this._isReadableStream) {\n const pump = () => {\n this._reader.read().then(({\n value,\n done\n }) => {\n if (done) {\n capability.resolve();\n return;\n }\n Object.assign(styleCache, value.styles);\n this._processItems(value.items, styleCache);\n pump();\n }, capability.reject);\n };\n this._reader = this._textContentSource.getReader();\n pump();\n } else if (this._textContentSource) {\n const {\n items,\n styles\n } = this._textContentSource;\n this._processItems(items, styles);\n capability.resolve();\n } else {\n throw new Error('No \"textContentSource\" parameter specified.');\n }\n capability.promise.then(() => {\n styleCache = null;\n render(this);\n }, this._capability.reject);\n }\n}\nexports.TextLayerRenderTask = TextLayerRenderTask;\nfunction renderTextLayer(params) {\n if (!params.textContentSource && (params.textContent || params.textContentStream)) {\n (0, _display_utils.deprecated)(\"The TextLayerRender `textContent`/`textContentStream` parameters \" + \"will be removed in the future, please use `textContentSource` instead.\");\n params.textContentSource = params.textContent || params.textContentStream;\n }\n const {\n container,\n viewport\n } = params;\n const style = getComputedStyle(container);\n const visibility = style.getPropertyValue(\"visibility\");\n const scaleFactor = parseFloat(style.getPropertyValue(\"--scale-factor\"));\n if (visibility === \"visible\" && (!scaleFactor || Math.abs(scaleFactor - viewport.scale) > 1e-5)) {\n console.error(\"The `--scale-factor` CSS-variable must be set, \" + \"to the same value as `viewport.scale`, \" + \"either on the `container`-element itself or higher up in the DOM.\");\n }\n const task = new TextLayerRenderTask(params);\n task._render();\n return task;\n}\nfunction updateTextLayer({\n container,\n viewport,\n textDivs,\n textDivProperties,\n isOffscreenCanvasSupported,\n mustRotate = true,\n mustRescale = true\n}) {\n if (mustRotate) {\n (0, _display_utils.setLayerDimensions)(container, {\n rotation: viewport.rotation\n });\n }\n if (mustRescale) {\n const ctx = getCtx(0, isOffscreenCanvasSupported);\n const scale = viewport.scale * (globalThis.devicePixelRatio || 1);\n const params = {\n prevFontSize: null,\n prevFontFamily: null,\n div: null,\n scale,\n properties: null,\n ctx\n };\n for (const div of textDivs) {\n params.properties = textDivProperties.get(div);\n params.div = div;\n layout(params);\n }\n }\n}\n\n/***/ }),\n/* 27 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.AnnotationEditorLayer = void 0;\nvar _util = __w_pdfjs_require__(1);\nvar _tools = __w_pdfjs_require__(5);\nvar _freetext = __w_pdfjs_require__(28);\nvar _ink = __w_pdfjs_require__(29);\nvar _display_utils = __w_pdfjs_require__(6);\nclass AnnotationEditorLayer {\n #accessibilityManager;\n #allowClick = false;\n #boundPointerup = this.pointerup.bind(this);\n #boundPointerdown = this.pointerdown.bind(this);\n #editors = new Map();\n #hadPointerDown = false;\n #isCleaningUp = false;\n #uiManager;\n static _initialized = false;\n constructor(options) {\n if (!AnnotationEditorLayer._initialized) {\n AnnotationEditorLayer._initialized = true;\n _freetext.FreeTextEditor.initialize(options.l10n);\n _ink.InkEditor.initialize(options.l10n);\n }\n options.uiManager.registerEditorTypes([_freetext.FreeTextEditor, _ink.InkEditor]);\n this.#uiManager = options.uiManager;\n this.pageIndex = options.pageIndex;\n this.div = options.div;\n this.#accessibilityManager = options.accessibilityManager;\n this.#uiManager.addLayer(this);\n }\n get isEmpty() {\n return this.#editors.size === 0;\n }\n updateToolbar(mode) {\n this.#uiManager.updateToolbar(mode);\n }\n updateMode(mode = this.#uiManager.getMode()) {\n this.#cleanup();\n if (mode === _util.AnnotationEditorType.INK) {\n this.addInkEditorIfNeeded(false);\n this.disableClick();\n } else {\n this.enableClick();\n }\n this.#uiManager.unselectAll();\n if (mode !== _util.AnnotationEditorType.NONE) {\n this.div.classList.toggle(\"freeTextEditing\", mode === _util.AnnotationEditorType.FREETEXT);\n this.div.classList.toggle(\"inkEditing\", mode === _util.AnnotationEditorType.INK);\n this.div.hidden = false;\n }\n }\n addInkEditorIfNeeded(isCommitting) {\n if (!isCommitting && this.#uiManager.getMode() !== _util.AnnotationEditorType.INK) {\n return;\n }\n if (!isCommitting) {\n for (const editor of this.#editors.values()) {\n if (editor.isEmpty()) {\n editor.setInBackground();\n return;\n }\n }\n }\n const editor = this.#createAndAddNewEditor({\n offsetX: 0,\n offsetY: 0\n });\n editor.setInBackground();\n }\n setEditingState(isEditing) {\n this.#uiManager.setEditingState(isEditing);\n }\n addCommands(params) {\n this.#uiManager.addCommands(params);\n }\n enable() {\n this.div.style.pointerEvents = \"auto\";\n for (const editor of this.#editors.values()) {\n editor.enableEditing();\n }\n }\n disable() {\n this.div.style.pointerEvents = \"none\";\n for (const editor of this.#editors.values()) {\n editor.disableEditing();\n }\n this.#cleanup();\n if (this.isEmpty) {\n this.div.hidden = true;\n }\n }\n setActiveEditor(editor) {\n const currentActive = this.#uiManager.getActive();\n if (currentActive === editor) {\n return;\n }\n this.#uiManager.setActiveEditor(editor);\n }\n enableClick() {\n this.div.addEventListener(\"pointerdown\", this.#boundPointerdown);\n this.div.addEventListener(\"pointerup\", this.#boundPointerup);\n }\n disableClick() {\n this.div.removeEventListener(\"pointerdown\", this.#boundPointerdown);\n this.div.removeEventListener(\"pointerup\", this.#boundPointerup);\n }\n attach(editor) {\n this.#editors.set(editor.id, editor);\n }\n detach(editor) {\n this.#editors.delete(editor.id);\n this.#accessibilityManager?.removePointerInTextLayer(editor.contentDiv);\n }\n remove(editor) {\n this.#uiManager.removeEditor(editor);\n this.detach(editor);\n editor.div.style.display = \"none\";\n setTimeout(() => {\n editor.div.style.display = \"\";\n editor.div.remove();\n editor.isAttachedToDOM = false;\n if (document.activeElement === document.body) {\n this.#uiManager.focusMainContainer();\n }\n }, 0);\n if (!this.#isCleaningUp) {\n this.addInkEditorIfNeeded(false);\n }\n }\n #changeParent(editor) {\n if (editor.parent === this) {\n return;\n }\n this.attach(editor);\n editor.parent?.detach(editor);\n editor.setParent(this);\n if (editor.div && editor.isAttachedToDOM) {\n editor.div.remove();\n this.div.append(editor.div);\n }\n }\n add(editor) {\n this.#changeParent(editor);\n this.#uiManager.addEditor(editor);\n this.attach(editor);\n if (!editor.isAttachedToDOM) {\n const div = editor.render();\n this.div.append(div);\n editor.isAttachedToDOM = true;\n }\n this.moveEditorInDOM(editor);\n editor.onceAdded();\n this.#uiManager.addToAnnotationStorage(editor);\n }\n moveEditorInDOM(editor) {\n this.#accessibilityManager?.moveElementInDOM(this.div, editor.div, editor.contentDiv, true);\n }\n addOrRebuild(editor) {\n if (editor.needsToBeRebuilt()) {\n editor.rebuild();\n } else {\n this.add(editor);\n }\n }\n addANewEditor(editor) {\n const cmd = () => {\n this.addOrRebuild(editor);\n };\n const undo = () => {\n editor.remove();\n };\n this.addCommands({\n cmd,\n undo,\n mustExec: true\n });\n }\n addUndoableEditor(editor) {\n const cmd = () => {\n this.addOrRebuild(editor);\n };\n const undo = () => {\n editor.remove();\n };\n this.addCommands({\n cmd,\n undo,\n mustExec: false\n });\n }\n getNextId() {\n return this.#uiManager.getId();\n }\n #createNewEditor(params) {\n switch (this.#uiManager.getMode()) {\n case _util.AnnotationEditorType.FREETEXT:\n return new _freetext.FreeTextEditor(params);\n case _util.AnnotationEditorType.INK:\n return new _ink.InkEditor(params);\n }\n return null;\n }\n deserialize(data) {\n switch (data.annotationType) {\n case _util.AnnotationEditorType.FREETEXT:\n return _freetext.FreeTextEditor.deserialize(data, this, this.#uiManager);\n case _util.AnnotationEditorType.INK:\n return _ink.InkEditor.deserialize(data, this, this.#uiManager);\n }\n return null;\n }\n #createAndAddNewEditor(event) {\n const id = this.getNextId();\n const editor = this.#createNewEditor({\n parent: this,\n id,\n x: event.offsetX,\n y: event.offsetY,\n uiManager: this.#uiManager\n });\n if (editor) {\n this.add(editor);\n }\n return editor;\n }\n setSelected(editor) {\n this.#uiManager.setSelected(editor);\n }\n toggleSelected(editor) {\n this.#uiManager.toggleSelected(editor);\n }\n isSelected(editor) {\n return this.#uiManager.isSelected(editor);\n }\n unselect(editor) {\n this.#uiManager.unselect(editor);\n }\n pointerup(event) {\n const {\n isMac\n } = _util.FeatureTest.platform;\n if (event.button !== 0 || event.ctrlKey && isMac) {\n return;\n }\n if (event.target !== this.div) {\n return;\n }\n if (!this.#hadPointerDown) {\n return;\n }\n this.#hadPointerDown = false;\n if (!this.#allowClick) {\n this.#allowClick = true;\n return;\n }\n this.#createAndAddNewEditor(event);\n }\n pointerdown(event) {\n const {\n isMac\n } = _util.FeatureTest.platform;\n if (event.button !== 0 || event.ctrlKey && isMac) {\n return;\n }\n if (event.target !== this.div) {\n return;\n }\n this.#hadPointerDown = true;\n const editor = this.#uiManager.getActive();\n this.#allowClick = !editor || editor.isEmpty();\n }\n drop(event) {\n const id = event.dataTransfer.getData(\"text/plain\");\n const editor = this.#uiManager.getEditor(id);\n if (!editor) {\n return;\n }\n event.preventDefault();\n event.dataTransfer.dropEffect = \"move\";\n this.#changeParent(editor);\n const rect = this.div.getBoundingClientRect();\n const endX = event.clientX - rect.x;\n const endY = event.clientY - rect.y;\n editor.translate(endX - editor.startX, endY - editor.startY);\n this.moveEditorInDOM(editor);\n editor.div.focus();\n }\n dragover(event) {\n event.preventDefault();\n }\n destroy() {\n if (this.#uiManager.getActive()?.parent === this) {\n this.#uiManager.setActiveEditor(null);\n }\n for (const editor of this.#editors.values()) {\n this.#accessibilityManager?.removePointerInTextLayer(editor.contentDiv);\n editor.setParent(null);\n editor.isAttachedToDOM = false;\n editor.div.remove();\n }\n this.div = null;\n this.#editors.clear();\n this.#uiManager.removeLayer(this);\n }\n #cleanup() {\n this.#isCleaningUp = true;\n for (const editor of this.#editors.values()) {\n if (editor.isEmpty()) {\n editor.remove();\n }\n }\n this.#isCleaningUp = false;\n }\n render({\n viewport\n }) {\n this.viewport = viewport;\n (0, _display_utils.setLayerDimensions)(this.div, viewport);\n (0, _tools.bindEvents)(this, this.div, [\"dragover\", \"drop\"]);\n for (const editor of this.#uiManager.getEditors(this.pageIndex)) {\n this.add(editor);\n }\n this.updateMode();\n }\n update({\n viewport\n }) {\n this.#uiManager.commitOrRemove();\n this.viewport = viewport;\n (0, _display_utils.setLayerDimensions)(this.div, {\n rotation: viewport.rotation\n });\n this.updateMode();\n }\n get pageDimensions() {\n const {\n pageWidth,\n pageHeight\n } = this.viewport.rawDims;\n return [pageWidth, pageHeight];\n }\n}\nexports.AnnotationEditorLayer = AnnotationEditorLayer;\n\n/***/ }),\n/* 28 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.FreeTextEditor = void 0;\nvar _util = __w_pdfjs_require__(1);\nvar _tools = __w_pdfjs_require__(5);\nvar _editor = __w_pdfjs_require__(4);\nclass FreeTextEditor extends _editor.AnnotationEditor {\n #boundEditorDivBlur = this.editorDivBlur.bind(this);\n #boundEditorDivFocus = this.editorDivFocus.bind(this);\n #boundEditorDivInput = this.editorDivInput.bind(this);\n #boundEditorDivKeydown = this.editorDivKeydown.bind(this);\n #color;\n #content = \"\";\n #editorDivId = `${this.id}-editor`;\n #hasAlreadyBeenCommitted = false;\n #fontSize;\n static _freeTextDefaultContent = \"\";\n static _l10nPromise;\n static _internalPadding = 0;\n static _defaultColor = null;\n static _defaultFontSize = 10;\n static _keyboardManager = new _tools.KeyboardManager([[[\"ctrl+Enter\", \"mac+meta+Enter\", \"Escape\", \"mac+Escape\"], FreeTextEditor.prototype.commitOrRemove]]);\n static _type = \"freetext\";\n constructor(params) {\n super({\n ...params,\n name: \"freeTextEditor\"\n });\n this.#color = params.color || FreeTextEditor._defaultColor || _editor.AnnotationEditor._defaultLineColor;\n this.#fontSize = params.fontSize || FreeTextEditor._defaultFontSize;\n }\n static initialize(l10n) {\n this._l10nPromise = new Map([\"free_text2_default_content\", \"editor_free_text2_aria_label\"].map(str => [str, l10n.get(str)]));\n const style = getComputedStyle(document.documentElement);\n this._internalPadding = parseFloat(style.getPropertyValue(\"--freetext-padding\"));\n }\n static updateDefaultParams(type, value) {\n switch (type) {\n case _util.AnnotationEditorParamsType.FREETEXT_SIZE:\n FreeTextEditor._defaultFontSize = value;\n break;\n case _util.AnnotationEditorParamsType.FREETEXT_COLOR:\n FreeTextEditor._defaultColor = value;\n break;\n }\n }\n updateParams(type, value) {\n switch (type) {\n case _util.AnnotationEditorParamsType.FREETEXT_SIZE:\n this.#updateFontSize(value);\n break;\n case _util.AnnotationEditorParamsType.FREETEXT_COLOR:\n this.#updateColor(value);\n break;\n }\n }\n static get defaultPropertiesToUpdate() {\n return [[_util.AnnotationEditorParamsType.FREETEXT_SIZE, FreeTextEditor._defaultFontSize], [_util.AnnotationEditorParamsType.FREETEXT_COLOR, FreeTextEditor._defaultColor || _editor.AnnotationEditor._defaultLineColor]];\n }\n get propertiesToUpdate() {\n return [[_util.AnnotationEditorParamsType.FREETEXT_SIZE, this.#fontSize], [_util.AnnotationEditorParamsType.FREETEXT_COLOR, this.#color]];\n }\n #updateFontSize(fontSize) {\n const setFontsize = size => {\n this.editorDiv.style.fontSize = `calc(${size}px * var(--scale-factor))`;\n this.translate(0, -(size - this.#fontSize) * this.parentScale);\n this.#fontSize = size;\n this.#setEditorDimensions();\n };\n const savedFontsize = this.#fontSize;\n this.addCommands({\n cmd: () => {\n setFontsize(fontSize);\n },\n undo: () => {\n setFontsize(savedFontsize);\n },\n mustExec: true,\n type: _util.AnnotationEditorParamsType.FREETEXT_SIZE,\n overwriteIfSameType: true,\n keepUndo: true\n });\n }\n #updateColor(color) {\n const savedColor = this.#color;\n this.addCommands({\n cmd: () => {\n this.#color = this.editorDiv.style.color = color;\n },\n undo: () => {\n this.#color = this.editorDiv.style.color = savedColor;\n },\n mustExec: true,\n type: _util.AnnotationEditorParamsType.FREETEXT_COLOR,\n overwriteIfSameType: true,\n keepUndo: true\n });\n }\n getInitialTranslation() {\n const scale = this.parentScale;\n return [-FreeTextEditor._internalPadding * scale, -(FreeTextEditor._internalPadding + this.#fontSize) * scale];\n }\n rebuild() {\n super.rebuild();\n if (this.div === null) {\n return;\n }\n if (!this.isAttachedToDOM) {\n this.parent.add(this);\n }\n }\n enableEditMode() {\n if (this.isInEditMode()) {\n return;\n }\n this.parent.setEditingState(false);\n this.parent.updateToolbar(_util.AnnotationEditorType.FREETEXT);\n super.enableEditMode();\n this.overlayDiv.classList.remove(\"enabled\");\n this.editorDiv.contentEditable = true;\n this.div.draggable = false;\n this.div.removeAttribute(\"aria-activedescendant\");\n this.editorDiv.addEventListener(\"keydown\", this.#boundEditorDivKeydown);\n this.editorDiv.addEventListener(\"focus\", this.#boundEditorDivFocus);\n this.editorDiv.addEventListener(\"blur\", this.#boundEditorDivBlur);\n this.editorDiv.addEventListener(\"input\", this.#boundEditorDivInput);\n }\n disableEditMode() {\n if (!this.isInEditMode()) {\n return;\n }\n this.parent.setEditingState(true);\n super.disableEditMode();\n this.overlayDiv.classList.add(\"enabled\");\n this.editorDiv.contentEditable = false;\n this.div.setAttribute(\"aria-activedescendant\", this.#editorDivId);\n this.div.draggable = true;\n this.editorDiv.removeEventListener(\"keydown\", this.#boundEditorDivKeydown);\n this.editorDiv.removeEventListener(\"focus\", this.#boundEditorDivFocus);\n this.editorDiv.removeEventListener(\"blur\", this.#boundEditorDivBlur);\n this.editorDiv.removeEventListener(\"input\", this.#boundEditorDivInput);\n this.div.focus({\n preventScroll: true\n });\n this.isEditing = false;\n this.parent.div.classList.add(\"freeTextEditing\");\n }\n focusin(event) {\n super.focusin(event);\n if (event.target !== this.editorDiv) {\n this.editorDiv.focus();\n }\n }\n onceAdded() {\n if (this.width) {\n return;\n }\n this.enableEditMode();\n this.editorDiv.focus();\n }\n isEmpty() {\n return !this.editorDiv || this.editorDiv.innerText.trim() === \"\";\n }\n remove() {\n this.isEditing = false;\n this.parent.setEditingState(true);\n this.parent.div.classList.add(\"freeTextEditing\");\n super.remove();\n }\n #extractText() {\n const divs = this.editorDiv.getElementsByTagName(\"div\");\n if (divs.length === 0) {\n return this.editorDiv.innerText;\n }\n const buffer = [];\n for (const div of divs) {\n buffer.push(div.innerText.replace(/\\r\\n?|\\n/, \"\"));\n }\n return buffer.join(\"\\n\");\n }\n #setEditorDimensions() {\n const [parentWidth, parentHeight] = this.parentDimensions;\n let rect;\n if (this.isAttachedToDOM) {\n rect = this.div.getBoundingClientRect();\n } else {\n const {\n currentLayer,\n div\n } = this;\n const savedDisplay = div.style.display;\n div.style.display = \"hidden\";\n currentLayer.div.append(this.div);\n rect = div.getBoundingClientRect();\n div.remove();\n div.style.display = savedDisplay;\n }\n this.width = rect.width / parentWidth;\n this.height = rect.height / parentHeight;\n }\n commit() {\n if (!this.isInEditMode()) {\n return;\n }\n super.commit();\n if (!this.#hasAlreadyBeenCommitted) {\n this.#hasAlreadyBeenCommitted = true;\n this.parent.addUndoableEditor(this);\n }\n this.disableEditMode();\n this.#content = this.#extractText().trimEnd();\n this.#setEditorDimensions();\n }\n shouldGetKeyboardEvents() {\n return this.isInEditMode();\n }\n dblclick(event) {\n this.enableEditMode();\n this.editorDiv.focus();\n }\n keydown(event) {\n if (event.target === this.div && event.key === \"Enter\") {\n this.enableEditMode();\n this.editorDiv.focus();\n }\n }\n editorDivKeydown(event) {\n FreeTextEditor._keyboardManager.exec(this, event);\n }\n editorDivFocus(event) {\n this.isEditing = true;\n }\n editorDivBlur(event) {\n this.isEditing = false;\n }\n editorDivInput(event) {\n this.parent.div.classList.toggle(\"freeTextEditing\", this.isEmpty());\n }\n disableEditing() {\n this.editorDiv.setAttribute(\"role\", \"comment\");\n this.editorDiv.removeAttribute(\"aria-multiline\");\n }\n enableEditing() {\n this.editorDiv.setAttribute(\"role\", \"textbox\");\n this.editorDiv.setAttribute(\"aria-multiline\", true);\n }\n render() {\n if (this.div) {\n return this.div;\n }\n let baseX, baseY;\n if (this.width) {\n baseX = this.x;\n baseY = this.y;\n }\n super.render();\n this.editorDiv = document.createElement(\"div\");\n this.editorDiv.className = \"internal\";\n this.editorDiv.setAttribute(\"id\", this.#editorDivId);\n this.enableEditing();\n FreeTextEditor._l10nPromise.get(\"editor_free_text2_aria_label\").then(msg => this.editorDiv?.setAttribute(\"aria-label\", msg));\n FreeTextEditor._l10nPromise.get(\"free_text2_default_content\").then(msg => this.editorDiv?.setAttribute(\"default-content\", msg));\n this.editorDiv.contentEditable = true;\n const {\n style\n } = this.editorDiv;\n style.fontSize = `calc(${this.#fontSize}px * var(--scale-factor))`;\n style.color = this.#color;\n this.div.append(this.editorDiv);\n this.overlayDiv = document.createElement(\"div\");\n this.overlayDiv.classList.add(\"overlay\", \"enabled\");\n this.div.append(this.overlayDiv);\n (0, _tools.bindEvents)(this, this.div, [\"dblclick\", \"keydown\"]);\n if (this.width) {\n const [parentWidth, parentHeight] = this.parentDimensions;\n this.setAt(baseX * parentWidth, baseY * parentHeight, this.width * parentWidth, this.height * parentHeight);\n for (const line of this.#content.split(\"\\n\")) {\n const div = document.createElement(\"div\");\n div.append(line ? document.createTextNode(line) : document.createElement(\"br\"));\n this.editorDiv.append(div);\n }\n this.div.draggable = true;\n this.editorDiv.contentEditable = false;\n } else {\n this.div.draggable = false;\n this.editorDiv.contentEditable = true;\n }\n return this.div;\n }\n get contentDiv() {\n return this.editorDiv;\n }\n static deserialize(data, parent, uiManager) {\n const editor = super.deserialize(data, parent, uiManager);\n editor.#fontSize = data.fontSize;\n editor.#color = _util.Util.makeHexColor(...data.color);\n editor.#content = data.value;\n return editor;\n }\n serialize() {\n if (this.isEmpty()) {\n return null;\n }\n const padding = FreeTextEditor._internalPadding * this.parentScale;\n const rect = this.getRect(padding, padding);\n const color = _editor.AnnotationEditor._colorManager.convert(this.isAttachedToDOM ? getComputedStyle(this.editorDiv).color : this.#color);\n return {\n annotationType: _util.AnnotationEditorType.FREETEXT,\n color,\n fontSize: this.#fontSize,\n value: this.#content,\n pageIndex: this.pageIndex,\n rect,\n rotation: this.rotation\n };\n }\n}\nexports.FreeTextEditor = FreeTextEditor;\n\n/***/ }),\n/* 29 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.InkEditor = void 0;\nObject.defineProperty(exports, \"fitCurve\", ({\n enumerable: true,\n get: function () {\n return _pdfjsFitCurve.fitCurve;\n }\n}));\nvar _util = __w_pdfjs_require__(1);\nvar _editor = __w_pdfjs_require__(4);\nvar _pdfjsFitCurve = __w_pdfjs_require__(30);\nvar _tools = __w_pdfjs_require__(5);\nconst RESIZER_SIZE = 16;\nclass InkEditor extends _editor.AnnotationEditor {\n #aspectRatio = 0;\n #baseHeight = 0;\n #baseWidth = 0;\n #boundCanvasPointermove = this.canvasPointermove.bind(this);\n #boundCanvasPointerleave = this.canvasPointerleave.bind(this);\n #boundCanvasPointerup = this.canvasPointerup.bind(this);\n #boundCanvasPointerdown = this.canvasPointerdown.bind(this);\n #disableEditing = false;\n #isCanvasInitialized = false;\n #lastPoint = null;\n #observer = null;\n #realWidth = 0;\n #realHeight = 0;\n #requestFrameCallback = null;\n static _defaultColor = null;\n static _defaultOpacity = 1;\n static _defaultThickness = 1;\n static _l10nPromise;\n static _type = \"ink\";\n constructor(params) {\n super({\n ...params,\n name: \"inkEditor\"\n });\n this.color = params.color || null;\n this.thickness = params.thickness || null;\n this.opacity = params.opacity || null;\n this.paths = [];\n this.bezierPath2D = [];\n this.currentPath = [];\n this.scaleFactor = 1;\n this.translationX = this.translationY = 0;\n this.x = 0;\n this.y = 0;\n }\n static initialize(l10n) {\n this._l10nPromise = new Map([\"editor_ink_canvas_aria_label\", \"editor_ink2_aria_label\"].map(str => [str, l10n.get(str)]));\n }\n static updateDefaultParams(type, value) {\n switch (type) {\n case _util.AnnotationEditorParamsType.INK_THICKNESS:\n InkEditor._defaultThickness = value;\n break;\n case _util.AnnotationEditorParamsType.INK_COLOR:\n InkEditor._defaultColor = value;\n break;\n case _util.AnnotationEditorParamsType.INK_OPACITY:\n InkEditor._defaultOpacity = value / 100;\n break;\n }\n }\n updateParams(type, value) {\n switch (type) {\n case _util.AnnotationEditorParamsType.INK_THICKNESS:\n this.#updateThickness(value);\n break;\n case _util.AnnotationEditorParamsType.INK_COLOR:\n this.#updateColor(value);\n break;\n case _util.AnnotationEditorParamsType.INK_OPACITY:\n this.#updateOpacity(value);\n break;\n }\n }\n static get defaultPropertiesToUpdate() {\n 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)]];\n }\n get propertiesToUpdate() {\n 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))]];\n }\n #updateThickness(thickness) {\n const savedThickness = this.thickness;\n this.addCommands({\n cmd: () => {\n this.thickness = thickness;\n this.#fitToContent();\n },\n undo: () => {\n this.thickness = savedThickness;\n this.#fitToContent();\n },\n mustExec: true,\n type: _util.AnnotationEditorParamsType.INK_THICKNESS,\n overwriteIfSameType: true,\n keepUndo: true\n });\n }\n #updateColor(color) {\n const savedColor = this.color;\n this.addCommands({\n cmd: () => {\n this.color = color;\n this.#redraw();\n },\n undo: () => {\n this.color = savedColor;\n this.#redraw();\n },\n mustExec: true,\n type: _util.AnnotationEditorParamsType.INK_COLOR,\n overwriteIfSameType: true,\n keepUndo: true\n });\n }\n #updateOpacity(opacity) {\n opacity /= 100;\n const savedOpacity = this.opacity;\n this.addCommands({\n cmd: () => {\n this.opacity = opacity;\n this.#redraw();\n },\n undo: () => {\n this.opacity = savedOpacity;\n this.#redraw();\n },\n mustExec: true,\n type: _util.AnnotationEditorParamsType.INK_OPACITY,\n overwriteIfSameType: true,\n keepUndo: true\n });\n }\n rebuild() {\n super.rebuild();\n if (this.div === null) {\n return;\n }\n if (!this.canvas) {\n this.#createCanvas();\n this.#createObserver();\n }\n if (!this.isAttachedToDOM) {\n this.parent.add(this);\n this.#setCanvasDims();\n }\n this.#fitToContent();\n }\n remove() {\n if (this.canvas === null) {\n return;\n }\n if (!this.isEmpty()) {\n this.commit();\n }\n this.canvas.width = this.canvas.height = 0;\n this.canvas.remove();\n this.canvas = null;\n this.#observer.disconnect();\n this.#observer = null;\n super.remove();\n }\n setParent(parent) {\n if (!this.parent && parent) {\n this._uiManager.removeShouldRescale(this);\n } else if (this.parent && parent === null) {\n this._uiManager.addShouldRescale(this);\n }\n super.setParent(parent);\n }\n onScaleChanging() {\n const [parentWidth, parentHeight] = this.parentDimensions;\n const width = this.width * parentWidth;\n const height = this.height * parentHeight;\n this.setDimensions(width, height);\n }\n enableEditMode() {\n if (this.#disableEditing || this.canvas === null) {\n return;\n }\n super.enableEditMode();\n this.div.draggable = false;\n this.canvas.addEventListener(\"pointerdown\", this.#boundCanvasPointerdown);\n this.canvas.addEventListener(\"pointerup\", this.#boundCanvasPointerup);\n }\n disableEditMode() {\n if (!this.isInEditMode() || this.canvas === null) {\n return;\n }\n super.disableEditMode();\n this.div.draggable = !this.isEmpty();\n this.div.classList.remove(\"editing\");\n this.canvas.removeEventListener(\"pointerdown\", this.#boundCanvasPointerdown);\n this.canvas.removeEventListener(\"pointerup\", this.#boundCanvasPointerup);\n }\n onceAdded() {\n this.div.draggable = !this.isEmpty();\n }\n isEmpty() {\n return this.paths.length === 0 || this.paths.length === 1 && this.paths[0].length === 0;\n }\n #getInitialBBox() {\n const {\n parentRotation,\n parentDimensions: [width, height]\n } = this;\n switch (parentRotation) {\n case 90:\n return [0, height, height, width];\n case 180:\n return [width, height, width, height];\n case 270:\n return [width, 0, height, width];\n default:\n return [0, 0, width, height];\n }\n }\n #setStroke() {\n const {\n ctx,\n color,\n opacity,\n thickness,\n parentScale,\n scaleFactor\n } = this;\n ctx.lineWidth = thickness * parentScale / scaleFactor;\n ctx.lineCap = \"round\";\n ctx.lineJoin = \"round\";\n ctx.miterLimit = 10;\n ctx.strokeStyle = `${color}${(0, _tools.opacityToHex)(opacity)}`;\n }\n #startDrawing(x, y) {\n this.isEditing = true;\n if (!this.#isCanvasInitialized) {\n this.#isCanvasInitialized = true;\n this.#setCanvasDims();\n this.thickness ||= InkEditor._defaultThickness;\n this.color ||= InkEditor._defaultColor || _editor.AnnotationEditor._defaultLineColor;\n this.opacity ??= InkEditor._defaultOpacity;\n }\n this.currentPath.push([x, y]);\n this.#lastPoint = null;\n this.#setStroke();\n this.ctx.beginPath();\n this.ctx.moveTo(x, y);\n this.#requestFrameCallback = () => {\n if (!this.#requestFrameCallback) {\n return;\n }\n if (this.#lastPoint) {\n if (this.isEmpty()) {\n this.ctx.setTransform(1, 0, 0, 1, 0, 0);\n this.ctx.clearRect(0, 0, this.canvas.width, this.canvas.height);\n } else {\n this.#redraw();\n }\n this.ctx.lineTo(...this.#lastPoint);\n this.#lastPoint = null;\n this.ctx.stroke();\n }\n window.requestAnimationFrame(this.#requestFrameCallback);\n };\n window.requestAnimationFrame(this.#requestFrameCallback);\n }\n #draw(x, y) {\n const [lastX, lastY] = this.currentPath.at(-1);\n if (x === lastX && y === lastY) {\n return;\n }\n this.currentPath.push([x, y]);\n this.#lastPoint = [x, y];\n }\n #stopDrawing(x, y) {\n this.ctx.closePath();\n this.#requestFrameCallback = null;\n x = Math.min(Math.max(x, 0), this.canvas.width);\n y = Math.min(Math.max(y, 0), this.canvas.height);\n const [lastX, lastY] = this.currentPath.at(-1);\n if (x !== lastX || y !== lastY) {\n this.currentPath.push([x, y]);\n }\n let bezier;\n if (this.currentPath.length !== 1) {\n bezier = (0, _pdfjsFitCurve.fitCurve)(this.currentPath, 30, null);\n } else {\n const xy = [x, y];\n bezier = [[xy, xy.slice(), xy.slice(), xy]];\n }\n const path2D = InkEditor.#buildPath2D(bezier);\n this.currentPath.length = 0;\n const cmd = () => {\n this.paths.push(bezier);\n this.bezierPath2D.push(path2D);\n this.rebuild();\n };\n const undo = () => {\n this.paths.pop();\n this.bezierPath2D.pop();\n if (this.paths.length === 0) {\n this.remove();\n } else {\n if (!this.canvas) {\n this.#createCanvas();\n this.#createObserver();\n }\n this.#fitToContent();\n }\n };\n this.addCommands({\n cmd,\n undo,\n mustExec: true\n });\n }\n #redraw() {\n if (this.isEmpty()) {\n this.#updateTransform();\n return;\n }\n this.#setStroke();\n const {\n canvas,\n ctx\n } = this;\n ctx.setTransform(1, 0, 0, 1, 0, 0);\n ctx.clearRect(0, 0, canvas.width, canvas.height);\n this.#updateTransform();\n for (const path of this.bezierPath2D) {\n ctx.stroke(path);\n }\n }\n commit() {\n if (this.#disableEditing) {\n return;\n }\n super.commit();\n this.isEditing = false;\n this.disableEditMode();\n this.setInForeground();\n this.#disableEditing = true;\n this.div.classList.add(\"disabled\");\n this.#fitToContent(true);\n this.parent.addInkEditorIfNeeded(true);\n this.parent.moveEditorInDOM(this);\n this.div.focus({\n preventScroll: true\n });\n }\n focusin(event) {\n super.focusin(event);\n this.enableEditMode();\n }\n canvasPointerdown(event) {\n if (event.button !== 0 || !this.isInEditMode() || this.#disableEditing) {\n return;\n }\n this.setInForeground();\n if (event.type !== \"mouse\") {\n this.div.focus();\n }\n event.stopPropagation();\n this.canvas.addEventListener(\"pointerleave\", this.#boundCanvasPointerleave);\n this.canvas.addEventListener(\"pointermove\", this.#boundCanvasPointermove);\n this.#startDrawing(event.offsetX, event.offsetY);\n }\n canvasPointermove(event) {\n event.stopPropagation();\n this.#draw(event.offsetX, event.offsetY);\n }\n canvasPointerup(event) {\n if (event.button !== 0) {\n return;\n }\n if (this.isInEditMode() && this.currentPath.length !== 0) {\n event.stopPropagation();\n this.#endDrawing(event);\n this.setInBackground();\n }\n }\n canvasPointerleave(event) {\n this.#endDrawing(event);\n this.setInBackground();\n }\n #endDrawing(event) {\n this.#stopDrawing(event.offsetX, event.offsetY);\n this.canvas.removeEventListener(\"pointerleave\", this.#boundCanvasPointerleave);\n this.canvas.removeEventListener(\"pointermove\", this.#boundCanvasPointermove);\n this.addToAnnotationStorage();\n }\n #createCanvas() {\n this.canvas = document.createElement(\"canvas\");\n this.canvas.width = this.canvas.height = 0;\n this.canvas.className = \"inkEditorCanvas\";\n InkEditor._l10nPromise.get(\"editor_ink_canvas_aria_label\").then(msg => this.canvas?.setAttribute(\"aria-label\", msg));\n this.div.append(this.canvas);\n this.ctx = this.canvas.getContext(\"2d\");\n }\n #createObserver() {\n this.#observer = new ResizeObserver(entries => {\n const rect = entries[0].contentRect;\n if (rect.width && rect.height) {\n this.setDimensions(rect.width, rect.height);\n }\n });\n this.#observer.observe(this.div);\n }\n render() {\n if (this.div) {\n return this.div;\n }\n let baseX, baseY;\n if (this.width) {\n baseX = this.x;\n baseY = this.y;\n }\n super.render();\n InkEditor._l10nPromise.get(\"editor_ink2_aria_label\").then(msg => this.div?.setAttribute(\"aria-label\", msg));\n const [x, y, w, h] = this.#getInitialBBox();\n this.setAt(x, y, 0, 0);\n this.setDims(w, h);\n this.#createCanvas();\n if (this.width) {\n const [parentWidth, parentHeight] = this.parentDimensions;\n this.setAt(baseX * parentWidth, baseY * parentHeight, this.width * parentWidth, this.height * parentHeight);\n this.#isCanvasInitialized = true;\n this.#setCanvasDims();\n this.setDims(this.width * parentWidth, this.height * parentHeight);\n this.#redraw();\n this.#setMinDims();\n this.div.classList.add(\"disabled\");\n } else {\n this.div.classList.add(\"editing\");\n this.enableEditMode();\n }\n this.#createObserver();\n return this.div;\n }\n #setCanvasDims() {\n if (!this.#isCanvasInitialized) {\n return;\n }\n const [parentWidth, parentHeight] = this.parentDimensions;\n this.canvas.width = Math.ceil(this.width * parentWidth);\n this.canvas.height = Math.ceil(this.height * parentHeight);\n this.#updateTransform();\n }\n setDimensions(width, height) {\n const roundedWidth = Math.round(width);\n const roundedHeight = Math.round(height);\n if (this.#realWidth === roundedWidth && this.#realHeight === roundedHeight) {\n return;\n }\n this.#realWidth = roundedWidth;\n this.#realHeight = roundedHeight;\n this.canvas.style.visibility = \"hidden\";\n if (this.#aspectRatio && Math.abs(this.#aspectRatio - width / height) > 1e-2) {\n height = Math.ceil(width / this.#aspectRatio);\n this.setDims(width, height);\n }\n const [parentWidth, parentHeight] = this.parentDimensions;\n this.width = width / parentWidth;\n this.height = height / parentHeight;\n if (this.#disableEditing) {\n this.#setScaleFactor(width, height);\n }\n this.#setCanvasDims();\n this.#redraw();\n this.canvas.style.visibility = \"visible\";\n this.fixDims();\n }\n #setScaleFactor(width, height) {\n const padding = this.#getPadding();\n const scaleFactorW = (width - padding) / this.#baseWidth;\n const scaleFactorH = (height - padding) / this.#baseHeight;\n this.scaleFactor = Math.min(scaleFactorW, scaleFactorH);\n }\n #updateTransform() {\n const padding = this.#getPadding() / 2;\n this.ctx.setTransform(this.scaleFactor, 0, 0, this.scaleFactor, this.translationX * this.scaleFactor + padding, this.translationY * this.scaleFactor + padding);\n }\n static #buildPath2D(bezier) {\n const path2D = new Path2D();\n for (let i = 0, ii = bezier.length; i < ii; i++) {\n const [first, control1, control2, second] = bezier[i];\n if (i === 0) {\n path2D.moveTo(...first);\n }\n path2D.bezierCurveTo(control1[0], control1[1], control2[0], control2[1], second[0], second[1]);\n }\n return path2D;\n }\n #serializePaths(s, tx, ty, h) {\n const NUMBER_OF_POINTS_ON_BEZIER_CURVE = 4;\n const paths = [];\n const padding = this.thickness / 2;\n let buffer, points;\n for (const bezier of this.paths) {\n buffer = [];\n points = [];\n for (let i = 0, ii = bezier.length; i < ii; i++) {\n const [first, control1, control2, second] = bezier[i];\n const p10 = s * (first[0] + tx) + padding;\n const p11 = h - s * (first[1] + ty) - padding;\n const p20 = s * (control1[0] + tx) + padding;\n const p21 = h - s * (control1[1] + ty) - padding;\n const p30 = s * (control2[0] + tx) + padding;\n const p31 = h - s * (control2[1] + ty) - padding;\n const p40 = s * (second[0] + tx) + padding;\n const p41 = h - s * (second[1] + ty) - padding;\n if (i === 0) {\n buffer.push(p10, p11);\n points.push(p10, p11);\n }\n buffer.push(p20, p21, p30, p31, p40, p41);\n this.#extractPointsOnBezier(p10, p11, p20, p21, p30, p31, p40, p41, NUMBER_OF_POINTS_ON_BEZIER_CURVE, points);\n }\n paths.push({\n bezier: buffer,\n points\n });\n }\n return paths;\n }\n #extractPointsOnBezier(p10, p11, p20, p21, p30, p31, p40, p41, n, points) {\n if (this.#isAlmostFlat(p10, p11, p20, p21, p30, p31, p40, p41)) {\n points.push(p40, p41);\n return;\n }\n for (let i = 1; i < n - 1; i++) {\n const t = i / n;\n const mt = 1 - t;\n let q10 = t * p10 + mt * p20;\n let q11 = t * p11 + mt * p21;\n let q20 = t * p20 + mt * p30;\n let q21 = t * p21 + mt * p31;\n const q30 = t * p30 + mt * p40;\n const q31 = t * p31 + mt * p41;\n q10 = t * q10 + mt * q20;\n q11 = t * q11 + mt * q21;\n q20 = t * q20 + mt * q30;\n q21 = t * q21 + mt * q31;\n q10 = t * q10 + mt * q20;\n q11 = t * q11 + mt * q21;\n points.push(q10, q11);\n }\n points.push(p40, p41);\n }\n #isAlmostFlat(p10, p11, p20, p21, p30, p31, p40, p41) {\n const tol = 10;\n const ax = (3 * p20 - 2 * p10 - p40) ** 2;\n const ay = (3 * p21 - 2 * p11 - p41) ** 2;\n const bx = (3 * p30 - p10 - 2 * p40) ** 2;\n const by = (3 * p31 - p11 - 2 * p41) ** 2;\n return Math.max(ax, bx) + Math.max(ay, by) <= tol;\n }\n #getBbox() {\n let xMin = Infinity;\n let xMax = -Infinity;\n let yMin = Infinity;\n let yMax = -Infinity;\n for (const path of this.paths) {\n for (const [first, control1, control2, second] of path) {\n const bbox = _util.Util.bezierBoundingBox(...first, ...control1, ...control2, ...second);\n xMin = Math.min(xMin, bbox[0]);\n yMin = Math.min(yMin, bbox[1]);\n xMax = Math.max(xMax, bbox[2]);\n yMax = Math.max(yMax, bbox[3]);\n }\n }\n return [xMin, yMin, xMax, yMax];\n }\n #getPadding() {\n return this.#disableEditing ? Math.ceil(this.thickness * this.parentScale) : 0;\n }\n #fitToContent(firstTime = false) {\n if (this.isEmpty()) {\n return;\n }\n if (!this.#disableEditing) {\n this.#redraw();\n return;\n }\n const bbox = this.#getBbox();\n const padding = this.#getPadding();\n this.#baseWidth = Math.max(RESIZER_SIZE, bbox[2] - bbox[0]);\n this.#baseHeight = Math.max(RESIZER_SIZE, bbox[3] - bbox[1]);\n const width = Math.ceil(padding + this.#baseWidth * this.scaleFactor);\n const height = Math.ceil(padding + this.#baseHeight * this.scaleFactor);\n const [parentWidth, parentHeight] = this.parentDimensions;\n this.width = width / parentWidth;\n this.height = height / parentHeight;\n this.#aspectRatio = width / height;\n this.#setMinDims();\n const prevTranslationX = this.translationX;\n const prevTranslationY = this.translationY;\n this.translationX = -bbox[0];\n this.translationY = -bbox[1];\n this.#setCanvasDims();\n this.#redraw();\n this.#realWidth = width;\n this.#realHeight = height;\n this.setDims(width, height);\n const unscaledPadding = firstTime ? padding / this.scaleFactor / 2 : 0;\n this.translate(prevTranslationX - this.translationX - unscaledPadding, prevTranslationY - this.translationY - unscaledPadding);\n }\n #setMinDims() {\n const {\n style\n } = this.div;\n if (this.#aspectRatio >= 1) {\n style.minHeight = `${RESIZER_SIZE}px`;\n style.minWidth = `${Math.round(this.#aspectRatio * RESIZER_SIZE)}px`;\n } else {\n style.minWidth = `${RESIZER_SIZE}px`;\n style.minHeight = `${Math.round(RESIZER_SIZE / this.#aspectRatio)}px`;\n }\n }\n static deserialize(data, parent, uiManager) {\n const editor = super.deserialize(data, parent, uiManager);\n editor.thickness = data.thickness;\n editor.color = _util.Util.makeHexColor(...data.color);\n editor.opacity = data.opacity;\n const [pageWidth, pageHeight] = editor.pageDimensions;\n const width = editor.width * pageWidth;\n const height = editor.height * pageHeight;\n const scaleFactor = editor.parentScale;\n const padding = data.thickness / 2;\n editor.#aspectRatio = width / height;\n editor.#disableEditing = true;\n editor.#realWidth = Math.round(width);\n editor.#realHeight = Math.round(height);\n for (const {\n bezier\n } of data.paths) {\n const path = [];\n editor.paths.push(path);\n let p0 = scaleFactor * (bezier[0] - padding);\n let p1 = scaleFactor * (height - bezier[1] - padding);\n for (let i = 2, ii = bezier.length; i < ii; i += 6) {\n const p10 = scaleFactor * (bezier[i] - padding);\n const p11 = scaleFactor * (height - bezier[i + 1] - padding);\n const p20 = scaleFactor * (bezier[i + 2] - padding);\n const p21 = scaleFactor * (height - bezier[i + 3] - padding);\n const p30 = scaleFactor * (bezier[i + 4] - padding);\n const p31 = scaleFactor * (height - bezier[i + 5] - padding);\n path.push([[p0, p1], [p10, p11], [p20, p21], [p30, p31]]);\n p0 = p30;\n p1 = p31;\n }\n const path2D = this.#buildPath2D(path);\n editor.bezierPath2D.push(path2D);\n }\n const bbox = editor.#getBbox();\n editor.#baseWidth = Math.max(RESIZER_SIZE, bbox[2] - bbox[0]);\n editor.#baseHeight = Math.max(RESIZER_SIZE, bbox[3] - bbox[1]);\n editor.#setScaleFactor(width, height);\n return editor;\n }\n serialize() {\n if (this.isEmpty()) {\n return null;\n }\n const rect = this.getRect(0, 0);\n const height = this.rotation % 180 === 0 ? rect[3] - rect[1] : rect[2] - rect[0];\n const color = _editor.AnnotationEditor._colorManager.convert(this.ctx.strokeStyle);\n return {\n annotationType: _util.AnnotationEditorType.INK,\n color,\n thickness: this.thickness,\n opacity: this.opacity,\n paths: this.#serializePaths(this.scaleFactor / this.parentScale, this.translationX, this.translationY, height),\n pageIndex: this.pageIndex,\n rect,\n rotation: this.rotation\n };\n }\n}\nexports.InkEditor = InkEditor;\n\n/***/ }),\n/* 30 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.fitCurve = void 0;\nconst fitCurve = __w_pdfjs_require__(31);\nexports.fitCurve = fitCurve;\n\n/***/ }),\n/* 31 */\n/***/ ((module) => {\n\n\n\nfunction fitCurve(points, maxError, progressCallback) {\n if (!Array.isArray(points)) {\n throw new TypeError(\"First argument should be an array\");\n }\n points.forEach(point => {\n if (!Array.isArray(point) || point.some(item => typeof item !== 'number') || point.length !== points[0].length) {\n throw Error(\"Each point should be an array of numbers. Each point should have the same amount of numbers.\");\n }\n });\n points = points.filter((point, i) => i === 0 || !point.every((val, j) => val === points[i - 1][j]));\n if (points.length < 2) {\n return [];\n }\n const len = points.length;\n const leftTangent = createTangent(points[1], points[0]);\n const rightTangent = createTangent(points[len - 2], points[len - 1]);\n return fitCubic(points, leftTangent, rightTangent, maxError, progressCallback);\n}\nfunction fitCubic(points, leftTangent, rightTangent, error, progressCallback) {\n const MaxIterations = 20;\n var bezCurve, u, uPrime, maxError, prevErr, splitPoint, prevSplit, centerVector, toCenterTangent, fromCenterTangent, beziers, dist, i;\n if (points.length === 2) {\n dist = maths.vectorLen(maths.subtract(points[0], points[1])) / 3.0;\n bezCurve = [points[0], maths.addArrays(points[0], maths.mulItems(leftTangent, dist)), maths.addArrays(points[1], maths.mulItems(rightTangent, dist)), points[1]];\n return [bezCurve];\n }\n u = chordLengthParameterize(points);\n [bezCurve, maxError, splitPoint] = generateAndReport(points, u, u, leftTangent, rightTangent, progressCallback);\n if (maxError === 0 || maxError < error) {\n return [bezCurve];\n }\n if (maxError < error * error) {\n uPrime = u;\n prevErr = maxError;\n prevSplit = splitPoint;\n for (i = 0; i < MaxIterations; i++) {\n uPrime = reparameterize(bezCurve, points, uPrime);\n [bezCurve, maxError, splitPoint] = generateAndReport(points, u, uPrime, leftTangent, rightTangent, progressCallback);\n if (maxError < error) {\n return [bezCurve];\n } else if (splitPoint === prevSplit) {\n let errChange = maxError / prevErr;\n if (errChange > .9999 && errChange < 1.0001) {\n break;\n }\n }\n prevErr = maxError;\n prevSplit = splitPoint;\n }\n }\n beziers = [];\n centerVector = maths.subtract(points[splitPoint - 1], points[splitPoint + 1]);\n if (centerVector.every(val => val === 0)) {\n centerVector = maths.subtract(points[splitPoint - 1], points[splitPoint]);\n [centerVector[0], centerVector[1]] = [-centerVector[1], centerVector[0]];\n }\n toCenterTangent = maths.normalize(centerVector);\n fromCenterTangent = maths.mulItems(toCenterTangent, -1);\n beziers = beziers.concat(fitCubic(points.slice(0, splitPoint + 1), leftTangent, toCenterTangent, error, progressCallback));\n beziers = beziers.concat(fitCubic(points.slice(splitPoint), fromCenterTangent, rightTangent, error, progressCallback));\n return beziers;\n}\n;\nfunction generateAndReport(points, paramsOrig, paramsPrime, leftTangent, rightTangent, progressCallback) {\n var bezCurve, maxError, splitPoint;\n bezCurve = generateBezier(points, paramsPrime, leftTangent, rightTangent, progressCallback);\n [maxError, splitPoint] = computeMaxError(points, bezCurve, paramsOrig);\n if (progressCallback) {\n progressCallback({\n bez: bezCurve,\n points: points,\n params: paramsOrig,\n maxErr: maxError,\n maxPoint: splitPoint\n });\n }\n return [bezCurve, maxError, splitPoint];\n}\nfunction generateBezier(points, parameters, leftTangent, rightTangent) {\n var bezCurve,\n A,\n a,\n C,\n X,\n det_C0_C1,\n det_C0_X,\n det_X_C1,\n alpha_l,\n alpha_r,\n epsilon,\n segLength,\n i,\n len,\n tmp,\n u,\n ux,\n firstPoint = points[0],\n lastPoint = points[points.length - 1];\n bezCurve = [firstPoint, null, null, lastPoint];\n A = maths.zeros_Xx2x2(parameters.length);\n for (i = 0, len = parameters.length; i < len; i++) {\n u = parameters[i];\n ux = 1 - u;\n a = A[i];\n a[0] = maths.mulItems(leftTangent, 3 * u * (ux * ux));\n a[1] = maths.mulItems(rightTangent, 3 * ux * (u * u));\n }\n C = [[0, 0], [0, 0]];\n X = [0, 0];\n for (i = 0, len = points.length; i < len; i++) {\n u = parameters[i];\n a = A[i];\n C[0][0] += maths.dot(a[0], a[0]);\n C[0][1] += maths.dot(a[0], a[1]);\n C[1][0] += maths.dot(a[0], a[1]);\n C[1][1] += maths.dot(a[1], a[1]);\n tmp = maths.subtract(points[i], bezier.q([firstPoint, firstPoint, lastPoint, lastPoint], u));\n X[0] += maths.dot(a[0], tmp);\n X[1] += maths.dot(a[1], tmp);\n }\n det_C0_C1 = C[0][0] * C[1][1] - C[1][0] * C[0][1];\n det_C0_X = C[0][0] * X[1] - C[1][0] * X[0];\n det_X_C1 = X[0] * C[1][1] - X[1] * C[0][1];\n alpha_l = det_C0_C1 === 0 ? 0 : det_X_C1 / det_C0_C1;\n alpha_r = det_C0_C1 === 0 ? 0 : det_C0_X / det_C0_C1;\n segLength = maths.vectorLen(maths.subtract(firstPoint, lastPoint));\n epsilon = 1.0e-6 * segLength;\n if (alpha_l < epsilon || alpha_r < epsilon) {\n bezCurve[1] = maths.addArrays(firstPoint, maths.mulItems(leftTangent, segLength / 3.0));\n bezCurve[2] = maths.addArrays(lastPoint, maths.mulItems(rightTangent, segLength / 3.0));\n } else {\n bezCurve[1] = maths.addArrays(firstPoint, maths.mulItems(leftTangent, alpha_l));\n bezCurve[2] = maths.addArrays(lastPoint, maths.mulItems(rightTangent, alpha_r));\n }\n return bezCurve;\n}\n;\nfunction reparameterize(bezier, points, parameters) {\n return parameters.map((p, i) => newtonRaphsonRootFind(bezier, points[i], p));\n}\n;\nfunction newtonRaphsonRootFind(bez, point, u) {\n var d = maths.subtract(bezier.q(bez, u), point),\n qprime = bezier.qprime(bez, u),\n numerator = maths.mulMatrix(d, qprime),\n denominator = maths.sum(maths.squareItems(qprime)) + 2 * maths.mulMatrix(d, bezier.qprimeprime(bez, u));\n if (denominator === 0) {\n return u;\n } else {\n return u - numerator / denominator;\n }\n}\n;\nfunction chordLengthParameterize(points) {\n var u = [],\n currU,\n prevU,\n prevP;\n points.forEach((p, i) => {\n currU = i ? prevU + maths.vectorLen(maths.subtract(p, prevP)) : 0;\n u.push(currU);\n prevU = currU;\n prevP = p;\n });\n u = u.map(x => x / prevU);\n return u;\n}\n;\nfunction computeMaxError(points, bez, parameters) {\n var dist, maxDist, splitPoint, v, i, count, point, t;\n maxDist = 0;\n splitPoint = Math.floor(points.length / 2);\n const t_distMap = mapTtoRelativeDistances(bez, 10);\n for (i = 0, count = points.length; i < count; i++) {\n point = points[i];\n t = find_t(bez, parameters[i], t_distMap, 10);\n v = maths.subtract(bezier.q(bez, t), point);\n dist = v[0] * v[0] + v[1] * v[1];\n if (dist > maxDist) {\n maxDist = dist;\n splitPoint = i;\n }\n }\n return [maxDist, splitPoint];\n}\n;\nvar mapTtoRelativeDistances = function (bez, B_parts) {\n var B_t_curr;\n var B_t_dist = [0];\n var B_t_prev = bez[0];\n var sumLen = 0;\n for (var i = 1; i <= B_parts; i++) {\n B_t_curr = bezier.q(bez, i / B_parts);\n sumLen += maths.vectorLen(maths.subtract(B_t_curr, B_t_prev));\n B_t_dist.push(sumLen);\n B_t_prev = B_t_curr;\n }\n B_t_dist = B_t_dist.map(x => x / sumLen);\n return B_t_dist;\n};\nfunction find_t(bez, param, t_distMap, B_parts) {\n if (param < 0) {\n return 0;\n }\n if (param > 1) {\n return 1;\n }\n var lenMax, lenMin, tMax, tMin, t;\n for (var i = 1; i <= B_parts; i++) {\n if (param <= t_distMap[i]) {\n tMin = (i - 1) / B_parts;\n tMax = i / B_parts;\n lenMin = t_distMap[i - 1];\n lenMax = t_distMap[i];\n t = (param - lenMin) / (lenMax - lenMin) * (tMax - tMin) + tMin;\n break;\n }\n }\n return t;\n}\nfunction createTangent(pointA, pointB) {\n return maths.normalize(maths.subtract(pointA, pointB));\n}\nclass maths {\n static zeros_Xx2x2(x) {\n var zs = [];\n while (x--) {\n zs.push([0, 0]);\n }\n return zs;\n }\n static mulItems(items, multiplier) {\n return items.map(x => x * multiplier);\n }\n static mulMatrix(m1, m2) {\n return m1.reduce((sum, x1, i) => sum + x1 * m2[i], 0);\n }\n static subtract(arr1, arr2) {\n return arr1.map((x1, i) => x1 - arr2[i]);\n }\n static addArrays(arr1, arr2) {\n return arr1.map((x1, i) => x1 + arr2[i]);\n }\n static addItems(items, addition) {\n return items.map(x => x + addition);\n }\n static sum(items) {\n return items.reduce((sum, x) => sum + x);\n }\n static dot(m1, m2) {\n return maths.mulMatrix(m1, m2);\n }\n static vectorLen(v) {\n return Math.hypot(...v);\n }\n static divItems(items, divisor) {\n return items.map(x => x / divisor);\n }\n static squareItems(items) {\n return items.map(x => x * x);\n }\n static normalize(v) {\n return this.divItems(v, this.vectorLen(v));\n }\n}\nclass bezier {\n static q(ctrlPoly, t) {\n var tx = 1.0 - t;\n var pA = maths.mulItems(ctrlPoly[0], tx * tx * tx),\n pB = maths.mulItems(ctrlPoly[1], 3 * tx * tx * t),\n pC = maths.mulItems(ctrlPoly[2], 3 * tx * t * t),\n pD = maths.mulItems(ctrlPoly[3], t * t * t);\n return maths.addArrays(maths.addArrays(pA, pB), maths.addArrays(pC, pD));\n }\n static qprime(ctrlPoly, t) {\n var tx = 1.0 - t;\n var pA = maths.mulItems(maths.subtract(ctrlPoly[1], ctrlPoly[0]), 3 * tx * tx),\n pB = maths.mulItems(maths.subtract(ctrlPoly[2], ctrlPoly[1]), 6 * tx * t),\n pC = maths.mulItems(maths.subtract(ctrlPoly[3], ctrlPoly[2]), 3 * t * t);\n return maths.addArrays(maths.addArrays(pA, pB), pC);\n }\n static qprimeprime(ctrlPoly, t) {\n return maths.addArrays(maths.mulItems(maths.addArrays(maths.subtract(ctrlPoly[2], maths.mulItems(ctrlPoly[1], 2)), ctrlPoly[0]), 6 * (1.0 - t)), maths.mulItems(maths.addArrays(maths.subtract(ctrlPoly[3], maths.mulItems(ctrlPoly[2], 2)), ctrlPoly[1]), 6 * t));\n }\n}\nmodule.exports = fitCurve;\nmodule.exports.fitCubic = fitCubic;\nmodule.exports.createTangent = createTangent;\n\n/***/ }),\n/* 32 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.AnnotationLayer = void 0;\nvar _util = __w_pdfjs_require__(1);\nvar _display_utils = __w_pdfjs_require__(6);\nvar _annotation_storage = __w_pdfjs_require__(3);\nvar _scripting_utils = __w_pdfjs_require__(33);\nvar _xfa_layer = __w_pdfjs_require__(34);\nconst DEFAULT_TAB_INDEX = 1000;\nconst DEFAULT_FONT_SIZE = 9;\nconst GetElementsByNameSet = new WeakSet();\nfunction getRectDims(rect) {\n return {\n width: rect[2] - rect[0],\n height: rect[3] - rect[1]\n };\n}\nclass AnnotationElementFactory {\n static create(parameters) {\n const subtype = parameters.data.annotationType;\n switch (subtype) {\n case _util.AnnotationType.LINK:\n return new LinkAnnotationElement(parameters);\n case _util.AnnotationType.TEXT:\n return new TextAnnotationElement(parameters);\n case _util.AnnotationType.WIDGET:\n const fieldType = parameters.data.fieldType;\n switch (fieldType) {\n case \"Tx\":\n return new TextWidgetAnnotationElement(parameters);\n case \"Btn\":\n if (parameters.data.radioButton) {\n return new RadioButtonWidgetAnnotationElement(parameters);\n } else if (parameters.data.checkBox) {\n return new CheckboxWidgetAnnotationElement(parameters);\n }\n return new PushButtonWidgetAnnotationElement(parameters);\n case \"Ch\":\n return new ChoiceWidgetAnnotationElement(parameters);\n }\n return new WidgetAnnotationElement(parameters);\n case _util.AnnotationType.POPUP:\n return new PopupAnnotationElement(parameters);\n case _util.AnnotationType.FREETEXT:\n return new FreeTextAnnotationElement(parameters);\n case _util.AnnotationType.LINE:\n return new LineAnnotationElement(parameters);\n case _util.AnnotationType.SQUARE:\n return new SquareAnnotationElement(parameters);\n case _util.AnnotationType.CIRCLE:\n return new CircleAnnotationElement(parameters);\n case _util.AnnotationType.POLYLINE:\n return new PolylineAnnotationElement(parameters);\n case _util.AnnotationType.CARET:\n return new CaretAnnotationElement(parameters);\n case _util.AnnotationType.INK:\n return new InkAnnotationElement(parameters);\n case _util.AnnotationType.POLYGON:\n return new PolygonAnnotationElement(parameters);\n case _util.AnnotationType.HIGHLIGHT:\n return new HighlightAnnotationElement(parameters);\n case _util.AnnotationType.UNDERLINE:\n return new UnderlineAnnotationElement(parameters);\n case _util.AnnotationType.SQUIGGLY:\n return new SquigglyAnnotationElement(parameters);\n case _util.AnnotationType.STRIKEOUT:\n return new StrikeOutAnnotationElement(parameters);\n case _util.AnnotationType.STAMP:\n return new StampAnnotationElement(parameters);\n case _util.AnnotationType.FILEATTACHMENT:\n return new FileAttachmentAnnotationElement(parameters);\n default:\n return new AnnotationElement(parameters);\n }\n }\n}\nclass AnnotationElement {\n constructor(parameters, {\n isRenderable = false,\n ignoreBorder = false,\n createQuadrilaterals = false\n } = {}) {\n this.isRenderable = isRenderable;\n this.data = parameters.data;\n this.layer = parameters.layer;\n this.page = parameters.page;\n this.viewport = parameters.viewport;\n this.linkService = parameters.linkService;\n this.downloadManager = parameters.downloadManager;\n this.imageResourcesPath = parameters.imageResourcesPath;\n this.renderForms = parameters.renderForms;\n this.svgFactory = parameters.svgFactory;\n this.annotationStorage = parameters.annotationStorage;\n this.enableScripting = parameters.enableScripting;\n this.hasJSActions = parameters.hasJSActions;\n this._fieldObjects = parameters.fieldObjects;\n if (isRenderable) {\n this.container = this._createContainer(ignoreBorder);\n }\n if (createQuadrilaterals) {\n this.quadrilaterals = this._createQuadrilaterals(ignoreBorder);\n }\n }\n _createContainer(ignoreBorder = false) {\n const {\n data,\n page,\n viewport\n } = this;\n const container = document.createElement(\"section\");\n container.setAttribute(\"data-annotation-id\", data.id);\n if (data.noRotate) {\n container.classList.add(\"norotate\");\n }\n const {\n pageWidth,\n pageHeight,\n pageX,\n pageY\n } = viewport.rawDims;\n const {\n width,\n height\n } = getRectDims(data.rect);\n const rect = _util.Util.normalizeRect([data.rect[0], page.view[3] - data.rect[1] + page.view[1], data.rect[2], page.view[3] - data.rect[3] + page.view[1]]);\n if (!ignoreBorder && data.borderStyle.width > 0) {\n container.style.borderWidth = `${data.borderStyle.width}px`;\n const horizontalRadius = data.borderStyle.horizontalCornerRadius;\n const verticalRadius = data.borderStyle.verticalCornerRadius;\n if (horizontalRadius > 0 || verticalRadius > 0) {\n const radius = `calc(${horizontalRadius}px * var(--scale-factor)) / calc(${verticalRadius}px * var(--scale-factor))`;\n container.style.borderRadius = radius;\n } else if (this instanceof RadioButtonWidgetAnnotationElement) {\n const radius = `calc(${width}px * var(--scale-factor)) / calc(${height}px * var(--scale-factor))`;\n container.style.borderRadius = radius;\n }\n switch (data.borderStyle.style) {\n case _util.AnnotationBorderStyleType.SOLID:\n container.style.borderStyle = \"solid\";\n break;\n case _util.AnnotationBorderStyleType.DASHED:\n container.style.borderStyle = \"dashed\";\n break;\n case _util.AnnotationBorderStyleType.BEVELED:\n (0, _util.warn)(\"Unimplemented border style: beveled\");\n break;\n case _util.AnnotationBorderStyleType.INSET:\n (0, _util.warn)(\"Unimplemented border style: inset\");\n break;\n case _util.AnnotationBorderStyleType.UNDERLINE:\n container.style.borderBottomStyle = \"solid\";\n break;\n default:\n break;\n }\n const borderColor = data.borderColor || null;\n if (borderColor) {\n container.style.borderColor = _util.Util.makeHexColor(borderColor[0] | 0, borderColor[1] | 0, borderColor[2] | 0);\n } else {\n container.style.borderWidth = 0;\n }\n }\n container.style.left = `${100 * (rect[0] - pageX) / pageWidth}%`;\n container.style.top = `${100 * (rect[1] - pageY) / pageHeight}%`;\n const {\n rotation\n } = data;\n if (data.hasOwnCanvas || rotation === 0) {\n container.style.width = `${100 * width / pageWidth}%`;\n container.style.height = `${100 * height / pageHeight}%`;\n } else {\n this.setRotation(rotation, container);\n }\n return container;\n }\n setRotation(angle, container = this.container) {\n const {\n pageWidth,\n pageHeight\n } = this.viewport.rawDims;\n const {\n width,\n height\n } = getRectDims(this.data.rect);\n let elementWidth, elementHeight;\n if (angle % 180 === 0) {\n elementWidth = 100 * width / pageWidth;\n elementHeight = 100 * height / pageHeight;\n } else {\n elementWidth = 100 * height / pageWidth;\n elementHeight = 100 * width / pageHeight;\n }\n container.style.width = `${elementWidth}%`;\n container.style.height = `${elementHeight}%`;\n container.setAttribute(\"data-main-rotation\", (360 - angle) % 360);\n }\n get _commonActions() {\n const setColor = (jsName, styleName, event) => {\n const color = event.detail[jsName];\n event.target.style[styleName] = _scripting_utils.ColorConverters[`${color[0]}_HTML`](color.slice(1));\n };\n return (0, _util.shadow)(this, \"_commonActions\", {\n display: event => {\n const hidden = event.detail.display % 2 === 1;\n this.container.style.visibility = hidden ? \"hidden\" : \"visible\";\n this.annotationStorage.setValue(this.data.id, {\n hidden,\n print: event.detail.display === 0 || event.detail.display === 3\n });\n },\n print: event => {\n this.annotationStorage.setValue(this.data.id, {\n print: event.detail.print\n });\n },\n hidden: event => {\n this.container.style.visibility = event.detail.hidden ? \"hidden\" : \"visible\";\n this.annotationStorage.setValue(this.data.id, {\n hidden: event.detail.hidden\n });\n },\n focus: event => {\n setTimeout(() => event.target.focus({\n preventScroll: false\n }), 0);\n },\n userName: event => {\n event.target.title = event.detail.userName;\n },\n readonly: event => {\n if (event.detail.readonly) {\n event.target.setAttribute(\"readonly\", \"\");\n } else {\n event.target.removeAttribute(\"readonly\");\n }\n },\n required: event => {\n this._setRequired(event.target, event.detail.required);\n },\n bgColor: event => {\n setColor(\"bgColor\", \"backgroundColor\", event);\n },\n fillColor: event => {\n setColor(\"fillColor\", \"backgroundColor\", event);\n },\n fgColor: event => {\n setColor(\"fgColor\", \"color\", event);\n },\n textColor: event => {\n setColor(\"textColor\", \"color\", event);\n },\n borderColor: event => {\n setColor(\"borderColor\", \"borderColor\", event);\n },\n strokeColor: event => {\n setColor(\"strokeColor\", \"borderColor\", event);\n },\n rotation: event => {\n const angle = event.detail.rotation;\n this.setRotation(angle);\n this.annotationStorage.setValue(this.data.id, {\n rotation: angle\n });\n }\n });\n }\n _dispatchEventFromSandbox(actions, jsEvent) {\n const commonActions = this._commonActions;\n for (const name of Object.keys(jsEvent.detail)) {\n const action = actions[name] || commonActions[name];\n action?.(jsEvent);\n }\n }\n _setDefaultPropertiesFromJS(element) {\n if (!this.enableScripting) {\n return;\n }\n const storedData = this.annotationStorage.getRawValue(this.data.id);\n if (!storedData) {\n return;\n }\n const commonActions = this._commonActions;\n for (const [actionName, detail] of Object.entries(storedData)) {\n const action = commonActions[actionName];\n if (action) {\n const eventProxy = {\n detail: {\n [actionName]: detail\n },\n target: element\n };\n action(eventProxy);\n delete storedData[actionName];\n }\n }\n }\n _createQuadrilaterals(ignoreBorder = false) {\n if (!this.data.quadPoints) {\n return null;\n }\n const quadrilaterals = [];\n const savedRect = this.data.rect;\n for (const quadPoint of this.data.quadPoints) {\n this.data.rect = [quadPoint[2].x, quadPoint[2].y, quadPoint[1].x, quadPoint[1].y];\n quadrilaterals.push(this._createContainer(ignoreBorder));\n }\n this.data.rect = savedRect;\n return quadrilaterals;\n }\n _createPopup(trigger, data) {\n let container = this.container;\n if (this.quadrilaterals) {\n trigger ||= this.quadrilaterals;\n container = this.quadrilaterals[0];\n }\n if (!trigger) {\n trigger = document.createElement(\"div\");\n trigger.classList.add(\"popupTriggerArea\");\n container.append(trigger);\n }\n const popupElement = new PopupElement({\n container,\n trigger,\n color: data.color,\n titleObj: data.titleObj,\n modificationDate: data.modificationDate,\n contentsObj: data.contentsObj,\n richText: data.richText,\n hideWrapper: true\n });\n const popup = popupElement.render();\n popup.style.left = \"100%\";\n container.append(popup);\n }\n _renderQuadrilaterals(className) {\n for (const quadrilateral of this.quadrilaterals) {\n quadrilateral.classList.add(className);\n }\n return this.quadrilaterals;\n }\n render() {\n (0, _util.unreachable)(\"Abstract method `AnnotationElement.render` called\");\n }\n _getElementsByName(name, skipId = null) {\n const fields = [];\n if (this._fieldObjects) {\n const fieldObj = this._fieldObjects[name];\n if (fieldObj) {\n for (const {\n page,\n id,\n exportValues\n } of fieldObj) {\n if (page === -1) {\n continue;\n }\n if (id === skipId) {\n continue;\n }\n const exportValue = typeof exportValues === \"string\" ? exportValues : null;\n const domElement = document.querySelector(`[data-element-id=\"${id}\"]`);\n if (domElement && !GetElementsByNameSet.has(domElement)) {\n (0, _util.warn)(`_getElementsByName - element not allowed: ${id}`);\n continue;\n }\n fields.push({\n id,\n exportValue,\n domElement\n });\n }\n }\n return fields;\n }\n for (const domElement of document.getElementsByName(name)) {\n const {\n exportValue\n } = domElement;\n const id = domElement.getAttribute(\"data-element-id\");\n if (id === skipId) {\n continue;\n }\n if (!GetElementsByNameSet.has(domElement)) {\n continue;\n }\n fields.push({\n id,\n exportValue,\n domElement\n });\n }\n return fields;\n }\n}\nclass LinkAnnotationElement extends AnnotationElement {\n constructor(parameters, options = null) {\n super(parameters, {\n isRenderable: true,\n ignoreBorder: !!options?.ignoreBorder,\n createQuadrilaterals: true\n });\n this.isTooltipOnly = parameters.data.isTooltipOnly;\n }\n render() {\n const {\n data,\n linkService\n } = this;\n const link = document.createElement(\"a\");\n link.setAttribute(\"data-element-id\", data.id);\n let isBound = false;\n if (data.url) {\n linkService.addLinkAttributes(link, data.url, data.newWindow);\n isBound = true;\n } else if (data.action) {\n this._bindNamedAction(link, data.action);\n isBound = true;\n } else if (data.attachment) {\n this._bindAttachment(link, data.attachment);\n isBound = true;\n } else if (data.setOCGState) {\n this.#bindSetOCGState(link, data.setOCGState);\n isBound = true;\n } else if (data.dest) {\n this._bindLink(link, data.dest);\n isBound = true;\n } else {\n if (data.actions && (data.actions.Action || data.actions[\"Mouse Up\"] || data.actions[\"Mouse Down\"]) && this.enableScripting && this.hasJSActions) {\n this._bindJSAction(link, data);\n isBound = true;\n }\n if (data.resetForm) {\n this._bindResetFormAction(link, data.resetForm);\n isBound = true;\n } else if (this.isTooltipOnly && !isBound) {\n this._bindLink(link, \"\");\n isBound = true;\n }\n }\n if (this.quadrilaterals) {\n return this._renderQuadrilaterals(\"linkAnnotation\").map((quadrilateral, index) => {\n const linkElement = index === 0 ? link : link.cloneNode();\n quadrilateral.append(linkElement);\n return quadrilateral;\n });\n }\n this.container.classList.add(\"linkAnnotation\");\n if (isBound) {\n this.container.append(link);\n }\n return this.container;\n }\n #setInternalLink() {\n this.container.setAttribute(\"data-internal-link\", \"\");\n }\n _bindLink(link, destination) {\n link.href = this.linkService.getDestinationHash(destination);\n link.onclick = () => {\n if (destination) {\n this.linkService.goToDestination(destination);\n }\n return false;\n };\n if (destination || destination === \"\") {\n this.#setInternalLink();\n }\n }\n _bindNamedAction(link, action) {\n link.href = this.linkService.getAnchorUrl(\"\");\n link.onclick = () => {\n this.linkService.executeNamedAction(action);\n return false;\n };\n this.#setInternalLink();\n }\n _bindAttachment(link, attachment) {\n link.href = this.linkService.getAnchorUrl(\"\");\n link.onclick = () => {\n this.downloadManager?.openOrDownloadData(this.container, attachment.content, attachment.filename);\n return false;\n };\n this.#setInternalLink();\n }\n #bindSetOCGState(link, action) {\n link.href = this.linkService.getAnchorUrl(\"\");\n link.onclick = () => {\n this.linkService.executeSetOCGState(action);\n return false;\n };\n this.#setInternalLink();\n }\n _bindJSAction(link, data) {\n link.href = this.linkService.getAnchorUrl(\"\");\n const map = new Map([[\"Action\", \"onclick\"], [\"Mouse Up\", \"onmouseup\"], [\"Mouse Down\", \"onmousedown\"]]);\n for (const name of Object.keys(data.actions)) {\n const jsName = map.get(name);\n if (!jsName) {\n continue;\n }\n link[jsName] = () => {\n this.linkService.eventBus?.dispatch(\"dispatcheventinsandbox\", {\n source: this,\n detail: {\n id: data.id,\n name\n }\n });\n return false;\n };\n }\n if (!link.onclick) {\n link.onclick = () => false;\n }\n this.#setInternalLink();\n }\n _bindResetFormAction(link, resetForm) {\n const otherClickAction = link.onclick;\n if (!otherClickAction) {\n link.href = this.linkService.getAnchorUrl(\"\");\n }\n this.#setInternalLink();\n if (!this._fieldObjects) {\n (0, _util.warn)(`_bindResetFormAction - \"resetForm\" action not supported, ` + \"ensure that the `fieldObjects` parameter is provided.\");\n if (!otherClickAction) {\n link.onclick = () => false;\n }\n return;\n }\n link.onclick = () => {\n otherClickAction?.();\n const {\n fields: resetFormFields,\n refs: resetFormRefs,\n include\n } = resetForm;\n const allFields = [];\n if (resetFormFields.length !== 0 || resetFormRefs.length !== 0) {\n const fieldIds = new Set(resetFormRefs);\n for (const fieldName of resetFormFields) {\n const fields = this._fieldObjects[fieldName] || [];\n for (const {\n id\n } of fields) {\n fieldIds.add(id);\n }\n }\n for (const fields of Object.values(this._fieldObjects)) {\n for (const field of fields) {\n if (fieldIds.has(field.id) === include) {\n allFields.push(field);\n }\n }\n }\n } else {\n for (const fields of Object.values(this._fieldObjects)) {\n allFields.push(...fields);\n }\n }\n const storage = this.annotationStorage;\n const allIds = [];\n for (const field of allFields) {\n const {\n id\n } = field;\n allIds.push(id);\n switch (field.type) {\n case \"text\":\n {\n const value = field.defaultValue || \"\";\n storage.setValue(id, {\n value\n });\n break;\n }\n case \"checkbox\":\n case \"radiobutton\":\n {\n const value = field.defaultValue === field.exportValues;\n storage.setValue(id, {\n value\n });\n break;\n }\n case \"combobox\":\n case \"listbox\":\n {\n const value = field.defaultValue || \"\";\n storage.setValue(id, {\n value\n });\n break;\n }\n default:\n continue;\n }\n const domElement = document.querySelector(`[data-element-id=\"${id}\"]`);\n if (!domElement) {\n continue;\n } else if (!GetElementsByNameSet.has(domElement)) {\n (0, _util.warn)(`_bindResetFormAction - element not allowed: ${id}`);\n continue;\n }\n domElement.dispatchEvent(new Event(\"resetform\"));\n }\n if (this.enableScripting) {\n this.linkService.eventBus?.dispatch(\"dispatcheventinsandbox\", {\n source: this,\n detail: {\n id: \"app\",\n ids: allIds,\n name: \"ResetForm\"\n }\n });\n }\n return false;\n };\n }\n}\nclass TextAnnotationElement extends AnnotationElement {\n constructor(parameters) {\n const isRenderable = !!(parameters.data.hasPopup || parameters.data.titleObj?.str || parameters.data.contentsObj?.str || parameters.data.richText?.str);\n super(parameters, {\n isRenderable\n });\n }\n render() {\n this.container.classList.add(\"textAnnotation\");\n const image = document.createElement(\"img\");\n image.src = this.imageResourcesPath + \"annotation-\" + this.data.name.toLowerCase() + \".svg\";\n image.alt = \"[{{type}} Annotation]\";\n image.dataset.l10nId = \"text_annotation_type\";\n image.dataset.l10nArgs = JSON.stringify({\n type: this.data.name\n });\n if (!this.data.hasPopup) {\n this._createPopup(image, this.data);\n }\n this.container.append(image);\n return this.container;\n }\n}\nclass WidgetAnnotationElement extends AnnotationElement {\n render() {\n if (this.data.alternativeText) {\n this.container.title = this.data.alternativeText;\n }\n return this.container;\n }\n showElementAndHideCanvas(element) {\n if (this.data.hasOwnCanvas) {\n if (element.previousSibling?.nodeName === \"CANVAS\") {\n element.previousSibling.hidden = true;\n }\n element.hidden = false;\n }\n }\n _getKeyModifier(event) {\n const {\n isWin,\n isMac\n } = _util.FeatureTest.platform;\n return isWin && event.ctrlKey || isMac && event.metaKey;\n }\n _setEventListener(element, baseName, eventName, valueGetter) {\n if (baseName.includes(\"mouse\")) {\n element.addEventListener(baseName, event => {\n this.linkService.eventBus?.dispatch(\"dispatcheventinsandbox\", {\n source: this,\n detail: {\n id: this.data.id,\n name: eventName,\n value: valueGetter(event),\n shift: event.shiftKey,\n modifier: this._getKeyModifier(event)\n }\n });\n });\n } else {\n element.addEventListener(baseName, event => {\n this.linkService.eventBus?.dispatch(\"dispatcheventinsandbox\", {\n source: this,\n detail: {\n id: this.data.id,\n name: eventName,\n value: valueGetter(event)\n }\n });\n });\n }\n }\n _setEventListeners(element, names, getter) {\n for (const [baseName, eventName] of names) {\n if (eventName === \"Action\" || this.data.actions?.[eventName]) {\n this._setEventListener(element, baseName, eventName, getter);\n }\n }\n }\n _setBackgroundColor(element) {\n const color = this.data.backgroundColor || null;\n element.style.backgroundColor = color === null ? \"transparent\" : _util.Util.makeHexColor(color[0], color[1], color[2]);\n }\n _setTextStyle(element) {\n const TEXT_ALIGNMENT = [\"left\", \"center\", \"right\"];\n const {\n fontColor\n } = this.data.defaultAppearanceData;\n const fontSize = this.data.defaultAppearanceData.fontSize || DEFAULT_FONT_SIZE;\n const style = element.style;\n let computedFontSize;\n const BORDER_SIZE = 2;\n const roundToOneDecimal = x => Math.round(10 * x) / 10;\n if (this.data.multiLine) {\n const height = Math.abs(this.data.rect[3] - this.data.rect[1] - BORDER_SIZE);\n const numberOfLines = Math.round(height / (_util.LINE_FACTOR * fontSize)) || 1;\n const lineHeight = height / numberOfLines;\n computedFontSize = Math.min(fontSize, roundToOneDecimal(lineHeight / _util.LINE_FACTOR));\n } else {\n const height = Math.abs(this.data.rect[3] - this.data.rect[1] - BORDER_SIZE);\n computedFontSize = Math.min(fontSize, roundToOneDecimal(height / _util.LINE_FACTOR));\n }\n style.fontSize = `calc(${computedFontSize}px * var(--scale-factor))`;\n style.color = _util.Util.makeHexColor(fontColor[0], fontColor[1], fontColor[2]);\n if (this.data.textAlignment !== null) {\n style.textAlign = TEXT_ALIGNMENT[this.data.textAlignment];\n }\n }\n _setRequired(element, isRequired) {\n if (isRequired) {\n element.setAttribute(\"required\", true);\n } else {\n element.removeAttribute(\"required\");\n }\n element.setAttribute(\"aria-required\", isRequired);\n }\n}\nclass TextWidgetAnnotationElement extends WidgetAnnotationElement {\n constructor(parameters) {\n const isRenderable = parameters.renderForms || !parameters.data.hasAppearance && !!parameters.data.fieldValue;\n super(parameters, {\n isRenderable\n });\n }\n setPropertyOnSiblings(base, key, value, keyInStorage) {\n const storage = this.annotationStorage;\n for (const element of this._getElementsByName(base.name, base.id)) {\n if (element.domElement) {\n element.domElement[key] = value;\n }\n storage.setValue(element.id, {\n [keyInStorage]: value\n });\n }\n }\n render() {\n const storage = this.annotationStorage;\n const id = this.data.id;\n this.container.classList.add(\"textWidgetAnnotation\");\n let element = null;\n if (this.renderForms) {\n const storedData = storage.getValue(id, {\n value: this.data.fieldValue\n });\n let textContent = storedData.formattedValue || storedData.value || \"\";\n const maxLen = storage.getValue(id, {\n charLimit: this.data.maxLen\n }).charLimit;\n if (maxLen && textContent.length > maxLen) {\n textContent = textContent.slice(0, maxLen);\n }\n const elementData = {\n userValue: textContent,\n formattedValue: null,\n lastCommittedValue: null,\n commitKey: 1\n };\n if (this.data.multiLine) {\n element = document.createElement(\"textarea\");\n element.textContent = textContent;\n if (this.data.doNotScroll) {\n element.style.overflowY = \"hidden\";\n }\n } else {\n element = document.createElement(\"input\");\n element.type = \"text\";\n element.setAttribute(\"value\", textContent);\n if (this.data.doNotScroll) {\n element.style.overflowX = \"hidden\";\n }\n }\n if (this.data.hasOwnCanvas) {\n element.hidden = true;\n }\n GetElementsByNameSet.add(element);\n element.setAttribute(\"data-element-id\", id);\n element.disabled = this.data.readOnly;\n element.name = this.data.fieldName;\n element.tabIndex = DEFAULT_TAB_INDEX;\n this._setRequired(element, this.data.required);\n if (maxLen) {\n element.maxLength = maxLen;\n }\n element.addEventListener(\"input\", event => {\n storage.setValue(id, {\n value: event.target.value\n });\n this.setPropertyOnSiblings(element, \"value\", event.target.value, \"value\");\n });\n element.addEventListener(\"resetform\", event => {\n const defaultValue = this.data.defaultFieldValue ?? \"\";\n element.value = elementData.userValue = defaultValue;\n elementData.formattedValue = null;\n });\n let blurListener = event => {\n const {\n formattedValue\n } = elementData;\n if (formattedValue !== null && formattedValue !== undefined) {\n event.target.value = formattedValue;\n }\n event.target.scrollLeft = 0;\n };\n if (this.enableScripting && this.hasJSActions) {\n element.addEventListener(\"focus\", event => {\n const {\n target\n } = event;\n if (elementData.userValue) {\n target.value = elementData.userValue;\n }\n elementData.lastCommittedValue = target.value;\n elementData.commitKey = 1;\n });\n element.addEventListener(\"updatefromsandbox\", jsEvent => {\n this.showElementAndHideCanvas(jsEvent.target);\n const actions = {\n value(event) {\n elementData.userValue = event.detail.value ?? \"\";\n storage.setValue(id, {\n value: elementData.userValue.toString()\n });\n event.target.value = elementData.userValue;\n },\n formattedValue(event) {\n const {\n formattedValue\n } = event.detail;\n elementData.formattedValue = formattedValue;\n if (formattedValue !== null && formattedValue !== undefined && event.target !== document.activeElement) {\n event.target.value = formattedValue;\n }\n storage.setValue(id, {\n formattedValue\n });\n },\n selRange(event) {\n event.target.setSelectionRange(...event.detail.selRange);\n },\n charLimit: event => {\n const {\n charLimit\n } = event.detail;\n const {\n target\n } = event;\n if (charLimit === 0) {\n target.removeAttribute(\"maxLength\");\n return;\n }\n target.setAttribute(\"maxLength\", charLimit);\n let value = elementData.userValue;\n if (!value || value.length <= charLimit) {\n return;\n }\n value = value.slice(0, charLimit);\n target.value = elementData.userValue = value;\n storage.setValue(id, {\n value\n });\n this.linkService.eventBus?.dispatch(\"dispatcheventinsandbox\", {\n source: this,\n detail: {\n id,\n name: \"Keystroke\",\n value,\n willCommit: true,\n commitKey: 1,\n selStart: target.selectionStart,\n selEnd: target.selectionEnd\n }\n });\n }\n };\n this._dispatchEventFromSandbox(actions, jsEvent);\n });\n element.addEventListener(\"keydown\", event => {\n elementData.commitKey = 1;\n let commitKey = -1;\n if (event.key === \"Escape\") {\n commitKey = 0;\n } else if (event.key === \"Enter\" && !this.data.multiLine) {\n commitKey = 2;\n } else if (event.key === \"Tab\") {\n elementData.commitKey = 3;\n }\n if (commitKey === -1) {\n return;\n }\n const {\n value\n } = event.target;\n if (elementData.lastCommittedValue === value) {\n return;\n }\n elementData.lastCommittedValue = value;\n elementData.userValue = value;\n this.linkService.eventBus?.dispatch(\"dispatcheventinsandbox\", {\n source: this,\n detail: {\n id,\n name: \"Keystroke\",\n value,\n willCommit: true,\n commitKey,\n selStart: event.target.selectionStart,\n selEnd: event.target.selectionEnd\n }\n });\n });\n const _blurListener = blurListener;\n blurListener = null;\n element.addEventListener(\"blur\", event => {\n if (!event.relatedTarget) {\n return;\n }\n const {\n value\n } = event.target;\n elementData.userValue = value;\n if (elementData.lastCommittedValue !== value) {\n this.linkService.eventBus?.dispatch(\"dispatcheventinsandbox\", {\n source: this,\n detail: {\n id,\n name: \"Keystroke\",\n value,\n willCommit: true,\n commitKey: elementData.commitKey,\n selStart: event.target.selectionStart,\n selEnd: event.target.selectionEnd\n }\n });\n }\n _blurListener(event);\n });\n if (this.data.actions?.Keystroke) {\n element.addEventListener(\"beforeinput\", event => {\n elementData.lastCommittedValue = null;\n const {\n data,\n target\n } = event;\n const {\n value,\n selectionStart,\n selectionEnd\n } = target;\n let selStart = selectionStart,\n selEnd = selectionEnd;\n switch (event.inputType) {\n case \"deleteWordBackward\":\n {\n const match = value.substring(0, selectionStart).match(/\\w*[^\\w]*$/);\n if (match) {\n selStart -= match[0].length;\n }\n break;\n }\n case \"deleteWordForward\":\n {\n const match = value.substring(selectionStart).match(/^[^\\w]*\\w*/);\n if (match) {\n selEnd += match[0].length;\n }\n break;\n }\n case \"deleteContentBackward\":\n if (selectionStart === selectionEnd) {\n selStart -= 1;\n }\n break;\n case \"deleteContentForward\":\n if (selectionStart === selectionEnd) {\n selEnd += 1;\n }\n break;\n }\n event.preventDefault();\n this.linkService.eventBus?.dispatch(\"dispatcheventinsandbox\", {\n source: this,\n detail: {\n id,\n name: \"Keystroke\",\n value,\n change: data || \"\",\n willCommit: false,\n selStart,\n selEnd\n }\n });\n });\n }\n this._setEventListeners(element, [[\"focus\", \"Focus\"], [\"blur\", \"Blur\"], [\"mousedown\", \"Mouse Down\"], [\"mouseenter\", \"Mouse Enter\"], [\"mouseleave\", \"Mouse Exit\"], [\"mouseup\", \"Mouse Up\"]], event => event.target.value);\n }\n if (blurListener) {\n element.addEventListener(\"blur\", blurListener);\n }\n if (this.data.comb) {\n const fieldWidth = this.data.rect[2] - this.data.rect[0];\n const combWidth = fieldWidth / maxLen;\n element.classList.add(\"comb\");\n element.style.letterSpacing = `calc(${combWidth}px * var(--scale-factor) - 1ch)`;\n }\n } else {\n element = document.createElement(\"div\");\n element.textContent = this.data.fieldValue;\n element.style.verticalAlign = \"middle\";\n element.style.display = \"table-cell\";\n }\n this._setTextStyle(element);\n this._setBackgroundColor(element);\n this._setDefaultPropertiesFromJS(element);\n this.container.append(element);\n return this.container;\n }\n}\nclass CheckboxWidgetAnnotationElement extends WidgetAnnotationElement {\n constructor(parameters) {\n super(parameters, {\n isRenderable: parameters.renderForms\n });\n }\n render() {\n const storage = this.annotationStorage;\n const data = this.data;\n const id = data.id;\n let value = storage.getValue(id, {\n value: data.exportValue === data.fieldValue\n }).value;\n if (typeof value === \"string\") {\n value = value !== \"Off\";\n storage.setValue(id, {\n value\n });\n }\n this.container.classList.add(\"buttonWidgetAnnotation\", \"checkBox\");\n const element = document.createElement(\"input\");\n GetElementsByNameSet.add(element);\n element.setAttribute(\"data-element-id\", id);\n element.disabled = data.readOnly;\n this._setRequired(element, this.data.required);\n element.type = \"checkbox\";\n element.name = data.fieldName;\n if (value) {\n element.setAttribute(\"checked\", true);\n }\n element.setAttribute(\"exportValue\", data.exportValue);\n element.tabIndex = DEFAULT_TAB_INDEX;\n element.addEventListener(\"change\", event => {\n const {\n name,\n checked\n } = event.target;\n for (const checkbox of this._getElementsByName(name, id)) {\n const curChecked = checked && checkbox.exportValue === data.exportValue;\n if (checkbox.domElement) {\n checkbox.domElement.checked = curChecked;\n }\n storage.setValue(checkbox.id, {\n value: curChecked\n });\n }\n storage.setValue(id, {\n value: checked\n });\n });\n element.addEventListener(\"resetform\", event => {\n const defaultValue = data.defaultFieldValue || \"Off\";\n event.target.checked = defaultValue === data.exportValue;\n });\n if (this.enableScripting && this.hasJSActions) {\n element.addEventListener(\"updatefromsandbox\", jsEvent => {\n const actions = {\n value(event) {\n event.target.checked = event.detail.value !== \"Off\";\n storage.setValue(id, {\n value: event.target.checked\n });\n }\n };\n this._dispatchEventFromSandbox(actions, jsEvent);\n });\n this._setEventListeners(element, [[\"change\", \"Validate\"], [\"change\", \"Action\"], [\"focus\", \"Focus\"], [\"blur\", \"Blur\"], [\"mousedown\", \"Mouse Down\"], [\"mouseenter\", \"Mouse Enter\"], [\"mouseleave\", \"Mouse Exit\"], [\"mouseup\", \"Mouse Up\"]], event => event.target.checked);\n }\n this._setBackgroundColor(element);\n this._setDefaultPropertiesFromJS(element);\n this.container.append(element);\n return this.container;\n }\n}\nclass RadioButtonWidgetAnnotationElement extends WidgetAnnotationElement {\n constructor(parameters) {\n super(parameters, {\n isRenderable: parameters.renderForms\n });\n }\n render() {\n this.container.classList.add(\"buttonWidgetAnnotation\", \"radioButton\");\n const storage = this.annotationStorage;\n const data = this.data;\n const id = data.id;\n let value = storage.getValue(id, {\n value: data.fieldValue === data.buttonValue\n }).value;\n if (typeof value === \"string\") {\n value = value !== data.buttonValue;\n storage.setValue(id, {\n value\n });\n }\n const element = document.createElement(\"input\");\n GetElementsByNameSet.add(element);\n element.setAttribute(\"data-element-id\", id);\n element.disabled = data.readOnly;\n this._setRequired(element, this.data.required);\n element.type = \"radio\";\n element.name = data.fieldName;\n if (value) {\n element.setAttribute(\"checked\", true);\n }\n element.tabIndex = DEFAULT_TAB_INDEX;\n element.addEventListener(\"change\", event => {\n const {\n name,\n checked\n } = event.target;\n for (const radio of this._getElementsByName(name, id)) {\n storage.setValue(radio.id, {\n value: false\n });\n }\n storage.setValue(id, {\n value: checked\n });\n });\n element.addEventListener(\"resetform\", event => {\n const defaultValue = data.defaultFieldValue;\n event.target.checked = defaultValue !== null && defaultValue !== undefined && defaultValue === data.buttonValue;\n });\n if (this.enableScripting && this.hasJSActions) {\n const pdfButtonValue = data.buttonValue;\n element.addEventListener(\"updatefromsandbox\", jsEvent => {\n const actions = {\n value: event => {\n const checked = pdfButtonValue === event.detail.value;\n for (const radio of this._getElementsByName(event.target.name)) {\n const curChecked = checked && radio.id === id;\n if (radio.domElement) {\n radio.domElement.checked = curChecked;\n }\n storage.setValue(radio.id, {\n value: curChecked\n });\n }\n }\n };\n this._dispatchEventFromSandbox(actions, jsEvent);\n });\n this._setEventListeners(element, [[\"change\", \"Validate\"], [\"change\", \"Action\"], [\"focus\", \"Focus\"], [\"blur\", \"Blur\"], [\"mousedown\", \"Mouse Down\"], [\"mouseenter\", \"Mouse Enter\"], [\"mouseleave\", \"Mouse Exit\"], [\"mouseup\", \"Mouse Up\"]], event => event.target.checked);\n }\n this._setBackgroundColor(element);\n this._setDefaultPropertiesFromJS(element);\n this.container.append(element);\n return this.container;\n }\n}\nclass PushButtonWidgetAnnotationElement extends LinkAnnotationElement {\n constructor(parameters) {\n super(parameters, {\n ignoreBorder: parameters.data.hasAppearance\n });\n }\n render() {\n const container = super.render();\n container.classList.add(\"buttonWidgetAnnotation\", \"pushButton\");\n if (this.data.alternativeText) {\n container.title = this.data.alternativeText;\n }\n const linkElement = container.lastChild;\n if (this.enableScripting && this.hasJSActions && linkElement) {\n this._setDefaultPropertiesFromJS(linkElement);\n linkElement.addEventListener(\"updatefromsandbox\", jsEvent => {\n this._dispatchEventFromSandbox({}, jsEvent);\n });\n }\n return container;\n }\n}\nclass ChoiceWidgetAnnotationElement extends WidgetAnnotationElement {\n constructor(parameters) {\n super(parameters, {\n isRenderable: parameters.renderForms\n });\n }\n render() {\n this.container.classList.add(\"choiceWidgetAnnotation\");\n const storage = this.annotationStorage;\n const id = this.data.id;\n const storedData = storage.getValue(id, {\n value: this.data.fieldValue\n });\n const selectElement = document.createElement(\"select\");\n GetElementsByNameSet.add(selectElement);\n selectElement.setAttribute(\"data-element-id\", id);\n selectElement.disabled = this.data.readOnly;\n this._setRequired(selectElement, this.data.required);\n selectElement.name = this.data.fieldName;\n selectElement.tabIndex = DEFAULT_TAB_INDEX;\n let addAnEmptyEntry = this.data.combo && this.data.options.length > 0;\n if (!this.data.combo) {\n selectElement.size = this.data.options.length;\n if (this.data.multiSelect) {\n selectElement.multiple = true;\n }\n }\n selectElement.addEventListener(\"resetform\", event => {\n const defaultValue = this.data.defaultFieldValue;\n for (const option of selectElement.options) {\n option.selected = option.value === defaultValue;\n }\n });\n for (const option of this.data.options) {\n const optionElement = document.createElement(\"option\");\n optionElement.textContent = option.displayValue;\n optionElement.value = option.exportValue;\n if (storedData.value.includes(option.exportValue)) {\n optionElement.setAttribute(\"selected\", true);\n addAnEmptyEntry = false;\n }\n selectElement.append(optionElement);\n }\n let removeEmptyEntry = null;\n if (addAnEmptyEntry) {\n const noneOptionElement = document.createElement(\"option\");\n noneOptionElement.value = \" \";\n noneOptionElement.setAttribute(\"hidden\", true);\n noneOptionElement.setAttribute(\"selected\", true);\n selectElement.prepend(noneOptionElement);\n removeEmptyEntry = () => {\n noneOptionElement.remove();\n selectElement.removeEventListener(\"input\", removeEmptyEntry);\n removeEmptyEntry = null;\n };\n selectElement.addEventListener(\"input\", removeEmptyEntry);\n }\n const getValue = isExport => {\n const name = isExport ? \"value\" : \"textContent\";\n const {\n options,\n multiple\n } = selectElement;\n if (!multiple) {\n return options.selectedIndex === -1 ? null : options[options.selectedIndex][name];\n }\n return Array.prototype.filter.call(options, option => option.selected).map(option => option[name]);\n };\n let selectedValues = getValue(false);\n const getItems = event => {\n const options = event.target.options;\n return Array.prototype.map.call(options, option => {\n return {\n displayValue: option.textContent,\n exportValue: option.value\n };\n });\n };\n if (this.enableScripting && this.hasJSActions) {\n selectElement.addEventListener(\"updatefromsandbox\", jsEvent => {\n const actions = {\n value(event) {\n removeEmptyEntry?.();\n const value = event.detail.value;\n const values = new Set(Array.isArray(value) ? value : [value]);\n for (const option of selectElement.options) {\n option.selected = values.has(option.value);\n }\n storage.setValue(id, {\n value: getValue(true)\n });\n selectedValues = getValue(false);\n },\n multipleSelection(event) {\n selectElement.multiple = true;\n },\n remove(event) {\n const options = selectElement.options;\n const index = event.detail.remove;\n options[index].selected = false;\n selectElement.remove(index);\n if (options.length > 0) {\n const i = Array.prototype.findIndex.call(options, option => option.selected);\n if (i === -1) {\n options[0].selected = true;\n }\n }\n storage.setValue(id, {\n value: getValue(true),\n items: getItems(event)\n });\n selectedValues = getValue(false);\n },\n clear(event) {\n while (selectElement.length !== 0) {\n selectElement.remove(0);\n }\n storage.setValue(id, {\n value: null,\n items: []\n });\n selectedValues = getValue(false);\n },\n insert(event) {\n const {\n index,\n displayValue,\n exportValue\n } = event.detail.insert;\n const selectChild = selectElement.children[index];\n const optionElement = document.createElement(\"option\");\n optionElement.textContent = displayValue;\n optionElement.value = exportValue;\n if (selectChild) {\n selectChild.before(optionElement);\n } else {\n selectElement.append(optionElement);\n }\n storage.setValue(id, {\n value: getValue(true),\n items: getItems(event)\n });\n selectedValues = getValue(false);\n },\n items(event) {\n const {\n items\n } = event.detail;\n while (selectElement.length !== 0) {\n selectElement.remove(0);\n }\n for (const item of items) {\n const {\n displayValue,\n exportValue\n } = item;\n const optionElement = document.createElement(\"option\");\n optionElement.textContent = displayValue;\n optionElement.value = exportValue;\n selectElement.append(optionElement);\n }\n if (selectElement.options.length > 0) {\n selectElement.options[0].selected = true;\n }\n storage.setValue(id, {\n value: getValue(true),\n items: getItems(event)\n });\n selectedValues = getValue(false);\n },\n indices(event) {\n const indices = new Set(event.detail.indices);\n for (const option of event.target.options) {\n option.selected = indices.has(option.index);\n }\n storage.setValue(id, {\n value: getValue(true)\n });\n selectedValues = getValue(false);\n },\n editable(event) {\n event.target.disabled = !event.detail.editable;\n }\n };\n this._dispatchEventFromSandbox(actions, jsEvent);\n });\n selectElement.addEventListener(\"input\", event => {\n const exportValue = getValue(true);\n storage.setValue(id, {\n value: exportValue\n });\n event.preventDefault();\n this.linkService.eventBus?.dispatch(\"dispatcheventinsandbox\", {\n source: this,\n detail: {\n id,\n name: \"Keystroke\",\n value: selectedValues,\n changeEx: exportValue,\n willCommit: false,\n commitKey: 1,\n keyDown: false\n }\n });\n });\n this._setEventListeners(selectElement, [[\"focus\", \"Focus\"], [\"blur\", \"Blur\"], [\"mousedown\", \"Mouse Down\"], [\"mouseenter\", \"Mouse Enter\"], [\"mouseleave\", \"Mouse Exit\"], [\"mouseup\", \"Mouse Up\"], [\"input\", \"Action\"], [\"input\", \"Validate\"]], event => event.target.value);\n } else {\n selectElement.addEventListener(\"input\", function (event) {\n storage.setValue(id, {\n value: getValue(true)\n });\n });\n }\n if (this.data.combo) {\n this._setTextStyle(selectElement);\n } else {}\n this._setBackgroundColor(selectElement);\n this._setDefaultPropertiesFromJS(selectElement);\n this.container.append(selectElement);\n return this.container;\n }\n}\nclass PopupAnnotationElement extends AnnotationElement {\n static IGNORE_TYPES = new Set([\"Line\", \"Square\", \"Circle\", \"PolyLine\", \"Polygon\", \"Ink\"]);\n constructor(parameters) {\n const {\n data\n } = parameters;\n const isRenderable = !PopupAnnotationElement.IGNORE_TYPES.has(data.parentType) && !!(data.titleObj?.str || data.contentsObj?.str || data.richText?.str);\n super(parameters, {\n isRenderable\n });\n }\n render() {\n this.container.classList.add(\"popupAnnotation\");\n const parentElements = this.layer.querySelectorAll(`[data-annotation-id=\"${this.data.parentId}\"]`);\n if (parentElements.length === 0) {\n return this.container;\n }\n const popup = new PopupElement({\n container: this.container,\n trigger: Array.from(parentElements),\n color: this.data.color,\n titleObj: this.data.titleObj,\n modificationDate: this.data.modificationDate,\n contentsObj: this.data.contentsObj,\n richText: this.data.richText\n });\n const page = this.page;\n const rect = _util.Util.normalizeRect([this.data.parentRect[0], page.view[3] - this.data.parentRect[1] + page.view[1], this.data.parentRect[2], page.view[3] - this.data.parentRect[3] + page.view[1]]);\n const popupLeft = rect[0] + this.data.parentRect[2] - this.data.parentRect[0];\n const popupTop = rect[1];\n const {\n pageWidth,\n pageHeight,\n pageX,\n pageY\n } = this.viewport.rawDims;\n this.container.style.left = `${100 * (popupLeft - pageX) / pageWidth}%`;\n this.container.style.top = `${100 * (popupTop - pageY) / pageHeight}%`;\n this.container.append(popup.render());\n return this.container;\n }\n}\nclass PopupElement {\n constructor(parameters) {\n this.container = parameters.container;\n this.trigger = parameters.trigger;\n this.color = parameters.color;\n this.titleObj = parameters.titleObj;\n this.modificationDate = parameters.modificationDate;\n this.contentsObj = parameters.contentsObj;\n this.richText = parameters.richText;\n this.hideWrapper = parameters.hideWrapper || false;\n this.pinned = false;\n }\n render() {\n const BACKGROUND_ENLIGHT = 0.7;\n const wrapper = document.createElement(\"div\");\n wrapper.classList.add(\"popupWrapper\");\n this.hideElement = this.hideWrapper ? wrapper : this.container;\n this.hideElement.hidden = true;\n const popup = document.createElement(\"div\");\n popup.classList.add(\"popup\");\n const color = this.color;\n if (color) {\n const r = BACKGROUND_ENLIGHT * (255 - color[0]) + color[0];\n const g = BACKGROUND_ENLIGHT * (255 - color[1]) + color[1];\n const b = BACKGROUND_ENLIGHT * (255 - color[2]) + color[2];\n popup.style.backgroundColor = _util.Util.makeHexColor(r | 0, g | 0, b | 0);\n }\n const title = document.createElement(\"h1\");\n title.dir = this.titleObj.dir;\n title.textContent = this.titleObj.str;\n popup.append(title);\n const dateObject = _display_utils.PDFDateString.toDateObject(this.modificationDate);\n if (dateObject) {\n const modificationDate = document.createElement(\"span\");\n modificationDate.classList.add(\"popupDate\");\n modificationDate.textContent = \"{{date}}, {{time}}\";\n modificationDate.dataset.l10nId = \"annotation_date_string\";\n modificationDate.dataset.l10nArgs = JSON.stringify({\n date: dateObject.toLocaleDateString(),\n time: dateObject.toLocaleTimeString()\n });\n popup.append(modificationDate);\n }\n if (this.richText?.str && (!this.contentsObj?.str || this.contentsObj.str === this.richText.str)) {\n _xfa_layer.XfaLayer.render({\n xfaHtml: this.richText.html,\n intent: \"richText\",\n div: popup\n });\n popup.lastChild.classList.add(\"richText\", \"popupContent\");\n } else {\n const contents = this._formatContents(this.contentsObj);\n popup.append(contents);\n }\n if (!Array.isArray(this.trigger)) {\n this.trigger = [this.trigger];\n }\n for (const element of this.trigger) {\n element.addEventListener(\"click\", this._toggle.bind(this));\n element.addEventListener(\"mouseover\", this._show.bind(this, false));\n element.addEventListener(\"mouseout\", this._hide.bind(this, false));\n }\n popup.addEventListener(\"click\", this._hide.bind(this, true));\n wrapper.append(popup);\n return wrapper;\n }\n _formatContents({\n str,\n dir\n }) {\n const p = document.createElement(\"p\");\n p.classList.add(\"popupContent\");\n p.dir = dir;\n const lines = str.split(/(?:\\r\\n?|\\n)/);\n for (let i = 0, ii = lines.length; i < ii; ++i) {\n const line = lines[i];\n p.append(document.createTextNode(line));\n if (i < ii - 1) {\n p.append(document.createElement(\"br\"));\n }\n }\n return p;\n }\n _toggle() {\n if (this.pinned) {\n this._hide(true);\n } else {\n this._show(true);\n }\n }\n _show(pin = false) {\n if (pin) {\n this.pinned = true;\n }\n if (this.hideElement.hidden) {\n this.hideElement.hidden = false;\n this.container.style.zIndex = parseInt(this.container.style.zIndex) + 1000;\n }\n }\n _hide(unpin = true) {\n if (unpin) {\n this.pinned = false;\n }\n if (!this.hideElement.hidden && !this.pinned) {\n this.hideElement.hidden = true;\n this.container.style.zIndex = parseInt(this.container.style.zIndex) - 1000;\n }\n }\n}\nclass FreeTextAnnotationElement extends AnnotationElement {\n constructor(parameters) {\n const isRenderable = !!(parameters.data.hasPopup || parameters.data.titleObj?.str || parameters.data.contentsObj?.str || parameters.data.richText?.str);\n super(parameters, {\n isRenderable,\n ignoreBorder: true\n });\n this.textContent = parameters.data.textContent;\n }\n render() {\n this.container.classList.add(\"freeTextAnnotation\");\n if (this.textContent) {\n const content = document.createElement(\"div\");\n content.classList.add(\"annotationTextContent\");\n content.setAttribute(\"role\", \"comment\");\n for (const line of this.textContent) {\n const lineSpan = document.createElement(\"span\");\n lineSpan.textContent = line;\n content.append(lineSpan);\n }\n this.container.append(content);\n }\n if (!this.data.hasPopup) {\n this._createPopup(null, this.data);\n }\n return this.container;\n }\n}\nclass LineAnnotationElement extends AnnotationElement {\n constructor(parameters) {\n const isRenderable = !!(parameters.data.hasPopup || parameters.data.titleObj?.str || parameters.data.contentsObj?.str || parameters.data.richText?.str);\n super(parameters, {\n isRenderable,\n ignoreBorder: true\n });\n }\n render() {\n this.container.classList.add(\"lineAnnotation\");\n const data = this.data;\n const {\n width,\n height\n } = getRectDims(data.rect);\n const svg = this.svgFactory.create(width, height, true);\n const line = this.svgFactory.createElement(\"svg:line\");\n line.setAttribute(\"x1\", data.rect[2] - data.lineCoordinates[0]);\n line.setAttribute(\"y1\", data.rect[3] - data.lineCoordinates[1]);\n line.setAttribute(\"x2\", data.rect[2] - data.lineCoordinates[2]);\n line.setAttribute(\"y2\", data.rect[3] - data.lineCoordinates[3]);\n line.setAttribute(\"stroke-width\", data.borderStyle.width || 1);\n line.setAttribute(\"stroke\", \"transparent\");\n line.setAttribute(\"fill\", \"transparent\");\n svg.append(line);\n this.container.append(svg);\n this._createPopup(line, data);\n return this.container;\n }\n}\nclass SquareAnnotationElement extends AnnotationElement {\n constructor(parameters) {\n const isRenderable = !!(parameters.data.hasPopup || parameters.data.titleObj?.str || parameters.data.contentsObj?.str || parameters.data.richText?.str);\n super(parameters, {\n isRenderable,\n ignoreBorder: true\n });\n }\n render() {\n this.container.classList.add(\"squareAnnotation\");\n const data = this.data;\n const {\n width,\n height\n } = getRectDims(data.rect);\n const svg = this.svgFactory.create(width, height, true);\n const borderWidth = data.borderStyle.width;\n const square = this.svgFactory.createElement(\"svg:rect\");\n square.setAttribute(\"x\", borderWidth / 2);\n square.setAttribute(\"y\", borderWidth / 2);\n square.setAttribute(\"width\", width - borderWidth);\n square.setAttribute(\"height\", height - borderWidth);\n square.setAttribute(\"stroke-width\", borderWidth || 1);\n square.setAttribute(\"stroke\", \"transparent\");\n square.setAttribute(\"fill\", \"transparent\");\n svg.append(square);\n this.container.append(svg);\n this._createPopup(square, data);\n return this.container;\n }\n}\nclass CircleAnnotationElement extends AnnotationElement {\n constructor(parameters) {\n const isRenderable = !!(parameters.data.hasPopup || parameters.data.titleObj?.str || parameters.data.contentsObj?.str || parameters.data.richText?.str);\n super(parameters, {\n isRenderable,\n ignoreBorder: true\n });\n }\n render() {\n this.container.classList.add(\"circleAnnotation\");\n const data = this.data;\n const {\n width,\n height\n } = getRectDims(data.rect);\n const svg = this.svgFactory.create(width, height, true);\n const borderWidth = data.borderStyle.width;\n const circle = this.svgFactory.createElement(\"svg:ellipse\");\n circle.setAttribute(\"cx\", width / 2);\n circle.setAttribute(\"cy\", height / 2);\n circle.setAttribute(\"rx\", width / 2 - borderWidth / 2);\n circle.setAttribute(\"ry\", height / 2 - borderWidth / 2);\n circle.setAttribute(\"stroke-width\", borderWidth || 1);\n circle.setAttribute(\"stroke\", \"transparent\");\n circle.setAttribute(\"fill\", \"transparent\");\n svg.append(circle);\n this.container.append(svg);\n this._createPopup(circle, data);\n return this.container;\n }\n}\nclass PolylineAnnotationElement extends AnnotationElement {\n constructor(parameters) {\n const isRenderable = !!(parameters.data.hasPopup || parameters.data.titleObj?.str || parameters.data.contentsObj?.str || parameters.data.richText?.str);\n super(parameters, {\n isRenderable,\n ignoreBorder: true\n });\n this.containerClassName = \"polylineAnnotation\";\n this.svgElementName = \"svg:polyline\";\n }\n render() {\n this.container.classList.add(this.containerClassName);\n const data = this.data;\n const {\n width,\n height\n } = getRectDims(data.rect);\n const svg = this.svgFactory.create(width, height, true);\n let points = [];\n for (const coordinate of data.vertices) {\n const x = coordinate.x - data.rect[0];\n const y = data.rect[3] - coordinate.y;\n points.push(x + \",\" + y);\n }\n points = points.join(\" \");\n const polyline = this.svgFactory.createElement(this.svgElementName);\n polyline.setAttribute(\"points\", points);\n polyline.setAttribute(\"stroke-width\", data.borderStyle.width || 1);\n polyline.setAttribute(\"stroke\", \"transparent\");\n polyline.setAttribute(\"fill\", \"transparent\");\n svg.append(polyline);\n this.container.append(svg);\n this._createPopup(polyline, data);\n return this.container;\n }\n}\nclass PolygonAnnotationElement extends PolylineAnnotationElement {\n constructor(parameters) {\n super(parameters);\n this.containerClassName = \"polygonAnnotation\";\n this.svgElementName = \"svg:polygon\";\n }\n}\nclass CaretAnnotationElement extends AnnotationElement {\n constructor(parameters) {\n const isRenderable = !!(parameters.data.hasPopup || parameters.data.titleObj?.str || parameters.data.contentsObj?.str || parameters.data.richText?.str);\n super(parameters, {\n isRenderable,\n ignoreBorder: true\n });\n }\n render() {\n this.container.classList.add(\"caretAnnotation\");\n if (!this.data.hasPopup) {\n this._createPopup(null, this.data);\n }\n return this.container;\n }\n}\nclass InkAnnotationElement extends AnnotationElement {\n constructor(parameters) {\n const isRenderable = !!(parameters.data.hasPopup || parameters.data.titleObj?.str || parameters.data.contentsObj?.str || parameters.data.richText?.str);\n super(parameters, {\n isRenderable,\n ignoreBorder: true\n });\n this.containerClassName = \"inkAnnotation\";\n this.svgElementName = \"svg:polyline\";\n }\n render() {\n this.container.classList.add(this.containerClassName);\n const data = this.data;\n const {\n width,\n height\n } = getRectDims(data.rect);\n const svg = this.svgFactory.create(width, height, true);\n for (const inkList of data.inkLists) {\n let points = [];\n for (const coordinate of inkList) {\n const x = coordinate.x - data.rect[0];\n const y = data.rect[3] - coordinate.y;\n points.push(`${x},${y}`);\n }\n points = points.join(\" \");\n const polyline = this.svgFactory.createElement(this.svgElementName);\n polyline.setAttribute(\"points\", points);\n polyline.setAttribute(\"stroke-width\", data.borderStyle.width || 1);\n polyline.setAttribute(\"stroke\", \"transparent\");\n polyline.setAttribute(\"fill\", \"transparent\");\n this._createPopup(polyline, data);\n svg.append(polyline);\n }\n this.container.append(svg);\n return this.container;\n }\n}\nclass HighlightAnnotationElement extends AnnotationElement {\n constructor(parameters) {\n const isRenderable = !!(parameters.data.hasPopup || parameters.data.titleObj?.str || parameters.data.contentsObj?.str || parameters.data.richText?.str);\n super(parameters, {\n isRenderable,\n ignoreBorder: true,\n createQuadrilaterals: true\n });\n }\n render() {\n if (!this.data.hasPopup) {\n this._createPopup(null, this.data);\n }\n if (this.quadrilaterals) {\n return this._renderQuadrilaterals(\"highlightAnnotation\");\n }\n this.container.classList.add(\"highlightAnnotation\");\n return this.container;\n }\n}\nclass UnderlineAnnotationElement extends AnnotationElement {\n constructor(parameters) {\n const isRenderable = !!(parameters.data.hasPopup || parameters.data.titleObj?.str || parameters.data.contentsObj?.str || parameters.data.richText?.str);\n super(parameters, {\n isRenderable,\n ignoreBorder: true,\n createQuadrilaterals: true\n });\n }\n render() {\n if (!this.data.hasPopup) {\n this._createPopup(null, this.data);\n }\n if (this.quadrilaterals) {\n return this._renderQuadrilaterals(\"underlineAnnotation\");\n }\n this.container.classList.add(\"underlineAnnotation\");\n return this.container;\n }\n}\nclass SquigglyAnnotationElement extends AnnotationElement {\n constructor(parameters) {\n const isRenderable = !!(parameters.data.hasPopup || parameters.data.titleObj?.str || parameters.data.contentsObj?.str || parameters.data.richText?.str);\n super(parameters, {\n isRenderable,\n ignoreBorder: true,\n createQuadrilaterals: true\n });\n }\n render() {\n if (!this.data.hasPopup) {\n this._createPopup(null, this.data);\n }\n if (this.quadrilaterals) {\n return this._renderQuadrilaterals(\"squigglyAnnotation\");\n }\n this.container.classList.add(\"squigglyAnnotation\");\n return this.container;\n }\n}\nclass StrikeOutAnnotationElement extends AnnotationElement {\n constructor(parameters) {\n const isRenderable = !!(parameters.data.hasPopup || parameters.data.titleObj?.str || parameters.data.contentsObj?.str || parameters.data.richText?.str);\n super(parameters, {\n isRenderable,\n ignoreBorder: true,\n createQuadrilaterals: true\n });\n }\n render() {\n if (!this.data.hasPopup) {\n this._createPopup(null, this.data);\n }\n if (this.quadrilaterals) {\n return this._renderQuadrilaterals(\"strikeoutAnnotation\");\n }\n this.container.classList.add(\"strikeoutAnnotation\");\n return this.container;\n }\n}\nclass StampAnnotationElement extends AnnotationElement {\n constructor(parameters) {\n const isRenderable = !!(parameters.data.hasPopup || parameters.data.titleObj?.str || parameters.data.contentsObj?.str || parameters.data.richText?.str);\n super(parameters, {\n isRenderable,\n ignoreBorder: true\n });\n }\n render() {\n this.container.classList.add(\"stampAnnotation\");\n if (!this.data.hasPopup) {\n this._createPopup(null, this.data);\n }\n return this.container;\n }\n}\nclass FileAttachmentAnnotationElement extends AnnotationElement {\n constructor(parameters) {\n super(parameters, {\n isRenderable: true\n });\n const {\n filename,\n content\n } = this.data.file;\n this.filename = (0, _display_utils.getFilenameFromUrl)(filename, true);\n this.content = content;\n this.linkService.eventBus?.dispatch(\"fileattachmentannotation\", {\n source: this,\n filename,\n content\n });\n }\n render() {\n this.container.classList.add(\"fileAttachmentAnnotation\");\n let trigger;\n if (this.data.hasAppearance) {\n trigger = document.createElement(\"div\");\n } else {\n trigger = document.createElement(\"img\");\n trigger.src = `${this.imageResourcesPath}annotation-${/paperclip/i.test(this.data.name) ? \"paperclip\" : \"pushpin\"}.svg`;\n }\n trigger.classList.add(\"popupTriggerArea\");\n trigger.addEventListener(\"dblclick\", this._download.bind(this));\n if (!this.data.hasPopup && (this.data.titleObj?.str || this.data.contentsObj?.str || this.data.richText)) {\n this._createPopup(trigger, this.data);\n }\n this.container.append(trigger);\n return this.container;\n }\n _download() {\n this.downloadManager?.openOrDownloadData(this.container, this.content, this.filename);\n }\n}\nclass AnnotationLayer {\n static #appendElement(element, id, div, accessibilityManager) {\n const contentElement = element.firstChild || element;\n contentElement.id = `${_display_utils.AnnotationPrefix}${id}`;\n div.append(element);\n accessibilityManager?.moveElementInDOM(div, element, contentElement, false);\n }\n static render(params) {\n const {\n annotations,\n div,\n viewport,\n accessibilityManager\n } = params;\n (0, _display_utils.setLayerDimensions)(div, viewport);\n const elementParams = {\n data: null,\n layer: div,\n page: params.page,\n viewport,\n linkService: params.linkService,\n downloadManager: params.downloadManager,\n imageResourcesPath: params.imageResourcesPath || \"\",\n renderForms: params.renderForms !== false,\n svgFactory: new _display_utils.DOMSVGFactory(),\n annotationStorage: params.annotationStorage || new _annotation_storage.AnnotationStorage(),\n enableScripting: params.enableScripting === true,\n hasJSActions: params.hasJSActions,\n fieldObjects: params.fieldObjects\n };\n let zIndex = 0;\n for (const data of annotations) {\n if (data.noHTML) {\n continue;\n }\n if (data.annotationType !== _util.AnnotationType.POPUP) {\n const {\n width,\n height\n } = getRectDims(data.rect);\n if (width <= 0 || height <= 0) {\n continue;\n }\n }\n elementParams.data = data;\n const element = AnnotationElementFactory.create(elementParams);\n if (!element.isRenderable) {\n continue;\n }\n const rendered = element.render();\n if (data.hidden) {\n rendered.style.visibility = \"hidden\";\n }\n if (Array.isArray(rendered)) {\n for (const renderedElement of rendered) {\n renderedElement.style.zIndex = zIndex++;\n AnnotationLayer.#appendElement(renderedElement, data.id, div, accessibilityManager);\n }\n } else {\n rendered.style.zIndex = zIndex++;\n if (element instanceof PopupAnnotationElement) {\n div.prepend(rendered);\n } else {\n AnnotationLayer.#appendElement(rendered, data.id, div, accessibilityManager);\n }\n }\n }\n this.#setAnnotationCanvasMap(div, params.annotationCanvasMap);\n }\n static update(params) {\n const {\n annotationCanvasMap,\n div,\n viewport\n } = params;\n (0, _display_utils.setLayerDimensions)(div, {\n rotation: viewport.rotation\n });\n this.#setAnnotationCanvasMap(div, annotationCanvasMap);\n div.hidden = false;\n }\n static #setAnnotationCanvasMap(div, annotationCanvasMap) {\n if (!annotationCanvasMap) {\n return;\n }\n for (const [id, canvas] of annotationCanvasMap) {\n const element = div.querySelector(`[data-annotation-id=\"${id}\"]`);\n if (!element) {\n continue;\n }\n const {\n firstChild\n } = element;\n if (!firstChild) {\n element.append(canvas);\n } else if (firstChild.nodeName === \"CANVAS\") {\n firstChild.replaceWith(canvas);\n } else {\n firstChild.before(canvas);\n }\n }\n annotationCanvasMap.clear();\n }\n}\nexports.AnnotationLayer = AnnotationLayer;\n\n/***/ }),\n/* 33 */\n/***/ ((__unused_webpack_module, exports) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.ColorConverters = void 0;\nfunction makeColorComp(n) {\n return Math.floor(Math.max(0, Math.min(1, n)) * 255).toString(16).padStart(2, \"0\");\n}\nclass ColorConverters {\n static CMYK_G([c, y, m, k]) {\n return [\"G\", 1 - Math.min(1, 0.3 * c + 0.59 * m + 0.11 * y + k)];\n }\n static G_CMYK([g]) {\n return [\"CMYK\", 0, 0, 0, 1 - g];\n }\n static G_RGB([g]) {\n return [\"RGB\", g, g, g];\n }\n static G_HTML([g]) {\n const G = makeColorComp(g);\n return `#${G}${G}${G}`;\n }\n static RGB_G([r, g, b]) {\n return [\"G\", 0.3 * r + 0.59 * g + 0.11 * b];\n }\n static RGB_HTML([r, g, b]) {\n const R = makeColorComp(r);\n const G = makeColorComp(g);\n const B = makeColorComp(b);\n return `#${R}${G}${B}`;\n }\n static T_HTML() {\n return \"#00000000\";\n }\n static CMYK_RGB([c, y, m, k]) {\n return [\"RGB\", 1 - Math.min(1, c + k), 1 - Math.min(1, m + k), 1 - Math.min(1, y + k)];\n }\n static CMYK_HTML(components) {\n const rgb = this.CMYK_RGB(components).slice(1);\n return this.RGB_HTML(rgb);\n }\n static RGB_CMYK([r, g, b]) {\n const c = 1 - r;\n const m = 1 - g;\n const y = 1 - b;\n const k = Math.min(c, m, y);\n return [\"CMYK\", c, m, y, k];\n }\n}\nexports.ColorConverters = ColorConverters;\n\n/***/ }),\n/* 34 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.XfaLayer = void 0;\nvar _xfa_text = __w_pdfjs_require__(19);\nclass XfaLayer {\n static setupStorage(html, id, element, storage, intent) {\n const storedData = storage.getValue(id, {\n value: null\n });\n switch (element.name) {\n case \"textarea\":\n if (storedData.value !== null) {\n html.textContent = storedData.value;\n }\n if (intent === \"print\") {\n break;\n }\n html.addEventListener(\"input\", event => {\n storage.setValue(id, {\n value: event.target.value\n });\n });\n break;\n case \"input\":\n if (element.attributes.type === \"radio\" || element.attributes.type === \"checkbox\") {\n if (storedData.value === element.attributes.xfaOn) {\n html.setAttribute(\"checked\", true);\n } else if (storedData.value === element.attributes.xfaOff) {\n html.removeAttribute(\"checked\");\n }\n if (intent === \"print\") {\n break;\n }\n html.addEventListener(\"change\", event => {\n storage.setValue(id, {\n value: event.target.checked ? event.target.getAttribute(\"xfaOn\") : event.target.getAttribute(\"xfaOff\")\n });\n });\n } else {\n if (storedData.value !== null) {\n html.setAttribute(\"value\", storedData.value);\n }\n if (intent === \"print\") {\n break;\n }\n html.addEventListener(\"input\", event => {\n storage.setValue(id, {\n value: event.target.value\n });\n });\n }\n break;\n case \"select\":\n if (storedData.value !== null) {\n for (const option of element.children) {\n if (option.attributes.value === storedData.value) {\n option.attributes.selected = true;\n }\n }\n }\n html.addEventListener(\"input\", event => {\n const options = event.target.options;\n const value = options.selectedIndex === -1 ? \"\" : options[options.selectedIndex].value;\n storage.setValue(id, {\n value\n });\n });\n break;\n }\n }\n static setAttributes({\n html,\n element,\n storage = null,\n intent,\n linkService\n }) {\n const {\n attributes\n } = element;\n const isHTMLAnchorElement = html instanceof HTMLAnchorElement;\n if (attributes.type === \"radio\") {\n attributes.name = `${attributes.name}-${intent}`;\n }\n for (const [key, value] of Object.entries(attributes)) {\n if (value === null || value === undefined) {\n continue;\n }\n switch (key) {\n case \"class\":\n if (value.length) {\n html.setAttribute(key, value.join(\" \"));\n }\n break;\n case \"dataId\":\n break;\n case \"id\":\n html.setAttribute(\"data-element-id\", value);\n break;\n case \"style\":\n Object.assign(html.style, value);\n break;\n case \"textContent\":\n html.textContent = value;\n break;\n default:\n if (!isHTMLAnchorElement || key !== \"href\" && key !== \"newWindow\") {\n html.setAttribute(key, value);\n }\n }\n }\n if (isHTMLAnchorElement) {\n linkService.addLinkAttributes(html, attributes.href, attributes.newWindow);\n }\n if (storage && attributes.dataId) {\n this.setupStorage(html, attributes.dataId, element, storage);\n }\n }\n static render(parameters) {\n const storage = parameters.annotationStorage;\n const linkService = parameters.linkService;\n const root = parameters.xfaHtml;\n const intent = parameters.intent || \"display\";\n const rootHtml = document.createElement(root.name);\n if (root.attributes) {\n this.setAttributes({\n html: rootHtml,\n element: root,\n intent,\n linkService\n });\n }\n const stack = [[root, -1, rootHtml]];\n const rootDiv = parameters.div;\n rootDiv.append(rootHtml);\n if (parameters.viewport) {\n const transform = `matrix(${parameters.viewport.transform.join(\",\")})`;\n rootDiv.style.transform = transform;\n }\n if (intent !== \"richText\") {\n rootDiv.setAttribute(\"class\", \"xfaLayer xfaFont\");\n }\n const textDivs = [];\n while (stack.length > 0) {\n const [parent, i, html] = stack.at(-1);\n if (i + 1 === parent.children.length) {\n stack.pop();\n continue;\n }\n const child = parent.children[++stack.at(-1)[1]];\n if (child === null) {\n continue;\n }\n const {\n name\n } = child;\n if (name === \"#text\") {\n const node = document.createTextNode(child.value);\n textDivs.push(node);\n html.append(node);\n continue;\n }\n let childHtml;\n if (child?.attributes?.xmlns) {\n childHtml = document.createElementNS(child.attributes.xmlns, name);\n } else {\n childHtml = document.createElement(name);\n }\n html.append(childHtml);\n if (child.attributes) {\n this.setAttributes({\n html: childHtml,\n element: child,\n storage,\n intent,\n linkService\n });\n }\n if (child.children && child.children.length > 0) {\n stack.push([child, -1, childHtml]);\n } else if (child.value) {\n const node = document.createTextNode(child.value);\n if (_xfa_text.XfaText.shouldBuildText(name)) {\n textDivs.push(node);\n }\n childHtml.append(node);\n }\n }\n for (const el of rootDiv.querySelectorAll(\".xfaNonInteractive input, .xfaNonInteractive textarea\")) {\n el.setAttribute(\"readOnly\", true);\n }\n return {\n textDivs\n };\n }\n static update(parameters) {\n const transform = `matrix(${parameters.viewport.transform.join(\",\")})`;\n parameters.div.style.transform = transform;\n parameters.div.hidden = false;\n }\n}\nexports.XfaLayer = XfaLayer;\n\n/***/ }),\n/* 35 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.SVGGraphics = void 0;\nvar _display_utils = __w_pdfjs_require__(6);\nvar _util = __w_pdfjs_require__(1);\nvar _is_node = __w_pdfjs_require__(10);\nlet SVGGraphics = class {\n constructor() {\n (0, _util.unreachable)(\"Not implemented: SVGGraphics\");\n }\n};\nexports.SVGGraphics = SVGGraphics;\n{\n const SVG_DEFAULTS = {\n fontStyle: \"normal\",\n fontWeight: \"normal\",\n fillColor: \"#000000\"\n };\n const XML_NS = \"http://www.w3.org/XML/1998/namespace\";\n const XLINK_NS = \"http://www.w3.org/1999/xlink\";\n const LINE_CAP_STYLES = [\"butt\", \"round\", \"square\"];\n const LINE_JOIN_STYLES = [\"miter\", \"round\", \"bevel\"];\n const createObjectURL = function (data, contentType = \"\", forceDataSchema = false) {\n if (URL.createObjectURL && typeof Blob !== \"undefined\" && !forceDataSchema) {\n return URL.createObjectURL(new Blob([data], {\n type: contentType\n }));\n }\n const digits = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\";\n let buffer = `data:${contentType};base64,`;\n for (let i = 0, ii = data.length; i < ii; i += 3) {\n const b1 = data[i] & 0xff;\n const b2 = data[i + 1] & 0xff;\n const b3 = data[i + 2] & 0xff;\n const d1 = b1 >> 2,\n d2 = (b1 & 3) << 4 | b2 >> 4;\n const d3 = i + 1 < ii ? (b2 & 0xf) << 2 | b3 >> 6 : 64;\n const d4 = i + 2 < ii ? b3 & 0x3f : 64;\n buffer += digits[d1] + digits[d2] + digits[d3] + digits[d4];\n }\n return buffer;\n };\n const convertImgDataToPng = function () {\n const PNG_HEADER = new Uint8Array([0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a]);\n const CHUNK_WRAPPER_SIZE = 12;\n const crcTable = new Int32Array(256);\n for (let i = 0; i < 256; i++) {\n let c = i;\n for (let h = 0; h < 8; h++) {\n if (c & 1) {\n c = 0xedb88320 ^ c >> 1 & 0x7fffffff;\n } else {\n c = c >> 1 & 0x7fffffff;\n }\n }\n crcTable[i] = c;\n }\n function crc32(data, start, end) {\n let crc = -1;\n for (let i = start; i < end; i++) {\n const a = (crc ^ data[i]) & 0xff;\n const b = crcTable[a];\n crc = crc >>> 8 ^ b;\n }\n return crc ^ -1;\n }\n function writePngChunk(type, body, data, offset) {\n let p = offset;\n const len = body.length;\n data[p] = len >> 24 & 0xff;\n data[p + 1] = len >> 16 & 0xff;\n data[p + 2] = len >> 8 & 0xff;\n data[p + 3] = len & 0xff;\n p += 4;\n data[p] = type.charCodeAt(0) & 0xff;\n data[p + 1] = type.charCodeAt(1) & 0xff;\n data[p + 2] = type.charCodeAt(2) & 0xff;\n data[p + 3] = type.charCodeAt(3) & 0xff;\n p += 4;\n data.set(body, p);\n p += body.length;\n const crc = crc32(data, offset + 4, p);\n data[p] = crc >> 24 & 0xff;\n data[p + 1] = crc >> 16 & 0xff;\n data[p + 2] = crc >> 8 & 0xff;\n data[p + 3] = crc & 0xff;\n }\n function adler32(data, start, end) {\n let a = 1;\n let b = 0;\n for (let i = start; i < end; ++i) {\n a = (a + (data[i] & 0xff)) % 65521;\n b = (b + a) % 65521;\n }\n return b << 16 | a;\n }\n function deflateSync(literals) {\n if (!_is_node.isNodeJS) {\n return deflateSyncUncompressed(literals);\n }\n try {\n let input;\n if (parseInt(process.versions.node) >= 8) {\n input = literals;\n } else {\n input = Buffer.from(literals);\n }\n const output = require(\"zlib\").deflateSync(input, {\n level: 9\n });\n return output instanceof Uint8Array ? output : new Uint8Array(output);\n } catch (e) {\n (0, _util.warn)(\"Not compressing PNG because zlib.deflateSync is unavailable: \" + e);\n }\n return deflateSyncUncompressed(literals);\n }\n function deflateSyncUncompressed(literals) {\n let len = literals.length;\n const maxBlockLength = 0xffff;\n const deflateBlocks = Math.ceil(len / maxBlockLength);\n const idat = new Uint8Array(2 + len + deflateBlocks * 5 + 4);\n let pi = 0;\n idat[pi++] = 0x78;\n idat[pi++] = 0x9c;\n let pos = 0;\n while (len > maxBlockLength) {\n idat[pi++] = 0x00;\n idat[pi++] = 0xff;\n idat[pi++] = 0xff;\n idat[pi++] = 0x00;\n idat[pi++] = 0x00;\n idat.set(literals.subarray(pos, pos + maxBlockLength), pi);\n pi += maxBlockLength;\n pos += maxBlockLength;\n len -= maxBlockLength;\n }\n idat[pi++] = 0x01;\n idat[pi++] = len & 0xff;\n idat[pi++] = len >> 8 & 0xff;\n idat[pi++] = ~len & 0xffff & 0xff;\n idat[pi++] = (~len & 0xffff) >> 8 & 0xff;\n idat.set(literals.subarray(pos), pi);\n pi += literals.length - pos;\n const adler = adler32(literals, 0, literals.length);\n idat[pi++] = adler >> 24 & 0xff;\n idat[pi++] = adler >> 16 & 0xff;\n idat[pi++] = adler >> 8 & 0xff;\n idat[pi++] = adler & 0xff;\n return idat;\n }\n function encode(imgData, kind, forceDataSchema, isMask) {\n const width = imgData.width;\n const height = imgData.height;\n let bitDepth, colorType, lineSize;\n const bytes = imgData.data;\n switch (kind) {\n case _util.ImageKind.GRAYSCALE_1BPP:\n colorType = 0;\n bitDepth = 1;\n lineSize = width + 7 >> 3;\n break;\n case _util.ImageKind.RGB_24BPP:\n colorType = 2;\n bitDepth = 8;\n lineSize = width * 3;\n break;\n case _util.ImageKind.RGBA_32BPP:\n colorType = 6;\n bitDepth = 8;\n lineSize = width * 4;\n break;\n default:\n throw new Error(\"invalid format\");\n }\n const literals = new Uint8Array((1 + lineSize) * height);\n let offsetLiterals = 0,\n offsetBytes = 0;\n for (let y = 0; y < height; ++y) {\n literals[offsetLiterals++] = 0;\n literals.set(bytes.subarray(offsetBytes, offsetBytes + lineSize), offsetLiterals);\n offsetBytes += lineSize;\n offsetLiterals += lineSize;\n }\n if (kind === _util.ImageKind.GRAYSCALE_1BPP && isMask) {\n offsetLiterals = 0;\n for (let y = 0; y < height; y++) {\n offsetLiterals++;\n for (let i = 0; i < lineSize; i++) {\n literals[offsetLiterals++] ^= 0xff;\n }\n }\n }\n const ihdr = new Uint8Array([width >> 24 & 0xff, width >> 16 & 0xff, width >> 8 & 0xff, width & 0xff, height >> 24 & 0xff, height >> 16 & 0xff, height >> 8 & 0xff, height & 0xff, bitDepth, colorType, 0x00, 0x00, 0x00]);\n const idat = deflateSync(literals);\n const pngLength = PNG_HEADER.length + CHUNK_WRAPPER_SIZE * 3 + ihdr.length + idat.length;\n const data = new Uint8Array(pngLength);\n let offset = 0;\n data.set(PNG_HEADER, offset);\n offset += PNG_HEADER.length;\n writePngChunk(\"IHDR\", ihdr, data, offset);\n offset += CHUNK_WRAPPER_SIZE + ihdr.length;\n writePngChunk(\"IDATA\", idat, data, offset);\n offset += CHUNK_WRAPPER_SIZE + idat.length;\n writePngChunk(\"IEND\", new Uint8Array(0), data, offset);\n return createObjectURL(data, \"image/png\", forceDataSchema);\n }\n return function convertImgDataToPng(imgData, forceDataSchema, isMask) {\n const kind = imgData.kind === undefined ? _util.ImageKind.GRAYSCALE_1BPP : imgData.kind;\n return encode(imgData, kind, forceDataSchema, isMask);\n };\n }();\n class SVGExtraState {\n constructor() {\n this.fontSizeScale = 1;\n this.fontWeight = SVG_DEFAULTS.fontWeight;\n this.fontSize = 0;\n this.textMatrix = _util.IDENTITY_MATRIX;\n this.fontMatrix = _util.FONT_IDENTITY_MATRIX;\n this.leading = 0;\n this.textRenderingMode = _util.TextRenderingMode.FILL;\n this.textMatrixScale = 1;\n this.x = 0;\n this.y = 0;\n this.lineX = 0;\n this.lineY = 0;\n this.charSpacing = 0;\n this.wordSpacing = 0;\n this.textHScale = 1;\n this.textRise = 0;\n this.fillColor = SVG_DEFAULTS.fillColor;\n this.strokeColor = \"#000000\";\n this.fillAlpha = 1;\n this.strokeAlpha = 1;\n this.lineWidth = 1;\n this.lineJoin = \"\";\n this.lineCap = \"\";\n this.miterLimit = 0;\n this.dashArray = [];\n this.dashPhase = 0;\n this.dependencies = [];\n this.activeClipUrl = null;\n this.clipGroup = null;\n this.maskId = \"\";\n }\n clone() {\n return Object.create(this);\n }\n setCurrentPoint(x, y) {\n this.x = x;\n this.y = y;\n }\n }\n function opListToTree(opList) {\n let opTree = [];\n const tmp = [];\n for (const opListElement of opList) {\n if (opListElement.fn === \"save\") {\n opTree.push({\n fnId: 92,\n fn: \"group\",\n items: []\n });\n tmp.push(opTree);\n opTree = opTree.at(-1).items;\n continue;\n }\n if (opListElement.fn === \"restore\") {\n opTree = tmp.pop();\n } else {\n opTree.push(opListElement);\n }\n }\n return opTree;\n }\n function pf(value) {\n if (Number.isInteger(value)) {\n return value.toString();\n }\n const s = value.toFixed(10);\n let i = s.length - 1;\n if (s[i] !== \"0\") {\n return s;\n }\n do {\n i--;\n } while (s[i] === \"0\");\n return s.substring(0, s[i] === \".\" ? i : i + 1);\n }\n function pm(m) {\n if (m[4] === 0 && m[5] === 0) {\n if (m[1] === 0 && m[2] === 0) {\n if (m[0] === 1 && m[3] === 1) {\n return \"\";\n }\n return `scale(${pf(m[0])} ${pf(m[3])})`;\n }\n if (m[0] === m[3] && m[1] === -m[2]) {\n const a = Math.acos(m[0]) * 180 / Math.PI;\n return `rotate(${pf(a)})`;\n }\n } else {\n if (m[0] === 1 && m[1] === 0 && m[2] === 0 && m[3] === 1) {\n return `translate(${pf(m[4])} ${pf(m[5])})`;\n }\n }\n return `matrix(${pf(m[0])} ${pf(m[1])} ${pf(m[2])} ${pf(m[3])} ${pf(m[4])} ` + `${pf(m[5])})`;\n }\n let clipCount = 0;\n let maskCount = 0;\n let shadingCount = 0;\n exports.SVGGraphics = SVGGraphics = class {\n constructor(commonObjs, objs, forceDataSchema = false) {\n (0, _display_utils.deprecated)(\"The SVG back-end is no longer maintained and *may* be removed in the future.\");\n this.svgFactory = new _display_utils.DOMSVGFactory();\n this.current = new SVGExtraState();\n this.transformMatrix = _util.IDENTITY_MATRIX;\n this.transformStack = [];\n this.extraStack = [];\n this.commonObjs = commonObjs;\n this.objs = objs;\n this.pendingClip = null;\n this.pendingEOFill = false;\n this.embedFonts = false;\n this.embeddedFonts = Object.create(null);\n this.cssStyle = null;\n this.forceDataSchema = !!forceDataSchema;\n this._operatorIdMapping = [];\n for (const op in _util.OPS) {\n this._operatorIdMapping[_util.OPS[op]] = op;\n }\n }\n getObject(data, fallback = null) {\n if (typeof data === \"string\") {\n return data.startsWith(\"g_\") ? this.commonObjs.get(data) : this.objs.get(data);\n }\n return fallback;\n }\n save() {\n this.transformStack.push(this.transformMatrix);\n const old = this.current;\n this.extraStack.push(old);\n this.current = old.clone();\n }\n restore() {\n this.transformMatrix = this.transformStack.pop();\n this.current = this.extraStack.pop();\n this.pendingClip = null;\n this.tgrp = null;\n }\n group(items) {\n this.save();\n this.executeOpTree(items);\n this.restore();\n }\n loadDependencies(operatorList) {\n const fnArray = operatorList.fnArray;\n const argsArray = operatorList.argsArray;\n for (let i = 0, ii = fnArray.length; i < ii; i++) {\n if (fnArray[i] !== _util.OPS.dependency) {\n continue;\n }\n for (const obj of argsArray[i]) {\n const objsPool = obj.startsWith(\"g_\") ? this.commonObjs : this.objs;\n const promise = new Promise(resolve => {\n objsPool.get(obj, resolve);\n });\n this.current.dependencies.push(promise);\n }\n }\n return Promise.all(this.current.dependencies);\n }\n transform(a, b, c, d, e, f) {\n const transformMatrix = [a, b, c, d, e, f];\n this.transformMatrix = _util.Util.transform(this.transformMatrix, transformMatrix);\n this.tgrp = null;\n }\n getSVG(operatorList, viewport) {\n this.viewport = viewport;\n const svgElement = this._initialize(viewport);\n return this.loadDependencies(operatorList).then(() => {\n this.transformMatrix = _util.IDENTITY_MATRIX;\n this.executeOpTree(this.convertOpList(operatorList));\n return svgElement;\n });\n }\n convertOpList(operatorList) {\n const operatorIdMapping = this._operatorIdMapping;\n const argsArray = operatorList.argsArray;\n const fnArray = operatorList.fnArray;\n const opList = [];\n for (let i = 0, ii = fnArray.length; i < ii; i++) {\n const fnId = fnArray[i];\n opList.push({\n fnId,\n fn: operatorIdMapping[fnId],\n args: argsArray[i]\n });\n }\n return opListToTree(opList);\n }\n executeOpTree(opTree) {\n for (const opTreeElement of opTree) {\n const fn = opTreeElement.fn;\n const fnId = opTreeElement.fnId;\n const args = opTreeElement.args;\n switch (fnId | 0) {\n case _util.OPS.beginText:\n this.beginText();\n break;\n case _util.OPS.dependency:\n break;\n case _util.OPS.setLeading:\n this.setLeading(args);\n break;\n case _util.OPS.setLeadingMoveText:\n this.setLeadingMoveText(args[0], args[1]);\n break;\n case _util.OPS.setFont:\n this.setFont(args);\n break;\n case _util.OPS.showText:\n this.showText(args[0]);\n break;\n case _util.OPS.showSpacedText:\n this.showText(args[0]);\n break;\n case _util.OPS.endText:\n this.endText();\n break;\n case _util.OPS.moveText:\n this.moveText(args[0], args[1]);\n break;\n case _util.OPS.setCharSpacing:\n this.setCharSpacing(args[0]);\n break;\n case _util.OPS.setWordSpacing:\n this.setWordSpacing(args[0]);\n break;\n case _util.OPS.setHScale:\n this.setHScale(args[0]);\n break;\n case _util.OPS.setTextMatrix:\n this.setTextMatrix(args[0], args[1], args[2], args[3], args[4], args[5]);\n break;\n case _util.OPS.setTextRise:\n this.setTextRise(args[0]);\n break;\n case _util.OPS.setTextRenderingMode:\n this.setTextRenderingMode(args[0]);\n break;\n case _util.OPS.setLineWidth:\n this.setLineWidth(args[0]);\n break;\n case _util.OPS.setLineJoin:\n this.setLineJoin(args[0]);\n break;\n case _util.OPS.setLineCap:\n this.setLineCap(args[0]);\n break;\n case _util.OPS.setMiterLimit:\n this.setMiterLimit(args[0]);\n break;\n case _util.OPS.setFillRGBColor:\n this.setFillRGBColor(args[0], args[1], args[2]);\n break;\n case _util.OPS.setStrokeRGBColor:\n this.setStrokeRGBColor(args[0], args[1], args[2]);\n break;\n case _util.OPS.setStrokeColorN:\n this.setStrokeColorN(args);\n break;\n case _util.OPS.setFillColorN:\n this.setFillColorN(args);\n break;\n case _util.OPS.shadingFill:\n this.shadingFill(args[0]);\n break;\n case _util.OPS.setDash:\n this.setDash(args[0], args[1]);\n break;\n case _util.OPS.setRenderingIntent:\n this.setRenderingIntent(args[0]);\n break;\n case _util.OPS.setFlatness:\n this.setFlatness(args[0]);\n break;\n case _util.OPS.setGState:\n this.setGState(args[0]);\n break;\n case _util.OPS.fill:\n this.fill();\n break;\n case _util.OPS.eoFill:\n this.eoFill();\n break;\n case _util.OPS.stroke:\n this.stroke();\n break;\n case _util.OPS.fillStroke:\n this.fillStroke();\n break;\n case _util.OPS.eoFillStroke:\n this.eoFillStroke();\n break;\n case _util.OPS.clip:\n this.clip(\"nonzero\");\n break;\n case _util.OPS.eoClip:\n this.clip(\"evenodd\");\n break;\n case _util.OPS.paintSolidColorImageMask:\n this.paintSolidColorImageMask();\n break;\n case _util.OPS.paintImageXObject:\n this.paintImageXObject(args[0]);\n break;\n case _util.OPS.paintInlineImageXObject:\n this.paintInlineImageXObject(args[0]);\n break;\n case _util.OPS.paintImageMaskXObject:\n this.paintImageMaskXObject(args[0]);\n break;\n case _util.OPS.paintFormXObjectBegin:\n this.paintFormXObjectBegin(args[0], args[1]);\n break;\n case _util.OPS.paintFormXObjectEnd:\n this.paintFormXObjectEnd();\n break;\n case _util.OPS.closePath:\n this.closePath();\n break;\n case _util.OPS.closeStroke:\n this.closeStroke();\n break;\n case _util.OPS.closeFillStroke:\n this.closeFillStroke();\n break;\n case _util.OPS.closeEOFillStroke:\n this.closeEOFillStroke();\n break;\n case _util.OPS.nextLine:\n this.nextLine();\n break;\n case _util.OPS.transform:\n this.transform(args[0], args[1], args[2], args[3], args[4], args[5]);\n break;\n case _util.OPS.constructPath:\n this.constructPath(args[0], args[1]);\n break;\n case _util.OPS.endPath:\n this.endPath();\n break;\n case 92:\n this.group(opTreeElement.items);\n break;\n default:\n (0, _util.warn)(`Unimplemented operator ${fn}`);\n break;\n }\n }\n }\n setWordSpacing(wordSpacing) {\n this.current.wordSpacing = wordSpacing;\n }\n setCharSpacing(charSpacing) {\n this.current.charSpacing = charSpacing;\n }\n nextLine() {\n this.moveText(0, this.current.leading);\n }\n setTextMatrix(a, b, c, d, e, f) {\n const current = this.current;\n current.textMatrix = current.lineMatrix = [a, b, c, d, e, f];\n current.textMatrixScale = Math.hypot(a, b);\n current.x = current.lineX = 0;\n current.y = current.lineY = 0;\n current.xcoords = [];\n current.ycoords = [];\n current.tspan = this.svgFactory.createElement(\"svg:tspan\");\n current.tspan.setAttributeNS(null, \"font-family\", current.fontFamily);\n current.tspan.setAttributeNS(null, \"font-size\", `${pf(current.fontSize)}px`);\n current.tspan.setAttributeNS(null, \"y\", pf(-current.y));\n current.txtElement = this.svgFactory.createElement(\"svg:text\");\n current.txtElement.append(current.tspan);\n }\n beginText() {\n const current = this.current;\n current.x = current.lineX = 0;\n current.y = current.lineY = 0;\n current.textMatrix = _util.IDENTITY_MATRIX;\n current.lineMatrix = _util.IDENTITY_MATRIX;\n current.textMatrixScale = 1;\n current.tspan = this.svgFactory.createElement(\"svg:tspan\");\n current.txtElement = this.svgFactory.createElement(\"svg:text\");\n current.txtgrp = this.svgFactory.createElement(\"svg:g\");\n current.xcoords = [];\n current.ycoords = [];\n }\n moveText(x, y) {\n const current = this.current;\n current.x = current.lineX += x;\n current.y = current.lineY += y;\n current.xcoords = [];\n current.ycoords = [];\n current.tspan = this.svgFactory.createElement(\"svg:tspan\");\n current.tspan.setAttributeNS(null, \"font-family\", current.fontFamily);\n current.tspan.setAttributeNS(null, \"font-size\", `${pf(current.fontSize)}px`);\n current.tspan.setAttributeNS(null, \"y\", pf(-current.y));\n }\n showText(glyphs) {\n const current = this.current;\n const font = current.font;\n const fontSize = current.fontSize;\n if (fontSize === 0) {\n return;\n }\n const fontSizeScale = current.fontSizeScale;\n const charSpacing = current.charSpacing;\n const wordSpacing = current.wordSpacing;\n const fontDirection = current.fontDirection;\n const textHScale = current.textHScale * fontDirection;\n const vertical = font.vertical;\n const spacingDir = vertical ? 1 : -1;\n const defaultVMetrics = font.defaultVMetrics;\n const widthAdvanceScale = fontSize * current.fontMatrix[0];\n let x = 0;\n for (const glyph of glyphs) {\n if (glyph === null) {\n x += fontDirection * wordSpacing;\n continue;\n } else if (typeof glyph === \"number\") {\n x += spacingDir * glyph * fontSize / 1000;\n continue;\n }\n const spacing = (glyph.isSpace ? wordSpacing : 0) + charSpacing;\n const character = glyph.fontChar;\n let scaledX, scaledY;\n let width = glyph.width;\n if (vertical) {\n let vx;\n const vmetric = glyph.vmetric || defaultVMetrics;\n vx = glyph.vmetric ? vmetric[1] : width * 0.5;\n vx = -vx * widthAdvanceScale;\n const vy = vmetric[2] * widthAdvanceScale;\n width = vmetric ? -vmetric[0] : width;\n scaledX = vx / fontSizeScale;\n scaledY = (x + vy) / fontSizeScale;\n } else {\n scaledX = x / fontSizeScale;\n scaledY = 0;\n }\n if (glyph.isInFont || font.missingFile) {\n current.xcoords.push(current.x + scaledX);\n if (vertical) {\n current.ycoords.push(-current.y + scaledY);\n }\n current.tspan.textContent += character;\n } else {}\n let charWidth;\n if (vertical) {\n charWidth = width * widthAdvanceScale - spacing * fontDirection;\n } else {\n charWidth = width * widthAdvanceScale + spacing * fontDirection;\n }\n x += charWidth;\n }\n current.tspan.setAttributeNS(null, \"x\", current.xcoords.map(pf).join(\" \"));\n if (vertical) {\n current.tspan.setAttributeNS(null, \"y\", current.ycoords.map(pf).join(\" \"));\n } else {\n current.tspan.setAttributeNS(null, \"y\", pf(-current.y));\n }\n if (vertical) {\n current.y -= x;\n } else {\n current.x += x * textHScale;\n }\n current.tspan.setAttributeNS(null, \"font-family\", current.fontFamily);\n current.tspan.setAttributeNS(null, \"font-size\", `${pf(current.fontSize)}px`);\n if (current.fontStyle !== SVG_DEFAULTS.fontStyle) {\n current.tspan.setAttributeNS(null, \"font-style\", current.fontStyle);\n }\n if (current.fontWeight !== SVG_DEFAULTS.fontWeight) {\n current.tspan.setAttributeNS(null, \"font-weight\", current.fontWeight);\n }\n const fillStrokeMode = current.textRenderingMode & _util.TextRenderingMode.FILL_STROKE_MASK;\n if (fillStrokeMode === _util.TextRenderingMode.FILL || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) {\n if (current.fillColor !== SVG_DEFAULTS.fillColor) {\n current.tspan.setAttributeNS(null, \"fill\", current.fillColor);\n }\n if (current.fillAlpha < 1) {\n current.tspan.setAttributeNS(null, \"fill-opacity\", current.fillAlpha);\n }\n } else if (current.textRenderingMode === _util.TextRenderingMode.ADD_TO_PATH) {\n current.tspan.setAttributeNS(null, \"fill\", \"transparent\");\n } else {\n current.tspan.setAttributeNS(null, \"fill\", \"none\");\n }\n if (fillStrokeMode === _util.TextRenderingMode.STROKE || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) {\n const lineWidthScale = 1 / (current.textMatrixScale || 1);\n this._setStrokeAttributes(current.tspan, lineWidthScale);\n }\n let textMatrix = current.textMatrix;\n if (current.textRise !== 0) {\n textMatrix = textMatrix.slice();\n textMatrix[5] += current.textRise;\n }\n current.txtElement.setAttributeNS(null, \"transform\", `${pm(textMatrix)} scale(${pf(textHScale)}, -1)`);\n current.txtElement.setAttributeNS(XML_NS, \"xml:space\", \"preserve\");\n current.txtElement.append(current.tspan);\n current.txtgrp.append(current.txtElement);\n this._ensureTransformGroup().append(current.txtElement);\n }\n setLeadingMoveText(x, y) {\n this.setLeading(-y);\n this.moveText(x, y);\n }\n addFontStyle(fontObj) {\n if (!fontObj.data) {\n throw new Error(\"addFontStyle: No font data available, \" + 'ensure that the \"fontExtraProperties\" API parameter is set.');\n }\n if (!this.cssStyle) {\n this.cssStyle = this.svgFactory.createElement(\"svg:style\");\n this.cssStyle.setAttributeNS(null, \"type\", \"text/css\");\n this.defs.append(this.cssStyle);\n }\n const url = createObjectURL(fontObj.data, fontObj.mimetype, this.forceDataSchema);\n this.cssStyle.textContent += `@font-face { font-family: \"${fontObj.loadedName}\";` + ` src: url(${url}); }\\n`;\n }\n setFont(details) {\n const current = this.current;\n const fontObj = this.commonObjs.get(details[0]);\n let size = details[1];\n current.font = fontObj;\n if (this.embedFonts && !fontObj.missingFile && !this.embeddedFonts[fontObj.loadedName]) {\n this.addFontStyle(fontObj);\n this.embeddedFonts[fontObj.loadedName] = fontObj;\n }\n current.fontMatrix = fontObj.fontMatrix || _util.FONT_IDENTITY_MATRIX;\n let bold = \"normal\";\n if (fontObj.black) {\n bold = \"900\";\n } else if (fontObj.bold) {\n bold = \"bold\";\n }\n const italic = fontObj.italic ? \"italic\" : \"normal\";\n if (size < 0) {\n size = -size;\n current.fontDirection = -1;\n } else {\n current.fontDirection = 1;\n }\n current.fontSize = size;\n current.fontFamily = fontObj.loadedName;\n current.fontWeight = bold;\n current.fontStyle = italic;\n current.tspan = this.svgFactory.createElement(\"svg:tspan\");\n current.tspan.setAttributeNS(null, \"y\", pf(-current.y));\n current.xcoords = [];\n current.ycoords = [];\n }\n endText() {\n const current = this.current;\n if (current.textRenderingMode & _util.TextRenderingMode.ADD_TO_PATH_FLAG && current.txtElement?.hasChildNodes()) {\n current.element = current.txtElement;\n this.clip(\"nonzero\");\n this.endPath();\n }\n }\n setLineWidth(width) {\n if (width > 0) {\n this.current.lineWidth = width;\n }\n }\n setLineCap(style) {\n this.current.lineCap = LINE_CAP_STYLES[style];\n }\n setLineJoin(style) {\n this.current.lineJoin = LINE_JOIN_STYLES[style];\n }\n setMiterLimit(limit) {\n this.current.miterLimit = limit;\n }\n setStrokeAlpha(strokeAlpha) {\n this.current.strokeAlpha = strokeAlpha;\n }\n setStrokeRGBColor(r, g, b) {\n this.current.strokeColor = _util.Util.makeHexColor(r, g, b);\n }\n setFillAlpha(fillAlpha) {\n this.current.fillAlpha = fillAlpha;\n }\n setFillRGBColor(r, g, b) {\n this.current.fillColor = _util.Util.makeHexColor(r, g, b);\n this.current.tspan = this.svgFactory.createElement(\"svg:tspan\");\n this.current.xcoords = [];\n this.current.ycoords = [];\n }\n setStrokeColorN(args) {\n this.current.strokeColor = this._makeColorN_Pattern(args);\n }\n setFillColorN(args) {\n this.current.fillColor = this._makeColorN_Pattern(args);\n }\n shadingFill(args) {\n const width = this.viewport.width;\n const height = this.viewport.height;\n const inv = _util.Util.inverseTransform(this.transformMatrix);\n const bl = _util.Util.applyTransform([0, 0], inv);\n const br = _util.Util.applyTransform([0, height], inv);\n const ul = _util.Util.applyTransform([width, 0], inv);\n const ur = _util.Util.applyTransform([width, height], inv);\n const x0 = Math.min(bl[0], br[0], ul[0], ur[0]);\n const y0 = Math.min(bl[1], br[1], ul[1], ur[1]);\n const x1 = Math.max(bl[0], br[0], ul[0], ur[0]);\n const y1 = Math.max(bl[1], br[1], ul[1], ur[1]);\n const rect = this.svgFactory.createElement(\"svg:rect\");\n rect.setAttributeNS(null, \"x\", x0);\n rect.setAttributeNS(null, \"y\", y0);\n rect.setAttributeNS(null, \"width\", x1 - x0);\n rect.setAttributeNS(null, \"height\", y1 - y0);\n rect.setAttributeNS(null, \"fill\", this._makeShadingPattern(args));\n if (this.current.fillAlpha < 1) {\n rect.setAttributeNS(null, \"fill-opacity\", this.current.fillAlpha);\n }\n this._ensureTransformGroup().append(rect);\n }\n _makeColorN_Pattern(args) {\n if (args[0] === \"TilingPattern\") {\n return this._makeTilingPattern(args);\n }\n return this._makeShadingPattern(args);\n }\n _makeTilingPattern(args) {\n const color = args[1];\n const operatorList = args[2];\n const matrix = args[3] || _util.IDENTITY_MATRIX;\n const [x0, y0, x1, y1] = args[4];\n const xstep = args[5];\n const ystep = args[6];\n const paintType = args[7];\n const tilingId = `shading${shadingCount++}`;\n const [tx0, ty0, tx1, ty1] = _util.Util.normalizeRect([..._util.Util.applyTransform([x0, y0], matrix), ..._util.Util.applyTransform([x1, y1], matrix)]);\n const [xscale, yscale] = _util.Util.singularValueDecompose2dScale(matrix);\n const txstep = xstep * xscale;\n const tystep = ystep * yscale;\n const tiling = this.svgFactory.createElement(\"svg:pattern\");\n tiling.setAttributeNS(null, \"id\", tilingId);\n tiling.setAttributeNS(null, \"patternUnits\", \"userSpaceOnUse\");\n tiling.setAttributeNS(null, \"width\", txstep);\n tiling.setAttributeNS(null, \"height\", tystep);\n tiling.setAttributeNS(null, \"x\", `${tx0}`);\n tiling.setAttributeNS(null, \"y\", `${ty0}`);\n const svg = this.svg;\n const transformMatrix = this.transformMatrix;\n const fillColor = this.current.fillColor;\n const strokeColor = this.current.strokeColor;\n const bbox = this.svgFactory.create(tx1 - tx0, ty1 - ty0);\n this.svg = bbox;\n this.transformMatrix = matrix;\n if (paintType === 2) {\n const cssColor = _util.Util.makeHexColor(...color);\n this.current.fillColor = cssColor;\n this.current.strokeColor = cssColor;\n }\n this.executeOpTree(this.convertOpList(operatorList));\n this.svg = svg;\n this.transformMatrix = transformMatrix;\n this.current.fillColor = fillColor;\n this.current.strokeColor = strokeColor;\n tiling.append(bbox.childNodes[0]);\n this.defs.append(tiling);\n return `url(#${tilingId})`;\n }\n _makeShadingPattern(args) {\n if (typeof args === \"string\") {\n args = this.objs.get(args);\n }\n switch (args[0]) {\n case \"RadialAxial\":\n const shadingId = `shading${shadingCount++}`;\n const colorStops = args[3];\n let gradient;\n switch (args[1]) {\n case \"axial\":\n const point0 = args[4];\n const point1 = args[5];\n gradient = this.svgFactory.createElement(\"svg:linearGradient\");\n gradient.setAttributeNS(null, \"id\", shadingId);\n gradient.setAttributeNS(null, \"gradientUnits\", \"userSpaceOnUse\");\n gradient.setAttributeNS(null, \"x1\", point0[0]);\n gradient.setAttributeNS(null, \"y1\", point0[1]);\n gradient.setAttributeNS(null, \"x2\", point1[0]);\n gradient.setAttributeNS(null, \"y2\", point1[1]);\n break;\n case \"radial\":\n const focalPoint = args[4];\n const circlePoint = args[5];\n const focalRadius = args[6];\n const circleRadius = args[7];\n gradient = this.svgFactory.createElement(\"svg:radialGradient\");\n gradient.setAttributeNS(null, \"id\", shadingId);\n gradient.setAttributeNS(null, \"gradientUnits\", \"userSpaceOnUse\");\n gradient.setAttributeNS(null, \"cx\", circlePoint[0]);\n gradient.setAttributeNS(null, \"cy\", circlePoint[1]);\n gradient.setAttributeNS(null, \"r\", circleRadius);\n gradient.setAttributeNS(null, \"fx\", focalPoint[0]);\n gradient.setAttributeNS(null, \"fy\", focalPoint[1]);\n gradient.setAttributeNS(null, \"fr\", focalRadius);\n break;\n default:\n throw new Error(`Unknown RadialAxial type: ${args[1]}`);\n }\n for (const colorStop of colorStops) {\n const stop = this.svgFactory.createElement(\"svg:stop\");\n stop.setAttributeNS(null, \"offset\", colorStop[0]);\n stop.setAttributeNS(null, \"stop-color\", colorStop[1]);\n gradient.append(stop);\n }\n this.defs.append(gradient);\n return `url(#${shadingId})`;\n case \"Mesh\":\n (0, _util.warn)(\"Unimplemented pattern Mesh\");\n return null;\n case \"Dummy\":\n return \"hotpink\";\n default:\n throw new Error(`Unknown IR type: ${args[0]}`);\n }\n }\n setDash(dashArray, dashPhase) {\n this.current.dashArray = dashArray;\n this.current.dashPhase = dashPhase;\n }\n constructPath(ops, args) {\n const current = this.current;\n let x = current.x,\n y = current.y;\n let d = [];\n let j = 0;\n for (const op of ops) {\n switch (op | 0) {\n case _util.OPS.rectangle:\n x = args[j++];\n y = args[j++];\n const width = args[j++];\n const height = args[j++];\n const xw = x + width;\n const yh = y + height;\n d.push(\"M\", pf(x), pf(y), \"L\", pf(xw), pf(y), \"L\", pf(xw), pf(yh), \"L\", pf(x), pf(yh), \"Z\");\n break;\n case _util.OPS.moveTo:\n x = args[j++];\n y = args[j++];\n d.push(\"M\", pf(x), pf(y));\n break;\n case _util.OPS.lineTo:\n x = args[j++];\n y = args[j++];\n d.push(\"L\", pf(x), pf(y));\n break;\n case _util.OPS.curveTo:\n x = args[j + 4];\n y = args[j + 5];\n d.push(\"C\", pf(args[j]), pf(args[j + 1]), pf(args[j + 2]), pf(args[j + 3]), pf(x), pf(y));\n j += 6;\n break;\n case _util.OPS.curveTo2:\n d.push(\"C\", pf(x), pf(y), pf(args[j]), pf(args[j + 1]), pf(args[j + 2]), pf(args[j + 3]));\n x = args[j + 2];\n y = args[j + 3];\n j += 4;\n break;\n case _util.OPS.curveTo3:\n x = args[j + 2];\n y = args[j + 3];\n d.push(\"C\", pf(args[j]), pf(args[j + 1]), pf(x), pf(y), pf(x), pf(y));\n j += 4;\n break;\n case _util.OPS.closePath:\n d.push(\"Z\");\n break;\n }\n }\n d = d.join(\" \");\n if (current.path && ops.length > 0 && ops[0] !== _util.OPS.rectangle && ops[0] !== _util.OPS.moveTo) {\n d = current.path.getAttributeNS(null, \"d\") + d;\n } else {\n current.path = this.svgFactory.createElement(\"svg:path\");\n this._ensureTransformGroup().append(current.path);\n }\n current.path.setAttributeNS(null, \"d\", d);\n current.path.setAttributeNS(null, \"fill\", \"none\");\n current.element = current.path;\n current.setCurrentPoint(x, y);\n }\n endPath() {\n const current = this.current;\n current.path = null;\n if (!this.pendingClip) {\n return;\n }\n if (!current.element) {\n this.pendingClip = null;\n return;\n }\n const clipId = `clippath${clipCount++}`;\n const clipPath = this.svgFactory.createElement(\"svg:clipPath\");\n clipPath.setAttributeNS(null, \"id\", clipId);\n clipPath.setAttributeNS(null, \"transform\", pm(this.transformMatrix));\n const clipElement = current.element.cloneNode(true);\n if (this.pendingClip === \"evenodd\") {\n clipElement.setAttributeNS(null, \"clip-rule\", \"evenodd\");\n } else {\n clipElement.setAttributeNS(null, \"clip-rule\", \"nonzero\");\n }\n this.pendingClip = null;\n clipPath.append(clipElement);\n this.defs.append(clipPath);\n if (current.activeClipUrl) {\n current.clipGroup = null;\n for (const prev of this.extraStack) {\n prev.clipGroup = null;\n }\n clipPath.setAttributeNS(null, \"clip-path\", current.activeClipUrl);\n }\n current.activeClipUrl = `url(#${clipId})`;\n this.tgrp = null;\n }\n clip(type) {\n this.pendingClip = type;\n }\n closePath() {\n const current = this.current;\n if (current.path) {\n const d = `${current.path.getAttributeNS(null, \"d\")}Z`;\n current.path.setAttributeNS(null, \"d\", d);\n }\n }\n setLeading(leading) {\n this.current.leading = -leading;\n }\n setTextRise(textRise) {\n this.current.textRise = textRise;\n }\n setTextRenderingMode(textRenderingMode) {\n this.current.textRenderingMode = textRenderingMode;\n }\n setHScale(scale) {\n this.current.textHScale = scale / 100;\n }\n setRenderingIntent(intent) {}\n setFlatness(flatness) {}\n setGState(states) {\n for (const [key, value] of states) {\n switch (key) {\n case \"LW\":\n this.setLineWidth(value);\n break;\n case \"LC\":\n this.setLineCap(value);\n break;\n case \"LJ\":\n this.setLineJoin(value);\n break;\n case \"ML\":\n this.setMiterLimit(value);\n break;\n case \"D\":\n this.setDash(value[0], value[1]);\n break;\n case \"RI\":\n this.setRenderingIntent(value);\n break;\n case \"FL\":\n this.setFlatness(value);\n break;\n case \"Font\":\n this.setFont(value);\n break;\n case \"CA\":\n this.setStrokeAlpha(value);\n break;\n case \"ca\":\n this.setFillAlpha(value);\n break;\n default:\n (0, _util.warn)(`Unimplemented graphic state operator ${key}`);\n break;\n }\n }\n }\n fill() {\n const current = this.current;\n if (current.element) {\n current.element.setAttributeNS(null, \"fill\", current.fillColor);\n current.element.setAttributeNS(null, \"fill-opacity\", current.fillAlpha);\n this.endPath();\n }\n }\n stroke() {\n const current = this.current;\n if (current.element) {\n this._setStrokeAttributes(current.element);\n current.element.setAttributeNS(null, \"fill\", \"none\");\n this.endPath();\n }\n }\n _setStrokeAttributes(element, lineWidthScale = 1) {\n const current = this.current;\n let dashArray = current.dashArray;\n if (lineWidthScale !== 1 && dashArray.length > 0) {\n dashArray = dashArray.map(function (value) {\n return lineWidthScale * value;\n });\n }\n element.setAttributeNS(null, \"stroke\", current.strokeColor);\n element.setAttributeNS(null, \"stroke-opacity\", current.strokeAlpha);\n element.setAttributeNS(null, \"stroke-miterlimit\", pf(current.miterLimit));\n element.setAttributeNS(null, \"stroke-linecap\", current.lineCap);\n element.setAttributeNS(null, \"stroke-linejoin\", current.lineJoin);\n element.setAttributeNS(null, \"stroke-width\", pf(lineWidthScale * current.lineWidth) + \"px\");\n element.setAttributeNS(null, \"stroke-dasharray\", dashArray.map(pf).join(\" \"));\n element.setAttributeNS(null, \"stroke-dashoffset\", pf(lineWidthScale * current.dashPhase) + \"px\");\n }\n eoFill() {\n this.current.element?.setAttributeNS(null, \"fill-rule\", \"evenodd\");\n this.fill();\n }\n fillStroke() {\n this.stroke();\n this.fill();\n }\n eoFillStroke() {\n this.current.element?.setAttributeNS(null, \"fill-rule\", \"evenodd\");\n this.fillStroke();\n }\n closeStroke() {\n this.closePath();\n this.stroke();\n }\n closeFillStroke() {\n this.closePath();\n this.fillStroke();\n }\n closeEOFillStroke() {\n this.closePath();\n this.eoFillStroke();\n }\n paintSolidColorImageMask() {\n const rect = this.svgFactory.createElement(\"svg:rect\");\n rect.setAttributeNS(null, \"x\", \"0\");\n rect.setAttributeNS(null, \"y\", \"0\");\n rect.setAttributeNS(null, \"width\", \"1px\");\n rect.setAttributeNS(null, \"height\", \"1px\");\n rect.setAttributeNS(null, \"fill\", this.current.fillColor);\n this._ensureTransformGroup().append(rect);\n }\n paintImageXObject(objId) {\n const imgData = this.getObject(objId);\n if (!imgData) {\n (0, _util.warn)(`Dependent image with object ID ${objId} is not ready yet`);\n return;\n }\n this.paintInlineImageXObject(imgData);\n }\n paintInlineImageXObject(imgData, mask) {\n const width = imgData.width;\n const height = imgData.height;\n const imgSrc = convertImgDataToPng(imgData, this.forceDataSchema, !!mask);\n const cliprect = this.svgFactory.createElement(\"svg:rect\");\n cliprect.setAttributeNS(null, \"x\", \"0\");\n cliprect.setAttributeNS(null, \"y\", \"0\");\n cliprect.setAttributeNS(null, \"width\", pf(width));\n cliprect.setAttributeNS(null, \"height\", pf(height));\n this.current.element = cliprect;\n this.clip(\"nonzero\");\n const imgEl = this.svgFactory.createElement(\"svg:image\");\n imgEl.setAttributeNS(XLINK_NS, \"xlink:href\", imgSrc);\n imgEl.setAttributeNS(null, \"x\", \"0\");\n imgEl.setAttributeNS(null, \"y\", pf(-height));\n imgEl.setAttributeNS(null, \"width\", pf(width) + \"px\");\n imgEl.setAttributeNS(null, \"height\", pf(height) + \"px\");\n imgEl.setAttributeNS(null, \"transform\", `scale(${pf(1 / width)} ${pf(-1 / height)})`);\n if (mask) {\n mask.append(imgEl);\n } else {\n this._ensureTransformGroup().append(imgEl);\n }\n }\n paintImageMaskXObject(img) {\n const imgData = this.getObject(img.data, img);\n if (imgData.bitmap) {\n (0, _util.warn)(\"paintImageMaskXObject: ImageBitmap support is not implemented, \" + \"ensure that the `isOffscreenCanvasSupported` API parameter is disabled.\");\n return;\n }\n const current = this.current;\n const width = imgData.width;\n const height = imgData.height;\n const fillColor = current.fillColor;\n current.maskId = `mask${maskCount++}`;\n const mask = this.svgFactory.createElement(\"svg:mask\");\n mask.setAttributeNS(null, \"id\", current.maskId);\n const rect = this.svgFactory.createElement(\"svg:rect\");\n rect.setAttributeNS(null, \"x\", \"0\");\n rect.setAttributeNS(null, \"y\", \"0\");\n rect.setAttributeNS(null, \"width\", pf(width));\n rect.setAttributeNS(null, \"height\", pf(height));\n rect.setAttributeNS(null, \"fill\", fillColor);\n rect.setAttributeNS(null, \"mask\", `url(#${current.maskId})`);\n this.defs.append(mask);\n this._ensureTransformGroup().append(rect);\n this.paintInlineImageXObject(imgData, mask);\n }\n paintFormXObjectBegin(matrix, bbox) {\n if (Array.isArray(matrix) && matrix.length === 6) {\n this.transform(matrix[0], matrix[1], matrix[2], matrix[3], matrix[4], matrix[5]);\n }\n if (bbox) {\n const width = bbox[2] - bbox[0];\n const height = bbox[3] - bbox[1];\n const cliprect = this.svgFactory.createElement(\"svg:rect\");\n cliprect.setAttributeNS(null, \"x\", bbox[0]);\n cliprect.setAttributeNS(null, \"y\", bbox[1]);\n cliprect.setAttributeNS(null, \"width\", pf(width));\n cliprect.setAttributeNS(null, \"height\", pf(height));\n this.current.element = cliprect;\n this.clip(\"nonzero\");\n this.endPath();\n }\n }\n paintFormXObjectEnd() {}\n _initialize(viewport) {\n const svg = this.svgFactory.create(viewport.width, viewport.height);\n const definitions = this.svgFactory.createElement(\"svg:defs\");\n svg.append(definitions);\n this.defs = definitions;\n const rootGroup = this.svgFactory.createElement(\"svg:g\");\n rootGroup.setAttributeNS(null, \"transform\", pm(viewport.transform));\n svg.append(rootGroup);\n this.svg = rootGroup;\n return svg;\n }\n _ensureClipGroup() {\n if (!this.current.clipGroup) {\n const clipGroup = this.svgFactory.createElement(\"svg:g\");\n clipGroup.setAttributeNS(null, \"clip-path\", this.current.activeClipUrl);\n this.svg.append(clipGroup);\n this.current.clipGroup = clipGroup;\n }\n return this.current.clipGroup;\n }\n _ensureTransformGroup() {\n if (!this.tgrp) {\n this.tgrp = this.svgFactory.createElement(\"svg:g\");\n this.tgrp.setAttributeNS(null, \"transform\", pm(this.transformMatrix));\n if (this.current.activeClipUrl) {\n this._ensureClipGroup().append(this.tgrp);\n } else {\n this.svg.append(this.tgrp);\n }\n }\n return this.tgrp;\n }\n };\n}\n\n/***/ })\n/******/ \t]);\n/************************************************************************/\n/******/ \t// The module cache\n/******/ \tvar __webpack_module_cache__ = {};\n/******/ \t\n/******/ \t// The require function\n/******/ \tfunction __w_pdfjs_require__(moduleId) {\n/******/ \t\t// Check if module is in cache\n/******/ \t\tvar cachedModule = __webpack_module_cache__[moduleId];\n/******/ \t\tif (cachedModule !== undefined) {\n/******/ \t\t\treturn cachedModule.exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = __webpack_module_cache__[moduleId] = {\n/******/ \t\t\t// no module.id needed\n/******/ \t\t\t// no module.loaded needed\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/ \t\n/******/ \t\t// Execute the module function\n/******/ \t\t__webpack_modules__[moduleId](module, module.exports, __w_pdfjs_require__);\n/******/ \t\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/ \t\n/************************************************************************/\nvar __webpack_exports__ = {};\n// This entry need to be wrapped in an IIFE because it need to be isolated against other modules in the chunk.\n(() => {\nvar exports = __webpack_exports__;\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"AbortException\", ({\n enumerable: true,\n get: function () {\n return _util.AbortException;\n }\n}));\nObject.defineProperty(exports, \"AnnotationEditorLayer\", ({\n enumerable: true,\n get: function () {\n return _annotation_editor_layer.AnnotationEditorLayer;\n }\n}));\nObject.defineProperty(exports, \"AnnotationEditorParamsType\", ({\n enumerable: true,\n get: function () {\n return _util.AnnotationEditorParamsType;\n }\n}));\nObject.defineProperty(exports, \"AnnotationEditorType\", ({\n enumerable: true,\n get: function () {\n return _util.AnnotationEditorType;\n }\n}));\nObject.defineProperty(exports, \"AnnotationEditorUIManager\", ({\n enumerable: true,\n get: function () {\n return _tools.AnnotationEditorUIManager;\n }\n}));\nObject.defineProperty(exports, \"AnnotationLayer\", ({\n enumerable: true,\n get: function () {\n return _annotation_layer.AnnotationLayer;\n }\n}));\nObject.defineProperty(exports, \"AnnotationMode\", ({\n enumerable: true,\n get: function () {\n return _util.AnnotationMode;\n }\n}));\nObject.defineProperty(exports, \"CMapCompressionType\", ({\n enumerable: true,\n get: function () {\n return _util.CMapCompressionType;\n }\n}));\nObject.defineProperty(exports, \"FeatureTest\", ({\n enumerable: true,\n get: function () {\n return _util.FeatureTest;\n }\n}));\nObject.defineProperty(exports, \"GlobalWorkerOptions\", ({\n enumerable: true,\n get: function () {\n return _worker_options.GlobalWorkerOptions;\n }\n}));\nObject.defineProperty(exports, \"InvalidPDFException\", ({\n enumerable: true,\n get: function () {\n return _util.InvalidPDFException;\n }\n}));\nObject.defineProperty(exports, \"MissingPDFException\", ({\n enumerable: true,\n get: function () {\n return _util.MissingPDFException;\n }\n}));\nObject.defineProperty(exports, \"OPS\", ({\n enumerable: true,\n get: function () {\n return _util.OPS;\n }\n}));\nObject.defineProperty(exports, \"PDFDataRangeTransport\", ({\n enumerable: true,\n get: function () {\n return _api.PDFDataRangeTransport;\n }\n}));\nObject.defineProperty(exports, \"PDFDateString\", ({\n enumerable: true,\n get: function () {\n return _display_utils.PDFDateString;\n }\n}));\nObject.defineProperty(exports, \"PDFWorker\", ({\n enumerable: true,\n get: function () {\n return _api.PDFWorker;\n }\n}));\nObject.defineProperty(exports, \"PasswordResponses\", ({\n enumerable: true,\n get: function () {\n return _util.PasswordResponses;\n }\n}));\nObject.defineProperty(exports, \"PermissionFlag\", ({\n enumerable: true,\n get: function () {\n return _util.PermissionFlag;\n }\n}));\nObject.defineProperty(exports, \"PixelsPerInch\", ({\n enumerable: true,\n get: function () {\n return _display_utils.PixelsPerInch;\n }\n}));\nObject.defineProperty(exports, \"PromiseCapability\", ({\n enumerable: true,\n get: function () {\n return _util.PromiseCapability;\n }\n}));\nObject.defineProperty(exports, \"RenderingCancelledException\", ({\n enumerable: true,\n get: function () {\n return _display_utils.RenderingCancelledException;\n }\n}));\nObject.defineProperty(exports, \"SVGGraphics\", ({\n enumerable: true,\n get: function () {\n return _svg.SVGGraphics;\n }\n}));\nObject.defineProperty(exports, \"UnexpectedResponseException\", ({\n enumerable: true,\n get: function () {\n return _util.UnexpectedResponseException;\n }\n}));\nObject.defineProperty(exports, \"Util\", ({\n enumerable: true,\n get: function () {\n return _util.Util;\n }\n}));\nObject.defineProperty(exports, \"VerbosityLevel\", ({\n enumerable: true,\n get: function () {\n return _util.VerbosityLevel;\n }\n}));\nObject.defineProperty(exports, \"XfaLayer\", ({\n enumerable: true,\n get: function () {\n return _xfa_layer.XfaLayer;\n }\n}));\nObject.defineProperty(exports, \"build\", ({\n enumerable: true,\n get: function () {\n return _api.build;\n }\n}));\nObject.defineProperty(exports, \"createValidAbsoluteUrl\", ({\n enumerable: true,\n get: function () {\n return _util.createValidAbsoluteUrl;\n }\n}));\nObject.defineProperty(exports, \"getDocument\", ({\n enumerable: true,\n get: function () {\n return _api.getDocument;\n }\n}));\nObject.defineProperty(exports, \"getFilenameFromUrl\", ({\n enumerable: true,\n get: function () {\n return _display_utils.getFilenameFromUrl;\n }\n}));\nObject.defineProperty(exports, \"getPdfFilenameFromUrl\", ({\n enumerable: true,\n get: function () {\n return _display_utils.getPdfFilenameFromUrl;\n }\n}));\nObject.defineProperty(exports, \"getXfaPageViewport\", ({\n enumerable: true,\n get: function () {\n return _display_utils.getXfaPageViewport;\n }\n}));\nObject.defineProperty(exports, \"isDataScheme\", ({\n enumerable: true,\n get: function () {\n return _display_utils.isDataScheme;\n }\n}));\nObject.defineProperty(exports, \"isPdfFile\", ({\n enumerable: true,\n get: function () {\n return _display_utils.isPdfFile;\n }\n}));\nObject.defineProperty(exports, \"loadScript\", ({\n enumerable: true,\n get: function () {\n return _display_utils.loadScript;\n }\n}));\nObject.defineProperty(exports, \"normalizeUnicode\", ({\n enumerable: true,\n get: function () {\n return _util.normalizeUnicode;\n }\n}));\nObject.defineProperty(exports, \"renderTextLayer\", ({\n enumerable: true,\n get: function () {\n return _text_layer.renderTextLayer;\n }\n}));\nObject.defineProperty(exports, \"setLayerDimensions\", ({\n enumerable: true,\n get: function () {\n return _display_utils.setLayerDimensions;\n }\n}));\nObject.defineProperty(exports, \"shadow\", ({\n enumerable: true,\n get: function () {\n return _util.shadow;\n }\n}));\nObject.defineProperty(exports, \"updateTextLayer\", ({\n enumerable: true,\n get: function () {\n return _text_layer.updateTextLayer;\n }\n}));\nObject.defineProperty(exports, \"version\", ({\n enumerable: true,\n get: function () {\n return _api.version;\n }\n}));\nvar _util = __w_pdfjs_require__(1);\nvar _api = __w_pdfjs_require__(2);\nvar _display_utils = __w_pdfjs_require__(6);\nvar _text_layer = __w_pdfjs_require__(26);\nvar _annotation_editor_layer = __w_pdfjs_require__(27);\nvar _tools = __w_pdfjs_require__(5);\nvar _annotation_layer = __w_pdfjs_require__(32);\nvar _worker_options = __w_pdfjs_require__(14);\nvar _svg = __w_pdfjs_require__(35);\nvar _xfa_layer = __w_pdfjs_require__(34);\nconst pdfjsVersion = '3.6.172';\nconst pdfjsBuild = '4d3dfe254';\n})();\n\n/******/ \treturn __webpack_exports__;\n/******/ })()\n;\n});\n//# sourceMappingURL=pdf.js.map","/**\n * @licstart The following is the entire license notice for the\n * JavaScript code in this page\n *\n * Copyright 2023 Mozilla Foundation\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n * @licend The above is the entire license notice for the\n * JavaScript code in this page\n */\n\n(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine(\"pdfjs-dist/web/pdf_viewer\", [], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"pdfjs-dist/web/pdf_viewer\"] = factory();\n\telse\n\t\troot[\"pdfjs-dist/web/pdf_viewer\"] = root.pdfjsViewer = factory();\n})(globalThis, () => {\nreturn /******/ (() => { // webpackBootstrap\n/******/ \t\"use strict\";\n/******/ \tvar __webpack_modules__ = ([\n/* 0 */,\n/* 1 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.SimpleLinkService = exports.PDFLinkService = exports.LinkTarget = void 0;\nvar _ui_utils = __w_pdfjs_require__(2);\nconst DEFAULT_LINK_REL = \"noopener noreferrer nofollow\";\nconst LinkTarget = {\n NONE: 0,\n SELF: 1,\n BLANK: 2,\n PARENT: 3,\n TOP: 4\n};\nexports.LinkTarget = LinkTarget;\nfunction addLinkAttributes(link, {\n url,\n target,\n rel,\n enabled = true\n} = {}) {\n if (!url || typeof url !== \"string\") {\n throw new Error('A valid \"url\" parameter must provided.');\n }\n const urlNullRemoved = (0, _ui_utils.removeNullCharacters)(url);\n if (enabled) {\n link.href = link.title = urlNullRemoved;\n } else {\n link.href = \"\";\n link.title = `Disabled: ${urlNullRemoved}`;\n link.onclick = () => {\n return false;\n };\n }\n let targetStr = \"\";\n switch (target) {\n case LinkTarget.NONE:\n break;\n case LinkTarget.SELF:\n targetStr = \"_self\";\n break;\n case LinkTarget.BLANK:\n targetStr = \"_blank\";\n break;\n case LinkTarget.PARENT:\n targetStr = \"_parent\";\n break;\n case LinkTarget.TOP:\n targetStr = \"_top\";\n break;\n }\n link.target = targetStr;\n link.rel = typeof rel === \"string\" ? rel : DEFAULT_LINK_REL;\n}\nclass PDFLinkService {\n #pagesRefCache = new Map();\n constructor({\n eventBus,\n externalLinkTarget = null,\n externalLinkRel = null,\n ignoreDestinationZoom = false\n } = {}) {\n this.eventBus = eventBus;\n this.externalLinkTarget = externalLinkTarget;\n this.externalLinkRel = externalLinkRel;\n this.externalLinkEnabled = true;\n this._ignoreDestinationZoom = ignoreDestinationZoom;\n this.baseUrl = null;\n this.pdfDocument = null;\n this.pdfViewer = null;\n this.pdfHistory = null;\n }\n setDocument(pdfDocument, baseUrl = null) {\n this.baseUrl = baseUrl;\n this.pdfDocument = pdfDocument;\n this.#pagesRefCache.clear();\n }\n setViewer(pdfViewer) {\n this.pdfViewer = pdfViewer;\n }\n setHistory(pdfHistory) {\n this.pdfHistory = pdfHistory;\n }\n get pagesCount() {\n return this.pdfDocument ? this.pdfDocument.numPages : 0;\n }\n get page() {\n return this.pdfViewer.currentPageNumber;\n }\n set page(value) {\n this.pdfViewer.currentPageNumber = value;\n }\n get rotation() {\n return this.pdfViewer.pagesRotation;\n }\n set rotation(value) {\n this.pdfViewer.pagesRotation = value;\n }\n get isInPresentationMode() {\n return this.pdfViewer.isInPresentationMode;\n }\n #goToDestinationHelper(rawDest, namedDest = null, explicitDest) {\n const destRef = explicitDest[0];\n let pageNumber;\n if (typeof destRef === \"object\" && destRef !== null) {\n pageNumber = this._cachedPageNumber(destRef);\n if (!pageNumber) {\n this.pdfDocument.getPageIndex(destRef).then(pageIndex => {\n this.cachePageRef(pageIndex + 1, destRef);\n this.#goToDestinationHelper(rawDest, namedDest, explicitDest);\n }).catch(() => {\n console.error(`PDFLinkService.#goToDestinationHelper: \"${destRef}\" is not ` + `a valid page reference, for dest=\"${rawDest}\".`);\n });\n return;\n }\n } else if (Number.isInteger(destRef)) {\n pageNumber = destRef + 1;\n } else {\n console.error(`PDFLinkService.#goToDestinationHelper: \"${destRef}\" is not ` + `a valid destination reference, for dest=\"${rawDest}\".`);\n return;\n }\n if (!pageNumber || pageNumber < 1 || pageNumber > this.pagesCount) {\n console.error(`PDFLinkService.#goToDestinationHelper: \"${pageNumber}\" is not ` + `a valid page number, for dest=\"${rawDest}\".`);\n return;\n }\n if (this.pdfHistory) {\n this.pdfHistory.pushCurrentPosition();\n this.pdfHistory.push({\n namedDest,\n explicitDest,\n pageNumber\n });\n }\n this.pdfViewer.scrollPageIntoView({\n pageNumber,\n destArray: explicitDest,\n ignoreDestinationZoom: this._ignoreDestinationZoom\n });\n }\n async goToDestination(dest) {\n if (!this.pdfDocument) {\n return;\n }\n let namedDest, explicitDest;\n if (typeof dest === \"string\") {\n namedDest = dest;\n explicitDest = await this.pdfDocument.getDestination(dest);\n } else {\n namedDest = null;\n explicitDest = await dest;\n }\n if (!Array.isArray(explicitDest)) {\n console.error(`PDFLinkService.goToDestination: \"${explicitDest}\" is not ` + `a valid destination array, for dest=\"${dest}\".`);\n return;\n }\n this.#goToDestinationHelper(dest, namedDest, explicitDest);\n }\n goToPage(val) {\n if (!this.pdfDocument) {\n return;\n }\n const pageNumber = typeof val === \"string\" && this.pdfViewer.pageLabelToPageNumber(val) || val | 0;\n if (!(Number.isInteger(pageNumber) && pageNumber > 0 && pageNumber <= this.pagesCount)) {\n console.error(`PDFLinkService.goToPage: \"${val}\" is not a valid page.`);\n return;\n }\n if (this.pdfHistory) {\n this.pdfHistory.pushCurrentPosition();\n this.pdfHistory.pushPage(pageNumber);\n }\n this.pdfViewer.scrollPageIntoView({\n pageNumber\n });\n }\n addLinkAttributes(link, url, newWindow = false) {\n addLinkAttributes(link, {\n url,\n target: newWindow ? LinkTarget.BLANK : this.externalLinkTarget,\n rel: this.externalLinkRel,\n enabled: this.externalLinkEnabled\n });\n }\n getDestinationHash(dest) {\n if (typeof dest === \"string\") {\n if (dest.length > 0) {\n return this.getAnchorUrl(\"#\" + escape(dest));\n }\n } else if (Array.isArray(dest)) {\n const str = JSON.stringify(dest);\n if (str.length > 0) {\n return this.getAnchorUrl(\"#\" + escape(str));\n }\n }\n return this.getAnchorUrl(\"\");\n }\n getAnchorUrl(anchor) {\n return this.baseUrl ? this.baseUrl + anchor : anchor;\n }\n setHash(hash) {\n if (!this.pdfDocument) {\n return;\n }\n let pageNumber, dest;\n if (hash.includes(\"=\")) {\n const params = (0, _ui_utils.parseQueryString)(hash);\n if (params.has(\"search\")) {\n const query = params.get(\"search\").replaceAll('\"', \"\"),\n phrase = params.get(\"phrase\") === \"true\";\n this.eventBus.dispatch(\"findfromurlhash\", {\n source: this,\n query: phrase ? query : query.match(/\\S+/g)\n });\n }\n if (params.has(\"page\")) {\n pageNumber = params.get(\"page\") | 0 || 1;\n }\n if (params.has(\"zoom\")) {\n const zoomArgs = params.get(\"zoom\").split(\",\");\n const zoomArg = zoomArgs[0];\n const zoomArgNumber = parseFloat(zoomArg);\n if (!zoomArg.includes(\"Fit\")) {\n dest = [null, {\n name: \"XYZ\"\n }, zoomArgs.length > 1 ? zoomArgs[1] | 0 : null, zoomArgs.length > 2 ? zoomArgs[2] | 0 : null, zoomArgNumber ? zoomArgNumber / 100 : zoomArg];\n } else {\n if (zoomArg === \"Fit\" || zoomArg === \"FitB\") {\n dest = [null, {\n name: zoomArg\n }];\n } else if (zoomArg === \"FitH\" || zoomArg === \"FitBH\" || zoomArg === \"FitV\" || zoomArg === \"FitBV\") {\n dest = [null, {\n name: zoomArg\n }, zoomArgs.length > 1 ? zoomArgs[1] | 0 : null];\n } else if (zoomArg === \"FitR\") {\n if (zoomArgs.length !== 5) {\n console.error('PDFLinkService.setHash: Not enough parameters for \"FitR\".');\n } else {\n dest = [null, {\n name: zoomArg\n }, zoomArgs[1] | 0, zoomArgs[2] | 0, zoomArgs[3] | 0, zoomArgs[4] | 0];\n }\n } else {\n console.error(`PDFLinkService.setHash: \"${zoomArg}\" is not a valid zoom value.`);\n }\n }\n }\n if (dest) {\n this.pdfViewer.scrollPageIntoView({\n pageNumber: pageNumber || this.page,\n destArray: dest,\n allowNegativeOffset: true\n });\n } else if (pageNumber) {\n this.page = pageNumber;\n }\n if (params.has(\"pagemode\")) {\n this.eventBus.dispatch(\"pagemode\", {\n source: this,\n mode: params.get(\"pagemode\")\n });\n }\n if (params.has(\"nameddest\")) {\n this.goToDestination(params.get(\"nameddest\"));\n }\n } else {\n dest = unescape(hash);\n try {\n dest = JSON.parse(dest);\n if (!Array.isArray(dest)) {\n dest = dest.toString();\n }\n } catch (ex) {}\n if (typeof dest === \"string\" || PDFLinkService.#isValidExplicitDestination(dest)) {\n this.goToDestination(dest);\n return;\n }\n console.error(`PDFLinkService.setHash: \"${unescape(hash)}\" is not a valid destination.`);\n }\n }\n executeNamedAction(action) {\n switch (action) {\n case \"GoBack\":\n this.pdfHistory?.back();\n break;\n case \"GoForward\":\n this.pdfHistory?.forward();\n break;\n case \"NextPage\":\n this.pdfViewer.nextPage();\n break;\n case \"PrevPage\":\n this.pdfViewer.previousPage();\n break;\n case \"LastPage\":\n this.page = this.pagesCount;\n break;\n case \"FirstPage\":\n this.page = 1;\n break;\n default:\n break;\n }\n this.eventBus.dispatch(\"namedaction\", {\n source: this,\n action\n });\n }\n async executeSetOCGState(action) {\n const pdfDocument = this.pdfDocument;\n const optionalContentConfig = await this.pdfViewer.optionalContentConfigPromise;\n if (pdfDocument !== this.pdfDocument) {\n return;\n }\n let operator;\n for (const elem of action.state) {\n switch (elem) {\n case \"ON\":\n case \"OFF\":\n case \"Toggle\":\n operator = elem;\n continue;\n }\n switch (operator) {\n case \"ON\":\n optionalContentConfig.setVisibility(elem, true);\n break;\n case \"OFF\":\n optionalContentConfig.setVisibility(elem, false);\n break;\n case \"Toggle\":\n const group = optionalContentConfig.getGroup(elem);\n if (group) {\n optionalContentConfig.setVisibility(elem, !group.visible);\n }\n break;\n }\n }\n this.pdfViewer.optionalContentConfigPromise = Promise.resolve(optionalContentConfig);\n }\n cachePageRef(pageNum, pageRef) {\n if (!pageRef) {\n return;\n }\n const refStr = pageRef.gen === 0 ? `${pageRef.num}R` : `${pageRef.num}R${pageRef.gen}`;\n this.#pagesRefCache.set(refStr, pageNum);\n }\n _cachedPageNumber(pageRef) {\n if (!pageRef) {\n return null;\n }\n const refStr = pageRef.gen === 0 ? `${pageRef.num}R` : `${pageRef.num}R${pageRef.gen}`;\n return this.#pagesRefCache.get(refStr) || null;\n }\n isPageVisible(pageNumber) {\n return this.pdfViewer.isPageVisible(pageNumber);\n }\n isPageCached(pageNumber) {\n return this.pdfViewer.isPageCached(pageNumber);\n }\n static #isValidExplicitDestination(dest) {\n if (!Array.isArray(dest)) {\n return false;\n }\n const destLength = dest.length;\n if (destLength < 2) {\n return false;\n }\n const page = dest[0];\n if (!(typeof page === \"object\" && Number.isInteger(page.num) && Number.isInteger(page.gen)) && !(Number.isInteger(page) && page >= 0)) {\n return false;\n }\n const zoom = dest[1];\n if (!(typeof zoom === \"object\" && typeof zoom.name === \"string\")) {\n return false;\n }\n let allowNull = true;\n switch (zoom.name) {\n case \"XYZ\":\n if (destLength !== 5) {\n return false;\n }\n break;\n case \"Fit\":\n case \"FitB\":\n return destLength === 2;\n case \"FitH\":\n case \"FitBH\":\n case \"FitV\":\n case \"FitBV\":\n if (destLength !== 3) {\n return false;\n }\n break;\n case \"FitR\":\n if (destLength !== 6) {\n return false;\n }\n allowNull = false;\n break;\n default:\n return false;\n }\n for (let i = 2; i < destLength; i++) {\n const param = dest[i];\n if (!(typeof param === \"number\" || allowNull && param === null)) {\n return false;\n }\n }\n return true;\n }\n}\nexports.PDFLinkService = PDFLinkService;\nclass SimpleLinkService {\n constructor() {\n this.externalLinkEnabled = true;\n }\n get pagesCount() {\n return 0;\n }\n get page() {\n return 0;\n }\n set page(value) {}\n get rotation() {\n return 0;\n }\n set rotation(value) {}\n get isInPresentationMode() {\n return false;\n }\n async goToDestination(dest) {}\n goToPage(val) {}\n addLinkAttributes(link, url, newWindow = false) {\n addLinkAttributes(link, {\n url,\n enabled: this.externalLinkEnabled\n });\n }\n getDestinationHash(dest) {\n return \"#\";\n }\n getAnchorUrl(hash) {\n return \"#\";\n }\n setHash(hash) {}\n executeNamedAction(action) {}\n executeSetOCGState(action) {}\n cachePageRef(pageNum, pageRef) {}\n isPageVisible(pageNumber) {\n return true;\n }\n isPageCached(pageNumber) {\n return true;\n }\n}\nexports.SimpleLinkService = SimpleLinkService;\n\n/***/ }),\n/* 2 */\n/***/ ((__unused_webpack_module, exports) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.animationStarted = exports.VERTICAL_PADDING = exports.UNKNOWN_SCALE = exports.TextLayerMode = exports.SpreadMode = exports.SidebarView = exports.ScrollMode = exports.SCROLLBAR_PADDING = exports.RenderingStates = exports.ProgressBar = exports.PresentationModeState = exports.OutputScale = exports.MIN_SCALE = exports.MAX_SCALE = exports.MAX_AUTO_SCALE = exports.DEFAULT_SCALE_VALUE = exports.DEFAULT_SCALE_DELTA = exports.DEFAULT_SCALE = exports.CursorTool = exports.AutoPrintRegExp = void 0;\nexports.apiPageLayoutToViewerModes = apiPageLayoutToViewerModes;\nexports.apiPageModeToSidebarView = apiPageModeToSidebarView;\nexports.approximateFraction = approximateFraction;\nexports.backtrackBeforeAllVisibleElements = backtrackBeforeAllVisibleElements;\nexports.binarySearchFirstItem = binarySearchFirstItem;\nexports.docStyle = void 0;\nexports.getActiveOrFocusedElement = getActiveOrFocusedElement;\nexports.getPageSizeInches = getPageSizeInches;\nexports.getVisibleElements = getVisibleElements;\nexports.isPortraitOrientation = isPortraitOrientation;\nexports.isValidRotation = isValidRotation;\nexports.isValidScrollMode = isValidScrollMode;\nexports.isValidSpreadMode = isValidSpreadMode;\nexports.noContextMenuHandler = noContextMenuHandler;\nexports.normalizeWheelEventDelta = normalizeWheelEventDelta;\nexports.normalizeWheelEventDirection = normalizeWheelEventDirection;\nexports.parseQueryString = parseQueryString;\nexports.removeNullCharacters = removeNullCharacters;\nexports.roundToDivide = roundToDivide;\nexports.scrollIntoView = scrollIntoView;\nexports.toggleCheckedBtn = toggleCheckedBtn;\nexports.watchScroll = watchScroll;\nconst DEFAULT_SCALE_VALUE = \"auto\";\nexports.DEFAULT_SCALE_VALUE = DEFAULT_SCALE_VALUE;\nconst DEFAULT_SCALE = 1.0;\nexports.DEFAULT_SCALE = DEFAULT_SCALE;\nconst DEFAULT_SCALE_DELTA = 1.1;\nexports.DEFAULT_SCALE_DELTA = DEFAULT_SCALE_DELTA;\nconst MIN_SCALE = 0.1;\nexports.MIN_SCALE = MIN_SCALE;\nconst MAX_SCALE = 10.0;\nexports.MAX_SCALE = MAX_SCALE;\nconst UNKNOWN_SCALE = 0;\nexports.UNKNOWN_SCALE = UNKNOWN_SCALE;\nconst MAX_AUTO_SCALE = 1.25;\nexports.MAX_AUTO_SCALE = MAX_AUTO_SCALE;\nconst SCROLLBAR_PADDING = 40;\nexports.SCROLLBAR_PADDING = SCROLLBAR_PADDING;\nconst VERTICAL_PADDING = 5;\nexports.VERTICAL_PADDING = VERTICAL_PADDING;\nconst RenderingStates = {\n INITIAL: 0,\n RUNNING: 1,\n PAUSED: 2,\n FINISHED: 3\n};\nexports.RenderingStates = RenderingStates;\nconst PresentationModeState = {\n UNKNOWN: 0,\n NORMAL: 1,\n CHANGING: 2,\n FULLSCREEN: 3\n};\nexports.PresentationModeState = PresentationModeState;\nconst SidebarView = {\n UNKNOWN: -1,\n NONE: 0,\n THUMBS: 1,\n OUTLINE: 2,\n ATTACHMENTS: 3,\n LAYERS: 4\n};\nexports.SidebarView = SidebarView;\nconst TextLayerMode = {\n DISABLE: 0,\n ENABLE: 1,\n ENABLE_PERMISSIONS: 2\n};\nexports.TextLayerMode = TextLayerMode;\nconst ScrollMode = {\n UNKNOWN: -1,\n VERTICAL: 0,\n HORIZONTAL: 1,\n WRAPPED: 2,\n PAGE: 3\n};\nexports.ScrollMode = ScrollMode;\nconst SpreadMode = {\n UNKNOWN: -1,\n NONE: 0,\n ODD: 1,\n EVEN: 2\n};\nexports.SpreadMode = SpreadMode;\nconst CursorTool = {\n SELECT: 0,\n HAND: 1,\n ZOOM: 2\n};\nexports.CursorTool = CursorTool;\nconst AutoPrintRegExp = /\\bprint\\s*\\(/;\nexports.AutoPrintRegExp = AutoPrintRegExp;\nclass OutputScale {\n constructor() {\n const pixelRatio = window.devicePixelRatio || 1;\n this.sx = pixelRatio;\n this.sy = pixelRatio;\n }\n get scaled() {\n return this.sx !== 1 || this.sy !== 1;\n }\n}\nexports.OutputScale = OutputScale;\nfunction scrollIntoView(element, spot, scrollMatches = false) {\n let parent = element.offsetParent;\n if (!parent) {\n console.error(\"offsetParent is not set -- cannot scroll\");\n return;\n }\n let offsetY = element.offsetTop + element.clientTop;\n let offsetX = element.offsetLeft + element.clientLeft;\n while (parent.clientHeight === parent.scrollHeight && parent.clientWidth === parent.scrollWidth || scrollMatches && (parent.classList.contains(\"markedContent\") || getComputedStyle(parent).overflow === \"hidden\")) {\n offsetY += parent.offsetTop;\n offsetX += parent.offsetLeft;\n parent = parent.offsetParent;\n if (!parent) {\n return;\n }\n }\n if (spot) {\n if (spot.top !== undefined) {\n offsetY += spot.top;\n }\n if (spot.left !== undefined) {\n offsetX += spot.left;\n parent.scrollLeft = offsetX;\n }\n }\n parent.scrollTop = offsetY;\n}\nfunction watchScroll(viewAreaElement, callback) {\n const debounceScroll = function (evt) {\n if (rAF) {\n return;\n }\n rAF = window.requestAnimationFrame(function viewAreaElementScrolled() {\n rAF = null;\n const currentX = viewAreaElement.scrollLeft;\n const lastX = state.lastX;\n if (currentX !== lastX) {\n state.right = currentX > lastX;\n }\n state.lastX = currentX;\n const currentY = viewAreaElement.scrollTop;\n const lastY = state.lastY;\n if (currentY !== lastY) {\n state.down = currentY > lastY;\n }\n state.lastY = currentY;\n callback(state);\n });\n };\n const state = {\n right: true,\n down: true,\n lastX: viewAreaElement.scrollLeft,\n lastY: viewAreaElement.scrollTop,\n _eventHandler: debounceScroll\n };\n let rAF = null;\n viewAreaElement.addEventListener(\"scroll\", debounceScroll, true);\n return state;\n}\nfunction parseQueryString(query) {\n const params = new Map();\n for (const [key, value] of new URLSearchParams(query)) {\n params.set(key.toLowerCase(), value);\n }\n return params;\n}\nconst InvisibleCharactersRegExp = /[\\x01-\\x1F]/g;\nfunction removeNullCharacters(str, replaceInvisible = false) {\n if (typeof str !== \"string\") {\n console.error(`The argument must be a string.`);\n return str;\n }\n if (replaceInvisible) {\n str = str.replaceAll(InvisibleCharactersRegExp, \" \");\n }\n return str.replaceAll(\"\\x00\", \"\");\n}\nfunction binarySearchFirstItem(items, condition, start = 0) {\n let minIndex = start;\n let maxIndex = items.length - 1;\n if (maxIndex < 0 || !condition(items[maxIndex])) {\n return items.length;\n }\n if (condition(items[minIndex])) {\n return minIndex;\n }\n while (minIndex < maxIndex) {\n const currentIndex = minIndex + maxIndex >> 1;\n const currentItem = items[currentIndex];\n if (condition(currentItem)) {\n maxIndex = currentIndex;\n } else {\n minIndex = currentIndex + 1;\n }\n }\n return minIndex;\n}\nfunction approximateFraction(x) {\n if (Math.floor(x) === x) {\n return [x, 1];\n }\n const xinv = 1 / x;\n const limit = 8;\n if (xinv > limit) {\n return [1, limit];\n } else if (Math.floor(xinv) === xinv) {\n return [1, xinv];\n }\n const x_ = x > 1 ? xinv : x;\n let a = 0,\n b = 1,\n c = 1,\n d = 1;\n while (true) {\n const p = a + c,\n q = b + d;\n if (q > limit) {\n break;\n }\n if (x_ <= p / q) {\n c = p;\n d = q;\n } else {\n a = p;\n b = q;\n }\n }\n let result;\n if (x_ - a / b < c / d - x_) {\n result = x_ === x ? [a, b] : [b, a];\n } else {\n result = x_ === x ? [c, d] : [d, c];\n }\n return result;\n}\nfunction roundToDivide(x, div) {\n const r = x % div;\n return r === 0 ? x : Math.round(x - r + div);\n}\nfunction getPageSizeInches({\n view,\n userUnit,\n rotate\n}) {\n const [x1, y1, x2, y2] = view;\n const changeOrientation = rotate % 180 !== 0;\n const width = (x2 - x1) / 72 * userUnit;\n const height = (y2 - y1) / 72 * userUnit;\n return {\n width: changeOrientation ? height : width,\n height: changeOrientation ? width : height\n };\n}\nfunction backtrackBeforeAllVisibleElements(index, views, top) {\n if (index < 2) {\n return index;\n }\n let elt = views[index].div;\n let pageTop = elt.offsetTop + elt.clientTop;\n if (pageTop >= top) {\n elt = views[index - 1].div;\n pageTop = elt.offsetTop + elt.clientTop;\n }\n for (let i = index - 2; i >= 0; --i) {\n elt = views[i].div;\n if (elt.offsetTop + elt.clientTop + elt.clientHeight <= pageTop) {\n break;\n }\n index = i;\n }\n return index;\n}\nfunction getVisibleElements({\n scrollEl,\n views,\n sortByVisibility = false,\n horizontal = false,\n rtl = false\n}) {\n const top = scrollEl.scrollTop,\n bottom = top + scrollEl.clientHeight;\n const left = scrollEl.scrollLeft,\n right = left + scrollEl.clientWidth;\n function isElementBottomAfterViewTop(view) {\n const element = view.div;\n const elementBottom = element.offsetTop + element.clientTop + element.clientHeight;\n return elementBottom > top;\n }\n function isElementNextAfterViewHorizontally(view) {\n const element = view.div;\n const elementLeft = element.offsetLeft + element.clientLeft;\n const elementRight = elementLeft + element.clientWidth;\n return rtl ? elementLeft < right : elementRight > left;\n }\n const visible = [],\n ids = new Set(),\n numViews = views.length;\n let firstVisibleElementInd = binarySearchFirstItem(views, horizontal ? isElementNextAfterViewHorizontally : isElementBottomAfterViewTop);\n if (firstVisibleElementInd > 0 && firstVisibleElementInd < numViews && !horizontal) {\n firstVisibleElementInd = backtrackBeforeAllVisibleElements(firstVisibleElementInd, views, top);\n }\n let lastEdge = horizontal ? right : -1;\n for (let i = firstVisibleElementInd; i < numViews; i++) {\n const view = views[i],\n element = view.div;\n const currentWidth = element.offsetLeft + element.clientLeft;\n const currentHeight = element.offsetTop + element.clientTop;\n const viewWidth = element.clientWidth,\n viewHeight = element.clientHeight;\n const viewRight = currentWidth + viewWidth;\n const viewBottom = currentHeight + viewHeight;\n if (lastEdge === -1) {\n if (viewBottom >= bottom) {\n lastEdge = viewBottom;\n }\n } else if ((horizontal ? currentWidth : currentHeight) > lastEdge) {\n break;\n }\n if (viewBottom <= top || currentHeight >= bottom || viewRight <= left || currentWidth >= right) {\n continue;\n }\n const hiddenHeight = Math.max(0, top - currentHeight) + Math.max(0, viewBottom - bottom);\n const hiddenWidth = Math.max(0, left - currentWidth) + Math.max(0, viewRight - right);\n const fractionHeight = (viewHeight - hiddenHeight) / viewHeight,\n fractionWidth = (viewWidth - hiddenWidth) / viewWidth;\n const percent = fractionHeight * fractionWidth * 100 | 0;\n visible.push({\n id: view.id,\n x: currentWidth,\n y: currentHeight,\n view,\n percent,\n widthPercent: fractionWidth * 100 | 0\n });\n ids.add(view.id);\n }\n const first = visible[0],\n last = visible.at(-1);\n if (sortByVisibility) {\n visible.sort(function (a, b) {\n const pc = a.percent - b.percent;\n if (Math.abs(pc) > 0.001) {\n return -pc;\n }\n return a.id - b.id;\n });\n }\n return {\n first,\n last,\n views: visible,\n ids\n };\n}\nfunction noContextMenuHandler(evt) {\n evt.preventDefault();\n}\nfunction normalizeWheelEventDirection(evt) {\n let delta = Math.hypot(evt.deltaX, evt.deltaY);\n const angle = Math.atan2(evt.deltaY, evt.deltaX);\n if (-0.25 * Math.PI < angle && angle < 0.75 * Math.PI) {\n delta = -delta;\n }\n return delta;\n}\nfunction normalizeWheelEventDelta(evt) {\n const deltaMode = evt.deltaMode;\n let delta = normalizeWheelEventDirection(evt);\n const MOUSE_PIXELS_PER_LINE = 30;\n const MOUSE_LINES_PER_PAGE = 30;\n if (deltaMode === WheelEvent.DOM_DELTA_PIXEL) {\n delta /= MOUSE_PIXELS_PER_LINE * MOUSE_LINES_PER_PAGE;\n } else if (deltaMode === WheelEvent.DOM_DELTA_LINE) {\n delta /= MOUSE_LINES_PER_PAGE;\n }\n return delta;\n}\nfunction isValidRotation(angle) {\n return Number.isInteger(angle) && angle % 90 === 0;\n}\nfunction isValidScrollMode(mode) {\n return Number.isInteger(mode) && Object.values(ScrollMode).includes(mode) && mode !== ScrollMode.UNKNOWN;\n}\nfunction isValidSpreadMode(mode) {\n return Number.isInteger(mode) && Object.values(SpreadMode).includes(mode) && mode !== SpreadMode.UNKNOWN;\n}\nfunction isPortraitOrientation(size) {\n return size.width <= size.height;\n}\nconst animationStarted = new Promise(function (resolve) {\n window.requestAnimationFrame(resolve);\n});\nexports.animationStarted = animationStarted;\nconst docStyle = document.documentElement.style;\nexports.docStyle = docStyle;\nfunction clamp(v, min, max) {\n return Math.min(Math.max(v, min), max);\n}\nclass ProgressBar {\n #classList = null;\n #disableAutoFetchTimeout = null;\n #percent = 0;\n #style = null;\n #visible = true;\n constructor(bar) {\n this.#classList = bar.classList;\n this.#style = bar.style;\n }\n get percent() {\n return this.#percent;\n }\n set percent(val) {\n this.#percent = clamp(val, 0, 100);\n if (isNaN(val)) {\n this.#classList.add(\"indeterminate\");\n return;\n }\n this.#classList.remove(\"indeterminate\");\n this.#style.setProperty(\"--progressBar-percent\", `${this.#percent}%`);\n }\n setWidth(viewer) {\n if (!viewer) {\n return;\n }\n const container = viewer.parentNode;\n const scrollbarWidth = container.offsetWidth - viewer.offsetWidth;\n if (scrollbarWidth > 0) {\n this.#style.setProperty(\"--progressBar-end-offset\", `${scrollbarWidth}px`);\n }\n }\n setDisableAutoFetch(delay = 5000) {\n if (isNaN(this.#percent)) {\n return;\n }\n if (this.#disableAutoFetchTimeout) {\n clearTimeout(this.#disableAutoFetchTimeout);\n }\n this.show();\n this.#disableAutoFetchTimeout = setTimeout(() => {\n this.#disableAutoFetchTimeout = null;\n this.hide();\n }, delay);\n }\n hide() {\n if (!this.#visible) {\n return;\n }\n this.#visible = false;\n this.#classList.add(\"hidden\");\n }\n show() {\n if (this.#visible) {\n return;\n }\n this.#visible = true;\n this.#classList.remove(\"hidden\");\n }\n}\nexports.ProgressBar = ProgressBar;\nfunction getActiveOrFocusedElement() {\n let curRoot = document;\n let curActiveOrFocused = curRoot.activeElement || curRoot.querySelector(\":focus\");\n while (curActiveOrFocused?.shadowRoot) {\n curRoot = curActiveOrFocused.shadowRoot;\n curActiveOrFocused = curRoot.activeElement || curRoot.querySelector(\":focus\");\n }\n return curActiveOrFocused;\n}\nfunction apiPageLayoutToViewerModes(layout) {\n let scrollMode = ScrollMode.VERTICAL,\n spreadMode = SpreadMode.NONE;\n switch (layout) {\n case \"SinglePage\":\n scrollMode = ScrollMode.PAGE;\n break;\n case \"OneColumn\":\n break;\n case \"TwoPageLeft\":\n scrollMode = ScrollMode.PAGE;\n case \"TwoColumnLeft\":\n spreadMode = SpreadMode.ODD;\n break;\n case \"TwoPageRight\":\n scrollMode = ScrollMode.PAGE;\n case \"TwoColumnRight\":\n spreadMode = SpreadMode.EVEN;\n break;\n }\n return {\n scrollMode,\n spreadMode\n };\n}\nfunction apiPageModeToSidebarView(mode) {\n switch (mode) {\n case \"UseNone\":\n return SidebarView.NONE;\n case \"UseThumbs\":\n return SidebarView.THUMBS;\n case \"UseOutlines\":\n return SidebarView.OUTLINE;\n case \"UseAttachments\":\n return SidebarView.ATTACHMENTS;\n case \"UseOC\":\n return SidebarView.LAYERS;\n }\n return SidebarView.NONE;\n}\nfunction toggleCheckedBtn(button, toggle, view = null) {\n button.classList.toggle(\"toggled\", toggle);\n button.setAttribute(\"aria-checked\", toggle);\n view?.classList.toggle(\"hidden\", !toggle);\n}\n\n/***/ }),\n/* 3 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.AnnotationLayerBuilder = void 0;\nvar _pdfjsLib = __w_pdfjs_require__(4);\nvar _l10n_utils = __w_pdfjs_require__(5);\nvar _ui_utils = __w_pdfjs_require__(2);\nclass AnnotationLayerBuilder {\n #numAnnotations = 0;\n #onPresentationModeChanged = null;\n constructor({\n pageDiv,\n pdfPage,\n linkService,\n downloadManager,\n annotationStorage = null,\n imageResourcesPath = \"\",\n renderForms = true,\n l10n = _l10n_utils.NullL10n,\n enableScripting = false,\n hasJSActionsPromise = null,\n fieldObjectsPromise = null,\n annotationCanvasMap = null,\n accessibilityManager = null\n }) {\n this.pageDiv = pageDiv;\n this.pdfPage = pdfPage;\n this.linkService = linkService;\n this.downloadManager = downloadManager;\n this.imageResourcesPath = imageResourcesPath;\n this.renderForms = renderForms;\n this.l10n = l10n;\n this.annotationStorage = annotationStorage;\n this.enableScripting = enableScripting;\n this._hasJSActionsPromise = hasJSActionsPromise || Promise.resolve(false);\n this._fieldObjectsPromise = fieldObjectsPromise || Promise.resolve(null);\n this._annotationCanvasMap = annotationCanvasMap;\n this._accessibilityManager = accessibilityManager;\n this.div = null;\n this._cancelled = false;\n this._eventBus = linkService.eventBus;\n }\n async render(viewport, intent = \"display\") {\n if (this.div) {\n if (this._cancelled || this.#numAnnotations === 0) {\n return;\n }\n _pdfjsLib.AnnotationLayer.update({\n viewport: viewport.clone({\n dontFlip: true\n }),\n div: this.div,\n annotationCanvasMap: this._annotationCanvasMap\n });\n return;\n }\n const [annotations, hasJSActions, fieldObjects] = await Promise.all([this.pdfPage.getAnnotations({\n intent\n }), this._hasJSActionsPromise, this._fieldObjectsPromise]);\n if (this._cancelled) {\n return;\n }\n this.#numAnnotations = annotations.length;\n this.div = document.createElement(\"div\");\n this.div.className = \"annotationLayer\";\n this.pageDiv.append(this.div);\n if (this.#numAnnotations === 0) {\n this.hide();\n return;\n }\n _pdfjsLib.AnnotationLayer.render({\n viewport: viewport.clone({\n dontFlip: true\n }),\n div: this.div,\n annotations,\n page: this.pdfPage,\n imageResourcesPath: this.imageResourcesPath,\n renderForms: this.renderForms,\n linkService: this.linkService,\n downloadManager: this.downloadManager,\n annotationStorage: this.annotationStorage,\n enableScripting: this.enableScripting,\n hasJSActions,\n fieldObjects,\n annotationCanvasMap: this._annotationCanvasMap,\n accessibilityManager: this._accessibilityManager\n });\n this.l10n.translate(this.div);\n if (this.linkService.isInPresentationMode) {\n this.#updatePresentationModeState(_ui_utils.PresentationModeState.FULLSCREEN);\n }\n if (!this.#onPresentationModeChanged) {\n this.#onPresentationModeChanged = evt => {\n this.#updatePresentationModeState(evt.state);\n };\n this._eventBus?._on(\"presentationmodechanged\", this.#onPresentationModeChanged);\n }\n }\n cancel() {\n this._cancelled = true;\n if (this.#onPresentationModeChanged) {\n this._eventBus?._off(\"presentationmodechanged\", this.#onPresentationModeChanged);\n this.#onPresentationModeChanged = null;\n }\n }\n hide() {\n if (!this.div) {\n return;\n }\n this.div.hidden = true;\n }\n #updatePresentationModeState(state) {\n if (!this.div) {\n return;\n }\n let disableFormElements = false;\n switch (state) {\n case _ui_utils.PresentationModeState.FULLSCREEN:\n disableFormElements = true;\n break;\n case _ui_utils.PresentationModeState.NORMAL:\n break;\n default:\n return;\n }\n for (const section of this.div.childNodes) {\n if (section.hasAttribute(\"data-internal-link\")) {\n continue;\n }\n section.inert = disableFormElements;\n }\n }\n}\nexports.AnnotationLayerBuilder = AnnotationLayerBuilder;\n\n/***/ }),\n/* 4 */\n/***/ ((module) => {\n\n\n\nlet pdfjsLib;\nif (typeof window !== \"undefined\" && window[\"pdfjs-dist/build/pdf\"]) {\n pdfjsLib = window[\"pdfjs-dist/build/pdf\"];\n} else {\n pdfjsLib = require(\"../build/pdf.js\");\n}\nmodule.exports = pdfjsLib;\n\n/***/ }),\n/* 5 */\n/***/ ((__unused_webpack_module, exports) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.NullL10n = void 0;\nexports.fixupLangCode = fixupLangCode;\nexports.getL10nFallback = getL10nFallback;\nconst DEFAULT_L10N_STRINGS = {\n of_pages: \"of {{pagesCount}}\",\n page_of_pages: \"({{pageNumber}} of {{pagesCount}})\",\n document_properties_kb: \"{{size_kb}} KB ({{size_b}} bytes)\",\n document_properties_mb: \"{{size_mb}} MB ({{size_b}} bytes)\",\n document_properties_date_string: \"{{date}}, {{time}}\",\n document_properties_page_size_unit_inches: \"in\",\n document_properties_page_size_unit_millimeters: \"mm\",\n document_properties_page_size_orientation_portrait: \"portrait\",\n document_properties_page_size_orientation_landscape: \"landscape\",\n document_properties_page_size_name_a3: \"A3\",\n document_properties_page_size_name_a4: \"A4\",\n document_properties_page_size_name_letter: \"Letter\",\n document_properties_page_size_name_legal: \"Legal\",\n document_properties_page_size_dimension_string: \"{{width}} × {{height}} {{unit}} ({{orientation}})\",\n document_properties_page_size_dimension_name_string: \"{{width}} × {{height}} {{unit}} ({{name}}, {{orientation}})\",\n document_properties_linearized_yes: \"Yes\",\n document_properties_linearized_no: \"No\",\n additional_layers: \"Additional Layers\",\n page_landmark: \"Page {{page}}\",\n thumb_page_title: \"Page {{page}}\",\n thumb_page_canvas: \"Thumbnail of Page {{page}}\",\n find_reached_top: \"Reached top of document, continued from bottom\",\n find_reached_bottom: \"Reached end of document, continued from top\",\n \"find_match_count[one]\": \"{{current}} of {{total}} match\",\n \"find_match_count[other]\": \"{{current}} of {{total}} matches\",\n \"find_match_count_limit[one]\": \"More than {{limit}} match\",\n \"find_match_count_limit[other]\": \"More than {{limit}} matches\",\n find_not_found: \"Phrase not found\",\n page_scale_width: \"Page Width\",\n page_scale_fit: \"Page Fit\",\n page_scale_auto: \"Automatic Zoom\",\n page_scale_actual: \"Actual Size\",\n page_scale_percent: \"{{scale}}%\",\n loading_error: \"An error occurred while loading the PDF.\",\n invalid_file_error: \"Invalid or corrupted PDF file.\",\n missing_file_error: \"Missing PDF file.\",\n unexpected_response_error: \"Unexpected server response.\",\n rendering_error: \"An error occurred while rendering the page.\",\n printing_not_supported: \"Warning: Printing is not fully supported by this browser.\",\n printing_not_ready: \"Warning: The PDF is not fully loaded for printing.\",\n web_fonts_disabled: \"Web fonts are disabled: unable to use embedded PDF fonts.\",\n free_text2_default_content: \"Start typing…\",\n editor_free_text2_aria_label: \"Text Editor\",\n editor_ink2_aria_label: \"Draw Editor\",\n editor_ink_canvas_aria_label: \"User-created image\"\n};\n{\n DEFAULT_L10N_STRINGS.print_progress_percent = \"{{progress}}%\";\n}\nfunction getL10nFallback(key, args) {\n switch (key) {\n case \"find_match_count\":\n key = `find_match_count[${args.total === 1 ? \"one\" : \"other\"}]`;\n break;\n case \"find_match_count_limit\":\n key = `find_match_count_limit[${args.limit === 1 ? \"one\" : \"other\"}]`;\n break;\n }\n return DEFAULT_L10N_STRINGS[key] || \"\";\n}\nconst PARTIAL_LANG_CODES = {\n en: \"en-US\",\n es: \"es-ES\",\n fy: \"fy-NL\",\n ga: \"ga-IE\",\n gu: \"gu-IN\",\n hi: \"hi-IN\",\n hy: \"hy-AM\",\n nb: \"nb-NO\",\n ne: \"ne-NP\",\n nn: \"nn-NO\",\n pa: \"pa-IN\",\n pt: \"pt-PT\",\n sv: \"sv-SE\",\n zh: \"zh-CN\"\n};\nfunction fixupLangCode(langCode) {\n return PARTIAL_LANG_CODES[langCode?.toLowerCase()] || langCode;\n}\nfunction formatL10nValue(text, args) {\n if (!args) {\n return text;\n }\n return text.replaceAll(/\\{\\{\\s*(\\w+)\\s*\\}\\}/g, (all, name) => {\n return name in args ? args[name] : \"{{\" + name + \"}}\";\n });\n}\nconst NullL10n = {\n async getLanguage() {\n return \"en-us\";\n },\n async getDirection() {\n return \"ltr\";\n },\n async get(key, args = null, fallback = getL10nFallback(key, args)) {\n return formatL10nValue(fallback, args);\n },\n async translate(element) {}\n};\nexports.NullL10n = NullL10n;\n\n/***/ }),\n/* 6 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.DownloadManager = void 0;\nvar _pdfjsLib = __w_pdfjs_require__(4);\n;\nfunction download(blobUrl, filename) {\n const a = document.createElement(\"a\");\n if (!a.click) {\n throw new Error('DownloadManager: \"a.click()\" is not supported.');\n }\n a.href = blobUrl;\n a.target = \"_parent\";\n if (\"download\" in a) {\n a.download = filename;\n }\n (document.body || document.documentElement).append(a);\n a.click();\n a.remove();\n}\nclass DownloadManager {\n #openBlobUrls = new WeakMap();\n downloadUrl(url, filename, _options) {\n if (!(0, _pdfjsLib.createValidAbsoluteUrl)(url, \"http://example.com\")) {\n console.error(`downloadUrl - not a valid URL: ${url}`);\n return;\n }\n download(url + \"#pdfjs.action=download\", filename);\n }\n downloadData(data, filename, contentType) {\n const blobUrl = URL.createObjectURL(new Blob([data], {\n type: contentType\n }));\n download(blobUrl, filename);\n }\n openOrDownloadData(element, data, filename) {\n const isPdfData = (0, _pdfjsLib.isPdfFile)(filename);\n const contentType = isPdfData ? \"application/pdf\" : \"\";\n this.downloadData(data, filename, contentType);\n return false;\n }\n download(blob, url, filename, _options) {\n const blobUrl = URL.createObjectURL(blob);\n download(blobUrl, filename);\n }\n}\nexports.DownloadManager = DownloadManager;\n\n/***/ }),\n/* 7 */\n/***/ ((__unused_webpack_module, exports) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.WaitOnType = exports.EventBus = exports.AutomationEventBus = void 0;\nexports.waitOnEventOrTimeout = waitOnEventOrTimeout;\nconst WaitOnType = {\n EVENT: \"event\",\n TIMEOUT: \"timeout\"\n};\nexports.WaitOnType = WaitOnType;\nfunction waitOnEventOrTimeout({\n target,\n name,\n delay = 0\n}) {\n return new Promise(function (resolve, reject) {\n if (typeof target !== \"object\" || !(name && typeof name === \"string\") || !(Number.isInteger(delay) && delay >= 0)) {\n throw new Error(\"waitOnEventOrTimeout - invalid parameters.\");\n }\n function handler(type) {\n if (target instanceof EventBus) {\n target._off(name, eventHandler);\n } else {\n target.removeEventListener(name, eventHandler);\n }\n if (timeout) {\n clearTimeout(timeout);\n }\n resolve(type);\n }\n const eventHandler = handler.bind(null, WaitOnType.EVENT);\n if (target instanceof EventBus) {\n target._on(name, eventHandler);\n } else {\n target.addEventListener(name, eventHandler);\n }\n const timeoutHandler = handler.bind(null, WaitOnType.TIMEOUT);\n const timeout = setTimeout(timeoutHandler, delay);\n });\n}\nclass EventBus {\n #listeners = Object.create(null);\n on(eventName, listener, options = null) {\n this._on(eventName, listener, {\n external: true,\n once: options?.once\n });\n }\n off(eventName, listener, options = null) {\n this._off(eventName, listener, {\n external: true,\n once: options?.once\n });\n }\n dispatch(eventName, data) {\n const eventListeners = this.#listeners[eventName];\n if (!eventListeners || eventListeners.length === 0) {\n return;\n }\n let externalListeners;\n for (const {\n listener,\n external,\n once\n } of eventListeners.slice(0)) {\n if (once) {\n this._off(eventName, listener);\n }\n if (external) {\n (externalListeners ||= []).push(listener);\n continue;\n }\n listener(data);\n }\n if (externalListeners) {\n for (const listener of externalListeners) {\n listener(data);\n }\n externalListeners = null;\n }\n }\n _on(eventName, listener, options = null) {\n const eventListeners = this.#listeners[eventName] ||= [];\n eventListeners.push({\n listener,\n external: options?.external === true,\n once: options?.once === true\n });\n }\n _off(eventName, listener, options = null) {\n const eventListeners = this.#listeners[eventName];\n if (!eventListeners) {\n return;\n }\n for (let i = 0, ii = eventListeners.length; i < ii; i++) {\n if (eventListeners[i].listener === listener) {\n eventListeners.splice(i, 1);\n return;\n }\n }\n }\n}\nexports.EventBus = EventBus;\nclass AutomationEventBus extends EventBus {\n dispatch(eventName, data) {\n throw new Error(\"Not implemented: AutomationEventBus.dispatch\");\n }\n}\nexports.AutomationEventBus = AutomationEventBus;\n\n/***/ }),\n/* 8 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.GenericL10n = void 0;\n__w_pdfjs_require__(9);\nvar _l10n_utils = __w_pdfjs_require__(5);\nconst webL10n = document.webL10n;\nclass GenericL10n {\n constructor(lang) {\n this._lang = lang;\n this._ready = new Promise((resolve, reject) => {\n webL10n.setLanguage((0, _l10n_utils.fixupLangCode)(lang), () => {\n resolve(webL10n);\n });\n });\n }\n async getLanguage() {\n const l10n = await this._ready;\n return l10n.getLanguage();\n }\n async getDirection() {\n const l10n = await this._ready;\n return l10n.getDirection();\n }\n async get(key, args = null, fallback = (0, _l10n_utils.getL10nFallback)(key, args)) {\n const l10n = await this._ready;\n return l10n.get(key, args, fallback);\n }\n async translate(element) {\n const l10n = await this._ready;\n return l10n.translate(element);\n }\n}\nexports.GenericL10n = GenericL10n;\n\n/***/ }),\n/* 9 */\n/***/ (() => {\n\n\n\ndocument.webL10n = function (window, document, undefined) {\n var gL10nData = {};\n var gTextData = '';\n var gTextProp = 'textContent';\n var gLanguage = '';\n var gMacros = {};\n var gReadyState = 'loading';\n var gAsyncResourceLoading = true;\n function getL10nResourceLinks() {\n return document.querySelectorAll('link[type=\"application/l10n\"]');\n }\n function getL10nDictionary() {\n var script = document.querySelector('script[type=\"application/l10n\"]');\n return script ? JSON.parse(script.innerHTML) : null;\n }\n function getTranslatableChildren(element) {\n return element ? element.querySelectorAll('*[data-l10n-id]') : [];\n }\n function getL10nAttributes(element) {\n if (!element) return {};\n var l10nId = element.getAttribute('data-l10n-id');\n var l10nArgs = element.getAttribute('data-l10n-args');\n var args = {};\n if (l10nArgs) {\n try {\n args = JSON.parse(l10nArgs);\n } catch (e) {\n console.warn('could not parse arguments for #' + l10nId);\n }\n }\n return {\n id: l10nId,\n args: args\n };\n }\n function xhrLoadText(url, onSuccess, onFailure) {\n onSuccess = onSuccess || function _onSuccess(data) {};\n onFailure = onFailure || function _onFailure() {};\n var xhr = new XMLHttpRequest();\n xhr.open('GET', url, gAsyncResourceLoading);\n if (xhr.overrideMimeType) {\n xhr.overrideMimeType('text/plain; charset=utf-8');\n }\n xhr.onreadystatechange = function () {\n if (xhr.readyState == 4) {\n if (xhr.status == 200 || xhr.status === 0) {\n onSuccess(xhr.responseText);\n } else {\n onFailure();\n }\n }\n };\n xhr.onerror = onFailure;\n xhr.ontimeout = onFailure;\n try {\n xhr.send(null);\n } catch (e) {\n onFailure();\n }\n }\n function parseResource(href, lang, successCallback, failureCallback) {\n var baseURL = href.replace(/[^\\/]*$/, '') || './';\n function evalString(text) {\n if (text.lastIndexOf('\\\\') < 0) return text;\n return text.replace(/\\\\\\\\/g, '\\\\').replace(/\\\\n/g, '\\n').replace(/\\\\r/g, '\\r').replace(/\\\\t/g, '\\t').replace(/\\\\b/g, '\\b').replace(/\\\\f/g, '\\f').replace(/\\\\{/g, '{').replace(/\\\\}/g, '}').replace(/\\\\\"/g, '\"').replace(/\\\\'/g, \"'\");\n }\n function parseProperties(text, parsedPropertiesCallback) {\n var dictionary = {};\n var reBlank = /^\\s*|\\s*$/;\n var reComment = /^\\s*#|^\\s*$/;\n var reSection = /^\\s*\\[(.*)\\]\\s*$/;\n var reImport = /^\\s*@import\\s+url\\((.*)\\)\\s*$/i;\n var reSplit = /^([^=\\s]*)\\s*=\\s*(.+)$/;\n function parseRawLines(rawText, extendedSyntax, parsedRawLinesCallback) {\n var entries = rawText.replace(reBlank, '').split(/[\\r\\n]+/);\n var currentLang = '*';\n var genericLang = lang.split('-', 1)[0];\n var skipLang = false;\n var match = '';\n function nextEntry() {\n while (true) {\n if (!entries.length) {\n parsedRawLinesCallback();\n return;\n }\n var line = entries.shift();\n if (reComment.test(line)) continue;\n if (extendedSyntax) {\n match = reSection.exec(line);\n if (match) {\n currentLang = match[1].toLowerCase();\n skipLang = currentLang !== '*' && currentLang !== lang && currentLang !== genericLang;\n continue;\n } else if (skipLang) {\n continue;\n }\n match = reImport.exec(line);\n if (match) {\n loadImport(baseURL + match[1], nextEntry);\n return;\n }\n }\n var tmp = line.match(reSplit);\n if (tmp && tmp.length == 3) {\n dictionary[tmp[1]] = evalString(tmp[2]);\n }\n }\n }\n nextEntry();\n }\n function loadImport(url, callback) {\n xhrLoadText(url, function (content) {\n parseRawLines(content, false, callback);\n }, function () {\n console.warn(url + ' not found.');\n callback();\n });\n }\n parseRawLines(text, true, function () {\n parsedPropertiesCallback(dictionary);\n });\n }\n xhrLoadText(href, function (response) {\n gTextData += response;\n parseProperties(response, function (data) {\n for (var key in data) {\n var id,\n prop,\n index = key.lastIndexOf('.');\n if (index > 0) {\n id = key.substring(0, index);\n prop = key.substring(index + 1);\n } else {\n id = key;\n prop = gTextProp;\n }\n if (!gL10nData[id]) {\n gL10nData[id] = {};\n }\n gL10nData[id][prop] = data[key];\n }\n if (successCallback) {\n successCallback();\n }\n });\n }, failureCallback);\n }\n function loadLocale(lang, callback) {\n if (lang) {\n lang = lang.toLowerCase();\n }\n callback = callback || function _callback() {};\n clear();\n gLanguage = lang;\n var langLinks = getL10nResourceLinks();\n var langCount = langLinks.length;\n if (langCount === 0) {\n var dict = getL10nDictionary();\n if (dict && dict.locales && dict.default_locale) {\n console.log('using the embedded JSON directory, early way out');\n gL10nData = dict.locales[lang];\n if (!gL10nData) {\n var defaultLocale = dict.default_locale.toLowerCase();\n for (var anyCaseLang in dict.locales) {\n anyCaseLang = anyCaseLang.toLowerCase();\n if (anyCaseLang === lang) {\n gL10nData = dict.locales[lang];\n break;\n } else if (anyCaseLang === defaultLocale) {\n gL10nData = dict.locales[defaultLocale];\n }\n }\n }\n callback();\n } else {\n console.log('no resource to load, early way out');\n }\n gReadyState = 'complete';\n return;\n }\n var onResourceLoaded = null;\n var gResourceCount = 0;\n onResourceLoaded = function () {\n gResourceCount++;\n if (gResourceCount >= langCount) {\n callback();\n gReadyState = 'complete';\n }\n };\n function L10nResourceLink(link) {\n var href = link.href;\n this.load = function (lang, callback) {\n parseResource(href, lang, callback, function () {\n console.warn(href + ' not found.');\n console.warn('\"' + lang + '\" resource not found');\n gLanguage = '';\n callback();\n });\n };\n }\n for (var i = 0; i < langCount; i++) {\n var resource = new L10nResourceLink(langLinks[i]);\n resource.load(lang, onResourceLoaded);\n }\n }\n function clear() {\n gL10nData = {};\n gTextData = '';\n gLanguage = '';\n }\n function getPluralRules(lang) {\n var locales2rules = {\n 'af': 3,\n 'ak': 4,\n 'am': 4,\n 'ar': 1,\n 'asa': 3,\n 'az': 0,\n 'be': 11,\n 'bem': 3,\n 'bez': 3,\n 'bg': 3,\n 'bh': 4,\n 'bm': 0,\n 'bn': 3,\n 'bo': 0,\n 'br': 20,\n 'brx': 3,\n 'bs': 11,\n 'ca': 3,\n 'cgg': 3,\n 'chr': 3,\n 'cs': 12,\n 'cy': 17,\n 'da': 3,\n 'de': 3,\n 'dv': 3,\n 'dz': 0,\n 'ee': 3,\n 'el': 3,\n 'en': 3,\n 'eo': 3,\n 'es': 3,\n 'et': 3,\n 'eu': 3,\n 'fa': 0,\n 'ff': 5,\n 'fi': 3,\n 'fil': 4,\n 'fo': 3,\n 'fr': 5,\n 'fur': 3,\n 'fy': 3,\n 'ga': 8,\n 'gd': 24,\n 'gl': 3,\n 'gsw': 3,\n 'gu': 3,\n 'guw': 4,\n 'gv': 23,\n 'ha': 3,\n 'haw': 3,\n 'he': 2,\n 'hi': 4,\n 'hr': 11,\n 'hu': 0,\n 'id': 0,\n 'ig': 0,\n 'ii': 0,\n 'is': 3,\n 'it': 3,\n 'iu': 7,\n 'ja': 0,\n 'jmc': 3,\n 'jv': 0,\n 'ka': 0,\n 'kab': 5,\n 'kaj': 3,\n 'kcg': 3,\n 'kde': 0,\n 'kea': 0,\n 'kk': 3,\n 'kl': 3,\n 'km': 0,\n 'kn': 0,\n 'ko': 0,\n 'ksb': 3,\n 'ksh': 21,\n 'ku': 3,\n 'kw': 7,\n 'lag': 18,\n 'lb': 3,\n 'lg': 3,\n 'ln': 4,\n 'lo': 0,\n 'lt': 10,\n 'lv': 6,\n 'mas': 3,\n 'mg': 4,\n 'mk': 16,\n 'ml': 3,\n 'mn': 3,\n 'mo': 9,\n 'mr': 3,\n 'ms': 0,\n 'mt': 15,\n 'my': 0,\n 'nah': 3,\n 'naq': 7,\n 'nb': 3,\n 'nd': 3,\n 'ne': 3,\n 'nl': 3,\n 'nn': 3,\n 'no': 3,\n 'nr': 3,\n 'nso': 4,\n 'ny': 3,\n 'nyn': 3,\n 'om': 3,\n 'or': 3,\n 'pa': 3,\n 'pap': 3,\n 'pl': 13,\n 'ps': 3,\n 'pt': 3,\n 'rm': 3,\n 'ro': 9,\n 'rof': 3,\n 'ru': 11,\n 'rwk': 3,\n 'sah': 0,\n 'saq': 3,\n 'se': 7,\n 'seh': 3,\n 'ses': 0,\n 'sg': 0,\n 'sh': 11,\n 'shi': 19,\n 'sk': 12,\n 'sl': 14,\n 'sma': 7,\n 'smi': 7,\n 'smj': 7,\n 'smn': 7,\n 'sms': 7,\n 'sn': 3,\n 'so': 3,\n 'sq': 3,\n 'sr': 11,\n 'ss': 3,\n 'ssy': 3,\n 'st': 3,\n 'sv': 3,\n 'sw': 3,\n 'syr': 3,\n 'ta': 3,\n 'te': 3,\n 'teo': 3,\n 'th': 0,\n 'ti': 4,\n 'tig': 3,\n 'tk': 3,\n 'tl': 4,\n 'tn': 3,\n 'to': 0,\n 'tr': 0,\n 'ts': 3,\n 'tzm': 22,\n 'uk': 11,\n 'ur': 3,\n 've': 3,\n 'vi': 0,\n 'vun': 3,\n 'wa': 4,\n 'wae': 3,\n 'wo': 0,\n 'xh': 3,\n 'xog': 3,\n 'yo': 0,\n 'zh': 0,\n 'zu': 3\n };\n function isIn(n, list) {\n return list.indexOf(n) !== -1;\n }\n function isBetween(n, start, end) {\n return start <= n && n <= end;\n }\n var pluralRules = {\n '0': function (n) {\n return 'other';\n },\n '1': function (n) {\n if (isBetween(n % 100, 3, 10)) return 'few';\n if (n === 0) return 'zero';\n if (isBetween(n % 100, 11, 99)) return 'many';\n if (n == 2) return 'two';\n if (n == 1) return 'one';\n return 'other';\n },\n '2': function (n) {\n if (n !== 0 && n % 10 === 0) return 'many';\n if (n == 2) return 'two';\n if (n == 1) return 'one';\n return 'other';\n },\n '3': function (n) {\n if (n == 1) return 'one';\n return 'other';\n },\n '4': function (n) {\n if (isBetween(n, 0, 1)) return 'one';\n return 'other';\n },\n '5': function (n) {\n if (isBetween(n, 0, 2) && n != 2) return 'one';\n return 'other';\n },\n '6': function (n) {\n if (n === 0) return 'zero';\n if (n % 10 == 1 && n % 100 != 11) return 'one';\n return 'other';\n },\n '7': function (n) {\n if (n == 2) return 'two';\n if (n == 1) return 'one';\n return 'other';\n },\n '8': function (n) {\n if (isBetween(n, 3, 6)) return 'few';\n if (isBetween(n, 7, 10)) return 'many';\n if (n == 2) return 'two';\n if (n == 1) return 'one';\n return 'other';\n },\n '9': function (n) {\n if (n === 0 || n != 1 && isBetween(n % 100, 1, 19)) return 'few';\n if (n == 1) return 'one';\n return 'other';\n },\n '10': function (n) {\n if (isBetween(n % 10, 2, 9) && !isBetween(n % 100, 11, 19)) return 'few';\n if (n % 10 == 1 && !isBetween(n % 100, 11, 19)) return 'one';\n return 'other';\n },\n '11': function (n) {\n if (isBetween(n % 10, 2, 4) && !isBetween(n % 100, 12, 14)) return 'few';\n if (n % 10 === 0 || isBetween(n % 10, 5, 9) || isBetween(n % 100, 11, 14)) return 'many';\n if (n % 10 == 1 && n % 100 != 11) return 'one';\n return 'other';\n },\n '12': function (n) {\n if (isBetween(n, 2, 4)) return 'few';\n if (n == 1) return 'one';\n return 'other';\n },\n '13': function (n) {\n if (isBetween(n % 10, 2, 4) && !isBetween(n % 100, 12, 14)) return 'few';\n if (n != 1 && isBetween(n % 10, 0, 1) || isBetween(n % 10, 5, 9) || isBetween(n % 100, 12, 14)) return 'many';\n if (n == 1) return 'one';\n return 'other';\n },\n '14': function (n) {\n if (isBetween(n % 100, 3, 4)) return 'few';\n if (n % 100 == 2) return 'two';\n if (n % 100 == 1) return 'one';\n return 'other';\n },\n '15': function (n) {\n if (n === 0 || isBetween(n % 100, 2, 10)) return 'few';\n if (isBetween(n % 100, 11, 19)) return 'many';\n if (n == 1) return 'one';\n return 'other';\n },\n '16': function (n) {\n if (n % 10 == 1 && n != 11) return 'one';\n return 'other';\n },\n '17': function (n) {\n if (n == 3) return 'few';\n if (n === 0) return 'zero';\n if (n == 6) return 'many';\n if (n == 2) return 'two';\n if (n == 1) return 'one';\n return 'other';\n },\n '18': function (n) {\n if (n === 0) return 'zero';\n if (isBetween(n, 0, 2) && n !== 0 && n != 2) return 'one';\n return 'other';\n },\n '19': function (n) {\n if (isBetween(n, 2, 10)) return 'few';\n if (isBetween(n, 0, 1)) return 'one';\n return 'other';\n },\n '20': function (n) {\n if ((isBetween(n % 10, 3, 4) || n % 10 == 9) && !(isBetween(n % 100, 10, 19) || isBetween(n % 100, 70, 79) || isBetween(n % 100, 90, 99))) return 'few';\n if (n % 1000000 === 0 && n !== 0) return 'many';\n if (n % 10 == 2 && !isIn(n % 100, [12, 72, 92])) return 'two';\n if (n % 10 == 1 && !isIn(n % 100, [11, 71, 91])) return 'one';\n return 'other';\n },\n '21': function (n) {\n if (n === 0) return 'zero';\n if (n == 1) return 'one';\n return 'other';\n },\n '22': function (n) {\n if (isBetween(n, 0, 1) || isBetween(n, 11, 99)) return 'one';\n return 'other';\n },\n '23': function (n) {\n if (isBetween(n % 10, 1, 2) || n % 20 === 0) return 'one';\n return 'other';\n },\n '24': function (n) {\n if (isBetween(n, 3, 10) || isBetween(n, 13, 19)) return 'few';\n if (isIn(n, [2, 12])) return 'two';\n if (isIn(n, [1, 11])) return 'one';\n return 'other';\n }\n };\n var index = locales2rules[lang.replace(/-.*$/, '')];\n if (!(index in pluralRules)) {\n console.warn('plural form unknown for [' + lang + ']');\n return function () {\n return 'other';\n };\n }\n return pluralRules[index];\n }\n gMacros.plural = function (str, param, key, prop) {\n var n = parseFloat(param);\n if (isNaN(n)) return str;\n if (prop != gTextProp) return str;\n if (!gMacros._pluralRules) {\n gMacros._pluralRules = getPluralRules(gLanguage);\n }\n var index = '[' + gMacros._pluralRules(n) + ']';\n if (n === 0 && key + '[zero]' in gL10nData) {\n str = gL10nData[key + '[zero]'][prop];\n } else if (n == 1 && key + '[one]' in gL10nData) {\n str = gL10nData[key + '[one]'][prop];\n } else if (n == 2 && key + '[two]' in gL10nData) {\n str = gL10nData[key + '[two]'][prop];\n } else if (key + index in gL10nData) {\n str = gL10nData[key + index][prop];\n } else if (key + '[other]' in gL10nData) {\n str = gL10nData[key + '[other]'][prop];\n }\n return str;\n };\n function getL10nData(key, args, fallback) {\n var data = gL10nData[key];\n if (!data) {\n console.warn('#' + key + ' is undefined.');\n if (!fallback) {\n return null;\n }\n data = fallback;\n }\n var rv = {};\n for (var prop in data) {\n var str = data[prop];\n str = substIndexes(str, args, key, prop);\n str = substArguments(str, args, key);\n rv[prop] = str;\n }\n return rv;\n }\n function substIndexes(str, args, key, prop) {\n var reIndex = /\\{\\[\\s*([a-zA-Z]+)\\(([a-zA-Z]+)\\)\\s*\\]\\}/;\n var reMatch = reIndex.exec(str);\n if (!reMatch || !reMatch.length) return str;\n var macroName = reMatch[1];\n var paramName = reMatch[2];\n var param;\n if (args && paramName in args) {\n param = args[paramName];\n } else if (paramName in gL10nData) {\n param = gL10nData[paramName];\n }\n if (macroName in gMacros) {\n var macro = gMacros[macroName];\n str = macro(str, param, key, prop);\n }\n return str;\n }\n function substArguments(str, args, key) {\n var reArgs = /\\{\\{\\s*(.+?)\\s*\\}\\}/g;\n return str.replace(reArgs, function (matched_text, arg) {\n if (args && arg in args) {\n return args[arg];\n }\n if (arg in gL10nData) {\n return gL10nData[arg];\n }\n console.log('argument {{' + arg + '}} for #' + key + ' is undefined.');\n return matched_text;\n });\n }\n function translateElement(element) {\n var l10n = getL10nAttributes(element);\n if (!l10n.id) return;\n var data = getL10nData(l10n.id, l10n.args);\n if (!data) {\n console.warn('#' + l10n.id + ' is undefined.');\n return;\n }\n if (data[gTextProp]) {\n if (getChildElementCount(element) === 0) {\n element[gTextProp] = data[gTextProp];\n } else {\n var children = element.childNodes;\n var found = false;\n for (var i = 0, l = children.length; i < l; i++) {\n if (children[i].nodeType === 3 && /\\S/.test(children[i].nodeValue)) {\n if (found) {\n children[i].nodeValue = '';\n } else {\n children[i].nodeValue = data[gTextProp];\n found = true;\n }\n }\n }\n if (!found) {\n var textNode = document.createTextNode(data[gTextProp]);\n element.prepend(textNode);\n }\n }\n delete data[gTextProp];\n }\n for (var k in data) {\n element[k] = data[k];\n }\n }\n function getChildElementCount(element) {\n if (element.children) {\n return element.children.length;\n }\n if (typeof element.childElementCount !== 'undefined') {\n return element.childElementCount;\n }\n var count = 0;\n for (var i = 0; i < element.childNodes.length; i++) {\n count += element.nodeType === 1 ? 1 : 0;\n }\n return count;\n }\n function translateFragment(element) {\n element = element || document.documentElement;\n var children = getTranslatableChildren(element);\n var elementCount = children.length;\n for (var i = 0; i < elementCount; i++) {\n translateElement(children[i]);\n }\n translateElement(element);\n }\n return {\n get: function (key, args, fallbackString) {\n var index = key.lastIndexOf('.');\n var prop = gTextProp;\n if (index > 0) {\n prop = key.substring(index + 1);\n key = key.substring(0, index);\n }\n var fallback;\n if (fallbackString) {\n fallback = {};\n fallback[prop] = fallbackString;\n }\n var data = getL10nData(key, args, fallback);\n if (data && prop in data) {\n return data[prop];\n }\n return '{{' + key + '}}';\n },\n getData: function () {\n return gL10nData;\n },\n getText: function () {\n return gTextData;\n },\n getLanguage: function () {\n return gLanguage;\n },\n setLanguage: function (lang, callback) {\n loadLocale(lang, function () {\n if (callback) callback();\n });\n },\n getDirection: function () {\n var rtlList = ['ar', 'he', 'fa', 'ps', 'ur'];\n var shortCode = gLanguage.split('-', 1)[0];\n return rtlList.indexOf(shortCode) >= 0 ? 'rtl' : 'ltr';\n },\n translate: translateFragment,\n getReadyState: function () {\n return gReadyState;\n },\n ready: function (callback) {\n if (!callback) {\n return;\n } else if (gReadyState == 'complete' || gReadyState == 'interactive') {\n window.setTimeout(function () {\n callback();\n });\n } else if (document.addEventListener) {\n document.addEventListener('localized', function once() {\n document.removeEventListener('localized', once);\n callback();\n });\n }\n }\n };\n}(window, document);\n\n/***/ }),\n/* 10 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.PDFFindController = exports.FindState = void 0;\nvar _ui_utils = __w_pdfjs_require__(2);\nvar _pdf_find_utils = __w_pdfjs_require__(11);\nvar _pdfjsLib = __w_pdfjs_require__(4);\nconst FindState = {\n FOUND: 0,\n NOT_FOUND: 1,\n WRAPPED: 2,\n PENDING: 3\n};\nexports.FindState = FindState;\nconst FIND_TIMEOUT = 250;\nconst MATCH_SCROLL_OFFSET_TOP = -50;\nconst MATCH_SCROLL_OFFSET_LEFT = -400;\nconst CHARACTERS_TO_NORMALIZE = {\n \"\\u2010\": \"-\",\n \"\\u2018\": \"'\",\n \"\\u2019\": \"'\",\n \"\\u201A\": \"'\",\n \"\\u201B\": \"'\",\n \"\\u201C\": '\"',\n \"\\u201D\": '\"',\n \"\\u201E\": '\"',\n \"\\u201F\": '\"',\n \"\\u00BC\": \"1/4\",\n \"\\u00BD\": \"1/2\",\n \"\\u00BE\": \"3/4\"\n};\nconst DIACRITICS_EXCEPTION = new Set([0x3099, 0x309a, 0x094d, 0x09cd, 0x0a4d, 0x0acd, 0x0b4d, 0x0bcd, 0x0c4d, 0x0ccd, 0x0d3b, 0x0d3c, 0x0d4d, 0x0dca, 0x0e3a, 0x0eba, 0x0f84, 0x1039, 0x103a, 0x1714, 0x1734, 0x17d2, 0x1a60, 0x1b44, 0x1baa, 0x1bab, 0x1bf2, 0x1bf3, 0x2d7f, 0xa806, 0xa82c, 0xa8c4, 0xa953, 0xa9c0, 0xaaf6, 0xabed, 0x0c56, 0x0f71, 0x0f72, 0x0f7a, 0x0f7b, 0x0f7c, 0x0f7d, 0x0f80, 0x0f74]);\nlet DIACRITICS_EXCEPTION_STR;\nconst DIACRITICS_REG_EXP = /\\p{M}+/gu;\nconst SPECIAL_CHARS_REG_EXP = /([.*+?^${}()|[\\]\\\\])|(\\p{P})|(\\s+)|(\\p{M})|(\\p{L})/gu;\nconst NOT_DIACRITIC_FROM_END_REG_EXP = /([^\\p{M}])\\p{M}*$/u;\nconst NOT_DIACRITIC_FROM_START_REG_EXP = /^\\p{M}*([^\\p{M}])/u;\nconst SYLLABLES_REG_EXP = /[\\uAC00-\\uD7AF\\uFA6C\\uFACF-\\uFAD1\\uFAD5-\\uFAD7]+/g;\nconst SYLLABLES_LENGTHS = new Map();\nconst FIRST_CHAR_SYLLABLES_REG_EXP = \"[\\\\u1100-\\\\u1112\\\\ud7a4-\\\\ud7af\\\\ud84a\\\\ud84c\\\\ud850\\\\ud854\\\\ud857\\\\ud85f]\";\nconst NFKC_CHARS_TO_NORMALIZE = new Map();\nlet noSyllablesRegExp = null;\nlet withSyllablesRegExp = null;\nfunction normalize(text) {\n const syllablePositions = [];\n let m;\n while ((m = SYLLABLES_REG_EXP.exec(text)) !== null) {\n let {\n index\n } = m;\n for (const char of m[0]) {\n let len = SYLLABLES_LENGTHS.get(char);\n if (!len) {\n len = char.normalize(\"NFD\").length;\n SYLLABLES_LENGTHS.set(char, len);\n }\n syllablePositions.push([len, index++]);\n }\n }\n let normalizationRegex;\n if (syllablePositions.length === 0 && noSyllablesRegExp) {\n normalizationRegex = noSyllablesRegExp;\n } else if (syllablePositions.length > 0 && withSyllablesRegExp) {\n normalizationRegex = withSyllablesRegExp;\n } else {\n const replace = Object.keys(CHARACTERS_TO_NORMALIZE).join(\"\");\n const toNormalizeWithNFKC = (0, _pdf_find_utils.getNormalizeWithNFKC)();\n const CJK = \"(?:\\\\p{Ideographic}|[\\u3040-\\u30FF])\";\n const HKDiacritics = \"(?:\\u3099|\\u309A)\";\n const regexp = `([${replace}])|([${toNormalizeWithNFKC}])|(${HKDiacritics}\\\\n)|(\\\\p{M}+(?:-\\\\n)?)|(\\\\S-\\\\n)|(${CJK}\\\\n)|(\\\\n)`;\n if (syllablePositions.length === 0) {\n normalizationRegex = noSyllablesRegExp = new RegExp(regexp + \"|(\\\\u0000)\", \"gum\");\n } else {\n normalizationRegex = withSyllablesRegExp = new RegExp(regexp + `|(${FIRST_CHAR_SYLLABLES_REG_EXP})`, \"gum\");\n }\n }\n const rawDiacriticsPositions = [];\n while ((m = DIACRITICS_REG_EXP.exec(text)) !== null) {\n rawDiacriticsPositions.push([m[0].length, m.index]);\n }\n let normalized = text.normalize(\"NFD\");\n const positions = [[0, 0]];\n let rawDiacriticsIndex = 0;\n let syllableIndex = 0;\n let shift = 0;\n let shiftOrigin = 0;\n let eol = 0;\n let hasDiacritics = false;\n normalized = normalized.replace(normalizationRegex, (match, p1, p2, p3, p4, p5, p6, p7, p8, i) => {\n i -= shiftOrigin;\n if (p1) {\n const replacement = CHARACTERS_TO_NORMALIZE[p1];\n const jj = replacement.length;\n for (let j = 1; j < jj; j++) {\n positions.push([i - shift + j, shift - j]);\n }\n shift -= jj - 1;\n return replacement;\n }\n if (p2) {\n let replacement = NFKC_CHARS_TO_NORMALIZE.get(p2);\n if (!replacement) {\n replacement = p2.normalize(\"NFKC\");\n NFKC_CHARS_TO_NORMALIZE.set(p2, replacement);\n }\n const jj = replacement.length;\n for (let j = 1; j < jj; j++) {\n positions.push([i - shift + j, shift - j]);\n }\n shift -= jj - 1;\n return replacement;\n }\n if (p3) {\n hasDiacritics = true;\n if (i + eol === rawDiacriticsPositions[rawDiacriticsIndex]?.[1]) {\n ++rawDiacriticsIndex;\n } else {\n positions.push([i - 1 - shift + 1, shift - 1]);\n shift -= 1;\n shiftOrigin += 1;\n }\n positions.push([i - shift + 1, shift]);\n shiftOrigin += 1;\n eol += 1;\n return p3.charAt(0);\n }\n if (p4) {\n const hasTrailingDashEOL = p4.endsWith(\"\\n\");\n const len = hasTrailingDashEOL ? p4.length - 2 : p4.length;\n hasDiacritics = true;\n let jj = len;\n if (i + eol === rawDiacriticsPositions[rawDiacriticsIndex]?.[1]) {\n jj -= rawDiacriticsPositions[rawDiacriticsIndex][0];\n ++rawDiacriticsIndex;\n }\n for (let j = 1; j <= jj; j++) {\n positions.push([i - 1 - shift + j, shift - j]);\n }\n shift -= jj;\n shiftOrigin += jj;\n if (hasTrailingDashEOL) {\n i += len - 1;\n positions.push([i - shift + 1, 1 + shift]);\n shift += 1;\n shiftOrigin += 1;\n eol += 1;\n return p4.slice(0, len);\n }\n return p4;\n }\n if (p5) {\n const len = p5.length - 2;\n positions.push([i - shift + len, 1 + shift]);\n shift += 1;\n shiftOrigin += 1;\n eol += 1;\n return p5.slice(0, -2);\n }\n if (p6) {\n const len = p6.length - 1;\n positions.push([i - shift + len, shift]);\n shiftOrigin += 1;\n eol += 1;\n return p6.slice(0, -1);\n }\n if (p7) {\n positions.push([i - shift + 1, shift - 1]);\n shift -= 1;\n shiftOrigin += 1;\n eol += 1;\n return \" \";\n }\n if (i + eol === syllablePositions[syllableIndex]?.[1]) {\n const newCharLen = syllablePositions[syllableIndex][0] - 1;\n ++syllableIndex;\n for (let j = 1; j <= newCharLen; j++) {\n positions.push([i - (shift - j), shift - j]);\n }\n shift -= newCharLen;\n shiftOrigin += newCharLen;\n }\n return p8;\n });\n positions.push([normalized.length, shift]);\n return [normalized, positions, hasDiacritics];\n}\nfunction getOriginalIndex(diffs, pos, len) {\n if (!diffs) {\n return [pos, len];\n }\n const start = pos;\n const end = pos + len - 1;\n let i = (0, _ui_utils.binarySearchFirstItem)(diffs, x => x[0] >= start);\n if (diffs[i][0] > start) {\n --i;\n }\n let j = (0, _ui_utils.binarySearchFirstItem)(diffs, x => x[0] >= end, i);\n if (diffs[j][0] > end) {\n --j;\n }\n const oldStart = start + diffs[i][1];\n const oldEnd = end + diffs[j][1];\n const oldLen = oldEnd + 1 - oldStart;\n return [oldStart, oldLen];\n}\nclass PDFFindController {\n #state = null;\n #updateMatchesCountOnProgress = true;\n #visitedPagesCount = 0;\n constructor({\n linkService,\n eventBus,\n updateMatchesCountOnProgress = true\n }) {\n this._linkService = linkService;\n this._eventBus = eventBus;\n this.#updateMatchesCountOnProgress = updateMatchesCountOnProgress;\n this.#reset();\n eventBus._on(\"find\", this.#onFind.bind(this));\n eventBus._on(\"findbarclose\", this.#onFindBarClose.bind(this));\n }\n get highlightMatches() {\n return this._highlightMatches;\n }\n get pageMatches() {\n return this._pageMatches;\n }\n get pageMatchesLength() {\n return this._pageMatchesLength;\n }\n get selected() {\n return this._selected;\n }\n get state() {\n return this.#state;\n }\n setDocument(pdfDocument) {\n if (this._pdfDocument) {\n this.#reset();\n }\n if (!pdfDocument) {\n return;\n }\n this._pdfDocument = pdfDocument;\n this._firstPageCapability.resolve();\n }\n #onFind(state) {\n if (!state) {\n return;\n }\n if (state.phraseSearch === false) {\n console.error(\"The `phraseSearch`-parameter was removed, please provide \" + \"an Array of strings in the `query`-parameter instead.\");\n if (typeof state.query === \"string\") {\n state.query = state.query.match(/\\S+/g);\n }\n }\n const pdfDocument = this._pdfDocument;\n const {\n type\n } = state;\n if (this.#state === null || this.#shouldDirtyMatch(state)) {\n this._dirtyMatch = true;\n }\n this.#state = state;\n if (type !== \"highlightallchange\") {\n this.#updateUIState(FindState.PENDING);\n }\n this._firstPageCapability.promise.then(() => {\n if (!this._pdfDocument || pdfDocument && this._pdfDocument !== pdfDocument) {\n return;\n }\n this.#extractText();\n const findbarClosed = !this._highlightMatches;\n const pendingTimeout = !!this._findTimeout;\n if (this._findTimeout) {\n clearTimeout(this._findTimeout);\n this._findTimeout = null;\n }\n if (!type) {\n this._findTimeout = setTimeout(() => {\n this.#nextMatch();\n this._findTimeout = null;\n }, FIND_TIMEOUT);\n } else if (this._dirtyMatch) {\n this.#nextMatch();\n } else if (type === \"again\") {\n this.#nextMatch();\n if (findbarClosed && this.#state.highlightAll) {\n this.#updateAllPages();\n }\n } else if (type === \"highlightallchange\") {\n if (pendingTimeout) {\n this.#nextMatch();\n } else {\n this._highlightMatches = true;\n }\n this.#updateAllPages();\n } else {\n this.#nextMatch();\n }\n });\n }\n scrollMatchIntoView({\n element = null,\n selectedLeft = 0,\n pageIndex = -1,\n matchIndex = -1\n }) {\n if (!this._scrollMatches || !element) {\n return;\n } else if (matchIndex === -1 || matchIndex !== this._selected.matchIdx) {\n return;\n } else if (pageIndex === -1 || pageIndex !== this._selected.pageIdx) {\n return;\n }\n this._scrollMatches = false;\n const spot = {\n top: MATCH_SCROLL_OFFSET_TOP,\n left: selectedLeft + MATCH_SCROLL_OFFSET_LEFT\n };\n (0, _ui_utils.scrollIntoView)(element, spot, true);\n }\n #reset() {\n this._highlightMatches = false;\n this._scrollMatches = false;\n this._pdfDocument = null;\n this._pageMatches = [];\n this._pageMatchesLength = [];\n this.#visitedPagesCount = 0;\n this.#state = null;\n this._selected = {\n pageIdx: -1,\n matchIdx: -1\n };\n this._offset = {\n pageIdx: null,\n matchIdx: null,\n wrapped: false\n };\n this._extractTextPromises = [];\n this._pageContents = [];\n this._pageDiffs = [];\n this._hasDiacritics = [];\n this._matchesCountTotal = 0;\n this._pagesToSearch = null;\n this._pendingFindMatches = new Set();\n this._resumePageIdx = null;\n this._dirtyMatch = false;\n clearTimeout(this._findTimeout);\n this._findTimeout = null;\n this._firstPageCapability = new _pdfjsLib.PromiseCapability();\n }\n get #query() {\n const {\n query\n } = this.#state;\n if (typeof query === \"string\") {\n if (query !== this._rawQuery) {\n this._rawQuery = query;\n [this._normalizedQuery] = normalize(query);\n }\n return this._normalizedQuery;\n }\n return (query || []).filter(q => !!q).map(q => normalize(q)[0]);\n }\n #shouldDirtyMatch(state) {\n const newQuery = state.query,\n prevQuery = this.#state.query;\n const newType = typeof newQuery,\n prevType = typeof prevQuery;\n if (newType !== prevType) {\n return true;\n }\n if (newType === \"string\") {\n if (newQuery !== prevQuery) {\n return true;\n }\n } else {\n if (JSON.stringify(newQuery) !== JSON.stringify(prevQuery)) {\n return true;\n }\n }\n switch (state.type) {\n case \"again\":\n const pageNumber = this._selected.pageIdx + 1;\n const linkService = this._linkService;\n if (pageNumber >= 1 && pageNumber <= linkService.pagesCount && pageNumber !== linkService.page && !linkService.isPageVisible(pageNumber)) {\n return true;\n }\n return false;\n case \"highlightallchange\":\n return false;\n }\n return true;\n }\n #isEntireWord(content, startIdx, length) {\n let match = content.slice(0, startIdx).match(NOT_DIACRITIC_FROM_END_REG_EXP);\n if (match) {\n const first = content.charCodeAt(startIdx);\n const limit = match[1].charCodeAt(0);\n if ((0, _pdf_find_utils.getCharacterType)(first) === (0, _pdf_find_utils.getCharacterType)(limit)) {\n return false;\n }\n }\n match = content.slice(startIdx + length).match(NOT_DIACRITIC_FROM_START_REG_EXP);\n if (match) {\n const last = content.charCodeAt(startIdx + length - 1);\n const limit = match[1].charCodeAt(0);\n if ((0, _pdf_find_utils.getCharacterType)(last) === (0, _pdf_find_utils.getCharacterType)(limit)) {\n return false;\n }\n }\n return true;\n }\n #calculateRegExpMatch(query, entireWord, pageIndex, pageContent) {\n const matches = this._pageMatches[pageIndex] = [];\n const matchesLength = this._pageMatchesLength[pageIndex] = [];\n if (!query) {\n return;\n }\n const diffs = this._pageDiffs[pageIndex];\n let match;\n while ((match = query.exec(pageContent)) !== null) {\n if (entireWord && !this.#isEntireWord(pageContent, match.index, match[0].length)) {\n continue;\n }\n const [matchPos, matchLen] = getOriginalIndex(diffs, match.index, match[0].length);\n if (matchLen) {\n matches.push(matchPos);\n matchesLength.push(matchLen);\n }\n }\n }\n #convertToRegExpString(query, hasDiacritics) {\n const {\n matchDiacritics\n } = this.#state;\n let isUnicode = false;\n query = query.replaceAll(SPECIAL_CHARS_REG_EXP, (match, p1, p2, p3, p4, p5) => {\n if (p1) {\n return `[ ]*\\\\${p1}[ ]*`;\n }\n if (p2) {\n return `[ ]*${p2}[ ]*`;\n }\n if (p3) {\n return \"[ ]+\";\n }\n if (matchDiacritics) {\n return p4 || p5;\n }\n if (p4) {\n return DIACRITICS_EXCEPTION.has(p4.charCodeAt(0)) ? p4 : \"\";\n }\n if (hasDiacritics) {\n isUnicode = true;\n return `${p5}\\\\p{M}*`;\n }\n return p5;\n });\n const trailingSpaces = \"[ ]*\";\n if (query.endsWith(trailingSpaces)) {\n query = query.slice(0, query.length - trailingSpaces.length);\n }\n if (matchDiacritics) {\n if (hasDiacritics) {\n DIACRITICS_EXCEPTION_STR ||= String.fromCharCode(...DIACRITICS_EXCEPTION);\n isUnicode = true;\n query = `${query}(?=[${DIACRITICS_EXCEPTION_STR}]|[^\\\\p{M}]|$)`;\n }\n }\n return [isUnicode, query];\n }\n #calculateMatch(pageIndex) {\n let query = this.#query;\n if (query.length === 0) {\n return;\n }\n const {\n caseSensitive,\n entireWord\n } = this.#state;\n const pageContent = this._pageContents[pageIndex];\n const hasDiacritics = this._hasDiacritics[pageIndex];\n let isUnicode = false;\n if (typeof query === \"string\") {\n [isUnicode, query] = this.#convertToRegExpString(query, hasDiacritics);\n } else {\n query = query.sort().reverse().map(q => {\n const [isUnicodePart, queryPart] = this.#convertToRegExpString(q, hasDiacritics);\n isUnicode ||= isUnicodePart;\n return `(${queryPart})`;\n }).join(\"|\");\n }\n const flags = `g${isUnicode ? \"u\" : \"\"}${caseSensitive ? \"\" : \"i\"}`;\n query = query ? new RegExp(query, flags) : null;\n this.#calculateRegExpMatch(query, entireWord, pageIndex, pageContent);\n if (this.#state.highlightAll) {\n this.#updatePage(pageIndex);\n }\n if (this._resumePageIdx === pageIndex) {\n this._resumePageIdx = null;\n this.#nextPageMatch();\n }\n const pageMatchesCount = this._pageMatches[pageIndex].length;\n this._matchesCountTotal += pageMatchesCount;\n if (this.#updateMatchesCountOnProgress) {\n if (pageMatchesCount > 0) {\n this.#updateUIResultsCount();\n }\n } else if (++this.#visitedPagesCount === this._linkService.pagesCount) {\n this.#updateUIResultsCount();\n }\n }\n #extractText() {\n if (this._extractTextPromises.length > 0) {\n return;\n }\n let promise = Promise.resolve();\n const textOptions = {\n disableNormalization: true\n };\n for (let i = 0, ii = this._linkService.pagesCount; i < ii; i++) {\n const extractTextCapability = new _pdfjsLib.PromiseCapability();\n this._extractTextPromises[i] = extractTextCapability.promise;\n promise = promise.then(() => {\n return this._pdfDocument.getPage(i + 1).then(pdfPage => {\n return pdfPage.getTextContent(textOptions);\n }).then(textContent => {\n const strBuf = [];\n for (const textItem of textContent.items) {\n strBuf.push(textItem.str);\n if (textItem.hasEOL) {\n strBuf.push(\"\\n\");\n }\n }\n [this._pageContents[i], this._pageDiffs[i], this._hasDiacritics[i]] = normalize(strBuf.join(\"\"));\n extractTextCapability.resolve();\n }, reason => {\n console.error(`Unable to get text content for page ${i + 1}`, reason);\n this._pageContents[i] = \"\";\n this._pageDiffs[i] = null;\n this._hasDiacritics[i] = false;\n extractTextCapability.resolve();\n });\n });\n }\n }\n #updatePage(index) {\n if (this._scrollMatches && this._selected.pageIdx === index) {\n this._linkService.page = index + 1;\n }\n this._eventBus.dispatch(\"updatetextlayermatches\", {\n source: this,\n pageIndex: index\n });\n }\n #updateAllPages() {\n this._eventBus.dispatch(\"updatetextlayermatches\", {\n source: this,\n pageIndex: -1\n });\n }\n #nextMatch() {\n const previous = this.#state.findPrevious;\n const currentPageIndex = this._linkService.page - 1;\n const numPages = this._linkService.pagesCount;\n this._highlightMatches = true;\n if (this._dirtyMatch) {\n this._dirtyMatch = false;\n this._selected.pageIdx = this._selected.matchIdx = -1;\n this._offset.pageIdx = currentPageIndex;\n this._offset.matchIdx = null;\n this._offset.wrapped = false;\n this._resumePageIdx = null;\n this._pageMatches.length = 0;\n this._pageMatchesLength.length = 0;\n this.#visitedPagesCount = 0;\n this._matchesCountTotal = 0;\n this.#updateAllPages();\n for (let i = 0; i < numPages; i++) {\n if (this._pendingFindMatches.has(i)) {\n continue;\n }\n this._pendingFindMatches.add(i);\n this._extractTextPromises[i].then(() => {\n this._pendingFindMatches.delete(i);\n this.#calculateMatch(i);\n });\n }\n }\n const query = this.#query;\n if (query.length === 0) {\n this.#updateUIState(FindState.FOUND);\n return;\n }\n if (this._resumePageIdx) {\n return;\n }\n const offset = this._offset;\n this._pagesToSearch = numPages;\n if (offset.matchIdx !== null) {\n const numPageMatches = this._pageMatches[offset.pageIdx].length;\n if (!previous && offset.matchIdx + 1 < numPageMatches || previous && offset.matchIdx > 0) {\n offset.matchIdx = previous ? offset.matchIdx - 1 : offset.matchIdx + 1;\n this.#updateMatch(true);\n return;\n }\n this.#advanceOffsetPage(previous);\n }\n this.#nextPageMatch();\n }\n #matchesReady(matches) {\n const offset = this._offset;\n const numMatches = matches.length;\n const previous = this.#state.findPrevious;\n if (numMatches) {\n offset.matchIdx = previous ? numMatches - 1 : 0;\n this.#updateMatch(true);\n return true;\n }\n this.#advanceOffsetPage(previous);\n if (offset.wrapped) {\n offset.matchIdx = null;\n if (this._pagesToSearch < 0) {\n this.#updateMatch(false);\n return true;\n }\n }\n return false;\n }\n #nextPageMatch() {\n if (this._resumePageIdx !== null) {\n console.error(\"There can only be one pending page.\");\n }\n let matches = null;\n do {\n const pageIdx = this._offset.pageIdx;\n matches = this._pageMatches[pageIdx];\n if (!matches) {\n this._resumePageIdx = pageIdx;\n break;\n }\n } while (!this.#matchesReady(matches));\n }\n #advanceOffsetPage(previous) {\n const offset = this._offset;\n const numPages = this._linkService.pagesCount;\n offset.pageIdx = previous ? offset.pageIdx - 1 : offset.pageIdx + 1;\n offset.matchIdx = null;\n this._pagesToSearch--;\n if (offset.pageIdx >= numPages || offset.pageIdx < 0) {\n offset.pageIdx = previous ? numPages - 1 : 0;\n offset.wrapped = true;\n }\n }\n #updateMatch(found = false) {\n let state = FindState.NOT_FOUND;\n const wrapped = this._offset.wrapped;\n this._offset.wrapped = false;\n if (found) {\n const previousPage = this._selected.pageIdx;\n this._selected.pageIdx = this._offset.pageIdx;\n this._selected.matchIdx = this._offset.matchIdx;\n state = wrapped ? FindState.WRAPPED : FindState.FOUND;\n if (previousPage !== -1 && previousPage !== this._selected.pageIdx) {\n this.#updatePage(previousPage);\n }\n }\n this.#updateUIState(state, this.#state.findPrevious);\n if (this._selected.pageIdx !== -1) {\n this._scrollMatches = true;\n this.#updatePage(this._selected.pageIdx);\n }\n }\n #onFindBarClose(evt) {\n const pdfDocument = this._pdfDocument;\n this._firstPageCapability.promise.then(() => {\n if (!this._pdfDocument || pdfDocument && this._pdfDocument !== pdfDocument) {\n return;\n }\n if (this._findTimeout) {\n clearTimeout(this._findTimeout);\n this._findTimeout = null;\n }\n if (this._resumePageIdx) {\n this._resumePageIdx = null;\n this._dirtyMatch = true;\n }\n this.#updateUIState(FindState.FOUND);\n this._highlightMatches = false;\n this.#updateAllPages();\n });\n }\n #requestMatchesCount() {\n const {\n pageIdx,\n matchIdx\n } = this._selected;\n let current = 0,\n total = this._matchesCountTotal;\n if (matchIdx !== -1) {\n for (let i = 0; i < pageIdx; i++) {\n current += this._pageMatches[i]?.length || 0;\n }\n current += matchIdx + 1;\n }\n if (current < 1 || current > total) {\n current = total = 0;\n }\n return {\n current,\n total\n };\n }\n #updateUIResultsCount() {\n this._eventBus.dispatch(\"updatefindmatchescount\", {\n source: this,\n matchesCount: this.#requestMatchesCount()\n });\n }\n #updateUIState(state, previous = false) {\n if (!this.#updateMatchesCountOnProgress && (this.#visitedPagesCount !== this._linkService.pagesCount || state === FindState.PENDING)) {\n return;\n }\n this._eventBus.dispatch(\"updatefindcontrolstate\", {\n source: this,\n state,\n previous,\n matchesCount: this.#requestMatchesCount(),\n rawQuery: this.#state?.query ?? null\n });\n }\n}\nexports.PDFFindController = PDFFindController;\n\n/***/ }),\n/* 11 */\n/***/ ((__unused_webpack_module, exports) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.CharacterType = void 0;\nexports.getCharacterType = getCharacterType;\nexports.getNormalizeWithNFKC = getNormalizeWithNFKC;\nconst CharacterType = {\n SPACE: 0,\n ALPHA_LETTER: 1,\n PUNCT: 2,\n HAN_LETTER: 3,\n KATAKANA_LETTER: 4,\n HIRAGANA_LETTER: 5,\n HALFWIDTH_KATAKANA_LETTER: 6,\n THAI_LETTER: 7\n};\nexports.CharacterType = CharacterType;\nfunction isAlphabeticalScript(charCode) {\n return charCode < 0x2e80;\n}\nfunction isAscii(charCode) {\n return (charCode & 0xff80) === 0;\n}\nfunction isAsciiAlpha(charCode) {\n return charCode >= 0x61 && charCode <= 0x7a || charCode >= 0x41 && charCode <= 0x5a;\n}\nfunction isAsciiDigit(charCode) {\n return charCode >= 0x30 && charCode <= 0x39;\n}\nfunction isAsciiSpace(charCode) {\n return charCode === 0x20 || charCode === 0x09 || charCode === 0x0d || charCode === 0x0a;\n}\nfunction isHan(charCode) {\n return charCode >= 0x3400 && charCode <= 0x9fff || charCode >= 0xf900 && charCode <= 0xfaff;\n}\nfunction isKatakana(charCode) {\n return charCode >= 0x30a0 && charCode <= 0x30ff;\n}\nfunction isHiragana(charCode) {\n return charCode >= 0x3040 && charCode <= 0x309f;\n}\nfunction isHalfwidthKatakana(charCode) {\n return charCode >= 0xff60 && charCode <= 0xff9f;\n}\nfunction isThai(charCode) {\n return (charCode & 0xff80) === 0x0e00;\n}\nfunction getCharacterType(charCode) {\n if (isAlphabeticalScript(charCode)) {\n if (isAscii(charCode)) {\n if (isAsciiSpace(charCode)) {\n return CharacterType.SPACE;\n } else if (isAsciiAlpha(charCode) || isAsciiDigit(charCode) || charCode === 0x5f) {\n return CharacterType.ALPHA_LETTER;\n }\n return CharacterType.PUNCT;\n } else if (isThai(charCode)) {\n return CharacterType.THAI_LETTER;\n } else if (charCode === 0xa0) {\n return CharacterType.SPACE;\n }\n return CharacterType.ALPHA_LETTER;\n }\n if (isHan(charCode)) {\n return CharacterType.HAN_LETTER;\n } else if (isKatakana(charCode)) {\n return CharacterType.KATAKANA_LETTER;\n } else if (isHiragana(charCode)) {\n return CharacterType.HIRAGANA_LETTER;\n } else if (isHalfwidthKatakana(charCode)) {\n return CharacterType.HALFWIDTH_KATAKANA_LETTER;\n }\n return CharacterType.ALPHA_LETTER;\n}\nlet NormalizeWithNFKC;\nfunction getNormalizeWithNFKC() {\n NormalizeWithNFKC ||= ` ¨ª¯²-µ¸-º¼-¾IJ-ijĿ-ŀʼnſDŽ-njDZ-dzʰ-ʸ˘-˝ˠ-ˤʹͺ;΄-΅·ϐ-ϖϰ-ϲϴ-ϵϹևٵ-ٸक़-य़ড়-ঢ়য়ਲ਼ਸ਼ਖ਼-ਜ਼ਫ਼ଡ଼-ଢ଼ำຳໜ-ໝ༌གྷཌྷདྷབྷཛྷཀྵჼᴬ-ᴮᴰ-ᴺᴼ-ᵍᵏ-ᵪᵸᶛ-ᶿẚ-ẛάέήίόύώΆ᾽-῁ΈΉ῍-῏ΐΊ῝-῟ΰΎ῭-`ΌΏ´-῾ - ‑‗․-… ″-‴‶-‷‼‾⁇-⁉⁗ ⁰-ⁱ⁴-₎ₐ-ₜ₨℀-℃℅-ℇ℉-ℓℕ-№ℙ-ℝ℠-™ℤΩℨK-ℭℯ-ℱℳ-ℹ℻-⅀ⅅ-ⅉ⅐-ⅿ↉∬-∭∯-∰〈-〉①-⓪⨌⩴-⩶⫝̸ⱼ-ⱽⵯ⺟⻳⼀-⿕ 〶〸-〺゛-゜ゟヿㄱ-ㆎ㆒-㆟㈀-㈞㈠-㉇㉐-㉾㊀-㏿ꚜ-ꚝꝰꟲ-ꟴꟸ-ꟹꭜ-ꭟꭩ豈-嗀塚晴凞-羽蘒諸逸-都飯-舘並-龎ff-stﬓ-ﬗיִײַ-זּטּ-לּמּנּ-סּףּ-פּצּ-ﮱﯓ-ﴽﵐ-ﶏﶒ-ﷇﷰ-﷼︐-︙︰-﹄﹇-﹒﹔-﹦﹨-﹫ﹰ-ﹲﹴﹶ-ﻼ!-하-ᅦᅧ-ᅬᅭ-ᅲᅳ-ᅵ¢-₩`;\n return NormalizeWithNFKC;\n}\n\n/***/ }),\n/* 12 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.PDFHistory = void 0;\nexports.isDestArraysEqual = isDestArraysEqual;\nexports.isDestHashesEqual = isDestHashesEqual;\nvar _ui_utils = __w_pdfjs_require__(2);\nvar _event_utils = __w_pdfjs_require__(7);\nconst HASH_CHANGE_TIMEOUT = 1000;\nconst POSITION_UPDATED_THRESHOLD = 50;\nconst UPDATE_VIEWAREA_TIMEOUT = 1000;\nfunction getCurrentHash() {\n return document.location.hash;\n}\nclass PDFHistory {\n constructor({\n linkService,\n eventBus\n }) {\n this.linkService = linkService;\n this.eventBus = eventBus;\n this._initialized = false;\n this._fingerprint = \"\";\n this.reset();\n this._boundEvents = null;\n this.eventBus._on(\"pagesinit\", () => {\n this._isPagesLoaded = false;\n this.eventBus._on(\"pagesloaded\", evt => {\n this._isPagesLoaded = !!evt.pagesCount;\n }, {\n once: true\n });\n });\n }\n initialize({\n fingerprint,\n resetHistory = false,\n updateUrl = false\n }) {\n if (!fingerprint || typeof fingerprint !== \"string\") {\n console.error('PDFHistory.initialize: The \"fingerprint\" must be a non-empty string.');\n return;\n }\n if (this._initialized) {\n this.reset();\n }\n const reInitialized = this._fingerprint !== \"\" && this._fingerprint !== fingerprint;\n this._fingerprint = fingerprint;\n this._updateUrl = updateUrl === true;\n this._initialized = true;\n this._bindEvents();\n const state = window.history.state;\n this._popStateInProgress = false;\n this._blockHashChange = 0;\n this._currentHash = getCurrentHash();\n this._numPositionUpdates = 0;\n this._uid = this._maxUid = 0;\n this._destination = null;\n this._position = null;\n if (!this._isValidState(state, true) || resetHistory) {\n const {\n hash,\n page,\n rotation\n } = this._parseCurrentHash(true);\n if (!hash || reInitialized || resetHistory) {\n this._pushOrReplaceState(null, true);\n return;\n }\n this._pushOrReplaceState({\n hash,\n page,\n rotation\n }, true);\n return;\n }\n const destination = state.destination;\n this._updateInternalState(destination, state.uid, true);\n if (destination.rotation !== undefined) {\n this._initialRotation = destination.rotation;\n }\n if (destination.dest) {\n this._initialBookmark = JSON.stringify(destination.dest);\n this._destination.page = null;\n } else if (destination.hash) {\n this._initialBookmark = destination.hash;\n } else if (destination.page) {\n this._initialBookmark = `page=${destination.page}`;\n }\n }\n reset() {\n if (this._initialized) {\n this._pageHide();\n this._initialized = false;\n this._unbindEvents();\n }\n if (this._updateViewareaTimeout) {\n clearTimeout(this._updateViewareaTimeout);\n this._updateViewareaTimeout = null;\n }\n this._initialBookmark = null;\n this._initialRotation = null;\n }\n push({\n namedDest = null,\n explicitDest,\n pageNumber\n }) {\n if (!this._initialized) {\n return;\n }\n if (namedDest && typeof namedDest !== \"string\") {\n console.error(\"PDFHistory.push: \" + `\"${namedDest}\" is not a valid namedDest parameter.`);\n return;\n } else if (!Array.isArray(explicitDest)) {\n console.error(\"PDFHistory.push: \" + `\"${explicitDest}\" is not a valid explicitDest parameter.`);\n return;\n } else if (!this._isValidPage(pageNumber)) {\n if (pageNumber !== null || this._destination) {\n console.error(\"PDFHistory.push: \" + `\"${pageNumber}\" is not a valid pageNumber parameter.`);\n return;\n }\n }\n const hash = namedDest || JSON.stringify(explicitDest);\n if (!hash) {\n return;\n }\n let forceReplace = false;\n if (this._destination && (isDestHashesEqual(this._destination.hash, hash) || isDestArraysEqual(this._destination.dest, explicitDest))) {\n if (this._destination.page) {\n return;\n }\n forceReplace = true;\n }\n if (this._popStateInProgress && !forceReplace) {\n return;\n }\n this._pushOrReplaceState({\n dest: explicitDest,\n hash,\n page: pageNumber,\n rotation: this.linkService.rotation\n }, forceReplace);\n if (!this._popStateInProgress) {\n this._popStateInProgress = true;\n Promise.resolve().then(() => {\n this._popStateInProgress = false;\n });\n }\n }\n pushPage(pageNumber) {\n if (!this._initialized) {\n return;\n }\n if (!this._isValidPage(pageNumber)) {\n console.error(`PDFHistory.pushPage: \"${pageNumber}\" is not a valid page number.`);\n return;\n }\n if (this._destination?.page === pageNumber) {\n return;\n }\n if (this._popStateInProgress) {\n return;\n }\n this._pushOrReplaceState({\n dest: null,\n hash: `page=${pageNumber}`,\n page: pageNumber,\n rotation: this.linkService.rotation\n });\n if (!this._popStateInProgress) {\n this._popStateInProgress = true;\n Promise.resolve().then(() => {\n this._popStateInProgress = false;\n });\n }\n }\n pushCurrentPosition() {\n if (!this._initialized || this._popStateInProgress) {\n return;\n }\n this._tryPushCurrentPosition();\n }\n back() {\n if (!this._initialized || this._popStateInProgress) {\n return;\n }\n const state = window.history.state;\n if (this._isValidState(state) && state.uid > 0) {\n window.history.back();\n }\n }\n forward() {\n if (!this._initialized || this._popStateInProgress) {\n return;\n }\n const state = window.history.state;\n if (this._isValidState(state) && state.uid < this._maxUid) {\n window.history.forward();\n }\n }\n get popStateInProgress() {\n return this._initialized && (this._popStateInProgress || this._blockHashChange > 0);\n }\n get initialBookmark() {\n return this._initialized ? this._initialBookmark : null;\n }\n get initialRotation() {\n return this._initialized ? this._initialRotation : null;\n }\n _pushOrReplaceState(destination, forceReplace = false) {\n const shouldReplace = forceReplace || !this._destination;\n const newState = {\n fingerprint: this._fingerprint,\n uid: shouldReplace ? this._uid : this._uid + 1,\n destination\n };\n this._updateInternalState(destination, newState.uid);\n let newUrl;\n if (this._updateUrl && destination?.hash) {\n const baseUrl = document.location.href.split(\"#\")[0];\n if (!baseUrl.startsWith(\"file://\")) {\n newUrl = `${baseUrl}#${destination.hash}`;\n }\n }\n if (shouldReplace) {\n window.history.replaceState(newState, \"\", newUrl);\n } else {\n window.history.pushState(newState, \"\", newUrl);\n }\n }\n _tryPushCurrentPosition(temporary = false) {\n if (!this._position) {\n return;\n }\n let position = this._position;\n if (temporary) {\n position = Object.assign(Object.create(null), this._position);\n position.temporary = true;\n }\n if (!this._destination) {\n this._pushOrReplaceState(position);\n return;\n }\n if (this._destination.temporary) {\n this._pushOrReplaceState(position, true);\n return;\n }\n if (this._destination.hash === position.hash) {\n return;\n }\n if (!this._destination.page && (POSITION_UPDATED_THRESHOLD <= 0 || this._numPositionUpdates <= POSITION_UPDATED_THRESHOLD)) {\n return;\n }\n let forceReplace = false;\n if (this._destination.page >= position.first && this._destination.page <= position.page) {\n if (this._destination.dest !== undefined || !this._destination.first) {\n return;\n }\n forceReplace = true;\n }\n this._pushOrReplaceState(position, forceReplace);\n }\n _isValidPage(val) {\n return Number.isInteger(val) && val > 0 && val <= this.linkService.pagesCount;\n }\n _isValidState(state, checkReload = false) {\n if (!state) {\n return false;\n }\n if (state.fingerprint !== this._fingerprint) {\n if (checkReload) {\n if (typeof state.fingerprint !== \"string\" || state.fingerprint.length !== this._fingerprint.length) {\n return false;\n }\n const [perfEntry] = performance.getEntriesByType(\"navigation\");\n if (perfEntry?.type !== \"reload\") {\n return false;\n }\n } else {\n return false;\n }\n }\n if (!Number.isInteger(state.uid) || state.uid < 0) {\n return false;\n }\n if (state.destination === null || typeof state.destination !== \"object\") {\n return false;\n }\n return true;\n }\n _updateInternalState(destination, uid, removeTemporary = false) {\n if (this._updateViewareaTimeout) {\n clearTimeout(this._updateViewareaTimeout);\n this._updateViewareaTimeout = null;\n }\n if (removeTemporary && destination?.temporary) {\n delete destination.temporary;\n }\n this._destination = destination;\n this._uid = uid;\n this._maxUid = Math.max(this._maxUid, uid);\n this._numPositionUpdates = 0;\n }\n _parseCurrentHash(checkNameddest = false) {\n const hash = unescape(getCurrentHash()).substring(1);\n const params = (0, _ui_utils.parseQueryString)(hash);\n const nameddest = params.get(\"nameddest\") || \"\";\n let page = params.get(\"page\") | 0;\n if (!this._isValidPage(page) || checkNameddest && nameddest.length > 0) {\n page = null;\n }\n return {\n hash,\n page,\n rotation: this.linkService.rotation\n };\n }\n _updateViewarea({\n location\n }) {\n if (this._updateViewareaTimeout) {\n clearTimeout(this._updateViewareaTimeout);\n this._updateViewareaTimeout = null;\n }\n this._position = {\n hash: location.pdfOpenParams.substring(1),\n page: this.linkService.page,\n first: location.pageNumber,\n rotation: location.rotation\n };\n if (this._popStateInProgress) {\n return;\n }\n if (POSITION_UPDATED_THRESHOLD > 0 && this._isPagesLoaded && this._destination && !this._destination.page) {\n this._numPositionUpdates++;\n }\n if (UPDATE_VIEWAREA_TIMEOUT > 0) {\n this._updateViewareaTimeout = setTimeout(() => {\n if (!this._popStateInProgress) {\n this._tryPushCurrentPosition(true);\n }\n this._updateViewareaTimeout = null;\n }, UPDATE_VIEWAREA_TIMEOUT);\n }\n }\n _popState({\n state\n }) {\n const newHash = getCurrentHash(),\n hashChanged = this._currentHash !== newHash;\n this._currentHash = newHash;\n if (!state) {\n this._uid++;\n const {\n hash,\n page,\n rotation\n } = this._parseCurrentHash();\n this._pushOrReplaceState({\n hash,\n page,\n rotation\n }, true);\n return;\n }\n if (!this._isValidState(state)) {\n return;\n }\n this._popStateInProgress = true;\n if (hashChanged) {\n this._blockHashChange++;\n (0, _event_utils.waitOnEventOrTimeout)({\n target: window,\n name: \"hashchange\",\n delay: HASH_CHANGE_TIMEOUT\n }).then(() => {\n this._blockHashChange--;\n });\n }\n const destination = state.destination;\n this._updateInternalState(destination, state.uid, true);\n if ((0, _ui_utils.isValidRotation)(destination.rotation)) {\n this.linkService.rotation = destination.rotation;\n }\n if (destination.dest) {\n this.linkService.goToDestination(destination.dest);\n } else if (destination.hash) {\n this.linkService.setHash(destination.hash);\n } else if (destination.page) {\n this.linkService.page = destination.page;\n }\n Promise.resolve().then(() => {\n this._popStateInProgress = false;\n });\n }\n _pageHide() {\n if (!this._destination || this._destination.temporary) {\n this._tryPushCurrentPosition();\n }\n }\n _bindEvents() {\n if (this._boundEvents) {\n return;\n }\n this._boundEvents = {\n updateViewarea: this._updateViewarea.bind(this),\n popState: this._popState.bind(this),\n pageHide: this._pageHide.bind(this)\n };\n this.eventBus._on(\"updateviewarea\", this._boundEvents.updateViewarea);\n window.addEventListener(\"popstate\", this._boundEvents.popState);\n window.addEventListener(\"pagehide\", this._boundEvents.pageHide);\n }\n _unbindEvents() {\n if (!this._boundEvents) {\n return;\n }\n this.eventBus._off(\"updateviewarea\", this._boundEvents.updateViewarea);\n window.removeEventListener(\"popstate\", this._boundEvents.popState);\n window.removeEventListener(\"pagehide\", this._boundEvents.pageHide);\n this._boundEvents = null;\n }\n}\nexports.PDFHistory = PDFHistory;\nfunction isDestHashesEqual(destHash, pushHash) {\n if (typeof destHash !== \"string\" || typeof pushHash !== \"string\") {\n return false;\n }\n if (destHash === pushHash) {\n return true;\n }\n const nameddest = (0, _ui_utils.parseQueryString)(destHash).get(\"nameddest\");\n if (nameddest === pushHash) {\n return true;\n }\n return false;\n}\nfunction isDestArraysEqual(firstDest, secondDest) {\n function isEntryEqual(first, second) {\n if (typeof first !== typeof second) {\n return false;\n }\n if (Array.isArray(first) || Array.isArray(second)) {\n return false;\n }\n if (first !== null && typeof first === \"object\" && second !== null) {\n if (Object.keys(first).length !== Object.keys(second).length) {\n return false;\n }\n for (const key in first) {\n if (!isEntryEqual(first[key], second[key])) {\n return false;\n }\n }\n return true;\n }\n return first === second || Number.isNaN(first) && Number.isNaN(second);\n }\n if (!(Array.isArray(firstDest) && Array.isArray(secondDest))) {\n return false;\n }\n if (firstDest.length !== secondDest.length) {\n return false;\n }\n for (let i = 0, ii = firstDest.length; i < ii; i++) {\n if (!isEntryEqual(firstDest[i], secondDest[i])) {\n return false;\n }\n }\n return true;\n}\n\n/***/ }),\n/* 13 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.PDFPageView = void 0;\nvar _pdfjsLib = __w_pdfjs_require__(4);\nvar _ui_utils = __w_pdfjs_require__(2);\nvar _annotation_editor_layer_builder = __w_pdfjs_require__(14);\nvar _annotation_layer_builder = __w_pdfjs_require__(3);\nvar _app_options = __w_pdfjs_require__(15);\nvar _l10n_utils = __w_pdfjs_require__(5);\nvar _pdf_link_service = __w_pdfjs_require__(1);\nvar _struct_tree_layer_builder = __w_pdfjs_require__(16);\nvar _text_accessibility = __w_pdfjs_require__(17);\nvar _text_highlighter = __w_pdfjs_require__(18);\nvar _text_layer_builder = __w_pdfjs_require__(19);\nvar _xfa_layer_builder = __w_pdfjs_require__(20);\nconst MAX_CANVAS_PIXELS = _app_options.compatibilityParams.maxCanvasPixels || 16777216;\nconst DEFAULT_LAYER_PROPERTIES = () => {\n return {\n annotationEditorUIManager: null,\n annotationStorage: null,\n downloadManager: null,\n enableScripting: false,\n fieldObjectsPromise: null,\n findController: null,\n hasJSActionsPromise: null,\n get linkService() {\n return new _pdf_link_service.SimpleLinkService();\n }\n };\n};\nclass PDFPageView {\n #annotationMode = _pdfjsLib.AnnotationMode.ENABLE_FORMS;\n #layerProperties = null;\n #loadingId = null;\n #previousRotation = null;\n #renderError = null;\n #renderingState = _ui_utils.RenderingStates.INITIAL;\n #textLayerMode = _ui_utils.TextLayerMode.ENABLE;\n #useThumbnailCanvas = {\n initialOptionalContent: true,\n regularAnnotations: true\n };\n #viewportMap = new WeakMap();\n constructor(options) {\n const container = options.container;\n const defaultViewport = options.defaultViewport;\n this.id = options.id;\n this.renderingId = \"page\" + this.id;\n this.#layerProperties = options.layerProperties || DEFAULT_LAYER_PROPERTIES;\n this.pdfPage = null;\n this.pageLabel = null;\n this.rotation = 0;\n this.scale = options.scale || _ui_utils.DEFAULT_SCALE;\n this.viewport = defaultViewport;\n this.pdfPageRotate = defaultViewport.rotation;\n this._optionalContentConfigPromise = options.optionalContentConfigPromise || null;\n this.hasRestrictedScaling = false;\n this.#textLayerMode = options.textLayerMode ?? _ui_utils.TextLayerMode.ENABLE;\n this.#annotationMode = options.annotationMode ?? _pdfjsLib.AnnotationMode.ENABLE_FORMS;\n this.imageResourcesPath = options.imageResourcesPath || \"\";\n this.useOnlyCssZoom = options.useOnlyCssZoom || false;\n this.isOffscreenCanvasSupported = options.isOffscreenCanvasSupported ?? true;\n this.maxCanvasPixels = options.maxCanvasPixels || MAX_CANVAS_PIXELS;\n this.pageColors = options.pageColors || null;\n this.eventBus = options.eventBus;\n this.renderingQueue = options.renderingQueue;\n this.l10n = options.l10n || _l10n_utils.NullL10n;\n this.renderTask = null;\n this.resume = null;\n this._isStandalone = !this.renderingQueue?.hasViewer();\n this._annotationCanvasMap = null;\n this.annotationLayer = null;\n this.annotationEditorLayer = null;\n this.textLayer = null;\n this.zoomLayer = null;\n this.xfaLayer = null;\n this.structTreeLayer = null;\n const div = document.createElement(\"div\");\n div.className = \"page\";\n div.setAttribute(\"data-page-number\", this.id);\n div.setAttribute(\"role\", \"region\");\n this.l10n.get(\"page_landmark\", {\n page: this.id\n }).then(msg => {\n div.setAttribute(\"aria-label\", msg);\n });\n this.div = div;\n this.#setDimensions();\n container?.append(div);\n if (this._isStandalone) {\n container?.style.setProperty(\"--scale-factor\", this.scale * _pdfjsLib.PixelsPerInch.PDF_TO_CSS_UNITS);\n const {\n optionalContentConfigPromise\n } = options;\n if (optionalContentConfigPromise) {\n optionalContentConfigPromise.then(optionalContentConfig => {\n if (optionalContentConfigPromise !== this._optionalContentConfigPromise) {\n return;\n }\n this.#useThumbnailCanvas.initialOptionalContent = optionalContentConfig.hasInitialVisibility;\n });\n }\n }\n }\n get renderingState() {\n return this.#renderingState;\n }\n set renderingState(state) {\n if (state === this.#renderingState) {\n return;\n }\n this.#renderingState = state;\n if (this.#loadingId) {\n clearTimeout(this.#loadingId);\n this.#loadingId = null;\n }\n switch (state) {\n case _ui_utils.RenderingStates.PAUSED:\n this.div.classList.remove(\"loading\");\n break;\n case _ui_utils.RenderingStates.RUNNING:\n this.div.classList.add(\"loadingIcon\");\n this.#loadingId = setTimeout(() => {\n this.div.classList.add(\"loading\");\n this.#loadingId = null;\n }, 0);\n break;\n case _ui_utils.RenderingStates.INITIAL:\n case _ui_utils.RenderingStates.FINISHED:\n this.div.classList.remove(\"loadingIcon\", \"loading\");\n break;\n }\n }\n #setDimensions() {\n const {\n viewport\n } = this;\n if (this.pdfPage) {\n if (this.#previousRotation === viewport.rotation) {\n return;\n }\n this.#previousRotation = viewport.rotation;\n }\n (0, _pdfjsLib.setLayerDimensions)(this.div, viewport, true, false);\n }\n setPdfPage(pdfPage) {\n this.pdfPage = pdfPage;\n this.pdfPageRotate = pdfPage.rotate;\n const totalRotation = (this.rotation + this.pdfPageRotate) % 360;\n this.viewport = pdfPage.getViewport({\n scale: this.scale * _pdfjsLib.PixelsPerInch.PDF_TO_CSS_UNITS,\n rotation: totalRotation\n });\n this.#setDimensions();\n this.reset();\n }\n destroy() {\n this.reset();\n this.pdfPage?.cleanup();\n }\n get _textHighlighter() {\n return (0, _pdfjsLib.shadow)(this, \"_textHighlighter\", new _text_highlighter.TextHighlighter({\n pageIndex: this.id - 1,\n eventBus: this.eventBus,\n findController: this.#layerProperties().findController\n }));\n }\n async #renderAnnotationLayer() {\n let error = null;\n try {\n await this.annotationLayer.render(this.viewport, \"display\");\n } catch (ex) {\n console.error(`#renderAnnotationLayer: \"${ex}\".`);\n error = ex;\n } finally {\n this.eventBus.dispatch(\"annotationlayerrendered\", {\n source: this,\n pageNumber: this.id,\n error\n });\n }\n }\n async #renderAnnotationEditorLayer() {\n let error = null;\n try {\n await this.annotationEditorLayer.render(this.viewport, \"display\");\n } catch (ex) {\n console.error(`#renderAnnotationEditorLayer: \"${ex}\".`);\n error = ex;\n } finally {\n this.eventBus.dispatch(\"annotationeditorlayerrendered\", {\n source: this,\n pageNumber: this.id,\n error\n });\n }\n }\n async #renderXfaLayer() {\n let error = null;\n try {\n const result = await this.xfaLayer.render(this.viewport, \"display\");\n if (result?.textDivs && this._textHighlighter) {\n this.#buildXfaTextContentItems(result.textDivs);\n }\n } catch (ex) {\n console.error(`#renderXfaLayer: \"${ex}\".`);\n error = ex;\n } finally {\n this.eventBus.dispatch(\"xfalayerrendered\", {\n source: this,\n pageNumber: this.id,\n error\n });\n }\n }\n async #renderTextLayer() {\n const {\n pdfPage,\n textLayer,\n viewport\n } = this;\n if (!textLayer) {\n return;\n }\n let error = null;\n try {\n if (!textLayer.renderingDone) {\n const readableStream = pdfPage.streamTextContent({\n includeMarkedContent: true,\n disableNormalization: true\n });\n textLayer.setTextContentSource(readableStream);\n }\n await textLayer.render(viewport);\n } catch (ex) {\n if (ex instanceof _pdfjsLib.AbortException) {\n return;\n }\n console.error(`#renderTextLayer: \"${ex}\".`);\n error = ex;\n }\n this.eventBus.dispatch(\"textlayerrendered\", {\n source: this,\n pageNumber: this.id,\n numTextDivs: textLayer.numTextDivs,\n error\n });\n this.#renderStructTreeLayer();\n }\n async #renderStructTreeLayer() {\n if (!this.textLayer) {\n return;\n }\n this.structTreeLayer ||= new _struct_tree_layer_builder.StructTreeLayerBuilder();\n const tree = await (!this.structTreeLayer.renderingDone ? this.pdfPage.getStructTree() : null);\n const treeDom = this.structTreeLayer?.render(tree);\n if (treeDom) {\n this.canvas?.append(treeDom);\n }\n this.structTreeLayer?.show();\n }\n async #buildXfaTextContentItems(textDivs) {\n const text = await this.pdfPage.getTextContent();\n const items = [];\n for (const item of text.items) {\n items.push(item.str);\n }\n this._textHighlighter.setTextMapping(textDivs, items);\n this._textHighlighter.enable();\n }\n _resetZoomLayer(removeFromDOM = false) {\n if (!this.zoomLayer) {\n return;\n }\n const zoomLayerCanvas = this.zoomLayer.firstChild;\n this.#viewportMap.delete(zoomLayerCanvas);\n zoomLayerCanvas.width = 0;\n zoomLayerCanvas.height = 0;\n if (removeFromDOM) {\n this.zoomLayer.remove();\n }\n this.zoomLayer = null;\n }\n reset({\n keepZoomLayer = false,\n keepAnnotationLayer = false,\n keepAnnotationEditorLayer = false,\n keepXfaLayer = false,\n keepTextLayer = false\n } = {}) {\n this.cancelRendering({\n keepAnnotationLayer,\n keepAnnotationEditorLayer,\n keepXfaLayer,\n keepTextLayer\n });\n this.renderingState = _ui_utils.RenderingStates.INITIAL;\n const div = this.div;\n const childNodes = div.childNodes,\n zoomLayerNode = keepZoomLayer && this.zoomLayer || null,\n annotationLayerNode = keepAnnotationLayer && this.annotationLayer?.div || null,\n annotationEditorLayerNode = keepAnnotationEditorLayer && this.annotationEditorLayer?.div || null,\n xfaLayerNode = keepXfaLayer && this.xfaLayer?.div || null,\n textLayerNode = keepTextLayer && this.textLayer?.div || null;\n for (let i = childNodes.length - 1; i >= 0; i--) {\n const node = childNodes[i];\n switch (node) {\n case zoomLayerNode:\n case annotationLayerNode:\n case annotationEditorLayerNode:\n case xfaLayerNode:\n case textLayerNode:\n continue;\n }\n node.remove();\n }\n div.removeAttribute(\"data-loaded\");\n if (annotationLayerNode) {\n this.annotationLayer.hide();\n }\n if (annotationEditorLayerNode) {\n this.annotationEditorLayer.hide();\n }\n if (xfaLayerNode) {\n this.xfaLayer.hide();\n }\n if (textLayerNode) {\n this.textLayer.hide();\n }\n this.structTreeLayer?.hide();\n if (!zoomLayerNode) {\n if (this.canvas) {\n this.#viewportMap.delete(this.canvas);\n this.canvas.width = 0;\n this.canvas.height = 0;\n delete this.canvas;\n }\n this._resetZoomLayer();\n }\n }\n update({\n scale = 0,\n rotation = null,\n optionalContentConfigPromise = null,\n drawingDelay = -1\n }) {\n this.scale = scale || this.scale;\n if (typeof rotation === \"number\") {\n this.rotation = rotation;\n }\n if (optionalContentConfigPromise instanceof Promise) {\n this._optionalContentConfigPromise = optionalContentConfigPromise;\n optionalContentConfigPromise.then(optionalContentConfig => {\n if (optionalContentConfigPromise !== this._optionalContentConfigPromise) {\n return;\n }\n this.#useThumbnailCanvas.initialOptionalContent = optionalContentConfig.hasInitialVisibility;\n });\n }\n const totalRotation = (this.rotation + this.pdfPageRotate) % 360;\n this.viewport = this.viewport.clone({\n scale: this.scale * _pdfjsLib.PixelsPerInch.PDF_TO_CSS_UNITS,\n rotation: totalRotation\n });\n this.#setDimensions();\n if (this._isStandalone) {\n this.div.parentNode?.style.setProperty(\"--scale-factor\", this.viewport.scale);\n }\n let isScalingRestricted = false;\n if (this.canvas && this.maxCanvasPixels > 0) {\n const {\n width,\n height\n } = this.viewport;\n const {\n sx,\n sy\n } = this.outputScale;\n if ((Math.floor(width) * sx | 0) * (Math.floor(height) * sy | 0) > this.maxCanvasPixels) {\n isScalingRestricted = true;\n }\n }\n const onlyCssZoom = this.useOnlyCssZoom || this.hasRestrictedScaling && isScalingRestricted;\n const postponeDrawing = !onlyCssZoom && drawingDelay >= 0 && drawingDelay < 1000;\n if (this.canvas) {\n if (postponeDrawing || onlyCssZoom) {\n if (postponeDrawing && this.renderingState !== _ui_utils.RenderingStates.FINISHED) {\n this.cancelRendering({\n keepZoomLayer: true,\n keepAnnotationLayer: true,\n keepAnnotationEditorLayer: true,\n keepXfaLayer: true,\n keepTextLayer: true,\n cancelExtraDelay: drawingDelay\n });\n this.renderingState = _ui_utils.RenderingStates.FINISHED;\n }\n this.cssTransform({\n target: this.canvas,\n redrawAnnotationLayer: true,\n redrawAnnotationEditorLayer: true,\n redrawXfaLayer: true,\n redrawTextLayer: !postponeDrawing,\n hideTextLayer: postponeDrawing\n });\n this.eventBus.dispatch(\"pagerendered\", {\n source: this,\n pageNumber: this.id,\n cssTransform: true,\n timestamp: performance.now(),\n error: this.#renderError\n });\n return;\n }\n if (!this.zoomLayer && !this.canvas.hidden) {\n this.zoomLayer = this.canvas.parentNode;\n this.zoomLayer.style.position = \"absolute\";\n }\n }\n if (this.zoomLayer) {\n this.cssTransform({\n target: this.zoomLayer.firstChild\n });\n }\n this.reset({\n keepZoomLayer: true,\n keepAnnotationLayer: true,\n keepAnnotationEditorLayer: true,\n keepXfaLayer: true,\n keepTextLayer: true\n });\n }\n cancelRendering({\n keepAnnotationLayer = false,\n keepAnnotationEditorLayer = false,\n keepXfaLayer = false,\n keepTextLayer = false,\n cancelExtraDelay = 0\n } = {}) {\n if (this.renderTask) {\n this.renderTask.cancel(cancelExtraDelay);\n this.renderTask = null;\n }\n this.resume = null;\n if (this.textLayer && (!keepTextLayer || !this.textLayer.div)) {\n this.textLayer.cancel();\n this.textLayer = null;\n }\n if (this.structTreeLayer && !this.textLayer) {\n this.structTreeLayer = null;\n }\n if (this.annotationLayer && (!keepAnnotationLayer || !this.annotationLayer.div)) {\n this.annotationLayer.cancel();\n this.annotationLayer = null;\n this._annotationCanvasMap = null;\n }\n if (this.annotationEditorLayer && (!keepAnnotationEditorLayer || !this.annotationEditorLayer.div)) {\n this.annotationEditorLayer.cancel();\n this.annotationEditorLayer = null;\n }\n if (this.xfaLayer && (!keepXfaLayer || !this.xfaLayer.div)) {\n this.xfaLayer.cancel();\n this.xfaLayer = null;\n this._textHighlighter?.disable();\n }\n }\n cssTransform({\n target,\n redrawAnnotationLayer = false,\n redrawAnnotationEditorLayer = false,\n redrawXfaLayer = false,\n redrawTextLayer = false,\n hideTextLayer = false\n }) {\n if (!target.hasAttribute(\"zooming\")) {\n target.setAttribute(\"zooming\", true);\n const {\n style\n } = target;\n style.width = style.height = \"\";\n }\n const originalViewport = this.#viewportMap.get(target);\n if (this.viewport !== originalViewport) {\n const relativeRotation = this.viewport.rotation - originalViewport.rotation;\n const absRotation = Math.abs(relativeRotation);\n let scaleX = 1,\n scaleY = 1;\n if (absRotation === 90 || absRotation === 270) {\n const {\n width,\n height\n } = this.viewport;\n scaleX = height / width;\n scaleY = width / height;\n }\n target.style.transform = `rotate(${relativeRotation}deg) scale(${scaleX}, ${scaleY})`;\n }\n if (redrawAnnotationLayer && this.annotationLayer) {\n this.#renderAnnotationLayer();\n }\n if (redrawAnnotationEditorLayer && this.annotationEditorLayer) {\n this.#renderAnnotationEditorLayer();\n }\n if (redrawXfaLayer && this.xfaLayer) {\n this.#renderXfaLayer();\n }\n if (this.textLayer) {\n if (hideTextLayer) {\n this.textLayer.hide();\n this.structTreeLayer?.hide();\n } else if (redrawTextLayer) {\n this.#renderTextLayer();\n }\n }\n }\n get width() {\n return this.viewport.width;\n }\n get height() {\n return this.viewport.height;\n }\n getPagePoint(x, y) {\n return this.viewport.convertToPdfPoint(x, y);\n }\n async #finishRenderTask(renderTask, error = null) {\n if (renderTask === this.renderTask) {\n this.renderTask = null;\n }\n if (error instanceof _pdfjsLib.RenderingCancelledException) {\n this.#renderError = null;\n return;\n }\n this.#renderError = error;\n this.renderingState = _ui_utils.RenderingStates.FINISHED;\n this._resetZoomLayer(true);\n this.#useThumbnailCanvas.regularAnnotations = !renderTask.separateAnnots;\n this.eventBus.dispatch(\"pagerendered\", {\n source: this,\n pageNumber: this.id,\n cssTransform: false,\n timestamp: performance.now(),\n error: this.#renderError\n });\n if (error) {\n throw error;\n }\n }\n async draw() {\n if (this.renderingState !== _ui_utils.RenderingStates.INITIAL) {\n console.error(\"Must be in new state before drawing\");\n this.reset();\n }\n const {\n div,\n l10n,\n pageColors,\n pdfPage,\n viewport\n } = this;\n if (!pdfPage) {\n this.renderingState = _ui_utils.RenderingStates.FINISHED;\n throw new Error(\"pdfPage is not loaded\");\n }\n this.renderingState = _ui_utils.RenderingStates.RUNNING;\n const canvasWrapper = document.createElement(\"div\");\n canvasWrapper.classList.add(\"canvasWrapper\");\n div.append(canvasWrapper);\n if (!this.textLayer && this.#textLayerMode !== _ui_utils.TextLayerMode.DISABLE && !pdfPage.isPureXfa) {\n this._accessibilityManager ||= new _text_accessibility.TextAccessibilityManager();\n this.textLayer = new _text_layer_builder.TextLayerBuilder({\n highlighter: this._textHighlighter,\n accessibilityManager: this._accessibilityManager,\n isOffscreenCanvasSupported: this.isOffscreenCanvasSupported,\n enablePermissions: this.#textLayerMode === _ui_utils.TextLayerMode.ENABLE_PERMISSIONS\n });\n div.append(this.textLayer.div);\n }\n if (!this.annotationLayer && this.#annotationMode !== _pdfjsLib.AnnotationMode.DISABLE) {\n const {\n annotationStorage,\n downloadManager,\n enableScripting,\n fieldObjectsPromise,\n hasJSActionsPromise,\n linkService\n } = this.#layerProperties();\n this._annotationCanvasMap ||= new Map();\n this.annotationLayer = new _annotation_layer_builder.AnnotationLayerBuilder({\n pageDiv: div,\n pdfPage,\n annotationStorage,\n imageResourcesPath: this.imageResourcesPath,\n renderForms: this.#annotationMode === _pdfjsLib.AnnotationMode.ENABLE_FORMS,\n linkService,\n downloadManager,\n l10n,\n enableScripting,\n hasJSActionsPromise,\n fieldObjectsPromise,\n annotationCanvasMap: this._annotationCanvasMap,\n accessibilityManager: this._accessibilityManager\n });\n }\n const renderContinueCallback = cont => {\n showCanvas?.(false);\n if (this.renderingQueue && !this.renderingQueue.isHighestPriority(this)) {\n this.renderingState = _ui_utils.RenderingStates.PAUSED;\n this.resume = () => {\n this.renderingState = _ui_utils.RenderingStates.RUNNING;\n cont();\n };\n return;\n }\n cont();\n };\n const {\n width,\n height\n } = viewport;\n const canvas = document.createElement(\"canvas\");\n canvas.setAttribute(\"role\", \"presentation\");\n canvas.hidden = true;\n const hasHCM = !!(pageColors?.background && pageColors?.foreground);\n let showCanvas = isLastShow => {\n if (!hasHCM || isLastShow) {\n canvas.hidden = false;\n showCanvas = null;\n }\n };\n canvasWrapper.append(canvas);\n this.canvas = canvas;\n const ctx = canvas.getContext(\"2d\", {\n alpha: false\n });\n const outputScale = this.outputScale = new _ui_utils.OutputScale();\n if (this.useOnlyCssZoom) {\n const actualSizeViewport = viewport.clone({\n scale: _pdfjsLib.PixelsPerInch.PDF_TO_CSS_UNITS\n });\n outputScale.sx *= actualSizeViewport.width / width;\n outputScale.sy *= actualSizeViewport.height / height;\n }\n if (this.maxCanvasPixels > 0) {\n const pixelsInViewport = width * height;\n const maxScale = Math.sqrt(this.maxCanvasPixels / pixelsInViewport);\n if (outputScale.sx > maxScale || outputScale.sy > maxScale) {\n outputScale.sx = maxScale;\n outputScale.sy = maxScale;\n this.hasRestrictedScaling = true;\n } else {\n this.hasRestrictedScaling = false;\n }\n }\n const sfx = (0, _ui_utils.approximateFraction)(outputScale.sx);\n const sfy = (0, _ui_utils.approximateFraction)(outputScale.sy);\n canvas.width = (0, _ui_utils.roundToDivide)(width * outputScale.sx, sfx[0]);\n canvas.height = (0, _ui_utils.roundToDivide)(height * outputScale.sy, sfy[0]);\n const {\n style\n } = canvas;\n style.width = (0, _ui_utils.roundToDivide)(width, sfx[1]) + \"px\";\n style.height = (0, _ui_utils.roundToDivide)(height, sfy[1]) + \"px\";\n this.#viewportMap.set(canvas, viewport);\n const transform = outputScale.scaled ? [outputScale.sx, 0, 0, outputScale.sy, 0, 0] : null;\n const renderContext = {\n canvasContext: ctx,\n transform,\n viewport,\n annotationMode: this.#annotationMode,\n optionalContentConfigPromise: this._optionalContentConfigPromise,\n annotationCanvasMap: this._annotationCanvasMap,\n pageColors\n };\n const renderTask = this.renderTask = this.pdfPage.render(renderContext);\n renderTask.onContinue = renderContinueCallback;\n const resultPromise = renderTask.promise.then(async () => {\n showCanvas?.(true);\n await this.#finishRenderTask(renderTask);\n this.#renderTextLayer();\n if (this.annotationLayer) {\n await this.#renderAnnotationLayer();\n }\n if (!this.annotationEditorLayer) {\n const {\n annotationEditorUIManager\n } = this.#layerProperties();\n if (!annotationEditorUIManager) {\n return;\n }\n this.annotationEditorLayer = new _annotation_editor_layer_builder.AnnotationEditorLayerBuilder({\n uiManager: annotationEditorUIManager,\n pageDiv: div,\n pdfPage,\n l10n,\n accessibilityManager: this._accessibilityManager\n });\n }\n this.#renderAnnotationEditorLayer();\n }, error => {\n if (!(error instanceof _pdfjsLib.RenderingCancelledException)) {\n showCanvas?.(true);\n }\n return this.#finishRenderTask(renderTask, error);\n });\n if (pdfPage.isPureXfa) {\n if (!this.xfaLayer) {\n const {\n annotationStorage,\n linkService\n } = this.#layerProperties();\n this.xfaLayer = new _xfa_layer_builder.XfaLayerBuilder({\n pageDiv: div,\n pdfPage,\n annotationStorage,\n linkService\n });\n } else if (this.xfaLayer.div) {\n div.append(this.xfaLayer.div);\n }\n this.#renderXfaLayer();\n }\n div.setAttribute(\"data-loaded\", true);\n this.eventBus.dispatch(\"pagerender\", {\n source: this,\n pageNumber: this.id\n });\n return resultPromise;\n }\n setPageLabel(label) {\n this.pageLabel = typeof label === \"string\" ? label : null;\n if (this.pageLabel !== null) {\n this.div.setAttribute(\"data-page-label\", this.pageLabel);\n } else {\n this.div.removeAttribute(\"data-page-label\");\n }\n }\n get thumbnailCanvas() {\n const {\n initialOptionalContent,\n regularAnnotations\n } = this.#useThumbnailCanvas;\n return initialOptionalContent && regularAnnotations ? this.canvas : null;\n }\n}\nexports.PDFPageView = PDFPageView;\n\n/***/ }),\n/* 14 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.AnnotationEditorLayerBuilder = void 0;\nvar _pdfjsLib = __w_pdfjs_require__(4);\nvar _l10n_utils = __w_pdfjs_require__(5);\nclass AnnotationEditorLayerBuilder {\n #uiManager;\n constructor(options) {\n this.pageDiv = options.pageDiv;\n this.pdfPage = options.pdfPage;\n this.accessibilityManager = options.accessibilityManager;\n this.l10n = options.l10n || _l10n_utils.NullL10n;\n this.annotationEditorLayer = null;\n this.div = null;\n this._cancelled = false;\n this.#uiManager = options.uiManager;\n }\n async render(viewport, intent = \"display\") {\n if (intent !== \"display\") {\n return;\n }\n if (this._cancelled) {\n return;\n }\n const clonedViewport = viewport.clone({\n dontFlip: true\n });\n if (this.div) {\n this.annotationEditorLayer.update({\n viewport: clonedViewport\n });\n this.show();\n return;\n }\n const div = this.div = document.createElement(\"div\");\n div.className = \"annotationEditorLayer\";\n div.tabIndex = 0;\n div.hidden = true;\n this.pageDiv.append(div);\n this.annotationEditorLayer = new _pdfjsLib.AnnotationEditorLayer({\n uiManager: this.#uiManager,\n div,\n accessibilityManager: this.accessibilityManager,\n pageIndex: this.pdfPage.pageNumber - 1,\n l10n: this.l10n,\n viewport: clonedViewport\n });\n const parameters = {\n viewport: clonedViewport,\n div,\n annotations: null,\n intent\n };\n this.annotationEditorLayer.render(parameters);\n this.show();\n }\n cancel() {\n this._cancelled = true;\n if (!this.div) {\n return;\n }\n this.pageDiv = null;\n this.annotationEditorLayer.destroy();\n this.div.remove();\n }\n hide() {\n if (!this.div) {\n return;\n }\n this.div.hidden = true;\n }\n show() {\n if (!this.div || this.annotationEditorLayer.isEmpty) {\n return;\n }\n this.div.hidden = false;\n }\n}\nexports.AnnotationEditorLayerBuilder = AnnotationEditorLayerBuilder;\n\n/***/ }),\n/* 15 */\n/***/ ((__unused_webpack_module, exports) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.compatibilityParams = exports.OptionKind = exports.AppOptions = void 0;\nconst compatibilityParams = Object.create(null);\nexports.compatibilityParams = compatibilityParams;\n{\n const userAgent = navigator.userAgent || \"\";\n const platform = navigator.platform || \"\";\n const maxTouchPoints = navigator.maxTouchPoints || 1;\n const isAndroid = /Android/.test(userAgent);\n const isIOS = /\\b(iPad|iPhone|iPod)(?=;)/.test(userAgent) || platform === \"MacIntel\" && maxTouchPoints > 1;\n (function checkCanvasSizeLimitation() {\n if (isIOS || isAndroid) {\n compatibilityParams.maxCanvasPixels = 5242880;\n }\n })();\n}\nconst OptionKind = {\n VIEWER: 0x02,\n API: 0x04,\n WORKER: 0x08,\n PREFERENCE: 0x80\n};\nexports.OptionKind = OptionKind;\nconst defaultOptions = {\n annotationEditorMode: {\n value: 0,\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE\n },\n annotationMode: {\n value: 2,\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE\n },\n cursorToolOnLoad: {\n value: 0,\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE\n },\n defaultZoomDelay: {\n value: 400,\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE\n },\n defaultZoomValue: {\n value: \"\",\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE\n },\n disableHistory: {\n value: false,\n kind: OptionKind.VIEWER\n },\n disablePageLabels: {\n value: false,\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE\n },\n enableFloatingToolbar: {\n value: false,\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE\n },\n enablePermissions: {\n value: false,\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE\n },\n enablePrintAutoRotate: {\n value: true,\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE\n },\n enableScripting: {\n value: true,\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE\n },\n externalLinkRel: {\n value: \"noopener noreferrer nofollow\",\n kind: OptionKind.VIEWER\n },\n externalLinkTarget: {\n value: 0,\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE\n },\n historyUpdateUrl: {\n value: false,\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE\n },\n ignoreDestinationZoom: {\n value: false,\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE\n },\n imageResourcesPath: {\n value: \"./images/\",\n kind: OptionKind.VIEWER\n },\n maxCanvasPixels: {\n value: 16777216,\n kind: OptionKind.VIEWER\n },\n forcePageColors: {\n value: false,\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE\n },\n pageColorsBackground: {\n value: \"Canvas\",\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE\n },\n pageColorsForeground: {\n value: \"CanvasText\",\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE\n },\n pdfBugEnabled: {\n value: false,\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE\n },\n printResolution: {\n value: 150,\n kind: OptionKind.VIEWER\n },\n sidebarViewOnLoad: {\n value: -1,\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE\n },\n scrollModeOnLoad: {\n value: -1,\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE\n },\n spreadModeOnLoad: {\n value: -1,\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE\n },\n textLayerMode: {\n value: 1,\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE\n },\n useOnlyCssZoom: {\n value: false,\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE\n },\n viewerCssTheme: {\n value: 0,\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE\n },\n viewOnLoad: {\n value: 0,\n kind: OptionKind.VIEWER + OptionKind.PREFERENCE\n },\n cMapPacked: {\n value: true,\n kind: OptionKind.API\n },\n cMapUrl: {\n value: \"../web/cmaps/\",\n kind: OptionKind.API\n },\n disableAutoFetch: {\n value: false,\n kind: OptionKind.API + OptionKind.PREFERENCE\n },\n disableFontFace: {\n value: false,\n kind: OptionKind.API + OptionKind.PREFERENCE\n },\n disableRange: {\n value: false,\n kind: OptionKind.API + OptionKind.PREFERENCE\n },\n disableStream: {\n value: false,\n kind: OptionKind.API + OptionKind.PREFERENCE\n },\n docBaseUrl: {\n value: \"\",\n kind: OptionKind.API\n },\n enableXfa: {\n value: true,\n kind: OptionKind.API + OptionKind.PREFERENCE\n },\n fontExtraProperties: {\n value: false,\n kind: OptionKind.API\n },\n isEvalSupported: {\n value: true,\n kind: OptionKind.API\n },\n isOffscreenCanvasSupported: {\n value: true,\n kind: OptionKind.API\n },\n maxImageSize: {\n value: -1,\n kind: OptionKind.API\n },\n pdfBug: {\n value: false,\n kind: OptionKind.API\n },\n standardFontDataUrl: {\n value: \"../web/standard_fonts/\",\n kind: OptionKind.API\n },\n verbosity: {\n value: 1,\n kind: OptionKind.API\n },\n workerPort: {\n value: null,\n kind: OptionKind.WORKER\n },\n workerSrc: {\n value: \"../build/pdf.worker.js\",\n kind: OptionKind.WORKER\n }\n};\n{\n defaultOptions.defaultUrl = {\n value: \"compressed.tracemonkey-pldi-09.pdf\",\n kind: OptionKind.VIEWER\n };\n defaultOptions.disablePreferences = {\n value: false,\n kind: OptionKind.VIEWER\n };\n defaultOptions.locale = {\n value: navigator.language || \"en-US\",\n kind: OptionKind.VIEWER\n };\n defaultOptions.sandboxBundleSrc = {\n value: \"../build/pdf.sandbox.js\",\n kind: OptionKind.VIEWER\n };\n}\nconst userOptions = Object.create(null);\nclass AppOptions {\n constructor() {\n throw new Error(\"Cannot initialize AppOptions.\");\n }\n static get(name) {\n const userOption = userOptions[name];\n if (userOption !== undefined) {\n return userOption;\n }\n const defaultOption = defaultOptions[name];\n if (defaultOption !== undefined) {\n return compatibilityParams[name] ?? defaultOption.value;\n }\n return undefined;\n }\n static getAll(kind = null) {\n const options = Object.create(null);\n for (const name in defaultOptions) {\n const defaultOption = defaultOptions[name];\n if (kind) {\n if ((kind & defaultOption.kind) === 0) {\n continue;\n }\n if (kind === OptionKind.PREFERENCE) {\n const value = defaultOption.value,\n valueType = typeof value;\n if (valueType === \"boolean\" || valueType === \"string\" || valueType === \"number\" && Number.isInteger(value)) {\n options[name] = value;\n continue;\n }\n throw new Error(`Invalid type for preference: ${name}`);\n }\n }\n const userOption = userOptions[name];\n options[name] = userOption !== undefined ? userOption : compatibilityParams[name] ?? defaultOption.value;\n }\n return options;\n }\n static set(name, value) {\n userOptions[name] = value;\n }\n static setAll(options) {\n for (const name in options) {\n userOptions[name] = options[name];\n }\n }\n static remove(name) {\n delete userOptions[name];\n }\n}\nexports.AppOptions = AppOptions;\n{\n AppOptions._hasUserOptions = function () {\n return Object.keys(userOptions).length > 0;\n };\n}\n\n/***/ }),\n/* 16 */\n/***/ ((__unused_webpack_module, exports) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.StructTreeLayerBuilder = void 0;\nconst PDF_ROLE_TO_HTML_ROLE = {\n Document: null,\n DocumentFragment: null,\n Part: \"group\",\n Sect: \"group\",\n Div: \"group\",\n Aside: \"note\",\n NonStruct: \"none\",\n P: null,\n H: \"heading\",\n Title: null,\n FENote: \"note\",\n Sub: \"group\",\n Lbl: null,\n Span: null,\n Em: null,\n Strong: null,\n Link: \"link\",\n Annot: \"note\",\n Form: \"form\",\n Ruby: null,\n RB: null,\n RT: null,\n RP: null,\n Warichu: null,\n WT: null,\n WP: null,\n L: \"list\",\n LI: \"listitem\",\n LBody: null,\n Table: \"table\",\n TR: \"row\",\n TH: \"columnheader\",\n TD: \"cell\",\n THead: \"columnheader\",\n TBody: null,\n TFoot: null,\n Caption: null,\n Figure: \"figure\",\n Formula: null,\n Artifact: null\n};\nconst HEADING_PATTERN = /^H(\\d+)$/;\nclass StructTreeLayerBuilder {\n #treeDom = undefined;\n get renderingDone() {\n return this.#treeDom !== undefined;\n }\n render(structTree) {\n if (this.#treeDom !== undefined) {\n return this.#treeDom;\n }\n const treeDom = this.#walk(structTree);\n treeDom?.classList.add(\"structTree\");\n return this.#treeDom = treeDom;\n }\n hide() {\n if (this.#treeDom && !this.#treeDom.hidden) {\n this.#treeDom.hidden = true;\n }\n }\n show() {\n if (this.#treeDom?.hidden) {\n this.#treeDom.hidden = false;\n }\n }\n #setAttributes(structElement, htmlElement) {\n if (structElement.alt !== undefined) {\n htmlElement.setAttribute(\"aria-label\", structElement.alt);\n }\n if (structElement.id !== undefined) {\n htmlElement.setAttribute(\"aria-owns\", structElement.id);\n }\n if (structElement.lang !== undefined) {\n htmlElement.setAttribute(\"lang\", structElement.lang);\n }\n }\n #walk(node) {\n if (!node) {\n return null;\n }\n const element = document.createElement(\"span\");\n if (\"role\" in node) {\n const {\n role\n } = node;\n const match = role.match(HEADING_PATTERN);\n if (match) {\n element.setAttribute(\"role\", \"heading\");\n element.setAttribute(\"aria-level\", match[1]);\n } else if (PDF_ROLE_TO_HTML_ROLE[role]) {\n element.setAttribute(\"role\", PDF_ROLE_TO_HTML_ROLE[role]);\n }\n }\n this.#setAttributes(node, element);\n if (node.children) {\n if (node.children.length === 1 && \"id\" in node.children[0]) {\n this.#setAttributes(node.children[0], element);\n } else {\n for (const kid of node.children) {\n element.append(this.#walk(kid));\n }\n }\n }\n return element;\n }\n}\nexports.StructTreeLayerBuilder = StructTreeLayerBuilder;\n\n/***/ }),\n/* 17 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.TextAccessibilityManager = void 0;\nvar _ui_utils = __w_pdfjs_require__(2);\nclass TextAccessibilityManager {\n #enabled = false;\n #textChildren = null;\n #textNodes = new Map();\n #waitingElements = new Map();\n setTextMapping(textDivs) {\n this.#textChildren = textDivs;\n }\n static #compareElementPositions(e1, e2) {\n const rect1 = e1.getBoundingClientRect();\n const rect2 = e2.getBoundingClientRect();\n if (rect1.width === 0 && rect1.height === 0) {\n return +1;\n }\n if (rect2.width === 0 && rect2.height === 0) {\n return -1;\n }\n const top1 = rect1.y;\n const bot1 = rect1.y + rect1.height;\n const mid1 = rect1.y + rect1.height / 2;\n const top2 = rect2.y;\n const bot2 = rect2.y + rect2.height;\n const mid2 = rect2.y + rect2.height / 2;\n if (mid1 <= top2 && mid2 >= bot1) {\n return -1;\n }\n if (mid2 <= top1 && mid1 >= bot2) {\n return +1;\n }\n const centerX1 = rect1.x + rect1.width / 2;\n const centerX2 = rect2.x + rect2.width / 2;\n return centerX1 - centerX2;\n }\n enable() {\n if (this.#enabled) {\n throw new Error(\"TextAccessibilityManager is already enabled.\");\n }\n if (!this.#textChildren) {\n throw new Error(\"Text divs and strings have not been set.\");\n }\n this.#enabled = true;\n this.#textChildren = this.#textChildren.slice();\n this.#textChildren.sort(TextAccessibilityManager.#compareElementPositions);\n if (this.#textNodes.size > 0) {\n const textChildren = this.#textChildren;\n for (const [id, nodeIndex] of this.#textNodes) {\n const element = document.getElementById(id);\n if (!element) {\n this.#textNodes.delete(id);\n continue;\n }\n this.#addIdToAriaOwns(id, textChildren[nodeIndex]);\n }\n }\n for (const [element, isRemovable] of this.#waitingElements) {\n this.addPointerInTextLayer(element, isRemovable);\n }\n this.#waitingElements.clear();\n }\n disable() {\n if (!this.#enabled) {\n return;\n }\n this.#waitingElements.clear();\n this.#textChildren = null;\n this.#enabled = false;\n }\n removePointerInTextLayer(element) {\n if (!this.#enabled) {\n this.#waitingElements.delete(element);\n return;\n }\n const children = this.#textChildren;\n if (!children || children.length === 0) {\n return;\n }\n const {\n id\n } = element;\n const nodeIndex = this.#textNodes.get(id);\n if (nodeIndex === undefined) {\n return;\n }\n const node = children[nodeIndex];\n this.#textNodes.delete(id);\n let owns = node.getAttribute(\"aria-owns\");\n if (owns?.includes(id)) {\n owns = owns.split(\" \").filter(x => x !== id).join(\" \");\n if (owns) {\n node.setAttribute(\"aria-owns\", owns);\n } else {\n node.removeAttribute(\"aria-owns\");\n node.setAttribute(\"role\", \"presentation\");\n }\n }\n }\n #addIdToAriaOwns(id, node) {\n const owns = node.getAttribute(\"aria-owns\");\n if (!owns?.includes(id)) {\n node.setAttribute(\"aria-owns\", owns ? `${owns} ${id}` : id);\n }\n node.removeAttribute(\"role\");\n }\n addPointerInTextLayer(element, isRemovable) {\n const {\n id\n } = element;\n if (!id) {\n return;\n }\n if (!this.#enabled) {\n this.#waitingElements.set(element, isRemovable);\n return;\n }\n if (isRemovable) {\n this.removePointerInTextLayer(element);\n }\n const children = this.#textChildren;\n if (!children || children.length === 0) {\n return;\n }\n const index = (0, _ui_utils.binarySearchFirstItem)(children, node => TextAccessibilityManager.#compareElementPositions(element, node) < 0);\n const nodeIndex = Math.max(0, index - 1);\n this.#addIdToAriaOwns(id, children[nodeIndex]);\n this.#textNodes.set(id, nodeIndex);\n }\n moveElementInDOM(container, element, contentElement, isRemovable) {\n this.addPointerInTextLayer(contentElement, isRemovable);\n if (!container.hasChildNodes()) {\n container.append(element);\n return;\n }\n const children = Array.from(container.childNodes).filter(node => node !== element);\n if (children.length === 0) {\n return;\n }\n const elementToCompare = contentElement || element;\n const index = (0, _ui_utils.binarySearchFirstItem)(children, node => TextAccessibilityManager.#compareElementPositions(elementToCompare, node) < 0);\n if (index === 0) {\n children[0].before(element);\n } else {\n children[index - 1].after(element);\n }\n }\n}\nexports.TextAccessibilityManager = TextAccessibilityManager;\n\n/***/ }),\n/* 18 */\n/***/ ((__unused_webpack_module, exports) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.TextHighlighter = void 0;\nclass TextHighlighter {\n constructor({\n findController,\n eventBus,\n pageIndex\n }) {\n this.findController = findController;\n this.matches = [];\n this.eventBus = eventBus;\n this.pageIdx = pageIndex;\n this._onUpdateTextLayerMatches = null;\n this.textDivs = null;\n this.textContentItemsStr = null;\n this.enabled = false;\n }\n setTextMapping(divs, texts) {\n this.textDivs = divs;\n this.textContentItemsStr = texts;\n }\n enable() {\n if (!this.textDivs || !this.textContentItemsStr) {\n throw new Error(\"Text divs and strings have not been set.\");\n }\n if (this.enabled) {\n throw new Error(\"TextHighlighter is already enabled.\");\n }\n this.enabled = true;\n if (!this._onUpdateTextLayerMatches) {\n this._onUpdateTextLayerMatches = evt => {\n if (evt.pageIndex === this.pageIdx || evt.pageIndex === -1) {\n this._updateMatches();\n }\n };\n this.eventBus._on(\"updatetextlayermatches\", this._onUpdateTextLayerMatches);\n }\n this._updateMatches();\n }\n disable() {\n if (!this.enabled) {\n return;\n }\n this.enabled = false;\n if (this._onUpdateTextLayerMatches) {\n this.eventBus._off(\"updatetextlayermatches\", this._onUpdateTextLayerMatches);\n this._onUpdateTextLayerMatches = null;\n }\n this._updateMatches(true);\n }\n _convertMatches(matches, matchesLength) {\n if (!matches) {\n return [];\n }\n const {\n textContentItemsStr\n } = this;\n let i = 0,\n iIndex = 0;\n const end = textContentItemsStr.length - 1;\n const result = [];\n for (let m = 0, mm = matches.length; m < mm; m++) {\n let matchIdx = matches[m];\n while (i !== end && matchIdx >= iIndex + textContentItemsStr[i].length) {\n iIndex += textContentItemsStr[i].length;\n i++;\n }\n if (i === textContentItemsStr.length) {\n console.error(\"Could not find a matching mapping\");\n }\n const match = {\n begin: {\n divIdx: i,\n offset: matchIdx - iIndex\n }\n };\n matchIdx += matchesLength[m];\n while (i !== end && matchIdx > iIndex + textContentItemsStr[i].length) {\n iIndex += textContentItemsStr[i].length;\n i++;\n }\n match.end = {\n divIdx: i,\n offset: matchIdx - iIndex\n };\n result.push(match);\n }\n return result;\n }\n _renderMatches(matches) {\n if (matches.length === 0) {\n return;\n }\n const {\n findController,\n pageIdx\n } = this;\n const {\n textContentItemsStr,\n textDivs\n } = this;\n const isSelectedPage = pageIdx === findController.selected.pageIdx;\n const selectedMatchIdx = findController.selected.matchIdx;\n const highlightAll = findController.state.highlightAll;\n let prevEnd = null;\n const infinity = {\n divIdx: -1,\n offset: undefined\n };\n function beginText(begin, className) {\n const divIdx = begin.divIdx;\n textDivs[divIdx].textContent = \"\";\n return appendTextToDiv(divIdx, 0, begin.offset, className);\n }\n function appendTextToDiv(divIdx, fromOffset, toOffset, className) {\n let div = textDivs[divIdx];\n if (div.nodeType === Node.TEXT_NODE) {\n const span = document.createElement(\"span\");\n div.before(span);\n span.append(div);\n textDivs[divIdx] = span;\n div = span;\n }\n const content = textContentItemsStr[divIdx].substring(fromOffset, toOffset);\n const node = document.createTextNode(content);\n if (className) {\n const span = document.createElement(\"span\");\n span.className = `${className} appended`;\n span.append(node);\n div.append(span);\n return className.includes(\"selected\") ? span.offsetLeft : 0;\n }\n div.append(node);\n return 0;\n }\n let i0 = selectedMatchIdx,\n i1 = i0 + 1;\n if (highlightAll) {\n i0 = 0;\n i1 = matches.length;\n } else if (!isSelectedPage) {\n return;\n }\n let lastDivIdx = -1;\n let lastOffset = -1;\n for (let i = i0; i < i1; i++) {\n const match = matches[i];\n const begin = match.begin;\n if (begin.divIdx === lastDivIdx && begin.offset === lastOffset) {\n continue;\n }\n lastDivIdx = begin.divIdx;\n lastOffset = begin.offset;\n const end = match.end;\n const isSelected = isSelectedPage && i === selectedMatchIdx;\n const highlightSuffix = isSelected ? \" selected\" : \"\";\n let selectedLeft = 0;\n if (!prevEnd || begin.divIdx !== prevEnd.divIdx) {\n if (prevEnd !== null) {\n appendTextToDiv(prevEnd.divIdx, prevEnd.offset, infinity.offset);\n }\n beginText(begin);\n } else {\n appendTextToDiv(prevEnd.divIdx, prevEnd.offset, begin.offset);\n }\n if (begin.divIdx === end.divIdx) {\n selectedLeft = appendTextToDiv(begin.divIdx, begin.offset, end.offset, \"highlight\" + highlightSuffix);\n } else {\n selectedLeft = appendTextToDiv(begin.divIdx, begin.offset, infinity.offset, \"highlight begin\" + highlightSuffix);\n for (let n0 = begin.divIdx + 1, n1 = end.divIdx; n0 < n1; n0++) {\n textDivs[n0].className = \"highlight middle\" + highlightSuffix;\n }\n beginText(end, \"highlight end\" + highlightSuffix);\n }\n prevEnd = end;\n if (isSelected) {\n findController.scrollMatchIntoView({\n element: textDivs[begin.divIdx],\n selectedLeft,\n pageIndex: pageIdx,\n matchIndex: selectedMatchIdx\n });\n }\n }\n if (prevEnd) {\n appendTextToDiv(prevEnd.divIdx, prevEnd.offset, infinity.offset);\n }\n }\n _updateMatches(reset = false) {\n if (!this.enabled && !reset) {\n return;\n }\n const {\n findController,\n matches,\n pageIdx\n } = this;\n const {\n textContentItemsStr,\n textDivs\n } = this;\n let clearedUntilDivIdx = -1;\n for (const match of matches) {\n const begin = Math.max(clearedUntilDivIdx, match.begin.divIdx);\n for (let n = begin, end = match.end.divIdx; n <= end; n++) {\n const div = textDivs[n];\n div.textContent = textContentItemsStr[n];\n div.className = \"\";\n }\n clearedUntilDivIdx = match.end.divIdx + 1;\n }\n if (!findController?.highlightMatches || reset) {\n return;\n }\n const pageMatches = findController.pageMatches[pageIdx] || null;\n const pageMatchesLength = findController.pageMatchesLength[pageIdx] || null;\n this.matches = this._convertMatches(pageMatches, pageMatchesLength);\n this._renderMatches(this.matches);\n }\n}\nexports.TextHighlighter = TextHighlighter;\n\n/***/ }),\n/* 19 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.TextLayerBuilder = void 0;\nvar _pdfjsLib = __w_pdfjs_require__(4);\nvar _ui_utils = __w_pdfjs_require__(2);\nclass TextLayerBuilder {\n #enablePermissions = false;\n #rotation = 0;\n #scale = 0;\n #textContentSource = null;\n constructor({\n highlighter = null,\n accessibilityManager = null,\n isOffscreenCanvasSupported = true,\n enablePermissions = false\n }) {\n this.textContentItemsStr = [];\n this.renderingDone = false;\n this.textDivs = [];\n this.textDivProperties = new WeakMap();\n this.textLayerRenderTask = null;\n this.highlighter = highlighter;\n this.accessibilityManager = accessibilityManager;\n this.isOffscreenCanvasSupported = isOffscreenCanvasSupported;\n this.#enablePermissions = enablePermissions === true;\n this.div = document.createElement(\"div\");\n this.div.className = \"textLayer\";\n this.hide();\n }\n #finishRendering() {\n this.renderingDone = true;\n const endOfContent = document.createElement(\"div\");\n endOfContent.className = \"endOfContent\";\n this.div.append(endOfContent);\n this.#bindMouse();\n }\n get numTextDivs() {\n return this.textDivs.length;\n }\n async render(viewport) {\n if (!this.#textContentSource) {\n throw new Error('No \"textContentSource\" parameter specified.');\n }\n const scale = viewport.scale * (globalThis.devicePixelRatio || 1);\n const {\n rotation\n } = viewport;\n if (this.renderingDone) {\n const mustRotate = rotation !== this.#rotation;\n const mustRescale = scale !== this.#scale;\n if (mustRotate || mustRescale) {\n this.hide();\n (0, _pdfjsLib.updateTextLayer)({\n container: this.div,\n viewport,\n textDivs: this.textDivs,\n textDivProperties: this.textDivProperties,\n isOffscreenCanvasSupported: this.isOffscreenCanvasSupported,\n mustRescale,\n mustRotate\n });\n this.#scale = scale;\n this.#rotation = rotation;\n }\n this.show();\n return;\n }\n this.cancel();\n this.highlighter?.setTextMapping(this.textDivs, this.textContentItemsStr);\n this.accessibilityManager?.setTextMapping(this.textDivs);\n this.textLayerRenderTask = (0, _pdfjsLib.renderTextLayer)({\n textContentSource: this.#textContentSource,\n container: this.div,\n viewport,\n textDivs: this.textDivs,\n textDivProperties: this.textDivProperties,\n textContentItemsStr: this.textContentItemsStr,\n isOffscreenCanvasSupported: this.isOffscreenCanvasSupported\n });\n await this.textLayerRenderTask.promise;\n this.#finishRendering();\n this.#scale = scale;\n this.#rotation = rotation;\n this.show();\n this.accessibilityManager?.enable();\n }\n hide() {\n if (!this.div.hidden) {\n this.highlighter?.disable();\n this.div.hidden = true;\n }\n }\n show() {\n if (this.div.hidden && this.renderingDone) {\n this.div.hidden = false;\n this.highlighter?.enable();\n }\n }\n cancel() {\n if (this.textLayerRenderTask) {\n this.textLayerRenderTask.cancel();\n this.textLayerRenderTask = null;\n }\n this.highlighter?.disable();\n this.accessibilityManager?.disable();\n this.textContentItemsStr.length = 0;\n this.textDivs.length = 0;\n this.textDivProperties = new WeakMap();\n }\n setTextContentSource(source) {\n this.cancel();\n this.#textContentSource = source;\n }\n #bindMouse() {\n const {\n div\n } = this;\n div.addEventListener(\"mousedown\", evt => {\n const end = div.querySelector(\".endOfContent\");\n if (!end) {\n return;\n }\n let adjustTop = evt.target !== div;\n adjustTop &&= getComputedStyle(end).getPropertyValue(\"-moz-user-select\") !== \"none\";\n if (adjustTop) {\n const divBounds = div.getBoundingClientRect();\n const r = Math.max(0, (evt.pageY - divBounds.top) / divBounds.height);\n end.style.top = (r * 100).toFixed(2) + \"%\";\n }\n end.classList.add(\"active\");\n });\n div.addEventListener(\"mouseup\", () => {\n const end = div.querySelector(\".endOfContent\");\n if (!end) {\n return;\n }\n end.style.top = \"\";\n end.classList.remove(\"active\");\n });\n div.addEventListener(\"copy\", event => {\n if (!this.#enablePermissions) {\n const selection = document.getSelection();\n event.clipboardData.setData(\"text/plain\", (0, _ui_utils.removeNullCharacters)((0, _pdfjsLib.normalizeUnicode)(selection.toString())));\n }\n event.preventDefault();\n event.stopPropagation();\n });\n }\n}\nexports.TextLayerBuilder = TextLayerBuilder;\n\n/***/ }),\n/* 20 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.XfaLayerBuilder = void 0;\nvar _pdfjsLib = __w_pdfjs_require__(4);\nclass XfaLayerBuilder {\n constructor({\n pageDiv,\n pdfPage,\n annotationStorage = null,\n linkService,\n xfaHtml = null\n }) {\n this.pageDiv = pageDiv;\n this.pdfPage = pdfPage;\n this.annotationStorage = annotationStorage;\n this.linkService = linkService;\n this.xfaHtml = xfaHtml;\n this.div = null;\n this._cancelled = false;\n }\n async render(viewport, intent = \"display\") {\n if (intent === \"print\") {\n const parameters = {\n viewport: viewport.clone({\n dontFlip: true\n }),\n div: this.div,\n xfaHtml: this.xfaHtml,\n annotationStorage: this.annotationStorage,\n linkService: this.linkService,\n intent\n };\n const div = document.createElement(\"div\");\n this.pageDiv.append(div);\n parameters.div = div;\n return _pdfjsLib.XfaLayer.render(parameters);\n }\n const xfaHtml = await this.pdfPage.getXfa();\n if (this._cancelled || !xfaHtml) {\n return {\n textDivs: []\n };\n }\n const parameters = {\n viewport: viewport.clone({\n dontFlip: true\n }),\n div: this.div,\n xfaHtml,\n annotationStorage: this.annotationStorage,\n linkService: this.linkService,\n intent\n };\n if (this.div) {\n return _pdfjsLib.XfaLayer.update(parameters);\n }\n this.div = document.createElement(\"div\");\n this.pageDiv.append(this.div);\n parameters.div = this.div;\n return _pdfjsLib.XfaLayer.render(parameters);\n }\n cancel() {\n this._cancelled = true;\n }\n hide() {\n if (!this.div) {\n return;\n }\n this.div.hidden = true;\n }\n}\nexports.XfaLayerBuilder = XfaLayerBuilder;\n\n/***/ }),\n/* 21 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.PDFScriptingManager = void 0;\nvar _ui_utils = __w_pdfjs_require__(2);\nvar _pdfjsLib = __w_pdfjs_require__(4);\nclass PDFScriptingManager {\n constructor({\n eventBus,\n sandboxBundleSrc = null,\n scriptingFactory = null,\n docPropertiesLookup = null\n }) {\n this._pdfDocument = null;\n this._pdfViewer = null;\n this._closeCapability = null;\n this._destroyCapability = null;\n this._scripting = null;\n this._ready = false;\n this._eventBus = eventBus;\n this._sandboxBundleSrc = sandboxBundleSrc;\n this._scriptingFactory = scriptingFactory;\n this._docPropertiesLookup = docPropertiesLookup;\n if (!this._scriptingFactory) {\n window.addEventListener(\"updatefromsandbox\", event => {\n this._eventBus.dispatch(\"updatefromsandbox\", {\n source: window,\n detail: event.detail\n });\n });\n }\n }\n setViewer(pdfViewer) {\n this._pdfViewer = pdfViewer;\n }\n async setDocument(pdfDocument) {\n if (this._pdfDocument) {\n await this._destroyScripting();\n }\n this._pdfDocument = pdfDocument;\n if (!pdfDocument) {\n return;\n }\n const [objects, calculationOrder, docActions] = await Promise.all([pdfDocument.getFieldObjects(), pdfDocument.getCalculationOrderIds(), pdfDocument.getJSActions()]);\n if (!objects && !docActions) {\n await this._destroyScripting();\n return;\n }\n if (pdfDocument !== this._pdfDocument) {\n return;\n }\n try {\n this._scripting = this._createScripting();\n } catch (error) {\n console.error(`PDFScriptingManager.setDocument: \"${error?.message}\".`);\n await this._destroyScripting();\n return;\n }\n this._internalEvents.set(\"updatefromsandbox\", event => {\n if (event?.source !== window) {\n return;\n }\n this._updateFromSandbox(event.detail);\n });\n this._internalEvents.set(\"dispatcheventinsandbox\", event => {\n this._scripting?.dispatchEventInSandbox(event.detail);\n });\n this._internalEvents.set(\"pagechanging\", ({\n pageNumber,\n previous\n }) => {\n if (pageNumber === previous) {\n return;\n }\n this._dispatchPageClose(previous);\n this._dispatchPageOpen(pageNumber);\n });\n this._internalEvents.set(\"pagerendered\", ({\n pageNumber\n }) => {\n if (!this._pageOpenPending.has(pageNumber)) {\n return;\n }\n if (pageNumber !== this._pdfViewer.currentPageNumber) {\n return;\n }\n this._dispatchPageOpen(pageNumber);\n });\n this._internalEvents.set(\"pagesdestroy\", async event => {\n await this._dispatchPageClose(this._pdfViewer.currentPageNumber);\n await this._scripting?.dispatchEventInSandbox({\n id: \"doc\",\n name: \"WillClose\"\n });\n this._closeCapability?.resolve();\n });\n for (const [name, listener] of this._internalEvents) {\n this._eventBus._on(name, listener);\n }\n try {\n const docProperties = await this._getDocProperties();\n if (pdfDocument !== this._pdfDocument) {\n return;\n }\n await this._scripting.createSandbox({\n objects,\n calculationOrder,\n appInfo: {\n platform: navigator.platform,\n language: navigator.language\n },\n docInfo: {\n ...docProperties,\n actions: docActions\n }\n });\n this._eventBus.dispatch(\"sandboxcreated\", {\n source: this\n });\n } catch (error) {\n console.error(`PDFScriptingManager.setDocument: \"${error?.message}\".`);\n await this._destroyScripting();\n return;\n }\n await this._scripting?.dispatchEventInSandbox({\n id: \"doc\",\n name: \"Open\"\n });\n await this._dispatchPageOpen(this._pdfViewer.currentPageNumber, true);\n Promise.resolve().then(() => {\n if (pdfDocument === this._pdfDocument) {\n this._ready = true;\n }\n });\n }\n async dispatchWillSave(detail) {\n return this._scripting?.dispatchEventInSandbox({\n id: \"doc\",\n name: \"WillSave\"\n });\n }\n async dispatchDidSave(detail) {\n return this._scripting?.dispatchEventInSandbox({\n id: \"doc\",\n name: \"DidSave\"\n });\n }\n async dispatchWillPrint(detail) {\n return this._scripting?.dispatchEventInSandbox({\n id: \"doc\",\n name: \"WillPrint\"\n });\n }\n async dispatchDidPrint(detail) {\n return this._scripting?.dispatchEventInSandbox({\n id: \"doc\",\n name: \"DidPrint\"\n });\n }\n get destroyPromise() {\n return this._destroyCapability?.promise || null;\n }\n get ready() {\n return this._ready;\n }\n get _internalEvents() {\n return (0, _pdfjsLib.shadow)(this, \"_internalEvents\", new Map());\n }\n get _pageOpenPending() {\n return (0, _pdfjsLib.shadow)(this, \"_pageOpenPending\", new Set());\n }\n get _visitedPages() {\n return (0, _pdfjsLib.shadow)(this, \"_visitedPages\", new Map());\n }\n async _updateFromSandbox(detail) {\n const isInPresentationMode = this._pdfViewer.isInPresentationMode || this._pdfViewer.isChangingPresentationMode;\n const {\n id,\n siblings,\n command,\n value\n } = detail;\n if (!id) {\n switch (command) {\n case \"clear\":\n console.clear();\n break;\n case \"error\":\n console.error(value);\n break;\n case \"layout\":\n {\n if (isInPresentationMode) {\n return;\n }\n const modes = (0, _ui_utils.apiPageLayoutToViewerModes)(value);\n this._pdfViewer.spreadMode = modes.spreadMode;\n break;\n }\n case \"page-num\":\n this._pdfViewer.currentPageNumber = value + 1;\n break;\n case \"print\":\n await this._pdfViewer.pagesPromise;\n this._eventBus.dispatch(\"print\", {\n source: this\n });\n break;\n case \"println\":\n console.log(value);\n break;\n case \"zoom\":\n if (isInPresentationMode) {\n return;\n }\n this._pdfViewer.currentScaleValue = value;\n break;\n case \"SaveAs\":\n this._eventBus.dispatch(\"download\", {\n source: this\n });\n break;\n case \"FirstPage\":\n this._pdfViewer.currentPageNumber = 1;\n break;\n case \"LastPage\":\n this._pdfViewer.currentPageNumber = this._pdfViewer.pagesCount;\n break;\n case \"NextPage\":\n this._pdfViewer.nextPage();\n break;\n case \"PrevPage\":\n this._pdfViewer.previousPage();\n break;\n case \"ZoomViewIn\":\n if (isInPresentationMode) {\n return;\n }\n this._pdfViewer.increaseScale();\n break;\n case \"ZoomViewOut\":\n if (isInPresentationMode) {\n return;\n }\n this._pdfViewer.decreaseScale();\n break;\n }\n return;\n }\n if (isInPresentationMode) {\n if (detail.focus) {\n return;\n }\n }\n delete detail.id;\n delete detail.siblings;\n const ids = siblings ? [id, ...siblings] : [id];\n for (const elementId of ids) {\n const element = document.querySelector(`[data-element-id=\"${elementId}\"]`);\n if (element) {\n element.dispatchEvent(new CustomEvent(\"updatefromsandbox\", {\n detail\n }));\n } else {\n this._pdfDocument?.annotationStorage.setValue(elementId, detail);\n }\n }\n }\n async _dispatchPageOpen(pageNumber, initialize = false) {\n const pdfDocument = this._pdfDocument,\n visitedPages = this._visitedPages;\n if (initialize) {\n this._closeCapability = new _pdfjsLib.PromiseCapability();\n }\n if (!this._closeCapability) {\n return;\n }\n const pageView = this._pdfViewer.getPageView(pageNumber - 1);\n if (pageView?.renderingState !== _ui_utils.RenderingStates.FINISHED) {\n this._pageOpenPending.add(pageNumber);\n return;\n }\n this._pageOpenPending.delete(pageNumber);\n const actionsPromise = (async () => {\n const actions = await (!visitedPages.has(pageNumber) ? pageView.pdfPage?.getJSActions() : null);\n if (pdfDocument !== this._pdfDocument) {\n return;\n }\n await this._scripting?.dispatchEventInSandbox({\n id: \"page\",\n name: \"PageOpen\",\n pageNumber,\n actions\n });\n })();\n visitedPages.set(pageNumber, actionsPromise);\n }\n async _dispatchPageClose(pageNumber) {\n const pdfDocument = this._pdfDocument,\n visitedPages = this._visitedPages;\n if (!this._closeCapability) {\n return;\n }\n if (this._pageOpenPending.has(pageNumber)) {\n return;\n }\n const actionsPromise = visitedPages.get(pageNumber);\n if (!actionsPromise) {\n return;\n }\n visitedPages.set(pageNumber, null);\n await actionsPromise;\n if (pdfDocument !== this._pdfDocument) {\n return;\n }\n await this._scripting?.dispatchEventInSandbox({\n id: \"page\",\n name: \"PageClose\",\n pageNumber\n });\n }\n async _getDocProperties() {\n if (this._docPropertiesLookup) {\n return this._docPropertiesLookup(this._pdfDocument);\n }\n const {\n docPropertiesLookup\n } = __w_pdfjs_require__(22);\n return docPropertiesLookup(this._pdfDocument);\n }\n _createScripting() {\n this._destroyCapability = new _pdfjsLib.PromiseCapability();\n if (this._scripting) {\n throw new Error(\"_createScripting: Scripting already exists.\");\n }\n if (this._scriptingFactory) {\n return this._scriptingFactory.createScripting({\n sandboxBundleSrc: this._sandboxBundleSrc\n });\n }\n const {\n GenericScripting\n } = __w_pdfjs_require__(22);\n return new GenericScripting(this._sandboxBundleSrc);\n }\n async _destroyScripting() {\n if (!this._scripting) {\n this._pdfDocument = null;\n this._destroyCapability?.resolve();\n return;\n }\n if (this._closeCapability) {\n await Promise.race([this._closeCapability.promise, new Promise(resolve => {\n setTimeout(resolve, 1000);\n })]).catch(reason => {});\n this._closeCapability = null;\n }\n this._pdfDocument = null;\n try {\n await this._scripting.destroySandbox();\n } catch (ex) {}\n for (const [name, listener] of this._internalEvents) {\n this._eventBus._off(name, listener);\n }\n this._internalEvents.clear();\n this._pageOpenPending.clear();\n this._visitedPages.clear();\n this._scripting = null;\n this._ready = false;\n this._destroyCapability?.resolve();\n }\n}\nexports.PDFScriptingManager = PDFScriptingManager;\n\n/***/ }),\n/* 22 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.GenericScripting = void 0;\nexports.docPropertiesLookup = docPropertiesLookup;\nvar _pdfjsLib = __w_pdfjs_require__(4);\nasync function docPropertiesLookup(pdfDocument) {\n const url = \"\",\n baseUrl = url.split(\"#\")[0];\n let {\n info,\n metadata,\n contentDispositionFilename,\n contentLength\n } = await pdfDocument.getMetadata();\n if (!contentLength) {\n const {\n length\n } = await pdfDocument.getDownloadInfo();\n contentLength = length;\n }\n return {\n ...info,\n baseURL: baseUrl,\n filesize: contentLength,\n filename: contentDispositionFilename || (0, _pdfjsLib.getPdfFilenameFromUrl)(url),\n metadata: metadata?.getRaw(),\n authors: metadata?.get(\"dc:creator\"),\n numPages: pdfDocument.numPages,\n URL: url\n };\n}\nclass GenericScripting {\n constructor(sandboxBundleSrc) {\n this._ready = (0, _pdfjsLib.loadScript)(sandboxBundleSrc, true).then(() => {\n return window.pdfjsSandbox.QuickJSSandbox();\n });\n }\n async createSandbox(data) {\n const sandbox = await this._ready;\n sandbox.create(data);\n }\n async dispatchEventInSandbox(event) {\n const sandbox = await this._ready;\n setTimeout(() => sandbox.dispatchEvent(event), 0);\n }\n async destroySandbox() {\n const sandbox = await this._ready;\n sandbox.nukeSandbox();\n }\n}\nexports.GenericScripting = GenericScripting;\n\n/***/ }),\n/* 23 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.PDFSinglePageViewer = void 0;\nvar _ui_utils = __w_pdfjs_require__(2);\nvar _pdf_viewer = __w_pdfjs_require__(24);\nclass PDFSinglePageViewer extends _pdf_viewer.PDFViewer {\n _resetView() {\n super._resetView();\n this._scrollMode = _ui_utils.ScrollMode.PAGE;\n this._spreadMode = _ui_utils.SpreadMode.NONE;\n }\n set scrollMode(mode) {}\n _updateScrollMode() {}\n set spreadMode(mode) {}\n _updateSpreadMode() {}\n}\nexports.PDFSinglePageViewer = PDFSinglePageViewer;\n\n/***/ }),\n/* 24 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.PagesCountLimit = exports.PDFViewer = exports.PDFPageViewBuffer = void 0;\nvar _pdfjsLib = __w_pdfjs_require__(4);\nvar _ui_utils = __w_pdfjs_require__(2);\nvar _l10n_utils = __w_pdfjs_require__(5);\nvar _pdf_page_view = __w_pdfjs_require__(13);\nvar _pdf_rendering_queue = __w_pdfjs_require__(25);\nvar _pdf_link_service = __w_pdfjs_require__(1);\nconst DEFAULT_CACHE_SIZE = 10;\nconst PagesCountLimit = {\n FORCE_SCROLL_MODE_PAGE: 15000,\n FORCE_LAZY_PAGE_INIT: 7500,\n PAUSE_EAGER_PAGE_INIT: 250\n};\nexports.PagesCountLimit = PagesCountLimit;\nfunction isValidAnnotationEditorMode(mode) {\n return Object.values(_pdfjsLib.AnnotationEditorType).includes(mode) && mode !== _pdfjsLib.AnnotationEditorType.DISABLE;\n}\nclass PDFPageViewBuffer {\n #buf = new Set();\n #size = 0;\n constructor(size) {\n this.#size = size;\n }\n push(view) {\n const buf = this.#buf;\n if (buf.has(view)) {\n buf.delete(view);\n }\n buf.add(view);\n if (buf.size > this.#size) {\n this.#destroyFirstView();\n }\n }\n resize(newSize, idsToKeep = null) {\n this.#size = newSize;\n const buf = this.#buf;\n if (idsToKeep) {\n const ii = buf.size;\n let i = 1;\n for (const view of buf) {\n if (idsToKeep.has(view.id)) {\n buf.delete(view);\n buf.add(view);\n }\n if (++i > ii) {\n break;\n }\n }\n }\n while (buf.size > this.#size) {\n this.#destroyFirstView();\n }\n }\n has(view) {\n return this.#buf.has(view);\n }\n [Symbol.iterator]() {\n return this.#buf.keys();\n }\n #destroyFirstView() {\n const firstView = this.#buf.keys().next().value;\n firstView?.destroy();\n this.#buf.delete(firstView);\n }\n}\nexports.PDFPageViewBuffer = PDFPageViewBuffer;\nclass PDFViewer {\n #buffer = null;\n #annotationEditorMode = _pdfjsLib.AnnotationEditorType.NONE;\n #annotationEditorUIManager = null;\n #annotationMode = _pdfjsLib.AnnotationMode.ENABLE_FORMS;\n #containerTopLeft = null;\n #copyCallbackBound = null;\n #enablePermissions = false;\n #getAllTextInProgress = false;\n #hiddenCopyElement = null;\n #interruptCopyCondition = false;\n #previousContainerHeight = 0;\n #resizeObserver = new ResizeObserver(this.#resizeObserverCallback.bind(this));\n #scrollModePageState = null;\n #onVisibilityChange = null;\n #scaleTimeoutId = null;\n #textLayerMode = _ui_utils.TextLayerMode.ENABLE;\n constructor(options) {\n const viewerVersion = '3.6.172';\n if (_pdfjsLib.version !== viewerVersion) {\n throw new Error(`The API version \"${_pdfjsLib.version}\" does not match the Viewer version \"${viewerVersion}\".`);\n }\n this.container = options.container;\n this.viewer = options.viewer || options.container.firstElementChild;\n if (this.container?.tagName !== \"DIV\" || this.viewer?.tagName !== \"DIV\") {\n throw new Error(\"Invalid `container` and/or `viewer` option.\");\n }\n if (this.container.offsetParent && getComputedStyle(this.container).position !== \"absolute\") {\n throw new Error(\"The `container` must be absolutely positioned.\");\n }\n this.#resizeObserver.observe(this.container);\n this.eventBus = options.eventBus;\n this.linkService = options.linkService || new _pdf_link_service.SimpleLinkService();\n this.downloadManager = options.downloadManager || null;\n this.findController = options.findController || null;\n this._scriptingManager = options.scriptingManager || null;\n this.#textLayerMode = options.textLayerMode ?? _ui_utils.TextLayerMode.ENABLE;\n this.#annotationMode = options.annotationMode ?? _pdfjsLib.AnnotationMode.ENABLE_FORMS;\n this.#annotationEditorMode = options.annotationEditorMode ?? _pdfjsLib.AnnotationEditorType.NONE;\n this.imageResourcesPath = options.imageResourcesPath || \"\";\n this.enablePrintAutoRotate = options.enablePrintAutoRotate || false;\n this.removePageBorders = options.removePageBorders || false;\n this.useOnlyCssZoom = options.useOnlyCssZoom || false;\n this.isOffscreenCanvasSupported = options.isOffscreenCanvasSupported ?? true;\n this.maxCanvasPixels = options.maxCanvasPixels;\n this.l10n = options.l10n || _l10n_utils.NullL10n;\n this.#enablePermissions = options.enablePermissions || false;\n this.pageColors = options.pageColors || null;\n if (this.pageColors && !(CSS.supports(\"color\", this.pageColors.background) && CSS.supports(\"color\", this.pageColors.foreground))) {\n if (this.pageColors.background || this.pageColors.foreground) {\n console.warn(\"PDFViewer: Ignoring `pageColors`-option, since the browser doesn't support the values used.\");\n }\n this.pageColors = null;\n }\n this.defaultRenderingQueue = !options.renderingQueue;\n if (this.defaultRenderingQueue) {\n this.renderingQueue = new _pdf_rendering_queue.PDFRenderingQueue();\n this.renderingQueue.setViewer(this);\n } else {\n this.renderingQueue = options.renderingQueue;\n }\n this.scroll = (0, _ui_utils.watchScroll)(this.container, this._scrollUpdate.bind(this));\n this.presentationModeState = _ui_utils.PresentationModeState.UNKNOWN;\n this._onBeforeDraw = this._onAfterDraw = null;\n this._resetView();\n if (this.removePageBorders) {\n this.viewer.classList.add(\"removePageBorders\");\n }\n this.#updateContainerHeightCss();\n }\n get pagesCount() {\n return this._pages.length;\n }\n getPageView(index) {\n return this._pages[index];\n }\n get pageViewsReady() {\n return this._pagesCapability.settled && this._pages.every(pageView => pageView?.pdfPage);\n }\n get renderForms() {\n return this.#annotationMode === _pdfjsLib.AnnotationMode.ENABLE_FORMS;\n }\n get enableScripting() {\n return !!this._scriptingManager;\n }\n get currentPageNumber() {\n return this._currentPageNumber;\n }\n set currentPageNumber(val) {\n if (!Number.isInteger(val)) {\n throw new Error(\"Invalid page number.\");\n }\n if (!this.pdfDocument) {\n return;\n }\n if (!this._setCurrentPageNumber(val, true)) {\n console.error(`currentPageNumber: \"${val}\" is not a valid page.`);\n }\n }\n _setCurrentPageNumber(val, resetCurrentPageView = false) {\n if (this._currentPageNumber === val) {\n if (resetCurrentPageView) {\n this.#resetCurrentPageView();\n }\n return true;\n }\n if (!(0 < val && val <= this.pagesCount)) {\n return false;\n }\n const previous = this._currentPageNumber;\n this._currentPageNumber = val;\n this.eventBus.dispatch(\"pagechanging\", {\n source: this,\n pageNumber: val,\n pageLabel: this._pageLabels?.[val - 1] ?? null,\n previous\n });\n if (resetCurrentPageView) {\n this.#resetCurrentPageView();\n }\n return true;\n }\n get currentPageLabel() {\n return this._pageLabels?.[this._currentPageNumber - 1] ?? null;\n }\n set currentPageLabel(val) {\n if (!this.pdfDocument) {\n return;\n }\n let page = val | 0;\n if (this._pageLabels) {\n const i = this._pageLabels.indexOf(val);\n if (i >= 0) {\n page = i + 1;\n }\n }\n if (!this._setCurrentPageNumber(page, true)) {\n console.error(`currentPageLabel: \"${val}\" is not a valid page.`);\n }\n }\n get currentScale() {\n return this._currentScale !== _ui_utils.UNKNOWN_SCALE ? this._currentScale : _ui_utils.DEFAULT_SCALE;\n }\n set currentScale(val) {\n if (isNaN(val)) {\n throw new Error(\"Invalid numeric scale.\");\n }\n if (!this.pdfDocument) {\n return;\n }\n this.#setScale(val, {\n noScroll: false\n });\n }\n get currentScaleValue() {\n return this._currentScaleValue;\n }\n set currentScaleValue(val) {\n if (!this.pdfDocument) {\n return;\n }\n this.#setScale(val, {\n noScroll: false\n });\n }\n get pagesRotation() {\n return this._pagesRotation;\n }\n set pagesRotation(rotation) {\n if (!(0, _ui_utils.isValidRotation)(rotation)) {\n throw new Error(\"Invalid pages rotation angle.\");\n }\n if (!this.pdfDocument) {\n return;\n }\n rotation %= 360;\n if (rotation < 0) {\n rotation += 360;\n }\n if (this._pagesRotation === rotation) {\n return;\n }\n this._pagesRotation = rotation;\n const pageNumber = this._currentPageNumber;\n this.refresh(true, {\n rotation\n });\n if (this._currentScaleValue) {\n this.#setScale(this._currentScaleValue, {\n noScroll: true\n });\n }\n this.eventBus.dispatch(\"rotationchanging\", {\n source: this,\n pagesRotation: rotation,\n pageNumber\n });\n if (this.defaultRenderingQueue) {\n this.update();\n }\n }\n get firstPagePromise() {\n return this.pdfDocument ? this._firstPageCapability.promise : null;\n }\n get onePageRendered() {\n return this.pdfDocument ? this._onePageRenderedCapability.promise : null;\n }\n get pagesPromise() {\n return this.pdfDocument ? this._pagesCapability.promise : null;\n }\n #layerProperties() {\n const self = this;\n return {\n get annotationEditorUIManager() {\n return self.#annotationEditorUIManager;\n },\n get annotationStorage() {\n return self.pdfDocument?.annotationStorage;\n },\n get downloadManager() {\n return self.downloadManager;\n },\n get enableScripting() {\n return !!self._scriptingManager;\n },\n get fieldObjectsPromise() {\n return self.pdfDocument?.getFieldObjects();\n },\n get findController() {\n return self.findController;\n },\n get hasJSActionsPromise() {\n return self.pdfDocument?.hasJSActions();\n },\n get linkService() {\n return self.linkService;\n }\n };\n }\n #initializePermissions(permissions) {\n const params = {\n annotationEditorMode: this.#annotationEditorMode,\n annotationMode: this.#annotationMode,\n textLayerMode: this.#textLayerMode\n };\n if (!permissions) {\n return params;\n }\n if (!permissions.includes(_pdfjsLib.PermissionFlag.COPY) && this.#textLayerMode === _ui_utils.TextLayerMode.ENABLE) {\n params.textLayerMode = _ui_utils.TextLayerMode.ENABLE_PERMISSIONS;\n }\n if (!permissions.includes(_pdfjsLib.PermissionFlag.MODIFY_CONTENTS)) {\n params.annotationEditorMode = _pdfjsLib.AnnotationEditorType.DISABLE;\n }\n if (!permissions.includes(_pdfjsLib.PermissionFlag.MODIFY_ANNOTATIONS) && !permissions.includes(_pdfjsLib.PermissionFlag.FILL_INTERACTIVE_FORMS) && this.#annotationMode === _pdfjsLib.AnnotationMode.ENABLE_FORMS) {\n params.annotationMode = _pdfjsLib.AnnotationMode.ENABLE;\n }\n return params;\n }\n #onePageRenderedOrForceFetch() {\n if (document.visibilityState === \"hidden\" || !this.container.offsetParent || this._getVisiblePages().views.length === 0) {\n return Promise.resolve();\n }\n const visibilityChangePromise = new Promise(resolve => {\n this.#onVisibilityChange = () => {\n if (document.visibilityState !== \"hidden\") {\n return;\n }\n resolve();\n document.removeEventListener(\"visibilitychange\", this.#onVisibilityChange);\n this.#onVisibilityChange = null;\n };\n document.addEventListener(\"visibilitychange\", this.#onVisibilityChange);\n });\n return Promise.race([this._onePageRenderedCapability.promise, visibilityChangePromise]);\n }\n async getAllText() {\n const texts = [];\n const buffer = [];\n for (let pageNum = 1, pagesCount = this.pdfDocument.numPages; pageNum <= pagesCount; ++pageNum) {\n if (this.#interruptCopyCondition) {\n return null;\n }\n buffer.length = 0;\n const page = await this.pdfDocument.getPage(pageNum);\n const {\n items\n } = await page.getTextContent();\n for (const item of items) {\n if (item.str) {\n buffer.push(item.str);\n }\n if (item.hasEOL) {\n buffer.push(\"\\n\");\n }\n }\n texts.push((0, _ui_utils.removeNullCharacters)(buffer.join(\"\")));\n }\n return texts.join(\"\\n\");\n }\n #copyCallback(textLayerMode, event) {\n const selection = document.getSelection();\n const {\n focusNode,\n anchorNode\n } = selection;\n if (anchorNode && focusNode && selection.containsNode(this.#hiddenCopyElement)) {\n if (this.#getAllTextInProgress || textLayerMode === _ui_utils.TextLayerMode.ENABLE_PERMISSIONS) {\n event.preventDefault();\n event.stopPropagation();\n return;\n }\n this.#getAllTextInProgress = true;\n const savedCursor = this.container.style.cursor;\n this.container.style.cursor = \"wait\";\n const interruptCopy = ev => this.#interruptCopyCondition = ev.key === \"Escape\";\n window.addEventListener(\"keydown\", interruptCopy);\n this.getAllText().then(async text => {\n if (text !== null) {\n await navigator.clipboard.writeText(text);\n }\n }).catch(reason => {\n console.warn(`Something goes wrong when extracting the text: ${reason.message}`);\n }).finally(() => {\n this.#getAllTextInProgress = false;\n this.#interruptCopyCondition = false;\n window.removeEventListener(\"keydown\", interruptCopy);\n this.container.style.cursor = savedCursor;\n });\n event.preventDefault();\n event.stopPropagation();\n }\n }\n setDocument(pdfDocument) {\n if (this.pdfDocument) {\n this.eventBus.dispatch(\"pagesdestroy\", {\n source: this\n });\n this._cancelRendering();\n this._resetView();\n this.findController?.setDocument(null);\n this._scriptingManager?.setDocument(null);\n if (this.#annotationEditorUIManager) {\n this.#annotationEditorUIManager.destroy();\n this.#annotationEditorUIManager = null;\n }\n }\n this.pdfDocument = pdfDocument;\n if (!pdfDocument) {\n return;\n }\n const pagesCount = pdfDocument.numPages;\n const firstPagePromise = pdfDocument.getPage(1);\n const optionalContentConfigPromise = pdfDocument.getOptionalContentConfig();\n const permissionsPromise = this.#enablePermissions ? pdfDocument.getPermissions() : Promise.resolve();\n if (pagesCount > PagesCountLimit.FORCE_SCROLL_MODE_PAGE) {\n console.warn(\"Forcing PAGE-scrolling for performance reasons, given the length of the document.\");\n const mode = this._scrollMode = _ui_utils.ScrollMode.PAGE;\n this.eventBus.dispatch(\"scrollmodechanged\", {\n source: this,\n mode\n });\n }\n this._pagesCapability.promise.then(() => {\n this.eventBus.dispatch(\"pagesloaded\", {\n source: this,\n pagesCount\n });\n }, () => {});\n this._onBeforeDraw = evt => {\n const pageView = this._pages[evt.pageNumber - 1];\n if (!pageView) {\n return;\n }\n this.#buffer.push(pageView);\n };\n this.eventBus._on(\"pagerender\", this._onBeforeDraw);\n this._onAfterDraw = evt => {\n if (evt.cssTransform || this._onePageRenderedCapability.settled) {\n return;\n }\n this._onePageRenderedCapability.resolve({\n timestamp: evt.timestamp\n });\n this.eventBus._off(\"pagerendered\", this._onAfterDraw);\n this._onAfterDraw = null;\n if (this.#onVisibilityChange) {\n document.removeEventListener(\"visibilitychange\", this.#onVisibilityChange);\n this.#onVisibilityChange = null;\n }\n };\n this.eventBus._on(\"pagerendered\", this._onAfterDraw);\n Promise.all([firstPagePromise, permissionsPromise]).then(([firstPdfPage, permissions]) => {\n if (pdfDocument !== this.pdfDocument) {\n return;\n }\n this._firstPageCapability.resolve(firstPdfPage);\n this._optionalContentConfigPromise = optionalContentConfigPromise;\n const {\n annotationEditorMode,\n annotationMode,\n textLayerMode\n } = this.#initializePermissions(permissions);\n if (textLayerMode !== _ui_utils.TextLayerMode.DISABLE) {\n const element = this.#hiddenCopyElement = document.createElement(\"div\");\n element.id = \"hiddenCopyElement\";\n this.viewer.before(element);\n }\n if (annotationEditorMode !== _pdfjsLib.AnnotationEditorType.DISABLE) {\n const mode = annotationEditorMode;\n if (pdfDocument.isPureXfa) {\n console.warn(\"Warning: XFA-editing is not implemented.\");\n } else if (isValidAnnotationEditorMode(mode)) {\n this.#annotationEditorUIManager = new _pdfjsLib.AnnotationEditorUIManager(this.container, this.eventBus, pdfDocument?.annotationStorage);\n if (mode !== _pdfjsLib.AnnotationEditorType.NONE) {\n this.#annotationEditorUIManager.updateMode(mode);\n }\n } else {\n console.error(`Invalid AnnotationEditor mode: ${mode}`);\n }\n }\n const layerProperties = this.#layerProperties.bind(this);\n const viewerElement = this._scrollMode === _ui_utils.ScrollMode.PAGE ? null : this.viewer;\n const scale = this.currentScale;\n const viewport = firstPdfPage.getViewport({\n scale: scale * _pdfjsLib.PixelsPerInch.PDF_TO_CSS_UNITS\n });\n this.viewer.style.setProperty(\"--scale-factor\", viewport.scale);\n for (let pageNum = 1; pageNum <= pagesCount; ++pageNum) {\n const pageView = new _pdf_page_view.PDFPageView({\n container: viewerElement,\n eventBus: this.eventBus,\n id: pageNum,\n scale,\n defaultViewport: viewport.clone(),\n optionalContentConfigPromise,\n renderingQueue: this.renderingQueue,\n textLayerMode,\n annotationMode,\n imageResourcesPath: this.imageResourcesPath,\n useOnlyCssZoom: this.useOnlyCssZoom,\n isOffscreenCanvasSupported: this.isOffscreenCanvasSupported,\n maxCanvasPixels: this.maxCanvasPixels,\n pageColors: this.pageColors,\n l10n: this.l10n,\n layerProperties\n });\n this._pages.push(pageView);\n }\n const firstPageView = this._pages[0];\n if (firstPageView) {\n firstPageView.setPdfPage(firstPdfPage);\n this.linkService.cachePageRef(1, firstPdfPage.ref);\n }\n if (this._scrollMode === _ui_utils.ScrollMode.PAGE) {\n this.#ensurePageViewVisible();\n } else if (this._spreadMode !== _ui_utils.SpreadMode.NONE) {\n this._updateSpreadMode();\n }\n this.#onePageRenderedOrForceFetch().then(async () => {\n this.findController?.setDocument(pdfDocument);\n this._scriptingManager?.setDocument(pdfDocument);\n if (this.#hiddenCopyElement) {\n this.#copyCallbackBound = this.#copyCallback.bind(this, textLayerMode);\n document.addEventListener(\"copy\", this.#copyCallbackBound);\n }\n if (this.#annotationEditorUIManager) {\n this.eventBus.dispatch(\"annotationeditormodechanged\", {\n source: this,\n mode: this.#annotationEditorMode\n });\n }\n if (pdfDocument.loadingParams.disableAutoFetch || pagesCount > PagesCountLimit.FORCE_LAZY_PAGE_INIT) {\n this._pagesCapability.resolve();\n return;\n }\n let getPagesLeft = pagesCount - 1;\n if (getPagesLeft <= 0) {\n this._pagesCapability.resolve();\n return;\n }\n for (let pageNum = 2; pageNum <= pagesCount; ++pageNum) {\n const promise = pdfDocument.getPage(pageNum).then(pdfPage => {\n const pageView = this._pages[pageNum - 1];\n if (!pageView.pdfPage) {\n pageView.setPdfPage(pdfPage);\n }\n this.linkService.cachePageRef(pageNum, pdfPage.ref);\n if (--getPagesLeft === 0) {\n this._pagesCapability.resolve();\n }\n }, reason => {\n console.error(`Unable to get page ${pageNum} to initialize viewer`, reason);\n if (--getPagesLeft === 0) {\n this._pagesCapability.resolve();\n }\n });\n if (pageNum % PagesCountLimit.PAUSE_EAGER_PAGE_INIT === 0) {\n await promise;\n }\n }\n });\n this.eventBus.dispatch(\"pagesinit\", {\n source: this\n });\n pdfDocument.getMetadata().then(({\n info\n }) => {\n if (pdfDocument !== this.pdfDocument) {\n return;\n }\n if (info.Language) {\n this.viewer.lang = info.Language;\n }\n });\n if (this.defaultRenderingQueue) {\n this.update();\n }\n }).catch(reason => {\n console.error(\"Unable to initialize viewer\", reason);\n this._pagesCapability.reject(reason);\n });\n }\n setPageLabels(labels) {\n if (!this.pdfDocument) {\n return;\n }\n if (!labels) {\n this._pageLabels = null;\n } else if (!(Array.isArray(labels) && this.pdfDocument.numPages === labels.length)) {\n this._pageLabels = null;\n console.error(`setPageLabels: Invalid page labels.`);\n } else {\n this._pageLabels = labels;\n }\n for (let i = 0, ii = this._pages.length; i < ii; i++) {\n this._pages[i].setPageLabel(this._pageLabels?.[i] ?? null);\n }\n }\n _resetView() {\n this._pages = [];\n this._currentPageNumber = 1;\n this._currentScale = _ui_utils.UNKNOWN_SCALE;\n this._currentScaleValue = null;\n this._pageLabels = null;\n this.#buffer = new PDFPageViewBuffer(DEFAULT_CACHE_SIZE);\n this._location = null;\n this._pagesRotation = 0;\n this._optionalContentConfigPromise = null;\n this._firstPageCapability = new _pdfjsLib.PromiseCapability();\n this._onePageRenderedCapability = new _pdfjsLib.PromiseCapability();\n this._pagesCapability = new _pdfjsLib.PromiseCapability();\n this._scrollMode = _ui_utils.ScrollMode.VERTICAL;\n this._previousScrollMode = _ui_utils.ScrollMode.UNKNOWN;\n this._spreadMode = _ui_utils.SpreadMode.NONE;\n this.#scrollModePageState = {\n previousPageNumber: 1,\n scrollDown: true,\n pages: []\n };\n if (this._onBeforeDraw) {\n this.eventBus._off(\"pagerender\", this._onBeforeDraw);\n this._onBeforeDraw = null;\n }\n if (this._onAfterDraw) {\n this.eventBus._off(\"pagerendered\", this._onAfterDraw);\n this._onAfterDraw = null;\n }\n if (this.#onVisibilityChange) {\n document.removeEventListener(\"visibilitychange\", this.#onVisibilityChange);\n this.#onVisibilityChange = null;\n }\n this.viewer.textContent = \"\";\n this._updateScrollMode();\n this.viewer.removeAttribute(\"lang\");\n if (this.#hiddenCopyElement) {\n document.removeEventListener(\"copy\", this.#copyCallbackBound);\n this.#copyCallbackBound = null;\n this.#hiddenCopyElement.remove();\n this.#hiddenCopyElement = null;\n }\n }\n #ensurePageViewVisible() {\n if (this._scrollMode !== _ui_utils.ScrollMode.PAGE) {\n throw new Error(\"#ensurePageViewVisible: Invalid scrollMode value.\");\n }\n const pageNumber = this._currentPageNumber,\n state = this.#scrollModePageState,\n viewer = this.viewer;\n viewer.textContent = \"\";\n state.pages.length = 0;\n if (this._spreadMode === _ui_utils.SpreadMode.NONE && !this.isInPresentationMode) {\n const pageView = this._pages[pageNumber - 1];\n viewer.append(pageView.div);\n state.pages.push(pageView);\n } else {\n const pageIndexSet = new Set(),\n parity = this._spreadMode - 1;\n if (parity === -1) {\n pageIndexSet.add(pageNumber - 1);\n } else if (pageNumber % 2 !== parity) {\n pageIndexSet.add(pageNumber - 1);\n pageIndexSet.add(pageNumber);\n } else {\n pageIndexSet.add(pageNumber - 2);\n pageIndexSet.add(pageNumber - 1);\n }\n const spread = document.createElement(\"div\");\n spread.className = \"spread\";\n if (this.isInPresentationMode) {\n const dummyPage = document.createElement(\"div\");\n dummyPage.className = \"dummyPage\";\n spread.append(dummyPage);\n }\n for (const i of pageIndexSet) {\n const pageView = this._pages[i];\n if (!pageView) {\n continue;\n }\n spread.append(pageView.div);\n state.pages.push(pageView);\n }\n viewer.append(spread);\n }\n state.scrollDown = pageNumber >= state.previousPageNumber;\n state.previousPageNumber = pageNumber;\n }\n _scrollUpdate() {\n if (this.pagesCount === 0) {\n return;\n }\n this.update();\n }\n #scrollIntoView(pageView, pageSpot = null) {\n const {\n div,\n id\n } = pageView;\n if (this._currentPageNumber !== id) {\n this._setCurrentPageNumber(id);\n }\n if (this._scrollMode === _ui_utils.ScrollMode.PAGE) {\n this.#ensurePageViewVisible();\n this.update();\n }\n if (!pageSpot && !this.isInPresentationMode) {\n const left = div.offsetLeft + div.clientLeft,\n right = left + div.clientWidth;\n const {\n scrollLeft,\n clientWidth\n } = this.container;\n if (this._scrollMode === _ui_utils.ScrollMode.HORIZONTAL || left < scrollLeft || right > scrollLeft + clientWidth) {\n pageSpot = {\n left: 0,\n top: 0\n };\n }\n }\n (0, _ui_utils.scrollIntoView)(div, pageSpot);\n if (!this._currentScaleValue && this._location) {\n this._location = null;\n }\n }\n #isSameScale(newScale) {\n return newScale === this._currentScale || Math.abs(newScale - this._currentScale) < 1e-15;\n }\n #setScaleUpdatePages(newScale, newValue, {\n noScroll = false,\n preset = false,\n drawingDelay = -1\n }) {\n this._currentScaleValue = newValue.toString();\n if (this.#isSameScale(newScale)) {\n if (preset) {\n this.eventBus.dispatch(\"scalechanging\", {\n source: this,\n scale: newScale,\n presetValue: newValue\n });\n }\n return;\n }\n this.viewer.style.setProperty(\"--scale-factor\", newScale * _pdfjsLib.PixelsPerInch.PDF_TO_CSS_UNITS);\n const postponeDrawing = drawingDelay >= 0 && drawingDelay < 1000;\n this.refresh(true, {\n scale: newScale,\n drawingDelay: postponeDrawing ? drawingDelay : -1\n });\n if (postponeDrawing) {\n this.#scaleTimeoutId = setTimeout(() => {\n this.#scaleTimeoutId = null;\n this.refresh();\n }, drawingDelay);\n }\n this._currentScale = newScale;\n if (!noScroll) {\n let page = this._currentPageNumber,\n dest;\n if (this._location && !(this.isInPresentationMode || this.isChangingPresentationMode)) {\n page = this._location.pageNumber;\n dest = [null, {\n name: \"XYZ\"\n }, this._location.left, this._location.top, null];\n }\n this.scrollPageIntoView({\n pageNumber: page,\n destArray: dest,\n allowNegativeOffset: true\n });\n }\n this.eventBus.dispatch(\"scalechanging\", {\n source: this,\n scale: newScale,\n presetValue: preset ? newValue : undefined\n });\n if (this.defaultRenderingQueue) {\n this.update();\n }\n }\n get #pageWidthScaleFactor() {\n if (this._spreadMode !== _ui_utils.SpreadMode.NONE && this._scrollMode !== _ui_utils.ScrollMode.HORIZONTAL) {\n return 2;\n }\n return 1;\n }\n #setScale(value, options) {\n let scale = parseFloat(value);\n if (scale > 0) {\n options.preset = false;\n this.#setScaleUpdatePages(scale, value, options);\n } else {\n const currentPage = this._pages[this._currentPageNumber - 1];\n if (!currentPage) {\n return;\n }\n let hPadding = _ui_utils.SCROLLBAR_PADDING,\n vPadding = _ui_utils.VERTICAL_PADDING;\n if (this.isInPresentationMode) {\n hPadding = vPadding = 4;\n if (this._spreadMode !== _ui_utils.SpreadMode.NONE) {\n hPadding *= 2;\n }\n } else if (this.removePageBorders) {\n hPadding = vPadding = 0;\n } else if (this._scrollMode === _ui_utils.ScrollMode.HORIZONTAL) {\n [hPadding, vPadding] = [vPadding, hPadding];\n }\n const pageWidthScale = (this.container.clientWidth - hPadding) / currentPage.width * currentPage.scale / this.#pageWidthScaleFactor;\n const pageHeightScale = (this.container.clientHeight - vPadding) / currentPage.height * currentPage.scale;\n switch (value) {\n case \"page-actual\":\n scale = 1;\n break;\n case \"page-width\":\n scale = pageWidthScale;\n break;\n case \"page-height\":\n scale = pageHeightScale;\n break;\n case \"page-fit\":\n scale = Math.min(pageWidthScale, pageHeightScale);\n break;\n case \"auto\":\n const horizontalScale = (0, _ui_utils.isPortraitOrientation)(currentPage) ? pageWidthScale : Math.min(pageHeightScale, pageWidthScale);\n scale = Math.min(_ui_utils.MAX_AUTO_SCALE, horizontalScale);\n break;\n default:\n console.error(`#setScale: \"${value}\" is an unknown zoom value.`);\n return;\n }\n options.preset = true;\n this.#setScaleUpdatePages(scale, value, options);\n }\n }\n #resetCurrentPageView() {\n const pageView = this._pages[this._currentPageNumber - 1];\n if (this.isInPresentationMode) {\n this.#setScale(this._currentScaleValue, {\n noScroll: true\n });\n }\n this.#scrollIntoView(pageView);\n }\n pageLabelToPageNumber(label) {\n if (!this._pageLabels) {\n return null;\n }\n const i = this._pageLabels.indexOf(label);\n if (i < 0) {\n return null;\n }\n return i + 1;\n }\n scrollPageIntoView({\n pageNumber,\n destArray = null,\n allowNegativeOffset = false,\n ignoreDestinationZoom = false\n }) {\n if (!this.pdfDocument) {\n return;\n }\n const pageView = Number.isInteger(pageNumber) && this._pages[pageNumber - 1];\n if (!pageView) {\n console.error(`scrollPageIntoView: \"${pageNumber}\" is not a valid pageNumber parameter.`);\n return;\n }\n if (this.isInPresentationMode || !destArray) {\n this._setCurrentPageNumber(pageNumber, true);\n return;\n }\n let x = 0,\n y = 0;\n let width = 0,\n height = 0,\n widthScale,\n heightScale;\n const changeOrientation = pageView.rotation % 180 !== 0;\n const pageWidth = (changeOrientation ? pageView.height : pageView.width) / pageView.scale / _pdfjsLib.PixelsPerInch.PDF_TO_CSS_UNITS;\n const pageHeight = (changeOrientation ? pageView.width : pageView.height) / pageView.scale / _pdfjsLib.PixelsPerInch.PDF_TO_CSS_UNITS;\n let scale = 0;\n switch (destArray[1].name) {\n case \"XYZ\":\n x = destArray[2];\n y = destArray[3];\n scale = destArray[4];\n x = x !== null ? x : 0;\n y = y !== null ? y : pageHeight;\n break;\n case \"Fit\":\n case \"FitB\":\n scale = \"page-fit\";\n break;\n case \"FitH\":\n case \"FitBH\":\n y = destArray[2];\n scale = \"page-width\";\n if (y === null && this._location) {\n x = this._location.left;\n y = this._location.top;\n } else if (typeof y !== \"number\" || y < 0) {\n y = pageHeight;\n }\n break;\n case \"FitV\":\n case \"FitBV\":\n x = destArray[2];\n width = pageWidth;\n height = pageHeight;\n scale = \"page-height\";\n break;\n case \"FitR\":\n x = destArray[2];\n y = destArray[3];\n width = destArray[4] - x;\n height = destArray[5] - y;\n let hPadding = _ui_utils.SCROLLBAR_PADDING,\n vPadding = _ui_utils.VERTICAL_PADDING;\n if (this.removePageBorders) {\n hPadding = vPadding = 0;\n }\n widthScale = (this.container.clientWidth - hPadding) / width / _pdfjsLib.PixelsPerInch.PDF_TO_CSS_UNITS;\n heightScale = (this.container.clientHeight - vPadding) / height / _pdfjsLib.PixelsPerInch.PDF_TO_CSS_UNITS;\n scale = Math.min(Math.abs(widthScale), Math.abs(heightScale));\n break;\n default:\n console.error(`scrollPageIntoView: \"${destArray[1].name}\" is not a valid destination type.`);\n return;\n }\n if (!ignoreDestinationZoom) {\n if (scale && scale !== this._currentScale) {\n this.currentScaleValue = scale;\n } else if (this._currentScale === _ui_utils.UNKNOWN_SCALE) {\n this.currentScaleValue = _ui_utils.DEFAULT_SCALE_VALUE;\n }\n }\n if (scale === \"page-fit\" && !destArray[4]) {\n this.#scrollIntoView(pageView);\n return;\n }\n const boundingRect = [pageView.viewport.convertToViewportPoint(x, y), pageView.viewport.convertToViewportPoint(x + width, y + height)];\n let left = Math.min(boundingRect[0][0], boundingRect[1][0]);\n let top = Math.min(boundingRect[0][1], boundingRect[1][1]);\n if (!allowNegativeOffset) {\n left = Math.max(left, 0);\n top = Math.max(top, 0);\n }\n this.#scrollIntoView(pageView, {\n left,\n top\n });\n }\n _updateLocation(firstPage) {\n const currentScale = this._currentScale;\n const currentScaleValue = this._currentScaleValue;\n const normalizedScaleValue = parseFloat(currentScaleValue) === currentScale ? Math.round(currentScale * 10000) / 100 : currentScaleValue;\n const pageNumber = firstPage.id;\n const currentPageView = this._pages[pageNumber - 1];\n const container = this.container;\n const topLeft = currentPageView.getPagePoint(container.scrollLeft - firstPage.x, container.scrollTop - firstPage.y);\n const intLeft = Math.round(topLeft[0]);\n const intTop = Math.round(topLeft[1]);\n let pdfOpenParams = `#page=${pageNumber}`;\n if (!this.isInPresentationMode) {\n pdfOpenParams += `&zoom=${normalizedScaleValue},${intLeft},${intTop}`;\n }\n this._location = {\n pageNumber,\n scale: normalizedScaleValue,\n top: intTop,\n left: intLeft,\n rotation: this._pagesRotation,\n pdfOpenParams\n };\n }\n update() {\n const visible = this._getVisiblePages();\n const visiblePages = visible.views,\n numVisiblePages = visiblePages.length;\n if (numVisiblePages === 0) {\n return;\n }\n const newCacheSize = Math.max(DEFAULT_CACHE_SIZE, 2 * numVisiblePages + 1);\n this.#buffer.resize(newCacheSize, visible.ids);\n this.renderingQueue.renderHighestPriority(visible);\n const isSimpleLayout = this._spreadMode === _ui_utils.SpreadMode.NONE && (this._scrollMode === _ui_utils.ScrollMode.PAGE || this._scrollMode === _ui_utils.ScrollMode.VERTICAL);\n const currentId = this._currentPageNumber;\n let stillFullyVisible = false;\n for (const page of visiblePages) {\n if (page.percent < 100) {\n break;\n }\n if (page.id === currentId && isSimpleLayout) {\n stillFullyVisible = true;\n break;\n }\n }\n this._setCurrentPageNumber(stillFullyVisible ? currentId : visiblePages[0].id);\n this._updateLocation(visible.first);\n this.eventBus.dispatch(\"updateviewarea\", {\n source: this,\n location: this._location\n });\n }\n containsElement(element) {\n return this.container.contains(element);\n }\n focus() {\n this.container.focus();\n }\n get _isContainerRtl() {\n return getComputedStyle(this.container).direction === \"rtl\";\n }\n get isInPresentationMode() {\n return this.presentationModeState === _ui_utils.PresentationModeState.FULLSCREEN;\n }\n get isChangingPresentationMode() {\n return this.presentationModeState === _ui_utils.PresentationModeState.CHANGING;\n }\n get isHorizontalScrollbarEnabled() {\n return this.isInPresentationMode ? false : this.container.scrollWidth > this.container.clientWidth;\n }\n get isVerticalScrollbarEnabled() {\n return this.isInPresentationMode ? false : this.container.scrollHeight > this.container.clientHeight;\n }\n _getVisiblePages() {\n const views = this._scrollMode === _ui_utils.ScrollMode.PAGE ? this.#scrollModePageState.pages : this._pages,\n horizontal = this._scrollMode === _ui_utils.ScrollMode.HORIZONTAL,\n rtl = horizontal && this._isContainerRtl;\n return (0, _ui_utils.getVisibleElements)({\n scrollEl: this.container,\n views,\n sortByVisibility: true,\n horizontal,\n rtl\n });\n }\n isPageVisible(pageNumber) {\n if (!this.pdfDocument) {\n return false;\n }\n if (!(Number.isInteger(pageNumber) && pageNumber > 0 && pageNumber <= this.pagesCount)) {\n console.error(`isPageVisible: \"${pageNumber}\" is not a valid page.`);\n return false;\n }\n return this._getVisiblePages().ids.has(pageNumber);\n }\n isPageCached(pageNumber) {\n if (!this.pdfDocument) {\n return false;\n }\n if (!(Number.isInteger(pageNumber) && pageNumber > 0 && pageNumber <= this.pagesCount)) {\n console.error(`isPageCached: \"${pageNumber}\" is not a valid page.`);\n return false;\n }\n const pageView = this._pages[pageNumber - 1];\n return this.#buffer.has(pageView);\n }\n cleanup() {\n for (const pageView of this._pages) {\n if (pageView.renderingState !== _ui_utils.RenderingStates.FINISHED) {\n pageView.reset();\n }\n }\n }\n _cancelRendering() {\n for (const pageView of this._pages) {\n pageView.cancelRendering();\n }\n }\n async #ensurePdfPageLoaded(pageView) {\n if (pageView.pdfPage) {\n return pageView.pdfPage;\n }\n try {\n const pdfPage = await this.pdfDocument.getPage(pageView.id);\n if (!pageView.pdfPage) {\n pageView.setPdfPage(pdfPage);\n }\n if (!this.linkService._cachedPageNumber?.(pdfPage.ref)) {\n this.linkService.cachePageRef(pageView.id, pdfPage.ref);\n }\n return pdfPage;\n } catch (reason) {\n console.error(\"Unable to get page for page view\", reason);\n return null;\n }\n }\n #getScrollAhead(visible) {\n if (visible.first?.id === 1) {\n return true;\n } else if (visible.last?.id === this.pagesCount) {\n return false;\n }\n switch (this._scrollMode) {\n case _ui_utils.ScrollMode.PAGE:\n return this.#scrollModePageState.scrollDown;\n case _ui_utils.ScrollMode.HORIZONTAL:\n return this.scroll.right;\n }\n return this.scroll.down;\n }\n forceRendering(currentlyVisiblePages) {\n const visiblePages = currentlyVisiblePages || this._getVisiblePages();\n const scrollAhead = this.#getScrollAhead(visiblePages);\n const preRenderExtra = this._spreadMode !== _ui_utils.SpreadMode.NONE && this._scrollMode !== _ui_utils.ScrollMode.HORIZONTAL;\n const pageView = this.renderingQueue.getHighestPriority(visiblePages, this._pages, scrollAhead, preRenderExtra);\n if (pageView) {\n this.#ensurePdfPageLoaded(pageView).then(() => {\n this.renderingQueue.renderView(pageView);\n });\n return true;\n }\n return false;\n }\n get hasEqualPageSizes() {\n const firstPageView = this._pages[0];\n for (let i = 1, ii = this._pages.length; i < ii; ++i) {\n const pageView = this._pages[i];\n if (pageView.width !== firstPageView.width || pageView.height !== firstPageView.height) {\n return false;\n }\n }\n return true;\n }\n getPagesOverview() {\n let initialOrientation;\n return this._pages.map(pageView => {\n const viewport = pageView.pdfPage.getViewport({\n scale: 1\n });\n const orientation = (0, _ui_utils.isPortraitOrientation)(viewport);\n if (initialOrientation === undefined) {\n initialOrientation = orientation;\n } else if (this.enablePrintAutoRotate && orientation !== initialOrientation) {\n return {\n width: viewport.height,\n height: viewport.width,\n rotation: (viewport.rotation - 90) % 360\n };\n }\n return {\n width: viewport.width,\n height: viewport.height,\n rotation: viewport.rotation\n };\n });\n }\n get optionalContentConfigPromise() {\n if (!this.pdfDocument) {\n return Promise.resolve(null);\n }\n if (!this._optionalContentConfigPromise) {\n console.error(\"optionalContentConfigPromise: Not initialized yet.\");\n return this.pdfDocument.getOptionalContentConfig();\n }\n return this._optionalContentConfigPromise;\n }\n set optionalContentConfigPromise(promise) {\n if (!(promise instanceof Promise)) {\n throw new Error(`Invalid optionalContentConfigPromise: ${promise}`);\n }\n if (!this.pdfDocument) {\n return;\n }\n if (!this._optionalContentConfigPromise) {\n return;\n }\n this._optionalContentConfigPromise = promise;\n this.refresh(false, {\n optionalContentConfigPromise: promise\n });\n this.eventBus.dispatch(\"optionalcontentconfigchanged\", {\n source: this,\n promise\n });\n }\n get scrollMode() {\n return this._scrollMode;\n }\n set scrollMode(mode) {\n if (this._scrollMode === mode) {\n return;\n }\n if (!(0, _ui_utils.isValidScrollMode)(mode)) {\n throw new Error(`Invalid scroll mode: ${mode}`);\n }\n if (this.pagesCount > PagesCountLimit.FORCE_SCROLL_MODE_PAGE) {\n return;\n }\n this._previousScrollMode = this._scrollMode;\n this._scrollMode = mode;\n this.eventBus.dispatch(\"scrollmodechanged\", {\n source: this,\n mode\n });\n this._updateScrollMode(this._currentPageNumber);\n }\n _updateScrollMode(pageNumber = null) {\n const scrollMode = this._scrollMode,\n viewer = this.viewer;\n viewer.classList.toggle(\"scrollHorizontal\", scrollMode === _ui_utils.ScrollMode.HORIZONTAL);\n viewer.classList.toggle(\"scrollWrapped\", scrollMode === _ui_utils.ScrollMode.WRAPPED);\n if (!this.pdfDocument || !pageNumber) {\n return;\n }\n if (scrollMode === _ui_utils.ScrollMode.PAGE) {\n this.#ensurePageViewVisible();\n } else if (this._previousScrollMode === _ui_utils.ScrollMode.PAGE) {\n this._updateSpreadMode();\n }\n if (this._currentScaleValue && isNaN(this._currentScaleValue)) {\n this.#setScale(this._currentScaleValue, {\n noScroll: true\n });\n }\n this._setCurrentPageNumber(pageNumber, true);\n this.update();\n }\n get spreadMode() {\n return this._spreadMode;\n }\n set spreadMode(mode) {\n if (this._spreadMode === mode) {\n return;\n }\n if (!(0, _ui_utils.isValidSpreadMode)(mode)) {\n throw new Error(`Invalid spread mode: ${mode}`);\n }\n this._spreadMode = mode;\n this.eventBus.dispatch(\"spreadmodechanged\", {\n source: this,\n mode\n });\n this._updateSpreadMode(this._currentPageNumber);\n }\n _updateSpreadMode(pageNumber = null) {\n if (!this.pdfDocument) {\n return;\n }\n const viewer = this.viewer,\n pages = this._pages;\n if (this._scrollMode === _ui_utils.ScrollMode.PAGE) {\n this.#ensurePageViewVisible();\n } else {\n viewer.textContent = \"\";\n if (this._spreadMode === _ui_utils.SpreadMode.NONE) {\n for (const pageView of this._pages) {\n viewer.append(pageView.div);\n }\n } else {\n const parity = this._spreadMode - 1;\n let spread = null;\n for (let i = 0, ii = pages.length; i < ii; ++i) {\n if (spread === null) {\n spread = document.createElement(\"div\");\n spread.className = \"spread\";\n viewer.append(spread);\n } else if (i % 2 === parity) {\n spread = spread.cloneNode(false);\n viewer.append(spread);\n }\n spread.append(pages[i].div);\n }\n }\n }\n if (!pageNumber) {\n return;\n }\n if (this._currentScaleValue && isNaN(this._currentScaleValue)) {\n this.#setScale(this._currentScaleValue, {\n noScroll: true\n });\n }\n this._setCurrentPageNumber(pageNumber, true);\n this.update();\n }\n _getPageAdvance(currentPageNumber, previous = false) {\n switch (this._scrollMode) {\n case _ui_utils.ScrollMode.WRAPPED:\n {\n const {\n views\n } = this._getVisiblePages(),\n pageLayout = new Map();\n for (const {\n id,\n y,\n percent,\n widthPercent\n } of views) {\n if (percent === 0 || widthPercent < 100) {\n continue;\n }\n let yArray = pageLayout.get(y);\n if (!yArray) {\n pageLayout.set(y, yArray ||= []);\n }\n yArray.push(id);\n }\n for (const yArray of pageLayout.values()) {\n const currentIndex = yArray.indexOf(currentPageNumber);\n if (currentIndex === -1) {\n continue;\n }\n const numPages = yArray.length;\n if (numPages === 1) {\n break;\n }\n if (previous) {\n for (let i = currentIndex - 1, ii = 0; i >= ii; i--) {\n const currentId = yArray[i],\n expectedId = yArray[i + 1] - 1;\n if (currentId < expectedId) {\n return currentPageNumber - expectedId;\n }\n }\n } else {\n for (let i = currentIndex + 1, ii = numPages; i < ii; i++) {\n const currentId = yArray[i],\n expectedId = yArray[i - 1] + 1;\n if (currentId > expectedId) {\n return expectedId - currentPageNumber;\n }\n }\n }\n if (previous) {\n const firstId = yArray[0];\n if (firstId < currentPageNumber) {\n return currentPageNumber - firstId + 1;\n }\n } else {\n const lastId = yArray[numPages - 1];\n if (lastId > currentPageNumber) {\n return lastId - currentPageNumber + 1;\n }\n }\n break;\n }\n break;\n }\n case _ui_utils.ScrollMode.HORIZONTAL:\n {\n break;\n }\n case _ui_utils.ScrollMode.PAGE:\n case _ui_utils.ScrollMode.VERTICAL:\n {\n if (this._spreadMode === _ui_utils.SpreadMode.NONE) {\n break;\n }\n const parity = this._spreadMode - 1;\n if (previous && currentPageNumber % 2 !== parity) {\n break;\n } else if (!previous && currentPageNumber % 2 === parity) {\n break;\n }\n const {\n views\n } = this._getVisiblePages(),\n expectedId = previous ? currentPageNumber - 1 : currentPageNumber + 1;\n for (const {\n id,\n percent,\n widthPercent\n } of views) {\n if (id !== expectedId) {\n continue;\n }\n if (percent > 0 && widthPercent === 100) {\n return 2;\n }\n break;\n }\n break;\n }\n }\n return 1;\n }\n nextPage() {\n const currentPageNumber = this._currentPageNumber,\n pagesCount = this.pagesCount;\n if (currentPageNumber >= pagesCount) {\n return false;\n }\n const advance = this._getPageAdvance(currentPageNumber, false) || 1;\n this.currentPageNumber = Math.min(currentPageNumber + advance, pagesCount);\n return true;\n }\n previousPage() {\n const currentPageNumber = this._currentPageNumber;\n if (currentPageNumber <= 1) {\n return false;\n }\n const advance = this._getPageAdvance(currentPageNumber, true) || 1;\n this.currentPageNumber = Math.max(currentPageNumber - advance, 1);\n return true;\n }\n increaseScale({\n drawingDelay,\n scaleFactor,\n steps\n } = {}) {\n if (!this.pdfDocument) {\n return;\n }\n let newScale = this._currentScale;\n if (scaleFactor > 1) {\n newScale = Math.round(newScale * scaleFactor * 100) / 100;\n } else {\n steps ??= 1;\n do {\n newScale = Math.ceil((newScale * _ui_utils.DEFAULT_SCALE_DELTA).toFixed(2) * 10) / 10;\n } while (--steps > 0 && newScale < _ui_utils.MAX_SCALE);\n }\n this.#setScale(Math.min(_ui_utils.MAX_SCALE, newScale), {\n noScroll: false,\n drawingDelay\n });\n }\n decreaseScale({\n drawingDelay,\n scaleFactor,\n steps\n } = {}) {\n if (!this.pdfDocument) {\n return;\n }\n let newScale = this._currentScale;\n if (scaleFactor > 0 && scaleFactor < 1) {\n newScale = Math.round(newScale * scaleFactor * 100) / 100;\n } else {\n steps ??= 1;\n do {\n newScale = Math.floor((newScale / _ui_utils.DEFAULT_SCALE_DELTA).toFixed(2) * 10) / 10;\n } while (--steps > 0 && newScale > _ui_utils.MIN_SCALE);\n }\n this.#setScale(Math.max(_ui_utils.MIN_SCALE, newScale), {\n noScroll: false,\n drawingDelay\n });\n }\n #updateContainerHeightCss(height = this.container.clientHeight) {\n if (height !== this.#previousContainerHeight) {\n this.#previousContainerHeight = height;\n _ui_utils.docStyle.setProperty(\"--viewer-container-height\", `${height}px`);\n }\n }\n #resizeObserverCallback(entries) {\n for (const entry of entries) {\n if (entry.target === this.container) {\n this.#updateContainerHeightCss(Math.floor(entry.borderBoxSize[0].blockSize));\n this.#containerTopLeft = null;\n break;\n }\n }\n }\n get containerTopLeft() {\n return this.#containerTopLeft ||= [this.container.offsetTop, this.container.offsetLeft];\n }\n get annotationEditorMode() {\n return this.#annotationEditorUIManager ? this.#annotationEditorMode : _pdfjsLib.AnnotationEditorType.DISABLE;\n }\n set annotationEditorMode(mode) {\n if (!this.#annotationEditorUIManager) {\n throw new Error(`The AnnotationEditor is not enabled.`);\n }\n if (this.#annotationEditorMode === mode) {\n return;\n }\n if (!isValidAnnotationEditorMode(mode)) {\n throw new Error(`Invalid AnnotationEditor mode: ${mode}`);\n }\n if (!this.pdfDocument) {\n return;\n }\n this.#annotationEditorMode = mode;\n this.eventBus.dispatch(\"annotationeditormodechanged\", {\n source: this,\n mode\n });\n this.#annotationEditorUIManager.updateMode(mode);\n }\n set annotationEditorParams({\n type,\n value\n }) {\n if (!this.#annotationEditorUIManager) {\n throw new Error(`The AnnotationEditor is not enabled.`);\n }\n this.#annotationEditorUIManager.updateParams(type, value);\n }\n refresh(noUpdate = false, updateArgs = Object.create(null)) {\n if (!this.pdfDocument) {\n return;\n }\n for (const pageView of this._pages) {\n pageView.update(updateArgs);\n }\n if (this.#scaleTimeoutId !== null) {\n clearTimeout(this.#scaleTimeoutId);\n this.#scaleTimeoutId = null;\n }\n if (!noUpdate) {\n this.update();\n }\n }\n}\nexports.PDFViewer = PDFViewer;\n\n/***/ }),\n/* 25 */\n/***/ ((__unused_webpack_module, exports, __w_pdfjs_require__) => {\n\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nexports.PDFRenderingQueue = void 0;\nvar _pdfjsLib = __w_pdfjs_require__(4);\nvar _ui_utils = __w_pdfjs_require__(2);\nconst CLEANUP_TIMEOUT = 30000;\nclass PDFRenderingQueue {\n constructor() {\n this.pdfViewer = null;\n this.pdfThumbnailViewer = null;\n this.onIdle = null;\n this.highestPriorityPage = null;\n this.idleTimeout = null;\n this.printing = false;\n this.isThumbnailViewEnabled = false;\n }\n setViewer(pdfViewer) {\n this.pdfViewer = pdfViewer;\n }\n setThumbnailViewer(pdfThumbnailViewer) {\n this.pdfThumbnailViewer = pdfThumbnailViewer;\n }\n isHighestPriority(view) {\n return this.highestPriorityPage === view.renderingId;\n }\n hasViewer() {\n return !!this.pdfViewer;\n }\n renderHighestPriority(currentlyVisiblePages) {\n if (this.idleTimeout) {\n clearTimeout(this.idleTimeout);\n this.idleTimeout = null;\n }\n if (this.pdfViewer.forceRendering(currentlyVisiblePages)) {\n return;\n }\n if (this.isThumbnailViewEnabled && this.pdfThumbnailViewer?.forceRendering()) {\n return;\n }\n if (this.printing) {\n return;\n }\n if (this.onIdle) {\n this.idleTimeout = setTimeout(this.onIdle.bind(this), CLEANUP_TIMEOUT);\n }\n }\n getHighestPriority(visible, views, scrolledDown, preRenderExtra = false) {\n const visibleViews = visible.views,\n numVisible = visibleViews.length;\n if (numVisible === 0) {\n return null;\n }\n for (let i = 0; i < numVisible; i++) {\n const view = visibleViews[i].view;\n if (!this.isViewFinished(view)) {\n return view;\n }\n }\n const firstId = visible.first.id,\n lastId = visible.last.id;\n if (lastId - firstId + 1 > numVisible) {\n const visibleIds = visible.ids;\n for (let i = 1, ii = lastId - firstId; i < ii; i++) {\n const holeId = scrolledDown ? firstId + i : lastId - i;\n if (visibleIds.has(holeId)) {\n continue;\n }\n const holeView = views[holeId - 1];\n if (!this.isViewFinished(holeView)) {\n return holeView;\n }\n }\n }\n let preRenderIndex = scrolledDown ? lastId : firstId - 2;\n let preRenderView = views[preRenderIndex];\n if (preRenderView && !this.isViewFinished(preRenderView)) {\n return preRenderView;\n }\n if (preRenderExtra) {\n preRenderIndex += scrolledDown ? 1 : -1;\n preRenderView = views[preRenderIndex];\n if (preRenderView && !this.isViewFinished(preRenderView)) {\n return preRenderView;\n }\n }\n return null;\n }\n isViewFinished(view) {\n return view.renderingState === _ui_utils.RenderingStates.FINISHED;\n }\n renderView(view) {\n switch (view.renderingState) {\n case _ui_utils.RenderingStates.FINISHED:\n return false;\n case _ui_utils.RenderingStates.PAUSED:\n this.highestPriorityPage = view.renderingId;\n view.resume();\n break;\n case _ui_utils.RenderingStates.RUNNING:\n this.highestPriorityPage = view.renderingId;\n break;\n case _ui_utils.RenderingStates.INITIAL:\n this.highestPriorityPage = view.renderingId;\n view.draw().finally(() => {\n this.renderHighestPriority();\n }).catch(reason => {\n if (reason instanceof _pdfjsLib.RenderingCancelledException) {\n return;\n }\n console.error(`renderView: \"${reason}\"`);\n });\n break;\n }\n return true;\n }\n}\nexports.PDFRenderingQueue = PDFRenderingQueue;\n\n/***/ })\n/******/ \t]);\n/************************************************************************/\n/******/ \t// The module cache\n/******/ \tvar __webpack_module_cache__ = {};\n/******/ \t\n/******/ \t// The require function\n/******/ \tfunction __w_pdfjs_require__(moduleId) {\n/******/ \t\t// Check if module is in cache\n/******/ \t\tvar cachedModule = __webpack_module_cache__[moduleId];\n/******/ \t\tif (cachedModule !== undefined) {\n/******/ \t\t\treturn cachedModule.exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = __webpack_module_cache__[moduleId] = {\n/******/ \t\t\t// no module.id needed\n/******/ \t\t\t// no module.loaded needed\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/ \t\n/******/ \t\t// Execute the module function\n/******/ \t\t__webpack_modules__[moduleId](module, module.exports, __w_pdfjs_require__);\n/******/ \t\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/ \t\n/************************************************************************/\nvar __webpack_exports__ = {};\n// This entry need to be wrapped in an IIFE because it need to be isolated against other modules in the chunk.\n(() => {\nvar exports = __webpack_exports__;\n\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"AnnotationLayerBuilder\", ({\n enumerable: true,\n get: function () {\n return _annotation_layer_builder.AnnotationLayerBuilder;\n }\n}));\nexports.DefaultXfaLayerFactory = exports.DefaultTextLayerFactory = exports.DefaultStructTreeLayerFactory = exports.DefaultAnnotationLayerFactory = void 0;\nObject.defineProperty(exports, \"DownloadManager\", ({\n enumerable: true,\n get: function () {\n return _download_manager.DownloadManager;\n }\n}));\nObject.defineProperty(exports, \"EventBus\", ({\n enumerable: true,\n get: function () {\n return _event_utils.EventBus;\n }\n}));\nObject.defineProperty(exports, \"GenericL10n\", ({\n enumerable: true,\n get: function () {\n return _genericl10n.GenericL10n;\n }\n}));\nObject.defineProperty(exports, \"LinkTarget\", ({\n enumerable: true,\n get: function () {\n return _pdf_link_service.LinkTarget;\n }\n}));\nObject.defineProperty(exports, \"NullL10n\", ({\n enumerable: true,\n get: function () {\n return _l10n_utils.NullL10n;\n }\n}));\nObject.defineProperty(exports, \"PDFFindController\", ({\n enumerable: true,\n get: function () {\n return _pdf_find_controller.PDFFindController;\n }\n}));\nObject.defineProperty(exports, \"PDFHistory\", ({\n enumerable: true,\n get: function () {\n return _pdf_history.PDFHistory;\n }\n}));\nObject.defineProperty(exports, \"PDFLinkService\", ({\n enumerable: true,\n get: function () {\n return _pdf_link_service.PDFLinkService;\n }\n}));\nObject.defineProperty(exports, \"PDFPageView\", ({\n enumerable: true,\n get: function () {\n return _pdf_page_view.PDFPageView;\n }\n}));\nObject.defineProperty(exports, \"PDFScriptingManager\", ({\n enumerable: true,\n get: function () {\n return _pdf_scripting_manager.PDFScriptingManager;\n }\n}));\nObject.defineProperty(exports, \"PDFSinglePageViewer\", ({\n enumerable: true,\n get: function () {\n return _pdf_single_page_viewer.PDFSinglePageViewer;\n }\n}));\nObject.defineProperty(exports, \"PDFViewer\", ({\n enumerable: true,\n get: function () {\n return _pdf_viewer.PDFViewer;\n }\n}));\nObject.defineProperty(exports, \"ProgressBar\", ({\n enumerable: true,\n get: function () {\n return _ui_utils.ProgressBar;\n }\n}));\nObject.defineProperty(exports, \"RenderingStates\", ({\n enumerable: true,\n get: function () {\n return _ui_utils.RenderingStates;\n }\n}));\nObject.defineProperty(exports, \"ScrollMode\", ({\n enumerable: true,\n get: function () {\n return _ui_utils.ScrollMode;\n }\n}));\nObject.defineProperty(exports, \"SimpleLinkService\", ({\n enumerable: true,\n get: function () {\n return _pdf_link_service.SimpleLinkService;\n }\n}));\nObject.defineProperty(exports, \"SpreadMode\", ({\n enumerable: true,\n get: function () {\n return _ui_utils.SpreadMode;\n }\n}));\nObject.defineProperty(exports, \"StructTreeLayerBuilder\", ({\n enumerable: true,\n get: function () {\n return _struct_tree_layer_builder.StructTreeLayerBuilder;\n }\n}));\nObject.defineProperty(exports, \"TextLayerBuilder\", ({\n enumerable: true,\n get: function () {\n return _text_layer_builder.TextLayerBuilder;\n }\n}));\nObject.defineProperty(exports, \"XfaLayerBuilder\", ({\n enumerable: true,\n get: function () {\n return _xfa_layer_builder.XfaLayerBuilder;\n }\n}));\nObject.defineProperty(exports, \"parseQueryString\", ({\n enumerable: true,\n get: function () {\n return _ui_utils.parseQueryString;\n }\n}));\nvar _pdf_link_service = __w_pdfjs_require__(1);\nvar _ui_utils = __w_pdfjs_require__(2);\nvar _annotation_layer_builder = __w_pdfjs_require__(3);\nvar _download_manager = __w_pdfjs_require__(6);\nvar _event_utils = __w_pdfjs_require__(7);\nvar _genericl10n = __w_pdfjs_require__(8);\nvar _l10n_utils = __w_pdfjs_require__(5);\nvar _pdf_find_controller = __w_pdfjs_require__(10);\nvar _pdf_history = __w_pdfjs_require__(12);\nvar _pdf_page_view = __w_pdfjs_require__(13);\nvar _pdf_scripting_manager = __w_pdfjs_require__(21);\nvar _pdf_single_page_viewer = __w_pdfjs_require__(23);\nvar _pdf_viewer = __w_pdfjs_require__(24);\nvar _struct_tree_layer_builder = __w_pdfjs_require__(16);\nvar _text_layer_builder = __w_pdfjs_require__(19);\nvar _xfa_layer_builder = __w_pdfjs_require__(20);\nconst pdfjsVersion = '3.6.172';\nconst pdfjsBuild = '4d3dfe254';\nclass DefaultAnnotationLayerFactory {\n constructor() {\n throw new Error(\"The `DefaultAnnotationLayerFactory` has been removed, \" + \"please use the `annotationMode` option when initializing \" + \"the `PDFPageView`-instance to control AnnotationLayer rendering.\");\n }\n}\nexports.DefaultAnnotationLayerFactory = DefaultAnnotationLayerFactory;\nclass DefaultStructTreeLayerFactory {\n constructor() {\n throw new Error(\"The `DefaultStructTreeLayerFactory` has been removed, \" + \"this functionality is automatically enabled when the TextLayer is used.\");\n }\n}\nexports.DefaultStructTreeLayerFactory = DefaultStructTreeLayerFactory;\nclass DefaultTextLayerFactory {\n constructor() {\n throw new Error(\"The `DefaultTextLayerFactory` has been removed, \" + \"please use the `textLayerMode` option when initializing \" + \"the `PDFPageView`-instance to control TextLayer rendering.\");\n }\n}\nexports.DefaultTextLayerFactory = DefaultTextLayerFactory;\nclass DefaultXfaLayerFactory {\n constructor() {\n throw new Error(\"The `DefaultXfaLayerFactory` has been removed, \" + \"please use the `enableXfa` option when calling \" + \"the `getDocument`-function to control XfaLayer rendering.\");\n }\n}\nexports.DefaultXfaLayerFactory = DefaultXfaLayerFactory;\n})();\n\n/******/ \treturn __webpack_exports__;\n/******/ })()\n;\n});\n//# sourceMappingURL=pdf_viewer.js.map","\n\n\n\n\n\n","/*\n *\n * OSIS stands for Open Student Information System. It's an application\n * designed to manage the core business of higher education institutions,\n * such as universities, faculties, institutes and professional schools.\n * The core business involves the administration of students, teachers,\n * courses, programs and so on.\n *\n * Copyright (C) 2015-2023 Université catholique de Louvain (http://www.uclouvain.be)\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU General Public License for more details.\n *\n * A copy of this license - GNU General Public License - is available\n * at the root of the source code of this program. If not,\n * see http://www.gnu.org/licenses/.\n *\n */\n// eslint-disable-next-line vue/prefer-import-from-vue\nimport {createApp} from '@vue/runtime-dom'; // So it can be spied on in tests\nimport {i18n} from './i18n';\nimport Editor from './DocumentEditor.vue';\n\n\ninterface EditorProps extends Record {\n baseUrl: string,\n value: string,\n pagination?: boolean,\n zoom?: boolean,\n comment?: boolean,\n highlight?: boolean,\n rotation?: boolean,\n}\n\nfunction initEditors() {\n document.querySelectorAll('.osis-document-editor:not([data-v-app])').forEach((elem) => {\n const props: EditorProps = {baseUrl: \"\", value: \"\", ...elem.dataset};\n for (const propName of ['pagination', 'zoom', 'comment', 'highlight', 'rotation'])\n if (typeof elem.dataset[propName] !== 'undefined') {\n props[propName] = elem.dataset[propName] === \"true\";\n }\n createApp(Editor, props).use(i18n).mount(elem);\n });\n}\n\n// Initialize at first load\ninitEditors();\n\n// Initialize later if nodes are added dynamically\nconst observer = new MutationObserver(initEditors);\nobserver.observe(document, {childList: true, subtree: true});\n"],"names":["createI18n","en","fr","t","useI18n","scales","zoomTitle","scale","url","params","response","root","factory","__unused_webpack_module","exports","assert","bytesToString","createValidAbsoluteUrl","getModificationDate","getVerbosityLevel","info","isArrayBuffer","isArrayEqual","normalizeUnicode","objectFromMap","objectSize","setVerbosityLevel","shadow","string32","stringToBytes","stringToPDFString","stringToUTF8String","unreachable","utf8StringToString","warn","IDENTITY_MATRIX","FONT_IDENTITY_MATRIX","MAX_IMAGE_SIZE_TO_CACHE","LINE_FACTOR","LINE_DESCENT_FACTOR","BASELINE_FACTOR","RenderingIntentFlag","AnnotationMode","AnnotationEditorPrefix","AnnotationEditorType","AnnotationEditorParamsType","PermissionFlag","TextRenderingMode","ImageKind","AnnotationType","AnnotationStateModelType","AnnotationMarkedState","AnnotationReviewState","AnnotationReplyType","AnnotationFlag","AnnotationFieldFlag","AnnotationBorderStyleType","AnnotationActionEventType","DocumentActionEventType","PageActionEventType","VerbosityLevel","CMapCompressionType","OPS","PasswordResponses","verbosity","level","msg","cond","_isValidProtocol","baseUrl","options","dots","absoluteUrl","obj","prop","value","nonSerializable","BaseException","message","name","PasswordException","code","UnknownErrorException","details","InvalidPDFException","MissingPDFException","UnexpectedResponseException","status","FormatError","AbortException","bytes","length","MAX_ARGUMENT_COUNT","strBuf","i","chunkEnd","chunk","str","map","key","isLittleEndian","buffer8","isEvalSupported","FeatureTest","hexNumbers","n","Util","r","g","b","transform","minMax","temp","m1","m2","p","m","xt","yt","d","p1","p2","p3","p4","transpose","a","c","first","second","sx","sy","rect","rect1","rect2","xLow","xHigh","yLow","yHigh","x0","y0","x1","y1","x2","y2","x3","y3","tvalues","bounds","t1","t2","b2ac","sqrtb2ac","j","mt","jlen","PDFStringTranslateTable","encoding","decoder","buffer","ex","ii","v","arr1","arr2","date","PromiseCapability","__privateAdd","_settled","resolve","reject","data","__privateSet","reason","__privateGet","NormalizeRegex","NormalizationMap","_","NodeCanvasFactory","NodeCMapReaderFactory","NodeFilterFactory","NodeStandardFontDataFactory","PDFNodeStream","PDFNetworkStream","PDFFetchStream","src","task","docId","httpHeaders","withCredentials","password","rangeTransport","rangeChunkSize","worker","docBaseUrl","cMapUrl","cMapPacked","CMapReaderFactory","standardFontDataUrl","StandardFontDataFactory","ignoreErrors","maxImageSize","isOffscreenCanvasSupported","canvasMaxAreaInBytes","disableFontFace","fontExtraProperties","enableXfa","ownerDocument","disableRange","disableStream","disableAutoFetch","pdfBug","useSystemFonts","useWorkerFetch","canvasFactory","filterFactory","styleElement","transportFactory","workerParams","fetchDocParams","transportParams","workerIdPromise","networkStreamPromise","networkStream","workerId","messageHandler","transport","source","val","_PDFDocumentLoadingTask","__privateWrapper","_docId","_a","initialData","progressiveDone","contentDispositionFilename","listener","begin","loaded","total","end","pdfInfo","pageNumber","ref","id","keepLoadedFonts","pageIndex","pageInfo","_tryCleanup","_abortDelayedCleanup","_delayedCleanupTimeout","_pendingCleanup","rotation","offsetX","offsetY","dontFlip","intent","intentArgs","canvasContext","viewport","annotationMode","background","optionalContentConfigPromise","annotationCanvasMap","pageColors","printAnnotationStorage","_b","__privateMethod","abortDelayedCleanup_fn","intentState","intentPrint","_c","complete","error","internalRenderTask","tryCleanup_fn","renderTask","transparency","optionalContentConfig","operatorListChanged","opListTask","includeMarkedContent","disableNormalization","textContent","xfa","readableStream","pump","reader","done","waitOn","resetStats","success","cacheKey","operatorListChunk","renderingIntent","annotationStorageMap","force","delay","curCacheKey","curIntentState","delayed","renderTasks","operatorList","_listeners","_deferred","transfer","event","require","pdfjsFilePath","otherUrl","base","other","wrapper","port","_workerPorts","workerSrc","terminateEarly","onWorkerError","sendTest","testObj","WorkerMessageHandler","workerHandler","loadingTask","_cacheSimpleMethod","_methodPromises","_pageCache","_pagePromises","isOpList","annotationMap","page","terminated","sink","evt","readyReason","headersCapability","fullReader","rangeReader","exception","updatePassword","type","exportedData","exportedError","inspectFont","font","imageData","pageProxy","width","height","cachedPromise","promise","cacheSimpleMethod_fn","results","_ensureObj","_objs","objId","callback","ensureObj_fn","_internalRenderTask","extraDelay","separateAnnots","_InternalRenderTask","objs","commonObjs","useRequestAnimationFrame","_canvasInUse","__w_pdfjs_require__","_util","_editor","_murmurhash","AnnotationStorage","_setModified","_modified","_storage","defaultValue","modified","entry","setModified_fn","PrintAnnotationStorage","clone","serialized","hash","parent","_serializable","_tools","_AnnotationEditor","parameters","_boundFocusin","_boundFocusout","_hasBeenSelected","_isEditing","_isInEditMode","__publicField","_zIndex","pageWidth","pageHeight","pageX","pageY","target","x","y","tx","ty","realScale","parentWidth","parentHeight","style","widthPercent","heightPercent","isMac","shiftX","shiftY","uiManager","editor","AnnotationEditor","bindEvents","opacityToHex","_display_utils","element","names","opacity","IdManager","_id","CommandManager","maxSize","_commands","_locked","_maxSize","_position","cmd","undo","mustExec","overwriteIfSameType","keepUndo","save","next","KeyboardManager","callbacks","_serialize","keys","isMacKey","self","serialize_fn","_ColorManager","colors","color","rgb","RGB","ColorManager","_AnnotationEditorUIManager","container","eventBus","annotationStorage","_addKeyboardManager","_removeKeyboardManager","_addCopyPasteListeners","_removeCopyPasteListeners","_dispatchUpdateStates","_dispatchUpdateUI","_enableAll","_disableAll","_addEditorToLayer","_isEmpty","_selectEditors","_activeEditor","_allEditors","_allLayers","_annotationStorage","_commandManager","_currentPageIndex","_editorTypes","_editorsToRescale","_eventBus","_idManager","_isEnabled","_mode","_selectedEditors","_boundCopy","_boundCut","_boundPaste","_boundKeydown","_boundOnEditingAction","_boundOnPageChanging","_boundOnScaleChanging","_boundOnRotationChanging","_previousStates","_container","removeKeyboardManager_fn","layer","pagesRotation","editors","newEditors","deserializedEditor","addEditorToLayer_fn","selectEditors_fn","isEditing","addKeyboardManager_fn","addCopyPasteListeners_fn","dispatchUpdateStates_fn","isEmpty_fn","removeCopyPasteListeners_fn","types","editorType","dispatchUpdateUI_fn","mode","disableAll_fn","enableAll_fn","ed","AnnotationEditorUIManager","deprecated","getColorValues","getCurrentTransform","getCurrentTransformInverse","getFilenameFromUrl","getPdfFilenameFromUrl","getRGB","getXfaPageViewport","isDataScheme","isPdfFile","isValidFetchUrl","loadScript","setLayerDimensions","_base_factory","SVG_NS","AnnotationPrefix","_PixelsPerInch","PixelsPerInch","DOMFilterFactory","_cache","_defs","_appendFeFunc","__cache","__defs","_document","_hcmFilter","_hcmKey","_hcmUrl","maps","cache_get","tableR","tableG","tableB","mapR","mapG","mapB","bufferR","bufferG","bufferB","filter","feComponentTransfer","appendFeFunc_fn","defs_get","fgColor","bgColor","fgRGB","bgRGB","table","feColorMatrix","getSteps","start","arr","keepHCM","div","svg","func","feFunc","DOMCanvasFactory","canvas","fetchData","asTypedArray","request","DOMCMapReaderFactory","compressionType","DOMStandardFontDataFactory","DOMSVGFactory","PageViewport","viewBox","centerX","centerY","rotateA","rotateB","rotateC","rotateD","offsetCanvasX","offsetCanvasY","topLeft","bottomRight","RenderingCancelledException","filename","onlyStripPath","defaultFilename","reURI","reFilename","splitURI","suggestedFilename","StatTimer","outBuf","longest","protocol","removeScriptElement","script","pdfDateStringRegex","PDFDateString","input","matches","year","month","day","hour","minute","universalTimeRelation","offsetHour","offsetMinute","xfaPage","colorRGB","span","computedColor","ctx","e","f","mustFlip","mustRotate","widthStr","heightStr","BaseFilterFactory","BaseCanvasFactory","canvasAndContext","BaseCMapReaderFactory","isCompressed","BaseStandardFontDataFactory","BaseSVGFactory","skipDimensions","SEED","MASK_HIGH","MASK_LOW","MurmurHash3_64","seed","blockCounts","tailLength","dataUint32","k1","k2","h1","h2","C1","C2","C1_LOW","C2_LOW","_is_node","FontLoader","nativeFontFace","rule","styleSheet","hasFonts","supported","completeRequest","loadingRequests","otherRequest","testFont","int32","offset","spliceString","s","remove","insert","chunk1","chunk2","called","isFontReady","loadTestFontId","CFF_CHECKSUM_OFFSET","XXXX_VALUE","checksum","FontFaceObject","translatedData","css","character","cmds","size","jsBuf","current","args","isNodeJS","_pattern_helper","_image_utils","MIN_FONT_SIZE","MAX_FONT_SIZE","MAX_GROUP_SIZE","EXECUTION_TIME","EXECUTION_STEPS","MAX_SIZE_TO_COMPILE","FULL_CHUNK_HEIGHT","mirrorContextOperations","destCtx","angle","cp1x","cp1y","cp2x","cp2y","CachedCanvases","canvasEntry","drawImageAtIntegerCoords","srcImg","srcX","srcY","srcW","srcH","destX","destY","destW","destH","tlX","rTlX","tlY","rTlY","brX","rWidth","brY","rHeight","scaleX","scaleY","compileType3Glyph","imgData","POINT_TO_PROCESS_LIMIT","POINT_TYPES","width1","points","j0","lineSize","pos","elem","mask","count","sum","steps","path","p0","step","pp","CanvasExtraState","box","pathType","xStrokePad","yStrokePad","intersect","putBinaryImageData","partialChunkHeight","fullChunks","totalChunks","chunkImgData","srcPos","destPos","dest","thisChunkHeight","elemsInThisChunk","srcLength","dest32","dest32DataLength","fullSrcDiff","white","black","srcDiff","k","kEnd","kEndUnrolled","srcByte","putBinaryImageMask","copyCtxState","sourceCtx","properties","property","resetCtxToDefault","composeSMaskBackdrop","r0","g0","b0","alpha","alpha_","composeSMaskAlpha","maskData","layerData","transferMap","composeSMaskLuminosity","genericComposeSMask","maskCtx","layerCtx","subtype","backdrop","layerOffsetX","layerOffsetY","maskOffsetX","maskOffsetY","hasBackdrop","composeFn","chunkSize","row","chunkHeight","composeSMask","smask","layerBox","layerWidth","layerHeight","getImageSmoothingEnabled","interpolate","actualScale","LINE_CAP_STYLES","LINE_JOIN_STYLES","NORMAL_CLIP","EO_CLIP","_CanvasGraphics","canvasCtx","markedContentStack","_restoreInitialState","_drawFilter","fallback","savedFillStyle","transparentCanvas","executionStartIdx","continueCallback","stepper","argsArray","fnArray","argsArrayLen","chunkOperations","endTime","fnId","depObjId","objsPool","restoreInitialState_fn","cache","drawFilter_fn","img","inverseTransform","widthScale","heightScale","paintWidth","paintHeight","tmpCanvasId","tmpCanvas","tmpCtx","newWidth","newHeight","fillColor","isPatternFill","currentTransform","scaled","maskCanvas","mainKey","cachedImage","maskToCanvas","cord1","cord2","drawnWidth","drawnHeight","fillCanvas","fillCtx","inverse","limit","dashArray","dashPhase","flatness","states","inSMaskMode","cacheId","scratchCanvas","dirtyBox","suspendedCtx","old","ops","startX","startY","isScalingMatrix","minMaxForBezier","xw","yh","consumePath","strokeColor","needRestore","paths","spacing","leading","fontRefName","fontObj","bold","italic","typeface","browserFontSize","rise","patternTransform","textRenderingMode","fontSize","fillStrokeMode","isAddToPathSet","patternFill","addToPath","enabled","glyphs","fontSizeScale","charSpacing","wordSpacing","fontDirection","textHScale","glyphsLength","vertical","spacingDir","defaultVMetrics","widthAdvanceScale","simpleFillText","pattern","lineWidth","chars","glyph","restoreNeeded","accent","scaledX","scaledY","vmetric","vx","vy","measuredWidth","characterScaleX","scaledAccentX","scaledAccentY","charWidth","fontMatrix","isTextInvisible","spacingLength","xWidth","yWidth","llx","lly","urx","ury","IR","baseTransform","canvasGraphicsFactory","matrix","inv","bl","br","ul","ur","bbox","group","currentCtx","canvasBounds","groupCtx","currentMtx","hasOwnCanvas","viewportScale","canvasWidth","canvasHeight","context","skewX","skewY","positions","trans","images","image","bitmap","imgToPaint","w","h","tag","clipBox","isEmpty","absDet","normX","normY","scaledXLineWidth","scaledYLineWidth","baseArea","saveRestore","savedMatrix","savedDashes","savedDashOffset","CanvasGraphics","hcmFilterId","savedFilter","op","getShadingPattern","PathType","applyBoundingBox","region","BaseShadingPattern","RadialAxialShadingPattern","grad","colorStop","owner","ownerBBox","domMatrix","drawTriangle","c1","c2","c3","coords","rowSize","tmp","c1r","c1g","c1b","c2r","c2g","c2b","c3r","c3g","c3b","minY","maxY","xa","car","cag","cab","xb","cbr","cbg","cbb","x1_","x2_","drawFigure","figure","ps","cs","verticesPerRow","rows","cols","q","MeshShadingPattern","combinedScale","backgroundColor","cachedCanvases","boundsWidth","boundsHeight","paddedWidth","paddedHeight","matrixScale","temporaryPatternCanvas","DummyShadingPattern","PaintType","_TilingPattern","xstep","ystep","paintType","tilingType","curMatrixScale","dimx","dimy","graphics","adjustedX0","adjustedY0","adjustedX1","adjustedY1","realOutputSize","bboxWidth","bboxHeight","cssColor","TilingPattern","convertBlackAndWhiteToRGBA","convertToRGBA","grayToRGBA","convertRGBToRGBA","nonBlackColor","inverseDecode","zeroMapping","oneMapping","widthInSource","widthRemainder","max","len32","src32","s1","s2","s3","jj","GlobalWorkerOptions","CallbackKind","StreamKind","wrapReason","MessageHandler","sourceName","targetName","comObj","_createStreamSink","_processStreamMessage","_deleteStreamController","processStreamMessage_fn","callbackId","capability","action","cbSourceName","cbTargetName","result","createStreamSink_fn","actionName","handler","ah","transfers","queueingStrategy","streamId","controller","startCapability","pullCapability","cancelCapability","streamSink","lastDesiredSize","streamController","deleteStreamController_fn","Metadata","parsedData","rawData","_metadataMap","_data","INTERNAL","OptionalContentGroup","_visible","internal","visible","OptionalContentConfig","_evaluateVisibilityExpression","_cachedGetHash","_groups","_initialHash","_order","on","off","evaluateVisibilityExpression_fn","array","operator","state","PDFDataTransportStream","pdfDataRangeTransport","found","_d","queuedChunks","PDFDataTransportStreamReader","PDFDataTransportStreamRangeReader","stream","requestCapability","XfaText","items","output","walk","node","child","require$$0","require$$1","_network_utils","fs","http","require$$2","https","require$$3","require$$4","fileUriRegex","parseUrl","sourceUrl","parsedUrl","PDFNodeStreamFsFullReader","PDFNodeStreamFullReader","PDFNodeStreamFsRangeReader","PDFNodeStreamRangeReader","BaseFullReader","BaseRangeReader","createRequestOptions","headers","handleResponse","getResponseHeader","allowRangeRequests","suggestedLength","stat","createResponseStatusError","extractFilenameFromHeader","validateRangeRequestCapabilities","validateResponseStatus","_content_disposition","isHttp","returnValues","contentDisposition","getFilenameFromContentDispositionHeader","needsEncodingFixup","toParamRegExp","rfc2616unquote","rfc5987decode","rfc2047decode","fixupEncoding","rfc2231getparam","attributePattern","flags","textdecode","contentDispositionStr","match","iter","quot","part","parts","quotindex","extvalue","encodingend","charset","text","hex","OK_RESPONSE","PARTIAL_CONTENT_RESPONSE","getArrayBuffer","xhr","NetworkManager","listeners","xhrId","pendingRequest","xhrStatus","rangeHeader","PDFNetworkStreamFullRequestReader","PDFNetworkStreamRangeRequestReader","manager","fullRequestXhrId","fullRequestXhr","createFetchOptions","abortController","createHeaders","PDFFetchStreamReader","PDFFetchStreamRangeReader","renderTextLayer","updateTextLayer","MAX_TEXT_DIVS_TO_RENDER","DEFAULT_FONT_SIZE","DEFAULT_FONT_ASCENT","ascentCache","getCtx","getAscent","fontFamily","cachedAscent","metrics","ascent","descent","ratio","pixels","appendText","geom","styles","textDiv","textDivProperties","fontHeight","fontAscent","left","top","scaleFactorStr","divStyle","shouldScaleText","absScaleX","absScaleY","layout","prevFontSize","prevFontFamily","render","textDivs","TextLayerRenderTask","textContentSource","textContentItemsStr","styleCache","item","visibility","scaleFactor","mustRescale","_freetext","_ink","_AnnotationEditorLayer","_changeParent","_createNewEditor","_createAndAddNewEditor","_cleanup","_accessibilityManager","_allowClick","_boundPointerup","_boundPointerdown","_editors","_hadPointerDown","_isCleaningUp","_uiManager","cleanup_fn","isCommitting","createAndAddNewEditor_fn","changeParent_fn","endX","endY","AnnotationEditorLayer","createNewEditor_fn","_FreeTextEditor","_updateFontSize","_updateColor","_extractText","_setEditorDimensions","_boundEditorDivBlur","_boundEditorDivFocus","_boundEditorDivInput","_boundEditorDivKeydown","_color","_content","_editorDivId","_hasAlreadyBeenCommitted","_fontSize","l10n","updateFontSize_fn","updateColor_fn","extractText_fn","setEditorDimensions_fn","baseX","baseY","line","padding","FreeTextEditor","setFontsize","savedFontsize","savedColor","divs","currentLayer","savedDisplay","_pdfjsFitCurve","RESIZER_SIZE","_InkEditor","_updateThickness","_updateOpacity","_getInitialBBox","_setStroke","_startDrawing","_draw","_stopDrawing","_redraw","_endDrawing","_createCanvas","_createObserver","_setCanvasDims","_setScaleFactor","_updateTransform","_serializePaths","_extractPointsOnBezier","_isAlmostFlat","_getBbox","_getPadding","_fitToContent","_setMinDims","_aspectRatio","_baseHeight","_baseWidth","_boundCanvasPointermove","_boundCanvasPointerleave","_boundCanvasPointerup","_boundCanvasPointerdown","_disableEditing","_isCanvasInitialized","_lastPoint","_observer","_realWidth","_realHeight","_requestFrameCallback","updateThickness_fn","updateOpacity_fn","createCanvas_fn","createObserver_fn","setCanvasDims_fn","fitToContent_fn","startDrawing_fn","draw_fn","endDrawing_fn","getInitialBBox_fn","redraw_fn","setMinDims_fn","roundedWidth","roundedHeight","setScaleFactor_fn","bezier","p10","p11","p20","p21","p30","p31","path2D","_buildPath2D","buildPath2D_fn","getBbox_fn","serializePaths_fn","InkEditor","thickness","savedThickness","savedOpacity","parentRotation","setStroke_fn","parentScale","lastX","lastY","stopDrawing_fn","xy","updateTransform_fn","entries","getPadding_fn","scaleFactorW","scaleFactorH","control1","control2","p40","p41","extractPointsOnBezier_fn","isAlmostFlat_fn","q10","q11","q20","q21","q30","q31","ax","ay","bx","by","xMin","xMax","yMin","yMax","firstTime","prevTranslationX","prevTranslationY","unscaledPadding","fitCurve","module","maxError","progressCallback","point","len","leftTangent","createTangent","rightTangent","fitCubic","bezCurve","u","uPrime","prevErr","splitPoint","prevSplit","centerVector","toCenterTangent","fromCenterTangent","beziers","dist","maths","chordLengthParameterize","generateAndReport","reparameterize","errChange","paramsOrig","paramsPrime","generateBezier","computeMaxError","A","C","X","det_C0_C1","det_C0_X","det_X_C1","alpha_l","alpha_r","epsilon","segLength","ux","firstPoint","lastPoint","newtonRaphsonRootFind","bez","qprime","numerator","denominator","currU","prevU","prevP","maxDist","t_distMap","mapTtoRelativeDistances","find_t","B_parts","B_t_curr","B_t_dist","B_t_prev","sumLen","param","lenMax","lenMin","tMax","tMin","pointA","pointB","zs","multiplier","addition","divisor","ctrlPoly","pA","pB","pC","pD","_annotation_storage","_scripting_utils","_xfa_layer","DEFAULT_TAB_INDEX","GetElementsByNameSet","getRectDims","AnnotationElementFactory","LinkAnnotationElement","TextAnnotationElement","TextWidgetAnnotationElement","RadioButtonWidgetAnnotationElement","CheckboxWidgetAnnotationElement","PushButtonWidgetAnnotationElement","ChoiceWidgetAnnotationElement","WidgetAnnotationElement","PopupAnnotationElement","FreeTextAnnotationElement","LineAnnotationElement","SquareAnnotationElement","CircleAnnotationElement","PolylineAnnotationElement","CaretAnnotationElement","InkAnnotationElement","PolygonAnnotationElement","HighlightAnnotationElement","UnderlineAnnotationElement","SquigglyAnnotationElement","StrikeOutAnnotationElement","StampAnnotationElement","FileAttachmentAnnotationElement","AnnotationElement","isRenderable","ignoreBorder","createQuadrilaterals","horizontalRadius","verticalRadius","radius","borderColor","elementWidth","elementHeight","setColor","jsName","styleName","hidden","actions","jsEvent","commonActions","storedData","detail","eventProxy","quadrilaterals","savedRect","quadPoint","trigger","popup","PopupElement","className","quadrilateral","skipId","fields","fieldObj","exportValues","exportValue","domElement","_setInternalLink","_bindSetOCGState","linkService","link","isBound","bindSetOCGState_fn","index","linkElement","destination","setInternalLink_fn","attachment","resetForm","otherClickAction","resetFormFields","resetFormRefs","include","allFields","fieldIds","fieldName","field","storage","allIds","isWin","baseName","eventName","valueGetter","getter","TEXT_ALIGNMENT","fontColor","computedFontSize","BORDER_SIZE","roundToOneDecimal","numberOfLines","lineHeight","isRequired","keyInStorage","maxLen","elementData","blurListener","formattedValue","charLimit","commitKey","_blurListener","selectionStart","selectionEnd","selStart","selEnd","combWidth","checked","checkbox","curChecked","radio","pdfButtonValue","selectElement","addAnEmptyEntry","option","optionElement","removeEmptyEntry","noneOptionElement","getValue","isExport","multiple","selectedValues","getItems","values","displayValue","selectChild","indices","_PopupAnnotationElement","parentElements","popupLeft","popupTop","title","dateObject","modificationDate","contents","dir","lines","pin","unpin","content","lineSpan","borderWidth","square","circle","coordinate","polyline","inkList","_AnnotationLayer","annotations","accessibilityManager","elementParams","zIndex","rendered","renderedElement","_appendElement","appendElement_fn","_setAnnotationCanvasMap","setAnnotationCanvasMap_fn","AnnotationLayer","contentElement","firstChild","makeColorComp","ColorConverters","R","G","B","components","_xfa_text","XfaLayer","html","attributes","isHTMLAnchorElement","rootHtml","stack","rootDiv","childHtml","el","SVGGraphics","opListToTree","opList","opTree","opListElement","pf","pm","SVG_DEFAULTS","XML_NS","XLINK_NS","createObjectURL","contentType","forceDataSchema","digits","b1","b2","b3","d1","d2","d3","d4","convertImgDataToPng","PNG_HEADER","CHUNK_WRAPPER_SIZE","crcTable","crc32","crc","writePngChunk","body","adler32","deflateSync","literals","deflateSyncUncompressed","maxBlockLength","deflateBlocks","idat","pi","adler","encode","kind","isMask","bitDepth","colorType","offsetLiterals","offsetBytes","ihdr","pngLength","SVGExtraState","clipCount","maskCount","shadingCount","transformMatrix","svgElement","operatorIdMapping","opTreeElement","fn","lineWidthScale","textMatrix","strokeAlpha","fillAlpha","tilingId","tx0","ty0","tx1","ty1","xscale","yscale","txstep","tystep","tiling","shadingId","colorStops","gradient","point0","point1","focalPoint","circlePoint","focalRadius","circleRadius","stop","clipId","clipPath","clipElement","prev","textRise","imgSrc","cliprect","imgEl","definitions","rootGroup","clipGroup","moduleId","cachedModule","_annotation_editor_layer","_annotation_layer","_worker_options","_api","_svg","_text_layer","__webpack_modules__","_ui_utils","DEFAULT_LINK_REL","LinkTarget","addLinkAttributes","rel","urlNullRemoved","targetStr","_PDFLinkService","externalLinkTarget","externalLinkRel","ignoreDestinationZoom","_goToDestinationHelper","_pagesRefCache","pdfDocument","pdfViewer","pdfHistory","namedDest","explicitDest","goToDestinationHelper_fn","newWindow","anchor","query","phrase","zoomArgs","zoomArg","zoomArgNumber","_isValidExplicitDestination","isValidExplicitDestination_fn","pageNum","pageRef","refStr","PDFLinkService","rawDest","destRef","destLength","zoom","allowNull","SimpleLinkService","apiPageLayoutToViewerModes","apiPageModeToSidebarView","approximateFraction","backtrackBeforeAllVisibleElements","binarySearchFirstItem","getActiveOrFocusedElement","getPageSizeInches","getVisibleElements","isPortraitOrientation","isValidRotation","isValidScrollMode","isValidSpreadMode","noContextMenuHandler","normalizeWheelEventDelta","normalizeWheelEventDirection","parseQueryString","removeNullCharacters","roundToDivide","scrollIntoView","toggleCheckedBtn","watchScroll","DEFAULT_SCALE_VALUE","DEFAULT_SCALE","DEFAULT_SCALE_DELTA","MIN_SCALE","MAX_SCALE","UNKNOWN_SCALE","MAX_AUTO_SCALE","SCROLLBAR_PADDING","VERTICAL_PADDING","RenderingStates","PresentationModeState","SidebarView","TextLayerMode","ScrollMode","SpreadMode","CursorTool","AutoPrintRegExp","OutputScale","pixelRatio","spot","scrollMatches","viewAreaElement","debounceScroll","rAF","currentX","currentY","InvisibleCharactersRegExp","replaceInvisible","condition","minIndex","maxIndex","currentIndex","currentItem","xinv","x_","view","userUnit","rotate","changeOrientation","views","elt","pageTop","scrollEl","sortByVisibility","horizontal","rtl","bottom","right","isElementBottomAfterViewTop","isElementNextAfterViewHorizontally","elementLeft","elementRight","ids","numViews","firstVisibleElementInd","lastEdge","currentWidth","currentHeight","viewWidth","viewHeight","viewRight","viewBottom","hiddenHeight","hiddenWidth","fractionHeight","fractionWidth","percent","last","pc","delta","deltaMode","MOUSE_PIXELS_PER_LINE","MOUSE_LINES_PER_PAGE","animationStarted","docStyle","clamp","min","ProgressBar","bar","_classList","_disableAutoFetchTimeout","_percent","_style","viewer","scrollbarWidth","curRoot","curActiveOrFocused","scrollMode","spreadMode","button","toggle","_pdfjsLib","_l10n_utils","AnnotationLayerBuilder","pageDiv","pdfPage","downloadManager","imageResourcesPath","renderForms","enableScripting","hasJSActionsPromise","fieldObjectsPromise","_updatePresentationModeState","_numAnnotations","_onPresentationModeChanged","hasJSActions","fieldObjects","updatePresentationModeState_fn","disableFormElements","section","pdfjsLib","fixupLangCode","getL10nFallback","DEFAULT_L10N_STRINGS","PARTIAL_LANG_CODES","langCode","formatL10nValue","all","NullL10n","download","blobUrl","DownloadManager","_openBlobUrls","_options","blob","waitOnEventOrTimeout","WaitOnType","EventBus","eventHandler","timeout","timeoutHandler","eventListeners","externalListeners","external","once","AutomationEventBus","webL10n","GenericL10n","lang","window","document","undefined","gL10nData","gTextData","gTextProp","gLanguage","gMacros","gReadyState","gAsyncResourceLoading","getL10nResourceLinks","getL10nDictionary","getTranslatableChildren","getL10nAttributes","l10nId","l10nArgs","xhrLoadText","onSuccess","onFailure","parseResource","href","successCallback","failureCallback","baseURL","evalString","parseProperties","parsedPropertiesCallback","dictionary","reBlank","reComment","reSection","reImport","reSplit","parseRawLines","rawText","extendedSyntax","parsedRawLinesCallback","currentLang","genericLang","skipLang","nextEntry","loadImport","loadLocale","clear","langLinks","langCount","dict","defaultLocale","anyCaseLang","onResourceLoaded","gResourceCount","L10nResourceLink","resource","getPluralRules","locales2rules","isIn","list","isBetween","pluralRules","getL10nData","rv","substIndexes","substArguments","reIndex","reMatch","macroName","paramName","macro","reArgs","matched_text","arg","translateElement","getChildElementCount","children","l","textNode","translateFragment","elementCount","fallbackString","rtlList","shortCode","_pdf_find_utils","FindState","FIND_TIMEOUT","MATCH_SCROLL_OFFSET_TOP","MATCH_SCROLL_OFFSET_LEFT","CHARACTERS_TO_NORMALIZE","DIACRITICS_EXCEPTION","DIACRITICS_EXCEPTION_STR","DIACRITICS_REG_EXP","SPECIAL_CHARS_REG_EXP","NOT_DIACRITIC_FROM_END_REG_EXP","NOT_DIACRITIC_FROM_START_REG_EXP","SYLLABLES_REG_EXP","SYLLABLES_LENGTHS","FIRST_CHAR_SYLLABLES_REG_EXP","NFKC_CHARS_TO_NORMALIZE","noSyllablesRegExp","withSyllablesRegExp","normalize","syllablePositions","char","normalizationRegex","replace","toNormalizeWithNFKC","regexp","rawDiacriticsPositions","normalized","rawDiacriticsIndex","syllableIndex","shift","shiftOrigin","eol","hasDiacritics","p5","p6","p7","p8","replacement","hasTrailingDashEOL","newCharLen","getOriginalIndex","diffs","oldStart","oldLen","PDFFindController","updateMatchesCountOnProgress","_onFind","_reset","_query","_shouldDirtyMatch","_isEntireWord","_calculateRegExpMatch","_convertToRegExpString","_calculateMatch","_updatePage","_updateAllPages","_nextMatch","_matchesReady","_nextPageMatch","_advanceOffsetPage","_updateMatch","_onFindBarClose","_requestMatchesCount","_updateUIResultsCount","_updateUIState","_state","_updateMatchesCountOnProgress","_visitedPagesCount","reset_fn","onFind_fn","onFindBarClose_fn","selectedLeft","matchIndex","shouldDirtyMatch_fn","updateUIState_fn","findbarClosed","pendingTimeout","nextMatch_fn","updateAllPages_fn","query_get","newQuery","prevQuery","newType","isEntireWord_fn","startIdx","calculateRegExpMatch_fn","entireWord","pageContent","matchesLength","matchPos","matchLen","convertToRegExpString_fn","matchDiacritics","isUnicode","trailingSpaces","calculateMatch_fn","caseSensitive","isUnicodePart","queryPart","updatePage_fn","nextPageMatch_fn","pageMatchesCount","updateUIResultsCount_fn","textOptions","extractTextCapability","textItem","previous","currentPageIndex","numPages","numPageMatches","updateMatch_fn","advanceOffsetPage_fn","matchesReady_fn","numMatches","pageIdx","wrapped","previousPage","requestMatchesCount_fn","matchIdx","getCharacterType","getNormalizeWithNFKC","CharacterType","isAlphabeticalScript","charCode","isAscii","isAsciiAlpha","isAsciiDigit","isAsciiSpace","isHan","isKatakana","isHiragana","isHalfwidthKatakana","isThai","NormalizeWithNFKC","isDestArraysEqual","isDestHashesEqual","_event_utils","HASH_CHANGE_TIMEOUT","POSITION_UPDATED_THRESHOLD","UPDATE_VIEWAREA_TIMEOUT","getCurrentHash","PDFHistory","fingerprint","resetHistory","updateUrl","reInitialized","forceReplace","shouldReplace","newState","newUrl","temporary","position","checkReload","perfEntry","uid","removeTemporary","checkNameddest","nameddest","location","newHash","hashChanged","destHash","pushHash","firstDest","secondDest","isEntryEqual","_annotation_editor_layer_builder","_annotation_layer_builder","_app_options","_pdf_link_service","_struct_tree_layer_builder","_text_accessibility","_text_highlighter","_text_layer_builder","_xfa_layer_builder","MAX_CANVAS_PIXELS","DEFAULT_LAYER_PROPERTIES","PDFPageView","_setDimensions","_renderAnnotationLayer","_renderAnnotationEditorLayer","_renderXfaLayer","_renderTextLayer","_renderStructTreeLayer","_buildXfaTextContentItems","_finishRenderTask","_annotationMode","_layerProperties","_loadingId","_previousRotation","_renderError","_renderingState","_textLayerMode","_useThumbnailCanvas","_viewportMap","defaultViewport","setDimensions_fn","totalRotation","removeFromDOM","zoomLayerCanvas","keepZoomLayer","keepAnnotationLayer","keepAnnotationEditorLayer","keepXfaLayer","keepTextLayer","childNodes","zoomLayerNode","annotationLayerNode","annotationEditorLayerNode","xfaLayerNode","textLayerNode","_e","drawingDelay","isScalingRestricted","onlyCssZoom","postponeDrawing","cancelExtraDelay","redrawAnnotationLayer","redrawAnnotationEditorLayer","redrawXfaLayer","redrawTextLayer","hideTextLayer","originalViewport","relativeRotation","absRotation","renderAnnotationLayer_fn","renderAnnotationEditorLayer_fn","renderXfaLayer_fn","renderTextLayer_fn","canvasWrapper","renderContinueCallback","cont","showCanvas","hasHCM","isLastShow","outputScale","actualSizeViewport","pixelsInViewport","maxScale","sfx","sfy","renderContext","resultPromise","finishRenderTask_fn","annotationEditorUIManager","label","initialOptionalContent","regularAnnotations","buildXfaTextContentItems_fn","textLayer","renderStructTreeLayer_fn","tree","treeDom","AnnotationEditorLayerBuilder","clonedViewport","compatibilityParams","userAgent","platform","maxTouchPoints","isAndroid","isIOS","OptionKind","defaultOptions","userOptions","AppOptions","userOption","defaultOption","valueType","PDF_ROLE_TO_HTML_ROLE","HEADING_PATTERN","StructTreeLayerBuilder","_setAttributes","_walk","_treeDom","structTree","walk_fn","setAttributes_fn","structElement","htmlElement","role","kid","_TextAccessibilityManager","_addIdToAriaOwns","_enabled","_textChildren","_textNodes","_waitingElements","_compareElementPositions","compareElementPositions_fn","textChildren","nodeIndex","addIdToAriaOwns_fn","isRemovable","owns","elementToCompare","TextAccessibilityManager","e1","e2","top1","bot1","mid1","top2","bot2","mid2","centerX1","centerX2","TextHighlighter","findController","texts","iIndex","mm","isSelectedPage","selectedMatchIdx","highlightAll","prevEnd","infinity","beginText","divIdx","appendTextToDiv","fromOffset","toOffset","i0","i1","lastDivIdx","lastOffset","isSelected","highlightSuffix","n0","n1","reset","clearedUntilDivIdx","pageMatches","pageMatchesLength","TextLayerBuilder","highlighter","enablePermissions","_finishRendering","_bindMouse","_enablePermissions","_rotation","_scale","_textContentSource","finishRendering_fn","endOfContent","bindMouse_fn","adjustTop","divBounds","selection","XfaLayerBuilder","xfaHtml","PDFScriptingManager","sandboxBundleSrc","scriptingFactory","docPropertiesLookup","objects","calculationOrder","docActions","docProperties","isInPresentationMode","siblings","command","modes","elementId","initialize","visitedPages","pageView","actionsPromise","GenericScripting","metadata","contentLength","sandbox","_pdf_viewer","PDFSinglePageViewer","_pdf_page_view","_pdf_rendering_queue","DEFAULT_CACHE_SIZE","PagesCountLimit","isValidAnnotationEditorMode","PDFPageViewBuffer","_destroyFirstView","_buf","_size","buf","destroyFirstView_fn","newSize","idsToKeep","firstView","PDFViewer","_initializePermissions","_onePageRenderedOrForceFetch","_copyCallback","_ensurePageViewVisible","_scrollIntoView","_isSameScale","_setScaleUpdatePages","_pageWidthScaleFactor","_setScale","_resetCurrentPageView","_ensurePdfPageLoaded","_getScrollAhead","_updateContainerHeightCss","_resizeObserverCallback","_buffer","_annotationEditorMode","_annotationEditorUIManager","_containerTopLeft","_copyCallbackBound","_getAllTextInProgress","_hiddenCopyElement","_interruptCopyCondition","_previousContainerHeight","_resizeObserver","resizeObserverCallback_fn","_scrollModePageState","_onVisibilityChange","_scaleTimeoutId","viewerVersion","updateContainerHeightCss_fn","resetCurrentPageView","resetCurrentPageView_fn","setScale_fn","pagesCount","firstPagePromise","permissionsPromise","firstPdfPage","permissions","annotationEditorMode","textLayerMode","initializePermissions_fn","layerProperties","layerProperties_fn","viewerElement","firstPageView","ensurePageViewVisible_fn","onePageRenderedOrForceFetch_fn","copyCallback_fn","getPagesLeft","labels","destArray","allowNegativeOffset","hPadding","vPadding","scrollIntoView_fn","boundingRect","firstPage","currentScale","currentScaleValue","normalizedScaleValue","currentPageView","intLeft","intTop","pdfOpenParams","visiblePages","numVisiblePages","newCacheSize","isSimpleLayout","currentId","stillFullyVisible","currentlyVisiblePages","scrollAhead","getScrollAhead_fn","preRenderExtra","ensurePdfPageLoaded_fn","initialOrientation","orientation","pages","parity","spread","currentPageNumber","pageLayout","yArray","expectedId","firstId","lastId","advance","newScale","noUpdate","updateArgs","visibilityChangePromise","focusNode","anchorNode","savedCursor","interruptCopy","ev","pageIndexSet","dummyPage","pageSpot","scrollLeft","clientWidth","isSameScale_fn","setScaleUpdatePages_fn","newValue","noScroll","preset","pageWidthScaleFactor_get","currentPage","pageWidthScale","pageHeightScale","horizontalScale","CLEANUP_TIMEOUT","PDFRenderingQueue","pdfThumbnailViewer","scrolledDown","visibleViews","numVisible","visibleIds","holeId","holeView","preRenderIndex","preRenderView","__webpack_module_cache__","__webpack_exports__","_download_manager","_genericl10n","_pdf_find_controller","_pdf_history","_pdf_scripting_manager","_pdf_single_page_viewer","DefaultAnnotationLayerFactory","DefaultStructTreeLayerFactory","DefaultTextLayerFactory","DefaultXfaLayerFactory","pdfjs.GlobalWorkerOptions","defineComponent","ToolbarPagination","ToolbarRotation","ToolbarZoom","ToolbarAnnotation","eventNames","file","pdfjs.getDocument","externalEvent","markRaw","fd","toRaw","_resolveComponent","_openBlock","_createElementBlock","_createElementVNode","_ctx","_component_ToolbarPagination","_component_ToolbarRotation","_createCommentVNode","_component_ToolbarZoom","_createBlock","_component_ToolbarAnnotation","_normalizeClass","props","propName","createApp"],"mappings":"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","x_google_ignoreList":[4,5]} \ No newline at end of file diff --git a/setup.py b/setup.py index 411eb43..d862bdf 100644 --- a/setup.py +++ b/setup.py @@ -27,7 +27,7 @@ setup( name='OSIS Document', - version='0.10.6', + version='0.10.7', description='Document management API and widget', url='http://github.com/uclouvain/osis-document', author='Université catholique de Louvain', @@ -39,6 +39,7 @@ 'requests>=2.20.0,<3.0', 'filetype>=1.1.0,<2.0', 'pypdf>=3.6.0,<4.0', - 'python-magic==0.4.27' + 'python-magic==0.4.27', + 'djangorestframework==3.15.1' ] )