@kyudaisai/pamphlet-viewer 0.1.0-alpha.7 → 0.1.0-alpha.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/NOTICE +7 -0
- package/README.md +9 -1
- package/THIRD_PARTY_NOTICES.txt +8 -0
- package/dist/library/assets/pdfium.worker-BKxTY1QJ.js +7 -0
- package/dist/library/pamphlet-viewer.d.ts +1 -0
- package/dist/library/pamphlet-viewer.js +58 -14
- package/licenses/LICENSE.embedpdf.txt +21 -0
- package/licenses/LICENSE.lucide.txt +43 -0
- package/licenses/LICENSE.pdfium.txt +196 -0
- package/licenses/LICENSE.svelte.txt +7 -0
- package/package.json +14 -7
- package/dist/library/assets/pdfium.worker-Drq0f6Bb.js +0 -3
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 九大祭実行委員会 and kurage (@umitsukidev)
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/NOTICE
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
Copyright (c) 2026 九大祭実行委員会 and kurage (@umitsukidev)
|
|
2
|
+
|
|
3
|
+
This project is licensed under the MIT License. See LICENSE for the full text.
|
|
4
|
+
|
|
5
|
+
Source code: https://github.com/kyudaisai-committee/pamphlet-viewer
|
|
6
|
+
|
|
7
|
+
Third-party notices: THIRD_PARTY_NOTICES.txt and licenses/.
|
package/README.md
CHANGED
|
@@ -22,6 +22,10 @@
|
|
|
22
22
|
|
|
23
23
|
`registerPamphletViewer()`は登録済みの要素を再登録しません。ブラウザーでentryを読み込むと自動登録も行われます。ホスト要素に表示領域の高さを指定してください。
|
|
24
24
|
|
|
25
|
+
## 表示言語
|
|
26
|
+
|
|
27
|
+
ツールバーなどの表示言語は、要素の初期化時に`<pamphlet-viewer lang="en">`の`lang`属性、HTML文書の`<html lang="en">`属性の順に選びます。どちらも指定されていない場合は日本語です。要素の`lang`が空文字または空白だけの場合はHTML文書の言語を使います。`ja-JP`や`en-US`など地域付きの値も認識し、大文字小文字を区別しません。未対応の言語値は日本語になります。言語は各ビューアごとに決まり、HTML文書の`lang`属性は変更しません。初期化後に要素の`lang`を変更しても表示言語は切り替わりません。
|
|
28
|
+
|
|
25
29
|
## 属性とプロパティ
|
|
26
30
|
|
|
27
31
|
| 名前 | 初期値 | 説明 |
|
|
@@ -37,7 +41,7 @@
|
|
|
37
41
|
|
|
38
42
|
`layout="auto"`は、サムネイル一覧の幅を除いた紙面表示領域の有効幅が約760px以上なら見開き、それより狭ければ単ページにします。判定はブラウザーウィンドウではなく、ホスト内の紙面表示領域の幅を使います。見開きの先頭ページは表紙として単独で表示し、2ページ目以降を左右に並べます。これはページめくりアニメーションではありません。
|
|
39
43
|
|
|
40
|
-
|
|
44
|
+
ページ一覧ボタンでサムネイルを開き、ページを選んで移動できます。サムネイルは一覧全体を一度に描画せず、表示範囲のページを必要に応じて作成します。PDFに埋め込みサムネイルがある場合はそれを優先して使い、ない場合や読み取れない場合はページを縮小描画します。狭いホストでは一覧が表示領域を使い、選択後に本文表示へ戻ります。ズームは10%から800%まで変更でき、拡大中はドラッグで紙面を移動できます。タッチ画面では2本指で拡大縮小できます。CtrlまたはMetaキーを押しながらホイールを操作しても拡大縮小します。通常のホイール操作は紙面をスクロールします。
|
|
41
45
|
|
|
42
46
|
## 章とブックマーク
|
|
43
47
|
|
|
@@ -123,3 +127,7 @@ pnpm verify
|
|
|
123
127
|
```
|
|
124
128
|
|
|
125
129
|
`pnpm build:library`は`dist/library/`に配布用ES module、型定義、PDFium WorkerとWASMを出力します。WorkerとWASMは別ファイルなので、`dist/library/`の構成を保って同じ配信先へ配置してください。ビルド時に外部CDNからWorkerやWASMを取得しません。package exportsは`dist/library/pamphlet-viewer.js`と`dist/library/pamphlet-viewer.d.ts`を指します。`pnpm build`はデモとライブラリの両方をビルドします。
|
|
130
|
+
|
|
131
|
+
## ライセンス
|
|
132
|
+
|
|
133
|
+
このプロジェクトのソースコードは[MIT License](LICENSE)で公開します。[GitHubでソースコードを入手できます](https://github.com/kyudaisai-committee/pamphlet-viewer)。npm配布物には[NOTICE](NOTICE)と第三者ライセンスの表示も含まれます。
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
Pamphlet Viewer includes third-party software in its distributable JavaScript
|
|
2
|
+
and WebAssembly files. The corresponding license texts are included in the
|
|
3
|
+
licenses/ directory:
|
|
4
|
+
|
|
5
|
+
- @embedpdf/pdfium (MIT): licenses/LICENSE.embedpdf.txt
|
|
6
|
+
- PDFium WebAssembly (BSD-3-Clause and Apache-2.0): licenses/LICENSE.pdfium.txt
|
|
7
|
+
- @lucide/svelte (ISC and MIT for icons derived from Feather): licenses/LICENSE.lucide.txt
|
|
8
|
+
- Svelte (MIT): licenses/LICENSE.svelte.txt
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* SPDX-License-Identifier: MIT
|
|
3
|
+
* Source code: https://github.com/kyudaisai-committee/pamphlet-viewer
|
|
4
|
+
*/
|
|
5
|
+
(function(){var e=(()=>{var e=self.location.href;return(async function(t={}){var n,r=t,i,a,o=new Promise((e,t)=>{i=e,a=t});(/* @__PURE__ */ `_EPDF_GetMetaKeyCount._EPDF_GetMetaKeyName._EPDF_GetMetaTrapped._EPDF_GetPageBoxByIndex._EPDF_GetPageRotationByIndex._EPDF_GetPageSizeByIndexNormalized._EPDF_HasMetaText._EPDF_IsEncrypted._EPDF_IsOwnerUnlocked._EPDF_LoadPageNormalized._EPDF_PNG_EncodeRGBA._EPDF_RemoveEncryption._EPDF_RenderAnnotBitmap._EPDF_RenderAnnotBitmapUnrotated._EPDF_SetEncryption._EPDF_SetMetaText._EPDF_SetMetaTrapped._EPDF_UnlockOwnerPermissions._EPDFAction_CreateGoTo._EPDFAction_CreateGoToNamed._EPDFAction_CreateLaunch._EPDFAction_CreateRemoteGoToByName._EPDFAction_CreateRemoteGoToDest._EPDFAction_CreateURI._EPDFAnnot_ApplyRedaction._EPDFAnnot_ClearBorderEffect._EPDFAnnot_ClearColor._EPDFAnnot_ClearMKColor._EPDFAnnot_ClearRectangleDifferences._EPDFAnnot_ExportAppearanceAsDocument._EPDFAnnot_ExportMultipleAppearancesAsDocument._EPDFAnnot_Flatten._EPDFAnnot_GenerateAppearance._EPDFAnnot_GenerateAppearanceWithBlend._EPDFAnnot_GenerateFormFieldAP._EPDFAnnot_GetAPMatrix._EPDFAnnot_GetAvailableAppearanceModes._EPDFAnnot_GetBlendMode._EPDFAnnot_GetBorderDashPattern._EPDFAnnot_GetBorderDashPatternCount._EPDFAnnot_GetBorderEffect._EPDFAnnot_GetBorderStyle._EPDFAnnot_GetButtonExportValue._EPDFAnnot_GetCalloutLine._EPDFAnnot_GetCalloutLineCount._EPDFAnnot_GetColor._EPDFAnnot_GetDefaultAppearance._EPDFAnnot_GetExtendedRotation._EPDFAnnot_GetFormFieldObjectNumber._EPDFAnnot_GetFormFieldRawValue._EPDFAnnot_GetIntent._EPDFAnnot_GetLineEndings._EPDFAnnot_GetMKColor._EPDFAnnot_GetName._EPDFAnnot_GetObjectNumber._EPDFAnnot_GetOpacity._EPDFAnnot_GetOverlayText._EPDFAnnot_GetOverlayTextRepeat._EPDFAnnot_GetRect._EPDFAnnot_GetRectangleDifferences._EPDFAnnot_GetReplyType._EPDFAnnot_GetRichContent._EPDFAnnot_GetRotate._EPDFAnnot_GetTextAlignment._EPDFAnnot_GetUnrotatedRect._EPDFAnnot_GetVerticalAlignment._EPDFAnnot_HasAppearanceStream._EPDFAnnot_SetAction._EPDFAnnot_SetAPMatrix._EPDFAnnot_SetAppearanceFromPage._EPDFAnnot_SetBorderDashPattern._EPDFAnnot_SetBorderEffect._EPDFAnnot_SetBorderStyle._EPDFAnnot_SetCalloutLine._EPDFAnnot_SetColor._EPDFAnnot_SetDefaultAppearance._EPDFAnnot_SetExtendedRotation._EPDFAnnot_SetFormFieldName._EPDFAnnot_SetFormFieldOptions._EPDFAnnot_SetFormFieldValue._EPDFAnnot_SetIntent._EPDFAnnot_SetLine._EPDFAnnot_SetLineEndings._EPDFAnnot_SetLinkedAnnot._EPDFAnnot_SetMKColor._EPDFAnnot_SetName._EPDFAnnot_SetNumberValue._EPDFAnnot_SetOpacity._EPDFAnnot_SetOverlayText._EPDFAnnot_SetOverlayTextRepeat._EPDFAnnot_SetRectangleDifferences._EPDFAnnot_SetReplyType._EPDFAnnot_SetRotate._EPDFAnnot_SetTextAlignment._EPDFAnnot_SetUnrotatedRect._EPDFAnnot_SetVerticalAlignment._EPDFAnnot_SetVertices._EPDFAnnot_ShareFormField._EPDFAnnot_UpdateAppearanceToRect._EPDFAttachment_GetDescription._EPDFAttachment_GetIntegerValue._EPDFAttachment_SetDescription._EPDFAttachment_SetSubtype._EPDFBookmark_AppendChild._EPDFBookmark_Clear._EPDFBookmark_ClearTarget._EPDFBookmark_Create._EPDFBookmark_Delete._EPDFBookmark_InsertAfter._EPDFBookmark_SetAction._EPDFBookmark_SetDest._EPDFBookmark_SetTitle._EPDFCatalog_GetLanguage._EPDFDest_CreateRemoteView._EPDFDest_CreateRemoteXYZ._EPDFDest_CreateView._EPDFDest_CreateXYZ._EPDFDoc_GetPageObjectNumberByIndex._EPDFDoc_LoadPageByObjectNumber._EPDFImageObj_SetJpeg._EPDFImageObj_SetPng._EPDFNamedDest_Remove._EPDFNamedDest_SetDest._EPDFPage_ApplyRedactions._EPDFPage_CreateAnnot._EPDFPage_CreateFormField._EPDFPage_GetAnnotByName._EPDFPage_GetAnnotByObjectNumber._EPDFPage_GetAnnotCountRaw._EPDFPage_GetAnnotRaw._EPDFPage_GetObjectNumber._EPDFPage_MoveAnnots._EPDFPage_RemoveAnnot._EPDFPage_RemoveAnnotByName._EPDFPage_RemoveAnnotByObjectNumber._EPDFPage_RemoveAnnotRaw._EPDFText_RedactInQuads._EPDFText_RedactInRect._FORM_CanRedo._FORM_CanUndo._FORM_DoDocumentAAction._FORM_DoDocumentJSAction._FORM_DoDocumentOpenAction._FORM_DoPageAAction._FORM_ForceToKillFocus._FORM_GetFocusedAnnot._FORM_GetFocusedText._FORM_GetSelectedText._FORM_IsIndexSelected._FORM_OnAfterLoadPage._FORM_OnBeforeClosePage._FORM_OnChar._FORM_OnFocus._FORM_OnKeyDown._FORM_OnKeyUp._FORM_OnLButtonDoubleClick._FORM_OnLButtonDown._FORM_OnLButtonUp._FORM_OnMouseMove._FORM_OnMouseWheel._FORM_OnRButtonDown._FORM_OnRButtonUp._FORM_Redo._FORM_ReplaceAndKeepSelection._FORM_ReplaceSelection._FORM_SelectAllText._FORM_SetFocusedAnnot._FORM_SetIndexSelected._FORM_Undo._FPDF_AddInstalledFont._FPDF_CloseDocument._FPDF_ClosePage._FPDF_CloseXObject._FPDF_CopyViewerPreferences._FPDF_CountNamedDests._FPDF_CreateClipPath._FPDF_CreateNewDocument._FPDF_DestroyClipPath._FPDF_DestroyLibrary._FPDF_DeviceToPage._FPDF_DocumentHasValidCrossReferenceTable._FPDF_FFLDraw._FPDF_FreeDefaultSystemFontInfo._FPDF_GetDefaultSystemFontInfo._FPDF_GetDefaultTTFMap._FPDF_GetDefaultTTFMapCount._FPDF_GetDefaultTTFMapEntry._FPDF_GetDocPermissions._FPDF_GetDocUserPermissions._FPDF_GetFileIdentifier._FPDF_GetFileVersion._FPDF_GetFormType._FPDF_GetLastError._FPDF_GetMetaText._FPDF_GetNamedDest._FPDF_GetNamedDestByName._FPDF_GetPageAAction._FPDF_GetPageBoundingBox._FPDF_GetPageCount._FPDF_GetPageHeight._FPDF_GetPageHeightF._FPDF_GetPageLabel._FPDF_GetPageSizeByIndex._FPDF_GetPageSizeByIndexF._FPDF_GetPageWidth._FPDF_GetPageWidthF._FPDF_GetSecurityHandlerRevision._FPDF_GetSignatureCount._FPDF_GetSignatureObject._FPDF_GetTrailerEnds._FPDF_GetXFAPacketContent._FPDF_GetXFAPacketCount._FPDF_GetXFAPacketName._FPDF_ImportNPagesToOne._FPDF_ImportPages._FPDF_ImportPagesByIndex._FPDF_InitLibrary._FPDF_InitLibraryWithConfig._FPDF_LoadCustomDocument._FPDF_LoadDocument._FPDF_LoadMemDocument._FPDF_LoadMemDocument64._FPDF_LoadPage._FPDF_LoadXFA._FPDF_MovePages._FPDF_NewFormObjectFromXObject._FPDF_NewXObjectFromPage._FPDF_PageToDevice._FPDF_RemoveFormFieldHighlight._FPDF_RenderPage_Close._FPDF_RenderPage_Continue._FPDF_RenderPageBitmap._FPDF_RenderPageBitmap_Start._FPDF_RenderPageBitmapWithColorScheme_Start._FPDF_RenderPageBitmapWithMatrix._FPDF_SaveAsCopy._FPDF_SaveWithVersion._FPDF_SetFormFieldHighlightAlpha._FPDF_SetFormFieldHighlightColor._FPDF_SetSandBoxPolicy._FPDF_SetSystemFontInfo._FPDF_StructElement_Attr_CountChildren._FPDF_StructElement_Attr_GetBlobValue._FPDF_StructElement_Attr_GetBooleanValue._FPDF_StructElement_Attr_GetChildAtIndex._FPDF_StructElement_Attr_GetCount._FPDF_StructElement_Attr_GetName._FPDF_StructElement_Attr_GetNumberValue._FPDF_StructElement_Attr_GetStringValue._FPDF_StructElement_Attr_GetType._FPDF_StructElement_Attr_GetValue._FPDF_StructElement_CountChildren._FPDF_StructElement_GetActualText._FPDF_StructElement_GetAltText._FPDF_StructElement_GetAttributeAtIndex._FPDF_StructElement_GetAttributeCount._FPDF_StructElement_GetChildAtIndex._FPDF_StructElement_GetChildMarkedContentID._FPDF_StructElement_GetID._FPDF_StructElement_GetLang._FPDF_StructElement_GetMarkedContentID._FPDF_StructElement_GetMarkedContentIdAtIndex._FPDF_StructElement_GetMarkedContentIdCount._FPDF_StructElement_GetObjType._FPDF_StructElement_GetParent._FPDF_StructElement_GetStringAttribute._FPDF_StructElement_GetTitle._FPDF_StructElement_GetType._FPDF_StructTree_Close._FPDF_StructTree_CountChildren._FPDF_StructTree_GetChildAtIndex._FPDF_StructTree_GetForPage._FPDF_VIEWERREF_GetDuplex._FPDF_VIEWERREF_GetName._FPDF_VIEWERREF_GetNumCopies._FPDF_VIEWERREF_GetPrintPageRange._FPDF_VIEWERREF_GetPrintPageRangeCount._FPDF_VIEWERREF_GetPrintPageRangeElement._FPDF_VIEWERREF_GetPrintScaling._FPDFAction_GetDest._FPDFAction_GetFilePath._FPDFAction_GetType._FPDFAction_GetURIPath._FPDFAnnot_AddFileAttachment._FPDFAnnot_AddInkStroke._FPDFAnnot_AppendAttachmentPoints._FPDFAnnot_AppendObject._FPDFAnnot_CountAttachmentPoints._FPDFAnnot_GetAP._FPDFAnnot_GetAttachmentPoints._FPDFAnnot_GetBorder._FPDFAnnot_GetColor._FPDFAnnot_GetFileAttachment._FPDFAnnot_GetFlags._FPDFAnnot_GetFocusableSubtypes._FPDFAnnot_GetFocusableSubtypesCount._FPDFAnnot_GetFontColor._FPDFAnnot_GetFontSize._FPDFAnnot_GetFormAdditionalActionJavaScript._FPDFAnnot_GetFormControlCount._FPDFAnnot_GetFormControlIndex._FPDFAnnot_GetFormFieldAlternateName._FPDFAnnot_GetFormFieldAtPoint._FPDFAnnot_GetFormFieldExportValue._FPDFAnnot_GetFormFieldFlags._FPDFAnnot_GetFormFieldName._FPDFAnnot_GetFormFieldType._FPDFAnnot_GetFormFieldValue._FPDFAnnot_GetInkListCount._FPDFAnnot_GetInkListPath._FPDFAnnot_GetLine._FPDFAnnot_GetLink._FPDFAnnot_GetLinkedAnnot._FPDFAnnot_GetNumberValue._FPDFAnnot_GetObject._FPDFAnnot_GetObjectCount._FPDFAnnot_GetOptionCount._FPDFAnnot_GetOptionLabel._FPDFAnnot_GetRect._FPDFAnnot_GetStringValue._FPDFAnnot_GetSubtype._FPDFAnnot_GetValueType._FPDFAnnot_GetVertices._FPDFAnnot_HasAttachmentPoints._FPDFAnnot_HasKey._FPDFAnnot_IsChecked._FPDFAnnot_IsObjectSupportedSubtype._FPDFAnnot_IsOptionSelected._FPDFAnnot_IsSupportedSubtype._FPDFAnnot_RemoveInkList._FPDFAnnot_RemoveObject._FPDFAnnot_SetAP._FPDFAnnot_SetAttachmentPoints._FPDFAnnot_SetBorder._FPDFAnnot_SetColor._FPDFAnnot_SetFlags._FPDFAnnot_SetFocusableSubtypes._FPDFAnnot_SetFontColor._FPDFAnnot_SetFormFieldFlags._FPDFAnnot_SetRect._FPDFAnnot_SetStringValue._FPDFAnnot_SetURI._FPDFAnnot_UpdateObject._FPDFAttachment_GetFile._FPDFAttachment_GetName._FPDFAttachment_GetStringValue._FPDFAttachment_GetSubtype._FPDFAttachment_GetValueType._FPDFAttachment_HasKey._FPDFAttachment_SetFile._FPDFAttachment_SetStringValue._FPDFAvail_Create._FPDFAvail_Destroy._FPDFAvail_GetDocument._FPDFAvail_GetFirstPageNum._FPDFAvail_IsDocAvail._FPDFAvail_IsFormAvail._FPDFAvail_IsLinearized._FPDFAvail_IsPageAvail._FPDFBitmap_Create._FPDFBitmap_CreateEx._FPDFBitmap_Destroy._FPDFBitmap_FillRect._FPDFBitmap_GetBuffer._FPDFBitmap_GetFormat._FPDFBitmap_GetHeight._FPDFBitmap_GetStride._FPDFBitmap_GetWidth._FPDFBookmark_Find._FPDFBookmark_GetAction._FPDFBookmark_GetCount._FPDFBookmark_GetDest._FPDFBookmark_GetFirstChild._FPDFBookmark_GetNextSibling._FPDFBookmark_GetTitle._FPDFCatalog_GetLanguage._FPDFCatalog_IsTagged._FPDFCatalog_SetLanguage._FPDFClipPath_CountPaths._FPDFClipPath_CountPathSegments._FPDFClipPath_GetPathSegment._FPDFDest_GetDestPageIndex._FPDFDest_GetLocationInPage._FPDFDest_GetView._FPDFDoc_AddAttachment._FPDFDoc_CloseJavaScriptAction._FPDFDoc_DeleteAttachment._FPDFDOC_ExitFormFillEnvironment._FPDFDoc_GetAttachment._FPDFDoc_GetAttachmentCount._FPDFDoc_GetJavaScriptAction._FPDFDoc_GetJavaScriptActionCount._FPDFDoc_GetPageMode._FPDFDOC_InitFormFillEnvironment._FPDFFont_Close._FPDFFont_GetAscent._FPDFFont_GetBaseFontName._FPDFFont_GetDescent._FPDFFont_GetFamilyName._FPDFFont_GetFlags._FPDFFont_GetFontData._FPDFFont_GetGlyphPath._FPDFFont_GetGlyphWidth._FPDFFont_GetIsEmbedded._FPDFFont_GetItalicAngle._FPDFFont_GetWeight._FPDFFormObj_CountObjects._FPDFFormObj_GetObject._FPDFFormObj_RemoveObject._FPDFGlyphPath_CountGlyphSegments._FPDFGlyphPath_GetGlyphPathSegment._FPDFImageObj_GetBitmap._FPDFImageObj_GetIccProfileDataDecoded._FPDFImageObj_GetImageDataDecoded._FPDFImageObj_GetImageDataRaw._FPDFImageObj_GetImageFilter._FPDFImageObj_GetImageFilterCount._FPDFImageObj_GetImageMetadata._FPDFImageObj_GetImagePixelSize._FPDFImageObj_GetRenderedBitmap._FPDFImageObj_LoadJpegFile._FPDFImageObj_LoadJpegFileInline._FPDFImageObj_SetBitmap._FPDFImageObj_SetMatrix._FPDFJavaScriptAction_GetName._FPDFJavaScriptAction_GetScript._FPDFLink_CloseWebLinks._FPDFLink_CountQuadPoints._FPDFLink_CountRects._FPDFLink_CountWebLinks._FPDFLink_Enumerate._FPDFLink_GetAction._FPDFLink_GetAnnot._FPDFLink_GetAnnotRect._FPDFLink_GetDest._FPDFLink_GetLinkAtPoint._FPDFLink_GetLinkZOrderAtPoint._FPDFLink_GetQuadPoints._FPDFLink_GetRect._FPDFLink_GetTextRange._FPDFLink_GetURL._FPDFLink_LoadWebLinks._FPDFPage_CloseAnnot._FPDFPage_CountObjects._FPDFPage_CreateAnnot._FPDFPage_Delete._FPDFPage_Flatten._FPDFPage_FormFieldZOrderAtPoint._FPDFPage_GenerateContent._FPDFPage_GetAnnot._FPDFPage_GetAnnotCount._FPDFPage_GetAnnotIndex._FPDFPage_GetArtBox._FPDFPage_GetBleedBox._FPDFPage_GetCropBox._FPDFPage_GetDecodedThumbnailData._FPDFPage_GetMediaBox._FPDFPage_GetObject._FPDFPage_GetRawThumbnailData._FPDFPage_GetRotation._FPDFPage_GetThumbnailAsBitmap._FPDFPage_GetTrimBox._FPDFPage_HasFormFieldAtPoint._FPDFPage_HasTransparency._FPDFPage_InsertClipPath._FPDFPage_InsertObject._FPDFPage_InsertObjectAtIndex._FPDFPage_New._FPDFPage_RemoveAnnot._FPDFPage_RemoveObject._FPDFPage_SetArtBox._FPDFPage_SetBleedBox._FPDFPage_SetCropBox._FPDFPage_SetMediaBox._FPDFPage_SetRotation._FPDFPage_SetTrimBox._FPDFPage_TransformAnnots._FPDFPage_TransFormWithClip._FPDFPageObj_AddMark._FPDFPageObj_CountMarks._FPDFPageObj_CreateNewPath._FPDFPageObj_CreateNewRect._FPDFPageObj_CreateTextObj._FPDFPageObj_Destroy._FPDFPageObj_GetBounds._FPDFPageObj_GetClipPath._FPDFPageObj_GetDashArray._FPDFPageObj_GetDashCount._FPDFPageObj_GetDashPhase._FPDFPageObj_GetFillColor._FPDFPageObj_GetIsActive._FPDFPageObj_GetLineCap._FPDFPageObj_GetLineJoin._FPDFPageObj_GetMark._FPDFPageObj_GetMarkedContentID._FPDFPageObj_GetMatrix._FPDFPageObj_GetRotatedBounds._FPDFPageObj_GetStrokeColor._FPDFPageObj_GetStrokeWidth._FPDFPageObj_GetType._FPDFPageObj_HasTransparency._FPDFPageObj_NewImageObj._FPDFPageObj_NewTextObj._FPDFPageObj_RemoveMark._FPDFPageObj_SetBlendMode._FPDFPageObj_SetDashArray._FPDFPageObj_SetDashPhase._FPDFPageObj_SetFillColor._FPDFPageObj_SetIsActive._FPDFPageObj_SetLineCap._FPDFPageObj_SetLineJoin._FPDFPageObj_SetMatrix._FPDFPageObj_SetStrokeColor._FPDFPageObj_SetStrokeWidth._FPDFPageObj_Transform._FPDFPageObj_TransformClipPath._FPDFPageObj_TransformF._FPDFPageObjMark_CountParams._FPDFPageObjMark_GetName._FPDFPageObjMark_GetParamBlobValue._FPDFPageObjMark_GetParamFloatValue._FPDFPageObjMark_GetParamIntValue._FPDFPageObjMark_GetParamKey._FPDFPageObjMark_GetParamStringValue._FPDFPageObjMark_GetParamValueType._FPDFPageObjMark_RemoveParam._FPDFPageObjMark_SetBlobParam._FPDFPageObjMark_SetFloatParam._FPDFPageObjMark_SetIntParam._FPDFPageObjMark_SetStringParam._FPDFPath_BezierTo._FPDFPath_Close._FPDFPath_CountSegments._FPDFPath_GetDrawMode._FPDFPath_GetPathSegment._FPDFPath_LineTo._FPDFPath_MoveTo._FPDFPath_SetDrawMode._FPDFPathSegment_GetClose._FPDFPathSegment_GetPoint._FPDFPathSegment_GetType._FPDFSignatureObj_GetByteRange._FPDFSignatureObj_GetContents._FPDFSignatureObj_GetDocMDPPermission._FPDFSignatureObj_GetReason._FPDFSignatureObj_GetSubFilter._FPDFSignatureObj_GetTime._FPDFText_ClosePage._FPDFText_CountChars._FPDFText_CountRects._FPDFText_FindClose._FPDFText_FindNext._FPDFText_FindPrev._FPDFText_FindStart._FPDFText_GetBoundedText._FPDFText_GetCharAngle._FPDFText_GetCharBox._FPDFText_GetCharIndexAtPos._FPDFText_GetCharIndexFromTextIndex._FPDFText_GetCharOrigin._FPDFText_GetFillColor._FPDFText_GetFontInfo._FPDFText_GetFontSize._FPDFText_GetFontWeight._FPDFText_GetLooseCharBox._FPDFText_GetMatrix._FPDFText_GetRect._FPDFText_GetSchCount._FPDFText_GetSchResultIndex._FPDFText_GetStrokeColor._FPDFText_GetText._FPDFText_GetTextIndexFromCharIndex._FPDFText_GetTextObject._FPDFText_GetUnicode._FPDFText_HasUnicodeMapError._FPDFText_IsGenerated._FPDFText_IsHyphen._FPDFText_LoadCidType2Font._FPDFText_LoadFont._FPDFText_LoadPage._FPDFText_LoadStandardFont._FPDFText_SetCharcodes._FPDFText_SetText._FPDFTextObj_GetFont._FPDFTextObj_GetFontSize._FPDFTextObj_GetRenderedBitmap._FPDFTextObj_GetText._FPDFTextObj_GetTextRenderMode._FPDFTextObj_SetTextRenderMode._PDFiumExt_CloseFileWriter._PDFiumExt_CloseFormFillInfo._PDFiumExt_ExitFormFillEnvironment._PDFiumExt_GetFileWriterData._PDFiumExt_GetFileWriterSize._PDFiumExt_Init._PDFiumExt_InitFormFillEnvironment._PDFiumExt_OpenFileWriter._PDFiumExt_OpenFormFillInfo._PDFiumExt_SaveAsCopy._malloc._free._memory.___indirect_function_table.onRuntimeInitialized`.split(`.`)).forEach(e=>{Object.getOwnPropertyDescriptor(o,e)||Object.defineProperty(o,e,{get:()=>M(`You are getting `+e+` on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js`),set:()=>M(`You are setting `+e+` on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js`)})});var s=typeof window==`object`,c=typeof importScripts==`function`;typeof process==`object`&&typeof process.versions==`object`&&typeof process.versions.node==`string`&&process.type;var l=!s&&!c,u,d=Object.assign({},r),f=`./this.program`,p=``;function ee(e){return r.locateFile?r.locateFile(e,p):p+e}var te,m;if(l){if(typeof process==`object`&&typeof u==`function`||typeof window==`object`||typeof importScripts==`function`)throw Error(`not compiled for this environment (did you build to HTML and try to run it not on the web, or set ENVIRONMENT to something - like node - and run it someplace else - like on the web?)`);m=e=>{if(typeof readbuffer==`function`)return new Uint8Array(readbuffer(e));let t=read(e,`binary`);return y(typeof t==`object`),t},te=e=>new Promise((t,n)=>{setTimeout(()=>t(m(e)))}),globalThis.clearTimeout??=e=>{},globalThis.setTimeout??=e=>typeof e==`function`?e():M(),typeof print<`u`&&(globalThis.console??={},console.log=print,console.warn=console.error=globalThis.printErr??print)}else if(s||c){if(c?p=self.location.href:typeof document<`u`&&document.currentScript&&(p=document.currentScript.src),e&&(p=e),p=p.startsWith(`blob:`)?``:p.substr(0,p.replace(/[?#].*/,``).lastIndexOf(`/`)+1),typeof window!=`object`&&typeof importScripts!=`function`)throw Error(`not compiled for this environment (did you build to HTML and try to run it not on the web, or set ENVIRONMENT to something - like node - and run it someplace else - like on the web?)`);c&&(m=e=>{var t=new XMLHttpRequest;return t.open(`GET`,e,!1),t.responseType=`arraybuffer`,t.send(null),new Uint8Array(t.response)}),te=e=>(y(!xe(e),`readAsync does not work with file:// URLs`),fetch(e,{credentials:`same-origin`}).then(e=>e.ok?e.arrayBuffer():Promise.reject(/* @__PURE__ */ Error(e.status+` : `+e.url))))}else throw Error(`environment detection error`);var ne=r.print||console.log.bind(console),h=r.printErr||console.error.bind(console);Object.assign(r,d),d=null,gn(),r.arguments&&r.arguments,I(`arguments`,`arguments_`),r.thisProgram&&(f=r.thisProgram),I(`thisProgram`,`thisProgram`),y(r.memoryInitializerPrefixURL===void 0,`Module.memoryInitializerPrefixURL option was removed, use Module.locateFile instead`),y(r.pthreadMainPrefixURL===void 0,`Module.pthreadMainPrefixURL option was removed, use Module.locateFile instead`),y(r.cdInitializerPrefixURL===void 0,`Module.cdInitializerPrefixURL option was removed, use Module.locateFile instead`),y(r.filePackagePrefixURL===void 0,`Module.filePackagePrefixURL option was removed, use Module.locateFile instead`),y(r.read===void 0,`Module.read option was removed`),y(r.readAsync===void 0,`Module.readAsync option was removed (modify readAsync in JS)`),y(r.readBinary===void 0,`Module.readBinary option was removed (modify readBinary in JS)`),y(r.setWindowTitle===void 0,`Module.setWindowTitle option was removed (modify emscripten_set_window_title in JS)`),y(r.TOTAL_MEMORY===void 0,`Module.TOTAL_MEMORY has been renamed Module.INITIAL_MEMORY`),I(`asm`,`wasmExports`),I(`readAsync`,`readAsync`),I(`readBinary`,`readBinary`),I(`setWindowTitle`,`setWindowTitle`);var g=r.wasmBinary;I(`wasmBinary`,`wasmBinary`),typeof WebAssembly!=`object`&&h(`no native wasm support detected`);var _,v=!1;function y(e,t){e||M(`Assertion failed`+(t?`: `+t:``))}var b,x,S,re,C,w,ie,ae;function T(){var e=_.buffer;r.HEAP8=b=new Int8Array(e),r.HEAP16=S=new Int16Array(e),r.HEAPU8=x=new Uint8Array(e),r.HEAPU16=re=new Uint16Array(e),r.HEAP32=C=new Int32Array(e),r.HEAPU32=w=new Uint32Array(e),r.HEAPF32=ie=new Float32Array(e),r.HEAPF64=ae=new Float64Array(e)}y(!r.STACK_SIZE,`STACK_SIZE can no longer be set at runtime. Use -sSTACK_SIZE at link time`),y(typeof Int32Array<`u`&&typeof Float64Array<`u`&&Int32Array.prototype.subarray!=null&&Int32Array.prototype.set!=null,`JS engine does not provide full typed array support`),y(!r.wasmMemory,"Use of `wasmMemory` detected. Use -sIMPORTED_MEMORY to define wasmMemory externally"),y(!r.INITIAL_MEMORY,`Detected runtime INITIAL_MEMORY setting. Use -sIMPORTED_MEMORY to define wasmMemory dynamically`);function oe(){var e=Sn();y(!(e&3)),e==0&&(e+=4),w[e>>2]=34821223,w[e+4>>2]=2310721022,w[0]=1668509029}function se(){if(!v){var e=Sn();e==0&&(e+=4);var t=w[e>>2],n=w[e+4>>2];(t!=34821223||n!=2310721022)&&M(`Stack overflow! Stack cookie has been overwritten at ${Re(e)}, expected hex dwords 0x89BACDFE and 0x2135467, but received ${Re(n)} ${Re(t)}`),w[0]!=1668509029&&M(`Runtime error: The application has corrupted its heap memory area (address zero)!`)}}var ce=[],le=[],ue=[],E=!1;function de(){var e=r.preRun;e&&(typeof e==`function`&&(e=[e]),e.forEach(O)),Ie(ce)}function fe(){y(!E),E=!0,se(),!r.noFSInit&&!K.initialized&&K.init(),K.ignorePermissions=!1,Ie(le)}function D(){se();var e=r.postRun;e&&(typeof e==`function`&&(e=[e]),e.forEach(me)),Ie(ue)}function O(e){ce.unshift(e)}function pe(e){le.unshift(e)}function me(e){ue.unshift(e)}y(Math.imul,`This browser does not support Math.imul(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill`),y(Math.fround,`This browser does not support Math.fround(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill`),y(Math.clz32,`This browser does not support Math.clz32(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill`),y(Math.trunc,`This browser does not support Math.trunc(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill`);var k=0,A=null,he=null,j={};function ge(e){for(var t=e;;){if(!j[e])return e;e=t+Math.random()}}function _e(e){k++,r.monitorRunDependencies?.(k),e?(y(!j[e]),j[e]=1,A===null&&typeof setInterval<`u`&&(A=setInterval(()=>{if(v)clearInterval(A),A=null;else{var e=!1;for(var t in j)e||(e=!0,h(`still waiting on run dependencies:`)),h(`dependency: ${t}`);e&&h(`(end of list)`)}},1e4))):h(`warning: run dependency added without ID`)}function ve(e){if(k--,r.monitorRunDependencies?.(k),e?(y(j[e]),delete j[e]):h(`warning: run dependency removed without ID`),k==0&&(A!==null&&(clearInterval(A),A=null),he)){var t=he;he=null,t()}}function M(e){r.onAbort?.(e),e=`Aborted(`+e+`)`,h(e),v=!0;var t=new WebAssembly.RuntimeError(e);throw a(t),t}var ye=`data:application/octet-stream;base64,`,be=e=>e.startsWith(ye),xe=e=>e.startsWith(`file://`);function N(e,t){return(...n)=>{y(E,`native function \`${e}\` called before runtime initialization`);var r=Q[e];return y(r,`exported native function \`${e}\` not found`),y(n.length<=t,`native function \`${e}\` called with ${n.length} args but expects ${t}`),r(...n)}}function Se(){if(r.locateFile){var e=`pdfium.wasm`;return be(e)?e:ee(e)}return l?`pdfium.wasm`:new URL(new URL(`pdfium-BJ2Yip8Q.wasm`,self.location.href).href,``+self.location.href).href}var Ce;function we(e){if(e==Ce&&g)return new Uint8Array(g);if(m)return m(e);throw`both async and sync fetching of the wasm failed`}function Te(e){return g?Promise.resolve().then(()=>we(e)):te(e).then(e=>new Uint8Array(e),()=>we(e))}function Ee(e,t,n){return Te(e).then(e=>WebAssembly.instantiate(e,t)).then(n,e=>{h(`failed to asynchronously prepare wasm: ${e}`),xe(Ce)&&h(`warning: Loading from a file URI (${Ce}) is not supported in most browsers. See https://emscripten.org/docs/getting_started/FAQ.html#how-do-i-run-a-local-webserver-for-testing-why-does-my-program-stall-in-downloading-or-preparing`),M(e)})}function De(e,t,n,r){return!e&&typeof WebAssembly.instantiateStreaming==`function`&&!be(t)&&typeof fetch==`function`?fetch(t,{credentials:`same-origin`}).then(e=>WebAssembly.instantiateStreaming(e,n).then(r,function(e){return h(`wasm streaming compile failed: ${e}`),h(`falling back to ArrayBuffer instantiation`),Ee(t,n,r)})):Ee(t,n,r)}function Oe(){return{env:_n,wasi_snapshot_preview1:_n}}function ke(){var e=Oe();function t(e,t){return Q=e.exports,r.wasmExports=Q,_=Q.memory,y(_,`memory not found in wasm exports`),T(),Y=Q.__indirect_function_table,y(Y,`table not found in wasm exports`),pe(Q.__wasm_call_ctors),ve(`wasm-instantiate`),Q}_e(`wasm-instantiate`);var n=r;function i(e){y(r===n,`the Module object should not be replaced during async compilation - perhaps the order of HTML elements is wrong?`),n=null,t(e.instance)}if(r.instantiateWasm)try{return r.instantiateWasm(e,t)}catch(e){h(`Module.instantiateWasm callback failed with error: ${e}`),a(e)}return Ce??=Se(),De(g,Ce,e,i).catch(a),{}}var P,F;if((()=>{var e=/* @__PURE__ */ new Int16Array(1),t=new Int8Array(e.buffer);if(e[0]=25459,t[0]!==115||t[1]!==99)throw`Runtime error: expected the system to be little-endian! (Run with -sSUPPORT_BIG_ENDIAN to bypass)`})(),r.ENVIRONMENT)throw Error(`Module.ENVIRONMENT has been deprecated. To force the environment, use the ENVIRONMENT compile-time option (for example, -sENVIRONMENT=web or -sENVIRONMENT=node)`);function I(e,t,n=!0){Object.getOwnPropertyDescriptor(r,e)||Object.defineProperty(r,e,{configurable:!0,get(){let r=n?` (the initial value can be provided on Module, but after startup the value is only looked for on a local variable of that name)`:``;M(`\`Module.${e}\` has been replaced by \`${t}\``+r)}})}function Ae(e){Object.getOwnPropertyDescriptor(r,e)&&M(`\`Module.${e}\` was supplied but \`${e}\` not included in INCOMING_MODULE_JS_API`)}function je(e){return e===`FS_createPath`||e===`FS_createDataFile`||e===`FS_createPreloadedFile`||e===`FS_unlink`||e===`addRunDependency`||e===`FS_createLazyFile`||e===`FS_createDevice`||e===`removeRunDependency`}function Me(e,t){typeof globalThis<`u`&&!Object.getOwnPropertyDescriptor(globalThis,e)&&Object.defineProperty(globalThis,e,{configurable:!0,get(){t()}})}function Ne(e,t){Me(e,()=>{z(`\`${e}\` is not longer defined by emscripten. ${t}`)})}Ne(`buffer`,`Please use HEAP8.buffer or wasmMemory.buffer`),Ne(`asm`,`Please use wasmExports instead`);function Pe(e){Me(e,()=>{var t=`\`${e}\` is a library symbol and not included by default; add it to your library.js __deps or to DEFAULT_LIBRARY_FUNCS_TO_INCLUDE on the command line`,n=e;n.startsWith(`_`)||(n=`$`+e),t+=` (e.g. -sDEFAULT_LIBRARY_FUNCS_TO_INCLUDE='${n}')`,je(e)&&(t+=`. Alternatively, forcing filesystem support (-sFORCE_FILESYSTEM) can export this for you`),z(t)}),Fe(e)}function Fe(e){Object.getOwnPropertyDescriptor(r,e)||Object.defineProperty(r,e,{configurable:!0,get(){var t=`'${e}' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the Emscripten FAQ)`;je(e)&&(t+=`. Alternatively, forcing filesystem support (-sFORCE_FILESYSTEM) can export this for you`),M(t)}})}var Ie=e=>{e.forEach(e=>e(r))};function Le(e,t=`i8`){switch(t.endsWith(`*`)&&(t=`*`),t){case`i1`:return b[e];case`i8`:return b[e];case`i16`:return S[e>>1];case`i32`:return C[e>>2];case`i64`:M(`to do getValue(i64) use WASM_BIGINT`);case`float`:return ie[e>>2];case`double`:return ae[e>>3];case`*`:return w[e>>2];default:M(`invalid type for getValue: ${t}`)}}r.noExitRuntime;var Re=e=>(y(typeof e==`number`),e>>>=0,`0x`+e.toString(16).padStart(8,`0`));function ze(e,t,n=`i8`){switch(n.endsWith(`*`)&&(n=`*`),n){case`i1`:b[e]=t;break;case`i8`:b[e]=t;break;case`i16`:S[e>>1]=t;break;case`i32`:C[e>>2]=t;break;case`i64`:M(`to do setValue(i64) use WASM_BIGINT`);case`float`:ie[e>>2]=t;break;case`double`:ae[e>>3]=t;break;case`*`:w[e>>2]=t;break;default:M(`invalid type for setValue: ${n}`)}}var L=e=>Cn(e),R=()=>Tn(),z=e=>{z.shown||={},z.shown[e]||(z.shown[e]=1,h(e))},Be=typeof TextDecoder<`u`?new TextDecoder:void 0,B=(e,t=0,n=NaN)=>{for(var r=t+n,i=t;e[i]&&!(i>=r);)++i;if(i-t>16&&e.buffer&&Be)return Be.decode(e.subarray(t,i));for(var a=``;t<i;){var o=e[t++];if(!(o&128))a+=String.fromCharCode(o);else{var s=e[t++]&63;if((o&224)==192)a+=String.fromCharCode((o&31)<<6|s);else{var c=e[t++]&63;if((o&240)==224?o=(o&15)<<12|s<<6|c:((o&248)!=240&&z(`Invalid UTF-8 leading byte `+Re(o)+` encountered when deserializing a UTF-8 string in wasm memory to a JS string!`),o=(o&7)<<18|s<<12|c<<6|e[t++]&63),o<65536)a+=String.fromCharCode(o);else{var l=o-65536;a+=String.fromCharCode(55296|l>>10,56320|l&1023)}}}}return a},V=(e,t)=>(y(typeof e==`number`,`UTF8ToString expects a number (got ${typeof e})`),e?B(x,e,t):``),Ve=(e,t,n,r)=>{M(`Assertion failed: ${V(e)}, at: `+[t?V(t):`unknown filename`,n,r?V(r):`unknown function`])};function He(){y(q.varargs!=null);var e=C[q.varargs>>2];return q.varargs+=4,e}var Ue=He,H={isAbs:e=>e.charAt(0)===`/`,splitPath:e=>/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/.exec(e).slice(1),normalizeArray:(e,t)=>{for(var n=0,r=e.length-1;r>=0;r--){var i=e[r];i===`.`?e.splice(r,1):i===`..`?(e.splice(r,1),n++):n&&(e.splice(r,1),n--)}if(t)for(;n;n--)e.unshift(`..`);return e},normalize:e=>{var t=H.isAbs(e),n=e.substr(-1)===`/`;return e=H.normalizeArray(e.split(`/`).filter(e=>!!e),!t).join(`/`),!e&&!t&&(e=`.`),e&&n&&(e+=`/`),(t?`/`:``)+e},dirname:e=>{var t=H.splitPath(e),n=t[0],r=t[1];return!n&&!r?`.`:(r&&=r.substr(0,r.length-1),n+r)},basename:e=>{if(e===`/`)return`/`;e=H.normalize(e),e=e.replace(/\/$/,``);var t=e.lastIndexOf(`/`);return t===-1?e:e.substr(t+1)},join:(...e)=>H.normalize(e.join(`/`)),join2:(e,t)=>H.normalize(e+`/`+t)},We=()=>{if(typeof crypto==`object`&&typeof crypto.getRandomValues==`function`)return e=>crypto.getRandomValues(e);M(`no cryptographic support found for randomDevice. consider polyfilling it if you want to use something insecure like Math.random(), e.g. put this in a --pre-js: var crypto = { getRandomValues: (array) => { for (var i = 0; i < array.length; i++) array[i] = (Math.random()*256)|0 } };`)},Ge=e=>(Ge=We())(e),U={resolve:(...e)=>{for(var t=``,n=!1,r=e.length-1;r>=-1&&!n;r--){var i=r>=0?e[r]:K.cwd();if(typeof i!=`string`)throw TypeError(`Arguments to path.resolve must be strings`);if(!i)return``;t=i+`/`+t,n=H.isAbs(i)}return t=H.normalizeArray(t.split(`/`).filter(e=>!!e),!n).join(`/`),(n?`/`:``)+t||`.`},relative:(e,t)=>{e=U.resolve(e).substr(1),t=U.resolve(t).substr(1);function n(e){for(var t=0;t<e.length&&e[t]===``;t++);for(var n=e.length-1;n>=0&&e[n]===``;n--);return t>n?[]:e.slice(t,n-t+1)}for(var r=n(e.split(`/`)),i=n(t.split(`/`)),a=Math.min(r.length,i.length),o=a,s=0;s<a;s++)if(r[s]!==i[s]){o=s;break}for(var c=[],s=o;s<r.length;s++)c.push(`..`);return c=c.concat(i.slice(o)),c.join(`/`)}},Ke=[],qe=e=>{for(var t=0,n=0;n<e.length;++n){var r=e.charCodeAt(n);r<=127?t++:r<=2047?t+=2:r>=55296&&r<=57343?(t+=4,++n):t+=3}return t},Je=(e,t,n,r)=>{if(y(typeof e==`string`,`stringToUTF8Array expects a string (got ${typeof e})`),!(r>0))return 0;for(var i=n,a=n+r-1,o=0;o<e.length;++o){var s=e.charCodeAt(o);if(s>=55296&&s<=57343){var c=e.charCodeAt(++o);s=65536+((s&1023)<<10)|c&1023}if(s<=127){if(n>=a)break;t[n++]=s}else if(s<=2047){if(n+1>=a)break;t[n++]=192|s>>6,t[n++]=128|s&63}else if(s<=65535){if(n+2>=a)break;t[n++]=224|s>>12,t[n++]=128|s>>6&63,t[n++]=128|s&63}else{if(n+3>=a)break;s>1114111&&z(`Invalid Unicode code point `+Re(s)+` encountered when serializing a JS string to a UTF-8 string in wasm memory! (Valid unicode code points should be in range 0-0x10FFFF).`),t[n++]=240|s>>18,t[n++]=128|s>>12&63,t[n++]=128|s>>6&63,t[n++]=128|s&63}}return t[n]=0,n-i};function Ye(e,t,n){var r=qe(e)+1,i=Array(r);return i.length=Je(e,i,0,i.length),i}var Xe=()=>{if(!Ke.length){var e=null;if(typeof window<`u`&&typeof window.prompt==`function`?(e=window.prompt(`Input: `),e!==null&&(e+=`
|
|
6
|
+
`)):typeof readline==`function`&&(e=readline(),e&&(e+=`
|
|
7
|
+
`)),!e)return null;Ke=Ye(e)}return Ke.shift()},W={ttys:[],init(){},shutdown(){},register(e,t){W.ttys[e]={input:[],output:[],ops:t},K.registerDevice(e,W.stream_ops)},stream_ops:{open(e){var t=W.ttys[e.node.rdev];if(!t)throw new K.ErrnoError(43);e.tty=t,e.seekable=!1},close(e){e.tty.ops.fsync(e.tty)},fsync(e){e.tty.ops.fsync(e.tty)},read(e,t,n,r,i){if(!e.tty||!e.tty.ops.get_char)throw new K.ErrnoError(60);for(var a=0,o=0;o<r;o++){var s;try{s=e.tty.ops.get_char(e.tty)}catch{throw new K.ErrnoError(29)}if(s===void 0&&a===0)throw new K.ErrnoError(6);if(s==null)break;a++,t[n+o]=s}return a&&(e.node.timestamp=Date.now()),a},write(e,t,n,r,i){if(!e.tty||!e.tty.ops.put_char)throw new K.ErrnoError(60);try{for(var a=0;a<r;a++)e.tty.ops.put_char(e.tty,t[n+a])}catch{throw new K.ErrnoError(29)}return r&&(e.node.timestamp=Date.now()),a}},default_tty_ops:{get_char(e){return Xe()},put_char(e,t){t===null||t===10?(ne(B(e.output)),e.output=[]):t!=0&&e.output.push(t)},fsync(e){e.output&&e.output.length>0&&(ne(B(e.output)),e.output=[])},ioctl_tcgets(e){return{c_iflag:25856,c_oflag:5,c_cflag:191,c_lflag:35387,c_cc:[3,28,127,21,4,0,1,0,17,19,26,0,18,15,23,22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]}},ioctl_tcsets(e,t,n){return 0},ioctl_tiocgwinsz(e){return[24,80]}},default_tty1_ops:{put_char(e,t){t===null||t===10?(h(B(e.output)),e.output=[]):t!=0&&e.output.push(t)},fsync(e){e.output&&e.output.length>0&&(h(B(e.output)),e.output=[])}}},Ze=(e,t)=>{x.fill(0,e,e+t)},Qe=(e,t)=>(y(t,`alignment argument is required`),Math.ceil(e/t)*t),$e=e=>{e=Qe(e,65536);var t=bn(65536,e);return t&&Ze(t,e),t},G={ops_table:null,mount(e){return G.createNode(null,`/`,16895,0)},createNode(e,t,n,r){if(K.isBlkdev(n)||K.isFIFO(n))throw new K.ErrnoError(63);G.ops_table||={dir:{node:{getattr:G.node_ops.getattr,setattr:G.node_ops.setattr,lookup:G.node_ops.lookup,mknod:G.node_ops.mknod,rename:G.node_ops.rename,unlink:G.node_ops.unlink,rmdir:G.node_ops.rmdir,readdir:G.node_ops.readdir,symlink:G.node_ops.symlink},stream:{llseek:G.stream_ops.llseek}},file:{node:{getattr:G.node_ops.getattr,setattr:G.node_ops.setattr},stream:{llseek:G.stream_ops.llseek,read:G.stream_ops.read,write:G.stream_ops.write,allocate:G.stream_ops.allocate,mmap:G.stream_ops.mmap,msync:G.stream_ops.msync}},link:{node:{getattr:G.node_ops.getattr,setattr:G.node_ops.setattr,readlink:G.node_ops.readlink},stream:{}},chrdev:{node:{getattr:G.node_ops.getattr,setattr:G.node_ops.setattr},stream:K.chrdev_stream_ops}};var i=K.createNode(e,t,n,r);return K.isDir(i.mode)?(i.node_ops=G.ops_table.dir.node,i.stream_ops=G.ops_table.dir.stream,i.contents={}):K.isFile(i.mode)?(i.node_ops=G.ops_table.file.node,i.stream_ops=G.ops_table.file.stream,i.usedBytes=0,i.contents=null):K.isLink(i.mode)?(i.node_ops=G.ops_table.link.node,i.stream_ops=G.ops_table.link.stream):K.isChrdev(i.mode)&&(i.node_ops=G.ops_table.chrdev.node,i.stream_ops=G.ops_table.chrdev.stream),i.timestamp=Date.now(),e&&(e.contents[t]=i,e.timestamp=i.timestamp),i},getFileDataAsTypedArray(e){return e.contents?e.contents.subarray?e.contents.subarray(0,e.usedBytes):new Uint8Array(e.contents):/* @__PURE__ */ new Uint8Array},expandFileStorage(e,t){var n=e.contents?e.contents.length:0;if(!(n>=t)){t=Math.max(t,n*(n<1048576?2:1.125)>>>0),n!=0&&(t=Math.max(t,256));var r=e.contents;e.contents=new Uint8Array(t),e.usedBytes>0&&e.contents.set(r.subarray(0,e.usedBytes),0)}},resizeFileStorage(e,t){if(e.usedBytes!=t){if(t==0)e.contents=null,e.usedBytes=0;else{var n=e.contents;e.contents=new Uint8Array(t),n&&e.contents.set(n.subarray(0,Math.min(t,e.usedBytes))),e.usedBytes=t}}},node_ops:{getattr(e){var t={};return t.dev=K.isChrdev(e.mode)?e.id:1,t.ino=e.id,t.mode=e.mode,t.nlink=1,t.uid=0,t.gid=0,t.rdev=e.rdev,t.size=K.isDir(e.mode)?4096:K.isFile(e.mode)?e.usedBytes:K.isLink(e.mode)?e.link.length:0,t.atime=new Date(e.timestamp),t.mtime=new Date(e.timestamp),t.ctime=new Date(e.timestamp),t.blksize=4096,t.blocks=Math.ceil(t.size/t.blksize),t},setattr(e,t){t.mode!==void 0&&(e.mode=t.mode),t.timestamp!==void 0&&(e.timestamp=t.timestamp),t.size!==void 0&&G.resizeFileStorage(e,t.size)},lookup(e,t){throw K.genericErrors[44]},mknod(e,t,n,r){return G.createNode(e,t,n,r)},rename(e,t,n){if(K.isDir(e.mode)){var r;try{r=K.lookupNode(t,n)}catch{}if(r)for(var i in r.contents)throw new K.ErrnoError(55)}delete e.parent.contents[e.name],e.parent.timestamp=Date.now(),e.name=n,t.contents[n]=e,t.timestamp=e.parent.timestamp},unlink(e,t){delete e.contents[t],e.timestamp=Date.now()},rmdir(e,t){for(var n in K.lookupNode(e,t).contents)throw new K.ErrnoError(55);delete e.contents[t],e.timestamp=Date.now()},readdir(e){var t=[`.`,`..`];for(var n of Object.keys(e.contents))t.push(n);return t},symlink(e,t,n){var r=G.createNode(e,t,41471,0);return r.link=n,r},readlink(e){if(!K.isLink(e.mode))throw new K.ErrnoError(28);return e.link}},stream_ops:{read(e,t,n,r,i){var a=e.node.contents;if(i>=e.node.usedBytes)return 0;var o=Math.min(e.node.usedBytes-i,r);if(y(o>=0),o>8&&a.subarray)t.set(a.subarray(i,i+o),n);else for(var s=0;s<o;s++)t[n+s]=a[i+s];return o},write(e,t,n,r,i,a){if(y(!(t instanceof ArrayBuffer)),t.buffer===b.buffer&&(a=!1),!r)return 0;var o=e.node;if(o.timestamp=Date.now(),t.subarray&&(!o.contents||o.contents.subarray)){if(a)return y(i===0,`canOwn must imply no weird position inside the file`),o.contents=t.subarray(n,n+r),o.usedBytes=r,r;if(o.usedBytes===0&&i===0)return o.contents=t.slice(n,n+r),o.usedBytes=r,r;if(i+r<=o.usedBytes)return o.contents.set(t.subarray(n,n+r),i),r}if(G.expandFileStorage(o,i+r),o.contents.subarray&&t.subarray)o.contents.set(t.subarray(n,n+r),i);else for(var s=0;s<r;s++)o.contents[i+s]=t[n+s];return o.usedBytes=Math.max(o.usedBytes,i+r),r},llseek(e,t,n){var r=t;if(n===1?r+=e.position:n===2&&K.isFile(e.node.mode)&&(r+=e.node.usedBytes),r<0)throw new K.ErrnoError(28);return r},allocate(e,t,n){G.expandFileStorage(e.node,t+n),e.node.usedBytes=Math.max(e.node.usedBytes,t+n)},mmap(e,t,n,r,i){if(!K.isFile(e.node.mode))throw new K.ErrnoError(43);var a,o,s=e.node.contents;if(!(i&2)&&s&&s.buffer===b.buffer)o=!1,a=s.byteOffset;else{if(o=!0,a=$e(t),!a)throw new K.ErrnoError(48);s&&((n>0||n+t<s.length)&&(s=s.subarray?s.subarray(n,n+t):Array.prototype.slice.call(s,n,n+t)),b.set(s,a))}return{ptr:a,allocated:o}},msync(e,t,n,r,i){return G.stream_ops.write(e,t,0,r,n,!1),0}}},et=(e,t,n,r)=>{var i=ge(`al ${e}`);te(e).then(n=>{y(n,`Loading data file "${e}" failed (no arrayBuffer).`),t(new Uint8Array(n)),i&&ve(i)},t=>{if(n)n();else throw`Loading data file "${e}" failed.`}),i&&_e(i)},tt=(e,t,n,r,i,a)=>{K.createDataFile(e,t,n,r,i,a)},nt=r.preloadPlugins||[],rt=(e,t,n,r)=>{typeof Browser<`u`&&Browser.init();var i=!1;return nt.forEach(a=>{i||a.canHandle(t)&&(a.handle(e,t,n,r),i=!0)}),i},it=(e,t,n,r,i,a,o,s,c,l)=>{var u=t?U.resolve(H.join2(e,t)):e,d=ge(`cp ${u}`);function f(n){function f(n){l?.(),s||tt(e,t,n,r,i,c),a?.(),ve(d)}rt(n,u,f,()=>{o?.(),ve(d)})||f(n)}_e(d),typeof n==`string`?et(n,f,o):f(n)},at=e=>{var t={r:0,"r+":2,w:577,"w+":578,a:1089,"a+":1090}[e];if(t===void 0)throw Error(`Unknown file open mode: ${e}`);return t},ot=(e,t)=>{var n=0;return e&&(n|=365),t&&(n|=146),n},st=e=>V(vn(e)),ct={EPERM:63,ENOENT:44,ESRCH:71,EINTR:27,EIO:29,ENXIO:60,E2BIG:1,ENOEXEC:45,EBADF:8,ECHILD:12,EAGAIN:6,EWOULDBLOCK:6,ENOMEM:48,EACCES:2,EFAULT:21,ENOTBLK:105,EBUSY:10,EEXIST:20,EXDEV:75,ENODEV:43,ENOTDIR:54,EISDIR:31,EINVAL:28,ENFILE:41,EMFILE:33,ENOTTY:59,ETXTBSY:74,EFBIG:22,ENOSPC:51,ESPIPE:70,EROFS:69,EMLINK:34,EPIPE:64,EDOM:18,ERANGE:68,ENOMSG:49,EIDRM:24,ECHRNG:106,EL2NSYNC:156,EL3HLT:107,EL3RST:108,ELNRNG:109,EUNATCH:110,ENOCSI:111,EL2HLT:112,EDEADLK:16,ENOLCK:46,EBADE:113,EBADR:114,EXFULL:115,ENOANO:104,EBADRQC:103,EBADSLT:102,EDEADLOCK:16,EBFONT:101,ENOSTR:100,ENODATA:116,ETIME:117,ENOSR:118,ENONET:119,ENOPKG:120,EREMOTE:121,ENOLINK:47,EADV:122,ESRMNT:123,ECOMM:124,EPROTO:65,EMULTIHOP:36,EDOTDOT:125,EBADMSG:9,ENOTUNIQ:126,EBADFD:127,EREMCHG:128,ELIBACC:129,ELIBBAD:130,ELIBSCN:131,ELIBMAX:132,ELIBEXEC:133,ENOSYS:52,ENOTEMPTY:55,ENAMETOOLONG:37,ELOOP:32,EOPNOTSUPP:138,EPFNOSUPPORT:139,ECONNRESET:15,ENOBUFS:42,EAFNOSUPPORT:5,EPROTOTYPE:67,ENOTSOCK:57,ENOPROTOOPT:50,ESHUTDOWN:140,ECONNREFUSED:14,EADDRINUSE:3,ECONNABORTED:13,ENETUNREACH:40,ENETDOWN:38,ETIMEDOUT:73,EHOSTDOWN:142,EHOSTUNREACH:23,EINPROGRESS:26,EALREADY:7,EDESTADDRREQ:17,EMSGSIZE:35,EPROTONOSUPPORT:66,ESOCKTNOSUPPORT:137,EADDRNOTAVAIL:4,ENETRESET:39,EISCONN:30,ENOTCONN:53,ETOOMANYREFS:141,EUSERS:136,EDQUOT:19,ESTALE:72,ENOTSUP:138,ENOMEDIUM:148,EILSEQ:25,EOVERFLOW:61,ECANCELED:11,ENOTRECOVERABLE:56,EOWNERDEAD:62,ESTRPIPE:135},K={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:`/`,initialized:!1,ignorePermissions:!0,ErrnoError:class extends Error{constructor(e){for(var t in super(E?st(e):``),this.name=`ErrnoError`,this.errno=e,ct)if(ct[t]===e){this.code=t;break}}},genericErrors:{},filesystems:null,syncFSRequests:0,readFiles:{},FSStream:class{constructor(){this.shared={}}get object(){return this.node}set object(e){this.node=e}get isRead(){return(this.flags&2097155)!=1}get isWrite(){return!!(this.flags&2097155)}get isAppend(){return this.flags&1024}get flags(){return this.shared.flags}set flags(e){this.shared.flags=e}get position(){return this.shared.position}set position(e){this.shared.position=e}},FSNode:class{constructor(e,t,n,r){e||=this,this.parent=e,this.mount=e.mount,this.mounted=null,this.id=K.nextInode++,this.name=t,this.mode=n,this.node_ops={},this.stream_ops={},this.rdev=r,this.readMode=365,this.writeMode=146}get read(){return(this.mode&this.readMode)===this.readMode}set read(e){e?this.mode|=this.readMode:this.mode&=~this.readMode}get write(){return(this.mode&this.writeMode)===this.writeMode}set write(e){e?this.mode|=this.writeMode:this.mode&=~this.writeMode}get isFolder(){return K.isDir(this.mode)}get isDevice(){return K.isChrdev(this.mode)}},lookupPath(e,t={}){if(e=U.resolve(e),!e)return{path:``,node:null};if(t=Object.assign({follow_mount:!0,recurse_count:0},t),t.recurse_count>8)throw new K.ErrnoError(32);for(var n=e.split(`/`).filter(e=>!!e),r=K.root,i=`/`,a=0;a<n.length;a++){var o=a===n.length-1;if(o&&t.parent)break;if(r=K.lookupNode(r,n[a]),i=H.join2(i,n[a]),K.isMountpoint(r)&&(!o||o&&t.follow_mount)&&(r=r.mounted.root),!o||t.follow)for(var s=0;K.isLink(r.mode);){var c=K.readlink(i);if(i=U.resolve(H.dirname(i),c),r=K.lookupPath(i,{recurse_count:t.recurse_count+1}).node,s++>40)throw new K.ErrnoError(32)}}return{path:i,node:r}},getPath(e){for(var t;;){if(K.isRoot(e)){var n=e.mount.mountpoint;return t?n[n.length-1]===`/`?n+t:`${n}/${t}`:n}t=t?`${e.name}/${t}`:e.name,e=e.parent}},hashName(e,t){for(var n=0,r=0;r<t.length;r++)n=(n<<5)-n+t.charCodeAt(r)|0;return(e+n>>>0)%K.nameTable.length},hashAddNode(e){var t=K.hashName(e.parent.id,e.name);e.name_next=K.nameTable[t],K.nameTable[t]=e},hashRemoveNode(e){var t=K.hashName(e.parent.id,e.name);if(K.nameTable[t]===e)K.nameTable[t]=e.name_next;else for(var n=K.nameTable[t];n;){if(n.name_next===e){n.name_next=e.name_next;break}n=n.name_next}},lookupNode(e,t){var n=K.mayLookup(e);if(n)throw new K.ErrnoError(n);for(var r=K.hashName(e.id,t),i=K.nameTable[r];i;i=i.name_next){var a=i.name;if(i.parent.id===e.id&&a===t)return i}return K.lookup(e,t)},createNode(e,t,n,r){y(typeof e==`object`);var i=new K.FSNode(e,t,n,r);return K.hashAddNode(i),i},destroyNode(e){K.hashRemoveNode(e)},isRoot(e){return e===e.parent},isMountpoint(e){return!!e.mounted},isFile(e){return(e&61440)==32768},isDir(e){return(e&61440)==16384},isLink(e){return(e&61440)==40960},isChrdev(e){return(e&61440)==8192},isBlkdev(e){return(e&61440)==24576},isFIFO(e){return(e&61440)==4096},isSocket(e){return(e&49152)==49152},flagsToPermissionString(e){var t=[`r`,`w`,`rw`][e&3];return e&512&&(t+=`w`),t},nodePermissions(e,t){return K.ignorePermissions?0:t.includes(`r`)&&!(e.mode&292)||t.includes(`w`)&&!(e.mode&146)||t.includes(`x`)&&!(e.mode&73)?2:0},mayLookup(e){return K.isDir(e.mode)?K.nodePermissions(e,`x`)||(e.node_ops.lookup?0:2):54},mayCreate(e,t){try{return K.lookupNode(e,t),20}catch{}return K.nodePermissions(e,`wx`)},mayDelete(e,t,n){var r;try{r=K.lookupNode(e,t)}catch(e){return e.errno}var i=K.nodePermissions(e,`wx`);if(i)return i;if(n){if(!K.isDir(r.mode))return 54;if(K.isRoot(r)||K.getPath(r)===K.cwd())return 10}else if(K.isDir(r.mode))return 31;return 0},mayOpen(e,t){return e?K.isLink(e.mode)?32:K.isDir(e.mode)&&(K.flagsToPermissionString(t)!==`r`||t&512)?31:K.nodePermissions(e,K.flagsToPermissionString(t)):44},MAX_OPEN_FDS:4096,nextfd(){for(var e=0;e<=K.MAX_OPEN_FDS;e++)if(!K.streams[e])return e;throw new K.ErrnoError(33)},getStreamChecked(e){var t=K.getStream(e);if(!t)throw new K.ErrnoError(8);return t},getStream:e=>K.streams[e],createStream(e,t=-1){return y(t>=-1),e=Object.assign(new K.FSStream,e),t==-1&&(t=K.nextfd()),e.fd=t,K.streams[t]=e,e},closeStream(e){K.streams[e]=null},dupStream(e,t=-1){var n=K.createStream(e,t);return n.stream_ops?.dup?.(n),n},chrdev_stream_ops:{open(e){e.stream_ops=K.getDevice(e.node.rdev).stream_ops,e.stream_ops.open?.(e)},llseek(){throw new K.ErrnoError(70)}},major:e=>e>>8,minor:e=>e&255,makedev:(e,t)=>e<<8|t,registerDevice(e,t){K.devices[e]={stream_ops:t}},getDevice:e=>K.devices[e],getMounts(e){for(var t=[],n=[e];n.length;){var r=n.pop();t.push(r),n.push(...r.mounts)}return t},syncfs(e,t){typeof e==`function`&&(t=e,e=!1),K.syncFSRequests++,K.syncFSRequests>1&&h(`warning: ${K.syncFSRequests} FS.syncfs operations in flight at once, probably just doing extra work`);var n=K.getMounts(K.root.mount),r=0;function i(e){return y(K.syncFSRequests>0),K.syncFSRequests--,t(e)}function a(e){if(e)return a.errored?void 0:(a.errored=!0,i(e));++r>=n.length&&i(null)}n.forEach(t=>{if(!t.type.syncfs)return a(null);t.type.syncfs(t,e,a)})},mount(e,t,n){if(typeof e==`string`)throw e;var r=n===`/`,i=!n,a;if(r&&K.root)throw new K.ErrnoError(10);if(!r&&!i){var o=K.lookupPath(n,{follow_mount:!1});if(n=o.path,a=o.node,K.isMountpoint(a))throw new K.ErrnoError(10);if(!K.isDir(a.mode))throw new K.ErrnoError(54)}var s={type:e,opts:t,mountpoint:n,mounts:[]},c=e.mount(s);return c.mount=s,s.root=c,r?K.root=c:a&&(a.mounted=s,a.mount&&a.mount.mounts.push(s)),c},unmount(e){var t=K.lookupPath(e,{follow_mount:!1});if(!K.isMountpoint(t.node))throw new K.ErrnoError(28);var n=t.node,r=n.mounted,i=K.getMounts(r);Object.keys(K.nameTable).forEach(e=>{for(var t=K.nameTable[e];t;){var n=t.name_next;i.includes(t.mount)&&K.destroyNode(t),t=n}}),n.mounted=null;var a=n.mount.mounts.indexOf(r);y(a!==-1),n.mount.mounts.splice(a,1)},lookup(e,t){return e.node_ops.lookup(e,t)},mknod(e,t,n){var r=K.lookupPath(e,{parent:!0}).node,i=H.basename(e);if(!i||i===`.`||i===`..`)throw new K.ErrnoError(28);var a=K.mayCreate(r,i);if(a)throw new K.ErrnoError(a);if(!r.node_ops.mknod)throw new K.ErrnoError(63);return r.node_ops.mknod(r,i,t,n)},create(e,t){return t=t===void 0?438:t,t&=4095,t|=32768,K.mknod(e,t,0)},mkdir(e,t){return t=t===void 0?511:t,t&=1023,t|=16384,K.mknod(e,t,0)},mkdirTree(e,t){for(var n=e.split(`/`),r=``,i=0;i<n.length;++i)if(n[i]){r+=`/`+n[i];try{K.mkdir(r,t)}catch(e){if(e.errno!=20)throw e}}},mkdev(e,t,n){return n===void 0&&(n=t,t=438),t|=8192,K.mknod(e,t,n)},symlink(e,t){if(!U.resolve(e))throw new K.ErrnoError(44);var n=K.lookupPath(t,{parent:!0}).node;if(!n)throw new K.ErrnoError(44);var r=H.basename(t),i=K.mayCreate(n,r);if(i)throw new K.ErrnoError(i);if(!n.node_ops.symlink)throw new K.ErrnoError(63);return n.node_ops.symlink(n,r,e)},rename(e,t){var n=H.dirname(e),r=H.dirname(t),i=H.basename(e),a=H.basename(t),o=K.lookupPath(e,{parent:!0}),s=o.node,c;if(o=K.lookupPath(t,{parent:!0}),c=o.node,!s||!c)throw new K.ErrnoError(44);if(s.mount!==c.mount)throw new K.ErrnoError(75);var l=K.lookupNode(s,i),u=U.relative(e,r);if(u.charAt(0)!==`.`)throw new K.ErrnoError(28);if(u=U.relative(t,n),u.charAt(0)!==`.`)throw new K.ErrnoError(55);var d;try{d=K.lookupNode(c,a)}catch{}if(l!==d){var f=K.isDir(l.mode),p=K.mayDelete(s,i,f);if(p||(p=d?K.mayDelete(c,a,f):K.mayCreate(c,a),p))throw new K.ErrnoError(p);if(!s.node_ops.rename)throw new K.ErrnoError(63);if(K.isMountpoint(l)||d&&K.isMountpoint(d))throw new K.ErrnoError(10);if(c!==s&&(p=K.nodePermissions(s,`w`),p))throw new K.ErrnoError(p);K.hashRemoveNode(l);try{s.node_ops.rename(l,c,a),l.parent=c}catch(e){throw e}finally{K.hashAddNode(l)}}},rmdir(e){var t=K.lookupPath(e,{parent:!0}).node,n=H.basename(e),r=K.lookupNode(t,n),i=K.mayDelete(t,n,!0);if(i)throw new K.ErrnoError(i);if(!t.node_ops.rmdir)throw new K.ErrnoError(63);if(K.isMountpoint(r))throw new K.ErrnoError(10);t.node_ops.rmdir(t,n),K.destroyNode(r)},readdir(e){var t=K.lookupPath(e,{follow:!0}).node;if(!t.node_ops.readdir)throw new K.ErrnoError(54);return t.node_ops.readdir(t)},unlink(e){var t=K.lookupPath(e,{parent:!0}).node;if(!t)throw new K.ErrnoError(44);var n=H.basename(e),r=K.lookupNode(t,n),i=K.mayDelete(t,n,!1);if(i)throw new K.ErrnoError(i);if(!t.node_ops.unlink)throw new K.ErrnoError(63);if(K.isMountpoint(r))throw new K.ErrnoError(10);t.node_ops.unlink(t,n),K.destroyNode(r)},readlink(e){var t=K.lookupPath(e).node;if(!t)throw new K.ErrnoError(44);if(!t.node_ops.readlink)throw new K.ErrnoError(28);return U.resolve(K.getPath(t.parent),t.node_ops.readlink(t))},stat(e,t){var n=K.lookupPath(e,{follow:!t}).node;if(!n)throw new K.ErrnoError(44);if(!n.node_ops.getattr)throw new K.ErrnoError(63);return n.node_ops.getattr(n)},lstat(e){return K.stat(e,!0)},chmod(e,t,n){var r=typeof e==`string`?K.lookupPath(e,{follow:!n}).node:e;if(!r.node_ops.setattr)throw new K.ErrnoError(63);r.node_ops.setattr(r,{mode:t&4095|r.mode&-4096,timestamp:Date.now()})},lchmod(e,t){K.chmod(e,t,!0)},fchmod(e,t){var n=K.getStreamChecked(e);K.chmod(n.node,t)},chown(e,t,n,r){var i=typeof e==`string`?K.lookupPath(e,{follow:!r}).node:e;if(!i.node_ops.setattr)throw new K.ErrnoError(63);i.node_ops.setattr(i,{timestamp:Date.now()})},lchown(e,t,n){K.chown(e,t,n,!0)},fchown(e,t,n){var r=K.getStreamChecked(e);K.chown(r.node,t,n)},truncate(e,t){if(t<0)throw new K.ErrnoError(28);var n=typeof e==`string`?K.lookupPath(e,{follow:!0}).node:e;if(!n.node_ops.setattr)throw new K.ErrnoError(63);if(K.isDir(n.mode))throw new K.ErrnoError(31);if(!K.isFile(n.mode))throw new K.ErrnoError(28);var r=K.nodePermissions(n,`w`);if(r)throw new K.ErrnoError(r);n.node_ops.setattr(n,{size:t,timestamp:Date.now()})},ftruncate(e,t){var n=K.getStreamChecked(e);if(!(n.flags&2097155))throw new K.ErrnoError(28);K.truncate(n.node,t)},utime(e,t,n){var r=K.lookupPath(e,{follow:!0}).node;r.node_ops.setattr(r,{timestamp:Math.max(t,n)})},open(e,t,n){if(e===``)throw new K.ErrnoError(44);t=typeof t==`string`?at(t):t,t&64?(n=n===void 0?438:n,n=n&4095|32768):n=0;var i;if(typeof e==`object`)i=e;else{e=H.normalize(e);try{i=K.lookupPath(e,{follow:!(t&131072)}).node}catch{}}var a=!1;if(t&64){if(i){if(t&128)throw new K.ErrnoError(20)}else i=K.mknod(e,n,0),a=!0}if(!i)throw new K.ErrnoError(44);if(K.isChrdev(i.mode)&&(t&=-513),t&65536&&!K.isDir(i.mode))throw new K.ErrnoError(54);if(!a){var o=K.mayOpen(i,t);if(o)throw new K.ErrnoError(o)}t&512&&!a&&K.truncate(i,0),t&=-131713;var s=K.createStream({node:i,path:K.getPath(i),flags:t,seekable:!0,position:0,stream_ops:i.stream_ops,ungotten:[],error:!1});return s.stream_ops.open&&s.stream_ops.open(s),r.logReadFiles&&!(t&1)&&(e in K.readFiles||(K.readFiles[e]=1)),s},close(e){if(K.isClosed(e))throw new K.ErrnoError(8);e.getdents&&=null;try{e.stream_ops.close&&e.stream_ops.close(e)}catch(e){throw e}finally{K.closeStream(e.fd)}e.fd=null},isClosed(e){return e.fd===null},llseek(e,t,n){if(K.isClosed(e))throw new K.ErrnoError(8);if(!e.seekable||!e.stream_ops.llseek)throw new K.ErrnoError(70);if(n!=0&&n!=1&&n!=2)throw new K.ErrnoError(28);return e.position=e.stream_ops.llseek(e,t,n),e.ungotten=[],e.position},read(e,t,n,r,i){if(y(n>=0),r<0||i<0)throw new K.ErrnoError(28);if(K.isClosed(e)||(e.flags&2097155)==1)throw new K.ErrnoError(8);if(K.isDir(e.node.mode))throw new K.ErrnoError(31);if(!e.stream_ops.read)throw new K.ErrnoError(28);var a=i!==void 0;if(!a)i=e.position;else if(!e.seekable)throw new K.ErrnoError(70);var o=e.stream_ops.read(e,t,n,r,i);return a||(e.position+=o),o},write(e,t,n,r,i,a){if(y(n>=0),r<0||i<0)throw new K.ErrnoError(28);if(K.isClosed(e)||!(e.flags&2097155))throw new K.ErrnoError(8);if(K.isDir(e.node.mode))throw new K.ErrnoError(31);if(!e.stream_ops.write)throw new K.ErrnoError(28);e.seekable&&e.flags&1024&&K.llseek(e,0,2);var o=i!==void 0;if(!o)i=e.position;else if(!e.seekable)throw new K.ErrnoError(70);var s=e.stream_ops.write(e,t,n,r,i,a);return o||(e.position+=s),s},allocate(e,t,n){if(K.isClosed(e))throw new K.ErrnoError(8);if(t<0||n<=0)throw new K.ErrnoError(28);if(!(e.flags&2097155))throw new K.ErrnoError(8);if(!K.isFile(e.node.mode)&&!K.isDir(e.node.mode))throw new K.ErrnoError(43);if(!e.stream_ops.allocate)throw new K.ErrnoError(138);e.stream_ops.allocate(e,t,n)},mmap(e,t,n,r,i){if(r&2&&!(i&2)&&(e.flags&2097155)!=2||(e.flags&2097155)==1)throw new K.ErrnoError(2);if(!e.stream_ops.mmap)throw new K.ErrnoError(43);if(!t)throw new K.ErrnoError(28);return e.stream_ops.mmap(e,t,n,r,i)},msync(e,t,n,r,i){return y(n>=0),e.stream_ops.msync?e.stream_ops.msync(e,t,n,r,i):0},ioctl(e,t,n){if(!e.stream_ops.ioctl)throw new K.ErrnoError(59);return e.stream_ops.ioctl(e,t,n)},readFile(e,t={}){if(t.flags=t.flags||0,t.encoding=t.encoding||`binary`,t.encoding!==`utf8`&&t.encoding!==`binary`)throw Error(`Invalid encoding type "${t.encoding}"`);var n,r=K.open(e,t.flags),i=K.stat(e).size,a=new Uint8Array(i);return K.read(r,a,0,i,0),t.encoding===`utf8`?n=B(a):t.encoding===`binary`&&(n=a),K.close(r),n},writeFile(e,t,n={}){n.flags=n.flags||577;var r=K.open(e,n.flags,n.mode);if(typeof t==`string`){var i=new Uint8Array(qe(t)+1),a=Je(t,i,0,i.length);K.write(r,i,0,a,void 0,n.canOwn)}else if(ArrayBuffer.isView(t))K.write(r,t,0,t.byteLength,void 0,n.canOwn);else throw Error(`Unsupported data type`);K.close(r)},cwd:()=>K.currentPath,chdir(e){var t=K.lookupPath(e,{follow:!0});if(t.node===null)throw new K.ErrnoError(44);if(!K.isDir(t.node.mode))throw new K.ErrnoError(54);var n=K.nodePermissions(t.node,`x`);if(n)throw new K.ErrnoError(n);K.currentPath=t.path},createDefaultDirectories(){K.mkdir(`/tmp`),K.mkdir(`/home`),K.mkdir(`/home/web_user`)},createDefaultDevices(){K.mkdir(`/dev`),K.registerDevice(K.makedev(1,3),{read:()=>0,write:(e,t,n,r,i)=>r}),K.mkdev(`/dev/null`,K.makedev(1,3)),W.register(K.makedev(5,0),W.default_tty_ops),W.register(K.makedev(6,0),W.default_tty1_ops),K.mkdev(`/dev/tty`,K.makedev(5,0)),K.mkdev(`/dev/tty1`,K.makedev(6,0));var e=/* @__PURE__ */ new Uint8Array(1024),t=0,n=()=>(t===0&&(t=Ge(e).byteLength),e[--t]);K.createDevice(`/dev`,`random`,n),K.createDevice(`/dev`,`urandom`,n),K.mkdir(`/dev/shm`),K.mkdir(`/dev/shm/tmp`)},createSpecialDirectories(){K.mkdir(`/proc`);var e=K.mkdir(`/proc/self`);K.mkdir(`/proc/self/fd`),K.mount({mount(){var t=K.createNode(e,`fd`,16895,73);return t.node_ops={lookup(e,t){var n=+t,r=K.getStreamChecked(n),i={parent:null,mount:{mountpoint:`fake`},node_ops:{readlink:()=>r.path}};return i.parent=i,i}},t}},{},`/proc/self/fd`)},createStandardStreams(e,t,n){e?K.createDevice(`/dev`,`stdin`,e):K.symlink(`/dev/tty`,`/dev/stdin`),t?K.createDevice(`/dev`,`stdout`,null,t):K.symlink(`/dev/tty`,`/dev/stdout`),n?K.createDevice(`/dev`,`stderr`,null,n):K.symlink(`/dev/tty1`,`/dev/stderr`);var r=K.open(`/dev/stdin`,0),i=K.open(`/dev/stdout`,1),a=K.open(`/dev/stderr`,1);y(r.fd===0,`invalid handle for stdin (${r.fd})`),y(i.fd===1,`invalid handle for stdout (${i.fd})`),y(a.fd===2,`invalid handle for stderr (${a.fd})`)},staticInit(){[44].forEach(e=>{K.genericErrors[e]=new K.ErrnoError(e),K.genericErrors[e].stack=`<generic error, no stack>`}),K.nameTable=Array(4096),K.mount(G,{},`/`),K.createDefaultDirectories(),K.createDefaultDevices(),K.createSpecialDirectories(),K.filesystems={MEMFS:G}},init(e,t,n){y(!K.initialized,`FS.init was previously called. If you want to initialize later with custom parameters, remove any earlier calls (note that one is automatically added to the generated code)`),K.initialized=!0,e??=r.stdin,t??=r.stdout,n??=r.stderr,K.createStandardStreams(e,t,n)},quit(){K.initialized=!1,yn(0);for(var e=0;e<K.streams.length;e++){var t=K.streams[e];t&&K.close(t)}},findObject(e,t){var n=K.analyzePath(e,t);return n.exists?n.object:null},analyzePath(e,t){try{var n=K.lookupPath(e,{follow:!t});e=n.path}catch{}var r={isRoot:!1,exists:!1,error:0,name:null,path:null,object:null,parentExists:!1,parentPath:null,parentObject:null};try{var n=K.lookupPath(e,{parent:!0});r.parentExists=!0,r.parentPath=n.path,r.parentObject=n.node,r.name=H.basename(e),n=K.lookupPath(e,{follow:!t}),r.exists=!0,r.path=n.path,r.object=n.node,r.name=n.node.name,r.isRoot=n.path===`/`}catch(e){r.error=e.errno}return r},createPath(e,t,n,r){e=typeof e==`string`?e:K.getPath(e);for(var i=t.split(`/`).reverse();i.length;){var a=i.pop();if(a){var o=H.join2(e,a);try{K.mkdir(o)}catch{}e=o}}return o},createFile(e,t,n,r,i){var a=H.join2(typeof e==`string`?e:K.getPath(e),t),o=ot(r,i);return K.create(a,o)},createDataFile(e,t,n,r,i,a){var o=t;e&&(e=typeof e==`string`?e:K.getPath(e),o=t?H.join2(e,t):e);var s=ot(r,i),c=K.create(o,s);if(n){if(typeof n==`string`){for(var l=Array(n.length),u=0,d=n.length;u<d;++u)l[u]=n.charCodeAt(u);n=l}K.chmod(c,s|146);var f=K.open(c,577);K.write(f,n,0,n.length,0,a),K.close(f),K.chmod(c,s)}},createDevice(e,t,n,r){var i=H.join2(typeof e==`string`?e:K.getPath(e),t),a=ot(!!n,!!r);K.createDevice.major??=64;var o=K.makedev(K.createDevice.major++,0);return K.registerDevice(o,{open(e){e.seekable=!1},close(e){r?.buffer?.length&&r(10)},read(e,t,r,i,a){for(var o=0,s=0;s<i;s++){var c;try{c=n()}catch{throw new K.ErrnoError(29)}if(c===void 0&&o===0)throw new K.ErrnoError(6);if(c==null)break;o++,t[r+s]=c}return o&&(e.node.timestamp=Date.now()),o},write(e,t,n,i,a){for(var o=0;o<i;o++)try{r(t[n+o])}catch{throw new K.ErrnoError(29)}return i&&(e.node.timestamp=Date.now()),o}}),K.mkdev(i,a,o)},forceLoadFile(e){if(e.isDevice||e.isFolder||e.link||e.contents)return!0;if(typeof XMLHttpRequest<`u`)throw Error(`Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread.`);try{e.contents=m(e.url),e.usedBytes=e.contents.length}catch{throw new K.ErrnoError(29)}},createLazyFile(e,t,n,r,i){class a{constructor(){this.lengthKnown=!1,this.chunks=[]}get(e){if(!(e>this.length-1||e<0)){var t=e%this.chunkSize,n=e/this.chunkSize|0;return this.getter(n)[t]}}setDataGetter(e){this.getter=e}cacheLength(){var e=new XMLHttpRequest;if(e.open(`HEAD`,n,!1),e.send(null),!(e.status>=200&&e.status<300||e.status===304))throw Error(`Couldn't load `+n+`. Status: `+e.status);var t=Number(e.getResponseHeader(`Content-length`)),r,i=(r=e.getResponseHeader(`Accept-Ranges`))&&r===`bytes`,a=(r=e.getResponseHeader(`Content-Encoding`))&&r===`gzip`,o=1048576;i||(o=t);var s=(e,r)=>{if(e>r)throw Error(`invalid range (`+e+`, `+r+`) or no bytes requested!`);if(r>t-1)throw Error(`only `+t+` bytes available! programmer error!`);var i=new XMLHttpRequest;if(i.open(`GET`,n,!1),t!==o&&i.setRequestHeader(`Range`,`bytes=`+e+`-`+r),i.responseType=`arraybuffer`,i.overrideMimeType&&i.overrideMimeType(`text/plain; charset=x-user-defined`),i.send(null),!(i.status>=200&&i.status<300||i.status===304))throw Error(`Couldn't load `+n+`. Status: `+i.status);return i.response===void 0?Ye(i.responseText||``):new Uint8Array(i.response||[])},c=this;c.setDataGetter(e=>{var n=e*o,r=(e+1)*o-1;if(r=Math.min(r,t-1),c.chunks[e]===void 0&&(c.chunks[e]=s(n,r)),c.chunks[e]===void 0)throw Error(`doXHR failed!`);return c.chunks[e]}),(a||!t)&&(o=t=1,t=this.getter(0).length,o=t,ne(`LazyFiles on gzip forces download of the whole file when length is accessed`)),this._length=t,this._chunkSize=o,this.lengthKnown=!0}get length(){return this.lengthKnown||this.cacheLength(),this._length}get chunkSize(){return this.lengthKnown||this.cacheLength(),this._chunkSize}}if(typeof XMLHttpRequest<`u`){if(!c)throw`Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc`;var o={isDevice:!1,contents:new a}}else var o={isDevice:!1,url:n};var s=K.createFile(e,t,o,r,i);o.contents?s.contents=o.contents:o.url&&(s.contents=null,s.url=o.url),Object.defineProperties(s,{usedBytes:{get:function(){return this.contents.length}}});var l={};Object.keys(s.stream_ops).forEach(e=>{var t=s.stream_ops[e];l[e]=(...e)=>(K.forceLoadFile(s),t(...e))});function u(e,t,n,r,i){var a=e.node.contents;if(i>=a.length)return 0;var o=Math.min(a.length-i,r);if(y(o>=0),a.slice)for(var s=0;s<o;s++)t[n+s]=a[i+s];else for(var s=0;s<o;s++)t[n+s]=a.get(i+s);return o}return l.read=(e,t,n,r,i)=>(K.forceLoadFile(s),u(e,t,n,r,i)),l.mmap=(e,t,n,r,i)=>{K.forceLoadFile(s);var a=$e(t);if(!a)throw new K.ErrnoError(48);return u(e,b,a,t,n),{ptr:a,allocated:!0}},s.stream_ops=l,s},absolutePath(){M(`FS.absolutePath has been removed; use PATH_FS.resolve instead`)},createFolder(){M(`FS.createFolder has been removed; use FS.mkdir instead`)},createLink(){M(`FS.createLink has been removed; use FS.symlink instead`)},joinPath(){M(`FS.joinPath has been removed; use PATH.join instead`)},mmapAlloc(){M(`FS.mmapAlloc has been replaced by the top level function mmapAlloc`)},standardizePath(){M(`FS.standardizePath has been removed; use PATH.normalize instead`)}},q={DEFAULT_POLLMASK:5,calculateAt(e,t,n){if(H.isAbs(t))return t;var r=e===-100?K.cwd():q.getStreamFromFD(e).path;if(t.length==0){if(!n)throw new K.ErrnoError(44);return r}return H.join2(r,t)},doStat(e,t,n){var r=e(t);C[n>>2]=r.dev,C[n+4>>2]=r.mode,w[n+8>>2]=r.nlink,C[n+12>>2]=r.uid,C[n+16>>2]=r.gid,C[n+20>>2]=r.rdev,F=[r.size>>>0,(P=r.size,+Math.abs(P)>=1?P>0?Math.floor(P/4294967296)>>>0:~~+Math.ceil((P-+(~~P>>>0))/4294967296)>>>0:0)],C[n+24>>2]=F[0],C[n+28>>2]=F[1],C[n+32>>2]=4096,C[n+36>>2]=r.blocks;var i=r.atime.getTime(),a=r.mtime.getTime(),o=r.ctime.getTime();return F=[Math.floor(i/1e3)>>>0,(P=Math.floor(i/1e3),+Math.abs(P)>=1?P>0?Math.floor(P/4294967296)>>>0:~~+Math.ceil((P-+(~~P>>>0))/4294967296)>>>0:0)],C[n+40>>2]=F[0],C[n+44>>2]=F[1],w[n+48>>2]=i%1e3*1e3*1e3,F=[Math.floor(a/1e3)>>>0,(P=Math.floor(a/1e3),+Math.abs(P)>=1?P>0?Math.floor(P/4294967296)>>>0:~~+Math.ceil((P-+(~~P>>>0))/4294967296)>>>0:0)],C[n+56>>2]=F[0],C[n+60>>2]=F[1],w[n+64>>2]=a%1e3*1e3*1e3,F=[Math.floor(o/1e3)>>>0,(P=Math.floor(o/1e3),+Math.abs(P)>=1?P>0?Math.floor(P/4294967296)>>>0:~~+Math.ceil((P-+(~~P>>>0))/4294967296)>>>0:0)],C[n+72>>2]=F[0],C[n+76>>2]=F[1],w[n+80>>2]=o%1e3*1e3*1e3,F=[r.ino>>>0,(P=r.ino,+Math.abs(P)>=1?P>0?Math.floor(P/4294967296)>>>0:~~+Math.ceil((P-+(~~P>>>0))/4294967296)>>>0:0)],C[n+88>>2]=F[0],C[n+92>>2]=F[1],0},doMsync(e,t,n,r,i){if(!K.isFile(t.node.mode))throw new K.ErrnoError(43);if(r&2)return 0;var a=x.slice(e,e+n);K.msync(t,a,i,n,r)},getStreamFromFD(e){return K.getStreamChecked(e)},varargs:void 0,getStr(e){return V(e)}};function lt(e,t,n){q.varargs=n;try{var r=q.getStreamFromFD(e);switch(t){case 0:var i=He();if(i<0)return-28;for(;K.streams[i];)i++;return K.dupStream(r,i).fd;case 1:case 2:return 0;case 3:return r.flags;case 4:var i=He();return r.flags|=i,0;case 12:var i=Ue(),a=0;return S[i+a>>1]=2,0;case 13:case 14:return 0}return-28}catch(e){if(K===void 0||e.name!==`ErrnoError`)throw e;return-e.errno}}function ut(e,t){try{var n=q.getStreamFromFD(e);return q.doStat(K.stat,n.path,t)}catch(e){if(K===void 0||e.name!==`ErrnoError`)throw e;return-e.errno}}var dt=(e,t)=>(y(e==e>>>0||e==(e|0)),y(t===(t|0)),t+2097152>>>0<4194305-!!e?(e>>>0)+t*4294967296:NaN);function ft(e,t,n){var r=dt(t,n);try{return isNaN(r)?61:(K.ftruncate(e,r),0)}catch(e){if(K===void 0||e.name!==`ErrnoError`)throw e;return-e.errno}}var J=(e,t,n)=>(y(typeof n==`number`,`stringToUTF8(str, outPtr, maxBytesToWrite) is missing the third parameter that specifies the length of the output buffer!`),Je(e,x,t,n));function pt(e,t,n){try{var r=q.getStreamFromFD(e);r.getdents||=K.readdir(r.path);for(var i=280,a=0,o=K.llseek(r,0,1),s=Math.floor(o/i);s<r.getdents.length&&a+i<=n;){var c,l,u=r.getdents[s];if(u===`.`)c=r.node.id,l=4;else if(u===`..`)c=K.lookupPath(r.path,{parent:!0}).node.id,l=4;else{var d=K.lookupNode(r.node,u);c=d.id,l=K.isChrdev(d.mode)?2:K.isDir(d.mode)?4:K.isLink(d.mode)?10:8}y(c),F=[c>>>0,(P=c,+Math.abs(P)>=1?P>0?Math.floor(P/4294967296)>>>0:~~+Math.ceil((P-+(~~P>>>0))/4294967296)>>>0:0)],C[t+a>>2]=F[0],C[t+a+4>>2]=F[1],F=[(s+1)*i>>>0,(P=(s+1)*i,+Math.abs(P)>=1?P>0?Math.floor(P/4294967296)>>>0:~~+Math.ceil((P-+(~~P>>>0))/4294967296)>>>0:0)],C[t+a+8>>2]=F[0],C[t+a+12>>2]=F[1],S[t+a+16>>1]=280,b[t+a+18]=l,J(u,t+a+19,256),a+=i,s+=1}return K.llseek(r,s*i,0),a}catch(e){if(K===void 0||e.name!==`ErrnoError`)throw e;return-e.errno}}function mt(e,t,n){q.varargs=n;try{var r=q.getStreamFromFD(e);switch(t){case 21509:return r.tty?0:-59;case 21505:if(!r.tty)return-59;if(r.tty.ops.ioctl_tcgets){var i=r.tty.ops.ioctl_tcgets(r),a=Ue();C[a>>2]=i.c_iflag||0,C[a+4>>2]=i.c_oflag||0,C[a+8>>2]=i.c_cflag||0,C[a+12>>2]=i.c_lflag||0;for(var o=0;o<32;o++)b[a+o+17]=i.c_cc[o]||0;return 0}return 0;case 21510:case 21511:case 21512:return r.tty?0:-59;case 21506:case 21507:case 21508:if(!r.tty)return-59;if(r.tty.ops.ioctl_tcsets){for(var a=Ue(),s=C[a>>2],c=C[a+4>>2],l=C[a+8>>2],u=C[a+12>>2],d=[],o=0;o<32;o++)d.push(b[a+o+17]);return r.tty.ops.ioctl_tcsets(r.tty,t,{c_iflag:s,c_oflag:c,c_cflag:l,c_lflag:u,c_cc:d})}return 0;case 21519:if(!r.tty)return-59;var a=Ue();return C[a>>2]=0,0;case 21520:return r.tty?-28:-59;case 21531:var a=Ue();return K.ioctl(r,t,a);case 21523:if(!r.tty)return-59;if(r.tty.ops.ioctl_tiocgwinsz){var f=r.tty.ops.ioctl_tiocgwinsz(r.tty),a=Ue();S[a>>1]=f[0],S[a+2>>1]=f[1]}return 0;case 21524:return r.tty?0:-59;case 21515:return r.tty?0:-59;default:return-28}}catch(e){if(K===void 0||e.name!==`ErrnoError`)throw e;return-e.errno}}function ht(e,t){try{return e=q.getStr(e),q.doStat(K.lstat,e,t)}catch(e){if(K===void 0||e.name!==`ErrnoError`)throw e;return-e.errno}}function gt(e,t,n,r){try{t=q.getStr(t);var i=r&256,a=r&4096;return r&=-6401,y(!r,`unknown flags in __syscall_newfstatat: ${r}`),t=q.calculateAt(e,t,a),q.doStat(i?K.lstat:K.stat,t,n)}catch(e){if(K===void 0||e.name!==`ErrnoError`)throw e;return-e.errno}}function _t(e,t,n,r){q.varargs=r;try{t=q.getStr(t),t=q.calculateAt(e,t);var i=r?He():0;return K.open(t,n,i).fd}catch(e){if(K===void 0||e.name!==`ErrnoError`)throw e;return-e.errno}}function vt(e){try{return e=q.getStr(e),K.rmdir(e),0}catch(e){if(K===void 0||e.name!==`ErrnoError`)throw e;return-e.errno}}function yt(e,t){try{return e=q.getStr(e),q.doStat(K.stat,e,t)}catch(e){if(K===void 0||e.name!==`ErrnoError`)throw e;return-e.errno}}function bt(e,t,n){try{return t=q.getStr(t),t=q.calculateAt(e,t),n===0?K.unlink(t):n===512?K.rmdir(t):M(`Invalid flags passed to unlinkat`),0}catch(e){if(K===void 0||e.name!==`ErrnoError`)throw e;return-e.errno}}var xt=()=>{M(`native code called abort()`)},St=(e,t,n)=>x.copyWithin(e,t,t+n),Ct=()=>{throw 1/0};function wt(e,t,n){var r=dt(e,t),i=/* @__PURE__ */ new Date(r*1e3);C[n>>2]=i.getUTCSeconds(),C[n+4>>2]=i.getUTCMinutes(),C[n+8>>2]=i.getUTCHours(),C[n+12>>2]=i.getUTCDate(),C[n+16>>2]=i.getUTCMonth(),C[n+20>>2]=i.getUTCFullYear()-1900,C[n+24>>2]=i.getUTCDay();var a=Date.UTC(i.getUTCFullYear(),0,1,0,0,0,0),o=(i.getTime()-a)/864e5|0;C[n+28>>2]=o}var Tt=e=>e%4==0&&(e%100!=0||e%400==0),Et=[0,31,60,91,121,152,182,213,244,274,305,335],Dt=[0,31,59,90,120,151,181,212,243,273,304,334],Ot=e=>(Tt(e.getFullYear())?Et:Dt)[e.getMonth()]+e.getDate()-1;function kt(e,t,n){var r=dt(e,t),i=/* @__PURE__ */ new Date(r*1e3);C[n>>2]=i.getSeconds(),C[n+4>>2]=i.getMinutes(),C[n+8>>2]=i.getHours(),C[n+12>>2]=i.getDate(),C[n+16>>2]=i.getMonth(),C[n+20>>2]=i.getFullYear()-1900,C[n+24>>2]=i.getDay();var a=Ot(i)|0;C[n+28>>2]=a,C[n+36>>2]=-(i.getTimezoneOffset()*60);var o=new Date(i.getFullYear(),0,1),s=new Date(i.getFullYear(),6,1).getTimezoneOffset(),c=o.getTimezoneOffset(),l=(s!=c&&i.getTimezoneOffset()==Math.min(c,s))|0;C[n+32>>2]=l}var At=(e,t,n,r)=>{var i=(/* @__PURE__ */ new Date()).getFullYear(),a=new Date(i,0,1),o=new Date(i,6,1),s=a.getTimezoneOffset(),c=o.getTimezoneOffset(),l=Math.max(s,c);w[e>>2]=l*60,C[t>>2]=Number(s!=c);var u=e=>{var t=e>=0?`-`:`+`,n=Math.abs(e);return`UTC${t}${String(Math.floor(n/60)).padStart(2,`0`)}${String(n%60).padStart(2,`0`)}`},d=u(s),f=u(c);y(d),y(f),y(qe(d)<=16,`timezone name truncated to fit in TZNAME_MAX (${d})`),y(qe(f)<=16,`timezone name truncated to fit in TZNAME_MAX (${f})`),c<s?(J(d,n,17),J(f,r,17)):(J(d,r,17),J(f,n,17))},jt=()=>Date.now(),Mt=()=>2147483648,Nt=e=>{var t=_.buffer,n=(e-t.byteLength+65535)/65536|0;try{return _.grow(n),T(),1}catch(n){h(`growMemory: Attempted to grow heap from ${t.byteLength} bytes to ${e} bytes, but got error: ${n}`)}},Pt=e=>{var t=x.length;e>>>=0,y(e>t);var n=Mt();if(e>n)return h(`Cannot enlarge memory, requested ${e} bytes, but the limit is ${n} bytes!`),!1;for(var r=1;r<=4;r*=2){var i=t*(1+.2/r);i=Math.min(i,e+100663296);var a=Math.min(n,Qe(Math.max(e,i),65536));if(Nt(a))return!0}return h(`Failed to grow the heap from ${t} bytes to ${a} bytes, not enough memory!`),!1},Ft={},It=()=>f||`./this.program`,Lt=()=>{if(!Lt.strings){var e={USER:`web_user`,LOGNAME:`web_user`,PATH:`/`,PWD:`/`,HOME:`/home/web_user`,LANG:(typeof navigator==`object`&&navigator.languages&&navigator.languages[0]||`C`).replace(`-`,`_`)+`.UTF-8`,_:It()};for(var t in Ft)Ft[t]===void 0?delete e[t]:e[t]=Ft[t];var n=[];for(var t in e)n.push(`${t}=${e[t]}`);Lt.strings=n}return Lt.strings},Rt=(e,t)=>{for(var n=0;n<e.length;++n)y(e.charCodeAt(n)===(e.charCodeAt(n)&255)),b[t++]=e.charCodeAt(n);b[t]=0},zt=(e,t)=>{var n=0;return Lt().forEach((r,i)=>{var a=t+n;w[e+i*4>>2]=a,Rt(r,a),n+=r.length+1}),0},Bt=(e,t)=>{var n=Lt();w[e>>2]=n.length;var r=0;return n.forEach(e=>r+=e.length+1),w[t>>2]=r,0};function Vt(e){try{var t=q.getStreamFromFD(e);return K.close(t),0}catch(e){if(K===void 0||e.name!==`ErrnoError`)throw e;return e.errno}}var Ht=(e,t,n,r)=>{for(var i=0,a=0;a<n;a++){var o=w[t>>2],s=w[t+4>>2];t+=8;var c=K.read(e,b,o,s,r);if(c<0)return-1;if(i+=c,c<s)break}return i};function Ut(e,t,n,r){try{var i=Ht(q.getStreamFromFD(e),t,n);return w[r>>2]=i,0}catch(e){if(K===void 0||e.name!==`ErrnoError`)throw e;return e.errno}}function Wt(e,t,n,r,i){var a=dt(t,n);try{if(isNaN(a))return 61;var o=q.getStreamFromFD(e);return K.llseek(o,a,r),F=[o.position>>>0,(P=o.position,+Math.abs(P)>=1?P>0?Math.floor(P/4294967296)>>>0:~~+Math.ceil((P-+(~~P>>>0))/4294967296)>>>0:0)],C[i>>2]=F[0],C[i+4>>2]=F[1],o.getdents&&a===0&&r===0&&(o.getdents=null),0}catch(e){if(K===void 0||e.name!==`ErrnoError`)throw e;return e.errno}}function Gt(e){try{var t=q.getStreamFromFD(e);return t.stream_ops?.fsync?t.stream_ops.fsync(t):0}catch(e){if(K===void 0||e.name!==`ErrnoError`)throw e;return e.errno}}var Kt=(e,t,n,r)=>{for(var i=0,a=0;a<n;a++){var o=w[t>>2],s=w[t+4>>2];t+=8;var c=K.write(e,b,o,s,r);if(c<0)return-1;if(i+=c,c<s)break}return i};function qt(e,t,n,r){try{var i=Kt(q.getStreamFromFD(e),t,n);return w[r>>2]=i,0}catch(e){if(K===void 0||e.name!==`ErrnoError`)throw e;return e.errno}}var Jt=[],Y,X=e=>{var t=Jt[e];return t||(e>=Jt.length&&(Jt.length=e+1),Jt[e]=t=Y.get(e)),y(Y.get(e)==t,`JavaScript-side Wasm function table mirror is out of date!`),t},Yt=typeof TextDecoder<`u`?new TextDecoder(`utf-16le`):void 0,Xt=(e,t)=>{y(e%2==0,`Pointer passed to UTF16ToString must be aligned to two bytes!`);for(var n=e,r=n>>1,i=r+t/2;!(r>=i)&&re[r];)++r;if(n=r<<1,n-e>32&&Yt)return Yt.decode(x.subarray(e,n));for(var a=``,o=0;!(o>=t/2);++o){var s=S[e+o*2>>1];if(s==0)break;a+=String.fromCharCode(s)}return a},Zt=(e,t)=>{y(e<16384),e<128?t.push(e):t.push(e%128|128,e>>7)},Qt=e=>{y(!e.includes(`j`),`i64 not permitted in function signatures when WASM_BIGINT is disabled`);for(var t={i:`i32`,j:`i64`,f:`f32`,d:`f64`,e:`externref`,p:`i32`},n={parameters:[],results:e[0]==`v`?[]:[t[e[0]]]},r=1;r<e.length;++r)y(e[r]in t,`invalid signature char: `+e[r]),n.parameters.push(t[e[r]]);return n},$t=(e,t)=>{var n=e.slice(0,1),r=e.slice(1),i={i:127,p:127,j:126,f:125,d:124,e:111};t.push(96),Zt(r.length,t);for(var a=0;a<r.length;++a)y(r[a]in i,`invalid signature char: `+r[a]),t.push(i[r[a]]);n==`v`?t.push(0):t.push(1,i[n])},en=(e,t)=>{if(y(!t.includes(`j`),`i64 not permitted in function signatures when WASM_BIGINT is disabled`),typeof WebAssembly.Function==`function`)return new WebAssembly.Function(Qt(t),e);var n=[1];$t(t,n);var r=[0,97,115,109,1,0,0,0,1];Zt(n.length,r),r.push(...n),r.push(2,7,1,1,101,1,102,0,0,7,5,1,1,102,0,0);var i=new WebAssembly.Module(new Uint8Array(r));return new WebAssembly.Instance(i,{e:{f:e}}).exports.f},tn=(e,t)=>{if(Z)for(var n=e;n<e+t;n++){var r=X(n);r&&Z.set(r,n)}},Z,nn=e=>(Z||(Z=/* @__PURE__ */ new WeakMap,tn(0,Y.length)),Z.get(e)||0),rn=[],an=()=>{if(rn.length)return rn.pop();try{Y.grow(1)}catch(e){throw e instanceof RangeError?`Unable to grow wasm table. Set ALLOW_TABLE_GROWTH.`:e}return Y.length-1},on=(e,t)=>{Y.set(e,t),Jt[e]=Y.get(e)},sn=(e,t)=>{y(e!==void 0);var n=nn(e);if(n)return n;var r=an();try{on(r,e)}catch(n){if(!(n instanceof TypeError))throw n;y(t!==void 0,`Missing signature argument to addFunction: `+e),on(r,en(e,t))}return Z.set(e,r),r},cn=e=>{var t=r[`_`+e];return y(t,`Cannot call unknown function `+e+`, make sure it is exported`),t},ln=(e,t)=>{y(e.length>=0,`writeArrayToMemory array must have a length (should be an array or typed array)`),b.set(e,t)},un=e=>wn(e),dn=e=>{var t=qe(e)+1,n=un(t);return J(e,n,t),n},fn=(e,t,n,r,i)=>{var a={string:e=>{var t=0;return e!=null&&e!==0&&(t=dn(e)),t},array:e=>{var t=un(e.length);return ln(e,t),t}};function o(e){return t===`string`?V(e):t===`boolean`?!!e:e}var s=cn(e),c=[],l=0;if(y(t!==`array`,`Return type should not be "array".`),r)for(var u=0;u<r.length;u++){var d=a[n[u]];d?(l===0&&(l=R()),c[u]=d(r[u])):c[u]=r[u]}var f=s(...c);function p(e){return l!==0&&L(l),o(e)}return f=p(f),f},pn=(e,t,n,r)=>(...r)=>fn(e,t,n,r),mn=e=>{Z.delete(X(e)),on(e,null),rn.push(e)},hn=(e,t,n)=>{if(y(t%2==0,`Pointer passed to stringToUTF16 must be aligned to two bytes!`),y(typeof n==`number`,`stringToUTF16(str, outPtr, maxBytesToWrite) is missing the third parameter that specifies the length of the output buffer!`),n??=2147483647,n<2)return 0;n-=2;for(var r=t,i=n<e.length*2?n/2:e.length,a=0;a<i;++a){var o=e.charCodeAt(a);S[t>>1]=o,t+=2}return S[t>>1]=0,t-r};K.createPreloadedFile=it,K.staticInit();function gn(){Ae(`fetchSettings`)}var _n={__assert_fail:Ve,__syscall_fcntl64:lt,__syscall_fstat64:ut,__syscall_ftruncate64:ft,__syscall_getdents64:pt,__syscall_ioctl:mt,__syscall_lstat64:ht,__syscall_newfstatat:gt,__syscall_openat:_t,__syscall_rmdir:vt,__syscall_stat64:yt,__syscall_unlinkat:bt,_abort_js:xt,_emscripten_memcpy_js:St,_emscripten_throw_longjmp:Ct,_gmtime_js:wt,_localtime_js:kt,_tzset_js:At,emscripten_date_now:jt,emscripten_resize_heap:Pt,environ_get:zt,environ_sizes_get:Bt,fd_close:Vt,fd_read:Ut,fd_seek:Wt,fd_sync:Gt,fd_write:qt,invoke_ii:Dn,invoke_iii:On,invoke_iiii:kn,invoke_iiiii:An,invoke_v:Nn,invoke_vi:Mn,invoke_vii:jn,invoke_viii:En,invoke_viiii:Pn,invoke_viiiiiiiii:Fn},Q=ke();r._PDFiumExt_Init=N(`PDFiumExt_Init`,0),r._FPDF_InitLibraryWithConfig=N(`FPDF_InitLibraryWithConfig`,1),r._PDFiumExt_OpenFileWriter=N(`PDFiumExt_OpenFileWriter`,0),r._PDFiumExt_GetFileWriterSize=N(`PDFiumExt_GetFileWriterSize`,1),r._PDFiumExt_GetFileWriterData=N(`PDFiumExt_GetFileWriterData`,3),r._PDFiumExt_CloseFileWriter=N(`PDFiumExt_CloseFileWriter`,1),r._PDFiumExt_SaveAsCopy=N(`PDFiumExt_SaveAsCopy`,2),r._FPDF_SaveAsCopy=N(`FPDF_SaveAsCopy`,3),r._PDFiumExt_OpenFormFillInfo=N(`PDFiumExt_OpenFormFillInfo`,0),r._PDFiumExt_CloseFormFillInfo=N(`PDFiumExt_CloseFormFillInfo`,1),r._PDFiumExt_InitFormFillEnvironment=N(`PDFiumExt_InitFormFillEnvironment`,2),r._FPDFDOC_InitFormFillEnvironment=N(`FPDFDOC_InitFormFillEnvironment`,2),r._PDFiumExt_ExitFormFillEnvironment=N(`PDFiumExt_ExitFormFillEnvironment`,1),r._FPDFDOC_ExitFormFillEnvironment=N(`FPDFDOC_ExitFormFillEnvironment`,1),r._EPDFNamedDest_SetDest=N(`EPDFNamedDest_SetDest`,3),r._EPDFNamedDest_Remove=N(`EPDFNamedDest_Remove`,2),r._EPDFDest_CreateView=N(`EPDFDest_CreateView`,4),r._EPDFDest_CreateXYZ=N(`EPDFDest_CreateXYZ`,7),r._EPDFDest_CreateRemoteView=N(`EPDFDest_CreateRemoteView`,5),r._EPDFDest_CreateRemoteXYZ=N(`EPDFDest_CreateRemoteXYZ`,8),r._EPDFAction_CreateGoTo=N(`EPDFAction_CreateGoTo`,2),r._EPDFAction_CreateGoToNamed=N(`EPDFAction_CreateGoToNamed`,2),r._EPDFAction_CreateLaunch=N(`EPDFAction_CreateLaunch`,2),r._EPDFAction_CreateRemoteGoToByName=N(`EPDFAction_CreateRemoteGoToByName`,3),r._EPDFAction_CreateRemoteGoToDest=N(`EPDFAction_CreateRemoteGoToDest`,3),r._EPDFAction_CreateURI=N(`EPDFAction_CreateURI`,2),r._EPDFBookmark_Create=N(`EPDFBookmark_Create`,2),r._EPDFBookmark_Delete=N(`EPDFBookmark_Delete`,2),r._EPDFBookmark_AppendChild=N(`EPDFBookmark_AppendChild`,3),r._EPDFBookmark_InsertAfter=N(`EPDFBookmark_InsertAfter`,4),r._EPDFBookmark_Clear=N(`EPDFBookmark_Clear`,1),r._EPDFBookmark_SetTitle=N(`EPDFBookmark_SetTitle`,2),r._EPDFBookmark_SetDest=N(`EPDFBookmark_SetDest`,3),r._EPDFBookmark_SetAction=N(`EPDFBookmark_SetAction`,3),r._EPDFBookmark_ClearTarget=N(`EPDFBookmark_ClearTarget`,1),r._EPDF_PNG_EncodeRGBA=N(`EPDF_PNG_EncodeRGBA`,6),r._FPDFAnnot_IsSupportedSubtype=N(`FPDFAnnot_IsSupportedSubtype`,1),r._FPDFPage_CreateAnnot=N(`FPDFPage_CreateAnnot`,2),r._FPDFPage_GetAnnotCount=N(`FPDFPage_GetAnnotCount`,1),r._FPDFPage_GetAnnot=N(`FPDFPage_GetAnnot`,2),r._FPDFPage_GetAnnotIndex=N(`FPDFPage_GetAnnotIndex`,2),r._FPDFPage_CloseAnnot=N(`FPDFPage_CloseAnnot`,1),r._FPDFPage_RemoveAnnot=N(`FPDFPage_RemoveAnnot`,2),r._FPDFAnnot_GetSubtype=N(`FPDFAnnot_GetSubtype`,1),r._FPDFAnnot_IsObjectSupportedSubtype=N(`FPDFAnnot_IsObjectSupportedSubtype`,1),r._FPDFAnnot_UpdateObject=N(`FPDFAnnot_UpdateObject`,2),r._FPDFAnnot_AddInkStroke=N(`FPDFAnnot_AddInkStroke`,3),r._FPDFAnnot_RemoveInkList=N(`FPDFAnnot_RemoveInkList`,1),r._FPDFAnnot_AppendObject=N(`FPDFAnnot_AppendObject`,2),r._FPDFAnnot_GetObjectCount=N(`FPDFAnnot_GetObjectCount`,1),r._FPDFAnnot_GetObject=N(`FPDFAnnot_GetObject`,2),r._FPDFAnnot_RemoveObject=N(`FPDFAnnot_RemoveObject`,2),r._FPDFAnnot_SetColor=N(`FPDFAnnot_SetColor`,6),r._FPDFAnnot_GetColor=N(`FPDFAnnot_GetColor`,6),r._FPDFAnnot_HasAttachmentPoints=N(`FPDFAnnot_HasAttachmentPoints`,1),r._FPDFAnnot_SetAttachmentPoints=N(`FPDFAnnot_SetAttachmentPoints`,3),r._FPDFAnnot_AppendAttachmentPoints=N(`FPDFAnnot_AppendAttachmentPoints`,2),r._FPDFAnnot_CountAttachmentPoints=N(`FPDFAnnot_CountAttachmentPoints`,1),r._FPDFAnnot_GetAttachmentPoints=N(`FPDFAnnot_GetAttachmentPoints`,3),r._FPDFAnnot_SetRect=N(`FPDFAnnot_SetRect`,2),r._FPDFAnnot_GetRect=N(`FPDFAnnot_GetRect`,2),r._FPDFAnnot_GetVertices=N(`FPDFAnnot_GetVertices`,3),r._FPDFAnnot_GetInkListCount=N(`FPDFAnnot_GetInkListCount`,1),r._FPDFAnnot_GetInkListPath=N(`FPDFAnnot_GetInkListPath`,4),r._FPDFAnnot_GetLine=N(`FPDFAnnot_GetLine`,3),r._FPDFAnnot_SetBorder=N(`FPDFAnnot_SetBorder`,4),r._FPDFAnnot_GetBorder=N(`FPDFAnnot_GetBorder`,4),r._FPDFAnnot_HasKey=N(`FPDFAnnot_HasKey`,2),r._FPDFAnnot_GetValueType=N(`FPDFAnnot_GetValueType`,2),r._FPDFAnnot_SetStringValue=N(`FPDFAnnot_SetStringValue`,3),r._FPDFAnnot_GetStringValue=N(`FPDFAnnot_GetStringValue`,4),r._FPDFAnnot_GetNumberValue=N(`FPDFAnnot_GetNumberValue`,3),r._EPDFAnnot_SetNumberValue=N(`EPDFAnnot_SetNumberValue`,3),r._FPDFAnnot_SetAP=N(`FPDFAnnot_SetAP`,3),r._FPDFAnnot_GetAP=N(`FPDFAnnot_GetAP`,4),r._FPDFAnnot_GetLinkedAnnot=N(`FPDFAnnot_GetLinkedAnnot`,2),r._FPDFAnnot_GetFlags=N(`FPDFAnnot_GetFlags`,1),r._FPDFAnnot_SetFlags=N(`FPDFAnnot_SetFlags`,2),r._FPDFAnnot_GetFormFieldFlags=N(`FPDFAnnot_GetFormFieldFlags`,2),r._FPDFAnnot_SetFormFieldFlags=N(`FPDFAnnot_SetFormFieldFlags`,3),r._FPDFAnnot_GetFormFieldAtPoint=N(`FPDFAnnot_GetFormFieldAtPoint`,3),r._FPDFAnnot_GetFormFieldName=N(`FPDFAnnot_GetFormFieldName`,4),r._FPDFAnnot_GetFormFieldType=N(`FPDFAnnot_GetFormFieldType`,2),r._FPDFAnnot_GetFormAdditionalActionJavaScript=N(`FPDFAnnot_GetFormAdditionalActionJavaScript`,5),r._FPDFAnnot_GetFormFieldAlternateName=N(`FPDFAnnot_GetFormFieldAlternateName`,4),r._FPDFAnnot_GetFormFieldValue=N(`FPDFAnnot_GetFormFieldValue`,4),r._FPDFAnnot_GetOptionCount=N(`FPDFAnnot_GetOptionCount`,2),r._FPDFAnnot_GetOptionLabel=N(`FPDFAnnot_GetOptionLabel`,5),r._FPDFAnnot_IsOptionSelected=N(`FPDFAnnot_IsOptionSelected`,3),r._FPDFAnnot_GetFontSize=N(`FPDFAnnot_GetFontSize`,3),r._FPDFAnnot_SetFontColor=N(`FPDFAnnot_SetFontColor`,5),r._FPDFAnnot_GetFontColor=N(`FPDFAnnot_GetFontColor`,5),r._FPDFAnnot_IsChecked=N(`FPDFAnnot_IsChecked`,2),r._FPDFAnnot_SetFocusableSubtypes=N(`FPDFAnnot_SetFocusableSubtypes`,3),r._FPDFAnnot_GetFocusableSubtypesCount=N(`FPDFAnnot_GetFocusableSubtypesCount`,1),r._FPDFAnnot_GetFocusableSubtypes=N(`FPDFAnnot_GetFocusableSubtypes`,3),r._FPDFAnnot_GetLink=N(`FPDFAnnot_GetLink`,1),r._FPDFAnnot_GetFormControlCount=N(`FPDFAnnot_GetFormControlCount`,2),r._FPDFAnnot_GetFormControlIndex=N(`FPDFAnnot_GetFormControlIndex`,2),r._FPDFAnnot_GetFormFieldExportValue=N(`FPDFAnnot_GetFormFieldExportValue`,4),r._FPDFAnnot_SetURI=N(`FPDFAnnot_SetURI`,2),r._EPDFAnnot_SetAction=N(`EPDFAnnot_SetAction`,2),r._FPDFAnnot_GetFileAttachment=N(`FPDFAnnot_GetFileAttachment`,1),r._FPDFAnnot_AddFileAttachment=N(`FPDFAnnot_AddFileAttachment`,2),r._EPDFAnnot_SetColor=N(`EPDFAnnot_SetColor`,5),r._EPDFAnnot_GetColor=N(`EPDFAnnot_GetColor`,5),r._EPDFAnnot_ClearColor=N(`EPDFAnnot_ClearColor`,2),r._EPDFAnnot_SetOpacity=N(`EPDFAnnot_SetOpacity`,2),r._EPDFAnnot_GetOpacity=N(`EPDFAnnot_GetOpacity`,2),r._EPDFAnnot_GetBorderEffect=N(`EPDFAnnot_GetBorderEffect`,2),r._EPDFAnnot_SetBorderEffect=N(`EPDFAnnot_SetBorderEffect`,2),r._EPDFAnnot_ClearBorderEffect=N(`EPDFAnnot_ClearBorderEffect`,1),r._EPDFAnnot_GetRectangleDifferences=N(`EPDFAnnot_GetRectangleDifferences`,5),r._EPDFAnnot_SetRectangleDifferences=N(`EPDFAnnot_SetRectangleDifferences`,5),r._EPDFAnnot_ClearRectangleDifferences=N(`EPDFAnnot_ClearRectangleDifferences`,1),r._EPDFAnnot_GetBorderDashPatternCount=N(`EPDFAnnot_GetBorderDashPatternCount`,1),r._EPDFAnnot_GetBorderDashPattern=N(`EPDFAnnot_GetBorderDashPattern`,3),r._EPDFAnnot_SetBorderDashPattern=N(`EPDFAnnot_SetBorderDashPattern`,3),r._EPDFAnnot_GetBorderStyle=N(`EPDFAnnot_GetBorderStyle`,2),r._EPDFAnnot_SetBorderStyle=N(`EPDFAnnot_SetBorderStyle`,3),r._EPDFAnnot_GenerateAppearance=N(`EPDFAnnot_GenerateAppearance`,1),r._EPDFAnnot_GenerateAppearanceWithBlend=N(`EPDFAnnot_GenerateAppearanceWithBlend`,2),r._EPDFAnnot_GetBlendMode=N(`EPDFAnnot_GetBlendMode`,1),r._EPDFAnnot_SetIntent=N(`EPDFAnnot_SetIntent`,2),r._EPDFAnnot_GetIntent=N(`EPDFAnnot_GetIntent`,3),r._EPDFAnnot_GetRichContent=N(`EPDFAnnot_GetRichContent`,3),r._EPDFAnnot_SetLineEndings=N(`EPDFAnnot_SetLineEndings`,3),r._EPDFAnnot_GetLineEndings=N(`EPDFAnnot_GetLineEndings`,3),r._EPDFAnnot_SetVertices=N(`EPDFAnnot_SetVertices`,3),r._EPDFAnnot_SetLine=N(`EPDFAnnot_SetLine`,3),r._EPDFAnnot_SetDefaultAppearance=N(`EPDFAnnot_SetDefaultAppearance`,6),r._EPDFAnnot_GetDefaultAppearance=N(`EPDFAnnot_GetDefaultAppearance`,6),r._EPDFAnnot_SetTextAlignment=N(`EPDFAnnot_SetTextAlignment`,2),r._EPDFAnnot_GetTextAlignment=N(`EPDFAnnot_GetTextAlignment`,1),r._EPDFAnnot_SetVerticalAlignment=N(`EPDFAnnot_SetVerticalAlignment`,2),r._EPDFAnnot_GetVerticalAlignment=N(`EPDFAnnot_GetVerticalAlignment`,1),r._EPDFPage_GetAnnotByName=N(`EPDFPage_GetAnnotByName`,2),r._EPDFPage_RemoveAnnotByName=N(`EPDFPage_RemoveAnnotByName`,2),r._EPDFAnnot_SetLinkedAnnot=N(`EPDFAnnot_SetLinkedAnnot`,3),r._EPDFPage_GetAnnotCountRaw=N(`EPDFPage_GetAnnotCountRaw`,2),r._EPDFPage_GetAnnotRaw=N(`EPDFPage_GetAnnotRaw`,3),r._EPDFPage_RemoveAnnotRaw=N(`EPDFPage_RemoveAnnotRaw`,3),r._EPDFAnnot_SetName=N(`EPDFAnnot_SetName`,2),r._EPDFAnnot_GetName=N(`EPDFAnnot_GetName`,1),r._EPDFAnnot_UpdateAppearanceToRect=N(`EPDFAnnot_UpdateAppearanceToRect`,2),r._EPDFPage_CreateAnnot=N(`EPDFPage_CreateAnnot`,2),r._EPDFAnnot_SetRotate=N(`EPDFAnnot_SetRotate`,2),r._EPDFAnnot_GetRotate=N(`EPDFAnnot_GetRotate`,2),r._EPDFAnnot_GetReplyType=N(`EPDFAnnot_GetReplyType`,1),r._EPDFAnnot_SetReplyType=N(`EPDFAnnot_SetReplyType`,2),r._EPDFAnnot_SetOverlayText=N(`EPDFAnnot_SetOverlayText`,2),r._EPDFAnnot_GetOverlayText=N(`EPDFAnnot_GetOverlayText`,3),r._EPDFAnnot_SetOverlayTextRepeat=N(`EPDFAnnot_SetOverlayTextRepeat`,2),r._EPDFAnnot_GetOverlayTextRepeat=N(`EPDFAnnot_GetOverlayTextRepeat`,1),r._EPDFAnnot_ApplyRedaction=N(`EPDFAnnot_ApplyRedaction`,2),r._EPDFPage_ApplyRedactions=N(`EPDFPage_ApplyRedactions`,1),r._EPDFAnnot_Flatten=N(`EPDFAnnot_Flatten`,2),r._EPDFAnnot_SetAppearanceFromPage=N(`EPDFAnnot_SetAppearanceFromPage`,3),r._EPDFAnnot_ExportAppearanceAsDocument=N(`EPDFAnnot_ExportAppearanceAsDocument`,1),r._EPDFAnnot_ExportMultipleAppearancesAsDocument=N(`EPDFAnnot_ExportMultipleAppearancesAsDocument`,2),r._EPDFAnnot_SetExtendedRotation=N(`EPDFAnnot_SetExtendedRotation`,2),r._EPDFAnnot_GetExtendedRotation=N(`EPDFAnnot_GetExtendedRotation`,2),r._EPDFAnnot_SetUnrotatedRect=N(`EPDFAnnot_SetUnrotatedRect`,2),r._EPDFAnnot_GetUnrotatedRect=N(`EPDFAnnot_GetUnrotatedRect`,2),r._EPDFAnnot_GetRect=N(`EPDFAnnot_GetRect`,2),r._EPDFAnnot_SetAPMatrix=N(`EPDFAnnot_SetAPMatrix`,3),r._EPDFAnnot_GetAPMatrix=N(`EPDFAnnot_GetAPMatrix`,3),r._EPDFAnnot_GetAvailableAppearanceModes=N(`EPDFAnnot_GetAvailableAppearanceModes`,1),r._EPDFAnnot_HasAppearanceStream=N(`EPDFAnnot_HasAppearanceStream`,2),r._EPDFAnnot_SetMKColor=N(`EPDFAnnot_SetMKColor`,5),r._EPDFAnnot_GetMKColor=N(`EPDFAnnot_GetMKColor`,5),r._EPDFAnnot_ClearMKColor=N(`EPDFAnnot_ClearMKColor`,2),r._EPDFPage_CreateFormField=N(`EPDFPage_CreateFormField`,4),r._EPDFAnnot_GenerateFormFieldAP=N(`EPDFAnnot_GenerateFormFieldAP`,1),r._EPDFAnnot_GetButtonExportValue=N(`EPDFAnnot_GetButtonExportValue`,3),r._EPDFAnnot_GetFormFieldRawValue=N(`EPDFAnnot_GetFormFieldRawValue`,4),r._EPDFAnnot_SetFormFieldValue=N(`EPDFAnnot_SetFormFieldValue`,3),r._EPDFAnnot_SetFormFieldName=N(`EPDFAnnot_SetFormFieldName`,3),r._EPDFAnnot_GetFormFieldObjectNumber=N(`EPDFAnnot_GetFormFieldObjectNumber`,2),r._EPDFAnnot_ShareFormField=N(`EPDFAnnot_ShareFormField`,3),r._EPDFAnnot_GetCalloutLineCount=N(`EPDFAnnot_GetCalloutLineCount`,1),r._EPDFAnnot_GetCalloutLine=N(`EPDFAnnot_GetCalloutLine`,3),r._EPDFAnnot_SetCalloutLine=N(`EPDFAnnot_SetCalloutLine`,3),r._EPDFAnnot_SetFormFieldOptions=N(`EPDFAnnot_SetFormFieldOptions`,4),r._EPDFAnnot_GetObjectNumber=N(`EPDFAnnot_GetObjectNumber`,1),r._EPDFPage_GetAnnotByObjectNumber=N(`EPDFPage_GetAnnotByObjectNumber`,2),r._EPDFPage_RemoveAnnot=N(`EPDFPage_RemoveAnnot`,2),r._EPDFPage_RemoveAnnotByObjectNumber=N(`EPDFPage_RemoveAnnotByObjectNumber`,2),r._EPDFPage_MoveAnnots=N(`EPDFPage_MoveAnnots`,4),r._FPDFDoc_GetAttachmentCount=N(`FPDFDoc_GetAttachmentCount`,1),r._FPDFDoc_AddAttachment=N(`FPDFDoc_AddAttachment`,2),r._FPDFDoc_GetAttachment=N(`FPDFDoc_GetAttachment`,2),r._FPDFDoc_DeleteAttachment=N(`FPDFDoc_DeleteAttachment`,2),r._FPDFAttachment_GetName=N(`FPDFAttachment_GetName`,3),r._FPDFAttachment_HasKey=N(`FPDFAttachment_HasKey`,2),r._FPDFAttachment_GetValueType=N(`FPDFAttachment_GetValueType`,2),r._FPDFAttachment_SetStringValue=N(`FPDFAttachment_SetStringValue`,3),r._FPDFAttachment_GetStringValue=N(`FPDFAttachment_GetStringValue`,4),r._FPDFAttachment_SetFile=N(`FPDFAttachment_SetFile`,4),r._FPDFAttachment_GetFile=N(`FPDFAttachment_GetFile`,4),r._FPDFAttachment_GetSubtype=N(`FPDFAttachment_GetSubtype`,3),r._EPDFAttachment_SetSubtype=N(`EPDFAttachment_SetSubtype`,2),r._EPDFAttachment_SetDescription=N(`EPDFAttachment_SetDescription`,2),r._EPDFAttachment_GetDescription=N(`EPDFAttachment_GetDescription`,3),r._EPDFAttachment_GetIntegerValue=N(`EPDFAttachment_GetIntegerValue`,3),r._FPDFCatalog_IsTagged=N(`FPDFCatalog_IsTagged`,1),r._FPDFCatalog_GetLanguage=N(`FPDFCatalog_GetLanguage`,3),r._FPDFCatalog_SetLanguage=N(`FPDFCatalog_SetLanguage`,2),r._EPDFCatalog_GetLanguage=N(`EPDFCatalog_GetLanguage`,3),r._FPDFAvail_Create=N(`FPDFAvail_Create`,2),r._FPDFAvail_Destroy=N(`FPDFAvail_Destroy`,1),r._FPDFAvail_IsDocAvail=N(`FPDFAvail_IsDocAvail`,2),r._FPDFAvail_GetDocument=N(`FPDFAvail_GetDocument`,2),r._FPDFAvail_GetFirstPageNum=N(`FPDFAvail_GetFirstPageNum`,1),r._FPDFAvail_IsPageAvail=N(`FPDFAvail_IsPageAvail`,3),r._FPDFAvail_IsFormAvail=N(`FPDFAvail_IsFormAvail`,2),r._FPDFAvail_IsLinearized=N(`FPDFAvail_IsLinearized`,1),r._FPDFBookmark_GetFirstChild=N(`FPDFBookmark_GetFirstChild`,2),r._FPDFBookmark_GetNextSibling=N(`FPDFBookmark_GetNextSibling`,2),r._FPDFBookmark_GetTitle=N(`FPDFBookmark_GetTitle`,3),r._FPDFBookmark_GetCount=N(`FPDFBookmark_GetCount`,1),r._FPDFBookmark_Find=N(`FPDFBookmark_Find`,2),r._FPDFBookmark_GetDest=N(`FPDFBookmark_GetDest`,2),r._FPDFBookmark_GetAction=N(`FPDFBookmark_GetAction`,1),r._FPDFAction_GetType=N(`FPDFAction_GetType`,1),r._FPDFAction_GetDest=N(`FPDFAction_GetDest`,2),r._FPDFAction_GetFilePath=N(`FPDFAction_GetFilePath`,3),r._FPDFAction_GetURIPath=N(`FPDFAction_GetURIPath`,4),r._FPDFDest_GetDestPageIndex=N(`FPDFDest_GetDestPageIndex`,2),r._FPDFDest_GetView=N(`FPDFDest_GetView`,3),r._FPDFDest_GetLocationInPage=N(`FPDFDest_GetLocationInPage`,7),r._FPDFLink_GetLinkAtPoint=N(`FPDFLink_GetLinkAtPoint`,3),r._FPDFLink_GetLinkZOrderAtPoint=N(`FPDFLink_GetLinkZOrderAtPoint`,3),r._FPDFLink_GetDest=N(`FPDFLink_GetDest`,2),r._FPDFLink_GetAction=N(`FPDFLink_GetAction`,1),r._FPDFLink_Enumerate=N(`FPDFLink_Enumerate`,3),r._FPDFLink_GetAnnot=N(`FPDFLink_GetAnnot`,2),r._FPDFLink_GetAnnotRect=N(`FPDFLink_GetAnnotRect`,2),r._FPDFLink_CountQuadPoints=N(`FPDFLink_CountQuadPoints`,1),r._FPDFLink_GetQuadPoints=N(`FPDFLink_GetQuadPoints`,3),r._FPDF_GetPageAAction=N(`FPDF_GetPageAAction`,2),r._FPDF_GetFileIdentifier=N(`FPDF_GetFileIdentifier`,4),r._FPDF_GetMetaText=N(`FPDF_GetMetaText`,4),r._FPDF_GetPageLabel=N(`FPDF_GetPageLabel`,4),r._EPDF_SetMetaText=N(`EPDF_SetMetaText`,3),r._EPDF_HasMetaText=N(`EPDF_HasMetaText`,2),r._EPDF_GetMetaTrapped=N(`EPDF_GetMetaTrapped`,1),r._EPDF_SetMetaTrapped=N(`EPDF_SetMetaTrapped`,2),r._EPDF_GetMetaKeyCount=N(`EPDF_GetMetaKeyCount`,2),r._EPDF_GetMetaKeyName=N(`EPDF_GetMetaKeyName`,5),r._FPDFPageObj_NewImageObj=N(`FPDFPageObj_NewImageObj`,1),r._FPDFImageObj_LoadJpegFile=N(`FPDFImageObj_LoadJpegFile`,4),r._FPDFImageObj_LoadJpegFileInline=N(`FPDFImageObj_LoadJpegFileInline`,4),r._FPDFImageObj_SetMatrix=N(`FPDFImageObj_SetMatrix`,7),r._FPDFImageObj_SetBitmap=N(`FPDFImageObj_SetBitmap`,4),r._FPDFImageObj_GetBitmap=N(`FPDFImageObj_GetBitmap`,1),r._FPDFImageObj_GetRenderedBitmap=N(`FPDFImageObj_GetRenderedBitmap`,3),r._FPDFImageObj_GetImageDataDecoded=N(`FPDFImageObj_GetImageDataDecoded`,3),r._FPDFImageObj_GetImageDataRaw=N(`FPDFImageObj_GetImageDataRaw`,3),r._FPDFImageObj_GetImageFilterCount=N(`FPDFImageObj_GetImageFilterCount`,1),r._FPDFImageObj_GetImageFilter=N(`FPDFImageObj_GetImageFilter`,4),r._FPDFImageObj_GetImageMetadata=N(`FPDFImageObj_GetImageMetadata`,3),r._FPDFImageObj_GetImagePixelSize=N(`FPDFImageObj_GetImagePixelSize`,3),r._FPDFImageObj_GetIccProfileDataDecoded=N(`FPDFImageObj_GetIccProfileDataDecoded`,5),r._EPDFImageObj_SetPng=N(`EPDFImageObj_SetPng`,5),r._EPDFImageObj_SetJpeg=N(`EPDFImageObj_SetJpeg`,5),r._FPDF_CreateNewDocument=N(`FPDF_CreateNewDocument`,0),r._FPDFPage_Delete=N(`FPDFPage_Delete`,2),r._FPDF_MovePages=N(`FPDF_MovePages`,4),r._FPDFPage_New=N(`FPDFPage_New`,4),r._FPDFPage_GetRotation=N(`FPDFPage_GetRotation`,1),r._FPDFPage_InsertObject=N(`FPDFPage_InsertObject`,2),r._FPDFPage_InsertObjectAtIndex=N(`FPDFPage_InsertObjectAtIndex`,3),r._FPDFPage_RemoveObject=N(`FPDFPage_RemoveObject`,2),r._FPDFPage_CountObjects=N(`FPDFPage_CountObjects`,1),r._FPDFPage_GetObject=N(`FPDFPage_GetObject`,2),r._FPDFPage_HasTransparency=N(`FPDFPage_HasTransparency`,1),r._FPDFPageObj_Destroy=N(`FPDFPageObj_Destroy`,1),r._FPDFPageObj_GetMarkedContentID=N(`FPDFPageObj_GetMarkedContentID`,1),r._FPDFPageObj_CountMarks=N(`FPDFPageObj_CountMarks`,1),r._FPDFPageObj_GetMark=N(`FPDFPageObj_GetMark`,2),r._FPDFPageObj_AddMark=N(`FPDFPageObj_AddMark`,2),r._FPDFPageObj_RemoveMark=N(`FPDFPageObj_RemoveMark`,2),r._FPDFPageObjMark_GetName=N(`FPDFPageObjMark_GetName`,4),r._FPDFPageObjMark_CountParams=N(`FPDFPageObjMark_CountParams`,1),r._FPDFPageObjMark_GetParamKey=N(`FPDFPageObjMark_GetParamKey`,5),r._FPDFPageObjMark_GetParamValueType=N(`FPDFPageObjMark_GetParamValueType`,2),r._FPDFPageObjMark_GetParamIntValue=N(`FPDFPageObjMark_GetParamIntValue`,3),r._FPDFPageObjMark_GetParamFloatValue=N(`FPDFPageObjMark_GetParamFloatValue`,3),r._FPDFPageObjMark_GetParamStringValue=N(`FPDFPageObjMark_GetParamStringValue`,5),r._FPDFPageObjMark_GetParamBlobValue=N(`FPDFPageObjMark_GetParamBlobValue`,5),r._FPDFPageObj_HasTransparency=N(`FPDFPageObj_HasTransparency`,1),r._FPDFPageObjMark_SetIntParam=N(`FPDFPageObjMark_SetIntParam`,5),r._FPDFPageObjMark_SetFloatParam=N(`FPDFPageObjMark_SetFloatParam`,5),r._FPDFPageObjMark_SetStringParam=N(`FPDFPageObjMark_SetStringParam`,5),r._FPDFPageObjMark_SetBlobParam=N(`FPDFPageObjMark_SetBlobParam`,6),r._FPDFPageObjMark_RemoveParam=N(`FPDFPageObjMark_RemoveParam`,3),r._FPDFPageObj_GetType=N(`FPDFPageObj_GetType`,1),r._FPDFPageObj_GetIsActive=N(`FPDFPageObj_GetIsActive`,2),r._FPDFPageObj_SetIsActive=N(`FPDFPageObj_SetIsActive`,2),r._FPDFPage_GenerateContent=N(`FPDFPage_GenerateContent`,1),r._FPDFPageObj_Transform=N(`FPDFPageObj_Transform`,7),r._FPDFPageObj_TransformF=N(`FPDFPageObj_TransformF`,2),r._FPDFPageObj_GetMatrix=N(`FPDFPageObj_GetMatrix`,2),r._FPDFPageObj_SetMatrix=N(`FPDFPageObj_SetMatrix`,2),r._FPDFPageObj_SetBlendMode=N(`FPDFPageObj_SetBlendMode`,2),r._FPDFPage_TransformAnnots=N(`FPDFPage_TransformAnnots`,7),r._FPDFPage_SetRotation=N(`FPDFPage_SetRotation`,2),r._FPDFPageObj_SetFillColor=N(`FPDFPageObj_SetFillColor`,5),r._FPDFPageObj_GetFillColor=N(`FPDFPageObj_GetFillColor`,5),r._FPDFPageObj_GetBounds=N(`FPDFPageObj_GetBounds`,5),r._FPDFPageObj_GetRotatedBounds=N(`FPDFPageObj_GetRotatedBounds`,2),r._FPDFPageObj_SetStrokeColor=N(`FPDFPageObj_SetStrokeColor`,5),r._FPDFPageObj_GetStrokeColor=N(`FPDFPageObj_GetStrokeColor`,5),r._FPDFPageObj_SetStrokeWidth=N(`FPDFPageObj_SetStrokeWidth`,2),r._FPDFPageObj_GetStrokeWidth=N(`FPDFPageObj_GetStrokeWidth`,2),r._FPDFPageObj_GetLineJoin=N(`FPDFPageObj_GetLineJoin`,1),r._FPDFPageObj_SetLineJoin=N(`FPDFPageObj_SetLineJoin`,2),r._FPDFPageObj_GetLineCap=N(`FPDFPageObj_GetLineCap`,1),r._FPDFPageObj_SetLineCap=N(`FPDFPageObj_SetLineCap`,2),r._FPDFPageObj_GetDashPhase=N(`FPDFPageObj_GetDashPhase`,2),r._FPDFPageObj_SetDashPhase=N(`FPDFPageObj_SetDashPhase`,2),r._FPDFPageObj_GetDashCount=N(`FPDFPageObj_GetDashCount`,1),r._FPDFPageObj_GetDashArray=N(`FPDFPageObj_GetDashArray`,3),r._FPDFPageObj_SetDashArray=N(`FPDFPageObj_SetDashArray`,4),r._FPDFFormObj_CountObjects=N(`FPDFFormObj_CountObjects`,1),r._FPDFFormObj_GetObject=N(`FPDFFormObj_GetObject`,2),r._FPDFFormObj_RemoveObject=N(`FPDFFormObj_RemoveObject`,2),r._FPDFPageObj_CreateNewPath=N(`FPDFPageObj_CreateNewPath`,2),r._FPDFPageObj_CreateNewRect=N(`FPDFPageObj_CreateNewRect`,4),r._FPDFPath_CountSegments=N(`FPDFPath_CountSegments`,1),r._FPDFPath_GetPathSegment=N(`FPDFPath_GetPathSegment`,2),r._FPDFPath_MoveTo=N(`FPDFPath_MoveTo`,3),r._FPDFPath_LineTo=N(`FPDFPath_LineTo`,3),r._FPDFPath_BezierTo=N(`FPDFPath_BezierTo`,7),r._FPDFPath_Close=N(`FPDFPath_Close`,1),r._FPDFPath_SetDrawMode=N(`FPDFPath_SetDrawMode`,3),r._FPDFPath_GetDrawMode=N(`FPDFPath_GetDrawMode`,3),r._FPDFPathSegment_GetPoint=N(`FPDFPathSegment_GetPoint`,3),r._FPDFPathSegment_GetType=N(`FPDFPathSegment_GetType`,1),r._FPDFPathSegment_GetClose=N(`FPDFPathSegment_GetClose`,1),r._FPDFPageObj_NewTextObj=N(`FPDFPageObj_NewTextObj`,3),r._FPDFText_SetText=N(`FPDFText_SetText`,2),r._FPDFText_SetCharcodes=N(`FPDFText_SetCharcodes`,3),r._FPDFText_LoadFont=N(`FPDFText_LoadFont`,5),r._FPDFText_LoadStandardFont=N(`FPDFText_LoadStandardFont`,2),r._FPDFText_LoadCidType2Font=N(`FPDFText_LoadCidType2Font`,6),r._FPDFTextObj_GetFontSize=N(`FPDFTextObj_GetFontSize`,2),r._FPDFTextObj_GetText=N(`FPDFTextObj_GetText`,4),r._FPDFTextObj_GetRenderedBitmap=N(`FPDFTextObj_GetRenderedBitmap`,4),r._FPDFFont_Close=N(`FPDFFont_Close`,1),r._FPDFPageObj_CreateTextObj=N(`FPDFPageObj_CreateTextObj`,3),r._FPDFTextObj_GetTextRenderMode=N(`FPDFTextObj_GetTextRenderMode`,1),r._FPDFTextObj_SetTextRenderMode=N(`FPDFTextObj_SetTextRenderMode`,2),r._FPDFTextObj_GetFont=N(`FPDFTextObj_GetFont`,1),r._FPDFFont_GetBaseFontName=N(`FPDFFont_GetBaseFontName`,3),r._FPDFFont_GetFamilyName=N(`FPDFFont_GetFamilyName`,3),r._FPDFFont_GetFontData=N(`FPDFFont_GetFontData`,4),r._FPDFFont_GetIsEmbedded=N(`FPDFFont_GetIsEmbedded`,1),r._FPDFFont_GetFlags=N(`FPDFFont_GetFlags`,1),r._FPDFFont_GetWeight=N(`FPDFFont_GetWeight`,1),r._FPDFFont_GetItalicAngle=N(`FPDFFont_GetItalicAngle`,2),r._FPDFFont_GetAscent=N(`FPDFFont_GetAscent`,3),r._FPDFFont_GetDescent=N(`FPDFFont_GetDescent`,3),r._FPDFFont_GetGlyphWidth=N(`FPDFFont_GetGlyphWidth`,4),r._FPDFFont_GetGlyphPath=N(`FPDFFont_GetGlyphPath`,3),r._FPDFGlyphPath_CountGlyphSegments=N(`FPDFGlyphPath_CountGlyphSegments`,1),r._FPDFGlyphPath_GetGlyphPathSegment=N(`FPDFGlyphPath_GetGlyphPathSegment`,2),r._EPDFText_RedactInRect=N(`EPDFText_RedactInRect`,4),r._EPDFText_RedactInQuads=N(`EPDFText_RedactInQuads`,5),r._FPDFDoc_GetPageMode=N(`FPDFDoc_GetPageMode`,1),r._FPDFPage_Flatten=N(`FPDFPage_Flatten`,2),r._FPDFPage_HasFormFieldAtPoint=N(`FPDFPage_HasFormFieldAtPoint`,4),r._FPDFPage_FormFieldZOrderAtPoint=N(`FPDFPage_FormFieldZOrderAtPoint`,4),r._malloc=N(`malloc`,1),r._free=N(`free`,1),r._FORM_OnMouseMove=N(`FORM_OnMouseMove`,5),r._FORM_OnMouseWheel=N(`FORM_OnMouseWheel`,6),r._FORM_OnFocus=N(`FORM_OnFocus`,5),r._FORM_OnLButtonDown=N(`FORM_OnLButtonDown`,5),r._FORM_OnLButtonUp=N(`FORM_OnLButtonUp`,5),r._FORM_OnLButtonDoubleClick=N(`FORM_OnLButtonDoubleClick`,5),r._FORM_OnRButtonDown=N(`FORM_OnRButtonDown`,5),r._FORM_OnRButtonUp=N(`FORM_OnRButtonUp`,5),r._FORM_OnKeyDown=N(`FORM_OnKeyDown`,4),r._FORM_OnKeyUp=N(`FORM_OnKeyUp`,4),r._FORM_OnChar=N(`FORM_OnChar`,4),r._FORM_GetFocusedText=N(`FORM_GetFocusedText`,4),r._FORM_GetSelectedText=N(`FORM_GetSelectedText`,4),r._FORM_ReplaceAndKeepSelection=N(`FORM_ReplaceAndKeepSelection`,3),r._FORM_ReplaceSelection=N(`FORM_ReplaceSelection`,3),r._FORM_SelectAllText=N(`FORM_SelectAllText`,2),r._FORM_CanUndo=N(`FORM_CanUndo`,2),r._FORM_CanRedo=N(`FORM_CanRedo`,2),r._FORM_Undo=N(`FORM_Undo`,2),r._FORM_Redo=N(`FORM_Redo`,2),r._FORM_ForceToKillFocus=N(`FORM_ForceToKillFocus`,1),r._FORM_GetFocusedAnnot=N(`FORM_GetFocusedAnnot`,3),r._FORM_SetFocusedAnnot=N(`FORM_SetFocusedAnnot`,2),r._FPDF_FFLDraw=N(`FPDF_FFLDraw`,9),r._FPDF_SetFormFieldHighlightColor=N(`FPDF_SetFormFieldHighlightColor`,3),r._FPDF_SetFormFieldHighlightAlpha=N(`FPDF_SetFormFieldHighlightAlpha`,2),r._FPDF_RemoveFormFieldHighlight=N(`FPDF_RemoveFormFieldHighlight`,1),r._FORM_OnAfterLoadPage=N(`FORM_OnAfterLoadPage`,2),r._FORM_OnBeforeClosePage=N(`FORM_OnBeforeClosePage`,2),r._FORM_DoDocumentJSAction=N(`FORM_DoDocumentJSAction`,1),r._FORM_DoDocumentOpenAction=N(`FORM_DoDocumentOpenAction`,1),r._FORM_DoDocumentAAction=N(`FORM_DoDocumentAAction`,2),r._FORM_DoPageAAction=N(`FORM_DoPageAAction`,3),r._FORM_SetIndexSelected=N(`FORM_SetIndexSelected`,4),r._FORM_IsIndexSelected=N(`FORM_IsIndexSelected`,3),r._FPDFDoc_GetJavaScriptActionCount=N(`FPDFDoc_GetJavaScriptActionCount`,1),r._FPDFDoc_GetJavaScriptAction=N(`FPDFDoc_GetJavaScriptAction`,2),r._FPDFDoc_CloseJavaScriptAction=N(`FPDFDoc_CloseJavaScriptAction`,1),r._FPDFJavaScriptAction_GetName=N(`FPDFJavaScriptAction_GetName`,3),r._FPDFJavaScriptAction_GetScript=N(`FPDFJavaScriptAction_GetScript`,3),r._FPDF_ImportPagesByIndex=N(`FPDF_ImportPagesByIndex`,5),r._FPDF_ImportPages=N(`FPDF_ImportPages`,4),r._FPDF_ImportNPagesToOne=N(`FPDF_ImportNPagesToOne`,5),r._FPDF_NewXObjectFromPage=N(`FPDF_NewXObjectFromPage`,3),r._FPDF_CloseXObject=N(`FPDF_CloseXObject`,1),r._FPDF_NewFormObjectFromXObject=N(`FPDF_NewFormObjectFromXObject`,1),r._FPDF_CopyViewerPreferences=N(`FPDF_CopyViewerPreferences`,2),r._FPDF_RenderPageBitmapWithColorScheme_Start=N(`FPDF_RenderPageBitmapWithColorScheme_Start`,10),r._FPDF_RenderPageBitmap_Start=N(`FPDF_RenderPageBitmap_Start`,9),r._FPDF_RenderPage_Continue=N(`FPDF_RenderPage_Continue`,2),r._FPDF_RenderPage_Close=N(`FPDF_RenderPage_Close`,1),r._FPDF_SaveWithVersion=N(`FPDF_SaveWithVersion`,4),r._FPDFText_GetCharIndexFromTextIndex=N(`FPDFText_GetCharIndexFromTextIndex`,2),r._FPDFText_GetTextIndexFromCharIndex=N(`FPDFText_GetTextIndexFromCharIndex`,2),r._FPDF_GetSignatureCount=N(`FPDF_GetSignatureCount`,1),r._FPDF_GetSignatureObject=N(`FPDF_GetSignatureObject`,2),r._FPDFSignatureObj_GetContents=N(`FPDFSignatureObj_GetContents`,3),r._FPDFSignatureObj_GetByteRange=N(`FPDFSignatureObj_GetByteRange`,3),r._FPDFSignatureObj_GetSubFilter=N(`FPDFSignatureObj_GetSubFilter`,3),r._FPDFSignatureObj_GetReason=N(`FPDFSignatureObj_GetReason`,3),r._FPDFSignatureObj_GetTime=N(`FPDFSignatureObj_GetTime`,3),r._FPDFSignatureObj_GetDocMDPPermission=N(`FPDFSignatureObj_GetDocMDPPermission`,1),r._FPDF_StructTree_GetForPage=N(`FPDF_StructTree_GetForPage`,1),r._FPDF_StructTree_Close=N(`FPDF_StructTree_Close`,1),r._FPDF_StructTree_CountChildren=N(`FPDF_StructTree_CountChildren`,1),r._FPDF_StructTree_GetChildAtIndex=N(`FPDF_StructTree_GetChildAtIndex`,2),r._FPDF_StructElement_GetAltText=N(`FPDF_StructElement_GetAltText`,3),r._FPDF_StructElement_GetActualText=N(`FPDF_StructElement_GetActualText`,3),r._FPDF_StructElement_GetID=N(`FPDF_StructElement_GetID`,3),r._FPDF_StructElement_GetLang=N(`FPDF_StructElement_GetLang`,3),r._FPDF_StructElement_GetAttributeCount=N(`FPDF_StructElement_GetAttributeCount`,1),r._FPDF_StructElement_GetAttributeAtIndex=N(`FPDF_StructElement_GetAttributeAtIndex`,2),r._FPDF_StructElement_GetStringAttribute=N(`FPDF_StructElement_GetStringAttribute`,4),r._FPDF_StructElement_GetMarkedContentID=N(`FPDF_StructElement_GetMarkedContentID`,1),r._FPDF_StructElement_GetType=N(`FPDF_StructElement_GetType`,3),r._FPDF_StructElement_GetObjType=N(`FPDF_StructElement_GetObjType`,3),r._FPDF_StructElement_GetTitle=N(`FPDF_StructElement_GetTitle`,3),r._FPDF_StructElement_CountChildren=N(`FPDF_StructElement_CountChildren`,1),r._FPDF_StructElement_GetChildAtIndex=N(`FPDF_StructElement_GetChildAtIndex`,2),r._FPDF_StructElement_GetChildMarkedContentID=N(`FPDF_StructElement_GetChildMarkedContentID`,2),r._FPDF_StructElement_GetParent=N(`FPDF_StructElement_GetParent`,1),r._FPDF_StructElement_Attr_GetCount=N(`FPDF_StructElement_Attr_GetCount`,1),r._FPDF_StructElement_Attr_GetName=N(`FPDF_StructElement_Attr_GetName`,5),r._FPDF_StructElement_Attr_GetValue=N(`FPDF_StructElement_Attr_GetValue`,2),r._FPDF_StructElement_Attr_GetType=N(`FPDF_StructElement_Attr_GetType`,1),r._FPDF_StructElement_Attr_GetBooleanValue=N(`FPDF_StructElement_Attr_GetBooleanValue`,2),r._FPDF_StructElement_Attr_GetNumberValue=N(`FPDF_StructElement_Attr_GetNumberValue`,2),r._FPDF_StructElement_Attr_GetStringValue=N(`FPDF_StructElement_Attr_GetStringValue`,4),r._FPDF_StructElement_Attr_GetBlobValue=N(`FPDF_StructElement_Attr_GetBlobValue`,4),r._FPDF_StructElement_Attr_CountChildren=N(`FPDF_StructElement_Attr_CountChildren`,1),r._FPDF_StructElement_Attr_GetChildAtIndex=N(`FPDF_StructElement_Attr_GetChildAtIndex`,2),r._FPDF_StructElement_GetMarkedContentIdCount=N(`FPDF_StructElement_GetMarkedContentIdCount`,1),r._FPDF_StructElement_GetMarkedContentIdAtIndex=N(`FPDF_StructElement_GetMarkedContentIdAtIndex`,2),r._FPDF_AddInstalledFont=N(`FPDF_AddInstalledFont`,3),r._FPDF_SetSystemFontInfo=N(`FPDF_SetSystemFontInfo`,1),r._FPDF_GetDefaultTTFMap=N(`FPDF_GetDefaultTTFMap`,0),r._FPDF_GetDefaultTTFMapCount=N(`FPDF_GetDefaultTTFMapCount`,0),r._FPDF_GetDefaultTTFMapEntry=N(`FPDF_GetDefaultTTFMapEntry`,1),r._FPDF_GetDefaultSystemFontInfo=N(`FPDF_GetDefaultSystemFontInfo`,0),r._FPDF_FreeDefaultSystemFontInfo=N(`FPDF_FreeDefaultSystemFontInfo`,1),r._FPDFText_LoadPage=N(`FPDFText_LoadPage`,1),r._FPDFText_ClosePage=N(`FPDFText_ClosePage`,1),r._FPDFText_CountChars=N(`FPDFText_CountChars`,1),r._FPDFText_GetUnicode=N(`FPDFText_GetUnicode`,2),r._FPDFText_GetTextObject=N(`FPDFText_GetTextObject`,2),r._FPDFText_IsGenerated=N(`FPDFText_IsGenerated`,2),r._FPDFText_IsHyphen=N(`FPDFText_IsHyphen`,2),r._FPDFText_HasUnicodeMapError=N(`FPDFText_HasUnicodeMapError`,2),r._FPDFText_GetFontSize=N(`FPDFText_GetFontSize`,2),r._FPDFText_GetFontInfo=N(`FPDFText_GetFontInfo`,5),r._FPDFText_GetFontWeight=N(`FPDFText_GetFontWeight`,2),r._FPDFText_GetFillColor=N(`FPDFText_GetFillColor`,6),r._FPDFText_GetStrokeColor=N(`FPDFText_GetStrokeColor`,6),r._FPDFText_GetCharAngle=N(`FPDFText_GetCharAngle`,2),r._FPDFText_GetCharBox=N(`FPDFText_GetCharBox`,6),r._FPDFText_GetLooseCharBox=N(`FPDFText_GetLooseCharBox`,3),r._FPDFText_GetMatrix=N(`FPDFText_GetMatrix`,3),r._FPDFText_GetCharOrigin=N(`FPDFText_GetCharOrigin`,4),r._FPDFText_GetCharIndexAtPos=N(`FPDFText_GetCharIndexAtPos`,5),r._FPDFText_GetText=N(`FPDFText_GetText`,4),r._FPDFText_CountRects=N(`FPDFText_CountRects`,3),r._FPDFText_GetRect=N(`FPDFText_GetRect`,6),r._FPDFText_GetBoundedText=N(`FPDFText_GetBoundedText`,7),r._FPDFText_FindStart=N(`FPDFText_FindStart`,4),r._FPDFText_FindNext=N(`FPDFText_FindNext`,1),r._FPDFText_FindPrev=N(`FPDFText_FindPrev`,1),r._FPDFText_GetSchResultIndex=N(`FPDFText_GetSchResultIndex`,1),r._FPDFText_GetSchCount=N(`FPDFText_GetSchCount`,1),r._FPDFText_FindClose=N(`FPDFText_FindClose`,1),r._FPDFLink_LoadWebLinks=N(`FPDFLink_LoadWebLinks`,1),r._FPDFLink_CountWebLinks=N(`FPDFLink_CountWebLinks`,1),r._FPDFLink_GetURL=N(`FPDFLink_GetURL`,4),r._FPDFLink_CountRects=N(`FPDFLink_CountRects`,2),r._FPDFLink_GetRect=N(`FPDFLink_GetRect`,7),r._FPDFLink_GetTextRange=N(`FPDFLink_GetTextRange`,4),r._FPDFLink_CloseWebLinks=N(`FPDFLink_CloseWebLinks`,1),r._FPDFPage_GetDecodedThumbnailData=N(`FPDFPage_GetDecodedThumbnailData`,3),r._FPDFPage_GetRawThumbnailData=N(`FPDFPage_GetRawThumbnailData`,3),r._FPDFPage_GetThumbnailAsBitmap=N(`FPDFPage_GetThumbnailAsBitmap`,1),r._FPDFPage_SetMediaBox=N(`FPDFPage_SetMediaBox`,5),r._FPDFPage_SetCropBox=N(`FPDFPage_SetCropBox`,5),r._FPDFPage_SetBleedBox=N(`FPDFPage_SetBleedBox`,5),r._FPDFPage_SetTrimBox=N(`FPDFPage_SetTrimBox`,5),r._FPDFPage_SetArtBox=N(`FPDFPage_SetArtBox`,5),r._FPDFPage_GetMediaBox=N(`FPDFPage_GetMediaBox`,5),r._FPDFPage_GetCropBox=N(`FPDFPage_GetCropBox`,5),r._FPDFPage_GetBleedBox=N(`FPDFPage_GetBleedBox`,5),r._FPDFPage_GetTrimBox=N(`FPDFPage_GetTrimBox`,5),r._FPDFPage_GetArtBox=N(`FPDFPage_GetArtBox`,5),r._FPDFPage_TransFormWithClip=N(`FPDFPage_TransFormWithClip`,3),r._FPDFPageObj_TransformClipPath=N(`FPDFPageObj_TransformClipPath`,7),r._FPDFPageObj_GetClipPath=N(`FPDFPageObj_GetClipPath`,1),r._FPDFClipPath_CountPaths=N(`FPDFClipPath_CountPaths`,1),r._FPDFClipPath_CountPathSegments=N(`FPDFClipPath_CountPathSegments`,2),r._FPDFClipPath_GetPathSegment=N(`FPDFClipPath_GetPathSegment`,3),r._FPDF_CreateClipPath=N(`FPDF_CreateClipPath`,4),r._FPDF_DestroyClipPath=N(`FPDF_DestroyClipPath`,1),r._FPDFPage_InsertClipPath=N(`FPDFPage_InsertClipPath`,2),r._FPDF_InitLibrary=N(`FPDF_InitLibrary`,0),r._FPDF_DestroyLibrary=N(`FPDF_DestroyLibrary`,0),r._FPDF_SetSandBoxPolicy=N(`FPDF_SetSandBoxPolicy`,2),r._FPDF_LoadDocument=N(`FPDF_LoadDocument`,2),r._FPDF_GetFormType=N(`FPDF_GetFormType`,1),r._FPDF_LoadXFA=N(`FPDF_LoadXFA`,1),r._FPDF_LoadMemDocument=N(`FPDF_LoadMemDocument`,3),r._FPDF_LoadMemDocument64=N(`FPDF_LoadMemDocument64`,3),r._FPDF_LoadCustomDocument=N(`FPDF_LoadCustomDocument`,2),r._FPDF_GetFileVersion=N(`FPDF_GetFileVersion`,2),r._FPDF_DocumentHasValidCrossReferenceTable=N(`FPDF_DocumentHasValidCrossReferenceTable`,1),r._FPDF_GetDocPermissions=N(`FPDF_GetDocPermissions`,1),r._FPDF_GetDocUserPermissions=N(`FPDF_GetDocUserPermissions`,1),r._FPDF_GetSecurityHandlerRevision=N(`FPDF_GetSecurityHandlerRevision`,1),r._EPDF_SetEncryption=N(`EPDF_SetEncryption`,4),r._EPDF_RemoveEncryption=N(`EPDF_RemoveEncryption`,1),r._EPDF_UnlockOwnerPermissions=N(`EPDF_UnlockOwnerPermissions`,2),r._EPDF_IsEncrypted=N(`EPDF_IsEncrypted`,1),r._EPDF_IsOwnerUnlocked=N(`EPDF_IsOwnerUnlocked`,1),r._FPDF_GetPageCount=N(`FPDF_GetPageCount`,1),r._FPDF_LoadPage=N(`FPDF_LoadPage`,2),r._EPDFDoc_LoadPageByObjectNumber=N(`EPDFDoc_LoadPageByObjectNumber`,2),r._EPDFDoc_GetPageObjectNumberByIndex=N(`EPDFDoc_GetPageObjectNumberByIndex`,2),r._EPDFPage_GetObjectNumber=N(`EPDFPage_GetObjectNumber`,1),r._FPDF_GetPageWidthF=N(`FPDF_GetPageWidthF`,1),r._FPDF_GetPageWidth=N(`FPDF_GetPageWidth`,1),r._FPDF_GetPageHeightF=N(`FPDF_GetPageHeightF`,1),r._FPDF_GetPageHeight=N(`FPDF_GetPageHeight`,1),r._FPDF_GetPageBoundingBox=N(`FPDF_GetPageBoundingBox`,2),r._FPDF_RenderPageBitmap=N(`FPDF_RenderPageBitmap`,8),r._FPDF_RenderPageBitmapWithMatrix=N(`FPDF_RenderPageBitmapWithMatrix`,5),r._EPDF_RenderAnnotBitmap=N(`EPDF_RenderAnnotBitmap`,6),r._EPDF_RenderAnnotBitmapUnrotated=N(`EPDF_RenderAnnotBitmapUnrotated`,6),r._FPDF_ClosePage=N(`FPDF_ClosePage`,1),r._FPDF_CloseDocument=N(`FPDF_CloseDocument`,1),r._FPDF_GetLastError=N(`FPDF_GetLastError`,0),r._FPDF_DeviceToPage=N(`FPDF_DeviceToPage`,10),r._FPDF_PageToDevice=N(`FPDF_PageToDevice`,10),r._FPDFBitmap_Create=N(`FPDFBitmap_Create`,3),r._FPDFBitmap_CreateEx=N(`FPDFBitmap_CreateEx`,5),r._FPDFBitmap_GetFormat=N(`FPDFBitmap_GetFormat`,1),r._FPDFBitmap_FillRect=N(`FPDFBitmap_FillRect`,6),r._FPDFBitmap_GetBuffer=N(`FPDFBitmap_GetBuffer`,1),r._FPDFBitmap_GetWidth=N(`FPDFBitmap_GetWidth`,1),r._FPDFBitmap_GetHeight=N(`FPDFBitmap_GetHeight`,1),r._FPDFBitmap_GetStride=N(`FPDFBitmap_GetStride`,1),r._FPDFBitmap_Destroy=N(`FPDFBitmap_Destroy`,1),r._FPDF_GetPageSizeByIndexF=N(`FPDF_GetPageSizeByIndexF`,3),r._EPDF_GetPageRotationByIndex=N(`EPDF_GetPageRotationByIndex`,2),r._EPDF_GetPageBoxByIndex=N(`EPDF_GetPageBoxByIndex`,4),r._EPDF_GetPageSizeByIndexNormalized=N(`EPDF_GetPageSizeByIndexNormalized`,3),r._EPDF_LoadPageNormalized=N(`EPDF_LoadPageNormalized`,3),r._FPDF_GetPageSizeByIndex=N(`FPDF_GetPageSizeByIndex`,4),r._FPDF_VIEWERREF_GetPrintScaling=N(`FPDF_VIEWERREF_GetPrintScaling`,1),r._FPDF_VIEWERREF_GetNumCopies=N(`FPDF_VIEWERREF_GetNumCopies`,1),r._FPDF_VIEWERREF_GetPrintPageRange=N(`FPDF_VIEWERREF_GetPrintPageRange`,1),r._FPDF_VIEWERREF_GetPrintPageRangeCount=N(`FPDF_VIEWERREF_GetPrintPageRangeCount`,1),r._FPDF_VIEWERREF_GetPrintPageRangeElement=N(`FPDF_VIEWERREF_GetPrintPageRangeElement`,2),r._FPDF_VIEWERREF_GetDuplex=N(`FPDF_VIEWERREF_GetDuplex`,1),r._FPDF_VIEWERREF_GetName=N(`FPDF_VIEWERREF_GetName`,4),r._FPDF_CountNamedDests=N(`FPDF_CountNamedDests`,1),r._FPDF_GetNamedDestByName=N(`FPDF_GetNamedDestByName`,2),r._FPDF_GetNamedDest=N(`FPDF_GetNamedDest`,4),r._FPDF_GetXFAPacketCount=N(`FPDF_GetXFAPacketCount`,1),r._FPDF_GetXFAPacketName=N(`FPDF_GetXFAPacketName`,4),r._FPDF_GetXFAPacketContent=N(`FPDF_GetXFAPacketContent`,5),r._FPDF_GetTrailerEnds=N(`FPDF_GetTrailerEnds`,3);var vn=N(`strerror`,1),yn=N(`fflush`,1),bn=N(`emscripten_builtin_memalign`,2),$=N(`setThrew`,2),xn=()=>(xn=Q.emscripten_stack_init)(),Sn=()=>(Sn=Q.emscripten_stack_get_end)(),Cn=e=>(Cn=Q._emscripten_stack_restore)(e),wn=e=>(wn=Q._emscripten_stack_alloc)(e),Tn=()=>(Tn=Q.emscripten_stack_get_current)();r.dynCall_j=N(`dynCall_j`,1),r.dynCall_ji=N(`dynCall_ji`,2),r.dynCall_iiij=N(`dynCall_iiij`,5),r.dynCall_jji=N(`dynCall_jji`,4),r.dynCall_iji=N(`dynCall_iji`,4),r.dynCall_viijii=N(`dynCall_viijii`,7),r.dynCall_jij=N(`dynCall_jij`,4),r.dynCall_iij=N(`dynCall_iij`,4),r.dynCall_iiji=N(`dynCall_iiji`,5),r.dynCall_jiji=N(`dynCall_jiji`,5),r.dynCall_iiiiij=N(`dynCall_iiiiij`,7),r.dynCall_iiiiijj=N(`dynCall_iiiiijj`,9),r.dynCall_iiiiiijj=N(`dynCall_iiiiiijj`,10),r.dynCall_viji=N(`dynCall_viji`,5);function En(e,t,n,r){var i=R();try{X(e)(t,n,r)}catch(e){if(L(i),e!==e+0)throw e;$(1,0)}}function Dn(e,t){var n=R();try{return X(e)(t)}catch(e){if(L(n),e!==e+0)throw e;$(1,0)}}function On(e,t,n){var r=R();try{return X(e)(t,n)}catch(e){if(L(r),e!==e+0)throw e;$(1,0)}}function kn(e,t,n,r){var i=R();try{return X(e)(t,n,r)}catch(e){if(L(i),e!==e+0)throw e;$(1,0)}}function An(e,t,n,r,i){var a=R();try{return X(e)(t,n,r,i)}catch(e){if(L(a),e!==e+0)throw e;$(1,0)}}function jn(e,t,n){var r=R();try{X(e)(t,n)}catch(e){if(L(r),e!==e+0)throw e;$(1,0)}}function Mn(e,t){var n=R();try{X(e)(t)}catch(e){if(L(n),e!==e+0)throw e;$(1,0)}}function Nn(e){var t=R();try{X(e)()}catch(e){if(L(t),e!==e+0)throw e;$(1,0)}}function Pn(e,t,n,r,i){var a=R();try{X(e)(t,n,r,i)}catch(e){if(L(a),e!==e+0)throw e;$(1,0)}}function Fn(e,t,n,r,i,a,o,s,c,l){var u=R();try{X(e)(t,n,r,i,a,o,s,c,l)}catch(e){if(L(u),e!==e+0)throw e;$(1,0)}}r.wasmExports=Q,r.ccall=fn,r.cwrap=pn,r.addFunction=sn,r.removeFunction=mn,r.setValue=ze,r.getValue=Le,r.UTF8ToString=V,r.stringToUTF8=J,r.UTF16ToString=Xt,r.stringToUTF16=hn,(/* @__PURE__ */ `writeI53ToI64.writeI53ToI64Clamped.writeI53ToI64Signaling.writeI53ToU64Clamped.writeI53ToU64Signaling.readI53FromI64.readI53FromU64.convertI32PairToI53.convertU32PairToI53.getTempRet0.setTempRet0.exitJS.inetPton4.inetNtop4.inetPton6.inetNtop6.readSockaddr.writeSockaddr.emscriptenLog.readEmAsmArgs.jstoi_q.listenOnce.autoResumeAudioContext.dynCallLegacy.getDynCaller.dynCall.handleException.keepRuntimeAlive.runtimeKeepalivePush.runtimeKeepalivePop.callUserCallback.maybeExit.asmjsMangle.HandleAllocator.getNativeTypeSize.STACK_SIZE.STACK_ALIGN.POINTER_SIZE.ASSERTIONS.reallyNegative.unSign.strLen.reSign.formatString.intArrayToString.AsciiToString.lengthBytesUTF16.UTF32ToString.stringToUTF32.lengthBytesUTF32.stringToNewUTF8.registerKeyEventCallback.maybeCStringToJsString.findEventTarget.getBoundingClientRect.fillMouseEventData.registerMouseEventCallback.registerWheelEventCallback.registerUiEventCallback.registerFocusEventCallback.fillDeviceOrientationEventData.registerDeviceOrientationEventCallback.fillDeviceMotionEventData.registerDeviceMotionEventCallback.screenOrientation.fillOrientationChangeEventData.registerOrientationChangeEventCallback.fillFullscreenChangeEventData.registerFullscreenChangeEventCallback.JSEvents_requestFullscreen.JSEvents_resizeCanvasForFullscreen.registerRestoreOldStyle.hideEverythingExceptGivenElement.restoreHiddenElements.setLetterbox.softFullscreenResizeWebGLRenderTarget.doRequestFullscreen.fillPointerlockChangeEventData.registerPointerlockChangeEventCallback.registerPointerlockErrorEventCallback.requestPointerLock.fillVisibilityChangeEventData.registerVisibilityChangeEventCallback.registerTouchEventCallback.fillGamepadEventData.registerGamepadEventCallback.registerBeforeUnloadEventCallback.fillBatteryEventData.battery.registerBatteryEventCallback.setCanvasElementSize.getCanvasElementSize.jsStackTrace.getCallstack.convertPCtoSourceLocation.checkWasiClock.wasiRightsToMuslOFlags.wasiOFlagsToMuslOFlags.createDyncallWrapper.safeSetTimeout.setImmediateWrapped.clearImmediateWrapped.polyfillSetImmediate.registerPostMainLoop.registerPreMainLoop.getPromise.makePromise.idsToPromises.makePromiseCallback.ExceptionInfo.findMatchingCatch.Browser_asyncPrepareDataCounter.safeRequestAnimationFrame.arraySum.addDays.getSocketFromFD.getSocketAddress.FS_unlink.FS_mkdirTree._setNetworkCallback.heapObjectForWebGLType.toTypedArrayIndex.webgl_enable_ANGLE_instanced_arrays.webgl_enable_OES_vertex_array_object.webgl_enable_WEBGL_draw_buffers.webgl_enable_WEBGL_multi_draw.webgl_enable_EXT_polygon_offset_clamp.webgl_enable_EXT_clip_control.webgl_enable_WEBGL_polygon_mode.emscriptenWebGLGet.computeUnpackAlignedImageSize.colorChannelsInGlTextureFormat.emscriptenWebGLGetTexPixelData.emscriptenWebGLGetUniform.webglGetUniformLocation.webglPrepareUniformLocationsBeforeFirstUse.webglGetLeftBracePos.emscriptenWebGLGetVertexAttrib.__glGetActiveAttribOrUniform.writeGLArray.registerWebGlEventCallback.runAndAbortIfError.ALLOC_NORMAL.ALLOC_STACK.allocate.writeStringToMemory.writeAsciiToMemory.setErrNo.demangle.stackTrace`.split(`.`)).forEach(Pe),(/* @__PURE__ */ `run.addOnPreRun.addOnInit.addOnPreMain.addOnExit.addOnPostRun.addRunDependency.removeRunDependency.out.err.callMain.abort.wasmMemory.writeStackCookie.checkStackCookie.convertI32PairToI53Checked.stackSave.stackRestore.stackAlloc.ptrToString.zeroMemory.getHeapMax.growMemory.ENV.ERRNO_CODES.strError.DNS.Protocols.Sockets.initRandomFill.randomFill.timers.warnOnce.readEmAsmArgsArray.jstoi_s.getExecutableName.asyncLoad.alignMemory.mmapAlloc.wasmTable.noExitRuntime.getCFunc.uleb128Encode.sigToWasmTypes.generateFuncType.convertJsFunctionToWasm.freeTableIndexes.functionsInTableMap.getEmptyTableSlot.updateTableMap.getFunctionAddress.PATH.PATH_FS.UTF8Decoder.UTF8ArrayToString.stringToUTF8Array.lengthBytesUTF8.intArrayFromString.stringToAscii.UTF16Decoder.stringToUTF8OnStack.writeArrayToMemory.JSEvents.specialHTMLTargets.findCanvasEventTarget.currentFullscreenStrategy.restoreOldWindowedStyle.UNWIND_CACHE.ExitStatus.getEnvStrings.doReadv.doWritev.promiseMap.uncaughtExceptionCount.exceptionLast.exceptionCaught.Browser.getPreloadedImageData__data.wget.MONTH_DAYS_REGULAR.MONTH_DAYS_LEAP.MONTH_DAYS_REGULAR_CUMULATIVE.MONTH_DAYS_LEAP_CUMULATIVE.isLeapYear.ydayFromDate.SYSCALLS.preloadPlugins.FS_createPreloadedFile.FS_modeStringToFlags.FS_getMode.FS_stdin_getChar_buffer.FS_stdin_getChar.FS_createPath.FS_createDevice.FS_readFile.FS.FS_createDataFile.FS_createLazyFile.MEMFS.TTY.PIPEFS.SOCKFS.tempFixedLengthArray.miniTempWebGLFloatBuffers.miniTempWebGLIntBuffers.GL.AL.GLUT.EGL.GLEW.IDBStore.SDL.SDL_gfx.allocateUTF8.allocateUTF8OnStack.print.printErr`.split(`.`)).forEach(Fe);var In,Ln;he=function e(){In||zn(),In||(he=e)};function Rn(){xn(),oe()}function zn(){if(k>0||(Rn(),!Ln&&(Ln=1,de(),k>0)))return;function e(){In||(In=1,r.calledRun=1,!v&&(fe(),i(r),r.onRuntimeInitialized?.(),y(!r._main,`compiled without a main, but one is present. if you added it from JS, use Module["onRuntimeInitialized"]`),D()))}r.setStatus?(r.setStatus(`Running...`),setTimeout(()=>{setTimeout(()=>r.setStatus(``),1),e()},1)):e(),se()}if(r.preInit)for(typeof r.preInit==`function`&&(r.preInit=[r.preInit]);r.preInit.length>0;)r.preInit.pop()();zn(),n=o;for(let e of Object.keys(r))e in t||Object.defineProperty(t,e,{configurable:!0,get(){M(`Access to module property ('${e}') is no longer possible via the module constructor argument; Instead, use the result of the module constructor.`)}});return n})})();let t={EPDF_GetMetaKeyCount:[[`number`,`boolean`],`number`],EPDF_GetMetaKeyName:[[`number`,`number`,`boolean`,`number`,`number`],`number`],EPDF_GetMetaTrapped:[[`number`],`number`],EPDF_GetPageBoxByIndex:[[`number`,`number`,`number`,`number`],`boolean`],EPDF_GetPageRotationByIndex:[[`number`,`number`],`number`],EPDF_GetPageSizeByIndexNormalized:[[`number`,`number`,`number`],`boolean`],EPDF_HasMetaText:[[`number`,`string`],`boolean`],EPDF_IsEncrypted:[[`number`],`boolean`],EPDF_IsOwnerUnlocked:[[`number`],`boolean`],EPDF_LoadPageNormalized:[[`number`,`number`,`number`],`number`],EPDF_PNG_EncodeRGBA:[[`number`,`number`,`number`,`number`,`number`,`number`],`number`],EPDF_RemoveEncryption:[[`number`],`boolean`],EPDF_RenderAnnotBitmap:[[`number`,`number`,`number`,`number`,`number`,`number`],`boolean`],EPDF_RenderAnnotBitmapUnrotated:[[`number`,`number`,`number`,`number`,`number`,`number`],`boolean`],EPDF_SetEncryption:[[`number`,`string`,`string`,`number`],`boolean`],EPDF_SetMetaText:[[`number`,`string`,`number`],`boolean`],EPDF_SetMetaTrapped:[[`number`,`number`],`boolean`],EPDF_UnlockOwnerPermissions:[[`number`,`string`],`boolean`],EPDFAction_CreateGoTo:[[`number`,`number`],`number`],EPDFAction_CreateGoToNamed:[[`number`,`string`],`number`],EPDFAction_CreateLaunch:[[`number`,`number`],`number`],EPDFAction_CreateRemoteGoToByName:[[`number`,`number`,`number`],`number`],EPDFAction_CreateRemoteGoToDest:[[`number`,`number`,`number`],`number`],EPDFAction_CreateURI:[[`number`,`string`],`number`],EPDFAnnot_ApplyRedaction:[[`number`,`number`],`boolean`],EPDFAnnot_ClearBorderEffect:[[`number`],`boolean`],EPDFAnnot_ClearColor:[[`number`,`number`],`boolean`],EPDFAnnot_ClearMKColor:[[`number`,`number`],`boolean`],EPDFAnnot_ClearRectangleDifferences:[[`number`],`boolean`],EPDFAnnot_ExportAppearanceAsDocument:[[`number`],`number`],EPDFAnnot_ExportMultipleAppearancesAsDocument:[[`number`,`number`],`number`],EPDFAnnot_Flatten:[[`number`,`number`],`boolean`],EPDFAnnot_GenerateAppearance:[[`number`],`boolean`],EPDFAnnot_GenerateAppearanceWithBlend:[[`number`,`number`],`boolean`],EPDFAnnot_GenerateFormFieldAP:[[`number`],`boolean`],EPDFAnnot_GetAPMatrix:[[`number`,`number`,`number`],`boolean`],EPDFAnnot_GetAvailableAppearanceModes:[[`number`],`number`],EPDFAnnot_GetBlendMode:[[`number`],`number`],EPDFAnnot_GetBorderDashPattern:[[`number`,`number`,`number`],`boolean`],EPDFAnnot_GetBorderDashPatternCount:[[`number`],`number`],EPDFAnnot_GetBorderEffect:[[`number`,`number`],`boolean`],EPDFAnnot_GetBorderStyle:[[`number`,`number`],`number`],EPDFAnnot_GetButtonExportValue:[[`number`,`number`,`number`],`number`],EPDFAnnot_GetCalloutLine:[[`number`,`number`,`number`],`number`],EPDFAnnot_GetCalloutLineCount:[[`number`],`number`],EPDFAnnot_GetColor:[[`number`,`number`,`number`,`number`,`number`],`boolean`],EPDFAnnot_GetDefaultAppearance:[[`number`,`number`,`number`,`number`,`number`,`number`],`boolean`],EPDFAnnot_GetExtendedRotation:[[`number`,`number`],`boolean`],EPDFAnnot_GetFormFieldObjectNumber:[[`number`,`number`],`number`],EPDFAnnot_GetFormFieldRawValue:[[`number`,`number`,`number`,`number`],`number`],EPDFAnnot_GetIntent:[[`number`,`number`,`number`],`number`],EPDFAnnot_GetLineEndings:[[`number`,`number`,`number`],`boolean`],EPDFAnnot_GetMKColor:[[`number`,`number`,`number`,`number`,`number`],`boolean`],EPDFAnnot_GetName:[[`number`],`number`],EPDFAnnot_GetObjectNumber:[[`number`],`number`],EPDFAnnot_GetOpacity:[[`number`,`number`],`boolean`],EPDFAnnot_GetOverlayText:[[`number`,`number`,`number`],`number`],EPDFAnnot_GetOverlayTextRepeat:[[`number`],`boolean`],EPDFAnnot_GetRect:[[`number`,`number`],`boolean`],EPDFAnnot_GetRectangleDifferences:[[`number`,`number`,`number`,`number`,`number`],`boolean`],EPDFAnnot_GetReplyType:[[`number`],`number`],EPDFAnnot_GetRichContent:[[`number`,`number`,`number`],`number`],EPDFAnnot_GetRotate:[[`number`,`number`],`boolean`],EPDFAnnot_GetTextAlignment:[[`number`],`number`],EPDFAnnot_GetUnrotatedRect:[[`number`,`number`],`boolean`],EPDFAnnot_GetVerticalAlignment:[[`number`],`number`],EPDFAnnot_HasAppearanceStream:[[`number`,`number`],`boolean`],EPDFAnnot_SetAction:[[`number`,`number`],`boolean`],EPDFAnnot_SetAPMatrix:[[`number`,`number`,`number`],`boolean`],EPDFAnnot_SetAppearanceFromPage:[[`number`,`number`,`number`],`boolean`],EPDFAnnot_SetBorderDashPattern:[[`number`,`number`,`number`],`boolean`],EPDFAnnot_SetBorderEffect:[[`number`,`number`],`boolean`],EPDFAnnot_SetBorderStyle:[[`number`,`number`,`number`],`boolean`],EPDFAnnot_SetCalloutLine:[[`number`,`number`,`number`],`boolean`],EPDFAnnot_SetColor:[[`number`,`number`,`number`,`number`,`number`],`boolean`],EPDFAnnot_SetDefaultAppearance:[[`number`,`number`,`number`,`number`,`number`,`number`],`boolean`],EPDFAnnot_SetExtendedRotation:[[`number`,`number`],`boolean`],EPDFAnnot_SetFormFieldName:[[`number`,`number`,`number`],`boolean`],EPDFAnnot_SetFormFieldOptions:[[`number`,`number`,`number`,`number`],`boolean`],EPDFAnnot_SetFormFieldValue:[[`number`,`number`,`number`],`boolean`],EPDFAnnot_SetIntent:[[`number`,`string`],`boolean`],EPDFAnnot_SetLine:[[`number`,`number`,`number`],`boolean`],EPDFAnnot_SetLineEndings:[[`number`,`number`,`number`],`boolean`],EPDFAnnot_SetLinkedAnnot:[[`number`,`string`,`number`],`boolean`],EPDFAnnot_SetMKColor:[[`number`,`number`,`number`,`number`,`number`],`boolean`],EPDFAnnot_SetName:[[`number`,`number`],`boolean`],EPDFAnnot_SetNumberValue:[[`number`,`string`,`number`],`boolean`],EPDFAnnot_SetOpacity:[[`number`,`number`],`boolean`],EPDFAnnot_SetOverlayText:[[`number`,`number`],`boolean`],EPDFAnnot_SetOverlayTextRepeat:[[`number`,`boolean`],`boolean`],EPDFAnnot_SetRectangleDifferences:[[`number`,`number`,`number`,`number`,`number`],`boolean`],EPDFAnnot_SetReplyType:[[`number`,`number`],`boolean`],EPDFAnnot_SetRotate:[[`number`,`number`],`boolean`],EPDFAnnot_SetTextAlignment:[[`number`,`number`],`boolean`],EPDFAnnot_SetUnrotatedRect:[[`number`,`number`],`boolean`],EPDFAnnot_SetVerticalAlignment:[[`number`,`number`],`boolean`],EPDFAnnot_SetVertices:[[`number`,`number`,`number`],`boolean`],EPDFAnnot_ShareFormField:[[`number`,`number`,`number`],`boolean`],EPDFAnnot_UpdateAppearanceToRect:[[`number`,`number`],`boolean`],EPDFAttachment_GetDescription:[[`number`,`number`,`number`],`number`],EPDFAttachment_GetIntegerValue:[[`number`,`string`,`number`],`boolean`],EPDFAttachment_SetDescription:[[`number`,`number`],`boolean`],EPDFAttachment_SetSubtype:[[`number`,`string`],`boolean`],EPDFBookmark_AppendChild:[[`number`,`number`,`number`],`number`],EPDFBookmark_Clear:[[`number`],`boolean`],EPDFBookmark_ClearTarget:[[`number`],`boolean`],EPDFBookmark_Create:[[`number`,`number`],`number`],EPDFBookmark_Delete:[[`number`,`number`],`boolean`],EPDFBookmark_InsertAfter:[[`number`,`number`,`number`,`number`],`number`],EPDFBookmark_SetAction:[[`number`,`number`,`number`],`boolean`],EPDFBookmark_SetDest:[[`number`,`number`,`number`],`boolean`],EPDFBookmark_SetTitle:[[`number`,`number`],`boolean`],EPDFCatalog_GetLanguage:[[`number`,`number`,`number`],`number`],EPDFDest_CreateRemoteView:[[`number`,`number`,`number`,`number`,`number`],`number`],EPDFDest_CreateRemoteXYZ:[[`number`,`number`,`boolean`,`number`,`boolean`,`number`,`boolean`,`number`],`number`],EPDFDest_CreateView:[[`number`,`number`,`number`,`number`],`number`],EPDFDest_CreateXYZ:[[`number`,`boolean`,`number`,`boolean`,`number`,`boolean`,`number`],`number`],EPDFDoc_GetPageObjectNumberByIndex:[[`number`,`number`],`number`],EPDFDoc_LoadPageByObjectNumber:[[`number`,`number`],`number`],EPDFImageObj_SetJpeg:[[`number`,`number`,`number`,`number`,`number`],`boolean`],EPDFImageObj_SetPng:[[`number`,`number`,`number`,`number`,`number`],`boolean`],EPDFNamedDest_Remove:[[`number`,`string`],`boolean`],EPDFNamedDest_SetDest:[[`number`,`string`,`number`],`boolean`],EPDFPage_ApplyRedactions:[[`number`],`boolean`],EPDFPage_CreateAnnot:[[`number`,`number`],`number`],EPDFPage_CreateFormField:[[`number`,`number`,`number`,`number`],`number`],EPDFPage_GetAnnotByName:[[`number`,`number`],`number`],EPDFPage_GetAnnotByObjectNumber:[[`number`,`number`],`number`],EPDFPage_GetAnnotCountRaw:[[`number`,`number`],`number`],EPDFPage_GetAnnotRaw:[[`number`,`number`,`number`],`number`],EPDFPage_GetObjectNumber:[[`number`],`number`],EPDFPage_MoveAnnots:[[`number`,`number`,`number`,`number`],`boolean`],EPDFPage_RemoveAnnot:[[`number`,`number`],`boolean`],EPDFPage_RemoveAnnotByName:[[`number`,`number`],`boolean`],EPDFPage_RemoveAnnotByObjectNumber:[[`number`,`number`],`boolean`],EPDFPage_RemoveAnnotRaw:[[`number`,`number`,`number`],`boolean`],EPDFText_RedactInQuads:[[`number`,`number`,`number`,`boolean`,`boolean`],`boolean`],EPDFText_RedactInRect:[[`number`,`number`,`boolean`,`boolean`],`boolean`],FORM_CanRedo:[[`number`,`number`],`boolean`],FORM_CanUndo:[[`number`,`number`],`boolean`],FORM_DoDocumentAAction:[[`number`,`number`],null],FORM_DoDocumentJSAction:[[`number`],null],FORM_DoDocumentOpenAction:[[`number`],null],FORM_DoPageAAction:[[`number`,`number`,`number`],null],FORM_ForceToKillFocus:[[`number`],`boolean`],FORM_GetFocusedAnnot:[[`number`,`number`,`number`],`boolean`],FORM_GetFocusedText:[[`number`,`number`,`number`,`number`],`number`],FORM_GetSelectedText:[[`number`,`number`,`number`,`number`],`number`],FORM_IsIndexSelected:[[`number`,`number`,`number`],`boolean`],FORM_OnAfterLoadPage:[[`number`,`number`],null],FORM_OnBeforeClosePage:[[`number`,`number`],null],FORM_OnChar:[[`number`,`number`,`number`,`number`],`boolean`],FORM_OnFocus:[[`number`,`number`,`number`,`number`,`number`],`boolean`],FORM_OnKeyDown:[[`number`,`number`,`number`,`number`],`boolean`],FORM_OnKeyUp:[[`number`,`number`,`number`,`number`],`boolean`],FORM_OnLButtonDoubleClick:[[`number`,`number`,`number`,`number`,`number`],`boolean`],FORM_OnLButtonDown:[[`number`,`number`,`number`,`number`,`number`],`boolean`],FORM_OnLButtonUp:[[`number`,`number`,`number`,`number`,`number`],`boolean`],FORM_OnMouseMove:[[`number`,`number`,`number`,`number`,`number`],`boolean`],FORM_OnMouseWheel:[[`number`,`number`,`number`,`number`,`number`,`number`],`boolean`],FORM_OnRButtonDown:[[`number`,`number`,`number`,`number`,`number`],`boolean`],FORM_OnRButtonUp:[[`number`,`number`,`number`,`number`,`number`],`boolean`],FORM_Redo:[[`number`,`number`],`boolean`],FORM_ReplaceAndKeepSelection:[[`number`,`number`,`number`],null],FORM_ReplaceSelection:[[`number`,`number`,`number`],null],FORM_SelectAllText:[[`number`,`number`],`boolean`],FORM_SetFocusedAnnot:[[`number`,`number`],`boolean`],FORM_SetIndexSelected:[[`number`,`number`,`number`,`boolean`],`boolean`],FORM_Undo:[[`number`,`number`],`boolean`],FPDF_AddInstalledFont:[[`number`,`number`,`number`],null],FPDF_CloseDocument:[[`number`],null],FPDF_ClosePage:[[`number`],null],FPDF_CloseXObject:[[`number`],null],FPDF_CopyViewerPreferences:[[`number`,`number`],`boolean`],FPDF_CountNamedDests:[[`number`],`number`],FPDF_CreateClipPath:[[`number`,`number`,`number`,`number`],`number`],FPDF_CreateNewDocument:[[],`number`],FPDF_DestroyClipPath:[[`number`],null],FPDF_DestroyLibrary:[[],null],FPDF_DeviceToPage:[[`number`,`number`,`number`,`number`,`number`,`number`,`number`,`number`,`number`,`number`],`boolean`],FPDF_DocumentHasValidCrossReferenceTable:[[`number`],`boolean`],FPDF_FFLDraw:[[`number`,`number`,`number`,`number`,`number`,`number`,`number`,`number`,`number`],null],FPDF_FreeDefaultSystemFontInfo:[[`number`],null],FPDF_GetDefaultSystemFontInfo:[[],`number`],FPDF_GetDefaultTTFMap:[[],`number`],FPDF_GetDefaultTTFMapCount:[[],`number`],FPDF_GetDefaultTTFMapEntry:[[`number`],`number`],FPDF_GetDocPermissions:[[`number`],`number`],FPDF_GetDocUserPermissions:[[`number`],`number`],FPDF_GetFileIdentifier:[[`number`,`number`,`number`,`number`],`number`],FPDF_GetFileVersion:[[`number`,`number`],`boolean`],FPDF_GetFormType:[[`number`],`number`],FPDF_GetLastError:[[],`number`],FPDF_GetMetaText:[[`number`,`string`,`number`,`number`],`number`],FPDF_GetNamedDest:[[`number`,`number`,`number`,`number`],`number`],FPDF_GetNamedDestByName:[[`number`,`string`],`number`],FPDF_GetPageAAction:[[`number`,`number`],`number`],FPDF_GetPageBoundingBox:[[`number`,`number`],`boolean`],FPDF_GetPageCount:[[`number`],`number`],FPDF_GetPageHeight:[[`number`],`number`],FPDF_GetPageHeightF:[[`number`],`number`],FPDF_GetPageLabel:[[`number`,`number`,`number`,`number`],`number`],FPDF_GetPageSizeByIndex:[[`number`,`number`,`number`,`number`],`number`],FPDF_GetPageSizeByIndexF:[[`number`,`number`,`number`],`boolean`],FPDF_GetPageWidth:[[`number`],`number`],FPDF_GetPageWidthF:[[`number`],`number`],FPDF_GetSecurityHandlerRevision:[[`number`],`number`],FPDF_GetSignatureCount:[[`number`],`number`],FPDF_GetSignatureObject:[[`number`,`number`],`number`],FPDF_GetTrailerEnds:[[`number`,`number`,`number`],`number`],FPDF_GetXFAPacketContent:[[`number`,`number`,`number`,`number`,`number`],`boolean`],FPDF_GetXFAPacketCount:[[`number`],`number`],FPDF_GetXFAPacketName:[[`number`,`number`,`number`,`number`],`number`],FPDF_ImportNPagesToOne:[[`number`,`number`,`number`,`number`,`number`],`number`],FPDF_ImportPages:[[`number`,`number`,`string`,`number`],`boolean`],FPDF_ImportPagesByIndex:[[`number`,`number`,`number`,`number`,`number`],`boolean`],FPDF_InitLibrary:[[],null],FPDF_InitLibraryWithConfig:[[`number`],null],FPDF_LoadCustomDocument:[[`number`,`string`],`number`],FPDF_LoadDocument:[[`number`,`string`],`number`],FPDF_LoadMemDocument:[[`number`,`number`,`string`],`number`],FPDF_LoadMemDocument64:[[`number`,`number`,`string`],`number`],FPDF_LoadPage:[[`number`,`number`],`number`],FPDF_LoadXFA:[[`number`],`boolean`],FPDF_MovePages:[[`number`,`number`,`number`,`number`],`boolean`],FPDF_NewFormObjectFromXObject:[[`number`],`number`],FPDF_NewXObjectFromPage:[[`number`,`number`,`number`],`number`],FPDF_PageToDevice:[[`number`,`number`,`number`,`number`,`number`,`number`,`number`,`number`,`number`,`number`],`boolean`],FPDF_RemoveFormFieldHighlight:[[`number`],null],FPDF_RenderPage_Close:[[`number`],null],FPDF_RenderPage_Continue:[[`number`,`number`],`number`],FPDF_RenderPageBitmap:[[`number`,`number`,`number`,`number`,`number`,`number`,`number`,`number`],null],FPDF_RenderPageBitmap_Start:[[`number`,`number`,`number`,`number`,`number`,`number`,`number`,`number`,`number`],`number`],FPDF_RenderPageBitmapWithColorScheme_Start:[[`number`,`number`,`number`,`number`,`number`,`number`,`number`,`number`,`number`,`number`],`number`],FPDF_RenderPageBitmapWithMatrix:[[`number`,`number`,`number`,`number`,`number`],null],FPDF_SaveAsCopy:[[`number`,`number`,`number`],`boolean`],FPDF_SaveWithVersion:[[`number`,`number`,`number`,`number`],`boolean`],FPDF_SetFormFieldHighlightAlpha:[[`number`,`number`],null],FPDF_SetFormFieldHighlightColor:[[`number`,`number`,`number`],null],FPDF_SetSandBoxPolicy:[[`number`,`boolean`],null],FPDF_SetSystemFontInfo:[[`number`],null],FPDF_StructElement_Attr_CountChildren:[[`number`],`number`],FPDF_StructElement_Attr_GetBlobValue:[[`number`,`number`,`number`,`number`],`boolean`],FPDF_StructElement_Attr_GetBooleanValue:[[`number`,`number`],`boolean`],FPDF_StructElement_Attr_GetChildAtIndex:[[`number`,`number`],`number`],FPDF_StructElement_Attr_GetCount:[[`number`],`number`],FPDF_StructElement_Attr_GetName:[[`number`,`number`,`number`,`number`,`number`],`boolean`],FPDF_StructElement_Attr_GetNumberValue:[[`number`,`number`],`boolean`],FPDF_StructElement_Attr_GetStringValue:[[`number`,`number`,`number`,`number`],`boolean`],FPDF_StructElement_Attr_GetType:[[`number`],`number`],FPDF_StructElement_Attr_GetValue:[[`number`,`string`],`number`],FPDF_StructElement_CountChildren:[[`number`],`number`],FPDF_StructElement_GetActualText:[[`number`,`number`,`number`],`number`],FPDF_StructElement_GetAltText:[[`number`,`number`,`number`],`number`],FPDF_StructElement_GetAttributeAtIndex:[[`number`,`number`],`number`],FPDF_StructElement_GetAttributeCount:[[`number`],`number`],FPDF_StructElement_GetChildAtIndex:[[`number`,`number`],`number`],FPDF_StructElement_GetChildMarkedContentID:[[`number`,`number`],`number`],FPDF_StructElement_GetID:[[`number`,`number`,`number`],`number`],FPDF_StructElement_GetLang:[[`number`,`number`,`number`],`number`],FPDF_StructElement_GetMarkedContentID:[[`number`],`number`],FPDF_StructElement_GetMarkedContentIdAtIndex:[[`number`,`number`],`number`],FPDF_StructElement_GetMarkedContentIdCount:[[`number`],`number`],FPDF_StructElement_GetObjType:[[`number`,`number`,`number`],`number`],FPDF_StructElement_GetParent:[[`number`],`number`],FPDF_StructElement_GetStringAttribute:[[`number`,`string`,`number`,`number`],`number`],FPDF_StructElement_GetTitle:[[`number`,`number`,`number`],`number`],FPDF_StructElement_GetType:[[`number`,`number`,`number`],`number`],FPDF_StructTree_Close:[[`number`],null],FPDF_StructTree_CountChildren:[[`number`],`number`],FPDF_StructTree_GetChildAtIndex:[[`number`,`number`],`number`],FPDF_StructTree_GetForPage:[[`number`],`number`],FPDF_VIEWERREF_GetDuplex:[[`number`],`number`],FPDF_VIEWERREF_GetName:[[`number`,`string`,`number`,`number`],`number`],FPDF_VIEWERREF_GetNumCopies:[[`number`],`number`],FPDF_VIEWERREF_GetPrintPageRange:[[`number`],`number`],FPDF_VIEWERREF_GetPrintPageRangeCount:[[`number`],`number`],FPDF_VIEWERREF_GetPrintPageRangeElement:[[`number`,`number`],`number`],FPDF_VIEWERREF_GetPrintScaling:[[`number`],`boolean`],FPDFAction_GetDest:[[`number`,`number`],`number`],FPDFAction_GetFilePath:[[`number`,`number`,`number`],`number`],FPDFAction_GetType:[[`number`],`number`],FPDFAction_GetURIPath:[[`number`,`number`,`number`,`number`],`number`],FPDFAnnot_AddFileAttachment:[[`number`,`number`],`number`],FPDFAnnot_AddInkStroke:[[`number`,`number`,`number`],`number`],FPDFAnnot_AppendAttachmentPoints:[[`number`,`number`],`boolean`],FPDFAnnot_AppendObject:[[`number`,`number`],`boolean`],FPDFAnnot_CountAttachmentPoints:[[`number`],`number`],FPDFAnnot_GetAP:[[`number`,`number`,`number`,`number`],`number`],FPDFAnnot_GetAttachmentPoints:[[`number`,`number`,`number`],`boolean`],FPDFAnnot_GetBorder:[[`number`,`number`,`number`,`number`],`boolean`],FPDFAnnot_GetColor:[[`number`,`number`,`number`,`number`,`number`,`number`],`boolean`],FPDFAnnot_GetFileAttachment:[[`number`],`number`],FPDFAnnot_GetFlags:[[`number`],`number`],FPDFAnnot_GetFocusableSubtypes:[[`number`,`number`,`number`],`boolean`],FPDFAnnot_GetFocusableSubtypesCount:[[`number`],`number`],FPDFAnnot_GetFontColor:[[`number`,`number`,`number`,`number`,`number`],`boolean`],FPDFAnnot_GetFontSize:[[`number`,`number`,`number`],`boolean`],FPDFAnnot_GetFormAdditionalActionJavaScript:[[`number`,`number`,`number`,`number`,`number`],`number`],FPDFAnnot_GetFormControlCount:[[`number`,`number`],`number`],FPDFAnnot_GetFormControlIndex:[[`number`,`number`],`number`],FPDFAnnot_GetFormFieldAlternateName:[[`number`,`number`,`number`,`number`],`number`],FPDFAnnot_GetFormFieldAtPoint:[[`number`,`number`,`number`],`number`],FPDFAnnot_GetFormFieldExportValue:[[`number`,`number`,`number`,`number`],`number`],FPDFAnnot_GetFormFieldFlags:[[`number`,`number`],`number`],FPDFAnnot_GetFormFieldName:[[`number`,`number`,`number`,`number`],`number`],FPDFAnnot_GetFormFieldType:[[`number`,`number`],`number`],FPDFAnnot_GetFormFieldValue:[[`number`,`number`,`number`,`number`],`number`],FPDFAnnot_GetInkListCount:[[`number`],`number`],FPDFAnnot_GetInkListPath:[[`number`,`number`,`number`,`number`],`number`],FPDFAnnot_GetLine:[[`number`,`number`,`number`],`boolean`],FPDFAnnot_GetLink:[[`number`],`number`],FPDFAnnot_GetLinkedAnnot:[[`number`,`string`],`number`],FPDFAnnot_GetNumberValue:[[`number`,`string`,`number`],`boolean`],FPDFAnnot_GetObject:[[`number`,`number`],`number`],FPDFAnnot_GetObjectCount:[[`number`],`number`],FPDFAnnot_GetOptionCount:[[`number`,`number`],`number`],FPDFAnnot_GetOptionLabel:[[`number`,`number`,`number`,`number`,`number`],`number`],FPDFAnnot_GetRect:[[`number`,`number`],`boolean`],FPDFAnnot_GetStringValue:[[`number`,`string`,`number`,`number`],`number`],FPDFAnnot_GetSubtype:[[`number`],`number`],FPDFAnnot_GetValueType:[[`number`,`string`],`number`],FPDFAnnot_GetVertices:[[`number`,`number`,`number`],`number`],FPDFAnnot_HasAttachmentPoints:[[`number`],`boolean`],FPDFAnnot_HasKey:[[`number`,`string`],`boolean`],FPDFAnnot_IsChecked:[[`number`,`number`],`boolean`],FPDFAnnot_IsObjectSupportedSubtype:[[`number`],`boolean`],FPDFAnnot_IsOptionSelected:[[`number`,`number`,`number`],`boolean`],FPDFAnnot_IsSupportedSubtype:[[`number`],`boolean`],FPDFAnnot_RemoveInkList:[[`number`],`boolean`],FPDFAnnot_RemoveObject:[[`number`,`number`],`boolean`],FPDFAnnot_SetAP:[[`number`,`number`,`number`],`boolean`],FPDFAnnot_SetAttachmentPoints:[[`number`,`number`,`number`],`boolean`],FPDFAnnot_SetBorder:[[`number`,`number`,`number`,`number`],`boolean`],FPDFAnnot_SetColor:[[`number`,`number`,`number`,`number`,`number`,`number`],`boolean`],FPDFAnnot_SetFlags:[[`number`,`number`],`boolean`],FPDFAnnot_SetFocusableSubtypes:[[`number`,`number`,`number`],`boolean`],FPDFAnnot_SetFontColor:[[`number`,`number`,`number`,`number`,`number`],`boolean`],FPDFAnnot_SetFormFieldFlags:[[`number`,`number`,`number`],`boolean`],FPDFAnnot_SetRect:[[`number`,`number`],`boolean`],FPDFAnnot_SetStringValue:[[`number`,`string`,`number`],`boolean`],FPDFAnnot_SetURI:[[`number`,`number`],`boolean`],FPDFAnnot_UpdateObject:[[`number`,`number`],`boolean`],FPDFAttachment_GetFile:[[`number`,`number`,`number`,`number`],`boolean`],FPDFAttachment_GetName:[[`number`,`number`,`number`],`number`],FPDFAttachment_GetStringValue:[[`number`,`string`,`number`,`number`],`number`],FPDFAttachment_GetSubtype:[[`number`,`number`,`number`],`number`],FPDFAttachment_GetValueType:[[`number`,`string`],`number`],FPDFAttachment_HasKey:[[`number`,`string`],`boolean`],FPDFAttachment_SetFile:[[`number`,`number`,`number`,`number`],`boolean`],FPDFAttachment_SetStringValue:[[`number`,`string`,`number`],`boolean`],FPDFAvail_Create:[[`number`,`number`],`number`],FPDFAvail_Destroy:[[`number`],null],FPDFAvail_GetDocument:[[`number`,`string`],`number`],FPDFAvail_GetFirstPageNum:[[`number`],`number`],FPDFAvail_IsDocAvail:[[`number`,`number`],`number`],FPDFAvail_IsFormAvail:[[`number`,`number`],`number`],FPDFAvail_IsLinearized:[[`number`],`number`],FPDFAvail_IsPageAvail:[[`number`,`number`,`number`],`number`],FPDFBitmap_Create:[[`number`,`number`,`number`],`number`],FPDFBitmap_CreateEx:[[`number`,`number`,`number`,`number`,`number`],`number`],FPDFBitmap_Destroy:[[`number`],null],FPDFBitmap_FillRect:[[`number`,`number`,`number`,`number`,`number`,`number`],`boolean`],FPDFBitmap_GetBuffer:[[`number`],`number`],FPDFBitmap_GetFormat:[[`number`],`number`],FPDFBitmap_GetHeight:[[`number`],`number`],FPDFBitmap_GetStride:[[`number`],`number`],FPDFBitmap_GetWidth:[[`number`],`number`],FPDFBookmark_Find:[[`number`,`number`],`number`],FPDFBookmark_GetAction:[[`number`],`number`],FPDFBookmark_GetCount:[[`number`],`number`],FPDFBookmark_GetDest:[[`number`,`number`],`number`],FPDFBookmark_GetFirstChild:[[`number`,`number`],`number`],FPDFBookmark_GetNextSibling:[[`number`,`number`],`number`],FPDFBookmark_GetTitle:[[`number`,`number`,`number`],`number`],FPDFCatalog_GetLanguage:[[`number`,`number`,`number`],`number`],FPDFCatalog_IsTagged:[[`number`],`boolean`],FPDFCatalog_SetLanguage:[[`number`,`number`],`boolean`],FPDFClipPath_CountPaths:[[`number`],`number`],FPDFClipPath_CountPathSegments:[[`number`,`number`],`number`],FPDFClipPath_GetPathSegment:[[`number`,`number`,`number`],`number`],FPDFDest_GetDestPageIndex:[[`number`,`number`],`number`],FPDFDest_GetLocationInPage:[[`number`,`number`,`number`,`number`,`number`,`number`,`number`],`boolean`],FPDFDest_GetView:[[`number`,`number`,`number`],`number`],FPDFDoc_AddAttachment:[[`number`,`number`],`number`],FPDFDoc_CloseJavaScriptAction:[[`number`],null],FPDFDoc_DeleteAttachment:[[`number`,`number`],`boolean`],FPDFDOC_ExitFormFillEnvironment:[[`number`],null],FPDFDoc_GetAttachment:[[`number`,`number`],`number`],FPDFDoc_GetAttachmentCount:[[`number`],`number`],FPDFDoc_GetJavaScriptAction:[[`number`,`number`],`number`],FPDFDoc_GetJavaScriptActionCount:[[`number`],`number`],FPDFDoc_GetPageMode:[[`number`],`number`],FPDFDOC_InitFormFillEnvironment:[[`number`,`number`],`number`],FPDFFont_Close:[[`number`],null],FPDFFont_GetAscent:[[`number`,`number`,`number`],`boolean`],FPDFFont_GetBaseFontName:[[`number`,`number`,`number`],`number`],FPDFFont_GetDescent:[[`number`,`number`,`number`],`boolean`],FPDFFont_GetFamilyName:[[`number`,`number`,`number`],`number`],FPDFFont_GetFlags:[[`number`],`number`],FPDFFont_GetFontData:[[`number`,`number`,`number`,`number`],`boolean`],FPDFFont_GetGlyphPath:[[`number`,`number`,`number`],`number`],FPDFFont_GetGlyphWidth:[[`number`,`number`,`number`,`number`],`boolean`],FPDFFont_GetIsEmbedded:[[`number`],`number`],FPDFFont_GetItalicAngle:[[`number`,`number`],`boolean`],FPDFFont_GetWeight:[[`number`],`number`],FPDFFormObj_CountObjects:[[`number`],`number`],FPDFFormObj_GetObject:[[`number`,`number`],`number`],FPDFFormObj_RemoveObject:[[`number`,`number`],`boolean`],FPDFGlyphPath_CountGlyphSegments:[[`number`],`number`],FPDFGlyphPath_GetGlyphPathSegment:[[`number`,`number`],`number`],FPDFImageObj_GetBitmap:[[`number`],`number`],FPDFImageObj_GetIccProfileDataDecoded:[[`number`,`number`,`number`,`number`,`number`],`boolean`],FPDFImageObj_GetImageDataDecoded:[[`number`,`number`,`number`],`number`],FPDFImageObj_GetImageDataRaw:[[`number`,`number`,`number`],`number`],FPDFImageObj_GetImageFilter:[[`number`,`number`,`number`,`number`],`number`],FPDFImageObj_GetImageFilterCount:[[`number`],`number`],FPDFImageObj_GetImageMetadata:[[`number`,`number`,`number`],`boolean`],FPDFImageObj_GetImagePixelSize:[[`number`,`number`,`number`],`boolean`],FPDFImageObj_GetRenderedBitmap:[[`number`,`number`,`number`],`number`],FPDFImageObj_LoadJpegFile:[[`number`,`number`,`number`,`number`],`boolean`],FPDFImageObj_LoadJpegFileInline:[[`number`,`number`,`number`,`number`],`boolean`],FPDFImageObj_SetBitmap:[[`number`,`number`,`number`,`number`],`boolean`],FPDFImageObj_SetMatrix:[[`number`,`number`,`number`,`number`,`number`,`number`,`number`],`boolean`],FPDFJavaScriptAction_GetName:[[`number`,`number`,`number`],`number`],FPDFJavaScriptAction_GetScript:[[`number`,`number`,`number`],`number`],FPDFLink_CloseWebLinks:[[`number`],null],FPDFLink_CountQuadPoints:[[`number`],`number`],FPDFLink_CountRects:[[`number`,`number`],`number`],FPDFLink_CountWebLinks:[[`number`],`number`],FPDFLink_Enumerate:[[`number`,`number`,`number`],`boolean`],FPDFLink_GetAction:[[`number`],`number`],FPDFLink_GetAnnot:[[`number`,`number`],`number`],FPDFLink_GetAnnotRect:[[`number`,`number`],`boolean`],FPDFLink_GetDest:[[`number`,`number`],`number`],FPDFLink_GetLinkAtPoint:[[`number`,`number`,`number`],`number`],FPDFLink_GetLinkZOrderAtPoint:[[`number`,`number`,`number`],`number`],FPDFLink_GetQuadPoints:[[`number`,`number`,`number`],`boolean`],FPDFLink_GetRect:[[`number`,`number`,`number`,`number`,`number`,`number`,`number`],`boolean`],FPDFLink_GetTextRange:[[`number`,`number`,`number`,`number`],`boolean`],FPDFLink_GetURL:[[`number`,`number`,`number`,`number`],`number`],FPDFLink_LoadWebLinks:[[`number`],`number`],FPDFPage_CloseAnnot:[[`number`],null],FPDFPage_CountObjects:[[`number`],`number`],FPDFPage_CreateAnnot:[[`number`,`number`],`number`],FPDFPage_Delete:[[`number`,`number`],null],FPDFPage_Flatten:[[`number`,`number`],`number`],FPDFPage_FormFieldZOrderAtPoint:[[`number`,`number`,`number`,`number`],`number`],FPDFPage_GenerateContent:[[`number`],`boolean`],FPDFPage_GetAnnot:[[`number`,`number`],`number`],FPDFPage_GetAnnotCount:[[`number`],`number`],FPDFPage_GetAnnotIndex:[[`number`,`number`],`number`],FPDFPage_GetArtBox:[[`number`,`number`,`number`,`number`,`number`],`boolean`],FPDFPage_GetBleedBox:[[`number`,`number`,`number`,`number`,`number`],`boolean`],FPDFPage_GetCropBox:[[`number`,`number`,`number`,`number`,`number`],`boolean`],FPDFPage_GetDecodedThumbnailData:[[`number`,`number`,`number`],`number`],FPDFPage_GetMediaBox:[[`number`,`number`,`number`,`number`,`number`],`boolean`],FPDFPage_GetObject:[[`number`,`number`],`number`],FPDFPage_GetRawThumbnailData:[[`number`,`number`,`number`],`number`],FPDFPage_GetRotation:[[`number`],`number`],FPDFPage_GetThumbnailAsBitmap:[[`number`],`number`],FPDFPage_GetTrimBox:[[`number`,`number`,`number`,`number`,`number`],`boolean`],FPDFPage_HasFormFieldAtPoint:[[`number`,`number`,`number`,`number`],`number`],FPDFPage_HasTransparency:[[`number`],`boolean`],FPDFPage_InsertClipPath:[[`number`,`number`],null],FPDFPage_InsertObject:[[`number`,`number`],null],FPDFPage_InsertObjectAtIndex:[[`number`,`number`,`number`],`boolean`],FPDFPage_New:[[`number`,`number`,`number`,`number`],`number`],FPDFPage_RemoveAnnot:[[`number`,`number`],`boolean`],FPDFPage_RemoveObject:[[`number`,`number`],`boolean`],FPDFPage_SetArtBox:[[`number`,`number`,`number`,`number`,`number`],null],FPDFPage_SetBleedBox:[[`number`,`number`,`number`,`number`,`number`],null],FPDFPage_SetCropBox:[[`number`,`number`,`number`,`number`,`number`],null],FPDFPage_SetMediaBox:[[`number`,`number`,`number`,`number`,`number`],null],FPDFPage_SetRotation:[[`number`,`number`],null],FPDFPage_SetTrimBox:[[`number`,`number`,`number`,`number`,`number`],null],FPDFPage_TransformAnnots:[[`number`,`number`,`number`,`number`,`number`,`number`,`number`],null],FPDFPage_TransFormWithClip:[[`number`,`number`,`number`],`boolean`],FPDFPageObj_AddMark:[[`number`,`string`],`number`],FPDFPageObj_CountMarks:[[`number`],`number`],FPDFPageObj_CreateNewPath:[[`number`,`number`],`number`],FPDFPageObj_CreateNewRect:[[`number`,`number`,`number`,`number`],`number`],FPDFPageObj_CreateTextObj:[[`number`,`number`,`number`],`number`],FPDFPageObj_Destroy:[[`number`],null],FPDFPageObj_GetBounds:[[`number`,`number`,`number`,`number`,`number`],`boolean`],FPDFPageObj_GetClipPath:[[`number`],`number`],FPDFPageObj_GetDashArray:[[`number`,`number`,`number`],`boolean`],FPDFPageObj_GetDashCount:[[`number`],`number`],FPDFPageObj_GetDashPhase:[[`number`,`number`],`boolean`],FPDFPageObj_GetFillColor:[[`number`,`number`,`number`,`number`,`number`],`boolean`],FPDFPageObj_GetIsActive:[[`number`,`number`],`boolean`],FPDFPageObj_GetLineCap:[[`number`],`number`],FPDFPageObj_GetLineJoin:[[`number`],`number`],FPDFPageObj_GetMark:[[`number`,`number`],`number`],FPDFPageObj_GetMarkedContentID:[[`number`],`number`],FPDFPageObj_GetMatrix:[[`number`,`number`],`boolean`],FPDFPageObj_GetRotatedBounds:[[`number`,`number`],`boolean`],FPDFPageObj_GetStrokeColor:[[`number`,`number`,`number`,`number`,`number`],`boolean`],FPDFPageObj_GetStrokeWidth:[[`number`,`number`],`boolean`],FPDFPageObj_GetType:[[`number`],`number`],FPDFPageObj_HasTransparency:[[`number`],`boolean`],FPDFPageObj_NewImageObj:[[`number`],`number`],FPDFPageObj_NewTextObj:[[`number`,`string`,`number`],`number`],FPDFPageObj_RemoveMark:[[`number`,`number`],`boolean`],FPDFPageObj_SetBlendMode:[[`number`,`string`],null],FPDFPageObj_SetDashArray:[[`number`,`number`,`number`,`number`],`boolean`],FPDFPageObj_SetDashPhase:[[`number`,`number`],`boolean`],FPDFPageObj_SetFillColor:[[`number`,`number`,`number`,`number`,`number`],`boolean`],FPDFPageObj_SetIsActive:[[`number`,`boolean`],`boolean`],FPDFPageObj_SetLineCap:[[`number`,`number`],`boolean`],FPDFPageObj_SetLineJoin:[[`number`,`number`],`boolean`],FPDFPageObj_SetMatrix:[[`number`,`number`],`boolean`],FPDFPageObj_SetStrokeColor:[[`number`,`number`,`number`,`number`,`number`],`boolean`],FPDFPageObj_SetStrokeWidth:[[`number`,`number`],`boolean`],FPDFPageObj_Transform:[[`number`,`number`,`number`,`number`,`number`,`number`,`number`],null],FPDFPageObj_TransformClipPath:[[`number`,`number`,`number`,`number`,`number`,`number`,`number`],null],FPDFPageObj_TransformF:[[`number`,`number`],`boolean`],FPDFPageObjMark_CountParams:[[`number`],`number`],FPDFPageObjMark_GetName:[[`number`,`number`,`number`,`number`],`boolean`],FPDFPageObjMark_GetParamBlobValue:[[`number`,`string`,`number`,`number`,`number`],`boolean`],FPDFPageObjMark_GetParamFloatValue:[[`number`,`string`,`number`],`boolean`],FPDFPageObjMark_GetParamIntValue:[[`number`,`string`,`number`],`boolean`],FPDFPageObjMark_GetParamKey:[[`number`,`number`,`number`,`number`,`number`],`boolean`],FPDFPageObjMark_GetParamStringValue:[[`number`,`string`,`number`,`number`,`number`],`boolean`],FPDFPageObjMark_GetParamValueType:[[`number`,`string`],`number`],FPDFPageObjMark_RemoveParam:[[`number`,`number`,`string`],`boolean`],FPDFPageObjMark_SetBlobParam:[[`number`,`number`,`number`,`string`,`number`,`number`],`boolean`],FPDFPageObjMark_SetFloatParam:[[`number`,`number`,`number`,`string`,`number`],`boolean`],FPDFPageObjMark_SetIntParam:[[`number`,`number`,`number`,`string`,`number`],`boolean`],FPDFPageObjMark_SetStringParam:[[`number`,`number`,`number`,`string`,`string`],`boolean`],FPDFPath_BezierTo:[[`number`,`number`,`number`,`number`,`number`,`number`,`number`],`boolean`],FPDFPath_Close:[[`number`],`boolean`],FPDFPath_CountSegments:[[`number`],`number`],FPDFPath_GetDrawMode:[[`number`,`number`,`number`],`boolean`],FPDFPath_GetPathSegment:[[`number`,`number`],`number`],FPDFPath_LineTo:[[`number`,`number`,`number`],`boolean`],FPDFPath_MoveTo:[[`number`,`number`,`number`],`boolean`],FPDFPath_SetDrawMode:[[`number`,`number`,`boolean`],`boolean`],FPDFPathSegment_GetClose:[[`number`],`boolean`],FPDFPathSegment_GetPoint:[[`number`,`number`,`number`],`boolean`],FPDFPathSegment_GetType:[[`number`],`number`],FPDFSignatureObj_GetByteRange:[[`number`,`number`,`number`],`number`],FPDFSignatureObj_GetContents:[[`number`,`number`,`number`],`number`],FPDFSignatureObj_GetDocMDPPermission:[[`number`],`number`],FPDFSignatureObj_GetReason:[[`number`,`number`,`number`],`number`],FPDFSignatureObj_GetSubFilter:[[`number`,`number`,`number`],`number`],FPDFSignatureObj_GetTime:[[`number`,`number`,`number`],`number`],FPDFText_ClosePage:[[`number`],null],FPDFText_CountChars:[[`number`],`number`],FPDFText_CountRects:[[`number`,`number`,`number`],`number`],FPDFText_FindClose:[[`number`],null],FPDFText_FindNext:[[`number`],`boolean`],FPDFText_FindPrev:[[`number`],`boolean`],FPDFText_FindStart:[[`number`,`number`,`number`,`number`],`number`],FPDFText_GetBoundedText:[[`number`,`number`,`number`,`number`,`number`,`number`,`number`],`number`],FPDFText_GetCharAngle:[[`number`,`number`],`number`],FPDFText_GetCharBox:[[`number`,`number`,`number`,`number`,`number`,`number`],`boolean`],FPDFText_GetCharIndexAtPos:[[`number`,`number`,`number`,`number`,`number`],`number`],FPDFText_GetCharIndexFromTextIndex:[[`number`,`number`],`number`],FPDFText_GetCharOrigin:[[`number`,`number`,`number`,`number`],`boolean`],FPDFText_GetFillColor:[[`number`,`number`,`number`,`number`,`number`,`number`],`boolean`],FPDFText_GetFontInfo:[[`number`,`number`,`number`,`number`,`number`],`number`],FPDFText_GetFontSize:[[`number`,`number`],`number`],FPDFText_GetFontWeight:[[`number`,`number`],`number`],FPDFText_GetLooseCharBox:[[`number`,`number`,`number`],`boolean`],FPDFText_GetMatrix:[[`number`,`number`,`number`],`boolean`],FPDFText_GetRect:[[`number`,`number`,`number`,`number`,`number`,`number`],`boolean`],FPDFText_GetSchCount:[[`number`],`number`],FPDFText_GetSchResultIndex:[[`number`],`number`],FPDFText_GetStrokeColor:[[`number`,`number`,`number`,`number`,`number`,`number`],`boolean`],FPDFText_GetText:[[`number`,`number`,`number`,`number`],`number`],FPDFText_GetTextIndexFromCharIndex:[[`number`,`number`],`number`],FPDFText_GetTextObject:[[`number`,`number`],`number`],FPDFText_GetUnicode:[[`number`,`number`],`number`],FPDFText_HasUnicodeMapError:[[`number`,`number`],`number`],FPDFText_IsGenerated:[[`number`,`number`],`number`],FPDFText_IsHyphen:[[`number`,`number`],`number`],FPDFText_LoadCidType2Font:[[`number`,`number`,`number`,`string`,`number`,`number`],`number`],FPDFText_LoadFont:[[`number`,`number`,`number`,`number`,`boolean`],`number`],FPDFText_LoadPage:[[`number`],`number`],FPDFText_LoadStandardFont:[[`number`,`string`],`number`],FPDFText_SetCharcodes:[[`number`,`number`,`number`],`boolean`],FPDFText_SetText:[[`number`,`number`],`boolean`],FPDFTextObj_GetFont:[[`number`],`number`],FPDFTextObj_GetFontSize:[[`number`,`number`],`boolean`],FPDFTextObj_GetRenderedBitmap:[[`number`,`number`,`number`,`number`],`number`],FPDFTextObj_GetText:[[`number`,`number`,`number`,`number`],`number`],FPDFTextObj_GetTextRenderMode:[[`number`],`number`],FPDFTextObj_SetTextRenderMode:[[`number`,`number`],`boolean`],PDFiumExt_CloseFileWriter:[[`number`],null],PDFiumExt_CloseFormFillInfo:[[`number`],null],PDFiumExt_ExitFormFillEnvironment:[[`number`],null],PDFiumExt_GetFileWriterData:[[`number`,`number`,`number`],`number`],PDFiumExt_GetFileWriterSize:[[`number`],`number`],PDFiumExt_Init:[[],null],PDFiumExt_InitFormFillEnvironment:[[`number`,`number`],`number`],PDFiumExt_OpenFileWriter:[[],`number`],PDFiumExt_OpenFormFillInfo:[[],`number`],PDFiumExt_SaveAsCopy:[[`number`,`number`],`number`]};async function n(e){let n={pdfium:e};for(let r in t){let i=r,a=t[i][0],o=t[i][1];n[i]=e.cwrap(r,o,a)}return n}async function r(t){return n(await e(t))}var i=class{runtime;fileLength;reader;recordCallbackError;recordCleanupError;#e=0;#t=0;#n=0;#r=0;#i=0;#a=0;#o=!1;constructor(e,t,n,r,i){this.runtime=e,this.fileLength=t,this.reader=n,this.recordCallbackError=r,this.recordCleanupError=i}get fileAccess(){return this.#e}get fileAvail(){return this.#t}get downloadHints(){return this.#n}initialize(){if(this.#e!==0)throw Error(`PDFium file access is already initialized.`);this.#e=this.#s(12),this.#t=this.#s(8),this.#n=this.#s(8);let e=(e,t,n,r)=>{try{return+!!this.reader.readInto(a(t),this.runtime.getHeap(),a(n),a(r))}catch(e){return this.recordCallbackError(e),0}},t=(e,t,n)=>{try{return+!!this.reader.isRangeAvailable(a(t),a(n))}catch(e){return this.recordCallbackError(e),0}},n=(e,t,n)=>{try{this.reader.hintRange(a(t),a(n))}catch(e){this.recordCallbackError(e)}};this.#r=this.#c(e,`iiiii`),this.#i=this.#c(t,`iiii`),this.#a=this.#c(n,`viii`),this.runtime.setValue(this.#e,this.fileLength,`i32`),this.runtime.setValue(this.#e+4,this.#r,`i32`),this.runtime.setValue(this.#e+8,0,`i32`),this.runtime.setValue(this.#t,1,`i32`),this.runtime.setValue(this.#t+4,this.#i,`i32`),this.runtime.setValue(this.#n,1,`i32`),this.runtime.setValue(this.#n+4,this.#a,`i32`)}dispose(){if(!this.#o){this.#o=!0;for(let e of[this.#a,this.#i,this.#r])if(!this.#l(e))return;this.#a=0,this.#i=0,this.#r=0;for(let e of[this.#n,this.#t,this.#e])if(!this.#u(e))return;this.#n=0,this.#t=0,this.#e=0}}#s(e){let t=this.runtime.malloc(e);if(t===0)throw Error(`Could not allocate PDFium range availability data.`);return t}#c(e,t){let n=this.runtime.addFunction(e,t);if(n===0)throw Error(`Could not register a PDFium range callback.`);return n}#l(e){if(e===0)return!0;try{return this.runtime.removeFunction(e),!0}catch(e){return this.recordCleanupError(e),!1}}#u(e){if(e===0)return!0;try{return this.runtime.free(e),!0}catch(e){return this.recordCleanupError(e),!1}}};function a(e){return e>>>0}var o=class extends Error{constructor(e){let t=e instanceof Error?e.message:`PDFium entered an unusable state.`;super(t,{cause:e}),this.name=`PdfiumAvailabilityFatalError`}},s=class e{pdfium;loader;signal;#e=null;#t=0;#n=0;#r=null;#i=null;#a;#o=null;#s=0;#c=0;#l=!1;#u=!1;constructor(e,t,n){this.pdfium=e,this.loader=t,this.signal=n,this.#a=t.cacheEpoch}static async open(t,n,r){let i=new e(t,n,r);try{return i.#d(),await i.#f(),i}catch(e){throw i.#S(e),i.dispose(),i.isPoisoned?new o(e):e}}get documentHandle(){if(this.#n===0)throw Error(`The PDF document is not open.`);return this.#n}get pageCount(){if(this.#r===null)throw Error(`The PDF document is not open.`);return this.#r}get isPoisoned(){return this.#l}beginPageOperation(){this.#s=0,this.#c=0}completePageOperation(){this.#s=0,this.#c=0}runNative(e,t){if(this.#u)throw Error(`The PDFium availability session is disposed.`);if(this.#l)throw Error(`The PDFium availability session cannot be reused after a native failure.`);this.#o=null;let n;try{n=e()}catch(e){throw this.#S(e),e}if(t?.(n),this.#o!==null)throw this.#S(this.#o),this.#o;return n}markNativeFailure(e){this.#S(e)}async ensureDocumentAvailable(){this.#b(),await this.#p(),this.#b(),await this.#f(),this.#b()}async preparePageSizeFallback(e){if(this.#b(),await this.ensureDocumentAvailable(),!Number.isSafeInteger(e)||e<0||e>=this.pageCount)throw RangeError(`Page index must be between 0 and ${this.pageCount-1}.`);if(this.#i!==!0)throw Error(`PDFium could not resolve the requested page size from the open document.`);let t=this.runNative(()=>this.pdfium.FPDFAvail_IsPageAvail(this.#t,e,this.#w().downloadHints));if(t<0&&this.#y(`PDFium could not inspect the requested page`),t===1&&!this.loader.hasMissingChunks)return this.loader.clearRangeHints(),!0;if(await this.#m(!0)===0)throw Error(`PDFium could not make progress loading the requested page metadata ranges.`);return t===1&&(await this.#h(),this.#b(),await this.#f()),this.#b(),!1}async ensurePageAvailable(e){if(this.#b(),await this.ensureDocumentAvailable(),this.#b(),!Number.isSafeInteger(e)||e<0||e>=this.pageCount)throw RangeError(`Page index must be between 0 and ${this.pageCount-1}.`);for(let t=0;t<128;t+=1){if(this.#b(),await this.ensureDocumentAvailable(),this.#i!==!0)return;let t=this.runNative(()=>this.pdfium.FPDFAvail_IsPageAvail(this.#t,e,this.#w().downloadHints));if(t<0&&this.#y(`PDFium could not inspect the requested page`),t===1&&!this.loader.hasMissingChunks){this.loader.clearRangeHints();return}if(await this.#m(!0)===0)throw Error(`PDFium could not make progress loading the requested page ranges.`);t===1&&(await this.#h(),this.#b(),await this.#f())}throw Error(`PDFium could not prepare the requested page within 128 range attempts.`)}async recoverAfterReadMiss(){if(this.loader.hasMissingChunks){for(let e=0;e<128;e+=1){if(this.#b(),await this.#m()===0)throw Error(`PDFium could not make progress loading the requested page ranges.`);if(!this.loader.hasMissingChunks)break}if(this.loader.hasMissingChunks)throw Error(`The requested PDF page needs more data than the 64 MiB range cache can retain.`);this.#b(),this.loader.clearRangeHints(),await this.#h(),this.#b(),await this.#f()}}dispose(){if(!this.#u&&(this.#u=!0,!this.#l)){if(this.#n!==0){let e=this.#n;if(this.#n=0,!this.#v(()=>this.pdfium.FPDF_CloseDocument(e)))return}if(this.#t!==0){let e=this.#t;if(this.#t=0,!this.#v(()=>this.pdfium.FPDFAvail_Destroy(e)))return}this.#i=null,this.#e?.dispose(),this.#e=null}}#d(){let e=this.loader.totalLength;if(e===null)throw Error(`PDF range loader is not initialized.`);this.#e=new i(this.pdfium.runtime,e,this.loader,e=>this.#x(e),()=>this.#C()),this.#e.initialize(),this.#_()}async#f(){if(this.#n===0){for(let e=0;e<128;e+=1){this.#b(),await this.#p(),this.#b(),this.#t===0&&this.#_();let e=this.runNative(()=>this.pdfium.FPDFAvail_IsDocAvail(this.#t,this.#w().downloadHints));e<0&&this.#y(`PDFium could not inspect the document`);let t=e===1&&this.loader.hasMissingChunks;if(e===1&&!this.loader.hasMissingChunks){if(this.loader.clearRangeHints(),this.runNative(()=>this.pdfium.FPDFAvail_GetDocument(this.#t,``),e=>{this.#n=e}),this.#n!==0){if(this.loader.hasMissingChunks)t=!0;else{let e=this.runNative(()=>this.pdfium.FPDF_GetPageCount(this.#n));if(this.loader.hasMissingChunks)t=!0;else if(!Number.isSafeInteger(e)||e<1)this.#y(`PDFium returned an invalid page count`);else{this.#r=e;let n=this.runNative(()=>this.pdfium.FPDFAvail_IsLinearized(this.#t));if(this.loader.hasMissingChunks)t=!0;else{this.#i=n===1||n!==0&&null;return}}}}this.#n===0&&!this.loader.hasMissingChunks&&this.#y(`PDFium could not open the document`)}if(await this.#m(!0)===0)throw Error(`PDFium could not make progress loading document ranges.`);(t||this.#n!==0||this.loader.cacheEpoch!==this.#a)&&await this.#h()}throw Error(`PDFium could not prepare the document within 128 range attempts.`)}}async#p(){this.#t!==0&&this.#a!==this.loader.cacheEpoch&&await this.#h()}async#m(e=!1){if(this.#b(),this.#c>=128)throw Error(`PDFium could not prepare the requested page within 128 range-fetch batches.`);this.#c+=1;let t=await this.loader.fetchMissingChunks(e);return this.#b(),t}async#h(){if(this.#s+=1,this.#s>128)throw Error(`PDFium could not keep the required ranges within the 64 MiB working cache.`);this.#g(),this.#a=this.loader.cacheEpoch,this.#_()}#g(){if(this.#n!==0){let e=this.#n;this.#n=0,this.runNative(()=>this.pdfium.FPDF_CloseDocument(e))}if(this.#r=null,this.#t!==0){let e=this.#t;this.#t=0,this.runNative(()=>this.pdfium.FPDFAvail_Destroy(e))}}#_(){if(this.#t!==0)return;this.#i=null;let e=this.#w();this.runNative(()=>this.pdfium.FPDFAvail_Create(e.fileAvail,e.fileAccess),e=>{this.#t=e}),this.#t===0&&this.#y(`PDFium could not create range availability state`),this.#a=this.loader.cacheEpoch}#v(e){try{return e(),!0}catch{return this.#C(),!1}}#y(e){let t=this.runNative(()=>this.pdfium.FPDF_GetLastError());throw Error(`${e} (error ${t}).`)}#b(){if(this.signal.aborted||this.#u)throw new DOMException(`PDF loading was cancelled.`,`AbortError`)}#x(e){this.#o===null&&(this.#o=e instanceof Error?e:/* @__PURE__ */ Error(`PDFium requested an invalid range.`))}#S(e){e instanceof WebAssembly.RuntimeError&&(this.#l=!0)}#C(){this.#l=!0}#w(){if(this.#e===null)throw Error(`PDFium file access is not initialized.`);return this.#e}};function c(e,t,n,r,i){let a=0,o=null,s,c=!1;try{if(a=t.runNative(()=>e.FPDF_LoadPage(t.documentHandle,r),e=>{a=e}),a===0){if(!n.hasMissingChunks){let n=t.runNative(()=>e.FPDF_GetLastError());throw Error(`PDFium could not load page ${r} (error ${n}).`)}}else if(!n.hasMissingChunks){let e=i(a);!n.hasMissingChunks&&e!==null&&(o=e)}}catch(e){s=e,c=!0,t.markNativeFailure(e)}if(a!==0&&!t.isPoisoned)try{t.runNative(()=>e.FPDF_ClosePage(a))}catch(e){t.markNativeFailure(e),c||=(s=e,!0)}if(c)throw s;if(o===null&&!n.hasMissingChunks)throw Error(`PDFium did not complete the page operation.`);return o}function l(e,t,n,r,i){let a=n*4,o=a*r;if(!Number.isSafeInteger(t)||t<0||!Number.isSafeInteger(n)||n<1||!Number.isSafeInteger(r)||r<1||!Number.isSafeInteger(a)||a<1||!Number.isSafeInteger(o)||o<1||!Number.isSafeInteger(i)||i<a)throw Error(`PDFium returned an invalid bitmap buffer.`);let s=t+(r-1)*i,c=s+a;if(!Number.isSafeInteger(s)||!Number.isSafeInteger(c)||c>e.byteLength)throw Error(`PDFium returned an invalid bitmap buffer.`);let l=new Uint8Array(o);for(let n=0;n<r;n+=1){let r=t+n*i;l.set(e.subarray(r,r+a),n*a)}return l.buffer}function u(e,t,n,r,i,a){let o=d(a),s=n*o,c=n*r;if(!Number.isSafeInteger(t)||t<0||!Number.isSafeInteger(n)||n<1||!Number.isSafeInteger(r)||r<1||!Number.isSafeInteger(s)||!Number.isSafeInteger(c)||c>16e4||!Number.isSafeInteger(i)||i<s)throw Error(`PDFium returned an invalid thumbnail bitmap.`);let l=t+(r-1)*i+s;if(!Number.isSafeInteger(l)||l>e.byteLength)throw Error(`PDFium returned an invalid thumbnail bitmap.`);let u=new Uint8Array(c*4);for(let s=0;s<r;s+=1)for(let r=0;r<n;r+=1){let c=t+s*i+r*o;f(u,(s*n+r)*4,e,c,a)}return u.buffer}function d(e){switch(e){case 1:return 1;case 2:return 3;case 3:case 4:case 5:return 4;default:throw Error(`PDFium returned an unsupported thumbnail bitmap format.`)}}function f(e,t,n,r,i){if(i===1){let i=n[r]??0;e[t]=i,e[t+1]=i,e[t+2]=i,e[t+3]=255;return}let a=n[r]??0,o=n[r+1]??0,s=n[r+2]??0,c=i===4||i===5?n[r+3]??0:255;i===5&&c>0?(e[t]=p(s,c),e[t+1]=p(o,c),e[t+2]=p(a,c)):(e[t]=c===0?0:s,e[t+1]=c===0?0:o,e[t+2]=c===0?0:a),e[t+3]=c}function p(e,t){return Math.min(255,Math.round(e*255/t))}function ee(e){return Object.values(e).reduce((e,t)=>e|(t??0),0)}let te={annotations:1,reverseByteOrder:16};function m(e,t,n,r,i=!1){let a=0,o=null,s,l=!1;try{if(a=t.runNative(()=>e.pdfium.wasmExports.malloc(8),e=>{a=e}),a===0)throw Error(`PDFium could not allocate page-size output memory.`);t.runNative(()=>e.FPDF_GetPageSizeByIndexF(t.documentHandle,r,a))&&!n.hasMissingChunks?o=ne(e,a):!n.hasMissingChunks&&i&&(o=c(e,t,n,r,n=>h(e,t,n)))}catch(e){s=e,l=!0,t.markNativeFailure(e)}if(a!==0&&!t.isPoisoned)try{t.runNative(()=>e.pdfium.wasmExports.free(a))}catch(e){t.markNativeFailure(e),l||=(s=e,!0)}if(l)throw s;return o}function ne(e,t){let n=v(e);if(t>n.byteLength-8)throw Error(`PDFium returned an invalid page-size output buffer.`);let r=new DataView(n.buffer,n.byteOffset+t,8);return g({width:r.getFloat32(0,!0),height:r.getFloat32(Float32Array.BYTES_PER_ELEMENT,!0)})}function h(e,t,n){return g(t.runNative(()=>({width:e.FPDF_GetPageWidthF(n),height:e.FPDF_GetPageHeightF(n)})))}function g(e){if(!Number.isFinite(e.width)||!Number.isFinite(e.height)||e.width<=0||e.height<=0)throw Error(`PDFium returned invalid page dimensions.`);return e}function _(e,t,n,r,i){return c(e,t,n,r,r=>y(e,t,n,r,i))}function v(e){return e.pdfium.HEAPU8}function y(e,t,n,r,i){let a=t.runNative(()=>({width:e.FPDF_GetPageWidthF(r),height:e.FPDF_GetPageHeightF(r)}));if(n.hasMissingChunks)return null;if(!Number.isFinite(a.width)||!Number.isFinite(a.height)||a.width<=0||a.height<=0)throw Error(`PDFium returned invalid page dimensions.`);let o=Math.ceil(a.width*i),s=Math.ceil(a.height*i);if(!Number.isSafeInteger(o)||!Number.isSafeInteger(s)||o<1||s<1)throw Error(`PDFium returned invalid scaled page dimensions.`);if(o*s>8388608)throw Error(`The requested PDF page exceeds the 32 MiB pixel output limit.`);let c=0,u=null,d,f=!1;try{if(c=t.runNative(()=>e.FPDFBitmap_Create(o,s,1),e=>{c=e}),c===0)throw Error(`PDFium could not allocate the page bitmap.`);if(n.hasMissingChunks||t.runNative(()=>e.FPDFBitmap_FillRect(c,0,0,o,s,4294967295)),n.hasMissingChunks||t.runNative(()=>e.FPDF_RenderPageBitmap(c,r,0,0,o,s,0,ee(te))),!n.hasMissingChunks){let{stride:r,sourcePointer:i}=t.runNative(()=>({stride:e.FPDFBitmap_GetStride(c),sourcePointer:e.FPDFBitmap_GetBuffer(c)}));n.hasMissingChunks||(u={type:`pixels`,width:o,height:s,pixels:l(v(e),i,o,s,r)})}}catch(e){d=e,f=!0,t.markNativeFailure(e)}if(c!==0&&!t.isPoisoned)try{t.runNative(()=>e.FPDFBitmap_Destroy(c))}catch(e){t.markNativeFailure(e),f||=(d=e,!0)}if(f)throw d;if(u===null&&!n.hasMissingChunks)throw Error(`PDFium did not complete the page render.`);return u}function b(e,t,n,r){return c(e,t,n,r,r=>x(e,t,n,r))}function x(e,t,n,r){let i=e.FPDFPage_GetThumbnailAsBitmap;if(typeof i!=`function`)return{type:`none`};let a=0,o={type:`none`},s,c=!1;try{if(a=t.runNative(()=>i(r),e=>{a=e}),a!==0&&!n.hasMissingChunks){let{width:r,height:i,stride:s,sourcePointer:c,format:l}=t.runNative(()=>({width:e.FPDFBitmap_GetWidth(a),height:e.FPDFBitmap_GetHeight(a),stride:e.FPDFBitmap_GetStride(a),sourcePointer:e.FPDFBitmap_GetBuffer(a),format:e.FPDFBitmap_GetFormat(a)}));n.hasMissingChunks||(o={type:`visual`,visual:{type:`pixels`,width:r,height:i,pixels:u(v(e),c,r,i,s,l)}})}}catch(e){s=e,c=!0,t.markNativeFailure(e)}if(a!==0&&!t.isPoisoned)try{t.runNative(()=>e.FPDFBitmap_Destroy(a))}catch(e){t.markNativeFailure(e),c||=(s=e,!0)}if(c)throw s;return n.hasMissingChunks?null:o}function S(e,t,n){let{includeHints:r,maxChunkCount:i,maxChunksPerRequest:a}=n;if(i<1||a<1)return[];let o=[...new Set(e)].sort((e,t)=>e-t),s=new Set(o),c=r?[...new Set(t)].filter(e=>!s.has(e)).sort((e,t)=>e-t):[],l=[...o,...c].slice(0,i).sort((e,t)=>e-t),u=[],d=null;for(let e of l){let t=s.has(e);(d===null||e!==d.chunkIndexes[d.chunkIndexes.length-1]+1||d.chunkIndexes.length>=a)&&(d={startIndex:e,chunkIndexes:[],hasRequiredChunk:!1},u.push(d)),d.chunkIndexes.push(e),d.hasRequiredChunk||=t}return u.sort((e,t)=>Number(t.hasRequiredChunk)-Number(e.hasRequiredChunk)||e.startIndex-t.startIndex)}var re=class{maxBytes;lowWatermark;#e=/* @__PURE__ */ new Map;#t=0;constructor(e,t){this.maxBytes=e,this.lowWatermark=t}get byteLength(){return this.#t}get(e){let t=this.#e.get(e);if(t!==void 0)return this.#e.delete(e),this.#e.set(e,t),t}clear(){this.#e.clear(),this.#t=0}set(e,t){let n=!1,r=this.#e.get(e);if(r!==void 0&&(this.#t-=r.byteLength,this.#e.delete(e)),t.byteLength>this.maxBytes)return!1;if(this.#t+t.byteLength>this.maxBytes){for(;this.#t>this.lowWatermark;){let e=this.#e.entries().next().value;if(e===void 0)break;this.#e.delete(e[0]),this.#t-=e[1].byteLength,n=!0}for(;this.#t+t.byteLength>this.maxBytes;){let e=this.#e.entries().next().value;if(e===void 0)break;this.#e.delete(e[0]),this.#t-=e[1].byteLength,n=!0}}return this.#e.set(e,t),this.#t+=t.byteLength,n}};function C(e){if(e===null)return null;let t=/^bytes (\d+)-(\d+)\/(\d+)$/i.exec(e.trim());if(t===null)return null;let n=Number(t[1]),r=Number(t[2]),i=Number(t[3]);return!Number.isSafeInteger(n)||!Number.isSafeInteger(r)||!Number.isSafeInteger(i)||n<0||r<n||i<=r?null:{start:n,end:r,total:i}}function w(e){e.body!==null&&e.body.cancel().catch(()=>{})}async function ie(e,t){let n=e.headers.get(`Content-Length`);if(n!==null&&Number(n)>t)throw w(e),Error(`The server sent more bytes than requested for a PDF byte range.`);if(e.body===null)return/* @__PURE__ */ new Uint8Array;let r=e.body.getReader(),i=[],a=0;try{for(;;){let e=await r.read();if(e.done)break;if(e.value.byteLength>t-a)throw r.cancel().catch(()=>{}),Error(`The server sent more bytes than requested for a PDF byte range.`);i.push(e.value),a+=e.value.byteLength}}catch(e){throw r.cancel(e).catch(()=>{}),e}finally{r.releaseLock()}let o=new Uint8Array(a),s=0;for(let e of i)o.set(e,s),s+=e.byteLength;return o}async function ae(e){let{url:t,signal:n,start:r,requestedEnd:i,totalLength:a,etag:o,lastModified:s}=e;if(n.aborted)throw new DOMException(`PDF loading was cancelled.`,`AbortError`);let c=new AbortController,l=!1,u=function(){c.abort()};n.addEventListener(`abort`,u,{once:!0});let d=setTimeout(function(){l=!0,c.abort()},3e4),f=new Headers({Range:`bytes=${r}-${i}`}),p=o&&!o.startsWith(`W/`)?o:s;p!==null&&f.set(`If-Range`,p);try{let e=await fetch(t,{headers:f,signal:c.signal});if(e.status!==206)throw w(e),Error(`The server returned HTTP ${e.status} to a byte-range request.`);let n=C(e.headers.get(`Content-Range`));if(n===null||n.start!==r)throw w(e),Error(`The server returned an invalid Content-Range header.`);if(n.total>4294967295)throw w(e),Error(`PDF files must be smaller than 4 GiB.`);let l=Math.min(i,n.total-1);if(n.end!==l)throw w(e),Error(`The server returned an incomplete byte range.`);if(a!==null&&n.total!==a)throw w(e),Error(`The PDF length changed while it was being loaded.`);if(o!==null&&e.headers.get(`ETag`)!==o||s!==null&&e.headers.get(`Last-Modified`)!==s)throw w(e),Error(`The PDF representation changed while it was being loaded.`);let u=n.end-n.start+1,d=await ie(e,u);if(d.byteLength!==u)throw Error(`The server returned a byte range with an unexpected length.`);return{bytes:d,totalLength:n.total,etag:e.headers.get(`ETag`),lastModified:e.headers.get(`Last-Modified`),responseUrl:e.url}}catch(e){throw n.aborted?new DOMException(`PDF loading was cancelled.`,`AbortError`):l?Error(`The PDF byte-range request timed out.`,{cause:e}):e}finally{clearTimeout(d),n.removeEventListener(`abort`,u)}}let T=262144,oe=67108864;var se=class{signal;#e;#t;#n;#r=/* @__PURE__ */ new Set;#i=/* @__PURE__ */ new Set;#a=0;#o=null;#s=null;#c=null;#l;#u=!1;constructor(e,t,n=oe){if(this.signal=t,this.#l=e,!Number.isSafeInteger(n)||n<262144)throw RangeError(`PDF range cache must be at least ${T} bytes.`);this.#t=n,this.#n=Math.max(T,Math.floor(n/2)),this.#e=new re(n,this.#n)}get totalLength(){return this.#o}get cachedByteLength(){return this.#e.byteLength}get cacheEpoch(){return this.#a}get hasMissingChunks(){return this.#r.size>0}get hasHintedChunks(){return this.#i.size>0}dispose(){this.#u=!0,this.#e.clear(),this.#r.clear(),this.#i.clear(),this.#o=null,this.#s=null,this.#c=null}async initialize(){if(this.#m(),this.#o!==null)return this.#o;if(await this.#p({startIndex:0,chunkIndexes:[0],hasRequiredChunk:!0})&&(this.#a+=1),this.#o===null)throw Error(`The server did not provide a valid Content-Range header.`);return this.#o}readInto(e,t,n,r){let i=this.#o;if(i===null)throw Error(`Range loader is not initialized.`);if(!Number.isSafeInteger(e)||!Number.isSafeInteger(n)||!Number.isSafeInteger(r)||e<0||n<0||r<0||e+r>i||n+r>t.byteLength)throw RangeError(`PDFium requested bytes outside the PDF document.`);if(r===0)return!0;let a=Math.floor(e/T),o=Math.floor((e+r-1)/T),s=/* @__PURE__ */ new Map,c=!0;for(let e=a;e<=o;e+=1){let t=this.#e.get(e);t===void 0?(this.#r.add(e),c=!1):s.set(e,t)}if(!c)return!1;for(let[i,a]of s){let o=i*T,s=Math.max(e,o),c=Math.min(e+r,o+a.byteLength),l=s-o,u=n+s-e;t.set(a.subarray(l,l+c-s),u)}return!0}isRangeAvailable(e,t){let n=this.#d(e,t),r=!0;for(let e of n)this.#e.get(e)===void 0&&(this.#r.add(e),r=!1);return r}hintRange(e,t){let n=this.#d(e,t);for(let e of n)this.#e.get(e)===void 0&&this.#i.add(e)}clearRangeHints(){this.#i.clear()}async fetchMissingChunks(e=!1){this.#m();let t=Math.floor(this.#t/T),n=Math.floor((this.#t-this.#e.byteLength)/T),r=Math.floor((this.#t-this.#n)/T),i=S(this.#r,this.#i,{includeHints:e,maxChunkCount:Math.min(t,Math.max(1,n,r)),maxChunksPerRequest:4}),a=!1;for(let e=0;e<i.length;e+=4){let t=i.slice(e,e+4),n=await Promise.allSettled(t.map(e=>this.#p(e)));this.#m(),a||=n.some(e=>e.status===`fulfilled`&&e.value);let r=n.find(e=>e.status===`rejected`);if(r!==void 0)throw a&&(this.#a+=1),this.#f(i.slice(0,e+t.length)),r.reason}a&&(this.#a+=1);let o=this.#f(i);if(o!==i.reduce((e,t)=>e+t.chunkIndexes.length,0))throw Error(`The requested PDF byte ranges exceed the 64 MiB working cache.`);return o}#d(e,t){let n=this.#o;if(n===null)throw Error(`Range loader is not initialized.`);if(!Number.isSafeInteger(e)||!Number.isSafeInteger(t)||e<0||t<0||e+t>n)throw RangeError(`PDFium requested bytes outside the PDF document.`);if(t===0)return[];if(t>this.#t)throw Error(`The requested PDF byte range exceeds the 64 MiB working cache.`);let r=Math.floor(e/T),i=Math.floor((e+t-1)/T);return Array.from({length:i-r+1},(e,t)=>r+t)}#f(e){let t=0;for(let n of e)for(let e of n.chunkIndexes)this.#e.get(e)!==void 0&&(this.#r.delete(e),this.#i.delete(e),t+=1);return t}async#p(e){this.#m();let t=e.startIndex*T,n=t+e.chunkIndexes.length*T-1,r=await ae({url:this.#l,signal:this.signal,start:t,requestedEnd:n,totalLength:this.#o,etag:this.#s,lastModified:this.#c});if(this.#m(),this.#o!==null&&this.#o!==r.totalLength||this.#s!==null&&this.#s!==r.etag||this.#c!==null&&this.#c!==r.lastModified)throw Error(`The PDF representation changed while it was being loaded.`);this.#o===null&&r.responseUrl!==``&&(this.#l=r.responseUrl),this.#o??=r.totalLength,this.#s??=r.etag,this.#c??=r.lastModified;let i=!1;for(let t of e.chunkIndexes){let n=(t-e.startIndex)*T,a=Math.min(n+T,r.bytes.byteLength),o=r.bytes.slice(n,a);i=this.#e.set(t,o)||i}return i}#m(){if(this.#u)throw new DOMException(`PDF loading was cancelled.`,`AbortError`)}},ce=class extends Error{constructor(e){let t=e instanceof Error?e.message:`PDFium entered an unusable state.`;super(t,{cause:e}),this.name=`PdfiumFatalError`}},le=class e{loader;wasmUrl;signal;#e=null;#t=null;#n=null;#r=null;#i=!1;#a=!1;constructor(e,t,n){this.loader=e,this.wasmUrl=t,this.signal=n}static async open(t,n,r,i=oe){let a=new se(t,r,i),s=new e(a,n,r);try{return await s.#o(),s}catch(e){throw s.dispose(),s.isPoisoned||e instanceof o||e instanceof WebAssembly.RuntimeError?new ce(e):e}}get info(){let e=this.#t;if(this.#n===null||this.#r===null||e===null)throw Error(`The PDF document is not open.`);return{pageCount:this.#r,fileLength:this.#n}}get isPoisoned(){return this.#a||this.#t?.isPoisoned===!0}async getPageSize(e){return this.#c(e),this.#s(e,(t,n,r)=>m(t,n,this.loader,e,r),`document`)}async renderPage(e,t){if(this.#c(e),!Number.isFinite(t)||t<=0)throw RangeError(`PDF page scale must be a finite number greater than 0.`);return this.#s(e,(n,r)=>_(n,r,this.loader,e,t),`page`)}async renderThumbnail(e){this.#c(e);let t=await this.#s(e,(t,n)=>{let r=b(t,n,this.loader,e);return r===null?null:{thumbnail:r}},`page`);return t.thumbnail.type===`visual`?t.thumbnail.visual:null}dispose(){if(this.#i)return;this.#i=!0;let e=this.#t;this.#a=this.#a||e?.isPoisoned===!0,e?.dispose(),this.#a=this.#a||e?.isPoisoned===!0,this.#t=null,this.loader.dispose(),this.#n=null,this.#r=null}async#o(){if(this.signal.aborted)throw new DOMException(`PDF loading was cancelled.`,`AbortError`);let[e,t]=await Promise.all([this.loader.initialize(),de(this.wasmUrl)]);this.#n=e,this.#e=t,this.#t=await s.open(ue(this.#e),this.loader,this.signal),this.#r=this.#t.pageCount}async#s(e,t,n){let r=this.#e,i=this.#t;if(r===null||i===null||this.#i)throw Error(`The PDF document is not open.`);i.beginPageOperation();let a=null;for(let o=0;o<128;o+=1){if(this.signal.aborted||(n===`page`?await i.ensurePageAvailable(e):await i.ensureDocumentAvailable(),this.#i))throw new DOMException(`PDF loading was cancelled.`,`AbortError`);a!==this.loader.cacheEpoch&&(a=null);let o;try{o=t(r,i,a===this.loader.cacheEpoch)}catch(e){throw i.markNativeFailure(e),e}if(o===null&&!this.loader.hasMissingChunks){if(n===`document`){a=await i.preparePageSizeFallback(e)?this.loader.cacheEpoch:null;continue}throw Error(`PDFium did not complete the document operation.`)}if(!this.loader.hasMissingChunks&&o!==null)return i.completePageOperation(),o;a=null,await i.recoverAfterReadMiss()}throw Error(`PDFium could not complete the requested page operation within 128 range attempts.`)}#c(e){let t=this.#t,n=this.#r;if(t===null||n===null)throw Error(`The PDF document is not open.`);if(!Number.isSafeInteger(e)||e<0||e>=n)throw RangeError(`Page index must be between 0 and ${n-1}.`)}};function ue(e){return{FPDFAvail_Create:(t,n)=>e.FPDFAvail_Create(t,n),FPDFAvail_Destroy:t=>e.FPDFAvail_Destroy(t),FPDFAvail_GetDocument:(t,n)=>e.FPDFAvail_GetDocument(t,n),FPDFAvail_IsDocAvail:(t,n)=>e.FPDFAvail_IsDocAvail(t,n),FPDFAvail_IsLinearized:t=>e.FPDFAvail_IsLinearized(t),FPDFAvail_IsPageAvail:(t,n,r)=>e.FPDFAvail_IsPageAvail(t,n,r),FPDF_CloseDocument:t=>e.FPDF_CloseDocument(t),FPDF_GetLastError:()=>e.FPDF_GetLastError(),FPDF_GetPageCount:t=>e.FPDF_GetPageCount(t),runtime:{malloc:t=>e.pdfium.wasmExports.malloc(t),free:t=>e.pdfium.wasmExports.free(t),addFunction:(t,n)=>e.pdfium.addFunction(t,n),removeFunction:t=>e.pdfium.removeFunction(t),setValue:(t,n,r)=>e.pdfium.setValue(t,n,r),getHeap:()=>v(e)}}}let E=null;function de(e){return E===null&&(E=fe(e)),E}async function fe(e){let t=await fetch(e);if(!t.ok)throw Error(`Could not load PDFium WebAssembly (HTTP ${t.status}).`);let n=await r({wasmBinary:await t.arrayBuffer(),locateFile:()=>e});return n.PDFiumExt_Init(),n}let D=self,O=null,pe=Promise.resolve();D.addEventListener(`message`,function(e){pe=pe.then(()=>me(e.data),()=>me(e.data))});async function me(e){try{if(e.type===`open`){let t=O;if(t?.dispose(),O=null,t?.isPoisoned)throw new ce(/* @__PURE__ */ Error(`The previous PDFium document could not be released.`));let n=await le.open(e.url,e.wasmUrl,new AbortController().signal);O=n;let r=n.info,i={id:e.id,type:`opened`,pageCount:r.pageCount,fileLength:r.fileLength};D.postMessage(i);return}let t=O;if(t===null)throw Error(`The PDF worker has no open document.`);if(e.type===`page-size`){let n=await t.getPageSize(e.pageIndex),r={id:e.id,type:`page-size`,pageSize:n};D.postMessage(r);return}if(e.type===`thumbnail`){let n=await t.renderThumbnail(e.pageIndex),r={id:e.id,type:`thumbnail`,visual:n},i=n?.type===`pixels`?[n.pixels]:[];D.postMessage(r,i);return}let n=await t.renderPage(e.pageIndex,e.scale),r={id:e.id,type:`rendered`,visual:n},i=n.type===`pixels`?[n.pixels]:[];D.postMessage(r,i)}catch(t){let n=t instanceof ce||O?.isPoisoned===!0;n&&(O?.dispose(),O=null);let r={id:e.id,type:`error`,message:t instanceof Error?t.message:`PDF processing failed.`,fatal:n};D.postMessage(r),n&&D.close()}}})();
|
|
@@ -17,6 +17,7 @@ type PageVisual = {
|
|
|
17
17
|
interface PageSource {
|
|
18
18
|
readonly pageCount: number;
|
|
19
19
|
getPageSize(pageIndex: number): Promise<PageSize>;
|
|
20
|
+
renderThumbnail?(pageIndex: number): Promise<PageVisual | null>;
|
|
20
21
|
renderPage(pageIndex: number, scale: number): Promise<PageVisual>;
|
|
21
22
|
dispose(): void | Promise<void>;
|
|
22
23
|
}
|