legalesign-document-viewer 0.3.3 → 0.3.5
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/dist/components/ls-helper-bar.d.ts +11 -0
- package/dist/components/ls-keyboard-shortcuts.d.ts +11 -0
- package/dist/{components/p-ChV9xqsO.js → ls-document-viewer/clsx-ChV9xqsO.js} +2 -2
- package/dist/ls-document-viewer/clsx-ChV9xqsO.js.map +1 -0
- package/dist/{components/p-Cp3IxvzK.js → ls-document-viewer/defaultFieldIcons-Cp3IxvzK.js} +2 -2
- package/dist/ls-document-viewer/defaultFieldIcons-Cp3IxvzK.js.map +1 -0
- package/dist/{components/p-CwCWCxsI.js → ls-document-viewer/defaultPalette-CwCWCxsI.js} +2 -2
- package/dist/ls-document-viewer/defaultPalette-CwCWCxsI.js.map +1 -0
- package/dist/{components/p-Ovur85Of.js → ls-document-viewer/editorUtils-BmgTspy1.js} +254 -56
- package/dist/ls-document-viewer/editorUtils-BmgTspy1.js.map +1 -0
- package/dist/{components/p-Bt5gnPRz.js → ls-document-viewer/floating-ui.dom-DtWVTgos.js} +688 -104
- package/dist/ls-document-viewer/floating-ui.dom-DtWVTgos.js.map +1 -0
- package/dist/ls-document-viewer/index-Dlkip55O.js +4334 -0
- package/dist/ls-document-viewer/index-Dlkip55O.js.map +1 -0
- package/dist/ls-document-viewer/index.esm.js +17 -1
- package/dist/ls-document-viewer/index.esm.js.map +1 -1
- package/dist/ls-document-viewer/ls-document-options.entry.esm.js.map +1 -0
- package/dist/{components/p-Dprl580c.js → ls-document-viewer/ls-document-options.entry.js} +25 -61
- package/dist/ls-document-viewer/ls-document-options.entry.js.map +1 -0
- package/dist/ls-document-viewer/ls-document-viewer.css +259 -1
- package/dist/ls-document-viewer/ls-document-viewer.entry.esm.js.map +1 -0
- package/dist/{components/ls-document-viewer.js → ls-document-viewer/ls-document-viewer.entry.js} +374 -574
- package/dist/ls-document-viewer/ls-document-viewer.entry.js.map +1 -0
- package/dist/ls-document-viewer/ls-document-viewer.esm.js +49 -1
- package/dist/ls-document-viewer/ls-document-viewer.esm.js.map +1 -1
- package/dist/ls-document-viewer/ls-editor-field.entry.esm.js.map +1 -0
- package/dist/{components/p-CZkgAbFI.js → ls-document-viewer/ls-editor-field.entry.js} +14 -48
- package/dist/ls-document-viewer/ls-editor-field.entry.js.map +1 -0
- package/dist/ls-document-viewer/ls-editor-table.entry.esm.js.map +1 -0
- package/dist/ls-document-viewer/ls-editor-table.entry.js +40 -0
- package/dist/ls-document-viewer/ls-editor-table.entry.js.map +1 -0
- package/dist/ls-document-viewer/ls-feature-column.entry.esm.js.map +1 -0
- package/dist/ls-document-viewer/ls-feature-column.entry.js +41 -0
- package/dist/ls-document-viewer/ls-feature-column.entry.js.map +1 -0
- package/dist/ls-document-viewer/ls-field-alignment.entry.esm.js.map +1 -0
- package/dist/{components/p-DxGzQ3Lc.js → ls-document-viewer/ls-field-alignment.entry.js} +18 -37
- package/dist/ls-document-viewer/ls-field-alignment.entry.js.map +1 -0
- package/dist/ls-document-viewer/ls-field-content.entry.esm.js.map +1 -0
- package/dist/{components/p-Da83lhqi.js → ls-document-viewer/ls-field-content.entry.js} +15 -64
- package/dist/ls-document-viewer/ls-field-content.entry.js.map +1 -0
- package/dist/ls-document-viewer/ls-field-dimensions.entry.esm.js.map +1 -0
- package/dist/{components/p-Bxutt9rC.js → ls-document-viewer/ls-field-dimensions.entry.js} +17 -36
- package/dist/ls-document-viewer/ls-field-dimensions.entry.js.map +1 -0
- package/dist/ls-document-viewer/ls-field-distribute.entry.esm.js.map +1 -0
- package/dist/{components/p-C45TaVTh.js → ls-document-viewer/ls-field-distribute.entry.js} +44 -58
- package/dist/ls-document-viewer/ls-field-distribute.entry.js.map +1 -0
- package/dist/ls-document-viewer/ls-field-footer.entry.esm.js.map +1 -0
- package/dist/ls-document-viewer/ls-field-footer.entry.js +43 -0
- package/dist/ls-document-viewer/ls-field-footer.entry.js.map +1 -0
- package/dist/ls-document-viewer/ls-field-format.entry.esm.js.map +1 -0
- package/dist/ls-document-viewer/ls-field-format.entry.js +93 -0
- package/dist/ls-document-viewer/ls-field-format.entry.js.map +1 -0
- package/dist/ls-document-viewer/ls-field-placement.entry.esm.js.map +1 -0
- package/dist/ls-document-viewer/ls-field-placement.entry.js +73 -0
- package/dist/ls-document-viewer/ls-field-placement.entry.js.map +1 -0
- package/dist/ls-document-viewer/ls-field-properties-advanced.entry.esm.js.map +1 -0
- package/dist/{components/p-CzySwvIU.js → ls-document-viewer/ls-field-properties-advanced.entry.js} +13 -44
- package/dist/ls-document-viewer/ls-field-properties-advanced.entry.js.map +1 -0
- package/dist/ls-document-viewer/ls-field-properties-autosign.entry.esm.js.map +1 -0
- package/dist/{components/p-14owczyX.js → ls-document-viewer/ls-field-properties-autosign.entry.js} +10 -58
- package/dist/ls-document-viewer/ls-field-properties-autosign.entry.js.map +1 -0
- package/dist/ls-document-viewer/ls-field-properties-container.entry.esm.js.map +1 -0
- package/dist/ls-document-viewer/ls-field-properties-container.entry.js +26 -0
- package/dist/ls-document-viewer/ls-field-properties-container.entry.js.map +1 -0
- package/dist/ls-document-viewer/ls-field-properties-date.entry.esm.js.map +1 -0
- package/dist/{components/p-gEso0FtC.js → ls-document-viewer/ls-field-properties-date.entry.js} +10 -94
- package/dist/ls-document-viewer/ls-field-properties-date.entry.js.map +1 -0
- package/dist/ls-document-viewer/ls-field-properties-dropdown.entry.js +19 -0
- package/dist/ls-document-viewer/ls-field-properties-dropdown.entry.js.map +1 -0
- package/dist/{components/p-tfo7xItm.js.map → ls-document-viewer/ls-field-properties-email.entry.esm.js.map} +1 -1
- package/dist/{components/p-BKNIuWRw.js → ls-document-viewer/ls-field-properties-email.entry.js} +10 -94
- package/dist/ls-document-viewer/ls-field-properties-email.entry.js.map +1 -0
- package/dist/ls-document-viewer/ls-field-properties-file.entry.esm.js.map +1 -0
- package/dist/{components/p-DqW1sDWy.js → ls-document-viewer/ls-field-properties-file.entry.js} +10 -94
- package/dist/ls-document-viewer/ls-field-properties-file.entry.js.map +1 -0
- package/dist/ls-document-viewer/ls-field-properties-general.entry.esm.js.map +1 -0
- package/dist/{components/p-CHN41h9u.js → ls-document-viewer/ls-field-properties-general.entry.js} +10 -94
- package/dist/ls-document-viewer/ls-field-properties-general.entry.js.map +1 -0
- package/dist/ls-document-viewer/ls-field-properties-image.entry.esm.js.map +1 -0
- package/dist/{components/p-23iaNjGp.js → ls-document-viewer/ls-field-properties-image.entry.js} +10 -94
- package/dist/ls-document-viewer/ls-field-properties-image.entry.js.map +1 -0
- package/dist/ls-document-viewer/ls-field-properties-multiple.entry.esm.js.map +1 -0
- package/dist/{components/p-C4dJ_NrC.js → ls-document-viewer/ls-field-properties-multiple.entry.js} +16 -88
- package/dist/ls-document-viewer/ls-field-properties-multiple.entry.js.map +1 -0
- package/dist/{components/p-CHN41h9u.js.map → ls-document-viewer/ls-field-properties-number.entry.esm.js.map} +1 -1
- package/dist/{components/p-tfo7xItm.js → ls-document-viewer/ls-field-properties-number.entry.js} +10 -94
- package/dist/{components/p-DqW1sDWy.js.map → ls-document-viewer/ls-field-properties-number.entry.js.map} +1 -1
- package/dist/ls-document-viewer/ls-field-properties-signature.entry.esm.js.map +1 -0
- package/dist/{components/p-DY8RJZmx.js → ls-document-viewer/ls-field-properties-signature.entry.js} +10 -94
- package/dist/ls-document-viewer/ls-field-properties-signature.entry.js.map +1 -0
- package/dist/ls-document-viewer/ls-field-properties-text.entry.esm.js.map +1 -0
- package/dist/{components/p-DE2r5IdM.js → ls-document-viewer/ls-field-properties-text.entry.js} +10 -94
- package/dist/ls-document-viewer/ls-field-properties-text.entry.js.map +1 -0
- package/dist/ls-document-viewer/ls-field-properties.entry.esm.js.map +1 -0
- package/dist/ls-document-viewer/ls-field-properties.entry.js +55 -0
- package/dist/ls-document-viewer/ls-field-properties.entry.js.map +1 -0
- package/dist/ls-document-viewer/ls-field-size.entry.esm.js.map +1 -0
- package/dist/{components/p-6LFAGg6D.js → ls-document-viewer/ls-field-size.entry.js} +17 -36
- package/dist/ls-document-viewer/ls-field-size.entry.js.map +1 -0
- package/dist/ls-document-viewer/ls-field-type-display.entry.esm.js.map +1 -0
- package/dist/ls-document-viewer/ls-field-type-display.entry.js +50 -0
- package/dist/ls-document-viewer/ls-field-type-display.entry.js.map +1 -0
- package/dist/{esm → ls-document-viewer}/ls-formfield.entry.js +5 -5
- package/dist/ls-document-viewer/ls-formfield.entry.js.map +1 -0
- package/dist/ls-document-viewer/ls-helper-bar.entry.esm.js.map +1 -0
- package/dist/ls-document-viewer/ls-helper-bar.entry.js +29 -0
- package/dist/ls-document-viewer/ls-helper-bar.entry.js.map +1 -0
- package/dist/ls-document-viewer/ls-icon.entry.esm.js.map +1 -0
- package/dist/{components/p-DM3pnD5z.js → ls-document-viewer/ls-icon.entry.js} +17 -30
- package/dist/ls-document-viewer/ls-icon.entry.js.map +1 -0
- package/dist/ls-document-viewer/ls-input-wrapper.entry.esm.js.map +1 -0
- package/dist/ls-document-viewer/ls-input-wrapper.entry.js +20 -0
- package/dist/ls-document-viewer/ls-input-wrapper.entry.js.map +1 -0
- package/dist/ls-document-viewer/ls-keyboard-shortcuts.entry.esm.js.map +1 -0
- package/dist/ls-document-viewer/ls-keyboard-shortcuts.entry.js +69 -0
- package/dist/ls-document-viewer/ls-keyboard-shortcuts.entry.js.map +1 -0
- package/dist/ls-document-viewer/ls-number-input.entry.esm.js.map +1 -0
- package/dist/{components/p-Cv4qCy2p.js → ls-document-viewer/ls-number-input.entry.js} +11 -48
- package/dist/ls-document-viewer/ls-number-input.entry.js.map +1 -0
- package/dist/ls-document-viewer/ls-page-loader.entry.esm.js.map +1 -0
- package/dist/{collection/components/ls-page-loader/ls-page-loader.js → ls-document-viewer/ls-page-loader.entry.js} +17 -18
- package/dist/ls-document-viewer/ls-page-loader.entry.js.map +1 -0
- package/dist/ls-document-viewer/ls-participant-card.entry.esm.js.map +1 -0
- package/dist/{components/p-o7kGA8FM.js → ls-document-viewer/ls-participant-card.entry.js} +31 -58
- package/dist/ls-document-viewer/ls-participant-card.entry.js.map +1 -0
- package/dist/ls-document-viewer/ls-participant-manager.entry.esm.js.map +1 -0
- package/dist/{components/p-ozlIyuZ1.js → ls-document-viewer/ls-participant-manager.entry.js} +15 -52
- package/dist/ls-document-viewer/ls-participant-manager.entry.js.map +1 -0
- package/dist/ls-document-viewer/ls-participant-select.entry.esm.js.map +1 -0
- package/dist/{components/p-Yrg6B_xb.js → ls-document-viewer/ls-participant-select.entry.js} +21 -50
- package/dist/ls-document-viewer/ls-participant-select.entry.js.map +1 -0
- package/dist/ls-document-viewer/ls-props-section.entry.esm.js.map +1 -0
- package/dist/ls-document-viewer/ls-props-section.entry.js +21 -0
- package/dist/ls-document-viewer/ls-props-section.entry.js.map +1 -0
- package/dist/ls-document-viewer/ls-radio-input.entry.esm.js.map +1 -0
- package/dist/ls-document-viewer/ls-radio-input.entry.js +28 -0
- package/dist/ls-document-viewer/ls-radio-input.entry.js.map +1 -0
- package/dist/ls-document-viewer/ls-select-input.entry.esm.js.map +1 -0
- package/dist/{components/p-Cw8qsoOq.js → ls-document-viewer/ls-select-input.entry.js} +11 -45
- package/dist/ls-document-viewer/ls-select-input.entry.js.map +1 -0
- package/dist/ls-document-viewer/ls-statusbar.entry.esm.js.map +1 -0
- package/dist/ls-document-viewer/ls-statusbar.entry.js +62 -0
- package/dist/ls-document-viewer/ls-statusbar.entry.js.map +1 -0
- package/dist/ls-document-viewer/ls-text-input.entry.esm.js.map +1 -0
- package/dist/{components/p-i5LoDKK3.js → ls-document-viewer/ls-text-input.entry.js} +13 -51
- package/dist/ls-document-viewer/ls-text-input.entry.js.map +1 -0
- package/dist/ls-document-viewer/ls-textarea-input.entry.esm.js.map +1 -0
- package/dist/{components/p-Ba_8GAK2.js → ls-document-viewer/ls-textarea-input.entry.js} +11 -48
- package/dist/ls-document-viewer/ls-textarea-input.entry.js.map +1 -0
- package/dist/ls-document-viewer/ls-toggle.entry.esm.js.map +1 -0
- package/dist/ls-document-viewer/ls-toggle.entry.js +27 -0
- package/dist/ls-document-viewer/ls-toggle.entry.js.map +1 -0
- package/dist/ls-document-viewer/ls-toolbar.entry.esm.js.map +1 -0
- package/dist/{components/p-BcfP7mSQ.js → ls-document-viewer/ls-toolbar.entry.js} +13 -52
- package/dist/ls-document-viewer/ls-toolbar.entry.js.map +1 -0
- package/dist/ls-document-viewer/ls-toolbox-field.entry.esm.js.map +1 -0
- package/dist/{components/p-DUVCAq-W.js → ls-document-viewer/ls-toolbox-field.entry.js} +33 -58
- package/dist/ls-document-viewer/ls-toolbox-field.entry.js.map +1 -0
- package/dist/ls-document-viewer/ls-tooltip.entry.esm.js.map +1 -0
- package/dist/ls-document-viewer/ls-tooltip.entry.js +71 -0
- package/dist/ls-document-viewer/ls-tooltip.entry.js.map +1 -0
- package/dist/ls-document-viewer/ls-validation-tag.entry.esm.js.map +1 -0
- package/dist/{components/p-DyE9zKT7.js → ls-document-viewer/ls-validation-tag.entry.js} +11 -45
- package/dist/ls-document-viewer/ls-validation-tag.entry.js.map +1 -0
- package/dist/ls-document-viewer/tooltip-Cb8nDMs-.js +32 -0
- package/dist/ls-document-viewer/tooltip-Cb8nDMs-.js.map +1 -0
- package/dist/types/components/ls-document-options/ls-document-options.d.ts +1 -1
- package/dist/types/components/ls-document-viewer/adapter/LsDocumentAdapter.d.ts +1 -1
- package/dist/types/components/ls-document-viewer/editorUtils.d.ts +1 -1
- package/dist/types/components/ls-document-viewer/ls-document-viewer.d.ts +10 -1
- package/dist/types/components/ls-document-viewer/mouseHandlers.d.ts +1 -0
- package/dist/types/components/ls-feature-column/ls-feature-column.d.ts +2 -0
- package/dist/types/components/ls-field-alignment/ls-field-alignment.d.ts +2 -0
- package/dist/types/components/ls-field-dimensions/ls-field-dimensions.d.ts +2 -0
- package/dist/types/components/ls-field-distribute/ls-field-distribute.d.ts +1 -0
- package/dist/types/components/ls-field-format/ls-field-format.d.ts +8 -0
- package/dist/types/components/ls-field-placement/ls-field-placement.d.ts +2 -0
- package/dist/types/components/ls-field-size/ls-field-size.d.ts +2 -0
- package/dist/types/components/ls-helper-bar/ls-helper-bar.d.ts +7 -0
- package/dist/types/components/ls-keyboard-shortcuts/ls-keyboard-shortcuts.d.ts +8 -0
- package/dist/types/components/ls-participant-card/ls-participant-card.d.ts +5 -0
- package/dist/types/components/ls-statusbar/ls-statusbar.d.ts +2 -0
- package/dist/types/components/ls-toolbox-field/ls-toolbox-field.d.ts +15 -3
- package/dist/types/components/ls-tooltip/ls-tooltip.d.ts +5 -3
- package/dist/types/components/ls-validation-tag/ls-validation-tag.d.ts +0 -1
- package/dist/types/components.d.ts +93 -2
- package/dist/types/types/LSApiTemplate.d.ts +1 -0
- package/dist/types/utils/tooltip.d.ts +3 -0
- package/package.json +1 -1
- package/dist/cjs/index-BpMnxZQ4.js +0 -1974
- package/dist/cjs/index-BpMnxZQ4.js.map +0 -1
- package/dist/cjs/index.cjs.js +0 -10
- package/dist/cjs/index.cjs.js.map +0 -1
- package/dist/cjs/loader.cjs.js +0 -15
- package/dist/cjs/loader.cjs.js.map +0 -1
- package/dist/cjs/ls-document-options_40.cjs.entry.js +0 -35874
- package/dist/cjs/ls-document-options_40.cjs.entry.js.map +0 -1
- package/dist/cjs/ls-document-viewer.cjs.js +0 -27
- package/dist/cjs/ls-document-viewer.cjs.js.map +0 -1
- package/dist/cjs/ls-field-properties-dropdown.cjs.entry.js +0 -21
- package/dist/cjs/ls-field-properties-dropdown.cjs.entry.js.map +0 -1
- package/dist/cjs/ls-field-properties-dropdown.entry.cjs.js.map +0 -1
- package/dist/cjs/ls-formfield.cjs.entry.js +0 -64
- package/dist/cjs/ls-formfield.cjs.entry.js.map +0 -1
- package/dist/cjs/ls-formfield.entry.cjs.js.map +0 -1
- package/dist/cjs/ls-number-input.ls-radio-input.ls-select-input.ls-text-input.ls-textarea-input.entry.cjs.js.map +0 -1
- package/dist/cjs/ls-number-input_5.cjs.entry.js +0 -204
- package/dist/cjs/ls-number-input_5.cjs.entry.js.map +0 -1
- package/dist/collection/collection-manifest.json +0 -58
- package/dist/collection/components/interfaces/IToolboxField.js +0 -1
- package/dist/collection/components/interfaces/IToolboxField.js.map +0 -1
- package/dist/collection/components/ls-document-options/ls-document-options.css +0 -368
- package/dist/collection/components/ls-document-options/ls-document-options.js +0 -160
- package/dist/collection/components/ls-document-options/ls-document-options.js.map +0 -1
- package/dist/collection/components/ls-document-viewer/adapter/LsDocumentAdapter.js +0 -89
- package/dist/collection/components/ls-document-viewer/adapter/LsDocumentAdapter.js.map +0 -1
- package/dist/collection/components/ls-document-viewer/adapter/elementActions.js +0 -72
- package/dist/collection/components/ls-document-viewer/adapter/elementActions.js.map +0 -1
- package/dist/collection/components/ls-document-viewer/adapter/groupActions.js +0 -96
- package/dist/collection/components/ls-document-viewer/adapter/groupActions.js.map +0 -1
- package/dist/collection/components/ls-document-viewer/adapter/parameters.js +0 -16
- package/dist/collection/components/ls-document-viewer/adapter/parameters.js.map +0 -1
- package/dist/collection/components/ls-document-viewer/adapter/roleActions.js +0 -70
- package/dist/collection/components/ls-document-viewer/adapter/roleActions.js.map +0 -1
- package/dist/collection/components/ls-document-viewer/adapter/templateActions.js +0 -93
- package/dist/collection/components/ls-document-viewer/adapter/templateActions.js.map +0 -1
- package/dist/collection/components/ls-document-viewer/defaultFieldIcons.js +0 -20
- package/dist/collection/components/ls-document-viewer/defaultFieldIcons.js.map +0 -1
- package/dist/collection/components/ls-document-viewer/defaultFieldLabels.js +0 -20
- package/dist/collection/components/ls-document-viewer/defaultFieldLabels.js.map +0 -1
- package/dist/collection/components/ls-document-viewer/defaultPalette.js +0 -216
- package/dist/collection/components/ls-document-viewer/defaultPalette.js.map +0 -1
- package/dist/collection/components/ls-document-viewer/editorCalculator.js +0 -134
- package/dist/collection/components/ls-document-viewer/editorCalculator.js.map +0 -1
- package/dist/collection/components/ls-document-viewer/editorUtils.js +0 -193
- package/dist/collection/components/ls-document-viewer/editorUtils.js.map +0 -1
- package/dist/collection/components/ls-document-viewer/keyHandlers.js +0 -61
- package/dist/collection/components/ls-document-viewer/keyHandlers.js.map +0 -1
- package/dist/collection/components/ls-document-viewer/ls-document-viewer.css +0 -608
- package/dist/collection/components/ls-document-viewer/ls-document-viewer.js +0 -1180
- package/dist/collection/components/ls-document-viewer/ls-document-viewer.js.map +0 -1
- package/dist/collection/components/ls-document-viewer/mouseHandlers.js +0 -280
- package/dist/collection/components/ls-document-viewer/mouseHandlers.js.map +0 -1
- package/dist/collection/components/ls-document-viewer/validator.js +0 -32
- package/dist/collection/components/ls-document-viewer/validator.js.map +0 -1
- package/dist/collection/components/ls-editor-field/ls-editor-field.css +0 -80
- package/dist/collection/components/ls-editor-field/ls-editor-field.js +0 -334
- package/dist/collection/components/ls-editor-field/ls-editor-field.js.map +0 -1
- package/dist/collection/components/ls-editor-table/ls-editor-table.css +0 -16
- package/dist/collection/components/ls-editor-table/ls-editor-table.js +0 -70
- package/dist/collection/components/ls-editor-table/ls-editor-table.js.map +0 -1
- package/dist/collection/components/ls-feature-column/ls-feature-column.css +0 -23
- package/dist/collection/components/ls-feature-column/ls-feature-column.js +0 -78
- package/dist/collection/components/ls-feature-column/ls-feature-column.js.map +0 -1
- package/dist/collection/components/ls-field-alignment/ls-field-alignment.css +0 -370
- package/dist/collection/components/ls-field-alignment/ls-field-alignment.js +0 -208
- package/dist/collection/components/ls-field-alignment/ls-field-alignment.js.map +0 -1
- package/dist/collection/components/ls-field-content/ls-field-content.css +0 -288
- package/dist/collection/components/ls-field-content/ls-field-content.js +0 -142
- package/dist/collection/components/ls-field-content/ls-field-content.js.map +0 -1
- package/dist/collection/components/ls-field-dimensions/ls-field-dimensions.css +0 -353
- package/dist/collection/components/ls-field-dimensions/ls-field-dimensions.js +0 -120
- package/dist/collection/components/ls-field-dimensions/ls-field-dimensions.js.map +0 -1
- package/dist/collection/components/ls-field-distribute/ls-field-distribute.css +0 -376
- package/dist/collection/components/ls-field-distribute/ls-field-distribute.js +0 -229
- package/dist/collection/components/ls-field-distribute/ls-field-distribute.js.map +0 -1
- package/dist/collection/components/ls-field-footer/ls-field-footer.css +0 -55
- package/dist/collection/components/ls-field-footer/ls-field-footer.js +0 -135
- package/dist/collection/components/ls-field-footer/ls-field-footer.js.map +0 -1
- package/dist/collection/components/ls-field-format/ls-field-format.css +0 -291
- package/dist/collection/components/ls-field-format/ls-field-format.js +0 -143
- package/dist/collection/components/ls-field-format/ls-field-format.js.map +0 -1
- package/dist/collection/components/ls-field-placement/ls-field-placement.css +0 -370
- package/dist/collection/components/ls-field-placement/ls-field-placement.js +0 -140
- package/dist/collection/components/ls-field-placement/ls-field-placement.js.map +0 -1
- package/dist/collection/components/ls-field-properties/ls-field-properties.css +0 -286
- package/dist/collection/components/ls-field-properties/ls-field-properties.js +0 -84
- package/dist/collection/components/ls-field-properties/ls-field-properties.js.map +0 -1
- package/dist/collection/components/ls-field-properties-advanced/ls-field-properties-advanced.css +0 -391
- package/dist/collection/components/ls-field-properties-advanced/ls-field-properties-advanced.js +0 -169
- package/dist/collection/components/ls-field-properties-advanced/ls-field-properties-advanced.js.map +0 -1
- package/dist/collection/components/ls-field-properties-autosign/ls-field-properties-autosign.css +0 -284
- package/dist/collection/components/ls-field-properties-autosign/ls-field-properties-autosign.js +0 -48
- package/dist/collection/components/ls-field-properties-autosign/ls-field-properties-autosign.js.map +0 -1
- package/dist/collection/components/ls-field-properties-container/ls-field-properties-container.css +0 -65
- package/dist/collection/components/ls-field-properties-container/ls-field-properties-container.js +0 -93
- package/dist/collection/components/ls-field-properties-container/ls-field-properties-container.js.map +0 -1
- package/dist/collection/components/ls-field-properties-date/ls-field-properties-date.css +0 -302
- package/dist/collection/components/ls-field-properties-date/ls-field-properties-date.js +0 -48
- package/dist/collection/components/ls-field-properties-date/ls-field-properties-date.js.map +0 -1
- package/dist/collection/components/ls-field-properties-dropdown/ls-field-properties-dropdown.css +0 -3
- package/dist/collection/components/ls-field-properties-dropdown/ls-field-properties-dropdown.js +0 -48
- package/dist/collection/components/ls-field-properties-dropdown/ls-field-properties-dropdown.js.map +0 -1
- package/dist/collection/components/ls-field-properties-email/ls-field-properties-email.css +0 -304
- package/dist/collection/components/ls-field-properties-email/ls-field-properties-email.js +0 -48
- package/dist/collection/components/ls-field-properties-email/ls-field-properties-email.js.map +0 -1
- package/dist/collection/components/ls-field-properties-file/ls-field-properties-file.css +0 -304
- package/dist/collection/components/ls-field-properties-file/ls-field-properties-file.js +0 -48
- package/dist/collection/components/ls-field-properties-file/ls-field-properties-file.js.map +0 -1
- package/dist/collection/components/ls-field-properties-general/ls-field-properties-general.css +0 -304
- package/dist/collection/components/ls-field-properties-general/ls-field-properties-general.js +0 -48
- package/dist/collection/components/ls-field-properties-general/ls-field-properties-general.js.map +0 -1
- package/dist/collection/components/ls-field-properties-image/ls-field-properties-image.css +0 -304
- package/dist/collection/components/ls-field-properties-image/ls-field-properties-image.js +0 -48
- package/dist/collection/components/ls-field-properties-image/ls-field-properties-image.js.map +0 -1
- package/dist/collection/components/ls-field-properties-multiple/ls-field-properties-multiple.css +0 -459
- package/dist/collection/components/ls-field-properties-multiple/ls-field-properties-multiple.js +0 -149
- package/dist/collection/components/ls-field-properties-multiple/ls-field-properties-multiple.js.map +0 -1
- package/dist/collection/components/ls-field-properties-number/ls-field-properties-number.css +0 -304
- package/dist/collection/components/ls-field-properties-number/ls-field-properties-number.js +0 -48
- package/dist/collection/components/ls-field-properties-number/ls-field-properties-number.js.map +0 -1
- package/dist/collection/components/ls-field-properties-signature/ls-field-properties-signature.css +0 -304
- package/dist/collection/components/ls-field-properties-signature/ls-field-properties-signature.js +0 -48
- package/dist/collection/components/ls-field-properties-signature/ls-field-properties-signature.js.map +0 -1
- package/dist/collection/components/ls-field-properties-text/ls-field-properties-text.css +0 -301
- package/dist/collection/components/ls-field-properties-text/ls-field-properties-text.js +0 -48
- package/dist/collection/components/ls-field-properties-text/ls-field-properties-text.js.map +0 -1
- package/dist/collection/components/ls-field-size/ls-field-size.css +0 -376
- package/dist/collection/components/ls-field-size/ls-field-size.js +0 -105
- package/dist/collection/components/ls-field-size/ls-field-size.js.map +0 -1
- package/dist/collection/components/ls-field-type-display/ls-field-type-display.css +0 -35
- package/dist/collection/components/ls-field-type-display/ls-field-type-display.js +0 -75
- package/dist/collection/components/ls-field-type-display/ls-field-type-display.js.map +0 -1
- package/dist/collection/components/ls-formfield/inputs/ls-number-input/ls-number-input.css +0 -273
- package/dist/collection/components/ls-formfield/inputs/ls-number-input/ls-number-input.js +0 -336
- package/dist/collection/components/ls-formfield/inputs/ls-number-input/ls-number-input.js.map +0 -1
- package/dist/collection/components/ls-formfield/inputs/ls-radio-input/ls-radio-input.css +0 -69
- package/dist/collection/components/ls-formfield/inputs/ls-radio-input/ls-radio-input.js +0 -173
- package/dist/collection/components/ls-formfield/inputs/ls-radio-input/ls-radio-input.js.map +0 -1
- package/dist/collection/components/ls-formfield/inputs/ls-select-input/ls-select-input.css +0 -228
- package/dist/collection/components/ls-formfield/inputs/ls-select-input/ls-select-input.js +0 -288
- package/dist/collection/components/ls-formfield/inputs/ls-select-input/ls-select-input.js.map +0 -1
- package/dist/collection/components/ls-formfield/inputs/ls-text-input/ls-text-input.css +0 -218
- package/dist/collection/components/ls-formfield/inputs/ls-text-input/ls-text-input.js +0 -365
- package/dist/collection/components/ls-formfield/inputs/ls-text-input/ls-text-input.js.map +0 -1
- package/dist/collection/components/ls-formfield/inputs/ls-textarea-input/ls-textarea-input.css +0 -208
- package/dist/collection/components/ls-formfield/inputs/ls-textarea-input/ls-textarea-input.js +0 -326
- package/dist/collection/components/ls-formfield/inputs/ls-textarea-input/ls-textarea-input.js.map +0 -1
- package/dist/collection/components/ls-formfield/ls-formfield.css +0 -98
- package/dist/collection/components/ls-formfield/ls-formfield.js +0 -547
- package/dist/collection/components/ls-formfield/ls-formfield.js.map +0 -1
- package/dist/collection/components/ls-icon/icons.js +0 -6639
- package/dist/collection/components/ls-icon/icons.js.map +0 -1
- package/dist/collection/components/ls-icon/ls-icon.js +0 -125
- package/dist/collection/components/ls-icon/ls-icon.js.map +0 -1
- package/dist/collection/components/ls-input-wrapper/ls-input-wrapper.css +0 -29
- package/dist/collection/components/ls-input-wrapper/ls-input-wrapper.js +0 -70
- package/dist/collection/components/ls-input-wrapper/ls-input-wrapper.js.map +0 -1
- package/dist/collection/components/ls-page-loader/ls-page-loader.css +0 -20
- package/dist/collection/components/ls-page-loader/ls-page-loader.js.map +0 -1
- package/dist/collection/components/ls-participant-card/ls-participant-card.css +0 -430
- package/dist/collection/components/ls-participant-card/ls-participant-card.js +0 -291
- package/dist/collection/components/ls-participant-card/ls-participant-card.js.map +0 -1
- package/dist/collection/components/ls-participant-manager/ls-participant-manager.css +0 -350
- package/dist/collection/components/ls-participant-manager/ls-participant-manager.js +0 -192
- package/dist/collection/components/ls-participant-manager/ls-participant-manager.js.map +0 -1
- package/dist/collection/components/ls-participant-select/ls-participant-select.css +0 -431
- package/dist/collection/components/ls-participant-select/ls-participant-select.js +0 -199
- package/dist/collection/components/ls-participant-select/ls-participant-select.js.map +0 -1
- package/dist/collection/components/ls-props-section/ls-props-section.css +0 -42
- package/dist/collection/components/ls-props-section/ls-props-section.js +0 -84
- package/dist/collection/components/ls-props-section/ls-props-section.js.map +0 -1
- package/dist/collection/components/ls-statusbar/ls-statusbar.css +0 -198
- package/dist/collection/components/ls-statusbar/ls-statusbar.js +0 -107
- package/dist/collection/components/ls-statusbar/ls-statusbar.js.map +0 -1
- package/dist/collection/components/ls-toggle/ls-toggle.css +0 -90
- package/dist/collection/components/ls-toggle/ls-toggle.js +0 -86
- package/dist/collection/components/ls-toggle/ls-toggle.js.map +0 -1
- package/dist/collection/components/ls-toolbar/ls-toolbar.css +0 -299
- package/dist/collection/components/ls-toolbar/ls-toolbar.js +0 -193
- package/dist/collection/components/ls-toolbar/ls-toolbar.js.map +0 -1
- package/dist/collection/components/ls-toolbox-field/ls-toolbox-field.css +0 -318
- package/dist/collection/components/ls-toolbox-field/ls-toolbox-field.js +0 -300
- package/dist/collection/components/ls-toolbox-field/ls-toolbox-field.js.map +0 -1
- package/dist/collection/components/ls-tooltip/ls-tooltip.css +0 -26
- package/dist/collection/components/ls-tooltip/ls-tooltip.js +0 -130
- package/dist/collection/components/ls-tooltip/ls-tooltip.js.map +0 -1
- package/dist/collection/components/ls-validation-tag/ls-validation-tag.css +0 -143
- package/dist/collection/components/ls-validation-tag/ls-validation-tag.js +0 -112
- package/dist/collection/components/ls-validation-tag/ls-validation-tag.js.map +0 -1
- package/dist/collection/index.js +0 -11
- package/dist/collection/index.js.map +0 -1
- package/dist/collection/types/Icon.js +0 -369
- package/dist/collection/types/Icon.js.map +0 -1
- package/dist/collection/types/LSApiElement.js +0 -2
- package/dist/collection/types/LSApiElement.js.map +0 -1
- package/dist/collection/types/LSApiElementType.js +0 -16
- package/dist/collection/types/LSApiElementType.js.map +0 -1
- package/dist/collection/types/LSApiRole.js +0 -2
- package/dist/collection/types/LSApiRole.js.map +0 -1
- package/dist/collection/types/LSApiTemplate.js +0 -2
- package/dist/collection/types/LSApiTemplate.js.map +0 -1
- package/dist/collection/types/LSMutateEvent.js +0 -2
- package/dist/collection/types/LSMutateEvent.js.map +0 -1
- package/dist/collection/types/RoleColor.js +0 -2
- package/dist/collection/types/RoleColor.js.map +0 -1
- package/dist/collection/types/ValidationError.js +0 -2
- package/dist/collection/types/ValidationError.js.map +0 -1
- package/dist/collection/types/ValidationType.js +0 -2
- package/dist/collection/types/ValidationType.js.map +0 -1
- package/dist/collection/utils/utils.js +0 -4
- package/dist/collection/utils/utils.js.map +0 -1
- package/dist/components/index.js +0 -10
- package/dist/components/index.js.map +0 -1
- package/dist/components/ls-document-options.js +0 -9
- package/dist/components/ls-document-options.js.map +0 -1
- package/dist/components/ls-document-viewer.js.map +0 -1
- package/dist/components/ls-editor-field.js +0 -9
- package/dist/components/ls-editor-field.js.map +0 -1
- package/dist/components/ls-editor-table.js +0 -9
- package/dist/components/ls-editor-table.js.map +0 -1
- package/dist/components/ls-feature-column.js +0 -9
- package/dist/components/ls-feature-column.js.map +0 -1
- package/dist/components/ls-field-alignment.js +0 -9
- package/dist/components/ls-field-alignment.js.map +0 -1
- package/dist/components/ls-field-content.js +0 -9
- package/dist/components/ls-field-content.js.map +0 -1
- package/dist/components/ls-field-dimensions.js +0 -9
- package/dist/components/ls-field-dimensions.js.map +0 -1
- package/dist/components/ls-field-distribute.js +0 -9
- package/dist/components/ls-field-distribute.js.map +0 -1
- package/dist/components/ls-field-footer.js +0 -9
- package/dist/components/ls-field-footer.js.map +0 -1
- package/dist/components/ls-field-format.js +0 -9
- package/dist/components/ls-field-format.js.map +0 -1
- package/dist/components/ls-field-placement.js +0 -9
- package/dist/components/ls-field-placement.js.map +0 -1
- package/dist/components/ls-field-properties-advanced.js +0 -9
- package/dist/components/ls-field-properties-advanced.js.map +0 -1
- package/dist/components/ls-field-properties-autosign.js +0 -9
- package/dist/components/ls-field-properties-autosign.js.map +0 -1
- package/dist/components/ls-field-properties-container.js +0 -9
- package/dist/components/ls-field-properties-container.js.map +0 -1
- package/dist/components/ls-field-properties-date.js +0 -9
- package/dist/components/ls-field-properties-date.js.map +0 -1
- package/dist/components/ls-field-properties-dropdown.js +0 -106
- package/dist/components/ls-field-properties-dropdown.js.map +0 -1
- package/dist/components/ls-field-properties-email.js +0 -9
- package/dist/components/ls-field-properties-email.js.map +0 -1
- package/dist/components/ls-field-properties-file.js +0 -9
- package/dist/components/ls-field-properties-file.js.map +0 -1
- package/dist/components/ls-field-properties-general.js +0 -9
- package/dist/components/ls-field-properties-general.js.map +0 -1
- package/dist/components/ls-field-properties-image.js +0 -9
- package/dist/components/ls-field-properties-image.js.map +0 -1
- package/dist/components/ls-field-properties-multiple.js +0 -9
- package/dist/components/ls-field-properties-multiple.js.map +0 -1
- package/dist/components/ls-field-properties-number.js +0 -9
- package/dist/components/ls-field-properties-number.js.map +0 -1
- package/dist/components/ls-field-properties-signature.js +0 -9
- package/dist/components/ls-field-properties-signature.js.map +0 -1
- package/dist/components/ls-field-properties-text.js +0 -9
- package/dist/components/ls-field-properties-text.js.map +0 -1
- package/dist/components/ls-field-properties.js +0 -9
- package/dist/components/ls-field-properties.js.map +0 -1
- package/dist/components/ls-field-size.js +0 -9
- package/dist/components/ls-field-size.js.map +0 -1
- package/dist/components/ls-field-type-display.js +0 -9
- package/dist/components/ls-field-type-display.js.map +0 -1
- package/dist/components/ls-formfield.js +0 -143
- package/dist/components/ls-formfield.js.map +0 -1
- package/dist/components/ls-icon.js +0 -9
- package/dist/components/ls-icon.js.map +0 -1
- package/dist/components/ls-input-wrapper.js +0 -9
- package/dist/components/ls-input-wrapper.js.map +0 -1
- package/dist/components/ls-number-input.js +0 -9
- package/dist/components/ls-number-input.js.map +0 -1
- package/dist/components/ls-page-loader.js +0 -9
- package/dist/components/ls-page-loader.js.map +0 -1
- package/dist/components/ls-participant-card.js +0 -9
- package/dist/components/ls-participant-card.js.map +0 -1
- package/dist/components/ls-participant-manager.js +0 -9
- package/dist/components/ls-participant-manager.js.map +0 -1
- package/dist/components/ls-participant-select.js +0 -9
- package/dist/components/ls-participant-select.js.map +0 -1
- package/dist/components/ls-props-section.js +0 -9
- package/dist/components/ls-props-section.js.map +0 -1
- package/dist/components/ls-radio-input.js +0 -9
- package/dist/components/ls-radio-input.js.map +0 -1
- package/dist/components/ls-select-input.js +0 -9
- package/dist/components/ls-select-input.js.map +0 -1
- package/dist/components/ls-statusbar.js +0 -9
- package/dist/components/ls-statusbar.js.map +0 -1
- package/dist/components/ls-text-input.js +0 -9
- package/dist/components/ls-text-input.js.map +0 -1
- package/dist/components/ls-textarea-input.js +0 -9
- package/dist/components/ls-textarea-input.js.map +0 -1
- package/dist/components/ls-toggle.js +0 -9
- package/dist/components/ls-toggle.js.map +0 -1
- package/dist/components/ls-toolbar.js +0 -9
- package/dist/components/ls-toolbar.js.map +0 -1
- package/dist/components/ls-toolbox-field.js +0 -9
- package/dist/components/ls-toolbox-field.js.map +0 -1
- package/dist/components/ls-tooltip.js +0 -9
- package/dist/components/ls-tooltip.js.map +0 -1
- package/dist/components/ls-validation-tag.js +0 -9
- package/dist/components/ls-validation-tag.js.map +0 -1
- package/dist/components/p-14owczyX.js.map +0 -1
- package/dist/components/p-23iaNjGp.js.map +0 -1
- package/dist/components/p-6LFAGg6D.js.map +0 -1
- package/dist/components/p-9WKoGwO0.js +0 -93
- package/dist/components/p-9WKoGwO0.js.map +0 -1
- package/dist/components/p-B-K24bnx.js +0 -217
- package/dist/components/p-B-K24bnx.js.map +0 -1
- package/dist/components/p-B3lY01RV.js +0 -67
- package/dist/components/p-B3lY01RV.js.map +0 -1
- package/dist/components/p-BArjC51C.js +0 -45
- package/dist/components/p-BArjC51C.js.map +0 -1
- package/dist/components/p-BKNIuWRw.js.map +0 -1
- package/dist/components/p-BLUUNyDx.js +0 -41
- package/dist/components/p-BLUUNyDx.js.map +0 -1
- package/dist/components/p-BXKYpxgM.js +0 -60
- package/dist/components/p-BXKYpxgM.js.map +0 -1
- package/dist/components/p-Ba_8GAK2.js.map +0 -1
- package/dist/components/p-BcfP7mSQ.js.map +0 -1
- package/dist/components/p-Bt5gnPRz.js.map +0 -1
- package/dist/components/p-BvHSBTD8.js +0 -1744
- package/dist/components/p-BvHSBTD8.js.map +0 -1
- package/dist/components/p-Bxutt9rC.js.map +0 -1
- package/dist/components/p-C45TaVTh.js.map +0 -1
- package/dist/components/p-C4dJ_NrC.js.map +0 -1
- package/dist/components/p-C6NnNmx5.js +0 -92
- package/dist/components/p-C6NnNmx5.js.map +0 -1
- package/dist/components/p-CCE9t160.js +0 -83
- package/dist/components/p-CCE9t160.js.map +0 -1
- package/dist/components/p-CTXoPKrw.js +0 -57
- package/dist/components/p-CTXoPKrw.js.map +0 -1
- package/dist/components/p-CZkgAbFI.js.map +0 -1
- package/dist/components/p-CdGtJRZm.js +0 -58
- package/dist/components/p-CdGtJRZm.js.map +0 -1
- package/dist/components/p-ChV9xqsO.js.map +0 -1
- package/dist/components/p-Co6xLkEu.js +0 -75
- package/dist/components/p-Co6xLkEu.js.map +0 -1
- package/dist/components/p-Cp3IxvzK.js.map +0 -1
- package/dist/components/p-Cv4qCy2p.js.map +0 -1
- package/dist/components/p-Cw8qsoOq.js.map +0 -1
- package/dist/components/p-CwCWCxsI.js.map +0 -1
- package/dist/components/p-CzySwvIU.js.map +0 -1
- package/dist/components/p-DE2r5IdM.js.map +0 -1
- package/dist/components/p-DM3pnD5z.js.map +0 -1
- package/dist/components/p-DUVCAq-W.js.map +0 -1
- package/dist/components/p-DY8RJZmx.js.map +0 -1
- package/dist/components/p-Da83lhqi.js.map +0 -1
- package/dist/components/p-Dprl580c.js.map +0 -1
- package/dist/components/p-DqEap43n.js +0 -103
- package/dist/components/p-DqEap43n.js.map +0 -1
- package/dist/components/p-DxGzQ3Lc.js.map +0 -1
- package/dist/components/p-DyE9zKT7.js.map +0 -1
- package/dist/components/p-Ovur85Of.js.map +0 -1
- package/dist/components/p-Yrg6B_xb.js.map +0 -1
- package/dist/components/p-gEso0FtC.js.map +0 -1
- package/dist/components/p-i5LoDKK3.js.map +0 -1
- package/dist/components/p-iwXLSFLX.js +0 -45
- package/dist/components/p-iwXLSFLX.js.map +0 -1
- package/dist/components/p-o7kGA8FM.js.map +0 -1
- package/dist/components/p-ozlIyuZ1.js.map +0 -1
- package/dist/components/p-vV0A8m2N.js +0 -46
- package/dist/components/p-vV0A8m2N.js.map +0 -1
- package/dist/esm/index-BzcAlD18.js +0 -1964
- package/dist/esm/index-BzcAlD18.js.map +0 -1
- package/dist/esm/index.js +0 -8
- package/dist/esm/index.js.map +0 -1
- package/dist/esm/loader.js +0 -13
- package/dist/esm/loader.js.map +0 -1
- package/dist/esm/ls-document-options_40.entry.js +0 -35833
- package/dist/esm/ls-document-options_40.entry.js.map +0 -1
- package/dist/esm/ls-document-viewer.js +0 -23
- package/dist/esm/ls-document-viewer.js.map +0 -1
- package/dist/esm/ls-field-properties-dropdown.entry.js +0 -19
- package/dist/esm/ls-field-properties-dropdown.entry.js.map +0 -1
- package/dist/esm/ls-formfield.entry.js.map +0 -1
- package/dist/esm/ls-number-input.ls-radio-input.ls-select-input.ls-text-input.ls-textarea-input.entry.js.map +0 -1
- package/dist/esm/ls-number-input_5.entry.js +0 -198
- package/dist/esm/ls-number-input_5.entry.js.map +0 -1
- package/dist/index.cjs.js +0 -1
- package/dist/index.js +0 -1
- package/dist/ls-document-viewer/ls-number-input.ls-radio-input.ls-select-input.ls-text-input.ls-textarea-input.entry.esm.js.map +0 -1
- package/dist/ls-document-viewer/p-0b9016eb.entry.js +0 -2
- package/dist/ls-document-viewer/p-0b9016eb.entry.js.map +0 -1
- package/dist/ls-document-viewer/p-3dae15c9.entry.js +0 -2
- package/dist/ls-document-viewer/p-3dae15c9.entry.js.map +0 -1
- package/dist/ls-document-viewer/p-BzcAlD18.js +0 -3
- package/dist/ls-document-viewer/p-BzcAlD18.js.map +0 -1
- package/dist/ls-document-viewer/p-be7a03ca.entry.js +0 -2
- package/dist/ls-document-viewer/p-be7a03ca.entry.js.map +0 -1
- package/dist/ls-document-viewer/p-e45016a5.entry.js +0 -4922
- package/dist/ls-document-viewer/p-e45016a5.entry.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ls-document-viewer.entry.esm.js","sources":["node_modules/.pnpm/pdfjs-dist@2.5.207/node_modules/pdfjs-dist/build/pdf.js","node_modules/.pnpm/pdfjs-dist@2.5.207/node_modules/pdfjs-dist/web/pdf_viewer.js","src/components/ls-document-viewer/keyHandlers.ts","src/components/ls-document-viewer/mouseHandlers.ts","node_modules/.pnpm/axios@1.12.2/node_modules/axios/dist/browser/axios.cjs","src/components/ls-document-viewer/adapter/parameters.ts","src/components/ls-document-viewer/adapter/elementActions.ts","src/components/ls-document-viewer/adapter/roleActions.ts","src/components/ls-document-viewer/adapter/LsDocumentAdapter.ts","src/components/ls-document-viewer/adapter/groupActions.ts","src/components/ls-document-viewer/ls-document-viewer.css?tag=ls-document-viewer&encapsulation=shadow","src/components/ls-document-viewer/ls-document-viewer.tsx"],"sourcesContent":["/**\n * @licstart The following is the entire license notice for the\n * Javascript code in this page\n *\n * Copyright 2020 Mozilla Foundation\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n * @licend The above is the entire license notice for the\n * Javascript code in this page\n */\n\n(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine(\"pdfjs-dist/build/pdf\", [], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"pdfjs-dist/build/pdf\"] = factory();\n\telse\n\t\troot[\"pdfjs-dist/build/pdf\"] = root.pdfjsLib = factory();\n})(this, function() {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __w_pdfjs_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __w_pdfjs_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__w_pdfjs_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__w_pdfjs_require__.c = installedModules;\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__w_pdfjs_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__w_pdfjs_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// define __esModule on exports\n/******/ \t__w_pdfjs_require__.r = function(exports) {\n/******/ \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n/******/ \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n/******/ \t\t}\n/******/ \t\tObject.defineProperty(exports, '__esModule', { value: true });\n/******/ \t};\n/******/\n/******/ \t// create a fake namespace object\n/******/ \t// mode & 1: value is a module id, require it\n/******/ \t// mode & 2: merge all properties of value into the ns\n/******/ \t// mode & 4: return value when already ns object\n/******/ \t// mode & 8|1: behave like require\n/******/ \t__w_pdfjs_require__.t = function(value, mode) {\n/******/ \t\tif(mode & 1) value = __w_pdfjs_require__(value);\n/******/ \t\tif(mode & 8) return value;\n/******/ \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n/******/ \t\tvar ns = Object.create(null);\n/******/ \t\t__w_pdfjs_require__.r(ns);\n/******/ \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n/******/ \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __w_pdfjs_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n/******/ \t\treturn ns;\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__w_pdfjs_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__w_pdfjs_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__w_pdfjs_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__w_pdfjs_require__.p = \"\";\n/******/\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __w_pdfjs_require__(__w_pdfjs_require__.s = 0);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nObject.defineProperty(exports, \"addLinkAttributes\", {\n enumerable: true,\n get: function () {\n return _display_utils.addLinkAttributes;\n }\n});\nObject.defineProperty(exports, \"getFilenameFromUrl\", {\n enumerable: true,\n get: function () {\n return _display_utils.getFilenameFromUrl;\n }\n});\nObject.defineProperty(exports, \"LinkTarget\", {\n enumerable: true,\n get: function () {\n return _display_utils.LinkTarget;\n }\n});\nObject.defineProperty(exports, \"loadScript\", {\n enumerable: true,\n get: function () {\n return _display_utils.loadScript;\n }\n});\nObject.defineProperty(exports, \"PDFDateString\", {\n enumerable: true,\n get: function () {\n return _display_utils.PDFDateString;\n }\n});\nObject.defineProperty(exports, \"RenderingCancelledException\", {\n enumerable: true,\n get: function () {\n return _display_utils.RenderingCancelledException;\n }\n});\nObject.defineProperty(exports, \"build\", {\n enumerable: true,\n get: function () {\n return _api.build;\n }\n});\nObject.defineProperty(exports, \"getDocument\", {\n enumerable: true,\n get: function () {\n return _api.getDocument;\n }\n});\nObject.defineProperty(exports, \"LoopbackPort\", {\n enumerable: true,\n get: function () {\n return _api.LoopbackPort;\n }\n});\nObject.defineProperty(exports, \"PDFDataRangeTransport\", {\n enumerable: true,\n get: function () {\n return _api.PDFDataRangeTransport;\n }\n});\nObject.defineProperty(exports, \"PDFWorker\", {\n enumerable: true,\n get: function () {\n return _api.PDFWorker;\n }\n});\nObject.defineProperty(exports, \"version\", {\n enumerable: true,\n get: function () {\n return _api.version;\n }\n});\nObject.defineProperty(exports, \"CMapCompressionType\", {\n enumerable: true,\n get: function () {\n return _util.CMapCompressionType;\n }\n});\nObject.defineProperty(exports, \"createObjectURL\", {\n enumerable: true,\n get: function () {\n return _util.createObjectURL;\n }\n});\nObject.defineProperty(exports, \"createPromiseCapability\", {\n enumerable: true,\n get: function () {\n return _util.createPromiseCapability;\n }\n});\nObject.defineProperty(exports, \"createValidAbsoluteUrl\", {\n enumerable: true,\n get: function () {\n return _util.createValidAbsoluteUrl;\n }\n});\nObject.defineProperty(exports, \"InvalidPDFException\", {\n enumerable: true,\n get: function () {\n return _util.InvalidPDFException;\n }\n});\nObject.defineProperty(exports, \"MissingPDFException\", {\n enumerable: true,\n get: function () {\n return _util.MissingPDFException;\n }\n});\nObject.defineProperty(exports, \"OPS\", {\n enumerable: true,\n get: function () {\n return _util.OPS;\n }\n});\nObject.defineProperty(exports, \"PasswordResponses\", {\n enumerable: true,\n get: function () {\n return _util.PasswordResponses;\n }\n});\nObject.defineProperty(exports, \"PermissionFlag\", {\n enumerable: true,\n get: function () {\n return _util.PermissionFlag;\n }\n});\nObject.defineProperty(exports, \"removeNullCharacters\", {\n enumerable: true,\n get: function () {\n return _util.removeNullCharacters;\n }\n});\nObject.defineProperty(exports, \"shadow\", {\n enumerable: true,\n get: function () {\n return _util.shadow;\n }\n});\nObject.defineProperty(exports, \"UnexpectedResponseException\", {\n enumerable: true,\n get: function () {\n return _util.UnexpectedResponseException;\n }\n});\nObject.defineProperty(exports, \"UNSUPPORTED_FEATURES\", {\n enumerable: true,\n get: function () {\n return _util.UNSUPPORTED_FEATURES;\n }\n});\nObject.defineProperty(exports, \"Util\", {\n enumerable: true,\n get: function () {\n return _util.Util;\n }\n});\nObject.defineProperty(exports, \"VerbosityLevel\", {\n enumerable: true,\n get: function () {\n return _util.VerbosityLevel;\n }\n});\nObject.defineProperty(exports, \"AnnotationLayer\", {\n enumerable: true,\n get: function () {\n return _annotation_layer.AnnotationLayer;\n }\n});\nObject.defineProperty(exports, \"apiCompatibilityParams\", {\n enumerable: true,\n get: function () {\n return _api_compatibility.apiCompatibilityParams;\n }\n});\nObject.defineProperty(exports, \"GlobalWorkerOptions\", {\n enumerable: true,\n get: function () {\n return _worker_options.GlobalWorkerOptions;\n }\n});\nObject.defineProperty(exports, \"renderTextLayer\", {\n enumerable: true,\n get: function () {\n return _text_layer.renderTextLayer;\n }\n});\nObject.defineProperty(exports, \"SVGGraphics\", {\n enumerable: true,\n get: function () {\n return _svg.SVGGraphics;\n }\n});\n\nvar _display_utils = __w_pdfjs_require__(1);\n\nvar _api = __w_pdfjs_require__(5);\n\nvar _util = __w_pdfjs_require__(2);\n\nvar _annotation_layer = __w_pdfjs_require__(16);\n\nvar _api_compatibility = __w_pdfjs_require__(7);\n\nvar _worker_options = __w_pdfjs_require__(10);\n\nvar _text_layer = __w_pdfjs_require__(17);\n\nvar _svg = __w_pdfjs_require__(18);\n\nconst pdfjsVersion = '2.5.207';\nconst pdfjsBuild = '0974d605';\n{\n const {\n isNodeJS\n } = __w_pdfjs_require__(4);\n\n if (isNodeJS) {\n const PDFNodeStream = __w_pdfjs_require__(19).PDFNodeStream;\n\n (0, _api.setPDFNetworkStreamFactory)(params => {\n return new PDFNodeStream(params);\n });\n } else {\n const PDFNetworkStream = __w_pdfjs_require__(22).PDFNetworkStream;\n\n let PDFFetchStream;\n\n if ((0, _display_utils.isFetchSupported)()) {\n PDFFetchStream = __w_pdfjs_require__(23).PDFFetchStream;\n }\n\n (0, _api.setPDFNetworkStreamFactory)(params => {\n if (PDFFetchStream && (0, _display_utils.isValidFetchUrl)(params.url)) {\n return new PDFFetchStream(params);\n }\n\n return new PDFNetworkStream(params);\n });\n }\n}\n\n/***/ }),\n/* 1 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.addLinkAttributes = addLinkAttributes;\nexports.getFilenameFromUrl = getFilenameFromUrl;\nexports.isFetchSupported = isFetchSupported;\nexports.isValidFetchUrl = isValidFetchUrl;\nexports.loadScript = loadScript;\nexports.deprecated = deprecated;\nexports.PDFDateString = exports.StatTimer = exports.DOMSVGFactory = exports.DOMCMapReaderFactory = exports.DOMCanvasFactory = exports.DEFAULT_LINK_REL = exports.LinkTarget = exports.RenderingCancelledException = exports.PageViewport = void 0;\n\nvar _util = __w_pdfjs_require__(2);\n\nconst DEFAULT_LINK_REL = \"noopener noreferrer nofollow\";\nexports.DEFAULT_LINK_REL = DEFAULT_LINK_REL;\nconst SVG_NS = \"http://www.w3.org/2000/svg\";\n\nclass DOMCanvasFactory {\n create(width, height) {\n if (width <= 0 || height <= 0) {\n throw new Error(\"Invalid canvas size\");\n }\n\n const canvas = document.createElement(\"canvas\");\n const context = canvas.getContext(\"2d\");\n canvas.width = width;\n canvas.height = height;\n return {\n canvas,\n context\n };\n }\n\n reset(canvasAndContext, width, height) {\n if (!canvasAndContext.canvas) {\n throw new Error(\"Canvas is not specified\");\n }\n\n if (width <= 0 || height <= 0) {\n throw new Error(\"Invalid canvas size\");\n }\n\n canvasAndContext.canvas.width = width;\n canvasAndContext.canvas.height = height;\n }\n\n destroy(canvasAndContext) {\n if (!canvasAndContext.canvas) {\n throw new Error(\"Canvas is not specified\");\n }\n\n canvasAndContext.canvas.width = 0;\n canvasAndContext.canvas.height = 0;\n canvasAndContext.canvas = null;\n canvasAndContext.context = null;\n }\n\n}\n\nexports.DOMCanvasFactory = DOMCanvasFactory;\n\nclass DOMCMapReaderFactory {\n constructor({\n baseUrl = null,\n isCompressed = false\n }) {\n this.baseUrl = baseUrl;\n this.isCompressed = isCompressed;\n }\n\n async fetch({\n name\n }) {\n if (!this.baseUrl) {\n throw new Error('The CMap \"baseUrl\" parameter must be specified, ensure that ' + 'the \"cMapUrl\" and \"cMapPacked\" API parameters are provided.');\n }\n\n if (!name) {\n throw new Error(\"CMap name must be specified.\");\n }\n\n const url = this.baseUrl + name + (this.isCompressed ? \".bcmap\" : \"\");\n const compressionType = this.isCompressed ? _util.CMapCompressionType.BINARY : _util.CMapCompressionType.NONE;\n\n if (isFetchSupported() && isValidFetchUrl(url, document.baseURI)) {\n return fetch(url).then(async response => {\n if (!response.ok) {\n throw new Error(response.statusText);\n }\n\n let cMapData;\n\n if (this.isCompressed) {\n cMapData = new Uint8Array(await response.arrayBuffer());\n } else {\n cMapData = (0, _util.stringToBytes)(await response.text());\n }\n\n return {\n cMapData,\n compressionType\n };\n }).catch(reason => {\n throw new Error(`Unable to load ${this.isCompressed ? \"binary \" : \"\"}` + `CMap at: ${url}`);\n });\n }\n\n return new Promise((resolve, reject) => {\n const request = new XMLHttpRequest();\n request.open(\"GET\", url, true);\n\n if (this.isCompressed) {\n request.responseType = \"arraybuffer\";\n }\n\n request.onreadystatechange = () => {\n if (request.readyState !== XMLHttpRequest.DONE) {\n return;\n }\n\n if (request.status === 200 || request.status === 0) {\n let cMapData;\n\n if (this.isCompressed && request.response) {\n cMapData = new Uint8Array(request.response);\n } else if (!this.isCompressed && request.responseText) {\n cMapData = (0, _util.stringToBytes)(request.responseText);\n }\n\n if (cMapData) {\n resolve({\n cMapData,\n compressionType\n });\n return;\n }\n }\n\n reject(new Error(request.statusText));\n };\n\n request.send(null);\n }).catch(reason => {\n throw new Error(`Unable to load ${this.isCompressed ? \"binary \" : \"\"}` + `CMap at: ${url}`);\n });\n }\n\n}\n\nexports.DOMCMapReaderFactory = DOMCMapReaderFactory;\n\nclass DOMSVGFactory {\n create(width, height) {\n (0, _util.assert)(width > 0 && height > 0, \"Invalid SVG dimensions\");\n const svg = document.createElementNS(SVG_NS, \"svg:svg\");\n svg.setAttribute(\"version\", \"1.1\");\n svg.setAttribute(\"width\", width + \"px\");\n svg.setAttribute(\"height\", height + \"px\");\n svg.setAttribute(\"preserveAspectRatio\", \"none\");\n svg.setAttribute(\"viewBox\", \"0 0 \" + width + \" \" + height);\n return svg;\n }\n\n createElement(type) {\n (0, _util.assert)(typeof type === \"string\", \"Invalid SVG element type\");\n return document.createElementNS(SVG_NS, type);\n }\n\n}\n\nexports.DOMSVGFactory = DOMSVGFactory;\n\nclass PageViewport {\n constructor({\n viewBox,\n scale,\n rotation,\n offsetX = 0,\n offsetY = 0,\n dontFlip = false\n }) {\n this.viewBox = viewBox;\n this.scale = scale;\n this.rotation = rotation;\n this.offsetX = offsetX;\n this.offsetY = offsetY;\n const centerX = (viewBox[2] + viewBox[0]) / 2;\n const centerY = (viewBox[3] + viewBox[1]) / 2;\n let rotateA, rotateB, rotateC, rotateD;\n rotation = rotation % 360;\n rotation = rotation < 0 ? rotation + 360 : rotation;\n\n switch (rotation) {\n case 180:\n rotateA = -1;\n rotateB = 0;\n rotateC = 0;\n rotateD = 1;\n break;\n\n case 90:\n rotateA = 0;\n rotateB = 1;\n rotateC = 1;\n rotateD = 0;\n break;\n\n case 270:\n rotateA = 0;\n rotateB = -1;\n rotateC = -1;\n rotateD = 0;\n break;\n\n case 0:\n rotateA = 1;\n rotateB = 0;\n rotateC = 0;\n rotateD = -1;\n break;\n\n default:\n throw new Error(\"PageViewport: Invalid rotation, must be a multiple of 90 degrees.\");\n }\n\n if (dontFlip) {\n rotateC = -rotateC;\n rotateD = -rotateD;\n }\n\n let offsetCanvasX, offsetCanvasY;\n let width, height;\n\n if (rotateA === 0) {\n offsetCanvasX = Math.abs(centerY - viewBox[1]) * scale + offsetX;\n offsetCanvasY = Math.abs(centerX - viewBox[0]) * scale + offsetY;\n width = Math.abs(viewBox[3] - viewBox[1]) * scale;\n height = Math.abs(viewBox[2] - viewBox[0]) * scale;\n } else {\n offsetCanvasX = Math.abs(centerX - viewBox[0]) * scale + offsetX;\n offsetCanvasY = Math.abs(centerY - viewBox[1]) * scale + offsetY;\n width = Math.abs(viewBox[2] - viewBox[0]) * scale;\n height = Math.abs(viewBox[3] - viewBox[1]) * scale;\n }\n\n this.transform = [rotateA * scale, rotateB * scale, rotateC * scale, rotateD * scale, offsetCanvasX - rotateA * scale * centerX - rotateC * scale * centerY, offsetCanvasY - rotateB * scale * centerX - rotateD * scale * centerY];\n this.width = width;\n this.height = height;\n }\n\n clone({\n scale = this.scale,\n rotation = this.rotation,\n offsetX = this.offsetX,\n offsetY = this.offsetY,\n dontFlip = false\n } = {}) {\n return new PageViewport({\n viewBox: this.viewBox.slice(),\n scale,\n rotation,\n offsetX,\n offsetY,\n dontFlip\n });\n }\n\n convertToViewportPoint(x, y) {\n return _util.Util.applyTransform([x, y], this.transform);\n }\n\n convertToViewportRectangle(rect) {\n const topLeft = _util.Util.applyTransform([rect[0], rect[1]], this.transform);\n\n const bottomRight = _util.Util.applyTransform([rect[2], rect[3]], this.transform);\n\n return [topLeft[0], topLeft[1], bottomRight[0], bottomRight[1]];\n }\n\n convertToPdfPoint(x, y) {\n return _util.Util.applyInverseTransform([x, y], this.transform);\n }\n\n}\n\nexports.PageViewport = PageViewport;\n\nclass RenderingCancelledException extends _util.BaseException {\n constructor(msg, type) {\n super(msg);\n this.type = type;\n }\n\n}\n\nexports.RenderingCancelledException = RenderingCancelledException;\nconst LinkTarget = {\n NONE: 0,\n SELF: 1,\n BLANK: 2,\n PARENT: 3,\n TOP: 4\n};\nexports.LinkTarget = LinkTarget;\n\nfunction addLinkAttributes(link, {\n url,\n target,\n rel,\n enabled = true\n} = {}) {\n (0, _util.assert)(url && typeof url === \"string\", 'addLinkAttributes: A valid \"url\" parameter must provided.');\n const urlNullRemoved = (0, _util.removeNullCharacters)(url);\n\n if (enabled) {\n link.href = link.title = urlNullRemoved;\n } else {\n link.href = \"\";\n link.title = `Disabled: ${urlNullRemoved}`;\n\n link.onclick = () => {\n return false;\n };\n }\n\n let targetStr = \"\";\n\n switch (target) {\n case LinkTarget.NONE:\n break;\n\n case LinkTarget.SELF:\n targetStr = \"_self\";\n break;\n\n case LinkTarget.BLANK:\n targetStr = \"_blank\";\n break;\n\n case LinkTarget.PARENT:\n targetStr = \"_parent\";\n break;\n\n case LinkTarget.TOP:\n targetStr = \"_top\";\n break;\n }\n\n link.target = targetStr;\n link.rel = typeof rel === \"string\" ? rel : DEFAULT_LINK_REL;\n}\n\nfunction getFilenameFromUrl(url) {\n const anchor = url.indexOf(\"#\");\n const query = url.indexOf(\"?\");\n const end = Math.min(anchor > 0 ? anchor : url.length, query > 0 ? query : url.length);\n return url.substring(url.lastIndexOf(\"/\", end) + 1, end);\n}\n\nclass StatTimer {\n constructor() {\n this.started = Object.create(null);\n this.times = [];\n }\n\n time(name) {\n if (name in this.started) {\n (0, _util.warn)(`Timer is already running for ${name}`);\n }\n\n this.started[name] = Date.now();\n }\n\n timeEnd(name) {\n if (!(name in this.started)) {\n (0, _util.warn)(`Timer has not been started for ${name}`);\n }\n\n this.times.push({\n name,\n start: this.started[name],\n end: Date.now()\n });\n delete this.started[name];\n }\n\n toString() {\n const outBuf = [];\n let longest = 0;\n\n for (const time of this.times) {\n const name = time.name;\n\n if (name.length > longest) {\n longest = name.length;\n }\n }\n\n for (const time of this.times) {\n const duration = time.end - time.start;\n outBuf.push(`${time.name.padEnd(longest)} ${duration}ms\\n`);\n }\n\n return outBuf.join(\"\");\n }\n\n}\n\nexports.StatTimer = StatTimer;\n\nfunction isFetchSupported() {\n return typeof fetch !== \"undefined\" && typeof Response !== \"undefined\" && \"body\" in Response.prototype && typeof ReadableStream !== \"undefined\";\n}\n\nfunction isValidFetchUrl(url, baseUrl) {\n try {\n const {\n protocol\n } = baseUrl ? new URL(url, baseUrl) : new URL(url);\n return protocol === \"http:\" || protocol === \"https:\";\n } catch (ex) {\n return false;\n }\n}\n\nfunction loadScript(src) {\n return new Promise((resolve, reject) => {\n const script = document.createElement(\"script\");\n script.src = src;\n script.onload = resolve;\n\n script.onerror = function () {\n reject(new Error(`Cannot load script at: ${script.src}`));\n };\n\n (document.head || document.documentElement).appendChild(script);\n });\n}\n\nfunction deprecated(details) {\n console.log(\"Deprecated API usage: \" + details);\n}\n\nlet pdfDateStringRegex;\n\nclass PDFDateString {\n static toDateObject(input) {\n if (!input || !(0, _util.isString)(input)) {\n return null;\n }\n\n if (!pdfDateStringRegex) {\n pdfDateStringRegex = new RegExp(\"^D:\" + \"(\\\\d{4})\" + \"(\\\\d{2})?\" + \"(\\\\d{2})?\" + \"(\\\\d{2})?\" + \"(\\\\d{2})?\" + \"(\\\\d{2})?\" + \"([Z|+|-])?\" + \"(\\\\d{2})?\" + \"'?\" + \"(\\\\d{2})?\" + \"'?\");\n }\n\n const matches = pdfDateStringRegex.exec(input);\n\n if (!matches) {\n return null;\n }\n\n const year = parseInt(matches[1], 10);\n let month = parseInt(matches[2], 10);\n month = month >= 1 && month <= 12 ? month - 1 : 0;\n let day = parseInt(matches[3], 10);\n day = day >= 1 && day <= 31 ? day : 1;\n let hour = parseInt(matches[4], 10);\n hour = hour >= 0 && hour <= 23 ? hour : 0;\n let minute = parseInt(matches[5], 10);\n minute = minute >= 0 && minute <= 59 ? minute : 0;\n let second = parseInt(matches[6], 10);\n second = second >= 0 && second <= 59 ? second : 0;\n const universalTimeRelation = matches[7] || \"Z\";\n let offsetHour = parseInt(matches[8], 10);\n offsetHour = offsetHour >= 0 && offsetHour <= 23 ? offsetHour : 0;\n let offsetMinute = parseInt(matches[9], 10) || 0;\n offsetMinute = offsetMinute >= 0 && offsetMinute <= 59 ? offsetMinute : 0;\n\n if (universalTimeRelation === \"-\") {\n hour += offsetHour;\n minute += offsetMinute;\n } else if (universalTimeRelation === \"+\") {\n hour -= offsetHour;\n minute -= offsetMinute;\n }\n\n return new Date(Date.UTC(year, month, day, hour, minute, second));\n }\n\n}\n\nexports.PDFDateString = PDFDateString;\n\n/***/ }),\n/* 2 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.arrayByteLength = arrayByteLength;\nexports.arraysToBytes = arraysToBytes;\nexports.assert = assert;\nexports.bytesToString = bytesToString;\nexports.createPromiseCapability = createPromiseCapability;\nexports.getVerbosityLevel = getVerbosityLevel;\nexports.info = info;\nexports.isArrayBuffer = isArrayBuffer;\nexports.isArrayEqual = isArrayEqual;\nexports.isBool = isBool;\nexports.isEmptyObj = isEmptyObj;\nexports.isNum = isNum;\nexports.isString = isString;\nexports.isSameOrigin = isSameOrigin;\nexports.createValidAbsoluteUrl = createValidAbsoluteUrl;\nexports.removeNullCharacters = removeNullCharacters;\nexports.setVerbosityLevel = setVerbosityLevel;\nexports.shadow = shadow;\nexports.string32 = string32;\nexports.stringToBytes = stringToBytes;\nexports.stringToPDFString = stringToPDFString;\nexports.stringToUTF8String = stringToUTF8String;\nexports.utf8StringToString = utf8StringToString;\nexports.warn = warn;\nexports.unreachable = unreachable;\nexports.IsEvalSupportedCached = exports.IsLittleEndianCached = exports.createObjectURL = exports.FormatError = exports.Util = exports.UnknownErrorException = exports.UnexpectedResponseException = exports.TextRenderingMode = exports.StreamType = exports.PermissionFlag = exports.PasswordResponses = exports.PasswordException = exports.MissingPDFException = exports.InvalidPDFException = exports.AbortException = exports.CMapCompressionType = exports.ImageKind = exports.FontType = exports.AnnotationType = exports.AnnotationStateModelType = exports.AnnotationReviewState = exports.AnnotationReplyType = exports.AnnotationMarkedState = exports.AnnotationFlag = exports.AnnotationFieldFlag = exports.AnnotationBorderStyleType = exports.UNSUPPORTED_FEATURES = exports.VerbosityLevel = exports.OPS = exports.IDENTITY_MATRIX = exports.FONT_IDENTITY_MATRIX = exports.BaseException = void 0;\n\n__w_pdfjs_require__(3);\n\nconst IDENTITY_MATRIX = [1, 0, 0, 1, 0, 0];\nexports.IDENTITY_MATRIX = IDENTITY_MATRIX;\nconst FONT_IDENTITY_MATRIX = [0.001, 0, 0, 0.001, 0, 0];\nexports.FONT_IDENTITY_MATRIX = FONT_IDENTITY_MATRIX;\nconst PermissionFlag = {\n PRINT: 0x04,\n MODIFY_CONTENTS: 0x08,\n COPY: 0x10,\n MODIFY_ANNOTATIONS: 0x20,\n FILL_INTERACTIVE_FORMS: 0x100,\n COPY_FOR_ACCESSIBILITY: 0x200,\n ASSEMBLE: 0x400,\n PRINT_HIGH_QUALITY: 0x800\n};\nexports.PermissionFlag = PermissionFlag;\nconst TextRenderingMode = {\n FILL: 0,\n STROKE: 1,\n FILL_STROKE: 2,\n INVISIBLE: 3,\n FILL_ADD_TO_PATH: 4,\n STROKE_ADD_TO_PATH: 5,\n FILL_STROKE_ADD_TO_PATH: 6,\n ADD_TO_PATH: 7,\n FILL_STROKE_MASK: 3,\n ADD_TO_PATH_FLAG: 4\n};\nexports.TextRenderingMode = TextRenderingMode;\nconst ImageKind = {\n GRAYSCALE_1BPP: 1,\n RGB_24BPP: 2,\n RGBA_32BPP: 3\n};\nexports.ImageKind = ImageKind;\nconst AnnotationType = {\n TEXT: 1,\n LINK: 2,\n FREETEXT: 3,\n LINE: 4,\n SQUARE: 5,\n CIRCLE: 6,\n POLYGON: 7,\n POLYLINE: 8,\n HIGHLIGHT: 9,\n UNDERLINE: 10,\n SQUIGGLY: 11,\n STRIKEOUT: 12,\n STAMP: 13,\n CARET: 14,\n INK: 15,\n POPUP: 16,\n FILEATTACHMENT: 17,\n SOUND: 18,\n MOVIE: 19,\n WIDGET: 20,\n SCREEN: 21,\n PRINTERMARK: 22,\n TRAPNET: 23,\n WATERMARK: 24,\n THREED: 25,\n REDACT: 26\n};\nexports.AnnotationType = AnnotationType;\nconst AnnotationStateModelType = {\n MARKED: \"Marked\",\n REVIEW: \"Review\"\n};\nexports.AnnotationStateModelType = AnnotationStateModelType;\nconst AnnotationMarkedState = {\n MARKED: \"Marked\",\n UNMARKED: \"Unmarked\"\n};\nexports.AnnotationMarkedState = AnnotationMarkedState;\nconst AnnotationReviewState = {\n ACCEPTED: \"Accepted\",\n REJECTED: \"Rejected\",\n CANCELLED: \"Cancelled\",\n COMPLETED: \"Completed\",\n NONE: \"None\"\n};\nexports.AnnotationReviewState = AnnotationReviewState;\nconst AnnotationReplyType = {\n GROUP: \"Group\",\n REPLY: \"R\"\n};\nexports.AnnotationReplyType = AnnotationReplyType;\nconst AnnotationFlag = {\n INVISIBLE: 0x01,\n HIDDEN: 0x02,\n PRINT: 0x04,\n NOZOOM: 0x08,\n NOROTATE: 0x10,\n NOVIEW: 0x20,\n READONLY: 0x40,\n LOCKED: 0x80,\n TOGGLENOVIEW: 0x100,\n LOCKEDCONTENTS: 0x200\n};\nexports.AnnotationFlag = AnnotationFlag;\nconst AnnotationFieldFlag = {\n READONLY: 0x0000001,\n REQUIRED: 0x0000002,\n NOEXPORT: 0x0000004,\n MULTILINE: 0x0001000,\n PASSWORD: 0x0002000,\n NOTOGGLETOOFF: 0x0004000,\n RADIO: 0x0008000,\n PUSHBUTTON: 0x0010000,\n COMBO: 0x0020000,\n EDIT: 0x0040000,\n SORT: 0x0080000,\n FILESELECT: 0x0100000,\n MULTISELECT: 0x0200000,\n DONOTSPELLCHECK: 0x0400000,\n DONOTSCROLL: 0x0800000,\n COMB: 0x1000000,\n RICHTEXT: 0x2000000,\n RADIOSINUNISON: 0x2000000,\n COMMITONSELCHANGE: 0x4000000\n};\nexports.AnnotationFieldFlag = AnnotationFieldFlag;\nconst AnnotationBorderStyleType = {\n SOLID: 1,\n DASHED: 2,\n BEVELED: 3,\n INSET: 4,\n UNDERLINE: 5\n};\nexports.AnnotationBorderStyleType = AnnotationBorderStyleType;\nconst StreamType = {\n UNKNOWN: \"UNKNOWN\",\n FLATE: \"FLATE\",\n LZW: \"LZW\",\n DCT: \"DCT\",\n JPX: \"JPX\",\n JBIG: \"JBIG\",\n A85: \"A85\",\n AHX: \"AHX\",\n CCF: \"CCF\",\n RLX: \"RLX\"\n};\nexports.StreamType = StreamType;\nconst FontType = {\n UNKNOWN: \"UNKNOWN\",\n TYPE1: \"TYPE1\",\n TYPE1C: \"TYPE1C\",\n CIDFONTTYPE0: \"CIDFONTTYPE0\",\n CIDFONTTYPE0C: \"CIDFONTTYPE0C\",\n TRUETYPE: \"TRUETYPE\",\n CIDFONTTYPE2: \"CIDFONTTYPE2\",\n TYPE3: \"TYPE3\",\n OPENTYPE: \"OPENTYPE\",\n TYPE0: \"TYPE0\",\n MMTYPE1: \"MMTYPE1\"\n};\nexports.FontType = FontType;\nconst VerbosityLevel = {\n ERRORS: 0,\n WARNINGS: 1,\n INFOS: 5\n};\nexports.VerbosityLevel = VerbosityLevel;\nconst CMapCompressionType = {\n NONE: 0,\n BINARY: 1,\n STREAM: 2\n};\nexports.CMapCompressionType = CMapCompressionType;\nconst OPS = {\n dependency: 1,\n setLineWidth: 2,\n setLineCap: 3,\n setLineJoin: 4,\n setMiterLimit: 5,\n setDash: 6,\n setRenderingIntent: 7,\n setFlatness: 8,\n setGState: 9,\n save: 10,\n restore: 11,\n transform: 12,\n moveTo: 13,\n lineTo: 14,\n curveTo: 15,\n curveTo2: 16,\n curveTo3: 17,\n closePath: 18,\n rectangle: 19,\n stroke: 20,\n closeStroke: 21,\n fill: 22,\n eoFill: 23,\n fillStroke: 24,\n eoFillStroke: 25,\n closeFillStroke: 26,\n closeEOFillStroke: 27,\n endPath: 28,\n clip: 29,\n eoClip: 30,\n beginText: 31,\n endText: 32,\n setCharSpacing: 33,\n setWordSpacing: 34,\n setHScale: 35,\n setLeading: 36,\n setFont: 37,\n setTextRenderingMode: 38,\n setTextRise: 39,\n moveText: 40,\n setLeadingMoveText: 41,\n setTextMatrix: 42,\n nextLine: 43,\n showText: 44,\n showSpacedText: 45,\n nextLineShowText: 46,\n nextLineSetSpacingShowText: 47,\n setCharWidth: 48,\n setCharWidthAndBounds: 49,\n setStrokeColorSpace: 50,\n setFillColorSpace: 51,\n setStrokeColor: 52,\n setStrokeColorN: 53,\n setFillColor: 54,\n setFillColorN: 55,\n setStrokeGray: 56,\n setFillGray: 57,\n setStrokeRGBColor: 58,\n setFillRGBColor: 59,\n setStrokeCMYKColor: 60,\n setFillCMYKColor: 61,\n shadingFill: 62,\n beginInlineImage: 63,\n beginImageData: 64,\n endInlineImage: 65,\n paintXObject: 66,\n markPoint: 67,\n markPointProps: 68,\n beginMarkedContent: 69,\n beginMarkedContentProps: 70,\n endMarkedContent: 71,\n beginCompat: 72,\n endCompat: 73,\n paintFormXObjectBegin: 74,\n paintFormXObjectEnd: 75,\n beginGroup: 76,\n endGroup: 77,\n beginAnnotations: 78,\n endAnnotations: 79,\n beginAnnotation: 80,\n endAnnotation: 81,\n paintJpegXObject: 82,\n paintImageMaskXObject: 83,\n paintImageMaskXObjectGroup: 84,\n paintImageXObject: 85,\n paintInlineImageXObject: 86,\n paintInlineImageXObjectGroup: 87,\n paintImageXObjectRepeat: 88,\n paintImageMaskXObjectRepeat: 89,\n paintSolidColorImageMask: 90,\n constructPath: 91\n};\nexports.OPS = OPS;\nconst UNSUPPORTED_FEATURES = {\n unknown: \"unknown\",\n forms: \"forms\",\n javaScript: \"javaScript\",\n smask: \"smask\",\n shadingPattern: \"shadingPattern\",\n font: \"font\",\n errorTilingPattern: \"errorTilingPattern\",\n errorExtGState: \"errorExtGState\",\n errorXObject: \"errorXObject\",\n errorFontLoadType3: \"errorFontLoadType3\",\n errorFontState: \"errorFontState\",\n errorFontMissing: \"errorFontMissing\",\n errorFontTranslate: \"errorFontTranslate\",\n errorColorSpace: \"errorColorSpace\",\n errorOperatorList: \"errorOperatorList\",\n errorFontToUnicode: \"errorFontToUnicode\",\n errorFontLoadNative: \"errorFontLoadNative\",\n errorFontGetPath: \"errorFontGetPath\"\n};\nexports.UNSUPPORTED_FEATURES = UNSUPPORTED_FEATURES;\nconst PasswordResponses = {\n NEED_PASSWORD: 1,\n INCORRECT_PASSWORD: 2\n};\nexports.PasswordResponses = PasswordResponses;\nlet verbosity = VerbosityLevel.WARNINGS;\n\nfunction setVerbosityLevel(level) {\n if (Number.isInteger(level)) {\n verbosity = level;\n }\n}\n\nfunction getVerbosityLevel() {\n return verbosity;\n}\n\nfunction info(msg) {\n if (verbosity >= VerbosityLevel.INFOS) {\n console.log(`Info: ${msg}`);\n }\n}\n\nfunction warn(msg) {\n if (verbosity >= VerbosityLevel.WARNINGS) {\n console.log(`Warning: ${msg}`);\n }\n}\n\nfunction unreachable(msg) {\n throw new Error(msg);\n}\n\nfunction assert(cond, msg) {\n if (!cond) {\n unreachable(msg);\n }\n}\n\nfunction isSameOrigin(baseUrl, otherUrl) {\n let base;\n\n try {\n base = new URL(baseUrl);\n\n if (!base.origin || base.origin === \"null\") {\n return false;\n }\n } catch (e) {\n return false;\n }\n\n const other = new URL(otherUrl, base);\n return base.origin === other.origin;\n}\n\nfunction _isValidProtocol(url) {\n if (!url) {\n return false;\n }\n\n switch (url.protocol) {\n case \"http:\":\n case \"https:\":\n case \"ftp:\":\n case \"mailto:\":\n case \"tel:\":\n return true;\n\n default:\n return false;\n }\n}\n\nfunction createValidAbsoluteUrl(url, baseUrl) {\n if (!url) {\n return null;\n }\n\n try {\n const absoluteUrl = baseUrl ? new URL(url, baseUrl) : new URL(url);\n\n if (_isValidProtocol(absoluteUrl)) {\n return absoluteUrl;\n }\n } catch (ex) {}\n\n return null;\n}\n\nfunction shadow(obj, prop, value) {\n Object.defineProperty(obj, prop, {\n value,\n enumerable: true,\n configurable: true,\n writable: false\n });\n return value;\n}\n\nconst BaseException = function BaseExceptionClosure() {\n function BaseException(message) {\n if (this.constructor === BaseException) {\n unreachable(\"Cannot initialize BaseException.\");\n }\n\n this.message = message;\n this.name = this.constructor.name;\n }\n\n BaseException.prototype = new Error();\n BaseException.constructor = BaseException;\n return BaseException;\n}();\n\nexports.BaseException = BaseException;\n\nclass PasswordException extends BaseException {\n constructor(msg, code) {\n super(msg);\n this.code = code;\n }\n\n}\n\nexports.PasswordException = PasswordException;\n\nclass UnknownErrorException extends BaseException {\n constructor(msg, details) {\n super(msg);\n this.details = details;\n }\n\n}\n\nexports.UnknownErrorException = UnknownErrorException;\n\nclass InvalidPDFException extends BaseException {}\n\nexports.InvalidPDFException = InvalidPDFException;\n\nclass MissingPDFException extends BaseException {}\n\nexports.MissingPDFException = MissingPDFException;\n\nclass UnexpectedResponseException extends BaseException {\n constructor(msg, status) {\n super(msg);\n this.status = status;\n }\n\n}\n\nexports.UnexpectedResponseException = UnexpectedResponseException;\n\nclass FormatError extends BaseException {}\n\nexports.FormatError = FormatError;\n\nclass AbortException extends BaseException {}\n\nexports.AbortException = AbortException;\nconst NullCharactersRegExp = /\\x00/g;\n\nfunction removeNullCharacters(str) {\n if (typeof str !== \"string\") {\n warn(\"The argument for removeNullCharacters must be a string.\");\n return str;\n }\n\n return str.replace(NullCharactersRegExp, \"\");\n}\n\nfunction bytesToString(bytes) {\n assert(bytes !== null && typeof bytes === \"object\" && bytes.length !== undefined, \"Invalid argument for bytesToString\");\n const length = bytes.length;\n const MAX_ARGUMENT_COUNT = 8192;\n\n if (length < MAX_ARGUMENT_COUNT) {\n return String.fromCharCode.apply(null, bytes);\n }\n\n const strBuf = [];\n\n for (let i = 0; i < length; i += MAX_ARGUMENT_COUNT) {\n const chunkEnd = Math.min(i + MAX_ARGUMENT_COUNT, length);\n const chunk = bytes.subarray(i, chunkEnd);\n strBuf.push(String.fromCharCode.apply(null, chunk));\n }\n\n return strBuf.join(\"\");\n}\n\nfunction stringToBytes(str) {\n assert(typeof str === \"string\", \"Invalid argument for stringToBytes\");\n const length = str.length;\n const bytes = new Uint8Array(length);\n\n for (let i = 0; i < length; ++i) {\n bytes[i] = str.charCodeAt(i) & 0xff;\n }\n\n return bytes;\n}\n\nfunction arrayByteLength(arr) {\n if (arr.length !== undefined) {\n return arr.length;\n }\n\n assert(arr.byteLength !== undefined, \"arrayByteLength - invalid argument.\");\n return arr.byteLength;\n}\n\nfunction arraysToBytes(arr) {\n const length = arr.length;\n\n if (length === 1 && arr[0] instanceof Uint8Array) {\n return arr[0];\n }\n\n let resultLength = 0;\n\n for (let i = 0; i < length; i++) {\n resultLength += arrayByteLength(arr[i]);\n }\n\n let pos = 0;\n const data = new Uint8Array(resultLength);\n\n for (let i = 0; i < length; i++) {\n let item = arr[i];\n\n if (!(item instanceof Uint8Array)) {\n if (typeof item === \"string\") {\n item = stringToBytes(item);\n } else {\n item = new Uint8Array(item);\n }\n }\n\n const itemLength = item.byteLength;\n data.set(item, pos);\n pos += itemLength;\n }\n\n return data;\n}\n\nfunction string32(value) {\n return String.fromCharCode(value >> 24 & 0xff, value >> 16 & 0xff, value >> 8 & 0xff, value & 0xff);\n}\n\nfunction isLittleEndian() {\n const buffer8 = new Uint8Array(4);\n buffer8[0] = 1;\n const view32 = new Uint32Array(buffer8.buffer, 0, 1);\n return view32[0] === 1;\n}\n\nconst IsLittleEndianCached = {\n get value() {\n return shadow(this, \"value\", isLittleEndian());\n }\n\n};\nexports.IsLittleEndianCached = IsLittleEndianCached;\n\nfunction isEvalSupported() {\n try {\n new Function(\"\");\n return true;\n } catch (e) {\n return false;\n }\n}\n\nconst IsEvalSupportedCached = {\n get value() {\n return shadow(this, \"value\", isEvalSupported());\n }\n\n};\nexports.IsEvalSupportedCached = IsEvalSupportedCached;\nconst rgbBuf = [\"rgb(\", 0, \",\", 0, \",\", 0, \")\"];\n\nclass Util {\n static makeCssRgb(r, g, b) {\n rgbBuf[1] = r;\n rgbBuf[3] = g;\n rgbBuf[5] = b;\n return rgbBuf.join(\"\");\n }\n\n static transform(m1, m2) {\n return [m1[0] * m2[0] + m1[2] * m2[1], m1[1] * m2[0] + m1[3] * m2[1], m1[0] * m2[2] + m1[2] * m2[3], m1[1] * m2[2] + m1[3] * m2[3], m1[0] * m2[4] + m1[2] * m2[5] + m1[4], m1[1] * m2[4] + m1[3] * m2[5] + m1[5]];\n }\n\n static applyTransform(p, m) {\n const xt = p[0] * m[0] + p[1] * m[2] + m[4];\n const yt = p[0] * m[1] + p[1] * m[3] + m[5];\n return [xt, yt];\n }\n\n static applyInverseTransform(p, m) {\n const d = m[0] * m[3] - m[1] * m[2];\n const xt = (p[0] * m[3] - p[1] * m[2] + m[2] * m[5] - m[4] * m[3]) / d;\n const yt = (-p[0] * m[1] + p[1] * m[0] + m[4] * m[1] - m[5] * m[0]) / d;\n return [xt, yt];\n }\n\n static getAxialAlignedBoundingBox(r, m) {\n const p1 = Util.applyTransform(r, m);\n const p2 = Util.applyTransform(r.slice(2, 4), m);\n const p3 = Util.applyTransform([r[0], r[3]], m);\n const p4 = Util.applyTransform([r[2], r[1]], m);\n return [Math.min(p1[0], p2[0], p3[0], p4[0]), Math.min(p1[1], p2[1], p3[1], p4[1]), Math.max(p1[0], p2[0], p3[0], p4[0]), Math.max(p1[1], p2[1], p3[1], p4[1])];\n }\n\n static inverseTransform(m) {\n const d = m[0] * m[3] - m[1] * m[2];\n return [m[3] / d, -m[1] / d, -m[2] / d, m[0] / d, (m[2] * m[5] - m[4] * m[3]) / d, (m[4] * m[1] - m[5] * m[0]) / d];\n }\n\n static apply3dTransform(m, v) {\n return [m[0] * v[0] + m[1] * v[1] + m[2] * v[2], m[3] * v[0] + m[4] * v[1] + m[5] * v[2], m[6] * v[0] + m[7] * v[1] + m[8] * v[2]];\n }\n\n static singularValueDecompose2dScale(m) {\n const transpose = [m[0], m[2], m[1], m[3]];\n const a = m[0] * transpose[0] + m[1] * transpose[2];\n const b = m[0] * transpose[1] + m[1] * transpose[3];\n const c = m[2] * transpose[0] + m[3] * transpose[2];\n const d = m[2] * transpose[1] + m[3] * transpose[3];\n const first = (a + d) / 2;\n const second = Math.sqrt((a + d) * (a + d) - 4 * (a * d - c * b)) / 2;\n const sx = first + second || 1;\n const sy = first - second || 1;\n return [Math.sqrt(sx), Math.sqrt(sy)];\n }\n\n static normalizeRect(rect) {\n const r = rect.slice(0);\n\n if (rect[0] > rect[2]) {\n r[0] = rect[2];\n r[2] = rect[0];\n }\n\n if (rect[1] > rect[3]) {\n r[1] = rect[3];\n r[3] = rect[1];\n }\n\n return r;\n }\n\n static intersect(rect1, rect2) {\n function compare(a, b) {\n return a - b;\n }\n\n const orderedX = [rect1[0], rect1[2], rect2[0], rect2[2]].sort(compare);\n const orderedY = [rect1[1], rect1[3], rect2[1], rect2[3]].sort(compare);\n const result = [];\n rect1 = Util.normalizeRect(rect1);\n rect2 = Util.normalizeRect(rect2);\n\n if (orderedX[0] === rect1[0] && orderedX[1] === rect2[0] || orderedX[0] === rect2[0] && orderedX[1] === rect1[0]) {\n result[0] = orderedX[1];\n result[2] = orderedX[2];\n } else {\n return null;\n }\n\n if (orderedY[0] === rect1[1] && orderedY[1] === rect2[1] || orderedY[0] === rect2[1] && orderedY[1] === rect1[1]) {\n result[1] = orderedY[1];\n result[3] = orderedY[2];\n } else {\n return null;\n }\n\n return result;\n }\n\n}\n\nexports.Util = Util;\nconst PDFStringTranslateTable = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x2D8, 0x2C7, 0x2C6, 0x2D9, 0x2DD, 0x2DB, 0x2DA, 0x2DC, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x2022, 0x2020, 0x2021, 0x2026, 0x2014, 0x2013, 0x192, 0x2044, 0x2039, 0x203A, 0x2212, 0x2030, 0x201E, 0x201C, 0x201D, 0x2018, 0x2019, 0x201A, 0x2122, 0xFB01, 0xFB02, 0x141, 0x152, 0x160, 0x178, 0x17D, 0x131, 0x142, 0x153, 0x161, 0x17E, 0, 0x20AC];\n\nfunction stringToPDFString(str) {\n const length = str.length,\n strBuf = [];\n\n if (str[0] === \"\\xFE\" && str[1] === \"\\xFF\") {\n for (let i = 2; i < length; i += 2) {\n strBuf.push(String.fromCharCode(str.charCodeAt(i) << 8 | str.charCodeAt(i + 1)));\n }\n } else if (str[0] === \"\\xFF\" && str[1] === \"\\xFE\") {\n for (let i = 2; i < length; i += 2) {\n strBuf.push(String.fromCharCode(str.charCodeAt(i + 1) << 8 | str.charCodeAt(i)));\n }\n } else {\n for (let i = 0; i < length; ++i) {\n const code = PDFStringTranslateTable[str.charCodeAt(i)];\n strBuf.push(code ? String.fromCharCode(code) : str.charAt(i));\n }\n }\n\n return strBuf.join(\"\");\n}\n\nfunction stringToUTF8String(str) {\n return decodeURIComponent(escape(str));\n}\n\nfunction utf8StringToString(str) {\n return unescape(encodeURIComponent(str));\n}\n\nfunction isEmptyObj(obj) {\n for (const key in obj) {\n return false;\n }\n\n return true;\n}\n\nfunction isBool(v) {\n return typeof v === \"boolean\";\n}\n\nfunction isNum(v) {\n return typeof v === \"number\";\n}\n\nfunction isString(v) {\n return typeof v === \"string\";\n}\n\nfunction isArrayBuffer(v) {\n return typeof v === \"object\" && v !== null && v.byteLength !== undefined;\n}\n\nfunction isArrayEqual(arr1, arr2) {\n if (arr1.length !== arr2.length) {\n return false;\n }\n\n return arr1.every(function (element, index) {\n return element === arr2[index];\n });\n}\n\nfunction createPromiseCapability() {\n const capability = Object.create(null);\n let isSettled = false;\n Object.defineProperty(capability, \"settled\", {\n get() {\n return isSettled;\n }\n\n });\n capability.promise = new Promise(function (resolve, reject) {\n capability.resolve = function (data) {\n isSettled = true;\n resolve(data);\n };\n\n capability.reject = function (reason) {\n isSettled = true;\n reject(reason);\n };\n });\n return capability;\n}\n\nconst createObjectURL = function createObjectURLClosure() {\n const digits = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\";\n return function createObjectURL(data, contentType, forceDataSchema = false) {\n if (!forceDataSchema && URL.createObjectURL) {\n const blob = new Blob([data], {\n type: contentType\n });\n return URL.createObjectURL(blob);\n }\n\n let buffer = `data:${contentType};base64,`;\n\n for (let i = 0, ii = data.length; i < ii; i += 3) {\n const b1 = data[i] & 0xff;\n const b2 = data[i + 1] & 0xff;\n const b3 = data[i + 2] & 0xff;\n const d1 = b1 >> 2,\n d2 = (b1 & 3) << 4 | b2 >> 4;\n const d3 = i + 1 < ii ? (b2 & 0xf) << 2 | b3 >> 6 : 64;\n const d4 = i + 2 < ii ? b3 & 0x3f : 64;\n buffer += digits[d1] + digits[d2] + digits[d3] + digits[d4];\n }\n\n return buffer;\n };\n}();\n\nexports.createObjectURL = createObjectURL;\n\n/***/ }),\n/* 3 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nvar _is_node = __w_pdfjs_require__(4);\n\n;\n\n/***/ }),\n/* 4 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.isNodeJS = void 0;\nconst isNodeJS = typeof process === \"object\" && process + \"\" === \"[object process]\" && !process.versions.nw && !process.versions.electron;\nexports.isNodeJS = isNodeJS;\n\n/***/ }),\n/* 5 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getDocument = getDocument;\nexports.setPDFNetworkStreamFactory = setPDFNetworkStreamFactory;\nexports.build = exports.version = exports.PDFPageProxy = exports.PDFDocumentProxy = exports.PDFWorker = exports.PDFDataRangeTransport = exports.LoopbackPort = void 0;\n\nvar _util = __w_pdfjs_require__(2);\n\nvar _display_utils = __w_pdfjs_require__(1);\n\nvar _font_loader = __w_pdfjs_require__(6);\n\nvar _api_compatibility = __w_pdfjs_require__(7);\n\nvar _canvas = __w_pdfjs_require__(8);\n\nvar _worker_options = __w_pdfjs_require__(10);\n\nvar _is_node = __w_pdfjs_require__(4);\n\nvar _message_handler = __w_pdfjs_require__(11);\n\nvar _metadata = __w_pdfjs_require__(12);\n\nvar _transport_stream = __w_pdfjs_require__(14);\n\nvar _webgl = __w_pdfjs_require__(15);\n\nconst DEFAULT_RANGE_CHUNK_SIZE = 65536;\nconst RENDERING_CANCELLED_TIMEOUT = 100;\nlet createPDFNetworkStream;\n\nfunction setPDFNetworkStreamFactory(pdfNetworkStreamFactory) {\n createPDFNetworkStream = pdfNetworkStreamFactory;\n}\n\nfunction getDocument(src) {\n const task = new PDFDocumentLoadingTask();\n let source;\n\n if (typeof src === \"string\") {\n source = {\n url: src\n };\n } else if ((0, _util.isArrayBuffer)(src)) {\n source = {\n data: src\n };\n } else if (src instanceof PDFDataRangeTransport) {\n source = {\n range: src\n };\n } else {\n if (typeof src !== \"object\") {\n throw new Error(\"Invalid parameter in getDocument, \" + \"need either Uint8Array, string or a parameter object\");\n }\n\n if (!src.url && !src.data && !src.range) {\n throw new Error(\"Invalid parameter object: need either .data, .range or .url\");\n }\n\n source = src;\n }\n\n const params = Object.create(null);\n let rangeTransport = null,\n worker = null;\n\n for (const key in source) {\n if (key === \"url\" && typeof window !== \"undefined\") {\n params[key] = new URL(source[key], window.location).href;\n continue;\n } else if (key === \"range\") {\n rangeTransport = source[key];\n continue;\n } else if (key === \"worker\") {\n worker = source[key];\n continue;\n } else if (key === \"data\" && !(source[key] instanceof Uint8Array)) {\n const pdfBytes = source[key];\n\n if (typeof pdfBytes === \"string\") {\n params[key] = (0, _util.stringToBytes)(pdfBytes);\n } else if (typeof pdfBytes === \"object\" && pdfBytes !== null && !isNaN(pdfBytes.length)) {\n params[key] = new Uint8Array(pdfBytes);\n } else if ((0, _util.isArrayBuffer)(pdfBytes)) {\n params[key] = new Uint8Array(pdfBytes);\n } else {\n throw new Error(\"Invalid PDF binary data: either typed array, \" + \"string or array-like object is expected in the \" + \"data property.\");\n }\n\n continue;\n }\n\n params[key] = source[key];\n }\n\n params.rangeChunkSize = params.rangeChunkSize || DEFAULT_RANGE_CHUNK_SIZE;\n params.CMapReaderFactory = params.CMapReaderFactory || _display_utils.DOMCMapReaderFactory;\n params.ignoreErrors = params.stopAtErrors !== true;\n params.fontExtraProperties = params.fontExtraProperties === true;\n params.pdfBug = params.pdfBug === true;\n\n if (!Number.isInteger(params.maxImageSize)) {\n params.maxImageSize = -1;\n }\n\n if (typeof params.isEvalSupported !== \"boolean\") {\n params.isEvalSupported = true;\n }\n\n if (typeof params.disableFontFace !== \"boolean\") {\n params.disableFontFace = _api_compatibility.apiCompatibilityParams.disableFontFace || false;\n }\n\n if (typeof params.disableRange !== \"boolean\") {\n params.disableRange = false;\n }\n\n if (typeof params.disableStream !== \"boolean\") {\n params.disableStream = false;\n }\n\n if (typeof params.disableAutoFetch !== \"boolean\") {\n params.disableAutoFetch = false;\n }\n\n (0, _util.setVerbosityLevel)(params.verbosity);\n\n if (!worker) {\n const workerParams = {\n verbosity: params.verbosity,\n port: _worker_options.GlobalWorkerOptions.workerPort\n };\n worker = workerParams.port ? PDFWorker.fromPort(workerParams) : new PDFWorker(workerParams);\n task._worker = worker;\n }\n\n const docId = task.docId;\n worker.promise.then(function () {\n if (task.destroyed) {\n throw new Error(\"Loading aborted\");\n }\n\n const workerIdPromise = _fetchDocument(worker, params, rangeTransport, docId);\n\n const networkStreamPromise = new Promise(function (resolve) {\n let networkStream;\n\n if (rangeTransport) {\n networkStream = new _transport_stream.PDFDataTransportStream({\n length: params.length,\n initialData: params.initialData,\n progressiveDone: params.progressiveDone,\n disableRange: params.disableRange,\n disableStream: params.disableStream\n }, rangeTransport);\n } else if (!params.data) {\n networkStream = createPDFNetworkStream({\n url: params.url,\n length: params.length,\n httpHeaders: params.httpHeaders,\n withCredentials: params.withCredentials,\n rangeChunkSize: params.rangeChunkSize,\n disableRange: params.disableRange,\n disableStream: params.disableStream\n });\n }\n\n resolve(networkStream);\n });\n return Promise.all([workerIdPromise, networkStreamPromise]).then(function ([workerId, networkStream]) {\n if (task.destroyed) {\n throw new Error(\"Loading aborted\");\n }\n\n const messageHandler = new _message_handler.MessageHandler(docId, workerId, worker.port);\n messageHandler.postMessageTransfers = worker.postMessageTransfers;\n const transport = new WorkerTransport(messageHandler, task, networkStream, params);\n task._transport = transport;\n messageHandler.send(\"Ready\", null);\n });\n }).catch(task._capability.reject);\n return task;\n}\n\nfunction _fetchDocument(worker, source, pdfDataRangeTransport, docId) {\n if (worker.destroyed) {\n return Promise.reject(new Error(\"Worker was destroyed\"));\n }\n\n if (pdfDataRangeTransport) {\n source.length = pdfDataRangeTransport.length;\n source.initialData = pdfDataRangeTransport.initialData;\n source.progressiveDone = pdfDataRangeTransport.progressiveDone;\n }\n\n return worker.messageHandler.sendWithPromise(\"GetDocRequest\", {\n docId,\n apiVersion: '2.5.207',\n source: {\n data: source.data,\n url: source.url,\n password: source.password,\n disableAutoFetch: source.disableAutoFetch,\n rangeChunkSize: source.rangeChunkSize,\n length: source.length\n },\n maxImageSize: source.maxImageSize,\n disableFontFace: source.disableFontFace,\n postMessageTransfers: worker.postMessageTransfers,\n docBaseUrl: source.docBaseUrl,\n ignoreErrors: source.ignoreErrors,\n isEvalSupported: source.isEvalSupported,\n fontExtraProperties: source.fontExtraProperties\n }).then(function (workerId) {\n if (worker.destroyed) {\n throw new Error(\"Worker was destroyed\");\n }\n\n return workerId;\n });\n}\n\nconst PDFDocumentLoadingTask = function PDFDocumentLoadingTaskClosure() {\n let nextDocumentId = 0;\n\n class PDFDocumentLoadingTask {\n constructor() {\n this._capability = (0, _util.createPromiseCapability)();\n this._transport = null;\n this._worker = null;\n this.docId = \"d\" + nextDocumentId++;\n this.destroyed = false;\n this.onPassword = null;\n this.onProgress = null;\n this.onUnsupportedFeature = null;\n }\n\n get promise() {\n return this._capability.promise;\n }\n\n destroy() {\n this.destroyed = true;\n const transportDestroyed = !this._transport ? Promise.resolve() : this._transport.destroy();\n return transportDestroyed.then(() => {\n this._transport = null;\n\n if (this._worker) {\n this._worker.destroy();\n\n this._worker = null;\n }\n });\n }\n\n }\n\n return PDFDocumentLoadingTask;\n}();\n\nclass PDFDataRangeTransport {\n constructor(length, initialData, progressiveDone = false) {\n this.length = length;\n this.initialData = initialData;\n this.progressiveDone = progressiveDone;\n this._rangeListeners = [];\n this._progressListeners = [];\n this._progressiveReadListeners = [];\n this._progressiveDoneListeners = [];\n this._readyCapability = (0, _util.createPromiseCapability)();\n }\n\n addRangeListener(listener) {\n this._rangeListeners.push(listener);\n }\n\n addProgressListener(listener) {\n this._progressListeners.push(listener);\n }\n\n addProgressiveReadListener(listener) {\n this._progressiveReadListeners.push(listener);\n }\n\n addProgressiveDoneListener(listener) {\n this._progressiveDoneListeners.push(listener);\n }\n\n onDataRange(begin, chunk) {\n for (const listener of this._rangeListeners) {\n listener(begin, chunk);\n }\n }\n\n onDataProgress(loaded, total) {\n this._readyCapability.promise.then(() => {\n for (const listener of this._progressListeners) {\n listener(loaded, total);\n }\n });\n }\n\n onDataProgressiveRead(chunk) {\n this._readyCapability.promise.then(() => {\n for (const listener of this._progressiveReadListeners) {\n listener(chunk);\n }\n });\n }\n\n onDataProgressiveDone() {\n this._readyCapability.promise.then(() => {\n for (const listener of this._progressiveDoneListeners) {\n listener();\n }\n });\n }\n\n transportReady() {\n this._readyCapability.resolve();\n }\n\n requestDataRange(begin, end) {\n (0, _util.unreachable)(\"Abstract method PDFDataRangeTransport.requestDataRange\");\n }\n\n abort() {}\n\n}\n\nexports.PDFDataRangeTransport = PDFDataRangeTransport;\n\nclass PDFDocumentProxy {\n constructor(pdfInfo, transport) {\n this._pdfInfo = pdfInfo;\n this._transport = transport;\n }\n\n get numPages() {\n return this._pdfInfo.numPages;\n }\n\n get fingerprint() {\n return this._pdfInfo.fingerprint;\n }\n\n getPage(pageNumber) {\n return this._transport.getPage(pageNumber);\n }\n\n getPageIndex(ref) {\n return this._transport.getPageIndex(ref);\n }\n\n getDestinations() {\n return this._transport.getDestinations();\n }\n\n getDestination(id) {\n return this._transport.getDestination(id);\n }\n\n getPageLabels() {\n return this._transport.getPageLabels();\n }\n\n getPageLayout() {\n return this._transport.getPageLayout();\n }\n\n getPageMode() {\n return this._transport.getPageMode();\n }\n\n getViewerPreferences() {\n return this._transport.getViewerPreferences();\n }\n\n getOpenAction() {\n return this._transport.getOpenAction();\n }\n\n getOpenActionDestination() {\n (0, _display_utils.deprecated)(\"getOpenActionDestination, use getOpenAction instead.\");\n return this.getOpenAction().then(function (openAction) {\n return openAction && openAction.dest ? openAction.dest : null;\n });\n }\n\n getAttachments() {\n return this._transport.getAttachments();\n }\n\n getJavaScript() {\n return this._transport.getJavaScript();\n }\n\n getOutline() {\n return this._transport.getOutline();\n }\n\n getPermissions() {\n return this._transport.getPermissions();\n }\n\n getMetadata() {\n return this._transport.getMetadata();\n }\n\n getData() {\n return this._transport.getData();\n }\n\n getDownloadInfo() {\n return this._transport.downloadInfoCapability.promise;\n }\n\n getStats() {\n return this._transport.getStats();\n }\n\n cleanup() {\n return this._transport.startCleanup();\n }\n\n destroy() {\n return this.loadingTask.destroy();\n }\n\n get loadingParams() {\n return this._transport.loadingParams;\n }\n\n get loadingTask() {\n return this._transport.loadingTask;\n }\n\n}\n\nexports.PDFDocumentProxy = PDFDocumentProxy;\n\nclass PDFPageProxy {\n constructor(pageIndex, pageInfo, transport, pdfBug = false) {\n this._pageIndex = pageIndex;\n this._pageInfo = pageInfo;\n this._transport = transport;\n this._stats = pdfBug ? new _display_utils.StatTimer() : null;\n this._pdfBug = pdfBug;\n this.commonObjs = transport.commonObjs;\n this.objs = new PDFObjects();\n this.cleanupAfterRender = false;\n this.pendingCleanup = false;\n this.intentStates = Object.create(null);\n this.destroyed = false;\n }\n\n get pageNumber() {\n return this._pageIndex + 1;\n }\n\n get rotate() {\n return this._pageInfo.rotate;\n }\n\n get ref() {\n return this._pageInfo.ref;\n }\n\n get userUnit() {\n return this._pageInfo.userUnit;\n }\n\n get view() {\n return this._pageInfo.view;\n }\n\n getViewport({\n scale,\n rotation = this.rotate,\n offsetX = 0,\n offsetY = 0,\n dontFlip = false\n } = {}) {\n return new _display_utils.PageViewport({\n viewBox: this.view,\n scale,\n rotation,\n offsetX,\n offsetY,\n dontFlip\n });\n }\n\n getAnnotations({\n intent = null\n } = {}) {\n if (!this.annotationsPromise || this.annotationsIntent !== intent) {\n this.annotationsPromise = this._transport.getAnnotations(this._pageIndex, intent);\n this.annotationsIntent = intent;\n }\n\n return this.annotationsPromise;\n }\n\n render({\n canvasContext,\n viewport,\n intent = \"display\",\n enableWebGL = false,\n renderInteractiveForms = false,\n transform = null,\n imageLayer = null,\n canvasFactory = null,\n background = null\n }) {\n if (this._stats) {\n this._stats.time(\"Overall\");\n }\n\n const renderingIntent = intent === \"print\" ? \"print\" : \"display\";\n this.pendingCleanup = false;\n\n if (!this.intentStates[renderingIntent]) {\n this.intentStates[renderingIntent] = Object.create(null);\n }\n\n const intentState = this.intentStates[renderingIntent];\n\n if (intentState.streamReaderCancelTimeout) {\n clearTimeout(intentState.streamReaderCancelTimeout);\n intentState.streamReaderCancelTimeout = null;\n }\n\n const canvasFactoryInstance = canvasFactory || new _display_utils.DOMCanvasFactory();\n const webGLContext = new _webgl.WebGLContext({\n enable: enableWebGL\n });\n\n if (!intentState.displayReadyCapability) {\n intentState.displayReadyCapability = (0, _util.createPromiseCapability)();\n intentState.operatorList = {\n fnArray: [],\n argsArray: [],\n lastChunk: false\n };\n\n if (this._stats) {\n this._stats.time(\"Page Request\");\n }\n\n this._pumpOperatorList({\n pageIndex: this._pageIndex,\n intent: renderingIntent,\n renderInteractiveForms: renderInteractiveForms === true\n });\n }\n\n const complete = error => {\n const i = intentState.renderTasks.indexOf(internalRenderTask);\n\n if (i >= 0) {\n intentState.renderTasks.splice(i, 1);\n }\n\n if (this.cleanupAfterRender || renderingIntent === \"print\") {\n this.pendingCleanup = true;\n }\n\n this._tryCleanup();\n\n if (error) {\n internalRenderTask.capability.reject(error);\n\n this._abortOperatorList({\n intentState,\n reason: error\n });\n } else {\n internalRenderTask.capability.resolve();\n }\n\n if (this._stats) {\n this._stats.timeEnd(\"Rendering\");\n\n this._stats.timeEnd(\"Overall\");\n }\n };\n\n const internalRenderTask = new InternalRenderTask({\n callback: complete,\n params: {\n canvasContext,\n viewport,\n transform,\n imageLayer,\n background\n },\n objs: this.objs,\n commonObjs: this.commonObjs,\n operatorList: intentState.operatorList,\n pageIndex: this._pageIndex,\n canvasFactory: canvasFactoryInstance,\n webGLContext,\n useRequestAnimationFrame: renderingIntent !== \"print\",\n pdfBug: this._pdfBug\n });\n\n if (!intentState.renderTasks) {\n intentState.renderTasks = [];\n }\n\n intentState.renderTasks.push(internalRenderTask);\n const renderTask = internalRenderTask.task;\n intentState.displayReadyCapability.promise.then(transparency => {\n if (this.pendingCleanup) {\n complete();\n return;\n }\n\n if (this._stats) {\n this._stats.time(\"Rendering\");\n }\n\n internalRenderTask.initializeGraphics(transparency);\n internalRenderTask.operatorListChanged();\n }).catch(complete);\n return renderTask;\n }\n\n getOperatorList() {\n function operatorListChanged() {\n if (intentState.operatorList.lastChunk) {\n intentState.opListReadCapability.resolve(intentState.operatorList);\n const i = intentState.renderTasks.indexOf(opListTask);\n\n if (i >= 0) {\n intentState.renderTasks.splice(i, 1);\n }\n }\n }\n\n const renderingIntent = \"oplist\";\n\n if (!this.intentStates[renderingIntent]) {\n this.intentStates[renderingIntent] = Object.create(null);\n }\n\n const intentState = this.intentStates[renderingIntent];\n let opListTask;\n\n if (!intentState.opListReadCapability) {\n opListTask = {};\n opListTask.operatorListChanged = operatorListChanged;\n intentState.opListReadCapability = (0, _util.createPromiseCapability)();\n intentState.renderTasks = [];\n intentState.renderTasks.push(opListTask);\n intentState.operatorList = {\n fnArray: [],\n argsArray: [],\n lastChunk: false\n };\n\n if (this._stats) {\n this._stats.time(\"Page Request\");\n }\n\n this._pumpOperatorList({\n pageIndex: this._pageIndex,\n intent: renderingIntent\n });\n }\n\n return intentState.opListReadCapability.promise;\n }\n\n streamTextContent({\n normalizeWhitespace = false,\n disableCombineTextItems = false\n } = {}) {\n const TEXT_CONTENT_CHUNK_SIZE = 100;\n return this._transport.messageHandler.sendWithStream(\"GetTextContent\", {\n pageIndex: this._pageIndex,\n normalizeWhitespace: normalizeWhitespace === true,\n combineTextItems: disableCombineTextItems !== true\n }, {\n highWaterMark: TEXT_CONTENT_CHUNK_SIZE,\n\n size(textContent) {\n return textContent.items.length;\n }\n\n });\n }\n\n getTextContent(params = {}) {\n const readableStream = this.streamTextContent(params);\n return new Promise(function (resolve, reject) {\n function pump() {\n reader.read().then(function ({\n value,\n done\n }) {\n if (done) {\n resolve(textContent);\n return;\n }\n\n Object.assign(textContent.styles, value.styles);\n textContent.items.push(...value.items);\n pump();\n }, reject);\n }\n\n const reader = readableStream.getReader();\n const textContent = {\n items: [],\n styles: Object.create(null)\n };\n pump();\n });\n }\n\n _destroy() {\n this.destroyed = true;\n this._transport.pageCache[this._pageIndex] = null;\n const waitOn = [];\n Object.keys(this.intentStates).forEach(intent => {\n const intentState = this.intentStates[intent];\n\n this._abortOperatorList({\n intentState,\n reason: new Error(\"Page was destroyed.\"),\n force: true\n });\n\n if (intent === \"oplist\") {\n return;\n }\n\n intentState.renderTasks.forEach(function (renderTask) {\n const renderCompleted = renderTask.capability.promise.catch(function () {});\n waitOn.push(renderCompleted);\n renderTask.cancel();\n });\n });\n this.objs.clear();\n this.annotationsPromise = null;\n this.pendingCleanup = false;\n return Promise.all(waitOn);\n }\n\n cleanup(resetStats = false) {\n this.pendingCleanup = true;\n return this._tryCleanup(resetStats);\n }\n\n _tryCleanup(resetStats = false) {\n if (!this.pendingCleanup || Object.keys(this.intentStates).some(intent => {\n const intentState = this.intentStates[intent];\n return intentState.renderTasks.length !== 0 || !intentState.operatorList.lastChunk;\n })) {\n return false;\n }\n\n Object.keys(this.intentStates).forEach(intent => {\n delete this.intentStates[intent];\n });\n this.objs.clear();\n this.annotationsPromise = null;\n\n if (resetStats && this._stats) {\n this._stats = new _display_utils.StatTimer();\n }\n\n this.pendingCleanup = false;\n return true;\n }\n\n _startRenderPage(transparency, intent) {\n const intentState = this.intentStates[intent];\n\n if (!intentState) {\n return;\n }\n\n if (this._stats) {\n this._stats.timeEnd(\"Page Request\");\n }\n\n if (intentState.displayReadyCapability) {\n intentState.displayReadyCapability.resolve(transparency);\n }\n }\n\n _renderPageChunk(operatorListChunk, intentState) {\n for (let i = 0, ii = operatorListChunk.length; i < ii; i++) {\n intentState.operatorList.fnArray.push(operatorListChunk.fnArray[i]);\n intentState.operatorList.argsArray.push(operatorListChunk.argsArray[i]);\n }\n\n intentState.operatorList.lastChunk = operatorListChunk.lastChunk;\n\n for (let i = 0; i < intentState.renderTasks.length; i++) {\n intentState.renderTasks[i].operatorListChanged();\n }\n\n if (operatorListChunk.lastChunk) {\n this._tryCleanup();\n }\n }\n\n _pumpOperatorList(args) {\n (0, _util.assert)(args.intent, 'PDFPageProxy._pumpOperatorList: Expected \"intent\" argument.');\n\n const readableStream = this._transport.messageHandler.sendWithStream(\"GetOperatorList\", args);\n\n const reader = readableStream.getReader();\n const intentState = this.intentStates[args.intent];\n intentState.streamReader = reader;\n\n const pump = () => {\n reader.read().then(({\n value,\n done\n }) => {\n if (done) {\n intentState.streamReader = null;\n return;\n }\n\n if (this._transport.destroyed) {\n return;\n }\n\n this._renderPageChunk(value, intentState);\n\n pump();\n }, reason => {\n intentState.streamReader = null;\n\n if (this._transport.destroyed) {\n return;\n }\n\n if (intentState.operatorList) {\n intentState.operatorList.lastChunk = true;\n\n for (let i = 0; i < intentState.renderTasks.length; i++) {\n intentState.renderTasks[i].operatorListChanged();\n }\n\n this._tryCleanup();\n }\n\n if (intentState.displayReadyCapability) {\n intentState.displayReadyCapability.reject(reason);\n } else if (intentState.opListReadCapability) {\n intentState.opListReadCapability.reject(reason);\n } else {\n throw reason;\n }\n });\n };\n\n pump();\n }\n\n _abortOperatorList({\n intentState,\n reason,\n force = false\n }) {\n (0, _util.assert)(reason instanceof Error || typeof reason === \"object\" && reason !== null, 'PDFPageProxy._abortOperatorList: Expected \"reason\" argument.');\n\n if (!intentState.streamReader) {\n return;\n }\n\n if (!force) {\n if (intentState.renderTasks.length !== 0) {\n return;\n }\n\n if (reason instanceof _display_utils.RenderingCancelledException) {\n intentState.streamReaderCancelTimeout = setTimeout(() => {\n this._abortOperatorList({\n intentState,\n reason,\n force: true\n });\n\n intentState.streamReaderCancelTimeout = null;\n }, RENDERING_CANCELLED_TIMEOUT);\n return;\n }\n }\n\n intentState.streamReader.cancel(new _util.AbortException(reason && reason.message));\n intentState.streamReader = null;\n\n if (this._transport.destroyed) {\n return;\n }\n\n Object.keys(this.intentStates).some(intent => {\n if (this.intentStates[intent] === intentState) {\n delete this.intentStates[intent];\n return true;\n }\n\n return false;\n });\n this.cleanup();\n }\n\n get stats() {\n return this._stats;\n }\n\n}\n\nexports.PDFPageProxy = PDFPageProxy;\n\nclass LoopbackPort {\n constructor(defer = true) {\n this._listeners = [];\n this._defer = defer;\n this._deferred = Promise.resolve(undefined);\n }\n\n postMessage(obj, transfers) {\n function cloneValue(value) {\n if (typeof value !== \"object\" || value === null) {\n return value;\n }\n\n if (cloned.has(value)) {\n return cloned.get(value);\n }\n\n let buffer, result;\n\n if ((buffer = value.buffer) && (0, _util.isArrayBuffer)(buffer)) {\n const transferable = transfers && transfers.includes(buffer);\n\n if (transferable) {\n result = new value.constructor(buffer, value.byteOffset, value.byteLength);\n } else {\n result = new value.constructor(value);\n }\n\n cloned.set(value, result);\n return result;\n }\n\n result = Array.isArray(value) ? [] : {};\n cloned.set(value, result);\n\n for (const i in value) {\n let desc,\n p = value;\n\n while (!(desc = Object.getOwnPropertyDescriptor(p, i))) {\n p = Object.getPrototypeOf(p);\n }\n\n if (typeof desc.value === \"undefined\") {\n continue;\n }\n\n if (typeof desc.value === \"function\") {\n if (value.hasOwnProperty && value.hasOwnProperty(i)) {\n throw new Error(`LoopbackPort.postMessage - cannot clone: ${value[i]}`);\n }\n\n continue;\n }\n\n result[i] = cloneValue(desc.value);\n }\n\n return result;\n }\n\n if (!this._defer) {\n this._listeners.forEach(listener => {\n listener.call(this, {\n data: obj\n });\n });\n\n return;\n }\n\n const cloned = new WeakMap();\n const e = {\n data: cloneValue(obj)\n };\n\n this._deferred.then(() => {\n this._listeners.forEach(listener => {\n listener.call(this, e);\n });\n });\n }\n\n addEventListener(name, listener) {\n this._listeners.push(listener);\n }\n\n removeEventListener(name, listener) {\n const i = this._listeners.indexOf(listener);\n\n this._listeners.splice(i, 1);\n }\n\n terminate() {\n this._listeners.length = 0;\n }\n\n}\n\nexports.LoopbackPort = LoopbackPort;\n\nconst PDFWorker = function PDFWorkerClosure() {\n const pdfWorkerPorts = new WeakMap();\n let isWorkerDisabled = false;\n let fallbackWorkerSrc;\n let nextFakeWorkerId = 0;\n let fakeWorkerCapability;\n\n if (_is_node.isNodeJS && typeof require === \"function\") {\n isWorkerDisabled = true;\n fallbackWorkerSrc = \"./pdf.worker.js\";\n } else if (typeof document === \"object\" && \"currentScript\" in document) {\n const pdfjsFilePath = document.currentScript && document.currentScript.src;\n\n if (pdfjsFilePath) {\n fallbackWorkerSrc = pdfjsFilePath.replace(/(\\.(?:min\\.)?js)(\\?.*)?$/i, \".worker$1$2\");\n }\n }\n\n function getWorkerSrc() {\n if (_worker_options.GlobalWorkerOptions.workerSrc) {\n return _worker_options.GlobalWorkerOptions.workerSrc;\n }\n\n if (typeof fallbackWorkerSrc !== \"undefined\") {\n if (!_is_node.isNodeJS) {\n (0, _display_utils.deprecated)('No \"GlobalWorkerOptions.workerSrc\" specified.');\n }\n\n return fallbackWorkerSrc;\n }\n\n throw new Error('No \"GlobalWorkerOptions.workerSrc\" specified.');\n }\n\n function getMainThreadWorkerMessageHandler() {\n let mainWorkerMessageHandler;\n\n try {\n mainWorkerMessageHandler = globalThis.pdfjsWorker && globalThis.pdfjsWorker.WorkerMessageHandler;\n } catch (ex) {}\n\n return mainWorkerMessageHandler || null;\n }\n\n function setupFakeWorkerGlobal() {\n if (fakeWorkerCapability) {\n return fakeWorkerCapability.promise;\n }\n\n fakeWorkerCapability = (0, _util.createPromiseCapability)();\n\n const loader = async function () {\n const mainWorkerMessageHandler = getMainThreadWorkerMessageHandler();\n\n if (mainWorkerMessageHandler) {\n return mainWorkerMessageHandler;\n }\n\n if (_is_node.isNodeJS && typeof require === \"function\") {\n const worker = eval(\"require\")(getWorkerSrc());\n return worker.WorkerMessageHandler;\n }\n\n await (0, _display_utils.loadScript)(getWorkerSrc());\n return window.pdfjsWorker.WorkerMessageHandler;\n };\n\n loader().then(fakeWorkerCapability.resolve, fakeWorkerCapability.reject);\n return fakeWorkerCapability.promise;\n }\n\n function createCDNWrapper(url) {\n const wrapper = \"importScripts('\" + url + \"');\";\n return URL.createObjectURL(new Blob([wrapper]));\n }\n\n class PDFWorker {\n constructor({\n name = null,\n port = null,\n verbosity = (0, _util.getVerbosityLevel)()\n } = {}) {\n if (port && pdfWorkerPorts.has(port)) {\n throw new Error(\"Cannot use more than one PDFWorker per port\");\n }\n\n this.name = name;\n this.destroyed = false;\n this.postMessageTransfers = true;\n this.verbosity = verbosity;\n this._readyCapability = (0, _util.createPromiseCapability)();\n this._port = null;\n this._webWorker = null;\n this._messageHandler = null;\n\n if (port) {\n pdfWorkerPorts.set(port, this);\n\n this._initializeFromPort(port);\n\n return;\n }\n\n this._initialize();\n }\n\n get promise() {\n return this._readyCapability.promise;\n }\n\n get port() {\n return this._port;\n }\n\n get messageHandler() {\n return this._messageHandler;\n }\n\n _initializeFromPort(port) {\n this._port = port;\n this._messageHandler = new _message_handler.MessageHandler(\"main\", \"worker\", port);\n\n this._messageHandler.on(\"ready\", function () {});\n\n this._readyCapability.resolve();\n }\n\n _initialize() {\n if (typeof Worker !== \"undefined\" && !isWorkerDisabled && !getMainThreadWorkerMessageHandler()) {\n let workerSrc = getWorkerSrc();\n\n try {\n if (!(0, _util.isSameOrigin)(window.location.href, workerSrc)) {\n workerSrc = createCDNWrapper(new URL(workerSrc, window.location).href);\n }\n\n const worker = new Worker(workerSrc);\n const messageHandler = new _message_handler.MessageHandler(\"main\", \"worker\", worker);\n\n const terminateEarly = () => {\n worker.removeEventListener(\"error\", onWorkerError);\n messageHandler.destroy();\n worker.terminate();\n\n if (this.destroyed) {\n this._readyCapability.reject(new Error(\"Worker was destroyed\"));\n } else {\n this._setupFakeWorker();\n }\n };\n\n const onWorkerError = () => {\n if (!this._webWorker) {\n terminateEarly();\n }\n };\n\n worker.addEventListener(\"error\", onWorkerError);\n messageHandler.on(\"test\", data => {\n worker.removeEventListener(\"error\", onWorkerError);\n\n if (this.destroyed) {\n terminateEarly();\n return;\n }\n\n if (data) {\n this._messageHandler = messageHandler;\n this._port = worker;\n this._webWorker = worker;\n\n if (!data.supportTransfers) {\n this.postMessageTransfers = false;\n }\n\n this._readyCapability.resolve();\n\n messageHandler.send(\"configure\", {\n verbosity: this.verbosity\n });\n } else {\n this._setupFakeWorker();\n\n messageHandler.destroy();\n worker.terminate();\n }\n });\n messageHandler.on(\"ready\", data => {\n worker.removeEventListener(\"error\", onWorkerError);\n\n if (this.destroyed) {\n terminateEarly();\n return;\n }\n\n try {\n sendTest();\n } catch (e) {\n this._setupFakeWorker();\n }\n });\n\n const sendTest = () => {\n const testObj = new Uint8Array([this.postMessageTransfers ? 255 : 0]);\n\n try {\n messageHandler.send(\"test\", testObj, [testObj.buffer]);\n } catch (ex) {\n (0, _util.warn)(\"Cannot use postMessage transfers.\");\n testObj[0] = 0;\n messageHandler.send(\"test\", testObj);\n }\n };\n\n sendTest();\n return;\n } catch (e) {\n (0, _util.info)(\"The worker has been disabled.\");\n }\n }\n\n this._setupFakeWorker();\n }\n\n _setupFakeWorker() {\n if (!isWorkerDisabled) {\n (0, _util.warn)(\"Setting up fake worker.\");\n isWorkerDisabled = true;\n }\n\n setupFakeWorkerGlobal().then(WorkerMessageHandler => {\n if (this.destroyed) {\n this._readyCapability.reject(new Error(\"Worker was destroyed\"));\n\n return;\n }\n\n const port = new LoopbackPort();\n this._port = port;\n const id = \"fake\" + nextFakeWorkerId++;\n const workerHandler = new _message_handler.MessageHandler(id + \"_worker\", id, port);\n WorkerMessageHandler.setup(workerHandler, port);\n const messageHandler = new _message_handler.MessageHandler(id, id + \"_worker\", port);\n this._messageHandler = messageHandler;\n\n this._readyCapability.resolve();\n\n messageHandler.send(\"configure\", {\n verbosity: this.verbosity\n });\n }).catch(reason => {\n this._readyCapability.reject(new Error(`Setting up fake worker failed: \"${reason.message}\".`));\n });\n }\n\n destroy() {\n this.destroyed = true;\n\n if (this._webWorker) {\n this._webWorker.terminate();\n\n this._webWorker = null;\n }\n\n pdfWorkerPorts.delete(this._port);\n this._port = null;\n\n if (this._messageHandler) {\n this._messageHandler.destroy();\n\n this._messageHandler = null;\n }\n }\n\n static fromPort(params) {\n if (!params || !params.port) {\n throw new Error(\"PDFWorker.fromPort - invalid method signature.\");\n }\n\n if (pdfWorkerPorts.has(params.port)) {\n return pdfWorkerPorts.get(params.port);\n }\n\n return new PDFWorker(params);\n }\n\n static getWorkerSrc() {\n return getWorkerSrc();\n }\n\n }\n\n return PDFWorker;\n}();\n\nexports.PDFWorker = PDFWorker;\n\nclass WorkerTransport {\n constructor(messageHandler, loadingTask, networkStream, params) {\n this.messageHandler = messageHandler;\n this.loadingTask = loadingTask;\n this.commonObjs = new PDFObjects();\n this.fontLoader = new _font_loader.FontLoader({\n docId: loadingTask.docId,\n onUnsupportedFeature: this._onUnsupportedFeature.bind(this)\n });\n this._params = params;\n this.CMapReaderFactory = new params.CMapReaderFactory({\n baseUrl: params.cMapUrl,\n isCompressed: params.cMapPacked\n });\n this.destroyed = false;\n this.destroyCapability = null;\n this._passwordCapability = null;\n this._networkStream = networkStream;\n this._fullReader = null;\n this._lastProgress = null;\n this.pageCache = [];\n this.pagePromises = [];\n this.downloadInfoCapability = (0, _util.createPromiseCapability)();\n this.setupMessageHandler();\n }\n\n destroy() {\n if (this.destroyCapability) {\n return this.destroyCapability.promise;\n }\n\n this.destroyed = true;\n this.destroyCapability = (0, _util.createPromiseCapability)();\n\n if (this._passwordCapability) {\n this._passwordCapability.reject(new Error(\"Worker was destroyed during onPassword callback\"));\n }\n\n const waitOn = [];\n this.pageCache.forEach(function (page) {\n if (page) {\n waitOn.push(page._destroy());\n }\n });\n this.pageCache.length = 0;\n this.pagePromises.length = 0;\n const terminated = this.messageHandler.sendWithPromise(\"Terminate\", null);\n waitOn.push(terminated);\n Promise.all(waitOn).then(() => {\n this.fontLoader.clear();\n\n if (this._networkStream) {\n this._networkStream.cancelAllRequests(new _util.AbortException(\"Worker was terminated.\"));\n }\n\n if (this.messageHandler) {\n this.messageHandler.destroy();\n this.messageHandler = null;\n }\n\n this.destroyCapability.resolve();\n }, this.destroyCapability.reject);\n return this.destroyCapability.promise;\n }\n\n setupMessageHandler() {\n const {\n messageHandler,\n loadingTask\n } = this;\n messageHandler.on(\"GetReader\", (data, sink) => {\n (0, _util.assert)(this._networkStream, \"GetReader - no `IPDFStream` instance available.\");\n this._fullReader = this._networkStream.getFullReader();\n\n this._fullReader.onProgress = evt => {\n this._lastProgress = {\n loaded: evt.loaded,\n total: evt.total\n };\n };\n\n sink.onPull = () => {\n this._fullReader.read().then(function ({\n value,\n done\n }) {\n if (done) {\n sink.close();\n return;\n }\n\n (0, _util.assert)((0, _util.isArrayBuffer)(value), \"GetReader - expected an ArrayBuffer.\");\n sink.enqueue(new Uint8Array(value), 1, [value]);\n }).catch(reason => {\n sink.error(reason);\n });\n };\n\n sink.onCancel = reason => {\n this._fullReader.cancel(reason);\n };\n });\n messageHandler.on(\"ReaderHeadersReady\", data => {\n const headersCapability = (0, _util.createPromiseCapability)();\n const fullReader = this._fullReader;\n fullReader.headersReady.then(() => {\n if (!fullReader.isStreamingSupported || !fullReader.isRangeSupported) {\n if (this._lastProgress && loadingTask.onProgress) {\n loadingTask.onProgress(this._lastProgress);\n }\n\n fullReader.onProgress = evt => {\n if (loadingTask.onProgress) {\n loadingTask.onProgress({\n loaded: evt.loaded,\n total: evt.total\n });\n }\n };\n }\n\n headersCapability.resolve({\n isStreamingSupported: fullReader.isStreamingSupported,\n isRangeSupported: fullReader.isRangeSupported,\n contentLength: fullReader.contentLength\n });\n }, headersCapability.reject);\n return headersCapability.promise;\n });\n messageHandler.on(\"GetRangeReader\", (data, sink) => {\n (0, _util.assert)(this._networkStream, \"GetRangeReader - no `IPDFStream` instance available.\");\n\n const rangeReader = this._networkStream.getRangeReader(data.begin, data.end);\n\n if (!rangeReader) {\n sink.close();\n return;\n }\n\n sink.onPull = () => {\n rangeReader.read().then(function ({\n value,\n done\n }) {\n if (done) {\n sink.close();\n return;\n }\n\n (0, _util.assert)((0, _util.isArrayBuffer)(value), \"GetRangeReader - expected an ArrayBuffer.\");\n sink.enqueue(new Uint8Array(value), 1, [value]);\n }).catch(reason => {\n sink.error(reason);\n });\n };\n\n sink.onCancel = reason => {\n rangeReader.cancel(reason);\n };\n });\n messageHandler.on(\"GetDoc\", ({\n pdfInfo\n }) => {\n this._numPages = pdfInfo.numPages;\n\n loadingTask._capability.resolve(new PDFDocumentProxy(pdfInfo, this));\n });\n messageHandler.on(\"DocException\", function (ex) {\n let reason;\n\n switch (ex.name) {\n case \"PasswordException\":\n reason = new _util.PasswordException(ex.message, ex.code);\n break;\n\n case \"InvalidPDFException\":\n reason = new _util.InvalidPDFException(ex.message);\n break;\n\n case \"MissingPDFException\":\n reason = new _util.MissingPDFException(ex.message);\n break;\n\n case \"UnexpectedResponseException\":\n reason = new _util.UnexpectedResponseException(ex.message, ex.status);\n break;\n\n case \"UnknownErrorException\":\n reason = new _util.UnknownErrorException(ex.message, ex.details);\n break;\n }\n\n loadingTask._capability.reject(reason);\n });\n messageHandler.on(\"PasswordRequest\", exception => {\n this._passwordCapability = (0, _util.createPromiseCapability)();\n\n if (loadingTask.onPassword) {\n const updatePassword = password => {\n this._passwordCapability.resolve({\n password\n });\n };\n\n try {\n loadingTask.onPassword(updatePassword, exception.code);\n } catch (ex) {\n this._passwordCapability.reject(ex);\n }\n } else {\n this._passwordCapability.reject(new _util.PasswordException(exception.message, exception.code));\n }\n\n return this._passwordCapability.promise;\n });\n messageHandler.on(\"DataLoaded\", data => {\n if (loadingTask.onProgress) {\n loadingTask.onProgress({\n loaded: data.length,\n total: data.length\n });\n }\n\n this.downloadInfoCapability.resolve(data);\n });\n messageHandler.on(\"StartRenderPage\", data => {\n if (this.destroyed) {\n return;\n }\n\n const page = this.pageCache[data.pageIndex];\n\n page._startRenderPage(data.transparency, data.intent);\n });\n messageHandler.on(\"commonobj\", data => {\n if (this.destroyed) {\n return;\n }\n\n const [id, type, exportedData] = data;\n\n if (this.commonObjs.has(id)) {\n return;\n }\n\n switch (type) {\n case \"Font\":\n const params = this._params;\n\n if (\"error\" in exportedData) {\n const exportedError = exportedData.error;\n (0, _util.warn)(`Error during font loading: ${exportedError}`);\n this.commonObjs.resolve(id, exportedError);\n break;\n }\n\n let fontRegistry = null;\n\n if (params.pdfBug && globalThis.FontInspector && globalThis.FontInspector.enabled) {\n fontRegistry = {\n registerFont(font, url) {\n globalThis.FontInspector.fontAdded(font, url);\n }\n\n };\n }\n\n const font = new _font_loader.FontFaceObject(exportedData, {\n isEvalSupported: params.isEvalSupported,\n disableFontFace: params.disableFontFace,\n ignoreErrors: params.ignoreErrors,\n onUnsupportedFeature: this._onUnsupportedFeature.bind(this),\n fontRegistry\n });\n this.fontLoader.bind(font).catch(reason => {\n return messageHandler.sendWithPromise(\"FontFallback\", {\n id\n });\n }).finally(() => {\n if (!params.fontExtraProperties && font.data) {\n font.data = null;\n }\n\n this.commonObjs.resolve(id, font);\n });\n break;\n\n case \"FontPath\":\n case \"FontType3Res\":\n case \"Image\":\n this.commonObjs.resolve(id, exportedData);\n break;\n\n default:\n throw new Error(`Got unknown common object type ${type}`);\n }\n });\n messageHandler.on(\"obj\", data => {\n if (this.destroyed) {\n return undefined;\n }\n\n const [id, pageIndex, type, imageData] = data;\n const pageProxy = this.pageCache[pageIndex];\n\n if (pageProxy.objs.has(id)) {\n return undefined;\n }\n\n switch (type) {\n case \"Image\":\n pageProxy.objs.resolve(id, imageData);\n const MAX_IMAGE_SIZE_TO_STORE = 8000000;\n\n if (imageData && \"data\" in imageData && imageData.data.length > MAX_IMAGE_SIZE_TO_STORE) {\n pageProxy.cleanupAfterRender = true;\n }\n\n break;\n\n default:\n throw new Error(`Got unknown object type ${type}`);\n }\n\n return undefined;\n });\n messageHandler.on(\"DocProgress\", data => {\n if (this.destroyed) {\n return;\n }\n\n if (loadingTask.onProgress) {\n loadingTask.onProgress({\n loaded: data.loaded,\n total: data.total\n });\n }\n });\n messageHandler.on(\"UnsupportedFeature\", this._onUnsupportedFeature.bind(this));\n messageHandler.on(\"FetchBuiltInCMap\", (data, sink) => {\n if (this.destroyed) {\n sink.error(new Error(\"Worker was destroyed\"));\n return;\n }\n\n let fetched = false;\n\n sink.onPull = () => {\n if (fetched) {\n sink.close();\n return;\n }\n\n fetched = true;\n this.CMapReaderFactory.fetch(data).then(function (builtInCMap) {\n sink.enqueue(builtInCMap, 1, [builtInCMap.cMapData.buffer]);\n }).catch(function (reason) {\n sink.error(reason);\n });\n };\n });\n }\n\n _onUnsupportedFeature({\n featureId\n }) {\n if (this.destroyed) {\n return;\n }\n\n if (this.loadingTask.onUnsupportedFeature) {\n this.loadingTask.onUnsupportedFeature(featureId);\n }\n }\n\n getData() {\n return this.messageHandler.sendWithPromise(\"GetData\", null);\n }\n\n getPage(pageNumber) {\n if (!Number.isInteger(pageNumber) || pageNumber <= 0 || pageNumber > this._numPages) {\n return Promise.reject(new Error(\"Invalid page request\"));\n }\n\n const pageIndex = pageNumber - 1;\n\n if (pageIndex in this.pagePromises) {\n return this.pagePromises[pageIndex];\n }\n\n const promise = this.messageHandler.sendWithPromise(\"GetPage\", {\n pageIndex\n }).then(pageInfo => {\n if (this.destroyed) {\n throw new Error(\"Transport destroyed\");\n }\n\n const page = new PDFPageProxy(pageIndex, pageInfo, this, this._params.pdfBug);\n this.pageCache[pageIndex] = page;\n return page;\n });\n this.pagePromises[pageIndex] = promise;\n return promise;\n }\n\n getPageIndex(ref) {\n return this.messageHandler.sendWithPromise(\"GetPageIndex\", {\n ref\n }).catch(function (reason) {\n return Promise.reject(new Error(reason));\n });\n }\n\n getAnnotations(pageIndex, intent) {\n return this.messageHandler.sendWithPromise(\"GetAnnotations\", {\n pageIndex,\n intent\n });\n }\n\n getDestinations() {\n return this.messageHandler.sendWithPromise(\"GetDestinations\", null);\n }\n\n getDestination(id) {\n if (typeof id !== \"string\") {\n return Promise.reject(new Error(\"Invalid destination request.\"));\n }\n\n return this.messageHandler.sendWithPromise(\"GetDestination\", {\n id\n });\n }\n\n getPageLabels() {\n return this.messageHandler.sendWithPromise(\"GetPageLabels\", null);\n }\n\n getPageLayout() {\n return this.messageHandler.sendWithPromise(\"GetPageLayout\", null);\n }\n\n getPageMode() {\n return this.messageHandler.sendWithPromise(\"GetPageMode\", null);\n }\n\n getViewerPreferences() {\n return this.messageHandler.sendWithPromise(\"GetViewerPreferences\", null);\n }\n\n getOpenAction() {\n return this.messageHandler.sendWithPromise(\"GetOpenAction\", null);\n }\n\n getAttachments() {\n return this.messageHandler.sendWithPromise(\"GetAttachments\", null);\n }\n\n getJavaScript() {\n return this.messageHandler.sendWithPromise(\"GetJavaScript\", null);\n }\n\n getOutline() {\n return this.messageHandler.sendWithPromise(\"GetOutline\", null);\n }\n\n getPermissions() {\n return this.messageHandler.sendWithPromise(\"GetPermissions\", null);\n }\n\n getMetadata() {\n return this.messageHandler.sendWithPromise(\"GetMetadata\", null).then(results => {\n return {\n info: results[0],\n metadata: results[1] ? new _metadata.Metadata(results[1]) : null,\n contentDispositionFilename: this._fullReader ? this._fullReader.filename : null\n };\n });\n }\n\n getStats() {\n return this.messageHandler.sendWithPromise(\"GetStats\", null);\n }\n\n startCleanup() {\n return this.messageHandler.sendWithPromise(\"Cleanup\", null).then(() => {\n for (let i = 0, ii = this.pageCache.length; i < ii; i++) {\n const page = this.pageCache[i];\n\n if (page) {\n const cleanupSuccessful = page.cleanup();\n\n if (!cleanupSuccessful) {\n throw new Error(`startCleanup: Page ${i + 1} is currently rendering.`);\n }\n }\n }\n\n this.commonObjs.clear();\n this.fontLoader.clear();\n });\n }\n\n get loadingParams() {\n const params = this._params;\n return (0, _util.shadow)(this, \"loadingParams\", {\n disableAutoFetch: params.disableAutoFetch,\n disableFontFace: params.disableFontFace\n });\n }\n\n}\n\nclass PDFObjects {\n constructor() {\n this._objs = Object.create(null);\n }\n\n _ensureObj(objId) {\n if (this._objs[objId]) {\n return this._objs[objId];\n }\n\n return this._objs[objId] = {\n capability: (0, _util.createPromiseCapability)(),\n data: null,\n resolved: false\n };\n }\n\n get(objId, callback = null) {\n if (callback) {\n this._ensureObj(objId).capability.promise.then(callback);\n\n return null;\n }\n\n const obj = this._objs[objId];\n\n if (!obj || !obj.resolved) {\n throw new Error(`Requesting object that isn't resolved yet ${objId}.`);\n }\n\n return obj.data;\n }\n\n has(objId) {\n const obj = this._objs[objId];\n return obj ? obj.resolved : false;\n }\n\n resolve(objId, data) {\n const obj = this._ensureObj(objId);\n\n obj.resolved = true;\n obj.data = data;\n obj.capability.resolve(data);\n }\n\n clear() {\n this._objs = Object.create(null);\n }\n\n}\n\nclass RenderTask {\n constructor(internalRenderTask) {\n this._internalRenderTask = internalRenderTask;\n this.onContinue = null;\n }\n\n get promise() {\n return this._internalRenderTask.capability.promise;\n }\n\n cancel() {\n this._internalRenderTask.cancel();\n }\n\n}\n\nconst InternalRenderTask = function InternalRenderTaskClosure() {\n const canvasInRendering = new WeakSet();\n\n class InternalRenderTask {\n constructor({\n callback,\n params,\n objs,\n commonObjs,\n operatorList,\n pageIndex,\n canvasFactory,\n webGLContext,\n useRequestAnimationFrame = false,\n pdfBug = false\n }) {\n this.callback = callback;\n this.params = params;\n this.objs = objs;\n this.commonObjs = commonObjs;\n this.operatorListIdx = null;\n this.operatorList = operatorList;\n this._pageIndex = pageIndex;\n this.canvasFactory = canvasFactory;\n this.webGLContext = webGLContext;\n this._pdfBug = pdfBug;\n this.running = false;\n this.graphicsReadyCallback = null;\n this.graphicsReady = false;\n this._useRequestAnimationFrame = useRequestAnimationFrame === true && typeof window !== \"undefined\";\n this.cancelled = false;\n this.capability = (0, _util.createPromiseCapability)();\n this.task = new RenderTask(this);\n this._continueBound = this._continue.bind(this);\n this._scheduleNextBound = this._scheduleNext.bind(this);\n this._nextBound = this._next.bind(this);\n this._canvas = params.canvasContext.canvas;\n }\n\n initializeGraphics(transparency = false) {\n if (this.cancelled) {\n return;\n }\n\n if (this._canvas) {\n if (canvasInRendering.has(this._canvas)) {\n throw new Error(\"Cannot use the same canvas during multiple render() operations. \" + \"Use different canvas or ensure previous operations were \" + \"cancelled or completed.\");\n }\n\n canvasInRendering.add(this._canvas);\n }\n\n if (this._pdfBug && globalThis.StepperManager && globalThis.StepperManager.enabled) {\n this.stepper = globalThis.StepperManager.create(this._pageIndex);\n this.stepper.init(this.operatorList);\n this.stepper.nextBreakPoint = this.stepper.getNextBreakPoint();\n }\n\n const {\n canvasContext,\n viewport,\n transform,\n imageLayer,\n background\n } = this.params;\n this.gfx = new _canvas.CanvasGraphics(canvasContext, this.commonObjs, this.objs, this.canvasFactory, this.webGLContext, imageLayer);\n this.gfx.beginDrawing({\n transform,\n viewport,\n transparency,\n background\n });\n this.operatorListIdx = 0;\n this.graphicsReady = true;\n\n if (this.graphicsReadyCallback) {\n this.graphicsReadyCallback();\n }\n }\n\n cancel(error = null) {\n this.running = false;\n this.cancelled = true;\n\n if (this.gfx) {\n this.gfx.endDrawing();\n }\n\n if (this._canvas) {\n canvasInRendering.delete(this._canvas);\n }\n\n this.callback(error || new _display_utils.RenderingCancelledException(`Rendering cancelled, page ${this._pageIndex + 1}`, \"canvas\"));\n }\n\n operatorListChanged() {\n if (!this.graphicsReady) {\n if (!this.graphicsReadyCallback) {\n this.graphicsReadyCallback = this._continueBound;\n }\n\n return;\n }\n\n if (this.stepper) {\n this.stepper.updateOperatorList(this.operatorList);\n }\n\n if (this.running) {\n return;\n }\n\n this._continue();\n }\n\n _continue() {\n this.running = true;\n\n if (this.cancelled) {\n return;\n }\n\n if (this.task.onContinue) {\n this.task.onContinue(this._scheduleNextBound);\n } else {\n this._scheduleNext();\n }\n }\n\n _scheduleNext() {\n if (this._useRequestAnimationFrame) {\n window.requestAnimationFrame(() => {\n this._nextBound().catch(this.cancel.bind(this));\n });\n } else {\n Promise.resolve().then(this._nextBound).catch(this.cancel.bind(this));\n }\n }\n\n async _next() {\n if (this.cancelled) {\n return;\n }\n\n this.operatorListIdx = this.gfx.executeOperatorList(this.operatorList, this.operatorListIdx, this._continueBound, this.stepper);\n\n if (this.operatorListIdx === this.operatorList.argsArray.length) {\n this.running = false;\n\n if (this.operatorList.lastChunk) {\n this.gfx.endDrawing();\n\n if (this._canvas) {\n canvasInRendering.delete(this._canvas);\n }\n\n this.callback();\n }\n }\n }\n\n }\n\n return InternalRenderTask;\n}();\n\nconst version = '2.5.207';\nexports.version = version;\nconst build = '0974d605';\nexports.build = build;\n\n/***/ }),\n/* 6 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.FontLoader = exports.FontFaceObject = void 0;\n\nvar _util = __w_pdfjs_require__(2);\n\nclass BaseFontLoader {\n constructor({\n docId,\n onUnsupportedFeature\n }) {\n if (this.constructor === BaseFontLoader) {\n (0, _util.unreachable)(\"Cannot initialize BaseFontLoader.\");\n }\n\n this.docId = docId;\n this._onUnsupportedFeature = onUnsupportedFeature;\n this.nativeFontFaces = [];\n this.styleElement = null;\n }\n\n addNativeFontFace(nativeFontFace) {\n this.nativeFontFaces.push(nativeFontFace);\n document.fonts.add(nativeFontFace);\n }\n\n insertRule(rule) {\n let styleElement = this.styleElement;\n\n if (!styleElement) {\n styleElement = this.styleElement = document.createElement(\"style\");\n styleElement.id = `PDFJS_FONT_STYLE_TAG_${this.docId}`;\n document.documentElement.getElementsByTagName(\"head\")[0].appendChild(styleElement);\n }\n\n const styleSheet = styleElement.sheet;\n styleSheet.insertRule(rule, styleSheet.cssRules.length);\n }\n\n clear() {\n this.nativeFontFaces.forEach(function (nativeFontFace) {\n document.fonts.delete(nativeFontFace);\n });\n this.nativeFontFaces.length = 0;\n\n if (this.styleElement) {\n this.styleElement.remove();\n this.styleElement = null;\n }\n }\n\n async bind(font) {\n if (font.attached || font.missingFile) {\n return;\n }\n\n font.attached = true;\n\n if (this.isFontLoadingAPISupported) {\n const nativeFontFace = font.createNativeFontFace();\n\n if (nativeFontFace) {\n this.addNativeFontFace(nativeFontFace);\n\n try {\n await nativeFontFace.loaded;\n } catch (ex) {\n this._onUnsupportedFeature({\n featureId: _util.UNSUPPORTED_FEATURES.errorFontLoadNative\n });\n\n (0, _util.warn)(`Failed to load font '${nativeFontFace.family}': '${ex}'.`);\n font.disableFontFace = true;\n throw ex;\n }\n }\n\n return;\n }\n\n const rule = font.createFontFaceRule();\n\n if (rule) {\n this.insertRule(rule);\n\n if (this.isSyncFontLoadingSupported) {\n return;\n }\n\n await new Promise(resolve => {\n const request = this._queueLoadingCallback(resolve);\n\n this._prepareFontLoadEvent([rule], [font], request);\n });\n }\n }\n\n _queueLoadingCallback(callback) {\n (0, _util.unreachable)(\"Abstract method `_queueLoadingCallback`.\");\n }\n\n get isFontLoadingAPISupported() {\n const supported = typeof document !== \"undefined\" && !!document.fonts;\n return (0, _util.shadow)(this, \"isFontLoadingAPISupported\", supported);\n }\n\n get isSyncFontLoadingSupported() {\n (0, _util.unreachable)(\"Abstract method `isSyncFontLoadingSupported`.\");\n }\n\n get _loadTestFont() {\n (0, _util.unreachable)(\"Abstract method `_loadTestFont`.\");\n }\n\n _prepareFontLoadEvent(rules, fontsToLoad, request) {\n (0, _util.unreachable)(\"Abstract method `_prepareFontLoadEvent`.\");\n }\n\n}\n\nlet FontLoader;\nexports.FontLoader = FontLoader;\n{\n exports.FontLoader = FontLoader = class GenericFontLoader extends BaseFontLoader {\n constructor(docId) {\n super(docId);\n this.loadingContext = {\n requests: [],\n nextRequestId: 0\n };\n this.loadTestFontId = 0;\n }\n\n get isSyncFontLoadingSupported() {\n let supported = false;\n\n if (typeof navigator === \"undefined\") {\n supported = true;\n } else {\n const m = /Mozilla\\/5.0.*?rv:(\\d+).*? Gecko/.exec(navigator.userAgent);\n\n if (m && m[1] >= 14) {\n supported = true;\n }\n }\n\n return (0, _util.shadow)(this, \"isSyncFontLoadingSupported\", supported);\n }\n\n _queueLoadingCallback(callback) {\n function completeRequest() {\n (0, _util.assert)(!request.done, \"completeRequest() cannot be called twice.\");\n request.done = true;\n\n while (context.requests.length > 0 && context.requests[0].done) {\n const otherRequest = context.requests.shift();\n setTimeout(otherRequest.callback, 0);\n }\n }\n\n const context = this.loadingContext;\n const request = {\n id: `pdfjs-font-loading-${context.nextRequestId++}`,\n done: false,\n complete: completeRequest,\n callback\n };\n context.requests.push(request);\n return request;\n }\n\n get _loadTestFont() {\n const getLoadTestFont = function () {\n return atob(\"T1RUTwALAIAAAwAwQ0ZGIDHtZg4AAAOYAAAAgUZGVE1lkzZwAAAEHAAAABxHREVGABQA\" + \"FQAABDgAAAAeT1MvMlYNYwkAAAEgAAAAYGNtYXABDQLUAAACNAAAAUJoZWFk/xVFDQAA\" + \"ALwAAAA2aGhlYQdkA+oAAAD0AAAAJGhtdHgD6AAAAAAEWAAAAAZtYXhwAAJQAAAAARgA\" + \"AAAGbmFtZVjmdH4AAAGAAAAAsXBvc3T/hgAzAAADeAAAACAAAQAAAAEAALZRFsRfDzz1\" + \"AAsD6AAAAADOBOTLAAAAAM4KHDwAAAAAA+gDIQAAAAgAAgAAAAAAAAABAAADIQAAAFoD\" + \"6AAAAAAD6AABAAAAAAAAAAAAAAAAAAAAAQAAUAAAAgAAAAQD6AH0AAUAAAKKArwAAACM\" + \"AooCvAAAAeAAMQECAAACAAYJAAAAAAAAAAAAAQAAAAAAAAAAAAAAAFBmRWQAwAAuAC4D\" + \"IP84AFoDIQAAAAAAAQAAAAAAAAAAACAAIAABAAAADgCuAAEAAAAAAAAAAQAAAAEAAAAA\" + \"AAEAAQAAAAEAAAAAAAIAAQAAAAEAAAAAAAMAAQAAAAEAAAAAAAQAAQAAAAEAAAAAAAUA\" + \"AQAAAAEAAAAAAAYAAQAAAAMAAQQJAAAAAgABAAMAAQQJAAEAAgABAAMAAQQJAAIAAgAB\" + \"AAMAAQQJAAMAAgABAAMAAQQJAAQAAgABAAMAAQQJAAUAAgABAAMAAQQJAAYAAgABWABY\" + \"AAAAAAAAAwAAAAMAAAAcAAEAAAAAADwAAwABAAAAHAAEACAAAAAEAAQAAQAAAC7//wAA\" + \"AC7////TAAEAAAAAAAABBgAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\" + \"AAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\" + \"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\" + \"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\" + \"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\" + \"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAD/gwAyAAAAAQAAAAAAAAAAAAAAAAAA\" + \"AAABAAQEAAEBAQJYAAEBASH4DwD4GwHEAvgcA/gXBIwMAYuL+nz5tQXkD5j3CBLnEQAC\" + \"AQEBIVhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYAAABAQAADwACAQEEE/t3\" + \"Dov6fAH6fAT+fPp8+nwHDosMCvm1Cvm1DAz6fBQAAAAAAAABAAAAAMmJbzEAAAAAzgTj\" + \"FQAAAADOBOQpAAEAAAAAAAAADAAUAAQAAAABAAAAAgABAAAAAAAAAAAD6AAAAAAAAA==\");\n };\n\n return (0, _util.shadow)(this, \"_loadTestFont\", getLoadTestFont());\n }\n\n _prepareFontLoadEvent(rules, fonts, request) {\n function int32(data, offset) {\n return data.charCodeAt(offset) << 24 | data.charCodeAt(offset + 1) << 16 | data.charCodeAt(offset + 2) << 8 | data.charCodeAt(offset + 3) & 0xff;\n }\n\n function spliceString(s, offset, remove, insert) {\n const chunk1 = s.substring(0, offset);\n const chunk2 = s.substring(offset + remove);\n return chunk1 + insert + chunk2;\n }\n\n let i, ii;\n const canvas = document.createElement(\"canvas\");\n canvas.width = 1;\n canvas.height = 1;\n const ctx = canvas.getContext(\"2d\");\n let called = 0;\n\n function isFontReady(name, callback) {\n called++;\n\n if (called > 30) {\n (0, _util.warn)(\"Load test font never loaded.\");\n callback();\n return;\n }\n\n ctx.font = \"30px \" + name;\n ctx.fillText(\".\", 0, 20);\n const imageData = ctx.getImageData(0, 0, 1, 1);\n\n if (imageData.data[3] > 0) {\n callback();\n return;\n }\n\n setTimeout(isFontReady.bind(null, name, callback));\n }\n\n const loadTestFontId = `lt${Date.now()}${this.loadTestFontId++}`;\n let data = this._loadTestFont;\n const COMMENT_OFFSET = 976;\n data = spliceString(data, COMMENT_OFFSET, loadTestFontId.length, loadTestFontId);\n const CFF_CHECKSUM_OFFSET = 16;\n const XXXX_VALUE = 0x58585858;\n let checksum = int32(data, CFF_CHECKSUM_OFFSET);\n\n for (i = 0, ii = loadTestFontId.length - 3; i < ii; i += 4) {\n checksum = checksum - XXXX_VALUE + int32(loadTestFontId, i) | 0;\n }\n\n if (i < loadTestFontId.length) {\n checksum = checksum - XXXX_VALUE + int32(loadTestFontId + \"XXX\", i) | 0;\n }\n\n data = spliceString(data, CFF_CHECKSUM_OFFSET, 4, (0, _util.string32)(checksum));\n const url = `url(data:font/opentype;base64,${btoa(data)});`;\n const rule = `@font-face {font-family:\"${loadTestFontId}\";src:${url}}`;\n this.insertRule(rule);\n const names = [];\n\n for (i = 0, ii = fonts.length; i < ii; i++) {\n names.push(fonts[i].loadedName);\n }\n\n names.push(loadTestFontId);\n const div = document.createElement(\"div\");\n div.style.visibility = \"hidden\";\n div.style.width = div.style.height = \"10px\";\n div.style.position = \"absolute\";\n div.style.top = div.style.left = \"0px\";\n\n for (i = 0, ii = names.length; i < ii; ++i) {\n const span = document.createElement(\"span\");\n span.textContent = \"Hi\";\n span.style.fontFamily = names[i];\n div.appendChild(span);\n }\n\n document.body.appendChild(div);\n isFontReady(loadTestFontId, function () {\n document.body.removeChild(div);\n request.complete();\n });\n }\n\n };\n}\n\nclass FontFaceObject {\n constructor(translatedData, {\n isEvalSupported = true,\n disableFontFace = false,\n ignoreErrors = false,\n onUnsupportedFeature = null,\n fontRegistry = null\n }) {\n this.compiledGlyphs = Object.create(null);\n\n for (const i in translatedData) {\n this[i] = translatedData[i];\n }\n\n this.isEvalSupported = isEvalSupported !== false;\n this.disableFontFace = disableFontFace === true;\n this.ignoreErrors = ignoreErrors === true;\n this._onUnsupportedFeature = onUnsupportedFeature;\n this.fontRegistry = fontRegistry;\n }\n\n createNativeFontFace() {\n if (!this.data || this.disableFontFace) {\n return null;\n }\n\n const nativeFontFace = new FontFace(this.loadedName, this.data, {});\n\n if (this.fontRegistry) {\n this.fontRegistry.registerFont(this);\n }\n\n return nativeFontFace;\n }\n\n createFontFaceRule() {\n if (!this.data || this.disableFontFace) {\n return null;\n }\n\n const data = (0, _util.bytesToString)(new Uint8Array(this.data));\n const url = `url(data:${this.mimetype};base64,${btoa(data)});`;\n const rule = `@font-face {font-family:\"${this.loadedName}\";src:${url}}`;\n\n if (this.fontRegistry) {\n this.fontRegistry.registerFont(this, url);\n }\n\n return rule;\n }\n\n getPathGenerator(objs, character) {\n if (this.compiledGlyphs[character] !== undefined) {\n return this.compiledGlyphs[character];\n }\n\n let cmds, current;\n\n try {\n cmds = objs.get(this.loadedName + \"_path_\" + character);\n } catch (ex) {\n if (!this.ignoreErrors) {\n throw ex;\n }\n\n if (this._onUnsupportedFeature) {\n this._onUnsupportedFeature({\n featureId: _util.UNSUPPORTED_FEATURES.errorFontGetPath\n });\n }\n\n (0, _util.warn)(`getPathGenerator - ignoring character: \"${ex}\".`);\n return this.compiledGlyphs[character] = function (c, size) {};\n }\n\n if (this.isEvalSupported && _util.IsEvalSupportedCached.value) {\n let args,\n js = \"\";\n\n for (let i = 0, ii = cmds.length; i < ii; i++) {\n current = cmds[i];\n\n if (current.args !== undefined) {\n args = current.args.join(\",\");\n } else {\n args = \"\";\n }\n\n js += \"c.\" + current.cmd + \"(\" + args + \");\\n\";\n }\n\n return this.compiledGlyphs[character] = new Function(\"c\", \"size\", js);\n }\n\n return this.compiledGlyphs[character] = function (c, size) {\n for (let i = 0, ii = cmds.length; i < ii; i++) {\n current = cmds[i];\n\n if (current.cmd === \"scale\") {\n current.args = [size, -size];\n }\n\n c[current.cmd].apply(c, current.args);\n }\n };\n }\n\n}\n\nexports.FontFaceObject = FontFaceObject;\n\n/***/ }),\n/* 7 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.apiCompatibilityParams = void 0;\n\nvar _is_node = __w_pdfjs_require__(4);\n\nconst compatibilityParams = Object.create(null);\n{\n (function checkFontFace() {\n if (_is_node.isNodeJS) {\n compatibilityParams.disableFontFace = true;\n }\n })();\n}\nconst apiCompatibilityParams = Object.freeze(compatibilityParams);\nexports.apiCompatibilityParams = apiCompatibilityParams;\n\n/***/ }),\n/* 8 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.CanvasGraphics = void 0;\n\nvar _util = __w_pdfjs_require__(2);\n\nvar _pattern_helper = __w_pdfjs_require__(9);\n\nvar MIN_FONT_SIZE = 16;\nvar MAX_FONT_SIZE = 100;\nvar MAX_GROUP_SIZE = 4096;\nvar MIN_WIDTH_FACTOR = 0.65;\nvar COMPILE_TYPE3_GLYPHS = true;\nvar MAX_SIZE_TO_COMPILE = 1000;\nvar FULL_CHUNK_HEIGHT = 16;\n\nfunction addContextCurrentTransform(ctx) {\n if (!ctx.mozCurrentTransform) {\n ctx._originalSave = ctx.save;\n ctx._originalRestore = ctx.restore;\n ctx._originalRotate = ctx.rotate;\n ctx._originalScale = ctx.scale;\n ctx._originalTranslate = ctx.translate;\n ctx._originalTransform = ctx.transform;\n ctx._originalSetTransform = ctx.setTransform;\n ctx._transformMatrix = ctx._transformMatrix || [1, 0, 0, 1, 0, 0];\n ctx._transformStack = [];\n Object.defineProperty(ctx, \"mozCurrentTransform\", {\n get: function getCurrentTransform() {\n return this._transformMatrix;\n }\n });\n Object.defineProperty(ctx, \"mozCurrentTransformInverse\", {\n get: function getCurrentTransformInverse() {\n var m = this._transformMatrix;\n var a = m[0],\n b = m[1],\n c = m[2],\n d = m[3],\n e = m[4],\n f = m[5];\n var ad_bc = a * d - b * c;\n var bc_ad = b * c - a * d;\n return [d / ad_bc, b / bc_ad, c / bc_ad, a / ad_bc, (d * e - c * f) / bc_ad, (b * e - a * f) / ad_bc];\n }\n });\n\n ctx.save = function ctxSave() {\n var old = this._transformMatrix;\n\n this._transformStack.push(old);\n\n this._transformMatrix = old.slice(0, 6);\n\n this._originalSave();\n };\n\n ctx.restore = function ctxRestore() {\n var prev = this._transformStack.pop();\n\n if (prev) {\n this._transformMatrix = prev;\n\n this._originalRestore();\n }\n };\n\n ctx.translate = function ctxTranslate(x, y) {\n var m = this._transformMatrix;\n m[4] = m[0] * x + m[2] * y + m[4];\n m[5] = m[1] * x + m[3] * y + m[5];\n\n this._originalTranslate(x, y);\n };\n\n ctx.scale = function ctxScale(x, y) {\n var m = this._transformMatrix;\n m[0] = m[0] * x;\n m[1] = m[1] * x;\n m[2] = m[2] * y;\n m[3] = m[3] * y;\n\n this._originalScale(x, y);\n };\n\n ctx.transform = function ctxTransform(a, b, c, d, e, f) {\n var m = this._transformMatrix;\n this._transformMatrix = [m[0] * a + m[2] * b, m[1] * a + m[3] * b, m[0] * c + m[2] * d, m[1] * c + m[3] * d, m[0] * e + m[2] * f + m[4], m[1] * e + m[3] * f + m[5]];\n\n ctx._originalTransform(a, b, c, d, e, f);\n };\n\n ctx.setTransform = function ctxSetTransform(a, b, c, d, e, f) {\n this._transformMatrix = [a, b, c, d, e, f];\n\n ctx._originalSetTransform(a, b, c, d, e, f);\n };\n\n ctx.rotate = function ctxRotate(angle) {\n var cosValue = Math.cos(angle);\n var sinValue = Math.sin(angle);\n var m = this._transformMatrix;\n this._transformMatrix = [m[0] * cosValue + m[2] * sinValue, m[1] * cosValue + m[3] * sinValue, m[0] * -sinValue + m[2] * cosValue, m[1] * -sinValue + m[3] * cosValue, m[4], m[5]];\n\n this._originalRotate(angle);\n };\n }\n}\n\nvar CachedCanvases = function CachedCanvasesClosure() {\n function CachedCanvases(canvasFactory) {\n this.canvasFactory = canvasFactory;\n this.cache = Object.create(null);\n }\n\n CachedCanvases.prototype = {\n getCanvas: function CachedCanvases_getCanvas(id, width, height, trackTransform) {\n var canvasEntry;\n\n if (this.cache[id] !== undefined) {\n canvasEntry = this.cache[id];\n this.canvasFactory.reset(canvasEntry, width, height);\n canvasEntry.context.setTransform(1, 0, 0, 1, 0, 0);\n } else {\n canvasEntry = this.canvasFactory.create(width, height);\n this.cache[id] = canvasEntry;\n }\n\n if (trackTransform) {\n addContextCurrentTransform(canvasEntry.context);\n }\n\n return canvasEntry;\n },\n\n clear() {\n for (var id in this.cache) {\n var canvasEntry = this.cache[id];\n this.canvasFactory.destroy(canvasEntry);\n delete this.cache[id];\n }\n }\n\n };\n return CachedCanvases;\n}();\n\nfunction compileType3Glyph(imgData) {\n var POINT_TO_PROCESS_LIMIT = 1000;\n var width = imgData.width,\n height = imgData.height;\n var i,\n j,\n j0,\n width1 = width + 1;\n var points = new Uint8Array(width1 * (height + 1));\n var POINT_TYPES = new Uint8Array([0, 2, 4, 0, 1, 0, 5, 4, 8, 10, 0, 8, 0, 2, 1, 0]);\n var lineSize = width + 7 & ~7,\n data0 = imgData.data;\n var data = new Uint8Array(lineSize * height),\n pos = 0,\n ii;\n\n for (i = 0, ii = data0.length; i < ii; i++) {\n var mask = 128,\n elem = data0[i];\n\n while (mask > 0) {\n data[pos++] = elem & mask ? 0 : 255;\n mask >>= 1;\n }\n }\n\n var count = 0;\n pos = 0;\n\n if (data[pos] !== 0) {\n points[0] = 1;\n ++count;\n }\n\n for (j = 1; j < width; j++) {\n if (data[pos] !== data[pos + 1]) {\n points[j] = data[pos] ? 2 : 1;\n ++count;\n }\n\n pos++;\n }\n\n if (data[pos] !== 0) {\n points[j] = 2;\n ++count;\n }\n\n for (i = 1; i < height; i++) {\n pos = i * lineSize;\n j0 = i * width1;\n\n if (data[pos - lineSize] !== data[pos]) {\n points[j0] = data[pos] ? 1 : 8;\n ++count;\n }\n\n var sum = (data[pos] ? 4 : 0) + (data[pos - lineSize] ? 8 : 0);\n\n for (j = 1; j < width; j++) {\n sum = (sum >> 2) + (data[pos + 1] ? 4 : 0) + (data[pos - lineSize + 1] ? 8 : 0);\n\n if (POINT_TYPES[sum]) {\n points[j0 + j] = POINT_TYPES[sum];\n ++count;\n }\n\n pos++;\n }\n\n if (data[pos - lineSize] !== data[pos]) {\n points[j0 + j] = data[pos] ? 2 : 4;\n ++count;\n }\n\n if (count > POINT_TO_PROCESS_LIMIT) {\n return null;\n }\n }\n\n pos = lineSize * (height - 1);\n j0 = i * width1;\n\n if (data[pos] !== 0) {\n points[j0] = 8;\n ++count;\n }\n\n for (j = 1; j < width; j++) {\n if (data[pos] !== data[pos + 1]) {\n points[j0 + j] = data[pos] ? 4 : 8;\n ++count;\n }\n\n pos++;\n }\n\n if (data[pos] !== 0) {\n points[j0 + j] = 4;\n ++count;\n }\n\n if (count > POINT_TO_PROCESS_LIMIT) {\n return null;\n }\n\n var steps = new Int32Array([0, width1, -1, 0, -width1, 0, 0, 0, 1]);\n var outlines = [];\n\n for (i = 0; count && i <= height; i++) {\n var p = i * width1;\n var end = p + width;\n\n while (p < end && !points[p]) {\n p++;\n }\n\n if (p === end) {\n continue;\n }\n\n var coords = [p % width1, i];\n var type = points[p],\n p0 = p,\n pp;\n\n do {\n var step = steps[type];\n\n do {\n p += step;\n } while (!points[p]);\n\n pp = points[p];\n\n if (pp !== 5 && pp !== 10) {\n type = pp;\n points[p] = 0;\n } else {\n type = pp & 0x33 * type >> 4;\n points[p] &= type >> 2 | type << 2;\n }\n\n coords.push(p % width1);\n coords.push(p / width1 | 0);\n\n if (!points[p]) {\n --count;\n }\n } while (p0 !== p);\n\n outlines.push(coords);\n --i;\n }\n\n var drawOutline = function (c) {\n c.save();\n c.scale(1 / width, -1 / height);\n c.translate(0, -height);\n c.beginPath();\n\n for (let k = 0, kk = outlines.length; k < kk; k++) {\n var o = outlines[k];\n c.moveTo(o[0], o[1]);\n\n for (let l = 2, ll = o.length; l < ll; l += 2) {\n c.lineTo(o[l], o[l + 1]);\n }\n }\n\n c.fill();\n c.beginPath();\n c.restore();\n };\n\n return drawOutline;\n}\n\nvar CanvasExtraState = function CanvasExtraStateClosure() {\n function CanvasExtraState() {\n this.alphaIsShape = false;\n this.fontSize = 0;\n this.fontSizeScale = 1;\n this.textMatrix = _util.IDENTITY_MATRIX;\n this.textMatrixScale = 1;\n this.fontMatrix = _util.FONT_IDENTITY_MATRIX;\n this.leading = 0;\n this.x = 0;\n this.y = 0;\n this.lineX = 0;\n this.lineY = 0;\n this.charSpacing = 0;\n this.wordSpacing = 0;\n this.textHScale = 1;\n this.textRenderingMode = _util.TextRenderingMode.FILL;\n this.textRise = 0;\n this.fillColor = \"#000000\";\n this.strokeColor = \"#000000\";\n this.patternFill = false;\n this.fillAlpha = 1;\n this.strokeAlpha = 1;\n this.lineWidth = 1;\n this.activeSMask = null;\n this.resumeSMaskCtx = null;\n }\n\n CanvasExtraState.prototype = {\n clone: function CanvasExtraState_clone() {\n return Object.create(this);\n },\n setCurrentPoint: function CanvasExtraState_setCurrentPoint(x, y) {\n this.x = x;\n this.y = y;\n }\n };\n return CanvasExtraState;\n}();\n\nvar CanvasGraphics = function CanvasGraphicsClosure() {\n var EXECUTION_TIME = 15;\n var EXECUTION_STEPS = 10;\n\n function CanvasGraphics(canvasCtx, commonObjs, objs, canvasFactory, webGLContext, imageLayer) {\n this.ctx = canvasCtx;\n this.current = new CanvasExtraState();\n this.stateStack = [];\n this.pendingClip = null;\n this.pendingEOFill = false;\n this.res = null;\n this.xobjs = null;\n this.commonObjs = commonObjs;\n this.objs = objs;\n this.canvasFactory = canvasFactory;\n this.webGLContext = webGLContext;\n this.imageLayer = imageLayer;\n this.groupStack = [];\n this.processingType3 = null;\n this.baseTransform = null;\n this.baseTransformStack = [];\n this.groupLevel = 0;\n this.smaskStack = [];\n this.smaskCounter = 0;\n this.tempSMask = null;\n this.cachedCanvases = new CachedCanvases(this.canvasFactory);\n\n if (canvasCtx) {\n addContextCurrentTransform(canvasCtx);\n }\n\n this._cachedGetSinglePixelWidth = null;\n }\n\n function putBinaryImageData(ctx, imgData) {\n if (typeof ImageData !== \"undefined\" && imgData instanceof ImageData) {\n ctx.putImageData(imgData, 0, 0);\n return;\n }\n\n var height = imgData.height,\n width = imgData.width;\n var partialChunkHeight = height % FULL_CHUNK_HEIGHT;\n var fullChunks = (height - partialChunkHeight) / FULL_CHUNK_HEIGHT;\n var totalChunks = partialChunkHeight === 0 ? fullChunks : fullChunks + 1;\n var chunkImgData = ctx.createImageData(width, FULL_CHUNK_HEIGHT);\n var srcPos = 0,\n destPos;\n var src = imgData.data;\n var dest = chunkImgData.data;\n var i, j, thisChunkHeight, elemsInThisChunk;\n\n if (imgData.kind === _util.ImageKind.GRAYSCALE_1BPP) {\n var srcLength = src.byteLength;\n var dest32 = new Uint32Array(dest.buffer, 0, dest.byteLength >> 2);\n var dest32DataLength = dest32.length;\n var fullSrcDiff = width + 7 >> 3;\n var white = 0xffffffff;\n var black = _util.IsLittleEndianCached.value ? 0xff000000 : 0x000000ff;\n\n for (i = 0; i < totalChunks; i++) {\n thisChunkHeight = i < fullChunks ? FULL_CHUNK_HEIGHT : partialChunkHeight;\n destPos = 0;\n\n for (j = 0; j < thisChunkHeight; j++) {\n var srcDiff = srcLength - srcPos;\n var k = 0;\n var kEnd = srcDiff > fullSrcDiff ? width : srcDiff * 8 - 7;\n var kEndUnrolled = kEnd & ~7;\n var mask = 0;\n var srcByte = 0;\n\n for (; k < kEndUnrolled; k += 8) {\n srcByte = src[srcPos++];\n dest32[destPos++] = srcByte & 128 ? white : black;\n dest32[destPos++] = srcByte & 64 ? white : black;\n dest32[destPos++] = srcByte & 32 ? white : black;\n dest32[destPos++] = srcByte & 16 ? white : black;\n dest32[destPos++] = srcByte & 8 ? white : black;\n dest32[destPos++] = srcByte & 4 ? white : black;\n dest32[destPos++] = srcByte & 2 ? white : black;\n dest32[destPos++] = srcByte & 1 ? white : black;\n }\n\n for (; k < kEnd; k++) {\n if (mask === 0) {\n srcByte = src[srcPos++];\n mask = 128;\n }\n\n dest32[destPos++] = srcByte & mask ? white : black;\n mask >>= 1;\n }\n }\n\n while (destPos < dest32DataLength) {\n dest32[destPos++] = 0;\n }\n\n ctx.putImageData(chunkImgData, 0, i * FULL_CHUNK_HEIGHT);\n }\n } else if (imgData.kind === _util.ImageKind.RGBA_32BPP) {\n j = 0;\n elemsInThisChunk = width * FULL_CHUNK_HEIGHT * 4;\n\n for (i = 0; i < fullChunks; i++) {\n dest.set(src.subarray(srcPos, srcPos + elemsInThisChunk));\n srcPos += elemsInThisChunk;\n ctx.putImageData(chunkImgData, 0, j);\n j += FULL_CHUNK_HEIGHT;\n }\n\n if (i < totalChunks) {\n elemsInThisChunk = width * partialChunkHeight * 4;\n dest.set(src.subarray(srcPos, srcPos + elemsInThisChunk));\n ctx.putImageData(chunkImgData, 0, j);\n }\n } else if (imgData.kind === _util.ImageKind.RGB_24BPP) {\n thisChunkHeight = FULL_CHUNK_HEIGHT;\n elemsInThisChunk = width * thisChunkHeight;\n\n for (i = 0; i < totalChunks; i++) {\n if (i >= fullChunks) {\n thisChunkHeight = partialChunkHeight;\n elemsInThisChunk = width * thisChunkHeight;\n }\n\n destPos = 0;\n\n for (j = elemsInThisChunk; j--;) {\n dest[destPos++] = src[srcPos++];\n dest[destPos++] = src[srcPos++];\n dest[destPos++] = src[srcPos++];\n dest[destPos++] = 255;\n }\n\n ctx.putImageData(chunkImgData, 0, i * FULL_CHUNK_HEIGHT);\n }\n } else {\n throw new Error(`bad image kind: ${imgData.kind}`);\n }\n }\n\n function putBinaryImageMask(ctx, imgData) {\n var height = imgData.height,\n width = imgData.width;\n var partialChunkHeight = height % FULL_CHUNK_HEIGHT;\n var fullChunks = (height - partialChunkHeight) / FULL_CHUNK_HEIGHT;\n var totalChunks = partialChunkHeight === 0 ? fullChunks : fullChunks + 1;\n var chunkImgData = ctx.createImageData(width, FULL_CHUNK_HEIGHT);\n var srcPos = 0;\n var src = imgData.data;\n var dest = chunkImgData.data;\n\n for (var i = 0; i < totalChunks; i++) {\n var thisChunkHeight = i < fullChunks ? FULL_CHUNK_HEIGHT : partialChunkHeight;\n var destPos = 3;\n\n for (var j = 0; j < thisChunkHeight; j++) {\n var mask = 0;\n\n for (var k = 0; k < width; k++) {\n if (!mask) {\n var elem = src[srcPos++];\n mask = 128;\n }\n\n dest[destPos] = elem & mask ? 0 : 255;\n destPos += 4;\n mask >>= 1;\n }\n }\n\n ctx.putImageData(chunkImgData, 0, i * FULL_CHUNK_HEIGHT);\n }\n }\n\n function copyCtxState(sourceCtx, destCtx) {\n var properties = [\"strokeStyle\", \"fillStyle\", \"fillRule\", \"globalAlpha\", \"lineWidth\", \"lineCap\", \"lineJoin\", \"miterLimit\", \"globalCompositeOperation\", \"font\"];\n\n for (var i = 0, ii = properties.length; i < ii; i++) {\n var property = properties[i];\n\n if (sourceCtx[property] !== undefined) {\n destCtx[property] = sourceCtx[property];\n }\n }\n\n if (sourceCtx.setLineDash !== undefined) {\n destCtx.setLineDash(sourceCtx.getLineDash());\n destCtx.lineDashOffset = sourceCtx.lineDashOffset;\n }\n }\n\n function resetCtxToDefault(ctx) {\n ctx.strokeStyle = \"#000000\";\n ctx.fillStyle = \"#000000\";\n ctx.fillRule = \"nonzero\";\n ctx.globalAlpha = 1;\n ctx.lineWidth = 1;\n ctx.lineCap = \"butt\";\n ctx.lineJoin = \"miter\";\n ctx.miterLimit = 10;\n ctx.globalCompositeOperation = \"source-over\";\n ctx.font = \"10px sans-serif\";\n\n if (ctx.setLineDash !== undefined) {\n ctx.setLineDash([]);\n ctx.lineDashOffset = 0;\n }\n }\n\n function composeSMaskBackdrop(bytes, r0, g0, b0) {\n var length = bytes.length;\n\n for (var i = 3; i < length; i += 4) {\n var alpha = bytes[i];\n\n if (alpha === 0) {\n bytes[i - 3] = r0;\n bytes[i - 2] = g0;\n bytes[i - 1] = b0;\n } else if (alpha < 255) {\n var alpha_ = 255 - alpha;\n bytes[i - 3] = bytes[i - 3] * alpha + r0 * alpha_ >> 8;\n bytes[i - 2] = bytes[i - 2] * alpha + g0 * alpha_ >> 8;\n bytes[i - 1] = bytes[i - 1] * alpha + b0 * alpha_ >> 8;\n }\n }\n }\n\n function composeSMaskAlpha(maskData, layerData, transferMap) {\n var length = maskData.length;\n var scale = 1 / 255;\n\n for (var i = 3; i < length; i += 4) {\n var alpha = transferMap ? transferMap[maskData[i]] : maskData[i];\n layerData[i] = layerData[i] * alpha * scale | 0;\n }\n }\n\n function composeSMaskLuminosity(maskData, layerData, transferMap) {\n var length = maskData.length;\n\n for (var i = 3; i < length; i += 4) {\n var y = maskData[i - 3] * 77 + maskData[i - 2] * 152 + maskData[i - 1] * 28;\n layerData[i] = transferMap ? layerData[i] * transferMap[y >> 8] >> 8 : layerData[i] * y >> 16;\n }\n }\n\n function genericComposeSMask(maskCtx, layerCtx, width, height, subtype, backdrop, transferMap) {\n var hasBackdrop = !!backdrop;\n var r0 = hasBackdrop ? backdrop[0] : 0;\n var g0 = hasBackdrop ? backdrop[1] : 0;\n var b0 = hasBackdrop ? backdrop[2] : 0;\n var composeFn;\n\n if (subtype === \"Luminosity\") {\n composeFn = composeSMaskLuminosity;\n } else {\n composeFn = composeSMaskAlpha;\n }\n\n var PIXELS_TO_PROCESS = 1048576;\n var chunkSize = Math.min(height, Math.ceil(PIXELS_TO_PROCESS / width));\n\n for (var row = 0; row < height; row += chunkSize) {\n var chunkHeight = Math.min(chunkSize, height - row);\n var maskData = maskCtx.getImageData(0, row, width, chunkHeight);\n var layerData = layerCtx.getImageData(0, row, width, chunkHeight);\n\n if (hasBackdrop) {\n composeSMaskBackdrop(maskData.data, r0, g0, b0);\n }\n\n composeFn(maskData.data, layerData.data, transferMap);\n maskCtx.putImageData(layerData, 0, row);\n }\n }\n\n function composeSMask(ctx, smask, layerCtx, webGLContext) {\n var mask = smask.canvas;\n var maskCtx = smask.context;\n ctx.setTransform(smask.scaleX, 0, 0, smask.scaleY, smask.offsetX, smask.offsetY);\n var backdrop = smask.backdrop || null;\n\n if (!smask.transferMap && webGLContext.isEnabled) {\n const composed = webGLContext.composeSMask({\n layer: layerCtx.canvas,\n mask,\n properties: {\n subtype: smask.subtype,\n backdrop\n }\n });\n ctx.setTransform(1, 0, 0, 1, 0, 0);\n ctx.drawImage(composed, smask.offsetX, smask.offsetY);\n return;\n }\n\n genericComposeSMask(maskCtx, layerCtx, mask.width, mask.height, smask.subtype, backdrop, smask.transferMap);\n ctx.drawImage(mask, 0, 0);\n }\n\n var LINE_CAP_STYLES = [\"butt\", \"round\", \"square\"];\n var LINE_JOIN_STYLES = [\"miter\", \"round\", \"bevel\"];\n var NORMAL_CLIP = {};\n var EO_CLIP = {};\n CanvasGraphics.prototype = {\n beginDrawing({\n transform,\n viewport,\n transparency = false,\n background = null\n }) {\n var width = this.ctx.canvas.width;\n var height = this.ctx.canvas.height;\n this.ctx.save();\n this.ctx.fillStyle = background || \"rgb(255, 255, 255)\";\n this.ctx.fillRect(0, 0, width, height);\n this.ctx.restore();\n\n if (transparency) {\n var transparentCanvas = this.cachedCanvases.getCanvas(\"transparent\", width, height, true);\n this.compositeCtx = this.ctx;\n this.transparentCanvas = transparentCanvas.canvas;\n this.ctx = transparentCanvas.context;\n this.ctx.save();\n this.ctx.transform.apply(this.ctx, this.compositeCtx.mozCurrentTransform);\n }\n\n this.ctx.save();\n resetCtxToDefault(this.ctx);\n\n if (transform) {\n this.ctx.transform.apply(this.ctx, transform);\n }\n\n this.ctx.transform.apply(this.ctx, viewport.transform);\n this.baseTransform = this.ctx.mozCurrentTransform.slice();\n\n if (this.imageLayer) {\n this.imageLayer.beginLayout();\n }\n },\n\n executeOperatorList: function CanvasGraphics_executeOperatorList(operatorList, executionStartIdx, continueCallback, stepper) {\n var argsArray = operatorList.argsArray;\n var fnArray = operatorList.fnArray;\n var i = executionStartIdx || 0;\n var argsArrayLen = argsArray.length;\n\n if (argsArrayLen === i) {\n return i;\n }\n\n var chunkOperations = argsArrayLen - i > EXECUTION_STEPS && typeof continueCallback === \"function\";\n var endTime = chunkOperations ? Date.now() + EXECUTION_TIME : 0;\n var steps = 0;\n var commonObjs = this.commonObjs;\n var objs = this.objs;\n var fnId;\n\n while (true) {\n if (stepper !== undefined && i === stepper.nextBreakPoint) {\n stepper.breakIt(i, continueCallback);\n return i;\n }\n\n fnId = fnArray[i];\n\n if (fnId !== _util.OPS.dependency) {\n this[fnId].apply(this, argsArray[i]);\n } else {\n for (const depObjId of argsArray[i]) {\n const objsPool = depObjId.startsWith(\"g_\") ? commonObjs : objs;\n\n if (!objsPool.has(depObjId)) {\n objsPool.get(depObjId, continueCallback);\n return i;\n }\n }\n }\n\n i++;\n\n if (i === argsArrayLen) {\n return i;\n }\n\n if (chunkOperations && ++steps > EXECUTION_STEPS) {\n if (Date.now() > endTime) {\n continueCallback();\n return i;\n }\n\n steps = 0;\n }\n }\n },\n endDrawing: function CanvasGraphics_endDrawing() {\n if (this.current.activeSMask !== null) {\n this.endSMaskGroup();\n }\n\n this.ctx.restore();\n\n if (this.transparentCanvas) {\n this.ctx = this.compositeCtx;\n this.ctx.save();\n this.ctx.setTransform(1, 0, 0, 1, 0, 0);\n this.ctx.drawImage(this.transparentCanvas, 0, 0);\n this.ctx.restore();\n this.transparentCanvas = null;\n }\n\n this.cachedCanvases.clear();\n this.webGLContext.clear();\n\n if (this.imageLayer) {\n this.imageLayer.endLayout();\n }\n },\n setLineWidth: function CanvasGraphics_setLineWidth(width) {\n this.current.lineWidth = width;\n this.ctx.lineWidth = width;\n },\n setLineCap: function CanvasGraphics_setLineCap(style) {\n this.ctx.lineCap = LINE_CAP_STYLES[style];\n },\n setLineJoin: function CanvasGraphics_setLineJoin(style) {\n this.ctx.lineJoin = LINE_JOIN_STYLES[style];\n },\n setMiterLimit: function CanvasGraphics_setMiterLimit(limit) {\n this.ctx.miterLimit = limit;\n },\n setDash: function CanvasGraphics_setDash(dashArray, dashPhase) {\n var ctx = this.ctx;\n\n if (ctx.setLineDash !== undefined) {\n ctx.setLineDash(dashArray);\n ctx.lineDashOffset = dashPhase;\n }\n },\n\n setRenderingIntent(intent) {},\n\n setFlatness(flatness) {},\n\n setGState: function CanvasGraphics_setGState(states) {\n for (var i = 0, ii = states.length; i < ii; i++) {\n var state = states[i];\n var key = state[0];\n var value = state[1];\n\n switch (key) {\n case \"LW\":\n this.setLineWidth(value);\n break;\n\n case \"LC\":\n this.setLineCap(value);\n break;\n\n case \"LJ\":\n this.setLineJoin(value);\n break;\n\n case \"ML\":\n this.setMiterLimit(value);\n break;\n\n case \"D\":\n this.setDash(value[0], value[1]);\n break;\n\n case \"RI\":\n this.setRenderingIntent(value);\n break;\n\n case \"FL\":\n this.setFlatness(value);\n break;\n\n case \"Font\":\n this.setFont(value[0], value[1]);\n break;\n\n case \"CA\":\n this.current.strokeAlpha = state[1];\n break;\n\n case \"ca\":\n this.current.fillAlpha = state[1];\n this.ctx.globalAlpha = state[1];\n break;\n\n case \"BM\":\n this.ctx.globalCompositeOperation = value;\n break;\n\n case \"SMask\":\n if (this.current.activeSMask) {\n if (this.stateStack.length > 0 && this.stateStack[this.stateStack.length - 1].activeSMask === this.current.activeSMask) {\n this.suspendSMaskGroup();\n } else {\n this.endSMaskGroup();\n }\n }\n\n this.current.activeSMask = value ? this.tempSMask : null;\n\n if (this.current.activeSMask) {\n this.beginSMaskGroup();\n }\n\n this.tempSMask = null;\n break;\n }\n }\n },\n beginSMaskGroup: function CanvasGraphics_beginSMaskGroup() {\n var activeSMask = this.current.activeSMask;\n var drawnWidth = activeSMask.canvas.width;\n var drawnHeight = activeSMask.canvas.height;\n var cacheId = \"smaskGroupAt\" + this.groupLevel;\n var scratchCanvas = this.cachedCanvases.getCanvas(cacheId, drawnWidth, drawnHeight, true);\n var currentCtx = this.ctx;\n var currentTransform = currentCtx.mozCurrentTransform;\n this.ctx.save();\n var groupCtx = scratchCanvas.context;\n groupCtx.scale(1 / activeSMask.scaleX, 1 / activeSMask.scaleY);\n groupCtx.translate(-activeSMask.offsetX, -activeSMask.offsetY);\n groupCtx.transform.apply(groupCtx, currentTransform);\n activeSMask.startTransformInverse = groupCtx.mozCurrentTransformInverse;\n copyCtxState(currentCtx, groupCtx);\n this.ctx = groupCtx;\n this.setGState([[\"BM\", \"source-over\"], [\"ca\", 1], [\"CA\", 1]]);\n this.groupStack.push(currentCtx);\n this.groupLevel++;\n },\n suspendSMaskGroup: function CanvasGraphics_endSMaskGroup() {\n var groupCtx = this.ctx;\n this.groupLevel--;\n this.ctx = this.groupStack.pop();\n composeSMask(this.ctx, this.current.activeSMask, groupCtx, this.webGLContext);\n this.ctx.restore();\n this.ctx.save();\n copyCtxState(groupCtx, this.ctx);\n this.current.resumeSMaskCtx = groupCtx;\n\n var deltaTransform = _util.Util.transform(this.current.activeSMask.startTransformInverse, groupCtx.mozCurrentTransform);\n\n this.ctx.transform.apply(this.ctx, deltaTransform);\n groupCtx.save();\n groupCtx.setTransform(1, 0, 0, 1, 0, 0);\n groupCtx.clearRect(0, 0, groupCtx.canvas.width, groupCtx.canvas.height);\n groupCtx.restore();\n },\n resumeSMaskGroup: function CanvasGraphics_endSMaskGroup() {\n var groupCtx = this.current.resumeSMaskCtx;\n var currentCtx = this.ctx;\n this.ctx = groupCtx;\n this.groupStack.push(currentCtx);\n this.groupLevel++;\n },\n endSMaskGroup: function CanvasGraphics_endSMaskGroup() {\n var groupCtx = this.ctx;\n this.groupLevel--;\n this.ctx = this.groupStack.pop();\n composeSMask(this.ctx, this.current.activeSMask, groupCtx, this.webGLContext);\n this.ctx.restore();\n copyCtxState(groupCtx, this.ctx);\n\n var deltaTransform = _util.Util.transform(this.current.activeSMask.startTransformInverse, groupCtx.mozCurrentTransform);\n\n this.ctx.transform.apply(this.ctx, deltaTransform);\n },\n save: function CanvasGraphics_save() {\n this.ctx.save();\n var old = this.current;\n this.stateStack.push(old);\n this.current = old.clone();\n this.current.resumeSMaskCtx = null;\n },\n restore: function CanvasGraphics_restore() {\n if (this.current.resumeSMaskCtx) {\n this.resumeSMaskGroup();\n }\n\n if (this.current.activeSMask !== null && (this.stateStack.length === 0 || this.stateStack[this.stateStack.length - 1].activeSMask !== this.current.activeSMask)) {\n this.endSMaskGroup();\n }\n\n if (this.stateStack.length !== 0) {\n this.current = this.stateStack.pop();\n this.ctx.restore();\n this.pendingClip = null;\n this._cachedGetSinglePixelWidth = null;\n }\n },\n transform: function CanvasGraphics_transform(a, b, c, d, e, f) {\n this.ctx.transform(a, b, c, d, e, f);\n this._cachedGetSinglePixelWidth = null;\n },\n constructPath: function CanvasGraphics_constructPath(ops, args) {\n var ctx = this.ctx;\n var current = this.current;\n var x = current.x,\n y = current.y;\n\n for (var i = 0, j = 0, ii = ops.length; i < ii; i++) {\n switch (ops[i] | 0) {\n case _util.OPS.rectangle:\n x = args[j++];\n y = args[j++];\n var width = args[j++];\n var height = args[j++];\n\n if (width === 0) {\n width = this.getSinglePixelWidth();\n }\n\n if (height === 0) {\n height = this.getSinglePixelWidth();\n }\n\n var xw = x + width;\n var yh = y + height;\n this.ctx.moveTo(x, y);\n this.ctx.lineTo(xw, y);\n this.ctx.lineTo(xw, yh);\n this.ctx.lineTo(x, yh);\n this.ctx.lineTo(x, y);\n this.ctx.closePath();\n break;\n\n case _util.OPS.moveTo:\n x = args[j++];\n y = args[j++];\n ctx.moveTo(x, y);\n break;\n\n case _util.OPS.lineTo:\n x = args[j++];\n y = args[j++];\n ctx.lineTo(x, y);\n break;\n\n case _util.OPS.curveTo:\n x = args[j + 4];\n y = args[j + 5];\n ctx.bezierCurveTo(args[j], args[j + 1], args[j + 2], args[j + 3], x, y);\n j += 6;\n break;\n\n case _util.OPS.curveTo2:\n ctx.bezierCurveTo(x, y, args[j], args[j + 1], args[j + 2], args[j + 3]);\n x = args[j + 2];\n y = args[j + 3];\n j += 4;\n break;\n\n case _util.OPS.curveTo3:\n x = args[j + 2];\n y = args[j + 3];\n ctx.bezierCurveTo(args[j], args[j + 1], x, y, x, y);\n j += 4;\n break;\n\n case _util.OPS.closePath:\n ctx.closePath();\n break;\n }\n }\n\n current.setCurrentPoint(x, y);\n },\n closePath: function CanvasGraphics_closePath() {\n this.ctx.closePath();\n },\n stroke: function CanvasGraphics_stroke(consumePath) {\n consumePath = typeof consumePath !== \"undefined\" ? consumePath : true;\n var ctx = this.ctx;\n var strokeColor = this.current.strokeColor;\n ctx.globalAlpha = this.current.strokeAlpha;\n\n if (strokeColor && strokeColor.hasOwnProperty(\"type\") && strokeColor.type === \"Pattern\") {\n ctx.save();\n const transform = ctx.mozCurrentTransform;\n\n const scale = _util.Util.singularValueDecompose2dScale(transform)[0];\n\n ctx.strokeStyle = strokeColor.getPattern(ctx, this);\n ctx.lineWidth = Math.max(this.getSinglePixelWidth() * MIN_WIDTH_FACTOR, this.current.lineWidth * scale);\n ctx.stroke();\n ctx.restore();\n } else {\n ctx.lineWidth = Math.max(this.getSinglePixelWidth() * MIN_WIDTH_FACTOR, this.current.lineWidth);\n ctx.stroke();\n }\n\n if (consumePath) {\n this.consumePath();\n }\n\n ctx.globalAlpha = this.current.fillAlpha;\n },\n closeStroke: function CanvasGraphics_closeStroke() {\n this.closePath();\n this.stroke();\n },\n fill: function CanvasGraphics_fill(consumePath) {\n consumePath = typeof consumePath !== \"undefined\" ? consumePath : true;\n var ctx = this.ctx;\n var fillColor = this.current.fillColor;\n var isPatternFill = this.current.patternFill;\n var needRestore = false;\n\n if (isPatternFill) {\n ctx.save();\n\n if (this.baseTransform) {\n ctx.setTransform.apply(ctx, this.baseTransform);\n }\n\n ctx.fillStyle = fillColor.getPattern(ctx, this);\n needRestore = true;\n }\n\n if (this.pendingEOFill) {\n ctx.fill(\"evenodd\");\n this.pendingEOFill = false;\n } else {\n ctx.fill();\n }\n\n if (needRestore) {\n ctx.restore();\n }\n\n if (consumePath) {\n this.consumePath();\n }\n },\n eoFill: function CanvasGraphics_eoFill() {\n this.pendingEOFill = true;\n this.fill();\n },\n fillStroke: function CanvasGraphics_fillStroke() {\n this.fill(false);\n this.stroke(false);\n this.consumePath();\n },\n eoFillStroke: function CanvasGraphics_eoFillStroke() {\n this.pendingEOFill = true;\n this.fillStroke();\n },\n closeFillStroke: function CanvasGraphics_closeFillStroke() {\n this.closePath();\n this.fillStroke();\n },\n closeEOFillStroke: function CanvasGraphics_closeEOFillStroke() {\n this.pendingEOFill = true;\n this.closePath();\n this.fillStroke();\n },\n endPath: function CanvasGraphics_endPath() {\n this.consumePath();\n },\n clip: function CanvasGraphics_clip() {\n this.pendingClip = NORMAL_CLIP;\n },\n eoClip: function CanvasGraphics_eoClip() {\n this.pendingClip = EO_CLIP;\n },\n beginText: function CanvasGraphics_beginText() {\n this.current.textMatrix = _util.IDENTITY_MATRIX;\n this.current.textMatrixScale = 1;\n this.current.x = this.current.lineX = 0;\n this.current.y = this.current.lineY = 0;\n },\n endText: function CanvasGraphics_endText() {\n var paths = this.pendingTextPaths;\n var ctx = this.ctx;\n\n if (paths === undefined) {\n ctx.beginPath();\n return;\n }\n\n ctx.save();\n ctx.beginPath();\n\n for (var i = 0; i < paths.length; i++) {\n var path = paths[i];\n ctx.setTransform.apply(ctx, path.transform);\n ctx.translate(path.x, path.y);\n path.addToPath(ctx, path.fontSize);\n }\n\n ctx.restore();\n ctx.clip();\n ctx.beginPath();\n delete this.pendingTextPaths;\n },\n setCharSpacing: function CanvasGraphics_setCharSpacing(spacing) {\n this.current.charSpacing = spacing;\n },\n setWordSpacing: function CanvasGraphics_setWordSpacing(spacing) {\n this.current.wordSpacing = spacing;\n },\n setHScale: function CanvasGraphics_setHScale(scale) {\n this.current.textHScale = scale / 100;\n },\n setLeading: function CanvasGraphics_setLeading(leading) {\n this.current.leading = -leading;\n },\n setFont: function CanvasGraphics_setFont(fontRefName, size) {\n var fontObj = this.commonObjs.get(fontRefName);\n var current = this.current;\n\n if (!fontObj) {\n throw new Error(`Can't find font for ${fontRefName}`);\n }\n\n current.fontMatrix = fontObj.fontMatrix ? fontObj.fontMatrix : _util.FONT_IDENTITY_MATRIX;\n\n if (current.fontMatrix[0] === 0 || current.fontMatrix[3] === 0) {\n (0, _util.warn)(\"Invalid font matrix for font \" + fontRefName);\n }\n\n if (size < 0) {\n size = -size;\n current.fontDirection = -1;\n } else {\n current.fontDirection = 1;\n }\n\n this.current.font = fontObj;\n this.current.fontSize = size;\n\n if (fontObj.isType3Font) {\n return;\n }\n\n var name = fontObj.loadedName || \"sans-serif\";\n let bold = \"normal\";\n\n if (fontObj.black) {\n bold = \"900\";\n } else if (fontObj.bold) {\n bold = \"bold\";\n }\n\n var italic = fontObj.italic ? \"italic\" : \"normal\";\n var typeface = `\"${name}\", ${fontObj.fallbackName}`;\n let browserFontSize = size;\n\n if (size < MIN_FONT_SIZE) {\n browserFontSize = MIN_FONT_SIZE;\n } else if (size > MAX_FONT_SIZE) {\n browserFontSize = MAX_FONT_SIZE;\n }\n\n this.current.fontSizeScale = size / browserFontSize;\n this.ctx.font = `${italic} ${bold} ${browserFontSize}px ${typeface}`;\n },\n setTextRenderingMode: function CanvasGraphics_setTextRenderingMode(mode) {\n this.current.textRenderingMode = mode;\n },\n setTextRise: function CanvasGraphics_setTextRise(rise) {\n this.current.textRise = rise;\n },\n moveText: function CanvasGraphics_moveText(x, y) {\n this.current.x = this.current.lineX += x;\n this.current.y = this.current.lineY += y;\n },\n setLeadingMoveText: function CanvasGraphics_setLeadingMoveText(x, y) {\n this.setLeading(-y);\n this.moveText(x, y);\n },\n setTextMatrix: function CanvasGraphics_setTextMatrix(a, b, c, d, e, f) {\n this.current.textMatrix = [a, b, c, d, e, f];\n this.current.textMatrixScale = Math.sqrt(a * a + b * b);\n this.current.x = this.current.lineX = 0;\n this.current.y = this.current.lineY = 0;\n },\n nextLine: function CanvasGraphics_nextLine() {\n this.moveText(0, this.current.leading);\n },\n\n paintChar(character, x, y, patternTransform) {\n var ctx = this.ctx;\n var current = this.current;\n var font = current.font;\n var textRenderingMode = current.textRenderingMode;\n var fontSize = current.fontSize / current.fontSizeScale;\n var fillStrokeMode = textRenderingMode & _util.TextRenderingMode.FILL_STROKE_MASK;\n var isAddToPathSet = !!(textRenderingMode & _util.TextRenderingMode.ADD_TO_PATH_FLAG);\n const patternFill = current.patternFill && !font.missingFile;\n var addToPath;\n\n if (font.disableFontFace || isAddToPathSet || patternFill) {\n addToPath = font.getPathGenerator(this.commonObjs, character);\n }\n\n if (font.disableFontFace || patternFill) {\n ctx.save();\n ctx.translate(x, y);\n ctx.beginPath();\n addToPath(ctx, fontSize);\n\n if (patternTransform) {\n ctx.setTransform.apply(ctx, patternTransform);\n }\n\n if (fillStrokeMode === _util.TextRenderingMode.FILL || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) {\n ctx.fill();\n }\n\n if (fillStrokeMode === _util.TextRenderingMode.STROKE || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) {\n ctx.stroke();\n }\n\n ctx.restore();\n } else {\n if (fillStrokeMode === _util.TextRenderingMode.FILL || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) {\n ctx.fillText(character, x, y);\n }\n\n if (fillStrokeMode === _util.TextRenderingMode.STROKE || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) {\n ctx.strokeText(character, x, y);\n }\n }\n\n if (isAddToPathSet) {\n var paths = this.pendingTextPaths || (this.pendingTextPaths = []);\n paths.push({\n transform: ctx.mozCurrentTransform,\n x,\n y,\n fontSize,\n addToPath\n });\n }\n },\n\n get isFontSubpixelAAEnabled() {\n const {\n context: ctx\n } = this.cachedCanvases.getCanvas(\"isFontSubpixelAAEnabled\", 10, 10);\n ctx.scale(1.5, 1);\n ctx.fillText(\"I\", 0, 10);\n var data = ctx.getImageData(0, 0, 10, 10).data;\n var enabled = false;\n\n for (var i = 3; i < data.length; i += 4) {\n if (data[i] > 0 && data[i] < 255) {\n enabled = true;\n break;\n }\n }\n\n return (0, _util.shadow)(this, \"isFontSubpixelAAEnabled\", enabled);\n },\n\n showText: function CanvasGraphics_showText(glyphs) {\n var current = this.current;\n var font = current.font;\n\n if (font.isType3Font) {\n return this.showType3Text(glyphs);\n }\n\n var fontSize = current.fontSize;\n\n if (fontSize === 0) {\n return undefined;\n }\n\n var ctx = this.ctx;\n var fontSizeScale = current.fontSizeScale;\n var charSpacing = current.charSpacing;\n var wordSpacing = current.wordSpacing;\n var fontDirection = current.fontDirection;\n var textHScale = current.textHScale * fontDirection;\n var glyphsLength = glyphs.length;\n var vertical = font.vertical;\n var spacingDir = vertical ? 1 : -1;\n var defaultVMetrics = font.defaultVMetrics;\n var widthAdvanceScale = fontSize * current.fontMatrix[0];\n var simpleFillText = current.textRenderingMode === _util.TextRenderingMode.FILL && !font.disableFontFace && !current.patternFill;\n ctx.save();\n let patternTransform;\n\n if (current.patternFill) {\n ctx.save();\n const pattern = current.fillColor.getPattern(ctx, this);\n patternTransform = ctx.mozCurrentTransform;\n ctx.restore();\n ctx.fillStyle = pattern;\n }\n\n ctx.transform.apply(ctx, current.textMatrix);\n ctx.translate(current.x, current.y + current.textRise);\n\n if (fontDirection > 0) {\n ctx.scale(textHScale, -1);\n } else {\n ctx.scale(textHScale, 1);\n }\n\n var lineWidth = current.lineWidth;\n var scale = current.textMatrixScale;\n\n if (scale === 0 || lineWidth === 0) {\n var fillStrokeMode = current.textRenderingMode & _util.TextRenderingMode.FILL_STROKE_MASK;\n\n if (fillStrokeMode === _util.TextRenderingMode.STROKE || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) {\n this._cachedGetSinglePixelWidth = null;\n lineWidth = this.getSinglePixelWidth() * MIN_WIDTH_FACTOR;\n }\n } else {\n lineWidth /= scale;\n }\n\n if (fontSizeScale !== 1.0) {\n ctx.scale(fontSizeScale, fontSizeScale);\n lineWidth /= fontSizeScale;\n }\n\n ctx.lineWidth = lineWidth;\n var x = 0,\n i;\n\n for (i = 0; i < glyphsLength; ++i) {\n var glyph = glyphs[i];\n\n if ((0, _util.isNum)(glyph)) {\n x += spacingDir * glyph * fontSize / 1000;\n continue;\n }\n\n var restoreNeeded = false;\n var spacing = (glyph.isSpace ? wordSpacing : 0) + charSpacing;\n var character = glyph.fontChar;\n var accent = glyph.accent;\n var scaledX, scaledY, scaledAccentX, scaledAccentY;\n var width = glyph.width;\n\n if (vertical) {\n var vmetric, vx, vy;\n vmetric = glyph.vmetric || defaultVMetrics;\n vx = glyph.vmetric ? vmetric[1] : width * 0.5;\n vx = -vx * widthAdvanceScale;\n vy = vmetric[2] * widthAdvanceScale;\n width = vmetric ? -vmetric[0] : width;\n scaledX = vx / fontSizeScale;\n scaledY = (x + vy) / fontSizeScale;\n } else {\n scaledX = x / fontSizeScale;\n scaledY = 0;\n }\n\n if (font.remeasure && width > 0) {\n var measuredWidth = ctx.measureText(character).width * 1000 / fontSize * fontSizeScale;\n\n if (width < measuredWidth && this.isFontSubpixelAAEnabled) {\n var characterScaleX = width / measuredWidth;\n restoreNeeded = true;\n ctx.save();\n ctx.scale(characterScaleX, 1);\n scaledX /= characterScaleX;\n } else if (width !== measuredWidth) {\n scaledX += (width - measuredWidth) / 2000 * fontSize / fontSizeScale;\n }\n }\n\n if (glyph.isInFont || font.missingFile) {\n if (simpleFillText && !accent) {\n ctx.fillText(character, scaledX, scaledY);\n } else {\n this.paintChar(character, scaledX, scaledY, patternTransform);\n\n if (accent) {\n scaledAccentX = scaledX + accent.offset.x / fontSizeScale;\n scaledAccentY = scaledY - accent.offset.y / fontSizeScale;\n this.paintChar(accent.fontChar, scaledAccentX, scaledAccentY, patternTransform);\n }\n }\n }\n\n var charWidth;\n\n if (vertical) {\n charWidth = width * widthAdvanceScale - spacing * fontDirection;\n } else {\n charWidth = width * widthAdvanceScale + spacing * fontDirection;\n }\n\n x += charWidth;\n\n if (restoreNeeded) {\n ctx.restore();\n }\n }\n\n if (vertical) {\n current.y -= x;\n } else {\n current.x += x * textHScale;\n }\n\n ctx.restore();\n },\n showType3Text: function CanvasGraphics_showType3Text(glyphs) {\n var ctx = this.ctx;\n var current = this.current;\n var font = current.font;\n var fontSize = current.fontSize;\n var fontDirection = current.fontDirection;\n var spacingDir = font.vertical ? 1 : -1;\n var charSpacing = current.charSpacing;\n var wordSpacing = current.wordSpacing;\n var textHScale = current.textHScale * fontDirection;\n var fontMatrix = current.fontMatrix || _util.FONT_IDENTITY_MATRIX;\n var glyphsLength = glyphs.length;\n var isTextInvisible = current.textRenderingMode === _util.TextRenderingMode.INVISIBLE;\n var i, glyph, width, spacingLength;\n\n if (isTextInvisible || fontSize === 0) {\n return;\n }\n\n this._cachedGetSinglePixelWidth = null;\n ctx.save();\n ctx.transform.apply(ctx, current.textMatrix);\n ctx.translate(current.x, current.y);\n ctx.scale(textHScale, fontDirection);\n\n for (i = 0; i < glyphsLength; ++i) {\n glyph = glyphs[i];\n\n if ((0, _util.isNum)(glyph)) {\n spacingLength = spacingDir * glyph * fontSize / 1000;\n this.ctx.translate(spacingLength, 0);\n current.x += spacingLength * textHScale;\n continue;\n }\n\n var spacing = (glyph.isSpace ? wordSpacing : 0) + charSpacing;\n var operatorList = font.charProcOperatorList[glyph.operatorListId];\n\n if (!operatorList) {\n (0, _util.warn)(`Type3 character \"${glyph.operatorListId}\" is not available.`);\n continue;\n }\n\n this.processingType3 = glyph;\n this.save();\n ctx.scale(fontSize, fontSize);\n ctx.transform.apply(ctx, fontMatrix);\n this.executeOperatorList(operatorList);\n this.restore();\n\n var transformed = _util.Util.applyTransform([glyph.width, 0], fontMatrix);\n\n width = transformed[0] * fontSize + spacing;\n ctx.translate(width, 0);\n current.x += width * textHScale;\n }\n\n ctx.restore();\n this.processingType3 = null;\n },\n setCharWidth: function CanvasGraphics_setCharWidth(xWidth, yWidth) {},\n setCharWidthAndBounds: function CanvasGraphics_setCharWidthAndBounds(xWidth, yWidth, llx, lly, urx, ury) {\n this.ctx.rect(llx, lly, urx - llx, ury - lly);\n this.clip();\n this.endPath();\n },\n getColorN_Pattern: function CanvasGraphics_getColorN_Pattern(IR) {\n var pattern;\n\n if (IR[0] === \"TilingPattern\") {\n var color = IR[1];\n var baseTransform = this.baseTransform || this.ctx.mozCurrentTransform.slice();\n var canvasGraphicsFactory = {\n createCanvasGraphics: ctx => {\n return new CanvasGraphics(ctx, this.commonObjs, this.objs, this.canvasFactory, this.webGLContext);\n }\n };\n pattern = new _pattern_helper.TilingPattern(IR, color, this.ctx, canvasGraphicsFactory, baseTransform);\n } else {\n pattern = (0, _pattern_helper.getShadingPatternFromIR)(IR);\n }\n\n return pattern;\n },\n setStrokeColorN: function CanvasGraphics_setStrokeColorN() {\n this.current.strokeColor = this.getColorN_Pattern(arguments);\n },\n setFillColorN: function CanvasGraphics_setFillColorN() {\n this.current.fillColor = this.getColorN_Pattern(arguments);\n this.current.patternFill = true;\n },\n setStrokeRGBColor: function CanvasGraphics_setStrokeRGBColor(r, g, b) {\n var color = _util.Util.makeCssRgb(r, g, b);\n\n this.ctx.strokeStyle = color;\n this.current.strokeColor = color;\n },\n setFillRGBColor: function CanvasGraphics_setFillRGBColor(r, g, b) {\n var color = _util.Util.makeCssRgb(r, g, b);\n\n this.ctx.fillStyle = color;\n this.current.fillColor = color;\n this.current.patternFill = false;\n },\n shadingFill: function CanvasGraphics_shadingFill(patternIR) {\n var ctx = this.ctx;\n this.save();\n var pattern = (0, _pattern_helper.getShadingPatternFromIR)(patternIR);\n ctx.fillStyle = pattern.getPattern(ctx, this, true);\n var inv = ctx.mozCurrentTransformInverse;\n\n if (inv) {\n var canvas = ctx.canvas;\n var width = canvas.width;\n var height = canvas.height;\n\n var bl = _util.Util.applyTransform([0, 0], inv);\n\n var br = _util.Util.applyTransform([0, height], inv);\n\n var ul = _util.Util.applyTransform([width, 0], inv);\n\n var ur = _util.Util.applyTransform([width, height], inv);\n\n var x0 = Math.min(bl[0], br[0], ul[0], ur[0]);\n var y0 = Math.min(bl[1], br[1], ul[1], ur[1]);\n var x1 = Math.max(bl[0], br[0], ul[0], ur[0]);\n var y1 = Math.max(bl[1], br[1], ul[1], ur[1]);\n this.ctx.fillRect(x0, y0, x1 - x0, y1 - y0);\n } else {\n this.ctx.fillRect(-1e10, -1e10, 2e10, 2e10);\n }\n\n this.restore();\n },\n beginInlineImage: function CanvasGraphics_beginInlineImage() {\n (0, _util.unreachable)(\"Should not call beginInlineImage\");\n },\n beginImageData: function CanvasGraphics_beginImageData() {\n (0, _util.unreachable)(\"Should not call beginImageData\");\n },\n paintFormXObjectBegin: function CanvasGraphics_paintFormXObjectBegin(matrix, bbox) {\n this.save();\n this.baseTransformStack.push(this.baseTransform);\n\n if (Array.isArray(matrix) && matrix.length === 6) {\n this.transform.apply(this, matrix);\n }\n\n this.baseTransform = this.ctx.mozCurrentTransform;\n\n if (bbox) {\n var width = bbox[2] - bbox[0];\n var height = bbox[3] - bbox[1];\n this.ctx.rect(bbox[0], bbox[1], width, height);\n this.clip();\n this.endPath();\n }\n },\n paintFormXObjectEnd: function CanvasGraphics_paintFormXObjectEnd() {\n this.restore();\n this.baseTransform = this.baseTransformStack.pop();\n },\n beginGroup: function CanvasGraphics_beginGroup(group) {\n this.save();\n var currentCtx = this.ctx;\n\n if (!group.isolated) {\n (0, _util.info)(\"TODO: Support non-isolated groups.\");\n }\n\n if (group.knockout) {\n (0, _util.warn)(\"Knockout groups not supported.\");\n }\n\n var currentTransform = currentCtx.mozCurrentTransform;\n\n if (group.matrix) {\n currentCtx.transform.apply(currentCtx, group.matrix);\n }\n\n if (!group.bbox) {\n throw new Error(\"Bounding box is required.\");\n }\n\n var bounds = _util.Util.getAxialAlignedBoundingBox(group.bbox, currentCtx.mozCurrentTransform);\n\n var canvasBounds = [0, 0, currentCtx.canvas.width, currentCtx.canvas.height];\n bounds = _util.Util.intersect(bounds, canvasBounds) || [0, 0, 0, 0];\n var offsetX = Math.floor(bounds[0]);\n var offsetY = Math.floor(bounds[1]);\n var drawnWidth = Math.max(Math.ceil(bounds[2]) - offsetX, 1);\n var drawnHeight = Math.max(Math.ceil(bounds[3]) - offsetY, 1);\n var scaleX = 1,\n scaleY = 1;\n\n if (drawnWidth > MAX_GROUP_SIZE) {\n scaleX = drawnWidth / MAX_GROUP_SIZE;\n drawnWidth = MAX_GROUP_SIZE;\n }\n\n if (drawnHeight > MAX_GROUP_SIZE) {\n scaleY = drawnHeight / MAX_GROUP_SIZE;\n drawnHeight = MAX_GROUP_SIZE;\n }\n\n var cacheId = \"groupAt\" + this.groupLevel;\n\n if (group.smask) {\n cacheId += \"_smask_\" + this.smaskCounter++ % 2;\n }\n\n var scratchCanvas = this.cachedCanvases.getCanvas(cacheId, drawnWidth, drawnHeight, true);\n var groupCtx = scratchCanvas.context;\n groupCtx.scale(1 / scaleX, 1 / scaleY);\n groupCtx.translate(-offsetX, -offsetY);\n groupCtx.transform.apply(groupCtx, currentTransform);\n\n if (group.smask) {\n this.smaskStack.push({\n canvas: scratchCanvas.canvas,\n context: groupCtx,\n offsetX,\n offsetY,\n scaleX,\n scaleY,\n subtype: group.smask.subtype,\n backdrop: group.smask.backdrop,\n transferMap: group.smask.transferMap || null,\n startTransformInverse: null\n });\n } else {\n currentCtx.setTransform(1, 0, 0, 1, 0, 0);\n currentCtx.translate(offsetX, offsetY);\n currentCtx.scale(scaleX, scaleY);\n }\n\n copyCtxState(currentCtx, groupCtx);\n this.ctx = groupCtx;\n this.setGState([[\"BM\", \"source-over\"], [\"ca\", 1], [\"CA\", 1]]);\n this.groupStack.push(currentCtx);\n this.groupLevel++;\n this.current.activeSMask = null;\n },\n endGroup: function CanvasGraphics_endGroup(group) {\n this.groupLevel--;\n var groupCtx = this.ctx;\n this.ctx = this.groupStack.pop();\n\n if (this.ctx.imageSmoothingEnabled !== undefined) {\n this.ctx.imageSmoothingEnabled = false;\n } else {\n this.ctx.mozImageSmoothingEnabled = false;\n }\n\n if (group.smask) {\n this.tempSMask = this.smaskStack.pop();\n } else {\n this.ctx.drawImage(groupCtx.canvas, 0, 0);\n }\n\n this.restore();\n },\n beginAnnotations: function CanvasGraphics_beginAnnotations() {\n this.save();\n\n if (this.baseTransform) {\n this.ctx.setTransform.apply(this.ctx, this.baseTransform);\n }\n },\n endAnnotations: function CanvasGraphics_endAnnotations() {\n this.restore();\n },\n beginAnnotation: function CanvasGraphics_beginAnnotation(rect, transform, matrix) {\n this.save();\n resetCtxToDefault(this.ctx);\n this.current = new CanvasExtraState();\n\n if (Array.isArray(rect) && rect.length === 4) {\n var width = rect[2] - rect[0];\n var height = rect[3] - rect[1];\n this.ctx.rect(rect[0], rect[1], width, height);\n this.clip();\n this.endPath();\n }\n\n this.transform.apply(this, transform);\n this.transform.apply(this, matrix);\n },\n endAnnotation: function CanvasGraphics_endAnnotation() {\n this.restore();\n },\n paintImageMaskXObject: function CanvasGraphics_paintImageMaskXObject(img) {\n var ctx = this.ctx;\n var width = img.width,\n height = img.height;\n var fillColor = this.current.fillColor;\n var isPatternFill = this.current.patternFill;\n var glyph = this.processingType3;\n\n if (COMPILE_TYPE3_GLYPHS && glyph && glyph.compiled === undefined) {\n if (width <= MAX_SIZE_TO_COMPILE && height <= MAX_SIZE_TO_COMPILE) {\n glyph.compiled = compileType3Glyph({\n data: img.data,\n width,\n height\n });\n } else {\n glyph.compiled = null;\n }\n }\n\n if (glyph && glyph.compiled) {\n glyph.compiled(ctx);\n return;\n }\n\n var maskCanvas = this.cachedCanvases.getCanvas(\"maskCanvas\", width, height);\n var maskCtx = maskCanvas.context;\n maskCtx.save();\n putBinaryImageMask(maskCtx, img);\n maskCtx.globalCompositeOperation = \"source-in\";\n maskCtx.fillStyle = isPatternFill ? fillColor.getPattern(maskCtx, this) : fillColor;\n maskCtx.fillRect(0, 0, width, height);\n maskCtx.restore();\n this.paintInlineImageXObject(maskCanvas.canvas);\n },\n paintImageMaskXObjectRepeat: function CanvasGraphics_paintImageMaskXObjectRepeat(imgData, scaleX, scaleY, positions) {\n var width = imgData.width;\n var height = imgData.height;\n var fillColor = this.current.fillColor;\n var isPatternFill = this.current.patternFill;\n var maskCanvas = this.cachedCanvases.getCanvas(\"maskCanvas\", width, height);\n var maskCtx = maskCanvas.context;\n maskCtx.save();\n putBinaryImageMask(maskCtx, imgData);\n maskCtx.globalCompositeOperation = \"source-in\";\n maskCtx.fillStyle = isPatternFill ? fillColor.getPattern(maskCtx, this) : fillColor;\n maskCtx.fillRect(0, 0, width, height);\n maskCtx.restore();\n var ctx = this.ctx;\n\n for (var i = 0, ii = positions.length; i < ii; i += 2) {\n ctx.save();\n ctx.transform(scaleX, 0, 0, scaleY, positions[i], positions[i + 1]);\n ctx.scale(1, -1);\n ctx.drawImage(maskCanvas.canvas, 0, 0, width, height, 0, -1, 1, 1);\n ctx.restore();\n }\n },\n paintImageMaskXObjectGroup: function CanvasGraphics_paintImageMaskXObjectGroup(images) {\n var ctx = this.ctx;\n var fillColor = this.current.fillColor;\n var isPatternFill = this.current.patternFill;\n\n for (var i = 0, ii = images.length; i < ii; i++) {\n var image = images[i];\n var width = image.width,\n height = image.height;\n var maskCanvas = this.cachedCanvases.getCanvas(\"maskCanvas\", width, height);\n var maskCtx = maskCanvas.context;\n maskCtx.save();\n putBinaryImageMask(maskCtx, image);\n maskCtx.globalCompositeOperation = \"source-in\";\n maskCtx.fillStyle = isPatternFill ? fillColor.getPattern(maskCtx, this) : fillColor;\n maskCtx.fillRect(0, 0, width, height);\n maskCtx.restore();\n ctx.save();\n ctx.transform.apply(ctx, image.transform);\n ctx.scale(1, -1);\n ctx.drawImage(maskCanvas.canvas, 0, 0, width, height, 0, -1, 1, 1);\n ctx.restore();\n }\n },\n paintImageXObject: function CanvasGraphics_paintImageXObject(objId) {\n const imgData = objId.startsWith(\"g_\") ? this.commonObjs.get(objId) : this.objs.get(objId);\n\n if (!imgData) {\n (0, _util.warn)(\"Dependent image isn't ready yet\");\n return;\n }\n\n this.paintInlineImageXObject(imgData);\n },\n paintImageXObjectRepeat: function CanvasGraphics_paintImageXObjectRepeat(objId, scaleX, scaleY, positions) {\n const imgData = objId.startsWith(\"g_\") ? this.commonObjs.get(objId) : this.objs.get(objId);\n\n if (!imgData) {\n (0, _util.warn)(\"Dependent image isn't ready yet\");\n return;\n }\n\n var width = imgData.width;\n var height = imgData.height;\n var map = [];\n\n for (var i = 0, ii = positions.length; i < ii; i += 2) {\n map.push({\n transform: [scaleX, 0, 0, scaleY, positions[i], positions[i + 1]],\n x: 0,\n y: 0,\n w: width,\n h: height\n });\n }\n\n this.paintInlineImageXObjectGroup(imgData, map);\n },\n paintInlineImageXObject: function CanvasGraphics_paintInlineImageXObject(imgData) {\n var width = imgData.width;\n var height = imgData.height;\n var ctx = this.ctx;\n this.save();\n ctx.scale(1 / width, -1 / height);\n var currentTransform = ctx.mozCurrentTransformInverse;\n var a = currentTransform[0],\n b = currentTransform[1];\n var widthScale = Math.max(Math.sqrt(a * a + b * b), 1);\n var c = currentTransform[2],\n d = currentTransform[3];\n var heightScale = Math.max(Math.sqrt(c * c + d * d), 1);\n var imgToPaint, tmpCanvas;\n\n if (typeof HTMLElement === \"function\" && imgData instanceof HTMLElement || !imgData.data) {\n imgToPaint = imgData;\n } else {\n tmpCanvas = this.cachedCanvases.getCanvas(\"inlineImage\", width, height);\n var tmpCtx = tmpCanvas.context;\n putBinaryImageData(tmpCtx, imgData);\n imgToPaint = tmpCanvas.canvas;\n }\n\n var paintWidth = width,\n paintHeight = height;\n var tmpCanvasId = \"prescale1\";\n\n while (widthScale > 2 && paintWidth > 1 || heightScale > 2 && paintHeight > 1) {\n var newWidth = paintWidth,\n newHeight = paintHeight;\n\n if (widthScale > 2 && paintWidth > 1) {\n newWidth = Math.ceil(paintWidth / 2);\n widthScale /= paintWidth / newWidth;\n }\n\n if (heightScale > 2 && paintHeight > 1) {\n newHeight = Math.ceil(paintHeight / 2);\n heightScale /= paintHeight / newHeight;\n }\n\n tmpCanvas = this.cachedCanvases.getCanvas(tmpCanvasId, newWidth, newHeight);\n tmpCtx = tmpCanvas.context;\n tmpCtx.clearRect(0, 0, newWidth, newHeight);\n tmpCtx.drawImage(imgToPaint, 0, 0, paintWidth, paintHeight, 0, 0, newWidth, newHeight);\n imgToPaint = tmpCanvas.canvas;\n paintWidth = newWidth;\n paintHeight = newHeight;\n tmpCanvasId = tmpCanvasId === \"prescale1\" ? \"prescale2\" : \"prescale1\";\n }\n\n ctx.drawImage(imgToPaint, 0, 0, paintWidth, paintHeight, 0, -height, width, height);\n\n if (this.imageLayer) {\n var position = this.getCanvasPosition(0, -height);\n this.imageLayer.appendImage({\n imgData,\n left: position[0],\n top: position[1],\n width: width / currentTransform[0],\n height: height / currentTransform[3]\n });\n }\n\n this.restore();\n },\n paintInlineImageXObjectGroup: function CanvasGraphics_paintInlineImageXObjectGroup(imgData, map) {\n var ctx = this.ctx;\n var w = imgData.width;\n var h = imgData.height;\n var tmpCanvas = this.cachedCanvases.getCanvas(\"inlineImage\", w, h);\n var tmpCtx = tmpCanvas.context;\n putBinaryImageData(tmpCtx, imgData);\n\n for (var i = 0, ii = map.length; i < ii; i++) {\n var entry = map[i];\n ctx.save();\n ctx.transform.apply(ctx, entry.transform);\n ctx.scale(1, -1);\n ctx.drawImage(tmpCanvas.canvas, entry.x, entry.y, entry.w, entry.h, 0, -1, 1, 1);\n\n if (this.imageLayer) {\n var position = this.getCanvasPosition(entry.x, entry.y);\n this.imageLayer.appendImage({\n imgData,\n left: position[0],\n top: position[1],\n width: w,\n height: h\n });\n }\n\n ctx.restore();\n }\n },\n paintSolidColorImageMask: function CanvasGraphics_paintSolidColorImageMask() {\n this.ctx.fillRect(0, 0, 1, 1);\n },\n paintXObject: function CanvasGraphics_paintXObject() {\n (0, _util.warn)(\"Unsupported 'paintXObject' command.\");\n },\n markPoint: function CanvasGraphics_markPoint(tag) {},\n markPointProps: function CanvasGraphics_markPointProps(tag, properties) {},\n beginMarkedContent: function CanvasGraphics_beginMarkedContent(tag) {},\n beginMarkedContentProps: function CanvasGraphics_beginMarkedContentProps(tag, properties) {},\n endMarkedContent: function CanvasGraphics_endMarkedContent() {},\n beginCompat: function CanvasGraphics_beginCompat() {},\n endCompat: function CanvasGraphics_endCompat() {},\n consumePath: function CanvasGraphics_consumePath() {\n var ctx = this.ctx;\n\n if (this.pendingClip) {\n if (this.pendingClip === EO_CLIP) {\n ctx.clip(\"evenodd\");\n } else {\n ctx.clip();\n }\n\n this.pendingClip = null;\n }\n\n ctx.beginPath();\n },\n\n getSinglePixelWidth(scale) {\n if (this._cachedGetSinglePixelWidth === null) {\n const inverse = this.ctx.mozCurrentTransformInverse;\n this._cachedGetSinglePixelWidth = Math.sqrt(Math.max(inverse[0] * inverse[0] + inverse[1] * inverse[1], inverse[2] * inverse[2] + inverse[3] * inverse[3]));\n }\n\n return this._cachedGetSinglePixelWidth;\n },\n\n getCanvasPosition: function CanvasGraphics_getCanvasPosition(x, y) {\n var transform = this.ctx.mozCurrentTransform;\n return [transform[0] * x + transform[2] * y + transform[4], transform[1] * x + transform[3] * y + transform[5]];\n }\n };\n\n for (var op in _util.OPS) {\n CanvasGraphics.prototype[_util.OPS[op]] = CanvasGraphics.prototype[op];\n }\n\n return CanvasGraphics;\n}();\n\nexports.CanvasGraphics = CanvasGraphics;\n\n/***/ }),\n/* 9 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getShadingPatternFromIR = getShadingPatternFromIR;\nexports.TilingPattern = void 0;\n\nvar _util = __w_pdfjs_require__(2);\n\nvar ShadingIRs = {};\n\nfunction applyBoundingBox(ctx, bbox) {\n if (!bbox || typeof Path2D === \"undefined\") {\n return;\n }\n\n const width = bbox[2] - bbox[0];\n const height = bbox[3] - bbox[1];\n const region = new Path2D();\n region.rect(bbox[0], bbox[1], width, height);\n ctx.clip(region);\n}\n\nShadingIRs.RadialAxial = {\n fromIR: function RadialAxial_fromIR(raw) {\n var type = raw[1];\n var bbox = raw[2];\n var colorStops = raw[3];\n var p0 = raw[4];\n var p1 = raw[5];\n var r0 = raw[6];\n var r1 = raw[7];\n return {\n type: \"Pattern\",\n getPattern: function RadialAxial_getPattern(ctx) {\n applyBoundingBox(ctx, bbox);\n var grad;\n\n if (type === \"axial\") {\n grad = ctx.createLinearGradient(p0[0], p0[1], p1[0], p1[1]);\n } else if (type === \"radial\") {\n grad = ctx.createRadialGradient(p0[0], p0[1], r0, p1[0], p1[1], r1);\n }\n\n for (var i = 0, ii = colorStops.length; i < ii; ++i) {\n var c = colorStops[i];\n grad.addColorStop(c[0], c[1]);\n }\n\n return grad;\n }\n };\n }\n};\n\nvar createMeshCanvas = function createMeshCanvasClosure() {\n function drawTriangle(data, context, p1, p2, p3, c1, c2, c3) {\n var coords = context.coords,\n colors = context.colors;\n var bytes = data.data,\n rowSize = data.width * 4;\n var tmp;\n\n if (coords[p1 + 1] > coords[p2 + 1]) {\n tmp = p1;\n p1 = p2;\n p2 = tmp;\n tmp = c1;\n c1 = c2;\n c2 = tmp;\n }\n\n if (coords[p2 + 1] > coords[p3 + 1]) {\n tmp = p2;\n p2 = p3;\n p3 = tmp;\n tmp = c2;\n c2 = c3;\n c3 = tmp;\n }\n\n if (coords[p1 + 1] > coords[p2 + 1]) {\n tmp = p1;\n p1 = p2;\n p2 = tmp;\n tmp = c1;\n c1 = c2;\n c2 = tmp;\n }\n\n var x1 = (coords[p1] + context.offsetX) * context.scaleX;\n var y1 = (coords[p1 + 1] + context.offsetY) * context.scaleY;\n var x2 = (coords[p2] + context.offsetX) * context.scaleX;\n var y2 = (coords[p2 + 1] + context.offsetY) * context.scaleY;\n var x3 = (coords[p3] + context.offsetX) * context.scaleX;\n var y3 = (coords[p3 + 1] + context.offsetY) * context.scaleY;\n\n if (y1 >= y3) {\n return;\n }\n\n var c1r = colors[c1],\n c1g = colors[c1 + 1],\n c1b = colors[c1 + 2];\n var c2r = colors[c2],\n c2g = colors[c2 + 1],\n c2b = colors[c2 + 2];\n var c3r = colors[c3],\n c3g = colors[c3 + 1],\n c3b = colors[c3 + 2];\n var minY = Math.round(y1),\n maxY = Math.round(y3);\n var xa, car, cag, cab;\n var xb, cbr, cbg, cbb;\n\n for (var y = minY; y <= maxY; y++) {\n if (y < y2) {\n let k;\n\n if (y < y1) {\n k = 0;\n } else if (y1 === y2) {\n k = 1;\n } else {\n k = (y1 - y) / (y1 - y2);\n }\n\n xa = x1 - (x1 - x2) * k;\n car = c1r - (c1r - c2r) * k;\n cag = c1g - (c1g - c2g) * k;\n cab = c1b - (c1b - c2b) * k;\n } else {\n let k;\n\n if (y > y3) {\n k = 1;\n } else if (y2 === y3) {\n k = 0;\n } else {\n k = (y2 - y) / (y2 - y3);\n }\n\n xa = x2 - (x2 - x3) * k;\n car = c2r - (c2r - c3r) * k;\n cag = c2g - (c2g - c3g) * k;\n cab = c2b - (c2b - c3b) * k;\n }\n\n let k;\n\n if (y < y1) {\n k = 0;\n } else if (y > y3) {\n k = 1;\n } else {\n k = (y1 - y) / (y1 - y3);\n }\n\n xb = x1 - (x1 - x3) * k;\n cbr = c1r - (c1r - c3r) * k;\n cbg = c1g - (c1g - c3g) * k;\n cbb = c1b - (c1b - c3b) * k;\n var x1_ = Math.round(Math.min(xa, xb));\n var x2_ = Math.round(Math.max(xa, xb));\n var j = rowSize * y + x1_ * 4;\n\n for (var x = x1_; x <= x2_; x++) {\n k = (xa - x) / (xa - xb);\n\n if (k < 0) {\n k = 0;\n } else if (k > 1) {\n k = 1;\n }\n\n bytes[j++] = car - (car - cbr) * k | 0;\n bytes[j++] = cag - (cag - cbg) * k | 0;\n bytes[j++] = cab - (cab - cbb) * k | 0;\n bytes[j++] = 255;\n }\n }\n }\n\n function drawFigure(data, figure, context) {\n var ps = figure.coords;\n var cs = figure.colors;\n var i, ii;\n\n switch (figure.type) {\n case \"lattice\":\n var verticesPerRow = figure.verticesPerRow;\n var rows = Math.floor(ps.length / verticesPerRow) - 1;\n var cols = verticesPerRow - 1;\n\n for (i = 0; i < rows; i++) {\n var q = i * verticesPerRow;\n\n for (var j = 0; j < cols; j++, q++) {\n drawTriangle(data, context, ps[q], ps[q + 1], ps[q + verticesPerRow], cs[q], cs[q + 1], cs[q + verticesPerRow]);\n drawTriangle(data, context, ps[q + verticesPerRow + 1], ps[q + 1], ps[q + verticesPerRow], cs[q + verticesPerRow + 1], cs[q + 1], cs[q + verticesPerRow]);\n }\n }\n\n break;\n\n case \"triangles\":\n for (i = 0, ii = ps.length; i < ii; i += 3) {\n drawTriangle(data, context, ps[i], ps[i + 1], ps[i + 2], cs[i], cs[i + 1], cs[i + 2]);\n }\n\n break;\n\n default:\n throw new Error(\"illegal figure\");\n }\n }\n\n function createMeshCanvas(bounds, combinesScale, coords, colors, figures, backgroundColor, cachedCanvases, webGLContext) {\n var EXPECTED_SCALE = 1.1;\n var MAX_PATTERN_SIZE = 3000;\n var BORDER_SIZE = 2;\n var offsetX = Math.floor(bounds[0]);\n var offsetY = Math.floor(bounds[1]);\n var boundsWidth = Math.ceil(bounds[2]) - offsetX;\n var boundsHeight = Math.ceil(bounds[3]) - offsetY;\n var width = Math.min(Math.ceil(Math.abs(boundsWidth * combinesScale[0] * EXPECTED_SCALE)), MAX_PATTERN_SIZE);\n var height = Math.min(Math.ceil(Math.abs(boundsHeight * combinesScale[1] * EXPECTED_SCALE)), MAX_PATTERN_SIZE);\n var scaleX = boundsWidth / width;\n var scaleY = boundsHeight / height;\n var context = {\n coords,\n colors,\n offsetX: -offsetX,\n offsetY: -offsetY,\n scaleX: 1 / scaleX,\n scaleY: 1 / scaleY\n };\n var paddedWidth = width + BORDER_SIZE * 2;\n var paddedHeight = height + BORDER_SIZE * 2;\n var canvas, tmpCanvas, i, ii;\n\n if (webGLContext.isEnabled) {\n canvas = webGLContext.drawFigures({\n width,\n height,\n backgroundColor,\n figures,\n context\n });\n tmpCanvas = cachedCanvases.getCanvas(\"mesh\", paddedWidth, paddedHeight, false);\n tmpCanvas.context.drawImage(canvas, BORDER_SIZE, BORDER_SIZE);\n canvas = tmpCanvas.canvas;\n } else {\n tmpCanvas = cachedCanvases.getCanvas(\"mesh\", paddedWidth, paddedHeight, false);\n var tmpCtx = tmpCanvas.context;\n var data = tmpCtx.createImageData(width, height);\n\n if (backgroundColor) {\n var bytes = data.data;\n\n for (i = 0, ii = bytes.length; i < ii; i += 4) {\n bytes[i] = backgroundColor[0];\n bytes[i + 1] = backgroundColor[1];\n bytes[i + 2] = backgroundColor[2];\n bytes[i + 3] = 255;\n }\n }\n\n for (i = 0; i < figures.length; i++) {\n drawFigure(data, figures[i], context);\n }\n\n tmpCtx.putImageData(data, BORDER_SIZE, BORDER_SIZE);\n canvas = tmpCanvas.canvas;\n }\n\n return {\n canvas,\n offsetX: offsetX - BORDER_SIZE * scaleX,\n offsetY: offsetY - BORDER_SIZE * scaleY,\n scaleX,\n scaleY\n };\n }\n\n return createMeshCanvas;\n}();\n\nShadingIRs.Mesh = {\n fromIR: function Mesh_fromIR(raw) {\n var coords = raw[2];\n var colors = raw[3];\n var figures = raw[4];\n var bounds = raw[5];\n var matrix = raw[6];\n var bbox = raw[7];\n var background = raw[8];\n return {\n type: \"Pattern\",\n getPattern: function Mesh_getPattern(ctx, owner, shadingFill) {\n applyBoundingBox(ctx, bbox);\n var scale;\n\n if (shadingFill) {\n scale = _util.Util.singularValueDecompose2dScale(ctx.mozCurrentTransform);\n } else {\n scale = _util.Util.singularValueDecompose2dScale(owner.baseTransform);\n\n if (matrix) {\n var matrixScale = _util.Util.singularValueDecompose2dScale(matrix);\n\n scale = [scale[0] * matrixScale[0], scale[1] * matrixScale[1]];\n }\n }\n\n var temporaryPatternCanvas = createMeshCanvas(bounds, scale, coords, colors, figures, shadingFill ? null : background, owner.cachedCanvases, owner.webGLContext);\n\n if (!shadingFill) {\n ctx.setTransform.apply(ctx, owner.baseTransform);\n\n if (matrix) {\n ctx.transform.apply(ctx, matrix);\n }\n }\n\n ctx.translate(temporaryPatternCanvas.offsetX, temporaryPatternCanvas.offsetY);\n ctx.scale(temporaryPatternCanvas.scaleX, temporaryPatternCanvas.scaleY);\n return ctx.createPattern(temporaryPatternCanvas.canvas, \"no-repeat\");\n }\n };\n }\n};\nShadingIRs.Dummy = {\n fromIR: function Dummy_fromIR() {\n return {\n type: \"Pattern\",\n getPattern: function Dummy_fromIR_getPattern() {\n return \"hotpink\";\n }\n };\n }\n};\n\nfunction getShadingPatternFromIR(raw) {\n var shadingIR = ShadingIRs[raw[0]];\n\n if (!shadingIR) {\n throw new Error(`Unknown IR type: ${raw[0]}`);\n }\n\n return shadingIR.fromIR(raw);\n}\n\nvar TilingPattern = function TilingPatternClosure() {\n var PaintType = {\n COLORED: 1,\n UNCOLORED: 2\n };\n var MAX_PATTERN_SIZE = 3000;\n\n function TilingPattern(IR, color, ctx, canvasGraphicsFactory, baseTransform) {\n this.operatorList = IR[2];\n this.matrix = IR[3] || [1, 0, 0, 1, 0, 0];\n this.bbox = IR[4];\n this.xstep = IR[5];\n this.ystep = IR[6];\n this.paintType = IR[7];\n this.tilingType = IR[8];\n this.color = color;\n this.canvasGraphicsFactory = canvasGraphicsFactory;\n this.baseTransform = baseTransform;\n this.type = \"Pattern\";\n this.ctx = ctx;\n }\n\n TilingPattern.prototype = {\n createPatternCanvas: function TilinPattern_createPatternCanvas(owner) {\n var operatorList = this.operatorList;\n var bbox = this.bbox;\n var xstep = this.xstep;\n var ystep = this.ystep;\n var paintType = this.paintType;\n var tilingType = this.tilingType;\n var color = this.color;\n var canvasGraphicsFactory = this.canvasGraphicsFactory;\n (0, _util.info)(\"TilingType: \" + tilingType);\n var x0 = bbox[0],\n y0 = bbox[1],\n x1 = bbox[2],\n y1 = bbox[3];\n\n var matrixScale = _util.Util.singularValueDecompose2dScale(this.matrix);\n\n var curMatrixScale = _util.Util.singularValueDecompose2dScale(this.baseTransform);\n\n var combinedScale = [matrixScale[0] * curMatrixScale[0], matrixScale[1] * curMatrixScale[1]];\n var dimx = this.getSizeAndScale(xstep, this.ctx.canvas.width, combinedScale[0]);\n var dimy = this.getSizeAndScale(ystep, this.ctx.canvas.height, combinedScale[1]);\n var tmpCanvas = owner.cachedCanvases.getCanvas(\"pattern\", dimx.size, dimy.size, true);\n var tmpCtx = tmpCanvas.context;\n var graphics = canvasGraphicsFactory.createCanvasGraphics(tmpCtx);\n graphics.groupLevel = owner.groupLevel;\n this.setFillAndStrokeStyleToContext(graphics, paintType, color);\n graphics.transform(dimx.scale, 0, 0, dimy.scale, 0, 0);\n graphics.transform(1, 0, 0, 1, -x0, -y0);\n this.clipBbox(graphics, bbox, x0, y0, x1, y1);\n graphics.executeOperatorList(operatorList);\n this.ctx.transform(1, 0, 0, 1, x0, y0);\n this.ctx.scale(1 / dimx.scale, 1 / dimy.scale);\n return tmpCanvas.canvas;\n },\n getSizeAndScale: function TilingPattern_getSizeAndScale(step, realOutputSize, scale) {\n step = Math.abs(step);\n var maxSize = Math.max(MAX_PATTERN_SIZE, realOutputSize);\n var size = Math.ceil(step * scale);\n\n if (size >= maxSize) {\n size = maxSize;\n } else {\n scale = size / step;\n }\n\n return {\n scale,\n size\n };\n },\n clipBbox: function clipBbox(graphics, bbox, x0, y0, x1, y1) {\n if (Array.isArray(bbox) && bbox.length === 4) {\n var bboxWidth = x1 - x0;\n var bboxHeight = y1 - y0;\n graphics.ctx.rect(x0, y0, bboxWidth, bboxHeight);\n graphics.clip();\n graphics.endPath();\n }\n },\n setFillAndStrokeStyleToContext: function setFillAndStrokeStyleToContext(graphics, paintType, color) {\n const context = graphics.ctx,\n current = graphics.current;\n\n switch (paintType) {\n case PaintType.COLORED:\n var ctx = this.ctx;\n context.fillStyle = ctx.fillStyle;\n context.strokeStyle = ctx.strokeStyle;\n current.fillColor = ctx.fillStyle;\n current.strokeColor = ctx.strokeStyle;\n break;\n\n case PaintType.UNCOLORED:\n var cssColor = _util.Util.makeCssRgb(color[0], color[1], color[2]);\n\n context.fillStyle = cssColor;\n context.strokeStyle = cssColor;\n current.fillColor = cssColor;\n current.strokeColor = cssColor;\n break;\n\n default:\n throw new _util.FormatError(`Unsupported paint type: ${paintType}`);\n }\n },\n getPattern: function TilingPattern_getPattern(ctx, owner) {\n ctx = this.ctx;\n ctx.setTransform.apply(ctx, this.baseTransform);\n ctx.transform.apply(ctx, this.matrix);\n var temporaryPatternCanvas = this.createPatternCanvas(owner);\n return ctx.createPattern(temporaryPatternCanvas, \"repeat\");\n }\n };\n return TilingPattern;\n}();\n\nexports.TilingPattern = TilingPattern;\n\n/***/ }),\n/* 10 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.GlobalWorkerOptions = void 0;\nconst GlobalWorkerOptions = Object.create(null);\nexports.GlobalWorkerOptions = GlobalWorkerOptions;\nGlobalWorkerOptions.workerPort = GlobalWorkerOptions.workerPort === undefined ? null : GlobalWorkerOptions.workerPort;\nGlobalWorkerOptions.workerSrc = GlobalWorkerOptions.workerSrc === undefined ? \"\" : GlobalWorkerOptions.workerSrc;\n\n/***/ }),\n/* 11 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.MessageHandler = void 0;\n\nvar _util = __w_pdfjs_require__(2);\n\nconst CallbackKind = {\n UNKNOWN: 0,\n DATA: 1,\n ERROR: 2\n};\nconst StreamKind = {\n UNKNOWN: 0,\n CANCEL: 1,\n CANCEL_COMPLETE: 2,\n CLOSE: 3,\n ENQUEUE: 4,\n ERROR: 5,\n PULL: 6,\n PULL_COMPLETE: 7,\n START_COMPLETE: 8\n};\n\nfunction wrapReason(reason) {\n if (typeof reason !== \"object\" || reason === null) {\n return reason;\n }\n\n switch (reason.name) {\n case \"AbortException\":\n return new _util.AbortException(reason.message);\n\n case \"MissingPDFException\":\n return new _util.MissingPDFException(reason.message);\n\n case \"UnexpectedResponseException\":\n return new _util.UnexpectedResponseException(reason.message, reason.status);\n\n case \"UnknownErrorException\":\n return new _util.UnknownErrorException(reason.message, reason.details);\n\n default:\n return new _util.UnknownErrorException(reason.message, reason.toString());\n }\n}\n\nclass MessageHandler {\n constructor(sourceName, targetName, comObj) {\n this.sourceName = sourceName;\n this.targetName = targetName;\n this.comObj = comObj;\n this.callbackId = 1;\n this.streamId = 1;\n this.postMessageTransfers = true;\n this.streamSinks = Object.create(null);\n this.streamControllers = Object.create(null);\n this.callbackCapabilities = Object.create(null);\n this.actionHandler = Object.create(null);\n\n this._onComObjOnMessage = event => {\n const data = event.data;\n\n if (data.targetName !== this.sourceName) {\n return;\n }\n\n if (data.stream) {\n this._processStreamMessage(data);\n\n return;\n }\n\n if (data.callback) {\n const callbackId = data.callbackId;\n const capability = this.callbackCapabilities[callbackId];\n\n if (!capability) {\n throw new Error(`Cannot resolve callback ${callbackId}`);\n }\n\n delete this.callbackCapabilities[callbackId];\n\n if (data.callback === CallbackKind.DATA) {\n capability.resolve(data.data);\n } else if (data.callback === CallbackKind.ERROR) {\n capability.reject(wrapReason(data.reason));\n } else {\n throw new Error(\"Unexpected callback case\");\n }\n\n return;\n }\n\n const action = this.actionHandler[data.action];\n\n if (!action) {\n throw new Error(`Unknown action from worker: ${data.action}`);\n }\n\n if (data.callbackId) {\n const cbSourceName = this.sourceName;\n const cbTargetName = data.sourceName;\n new Promise(function (resolve) {\n resolve(action(data.data));\n }).then(function (result) {\n comObj.postMessage({\n sourceName: cbSourceName,\n targetName: cbTargetName,\n callback: CallbackKind.DATA,\n callbackId: data.callbackId,\n data: result\n });\n }, function (reason) {\n comObj.postMessage({\n sourceName: cbSourceName,\n targetName: cbTargetName,\n callback: CallbackKind.ERROR,\n callbackId: data.callbackId,\n reason: wrapReason(reason)\n });\n });\n return;\n }\n\n if (data.streamId) {\n this._createStreamSink(data);\n\n return;\n }\n\n action(data.data);\n };\n\n comObj.addEventListener(\"message\", this._onComObjOnMessage);\n }\n\n on(actionName, handler) {\n const ah = this.actionHandler;\n\n if (ah[actionName]) {\n throw new Error(`There is already an actionName called \"${actionName}\"`);\n }\n\n ah[actionName] = handler;\n }\n\n send(actionName, data, transfers) {\n this._postMessage({\n sourceName: this.sourceName,\n targetName: this.targetName,\n action: actionName,\n data\n }, transfers);\n }\n\n sendWithPromise(actionName, data, transfers) {\n const callbackId = this.callbackId++;\n const capability = (0, _util.createPromiseCapability)();\n this.callbackCapabilities[callbackId] = capability;\n\n try {\n this._postMessage({\n sourceName: this.sourceName,\n targetName: this.targetName,\n action: actionName,\n callbackId,\n data\n }, transfers);\n } catch (ex) {\n capability.reject(ex);\n }\n\n return capability.promise;\n }\n\n sendWithStream(actionName, data, queueingStrategy, transfers) {\n const streamId = this.streamId++;\n const sourceName = this.sourceName;\n const targetName = this.targetName;\n const comObj = this.comObj;\n return new ReadableStream({\n start: controller => {\n const startCapability = (0, _util.createPromiseCapability)();\n this.streamControllers[streamId] = {\n controller,\n startCall: startCapability,\n pullCall: null,\n cancelCall: null,\n isClosed: false\n };\n\n this._postMessage({\n sourceName,\n targetName,\n action: actionName,\n streamId,\n data,\n desiredSize: controller.desiredSize\n }, transfers);\n\n return startCapability.promise;\n },\n pull: controller => {\n const pullCapability = (0, _util.createPromiseCapability)();\n this.streamControllers[streamId].pullCall = pullCapability;\n comObj.postMessage({\n sourceName,\n targetName,\n stream: StreamKind.PULL,\n streamId,\n desiredSize: controller.desiredSize\n });\n return pullCapability.promise;\n },\n cancel: reason => {\n (0, _util.assert)(reason instanceof Error, \"cancel must have a valid reason\");\n const cancelCapability = (0, _util.createPromiseCapability)();\n this.streamControllers[streamId].cancelCall = cancelCapability;\n this.streamControllers[streamId].isClosed = true;\n comObj.postMessage({\n sourceName,\n targetName,\n stream: StreamKind.CANCEL,\n streamId,\n reason: wrapReason(reason)\n });\n return cancelCapability.promise;\n }\n }, queueingStrategy);\n }\n\n _createStreamSink(data) {\n const self = this;\n const action = this.actionHandler[data.action];\n const streamId = data.streamId;\n const sourceName = this.sourceName;\n const targetName = data.sourceName;\n const comObj = this.comObj;\n const streamSink = {\n enqueue(chunk, size = 1, transfers) {\n if (this.isCancelled) {\n return;\n }\n\n const lastDesiredSize = this.desiredSize;\n this.desiredSize -= size;\n\n if (lastDesiredSize > 0 && this.desiredSize <= 0) {\n this.sinkCapability = (0, _util.createPromiseCapability)();\n this.ready = this.sinkCapability.promise;\n }\n\n self._postMessage({\n sourceName,\n targetName,\n stream: StreamKind.ENQUEUE,\n streamId,\n chunk\n }, transfers);\n },\n\n close() {\n if (this.isCancelled) {\n return;\n }\n\n this.isCancelled = true;\n comObj.postMessage({\n sourceName,\n targetName,\n stream: StreamKind.CLOSE,\n streamId\n });\n delete self.streamSinks[streamId];\n },\n\n error(reason) {\n (0, _util.assert)(reason instanceof Error, \"error must have a valid reason\");\n\n if (this.isCancelled) {\n return;\n }\n\n this.isCancelled = true;\n comObj.postMessage({\n sourceName,\n targetName,\n stream: StreamKind.ERROR,\n streamId,\n reason: wrapReason(reason)\n });\n },\n\n sinkCapability: (0, _util.createPromiseCapability)(),\n onPull: null,\n onCancel: null,\n isCancelled: false,\n desiredSize: data.desiredSize,\n ready: null\n };\n streamSink.sinkCapability.resolve();\n streamSink.ready = streamSink.sinkCapability.promise;\n this.streamSinks[streamId] = streamSink;\n new Promise(function (resolve) {\n resolve(action(data.data, streamSink));\n }).then(function () {\n comObj.postMessage({\n sourceName,\n targetName,\n stream: StreamKind.START_COMPLETE,\n streamId,\n success: true\n });\n }, function (reason) {\n comObj.postMessage({\n sourceName,\n targetName,\n stream: StreamKind.START_COMPLETE,\n streamId,\n reason: wrapReason(reason)\n });\n });\n }\n\n _processStreamMessage(data) {\n const streamId = data.streamId;\n const sourceName = this.sourceName;\n const targetName = data.sourceName;\n const comObj = this.comObj;\n\n switch (data.stream) {\n case StreamKind.START_COMPLETE:\n if (data.success) {\n this.streamControllers[streamId].startCall.resolve();\n } else {\n this.streamControllers[streamId].startCall.reject(wrapReason(data.reason));\n }\n\n break;\n\n case StreamKind.PULL_COMPLETE:\n if (data.success) {\n this.streamControllers[streamId].pullCall.resolve();\n } else {\n this.streamControllers[streamId].pullCall.reject(wrapReason(data.reason));\n }\n\n break;\n\n case StreamKind.PULL:\n if (!this.streamSinks[streamId]) {\n comObj.postMessage({\n sourceName,\n targetName,\n stream: StreamKind.PULL_COMPLETE,\n streamId,\n success: true\n });\n break;\n }\n\n if (this.streamSinks[streamId].desiredSize <= 0 && data.desiredSize > 0) {\n this.streamSinks[streamId].sinkCapability.resolve();\n }\n\n this.streamSinks[streamId].desiredSize = data.desiredSize;\n const {\n onPull\n } = this.streamSinks[data.streamId];\n new Promise(function (resolve) {\n resolve(onPull && onPull());\n }).then(function () {\n comObj.postMessage({\n sourceName,\n targetName,\n stream: StreamKind.PULL_COMPLETE,\n streamId,\n success: true\n });\n }, function (reason) {\n comObj.postMessage({\n sourceName,\n targetName,\n stream: StreamKind.PULL_COMPLETE,\n streamId,\n reason: wrapReason(reason)\n });\n });\n break;\n\n case StreamKind.ENQUEUE:\n (0, _util.assert)(this.streamControllers[streamId], \"enqueue should have stream controller\");\n\n if (this.streamControllers[streamId].isClosed) {\n break;\n }\n\n this.streamControllers[streamId].controller.enqueue(data.chunk);\n break;\n\n case StreamKind.CLOSE:\n (0, _util.assert)(this.streamControllers[streamId], \"close should have stream controller\");\n\n if (this.streamControllers[streamId].isClosed) {\n break;\n }\n\n this.streamControllers[streamId].isClosed = true;\n this.streamControllers[streamId].controller.close();\n\n this._deleteStreamController(streamId);\n\n break;\n\n case StreamKind.ERROR:\n (0, _util.assert)(this.streamControllers[streamId], \"error should have stream controller\");\n this.streamControllers[streamId].controller.error(wrapReason(data.reason));\n\n this._deleteStreamController(streamId);\n\n break;\n\n case StreamKind.CANCEL_COMPLETE:\n if (data.success) {\n this.streamControllers[streamId].cancelCall.resolve();\n } else {\n this.streamControllers[streamId].cancelCall.reject(wrapReason(data.reason));\n }\n\n this._deleteStreamController(streamId);\n\n break;\n\n case StreamKind.CANCEL:\n if (!this.streamSinks[streamId]) {\n break;\n }\n\n const {\n onCancel\n } = this.streamSinks[data.streamId];\n new Promise(function (resolve) {\n resolve(onCancel && onCancel(wrapReason(data.reason)));\n }).then(function () {\n comObj.postMessage({\n sourceName,\n targetName,\n stream: StreamKind.CANCEL_COMPLETE,\n streamId,\n success: true\n });\n }, function (reason) {\n comObj.postMessage({\n sourceName,\n targetName,\n stream: StreamKind.CANCEL_COMPLETE,\n streamId,\n reason: wrapReason(reason)\n });\n });\n this.streamSinks[streamId].sinkCapability.reject(wrapReason(data.reason));\n this.streamSinks[streamId].isCancelled = true;\n delete this.streamSinks[streamId];\n break;\n\n default:\n throw new Error(\"Unexpected stream case\");\n }\n }\n\n async _deleteStreamController(streamId) {\n await Promise.allSettled([this.streamControllers[streamId].startCall, this.streamControllers[streamId].pullCall, this.streamControllers[streamId].cancelCall].map(function (capability) {\n return capability && capability.promise;\n }));\n delete this.streamControllers[streamId];\n }\n\n _postMessage(message, transfers) {\n if (transfers && this.postMessageTransfers) {\n this.comObj.postMessage(message, transfers);\n } else {\n this.comObj.postMessage(message);\n }\n }\n\n destroy() {\n this.comObj.removeEventListener(\"message\", this._onComObjOnMessage);\n }\n\n}\n\nexports.MessageHandler = MessageHandler;\n\n/***/ }),\n/* 12 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Metadata = void 0;\n\nvar _util = __w_pdfjs_require__(2);\n\nvar _xml_parser = __w_pdfjs_require__(13);\n\nclass Metadata {\n constructor(data) {\n (0, _util.assert)(typeof data === \"string\", \"Metadata: input is not a string\");\n data = this._repair(data);\n const parser = new _xml_parser.SimpleXMLParser();\n const xmlDocument = parser.parseFromString(data);\n this._metadataMap = new Map();\n\n if (xmlDocument) {\n this._parse(xmlDocument);\n }\n }\n\n _repair(data) {\n return data.replace(/^[^<]+/, \"\").replace(/>\\\\376\\\\377([^<]+)/g, function (all, codes) {\n const bytes = codes.replace(/\\\\([0-3])([0-7])([0-7])/g, function (code, d1, d2, d3) {\n return String.fromCharCode(d1 * 64 + d2 * 8 + d3 * 1);\n }).replace(/&(amp|apos|gt|lt|quot);/g, function (str, name) {\n switch (name) {\n case \"amp\":\n return \"&\";\n\n case \"apos\":\n return \"'\";\n\n case \"gt\":\n return \">\";\n\n case \"lt\":\n return \"<\";\n\n case \"quot\":\n return '\"';\n }\n\n throw new Error(`_repair: ${name} isn't defined.`);\n });\n let chars = \"\";\n\n for (let i = 0, ii = bytes.length; i < ii; i += 2) {\n const code = bytes.charCodeAt(i) * 256 + bytes.charCodeAt(i + 1);\n\n if (code >= 32 && code < 127 && code !== 60 && code !== 62 && code !== 38) {\n chars += String.fromCharCode(code);\n } else {\n chars += \"&#x\" + (0x10000 + code).toString(16).substring(1) + \";\";\n }\n }\n\n return \">\" + chars;\n });\n }\n\n _parse(xmlDocument) {\n let rdf = xmlDocument.documentElement;\n\n if (rdf.nodeName.toLowerCase() !== \"rdf:rdf\") {\n rdf = rdf.firstChild;\n\n while (rdf && rdf.nodeName.toLowerCase() !== \"rdf:rdf\") {\n rdf = rdf.nextSibling;\n }\n }\n\n const nodeName = rdf ? rdf.nodeName.toLowerCase() : null;\n\n if (!rdf || nodeName !== \"rdf:rdf\" || !rdf.hasChildNodes()) {\n return;\n }\n\n const children = rdf.childNodes;\n\n for (let i = 0, ii = children.length; i < ii; i++) {\n const desc = children[i];\n\n if (desc.nodeName.toLowerCase() !== \"rdf:description\") {\n continue;\n }\n\n for (let j = 0, jj = desc.childNodes.length; j < jj; j++) {\n if (desc.childNodes[j].nodeName.toLowerCase() !== \"#text\") {\n const entry = desc.childNodes[j];\n const name = entry.nodeName.toLowerCase();\n\n this._metadataMap.set(name, entry.textContent.trim());\n }\n }\n }\n }\n\n get(name) {\n return this._metadataMap.has(name) ? this._metadataMap.get(name) : null;\n }\n\n getAll() {\n const obj = Object.create(null);\n\n for (const [key, value] of this._metadataMap) {\n obj[key] = value;\n }\n\n return obj;\n }\n\n has(name) {\n return this._metadataMap.has(name);\n }\n\n}\n\nexports.Metadata = Metadata;\n\n/***/ }),\n/* 13 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.SimpleXMLParser = void 0;\nconst XMLParserErrorCode = {\n NoError: 0,\n EndOfDocument: -1,\n UnterminatedCdat: -2,\n UnterminatedXmlDeclaration: -3,\n UnterminatedDoctypeDeclaration: -4,\n UnterminatedComment: -5,\n MalformedElement: -6,\n OutOfMemory: -7,\n UnterminatedAttributeValue: -8,\n UnterminatedElement: -9,\n ElementNeverBegun: -10\n};\n\nfunction isWhitespace(s, index) {\n const ch = s[index];\n return ch === \" \" || ch === \"\\n\" || ch === \"\\r\" || ch === \"\\t\";\n}\n\nfunction isWhitespaceString(s) {\n for (let i = 0, ii = s.length; i < ii; i++) {\n if (!isWhitespace(s, i)) {\n return false;\n }\n }\n\n return true;\n}\n\nclass XMLParserBase {\n _resolveEntities(s) {\n return s.replace(/&([^;]+);/g, (all, entity) => {\n if (entity.substring(0, 2) === \"#x\") {\n return String.fromCharCode(parseInt(entity.substring(2), 16));\n } else if (entity.substring(0, 1) === \"#\") {\n return String.fromCharCode(parseInt(entity.substring(1), 10));\n }\n\n switch (entity) {\n case \"lt\":\n return \"<\";\n\n case \"gt\":\n return \">\";\n\n case \"amp\":\n return \"&\";\n\n case \"quot\":\n return '\"';\n }\n\n return this.onResolveEntity(entity);\n });\n }\n\n _parseContent(s, start) {\n const attributes = [];\n let pos = start;\n\n function skipWs() {\n while (pos < s.length && isWhitespace(s, pos)) {\n ++pos;\n }\n }\n\n while (pos < s.length && !isWhitespace(s, pos) && s[pos] !== \">\" && s[pos] !== \"/\") {\n ++pos;\n }\n\n const name = s.substring(start, pos);\n skipWs();\n\n while (pos < s.length && s[pos] !== \">\" && s[pos] !== \"/\" && s[pos] !== \"?\") {\n skipWs();\n let attrName = \"\",\n attrValue = \"\";\n\n while (pos < s.length && !isWhitespace(s, pos) && s[pos] !== \"=\") {\n attrName += s[pos];\n ++pos;\n }\n\n skipWs();\n\n if (s[pos] !== \"=\") {\n return null;\n }\n\n ++pos;\n skipWs();\n const attrEndChar = s[pos];\n\n if (attrEndChar !== '\"' && attrEndChar !== \"'\") {\n return null;\n }\n\n const attrEndIndex = s.indexOf(attrEndChar, ++pos);\n\n if (attrEndIndex < 0) {\n return null;\n }\n\n attrValue = s.substring(pos, attrEndIndex);\n attributes.push({\n name: attrName,\n value: this._resolveEntities(attrValue)\n });\n pos = attrEndIndex + 1;\n skipWs();\n }\n\n return {\n name,\n attributes,\n parsed: pos - start\n };\n }\n\n _parseProcessingInstruction(s, start) {\n let pos = start;\n\n function skipWs() {\n while (pos < s.length && isWhitespace(s, pos)) {\n ++pos;\n }\n }\n\n while (pos < s.length && !isWhitespace(s, pos) && s[pos] !== \">\" && s[pos] !== \"/\") {\n ++pos;\n }\n\n const name = s.substring(start, pos);\n skipWs();\n const attrStart = pos;\n\n while (pos < s.length && (s[pos] !== \"?\" || s[pos + 1] !== \">\")) {\n ++pos;\n }\n\n const value = s.substring(attrStart, pos);\n return {\n name,\n value,\n parsed: pos - start\n };\n }\n\n parseXml(s) {\n let i = 0;\n\n while (i < s.length) {\n const ch = s[i];\n let j = i;\n\n if (ch === \"<\") {\n ++j;\n const ch2 = s[j];\n let q;\n\n switch (ch2) {\n case \"/\":\n ++j;\n q = s.indexOf(\">\", j);\n\n if (q < 0) {\n this.onError(XMLParserErrorCode.UnterminatedElement);\n return;\n }\n\n this.onEndElement(s.substring(j, q));\n j = q + 1;\n break;\n\n case \"?\":\n ++j;\n\n const pi = this._parseProcessingInstruction(s, j);\n\n if (s.substring(j + pi.parsed, j + pi.parsed + 2) !== \"?>\") {\n this.onError(XMLParserErrorCode.UnterminatedXmlDeclaration);\n return;\n }\n\n this.onPi(pi.name, pi.value);\n j += pi.parsed + 2;\n break;\n\n case \"!\":\n if (s.substring(j + 1, j + 3) === \"--\") {\n q = s.indexOf(\"-->\", j + 3);\n\n if (q < 0) {\n this.onError(XMLParserErrorCode.UnterminatedComment);\n return;\n }\n\n this.onComment(s.substring(j + 3, q));\n j = q + 3;\n } else if (s.substring(j + 1, j + 8) === \"[CDATA[\") {\n q = s.indexOf(\"]]>\", j + 8);\n\n if (q < 0) {\n this.onError(XMLParserErrorCode.UnterminatedCdat);\n return;\n }\n\n this.onCdata(s.substring(j + 8, q));\n j = q + 3;\n } else if (s.substring(j + 1, j + 8) === \"DOCTYPE\") {\n const q2 = s.indexOf(\"[\", j + 8);\n let complexDoctype = false;\n q = s.indexOf(\">\", j + 8);\n\n if (q < 0) {\n this.onError(XMLParserErrorCode.UnterminatedDoctypeDeclaration);\n return;\n }\n\n if (q2 > 0 && q > q2) {\n q = s.indexOf(\"]>\", j + 8);\n\n if (q < 0) {\n this.onError(XMLParserErrorCode.UnterminatedDoctypeDeclaration);\n return;\n }\n\n complexDoctype = true;\n }\n\n const doctypeContent = s.substring(j + 8, q + (complexDoctype ? 1 : 0));\n this.onDoctype(doctypeContent);\n j = q + (complexDoctype ? 2 : 1);\n } else {\n this.onError(XMLParserErrorCode.MalformedElement);\n return;\n }\n\n break;\n\n default:\n const content = this._parseContent(s, j);\n\n if (content === null) {\n this.onError(XMLParserErrorCode.MalformedElement);\n return;\n }\n\n let isClosed = false;\n\n if (s.substring(j + content.parsed, j + content.parsed + 2) === \"/>\") {\n isClosed = true;\n } else if (s.substring(j + content.parsed, j + content.parsed + 1) !== \">\") {\n this.onError(XMLParserErrorCode.UnterminatedElement);\n return;\n }\n\n this.onBeginElement(content.name, content.attributes, isClosed);\n j += content.parsed + (isClosed ? 2 : 1);\n break;\n }\n } else {\n while (j < s.length && s[j] !== \"<\") {\n j++;\n }\n\n const text = s.substring(i, j);\n this.onText(this._resolveEntities(text));\n }\n\n i = j;\n }\n }\n\n onResolveEntity(name) {\n return `&${name};`;\n }\n\n onPi(name, value) {}\n\n onComment(text) {}\n\n onCdata(text) {}\n\n onDoctype(doctypeContent) {}\n\n onText(text) {}\n\n onBeginElement(name, attributes, isEmpty) {}\n\n onEndElement(name) {}\n\n onError(code) {}\n\n}\n\nclass SimpleDOMNode {\n constructor(nodeName, nodeValue) {\n this.nodeName = nodeName;\n this.nodeValue = nodeValue;\n Object.defineProperty(this, \"parentNode\", {\n value: null,\n writable: true\n });\n }\n\n get firstChild() {\n return this.childNodes && this.childNodes[0];\n }\n\n get nextSibling() {\n const childNodes = this.parentNode.childNodes;\n\n if (!childNodes) {\n return undefined;\n }\n\n const index = childNodes.indexOf(this);\n\n if (index === -1) {\n return undefined;\n }\n\n return childNodes[index + 1];\n }\n\n get textContent() {\n if (!this.childNodes) {\n return this.nodeValue || \"\";\n }\n\n return this.childNodes.map(function (child) {\n return child.textContent;\n }).join(\"\");\n }\n\n hasChildNodes() {\n return this.childNodes && this.childNodes.length > 0;\n }\n\n}\n\nclass SimpleXMLParser extends XMLParserBase {\n constructor() {\n super();\n this._currentFragment = null;\n this._stack = null;\n this._errorCode = XMLParserErrorCode.NoError;\n }\n\n parseFromString(data) {\n this._currentFragment = [];\n this._stack = [];\n this._errorCode = XMLParserErrorCode.NoError;\n this.parseXml(data);\n\n if (this._errorCode !== XMLParserErrorCode.NoError) {\n return undefined;\n }\n\n const [documentElement] = this._currentFragment;\n\n if (!documentElement) {\n return undefined;\n }\n\n return {\n documentElement\n };\n }\n\n onResolveEntity(name) {\n switch (name) {\n case \"apos\":\n return \"'\";\n }\n\n return super.onResolveEntity(name);\n }\n\n onText(text) {\n if (isWhitespaceString(text)) {\n return;\n }\n\n const node = new SimpleDOMNode(\"#text\", text);\n\n this._currentFragment.push(node);\n }\n\n onCdata(text) {\n const node = new SimpleDOMNode(\"#text\", text);\n\n this._currentFragment.push(node);\n }\n\n onBeginElement(name, attributes, isEmpty) {\n const node = new SimpleDOMNode(name);\n node.childNodes = [];\n\n this._currentFragment.push(node);\n\n if (isEmpty) {\n return;\n }\n\n this._stack.push(this._currentFragment);\n\n this._currentFragment = node.childNodes;\n }\n\n onEndElement(name) {\n this._currentFragment = this._stack.pop() || [];\n const lastElement = this._currentFragment[this._currentFragment.length - 1];\n\n if (!lastElement) {\n return;\n }\n\n for (let i = 0, ii = lastElement.childNodes.length; i < ii; i++) {\n lastElement.childNodes[i].parentNode = lastElement;\n }\n }\n\n onError(code) {\n this._errorCode = code;\n }\n\n}\n\nexports.SimpleXMLParser = SimpleXMLParser;\n\n/***/ }),\n/* 14 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.PDFDataTransportStream = void 0;\n\nvar _util = __w_pdfjs_require__(2);\n\nclass PDFDataTransportStream {\n constructor(params, pdfDataRangeTransport) {\n (0, _util.assert)(pdfDataRangeTransport, 'PDFDataTransportStream - missing required \"pdfDataRangeTransport\" argument.');\n this._queuedChunks = [];\n this._progressiveDone = params.progressiveDone || false;\n const initialData = params.initialData;\n\n if (initialData && initialData.length > 0) {\n const buffer = new Uint8Array(initialData).buffer;\n\n this._queuedChunks.push(buffer);\n }\n\n this._pdfDataRangeTransport = pdfDataRangeTransport;\n this._isStreamingSupported = !params.disableStream;\n this._isRangeSupported = !params.disableRange;\n this._contentLength = params.length;\n this._fullRequestReader = null;\n this._rangeReaders = [];\n\n this._pdfDataRangeTransport.addRangeListener((begin, chunk) => {\n this._onReceiveData({\n begin,\n chunk\n });\n });\n\n this._pdfDataRangeTransport.addProgressListener((loaded, total) => {\n this._onProgress({\n loaded,\n total\n });\n });\n\n this._pdfDataRangeTransport.addProgressiveReadListener(chunk => {\n this._onReceiveData({\n chunk\n });\n });\n\n this._pdfDataRangeTransport.addProgressiveDoneListener(() => {\n this._onProgressiveDone();\n });\n\n this._pdfDataRangeTransport.transportReady();\n }\n\n _onReceiveData(args) {\n const buffer = new Uint8Array(args.chunk).buffer;\n\n if (args.begin === undefined) {\n if (this._fullRequestReader) {\n this._fullRequestReader._enqueue(buffer);\n } else {\n this._queuedChunks.push(buffer);\n }\n } else {\n const found = this._rangeReaders.some(function (rangeReader) {\n if (rangeReader._begin !== args.begin) {\n return false;\n }\n\n rangeReader._enqueue(buffer);\n\n return true;\n });\n\n (0, _util.assert)(found, \"_onReceiveData - no `PDFDataTransportStreamRangeReader` instance found.\");\n }\n }\n\n get _progressiveDataLength() {\n return this._fullRequestReader ? this._fullRequestReader._loaded : 0;\n }\n\n _onProgress(evt) {\n if (evt.total === undefined) {\n const firstReader = this._rangeReaders[0];\n\n if (firstReader && firstReader.onProgress) {\n firstReader.onProgress({\n loaded: evt.loaded\n });\n }\n } else {\n const fullReader = this._fullRequestReader;\n\n if (fullReader && fullReader.onProgress) {\n fullReader.onProgress({\n loaded: evt.loaded,\n total: evt.total\n });\n }\n }\n }\n\n _onProgressiveDone() {\n if (this._fullRequestReader) {\n this._fullRequestReader.progressiveDone();\n }\n\n this._progressiveDone = true;\n }\n\n _removeRangeReader(reader) {\n const i = this._rangeReaders.indexOf(reader);\n\n if (i >= 0) {\n this._rangeReaders.splice(i, 1);\n }\n }\n\n getFullReader() {\n (0, _util.assert)(!this._fullRequestReader, \"PDFDataTransportStream.getFullReader can only be called once.\");\n const queuedChunks = this._queuedChunks;\n this._queuedChunks = null;\n return new PDFDataTransportStreamReader(this, queuedChunks, this._progressiveDone);\n }\n\n getRangeReader(begin, end) {\n if (end <= this._progressiveDataLength) {\n return null;\n }\n\n const reader = new PDFDataTransportStreamRangeReader(this, begin, end);\n\n this._pdfDataRangeTransport.requestDataRange(begin, end);\n\n this._rangeReaders.push(reader);\n\n return reader;\n }\n\n cancelAllRequests(reason) {\n if (this._fullRequestReader) {\n this._fullRequestReader.cancel(reason);\n }\n\n const readers = this._rangeReaders.slice(0);\n\n readers.forEach(function (rangeReader) {\n rangeReader.cancel(reason);\n });\n\n this._pdfDataRangeTransport.abort();\n }\n\n}\n\nexports.PDFDataTransportStream = PDFDataTransportStream;\n\nclass PDFDataTransportStreamReader {\n constructor(stream, queuedChunks, progressiveDone = false) {\n this._stream = stream;\n this._done = progressiveDone || false;\n this._filename = null;\n this._queuedChunks = queuedChunks || [];\n this._loaded = 0;\n\n for (const chunk of this._queuedChunks) {\n this._loaded += chunk.byteLength;\n }\n\n this._requests = [];\n this._headersReady = Promise.resolve();\n stream._fullRequestReader = this;\n this.onProgress = null;\n }\n\n _enqueue(chunk) {\n if (this._done) {\n return;\n }\n\n if (this._requests.length > 0) {\n const requestCapability = this._requests.shift();\n\n requestCapability.resolve({\n value: chunk,\n done: false\n });\n } else {\n this._queuedChunks.push(chunk);\n }\n\n this._loaded += chunk.byteLength;\n }\n\n get headersReady() {\n return this._headersReady;\n }\n\n get filename() {\n return this._filename;\n }\n\n get isRangeSupported() {\n return this._stream._isRangeSupported;\n }\n\n get isStreamingSupported() {\n return this._stream._isStreamingSupported;\n }\n\n get contentLength() {\n return this._stream._contentLength;\n }\n\n async read() {\n if (this._queuedChunks.length > 0) {\n const chunk = this._queuedChunks.shift();\n\n return {\n value: chunk,\n done: false\n };\n }\n\n if (this._done) {\n return {\n value: undefined,\n done: true\n };\n }\n\n const requestCapability = (0, _util.createPromiseCapability)();\n\n this._requests.push(requestCapability);\n\n return requestCapability.promise;\n }\n\n cancel(reason) {\n this._done = true;\n\n this._requests.forEach(function (requestCapability) {\n requestCapability.resolve({\n value: undefined,\n done: true\n });\n });\n\n this._requests = [];\n }\n\n progressiveDone() {\n if (this._done) {\n return;\n }\n\n this._done = true;\n }\n\n}\n\nclass PDFDataTransportStreamRangeReader {\n constructor(stream, begin, end) {\n this._stream = stream;\n this._begin = begin;\n this._end = end;\n this._queuedChunk = null;\n this._requests = [];\n this._done = false;\n this.onProgress = null;\n }\n\n _enqueue(chunk) {\n if (this._done) {\n return;\n }\n\n if (this._requests.length === 0) {\n this._queuedChunk = chunk;\n } else {\n const requestsCapability = this._requests.shift();\n\n requestsCapability.resolve({\n value: chunk,\n done: false\n });\n\n this._requests.forEach(function (requestCapability) {\n requestCapability.resolve({\n value: undefined,\n done: true\n });\n });\n\n this._requests = [];\n }\n\n this._done = true;\n\n this._stream._removeRangeReader(this);\n }\n\n get isStreamingSupported() {\n return false;\n }\n\n async read() {\n if (this._queuedChunk) {\n const chunk = this._queuedChunk;\n this._queuedChunk = null;\n return {\n value: chunk,\n done: false\n };\n }\n\n if (this._done) {\n return {\n value: undefined,\n done: true\n };\n }\n\n const requestCapability = (0, _util.createPromiseCapability)();\n\n this._requests.push(requestCapability);\n\n return requestCapability.promise;\n }\n\n cancel(reason) {\n this._done = true;\n\n this._requests.forEach(function (requestCapability) {\n requestCapability.resolve({\n value: undefined,\n done: true\n });\n });\n\n this._requests = [];\n\n this._stream._removeRangeReader(this);\n }\n\n}\n\n/***/ }),\n/* 15 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.WebGLContext = void 0;\n\nvar _util = __w_pdfjs_require__(2);\n\nclass WebGLContext {\n constructor({\n enable = false\n }) {\n this._enabled = enable === true;\n }\n\n get isEnabled() {\n let enabled = this._enabled;\n\n if (enabled) {\n enabled = WebGLUtils.tryInitGL();\n }\n\n return (0, _util.shadow)(this, \"isEnabled\", enabled);\n }\n\n composeSMask({\n layer,\n mask,\n properties\n }) {\n return WebGLUtils.composeSMask(layer, mask, properties);\n }\n\n drawFigures({\n width,\n height,\n backgroundColor,\n figures,\n context\n }) {\n return WebGLUtils.drawFigures(width, height, backgroundColor, figures, context);\n }\n\n clear() {\n WebGLUtils.cleanup();\n }\n\n}\n\nexports.WebGLContext = WebGLContext;\n\nvar WebGLUtils = function WebGLUtilsClosure() {\n function loadShader(gl, code, shaderType) {\n var shader = gl.createShader(shaderType);\n gl.shaderSource(shader, code);\n gl.compileShader(shader);\n var compiled = gl.getShaderParameter(shader, gl.COMPILE_STATUS);\n\n if (!compiled) {\n var errorMsg = gl.getShaderInfoLog(shader);\n throw new Error(\"Error during shader compilation: \" + errorMsg);\n }\n\n return shader;\n }\n\n function createVertexShader(gl, code) {\n return loadShader(gl, code, gl.VERTEX_SHADER);\n }\n\n function createFragmentShader(gl, code) {\n return loadShader(gl, code, gl.FRAGMENT_SHADER);\n }\n\n function createProgram(gl, shaders) {\n var program = gl.createProgram();\n\n for (var i = 0, ii = shaders.length; i < ii; ++i) {\n gl.attachShader(program, shaders[i]);\n }\n\n gl.linkProgram(program);\n var linked = gl.getProgramParameter(program, gl.LINK_STATUS);\n\n if (!linked) {\n var errorMsg = gl.getProgramInfoLog(program);\n throw new Error(\"Error during program linking: \" + errorMsg);\n }\n\n return program;\n }\n\n function createTexture(gl, image, textureId) {\n gl.activeTexture(textureId);\n var texture = gl.createTexture();\n gl.bindTexture(gl.TEXTURE_2D, texture);\n gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_S, gl.CLAMP_TO_EDGE);\n gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_T, gl.CLAMP_TO_EDGE);\n gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MIN_FILTER, gl.NEAREST);\n gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MAG_FILTER, gl.NEAREST);\n gl.texImage2D(gl.TEXTURE_2D, 0, gl.RGBA, gl.RGBA, gl.UNSIGNED_BYTE, image);\n return texture;\n }\n\n var currentGL, currentCanvas;\n\n function generateGL() {\n if (currentGL) {\n return;\n }\n\n currentCanvas = document.createElement(\"canvas\");\n currentGL = currentCanvas.getContext(\"webgl\", {\n premultipliedalpha: false\n });\n }\n\n var smaskVertexShaderCode = \"\\\n attribute vec2 a_position; \\\n attribute vec2 a_texCoord; \\\n \\\n uniform vec2 u_resolution; \\\n \\\n varying vec2 v_texCoord; \\\n \\\n void main() { \\\n vec2 clipSpace = (a_position / u_resolution) * 2.0 - 1.0; \\\n gl_Position = vec4(clipSpace * vec2(1, -1), 0, 1); \\\n \\\n v_texCoord = a_texCoord; \\\n } \";\n var smaskFragmentShaderCode = \"\\\n precision mediump float; \\\n \\\n uniform vec4 u_backdrop; \\\n uniform int u_subtype; \\\n uniform sampler2D u_image; \\\n uniform sampler2D u_mask; \\\n \\\n varying vec2 v_texCoord; \\\n \\\n void main() { \\\n vec4 imageColor = texture2D(u_image, v_texCoord); \\\n vec4 maskColor = texture2D(u_mask, v_texCoord); \\\n if (u_backdrop.a > 0.0) { \\\n maskColor.rgb = maskColor.rgb * maskColor.a + \\\n u_backdrop.rgb * (1.0 - maskColor.a); \\\n } \\\n float lum; \\\n if (u_subtype == 0) { \\\n lum = maskColor.a; \\\n } else { \\\n lum = maskColor.r * 0.3 + maskColor.g * 0.59 + \\\n maskColor.b * 0.11; \\\n } \\\n imageColor.a *= lum; \\\n imageColor.rgb *= imageColor.a; \\\n gl_FragColor = imageColor; \\\n } \";\n var smaskCache = null;\n\n function initSmaskGL() {\n var canvas, gl;\n generateGL();\n canvas = currentCanvas;\n currentCanvas = null;\n gl = currentGL;\n currentGL = null;\n var vertexShader = createVertexShader(gl, smaskVertexShaderCode);\n var fragmentShader = createFragmentShader(gl, smaskFragmentShaderCode);\n var program = createProgram(gl, [vertexShader, fragmentShader]);\n gl.useProgram(program);\n var cache = {};\n cache.gl = gl;\n cache.canvas = canvas;\n cache.resolutionLocation = gl.getUniformLocation(program, \"u_resolution\");\n cache.positionLocation = gl.getAttribLocation(program, \"a_position\");\n cache.backdropLocation = gl.getUniformLocation(program, \"u_backdrop\");\n cache.subtypeLocation = gl.getUniformLocation(program, \"u_subtype\");\n var texCoordLocation = gl.getAttribLocation(program, \"a_texCoord\");\n var texLayerLocation = gl.getUniformLocation(program, \"u_image\");\n var texMaskLocation = gl.getUniformLocation(program, \"u_mask\");\n var texCoordBuffer = gl.createBuffer();\n gl.bindBuffer(gl.ARRAY_BUFFER, texCoordBuffer);\n gl.bufferData(gl.ARRAY_BUFFER, new Float32Array([0.0, 0.0, 1.0, 0.0, 0.0, 1.0, 0.0, 1.0, 1.0, 0.0, 1.0, 1.0]), gl.STATIC_DRAW);\n gl.enableVertexAttribArray(texCoordLocation);\n gl.vertexAttribPointer(texCoordLocation, 2, gl.FLOAT, false, 0, 0);\n gl.uniform1i(texLayerLocation, 0);\n gl.uniform1i(texMaskLocation, 1);\n smaskCache = cache;\n }\n\n function composeSMask(layer, mask, properties) {\n var width = layer.width,\n height = layer.height;\n\n if (!smaskCache) {\n initSmaskGL();\n }\n\n var cache = smaskCache,\n canvas = cache.canvas,\n gl = cache.gl;\n canvas.width = width;\n canvas.height = height;\n gl.viewport(0, 0, gl.drawingBufferWidth, gl.drawingBufferHeight);\n gl.uniform2f(cache.resolutionLocation, width, height);\n\n if (properties.backdrop) {\n gl.uniform4f(cache.resolutionLocation, properties.backdrop[0], properties.backdrop[1], properties.backdrop[2], 1);\n } else {\n gl.uniform4f(cache.resolutionLocation, 0, 0, 0, 0);\n }\n\n gl.uniform1i(cache.subtypeLocation, properties.subtype === \"Luminosity\" ? 1 : 0);\n var texture = createTexture(gl, layer, gl.TEXTURE0);\n var maskTexture = createTexture(gl, mask, gl.TEXTURE1);\n var buffer = gl.createBuffer();\n gl.bindBuffer(gl.ARRAY_BUFFER, buffer);\n gl.bufferData(gl.ARRAY_BUFFER, new Float32Array([0, 0, width, 0, 0, height, 0, height, width, 0, width, height]), gl.STATIC_DRAW);\n gl.enableVertexAttribArray(cache.positionLocation);\n gl.vertexAttribPointer(cache.positionLocation, 2, gl.FLOAT, false, 0, 0);\n gl.clearColor(0, 0, 0, 0);\n gl.enable(gl.BLEND);\n gl.blendFunc(gl.ONE, gl.ONE_MINUS_SRC_ALPHA);\n gl.clear(gl.COLOR_BUFFER_BIT);\n gl.drawArrays(gl.TRIANGLES, 0, 6);\n gl.flush();\n gl.deleteTexture(texture);\n gl.deleteTexture(maskTexture);\n gl.deleteBuffer(buffer);\n return canvas;\n }\n\n var figuresVertexShaderCode = \"\\\n attribute vec2 a_position; \\\n attribute vec3 a_color; \\\n \\\n uniform vec2 u_resolution; \\\n uniform vec2 u_scale; \\\n uniform vec2 u_offset; \\\n \\\n varying vec4 v_color; \\\n \\\n void main() { \\\n vec2 position = (a_position + u_offset) * u_scale; \\\n vec2 clipSpace = (position / u_resolution) * 2.0 - 1.0; \\\n gl_Position = vec4(clipSpace * vec2(1, -1), 0, 1); \\\n \\\n v_color = vec4(a_color / 255.0, 1.0); \\\n } \";\n var figuresFragmentShaderCode = \"\\\n precision mediump float; \\\n \\\n varying vec4 v_color; \\\n \\\n void main() { \\\n gl_FragColor = v_color; \\\n } \";\n var figuresCache = null;\n\n function initFiguresGL() {\n var canvas, gl;\n generateGL();\n canvas = currentCanvas;\n currentCanvas = null;\n gl = currentGL;\n currentGL = null;\n var vertexShader = createVertexShader(gl, figuresVertexShaderCode);\n var fragmentShader = createFragmentShader(gl, figuresFragmentShaderCode);\n var program = createProgram(gl, [vertexShader, fragmentShader]);\n gl.useProgram(program);\n var cache = {};\n cache.gl = gl;\n cache.canvas = canvas;\n cache.resolutionLocation = gl.getUniformLocation(program, \"u_resolution\");\n cache.scaleLocation = gl.getUniformLocation(program, \"u_scale\");\n cache.offsetLocation = gl.getUniformLocation(program, \"u_offset\");\n cache.positionLocation = gl.getAttribLocation(program, \"a_position\");\n cache.colorLocation = gl.getAttribLocation(program, \"a_color\");\n figuresCache = cache;\n }\n\n function drawFigures(width, height, backgroundColor, figures, context) {\n if (!figuresCache) {\n initFiguresGL();\n }\n\n var cache = figuresCache,\n canvas = cache.canvas,\n gl = cache.gl;\n canvas.width = width;\n canvas.height = height;\n gl.viewport(0, 0, gl.drawingBufferWidth, gl.drawingBufferHeight);\n gl.uniform2f(cache.resolutionLocation, width, height);\n var count = 0;\n var i, ii, rows;\n\n for (i = 0, ii = figures.length; i < ii; i++) {\n switch (figures[i].type) {\n case \"lattice\":\n rows = figures[i].coords.length / figures[i].verticesPerRow | 0;\n count += (rows - 1) * (figures[i].verticesPerRow - 1) * 6;\n break;\n\n case \"triangles\":\n count += figures[i].coords.length;\n break;\n }\n }\n\n var coords = new Float32Array(count * 2);\n var colors = new Uint8Array(count * 3);\n var coordsMap = context.coords,\n colorsMap = context.colors;\n var pIndex = 0,\n cIndex = 0;\n\n for (i = 0, ii = figures.length; i < ii; i++) {\n var figure = figures[i],\n ps = figure.coords,\n cs = figure.colors;\n\n switch (figure.type) {\n case \"lattice\":\n var cols = figure.verticesPerRow;\n rows = ps.length / cols | 0;\n\n for (var row = 1; row < rows; row++) {\n var offset = row * cols + 1;\n\n for (var col = 1; col < cols; col++, offset++) {\n coords[pIndex] = coordsMap[ps[offset - cols - 1]];\n coords[pIndex + 1] = coordsMap[ps[offset - cols - 1] + 1];\n coords[pIndex + 2] = coordsMap[ps[offset - cols]];\n coords[pIndex + 3] = coordsMap[ps[offset - cols] + 1];\n coords[pIndex + 4] = coordsMap[ps[offset - 1]];\n coords[pIndex + 5] = coordsMap[ps[offset - 1] + 1];\n colors[cIndex] = colorsMap[cs[offset - cols - 1]];\n colors[cIndex + 1] = colorsMap[cs[offset - cols - 1] + 1];\n colors[cIndex + 2] = colorsMap[cs[offset - cols - 1] + 2];\n colors[cIndex + 3] = colorsMap[cs[offset - cols]];\n colors[cIndex + 4] = colorsMap[cs[offset - cols] + 1];\n colors[cIndex + 5] = colorsMap[cs[offset - cols] + 2];\n colors[cIndex + 6] = colorsMap[cs[offset - 1]];\n colors[cIndex + 7] = colorsMap[cs[offset - 1] + 1];\n colors[cIndex + 8] = colorsMap[cs[offset - 1] + 2];\n coords[pIndex + 6] = coords[pIndex + 2];\n coords[pIndex + 7] = coords[pIndex + 3];\n coords[pIndex + 8] = coords[pIndex + 4];\n coords[pIndex + 9] = coords[pIndex + 5];\n coords[pIndex + 10] = coordsMap[ps[offset]];\n coords[pIndex + 11] = coordsMap[ps[offset] + 1];\n colors[cIndex + 9] = colors[cIndex + 3];\n colors[cIndex + 10] = colors[cIndex + 4];\n colors[cIndex + 11] = colors[cIndex + 5];\n colors[cIndex + 12] = colors[cIndex + 6];\n colors[cIndex + 13] = colors[cIndex + 7];\n colors[cIndex + 14] = colors[cIndex + 8];\n colors[cIndex + 15] = colorsMap[cs[offset]];\n colors[cIndex + 16] = colorsMap[cs[offset] + 1];\n colors[cIndex + 17] = colorsMap[cs[offset] + 2];\n pIndex += 12;\n cIndex += 18;\n }\n }\n\n break;\n\n case \"triangles\":\n for (var j = 0, jj = ps.length; j < jj; j++) {\n coords[pIndex] = coordsMap[ps[j]];\n coords[pIndex + 1] = coordsMap[ps[j] + 1];\n colors[cIndex] = colorsMap[cs[j]];\n colors[cIndex + 1] = colorsMap[cs[j] + 1];\n colors[cIndex + 2] = colorsMap[cs[j] + 2];\n pIndex += 2;\n cIndex += 3;\n }\n\n break;\n }\n }\n\n if (backgroundColor) {\n gl.clearColor(backgroundColor[0] / 255, backgroundColor[1] / 255, backgroundColor[2] / 255, 1.0);\n } else {\n gl.clearColor(0, 0, 0, 0);\n }\n\n gl.clear(gl.COLOR_BUFFER_BIT);\n var coordsBuffer = gl.createBuffer();\n gl.bindBuffer(gl.ARRAY_BUFFER, coordsBuffer);\n gl.bufferData(gl.ARRAY_BUFFER, coords, gl.STATIC_DRAW);\n gl.enableVertexAttribArray(cache.positionLocation);\n gl.vertexAttribPointer(cache.positionLocation, 2, gl.FLOAT, false, 0, 0);\n var colorsBuffer = gl.createBuffer();\n gl.bindBuffer(gl.ARRAY_BUFFER, colorsBuffer);\n gl.bufferData(gl.ARRAY_BUFFER, colors, gl.STATIC_DRAW);\n gl.enableVertexAttribArray(cache.colorLocation);\n gl.vertexAttribPointer(cache.colorLocation, 3, gl.UNSIGNED_BYTE, false, 0, 0);\n gl.uniform2f(cache.scaleLocation, context.scaleX, context.scaleY);\n gl.uniform2f(cache.offsetLocation, context.offsetX, context.offsetY);\n gl.drawArrays(gl.TRIANGLES, 0, count);\n gl.flush();\n gl.deleteBuffer(coordsBuffer);\n gl.deleteBuffer(colorsBuffer);\n return canvas;\n }\n\n return {\n tryInitGL() {\n try {\n generateGL();\n return !!currentGL;\n } catch (ex) {}\n\n return false;\n },\n\n composeSMask,\n drawFigures,\n\n cleanup() {\n if (smaskCache && smaskCache.canvas) {\n smaskCache.canvas.width = 0;\n smaskCache.canvas.height = 0;\n }\n\n if (figuresCache && figuresCache.canvas) {\n figuresCache.canvas.width = 0;\n figuresCache.canvas.height = 0;\n }\n\n smaskCache = null;\n figuresCache = null;\n }\n\n };\n}();\n\n/***/ }),\n/* 16 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.AnnotationLayer = void 0;\n\nvar _display_utils = __w_pdfjs_require__(1);\n\nvar _util = __w_pdfjs_require__(2);\n\nclass AnnotationElementFactory {\n static create(parameters) {\n const subtype = parameters.data.annotationType;\n\n switch (subtype) {\n case _util.AnnotationType.LINK:\n return new LinkAnnotationElement(parameters);\n\n case _util.AnnotationType.TEXT:\n return new TextAnnotationElement(parameters);\n\n case _util.AnnotationType.WIDGET:\n const fieldType = parameters.data.fieldType;\n\n switch (fieldType) {\n case \"Tx\":\n return new TextWidgetAnnotationElement(parameters);\n\n case \"Btn\":\n if (parameters.data.radioButton) {\n return new RadioButtonWidgetAnnotationElement(parameters);\n } else if (parameters.data.checkBox) {\n return new CheckboxWidgetAnnotationElement(parameters);\n }\n\n return new PushButtonWidgetAnnotationElement(parameters);\n\n case \"Ch\":\n return new ChoiceWidgetAnnotationElement(parameters);\n }\n\n return new WidgetAnnotationElement(parameters);\n\n case _util.AnnotationType.POPUP:\n return new PopupAnnotationElement(parameters);\n\n case _util.AnnotationType.FREETEXT:\n return new FreeTextAnnotationElement(parameters);\n\n case _util.AnnotationType.LINE:\n return new LineAnnotationElement(parameters);\n\n case _util.AnnotationType.SQUARE:\n return new SquareAnnotationElement(parameters);\n\n case _util.AnnotationType.CIRCLE:\n return new CircleAnnotationElement(parameters);\n\n case _util.AnnotationType.POLYLINE:\n return new PolylineAnnotationElement(parameters);\n\n case _util.AnnotationType.CARET:\n return new CaretAnnotationElement(parameters);\n\n case _util.AnnotationType.INK:\n return new InkAnnotationElement(parameters);\n\n case _util.AnnotationType.POLYGON:\n return new PolygonAnnotationElement(parameters);\n\n case _util.AnnotationType.HIGHLIGHT:\n return new HighlightAnnotationElement(parameters);\n\n case _util.AnnotationType.UNDERLINE:\n return new UnderlineAnnotationElement(parameters);\n\n case _util.AnnotationType.SQUIGGLY:\n return new SquigglyAnnotationElement(parameters);\n\n case _util.AnnotationType.STRIKEOUT:\n return new StrikeOutAnnotationElement(parameters);\n\n case _util.AnnotationType.STAMP:\n return new StampAnnotationElement(parameters);\n\n case _util.AnnotationType.FILEATTACHMENT:\n return new FileAttachmentAnnotationElement(parameters);\n\n default:\n return new AnnotationElement(parameters);\n }\n }\n\n}\n\nclass AnnotationElement {\n constructor(parameters, isRenderable = false, ignoreBorder = false) {\n this.isRenderable = isRenderable;\n this.data = parameters.data;\n this.layer = parameters.layer;\n this.page = parameters.page;\n this.viewport = parameters.viewport;\n this.linkService = parameters.linkService;\n this.downloadManager = parameters.downloadManager;\n this.imageResourcesPath = parameters.imageResourcesPath;\n this.renderInteractiveForms = parameters.renderInteractiveForms;\n this.svgFactory = parameters.svgFactory;\n\n if (isRenderable) {\n this.container = this._createContainer(ignoreBorder);\n }\n }\n\n _createContainer(ignoreBorder = false) {\n const data = this.data,\n page = this.page,\n viewport = this.viewport;\n const container = document.createElement(\"section\");\n let width = data.rect[2] - data.rect[0];\n let height = data.rect[3] - data.rect[1];\n container.setAttribute(\"data-annotation-id\", data.id);\n\n const rect = _util.Util.normalizeRect([data.rect[0], page.view[3] - data.rect[1] + page.view[1], data.rect[2], page.view[3] - data.rect[3] + page.view[1]]);\n\n container.style.transform = `matrix(${viewport.transform.join(\",\")})`;\n container.style.transformOrigin = `-${rect[0]}px -${rect[1]}px`;\n\n if (!ignoreBorder && data.borderStyle.width > 0) {\n container.style.borderWidth = `${data.borderStyle.width}px`;\n\n if (data.borderStyle.style !== _util.AnnotationBorderStyleType.UNDERLINE) {\n width = width - 2 * data.borderStyle.width;\n height = height - 2 * data.borderStyle.width;\n }\n\n const horizontalRadius = data.borderStyle.horizontalCornerRadius;\n const verticalRadius = data.borderStyle.verticalCornerRadius;\n\n if (horizontalRadius > 0 || verticalRadius > 0) {\n const radius = `${horizontalRadius}px / ${verticalRadius}px`;\n container.style.borderRadius = radius;\n }\n\n switch (data.borderStyle.style) {\n case _util.AnnotationBorderStyleType.SOLID:\n container.style.borderStyle = \"solid\";\n break;\n\n case _util.AnnotationBorderStyleType.DASHED:\n container.style.borderStyle = \"dashed\";\n break;\n\n case _util.AnnotationBorderStyleType.BEVELED:\n (0, _util.warn)(\"Unimplemented border style: beveled\");\n break;\n\n case _util.AnnotationBorderStyleType.INSET:\n (0, _util.warn)(\"Unimplemented border style: inset\");\n break;\n\n case _util.AnnotationBorderStyleType.UNDERLINE:\n container.style.borderBottomStyle = \"solid\";\n break;\n\n default:\n break;\n }\n\n if (data.color) {\n container.style.borderColor = _util.Util.makeCssRgb(data.color[0] | 0, data.color[1] | 0, data.color[2] | 0);\n } else {\n container.style.borderWidth = 0;\n }\n }\n\n container.style.left = `${rect[0]}px`;\n container.style.top = `${rect[1]}px`;\n container.style.width = `${width}px`;\n container.style.height = `${height}px`;\n return container;\n }\n\n _createPopup(container, trigger, data) {\n if (!trigger) {\n trigger = document.createElement(\"div\");\n trigger.style.height = container.style.height;\n trigger.style.width = container.style.width;\n container.appendChild(trigger);\n }\n\n const popupElement = new PopupElement({\n container,\n trigger,\n color: data.color,\n title: data.title,\n modificationDate: data.modificationDate,\n contents: data.contents,\n hideWrapper: true\n });\n const popup = popupElement.render();\n popup.style.left = container.style.width;\n container.appendChild(popup);\n }\n\n render() {\n (0, _util.unreachable)(\"Abstract method `AnnotationElement.render` called\");\n }\n\n}\n\nclass LinkAnnotationElement extends AnnotationElement {\n constructor(parameters) {\n const isRenderable = !!(parameters.data.url || parameters.data.dest || parameters.data.action);\n super(parameters, isRenderable);\n }\n\n render() {\n this.container.className = \"linkAnnotation\";\n const {\n data,\n linkService\n } = this;\n const link = document.createElement(\"a\");\n\n if (data.url) {\n (0, _display_utils.addLinkAttributes)(link, {\n url: data.url,\n target: data.newWindow ? _display_utils.LinkTarget.BLANK : linkService.externalLinkTarget,\n rel: linkService.externalLinkRel,\n enabled: linkService.externalLinkEnabled\n });\n } else if (data.action) {\n this._bindNamedAction(link, data.action);\n } else {\n this._bindLink(link, data.dest);\n }\n\n this.container.appendChild(link);\n return this.container;\n }\n\n _bindLink(link, destination) {\n link.href = this.linkService.getDestinationHash(destination);\n\n link.onclick = () => {\n if (destination) {\n this.linkService.navigateTo(destination);\n }\n\n return false;\n };\n\n if (destination) {\n link.className = \"internalLink\";\n }\n }\n\n _bindNamedAction(link, action) {\n link.href = this.linkService.getAnchorUrl(\"\");\n\n link.onclick = () => {\n this.linkService.executeNamedAction(action);\n return false;\n };\n\n link.className = \"internalLink\";\n }\n\n}\n\nclass TextAnnotationElement extends AnnotationElement {\n constructor(parameters) {\n const isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n super(parameters, isRenderable);\n }\n\n render() {\n this.container.className = \"textAnnotation\";\n const image = document.createElement(\"img\");\n image.style.height = this.container.style.height;\n image.style.width = this.container.style.width;\n image.src = this.imageResourcesPath + \"annotation-\" + this.data.name.toLowerCase() + \".svg\";\n image.alt = \"[{{type}} Annotation]\";\n image.dataset.l10nId = \"text_annotation_type\";\n image.dataset.l10nArgs = JSON.stringify({\n type: this.data.name\n });\n\n if (!this.data.hasPopup) {\n this._createPopup(this.container, image, this.data);\n }\n\n this.container.appendChild(image);\n return this.container;\n }\n\n}\n\nclass WidgetAnnotationElement extends AnnotationElement {\n render() {\n return this.container;\n }\n\n}\n\nclass TextWidgetAnnotationElement extends WidgetAnnotationElement {\n constructor(parameters) {\n const isRenderable = parameters.renderInteractiveForms || !parameters.data.hasAppearance && !!parameters.data.fieldValue;\n super(parameters, isRenderable);\n }\n\n render() {\n const TEXT_ALIGNMENT = [\"left\", \"center\", \"right\"];\n this.container.className = \"textWidgetAnnotation\";\n let element = null;\n\n if (this.renderInteractiveForms) {\n if (this.data.multiLine) {\n element = document.createElement(\"textarea\");\n element.textContent = this.data.fieldValue;\n } else {\n element = document.createElement(\"input\");\n element.type = \"text\";\n element.setAttribute(\"value\", this.data.fieldValue);\n }\n\n element.disabled = this.data.readOnly;\n element.name = this.data.fieldName;\n\n if (this.data.maxLen !== null) {\n element.maxLength = this.data.maxLen;\n }\n\n if (this.data.comb) {\n const fieldWidth = this.data.rect[2] - this.data.rect[0];\n const combWidth = fieldWidth / this.data.maxLen;\n element.classList.add(\"comb\");\n element.style.letterSpacing = `calc(${combWidth}px - 1ch)`;\n }\n } else {\n element = document.createElement(\"div\");\n element.textContent = this.data.fieldValue;\n element.style.verticalAlign = \"middle\";\n element.style.display = \"table-cell\";\n let font = null;\n\n if (this.data.fontRefName && this.page.commonObjs.has(this.data.fontRefName)) {\n font = this.page.commonObjs.get(this.data.fontRefName);\n }\n\n this._setTextStyle(element, font);\n }\n\n if (this.data.textAlignment !== null) {\n element.style.textAlign = TEXT_ALIGNMENT[this.data.textAlignment];\n }\n\n this.container.appendChild(element);\n return this.container;\n }\n\n _setTextStyle(element, font) {\n const style = element.style;\n style.fontSize = `${this.data.fontSize}px`;\n style.direction = this.data.fontDirection < 0 ? \"rtl\" : \"ltr\";\n\n if (!font) {\n return;\n }\n\n let bold = \"normal\";\n\n if (font.black) {\n bold = \"900\";\n } else if (font.bold) {\n bold = \"bold\";\n }\n\n style.fontWeight = bold;\n style.fontStyle = font.italic ? \"italic\" : \"normal\";\n const fontFamily = font.loadedName ? `\"${font.loadedName}\", ` : \"\";\n const fallbackName = font.fallbackName || \"Helvetica, sans-serif\";\n style.fontFamily = fontFamily + fallbackName;\n }\n\n}\n\nclass CheckboxWidgetAnnotationElement extends WidgetAnnotationElement {\n constructor(parameters) {\n super(parameters, parameters.renderInteractiveForms);\n }\n\n render() {\n this.container.className = \"buttonWidgetAnnotation checkBox\";\n const element = document.createElement(\"input\");\n element.disabled = this.data.readOnly;\n element.type = \"checkbox\";\n element.name = this.data.fieldName;\n\n if (this.data.fieldValue && this.data.fieldValue !== \"Off\") {\n element.setAttribute(\"checked\", true);\n }\n\n this.container.appendChild(element);\n return this.container;\n }\n\n}\n\nclass RadioButtonWidgetAnnotationElement extends WidgetAnnotationElement {\n constructor(parameters) {\n super(parameters, parameters.renderInteractiveForms);\n }\n\n render() {\n this.container.className = \"buttonWidgetAnnotation radioButton\";\n const element = document.createElement(\"input\");\n element.disabled = this.data.readOnly;\n element.type = \"radio\";\n element.name = this.data.fieldName;\n\n if (this.data.fieldValue === this.data.buttonValue) {\n element.setAttribute(\"checked\", true);\n }\n\n this.container.appendChild(element);\n return this.container;\n }\n\n}\n\nclass PushButtonWidgetAnnotationElement extends LinkAnnotationElement {\n render() {\n const container = super.render();\n container.className = \"buttonWidgetAnnotation pushButton\";\n return container;\n }\n\n}\n\nclass ChoiceWidgetAnnotationElement extends WidgetAnnotationElement {\n constructor(parameters) {\n super(parameters, parameters.renderInteractiveForms);\n }\n\n render() {\n this.container.className = \"choiceWidgetAnnotation\";\n const selectElement = document.createElement(\"select\");\n selectElement.disabled = this.data.readOnly;\n selectElement.name = this.data.fieldName;\n\n if (!this.data.combo) {\n selectElement.size = this.data.options.length;\n\n if (this.data.multiSelect) {\n selectElement.multiple = true;\n }\n }\n\n for (const option of this.data.options) {\n const optionElement = document.createElement(\"option\");\n optionElement.textContent = option.displayValue;\n optionElement.value = option.exportValue;\n\n if (this.data.fieldValue.includes(option.displayValue)) {\n optionElement.setAttribute(\"selected\", true);\n }\n\n selectElement.appendChild(optionElement);\n }\n\n this.container.appendChild(selectElement);\n return this.container;\n }\n\n}\n\nclass PopupAnnotationElement extends AnnotationElement {\n constructor(parameters) {\n const isRenderable = !!(parameters.data.title || parameters.data.contents);\n super(parameters, isRenderable);\n }\n\n render() {\n const IGNORE_TYPES = [\"Line\", \"Square\", \"Circle\", \"PolyLine\", \"Polygon\", \"Ink\"];\n this.container.className = \"popupAnnotation\";\n\n if (IGNORE_TYPES.includes(this.data.parentType)) {\n return this.container;\n }\n\n const selector = `[data-annotation-id=\"${this.data.parentId}\"]`;\n const parentElement = this.layer.querySelector(selector);\n\n if (!parentElement) {\n return this.container;\n }\n\n const popup = new PopupElement({\n container: this.container,\n trigger: parentElement,\n color: this.data.color,\n title: this.data.title,\n modificationDate: this.data.modificationDate,\n contents: this.data.contents\n });\n const parentLeft = parseFloat(parentElement.style.left);\n const parentWidth = parseFloat(parentElement.style.width);\n this.container.style.transformOrigin = `-${parentLeft + parentWidth}px -${parentElement.style.top}`;\n this.container.style.left = `${parentLeft + parentWidth}px`;\n this.container.appendChild(popup.render());\n return this.container;\n }\n\n}\n\nclass PopupElement {\n constructor(parameters) {\n this.container = parameters.container;\n this.trigger = parameters.trigger;\n this.color = parameters.color;\n this.title = parameters.title;\n this.modificationDate = parameters.modificationDate;\n this.contents = parameters.contents;\n this.hideWrapper = parameters.hideWrapper || false;\n this.pinned = false;\n }\n\n render() {\n const BACKGROUND_ENLIGHT = 0.7;\n const wrapper = document.createElement(\"div\");\n wrapper.className = \"popupWrapper\";\n this.hideElement = this.hideWrapper ? wrapper : this.container;\n this.hideElement.setAttribute(\"hidden\", true);\n const popup = document.createElement(\"div\");\n popup.className = \"popup\";\n const color = this.color;\n\n if (color) {\n const r = BACKGROUND_ENLIGHT * (255 - color[0]) + color[0];\n const g = BACKGROUND_ENLIGHT * (255 - color[1]) + color[1];\n const b = BACKGROUND_ENLIGHT * (255 - color[2]) + color[2];\n popup.style.backgroundColor = _util.Util.makeCssRgb(r | 0, g | 0, b | 0);\n }\n\n const title = document.createElement(\"h1\");\n title.textContent = this.title;\n popup.appendChild(title);\n\n const dateObject = _display_utils.PDFDateString.toDateObject(this.modificationDate);\n\n if (dateObject) {\n const modificationDate = document.createElement(\"span\");\n modificationDate.textContent = \"{{date}}, {{time}}\";\n modificationDate.dataset.l10nId = \"annotation_date_string\";\n modificationDate.dataset.l10nArgs = JSON.stringify({\n date: dateObject.toLocaleDateString(),\n time: dateObject.toLocaleTimeString()\n });\n popup.appendChild(modificationDate);\n }\n\n const contents = this._formatContents(this.contents);\n\n popup.appendChild(contents);\n this.trigger.addEventListener(\"click\", this._toggle.bind(this));\n this.trigger.addEventListener(\"mouseover\", this._show.bind(this, false));\n this.trigger.addEventListener(\"mouseout\", this._hide.bind(this, false));\n popup.addEventListener(\"click\", this._hide.bind(this, true));\n wrapper.appendChild(popup);\n return wrapper;\n }\n\n _formatContents(contents) {\n const p = document.createElement(\"p\");\n const lines = contents.split(/(?:\\r\\n?|\\n)/);\n\n for (let i = 0, ii = lines.length; i < ii; ++i) {\n const line = lines[i];\n p.appendChild(document.createTextNode(line));\n\n if (i < ii - 1) {\n p.appendChild(document.createElement(\"br\"));\n }\n }\n\n return p;\n }\n\n _toggle() {\n if (this.pinned) {\n this._hide(true);\n } else {\n this._show(true);\n }\n }\n\n _show(pin = false) {\n if (pin) {\n this.pinned = true;\n }\n\n if (this.hideElement.hasAttribute(\"hidden\")) {\n this.hideElement.removeAttribute(\"hidden\");\n this.container.style.zIndex += 1;\n }\n }\n\n _hide(unpin = true) {\n if (unpin) {\n this.pinned = false;\n }\n\n if (!this.hideElement.hasAttribute(\"hidden\") && !this.pinned) {\n this.hideElement.setAttribute(\"hidden\", true);\n this.container.style.zIndex -= 1;\n }\n }\n\n}\n\nclass FreeTextAnnotationElement extends AnnotationElement {\n constructor(parameters) {\n const isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n super(parameters, isRenderable, true);\n }\n\n render() {\n this.container.className = \"freeTextAnnotation\";\n\n if (!this.data.hasPopup) {\n this._createPopup(this.container, null, this.data);\n }\n\n return this.container;\n }\n\n}\n\nclass LineAnnotationElement extends AnnotationElement {\n constructor(parameters) {\n const isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n super(parameters, isRenderable, true);\n }\n\n render() {\n this.container.className = \"lineAnnotation\";\n const data = this.data;\n const width = data.rect[2] - data.rect[0];\n const height = data.rect[3] - data.rect[1];\n const svg = this.svgFactory.create(width, height);\n const line = this.svgFactory.createElement(\"svg:line\");\n line.setAttribute(\"x1\", data.rect[2] - data.lineCoordinates[0]);\n line.setAttribute(\"y1\", data.rect[3] - data.lineCoordinates[1]);\n line.setAttribute(\"x2\", data.rect[2] - data.lineCoordinates[2]);\n line.setAttribute(\"y2\", data.rect[3] - data.lineCoordinates[3]);\n line.setAttribute(\"stroke-width\", data.borderStyle.width || 1);\n line.setAttribute(\"stroke\", \"transparent\");\n svg.appendChild(line);\n this.container.append(svg);\n\n this._createPopup(this.container, line, data);\n\n return this.container;\n }\n\n}\n\nclass SquareAnnotationElement extends AnnotationElement {\n constructor(parameters) {\n const isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n super(parameters, isRenderable, true);\n }\n\n render() {\n this.container.className = \"squareAnnotation\";\n const data = this.data;\n const width = data.rect[2] - data.rect[0];\n const height = data.rect[3] - data.rect[1];\n const svg = this.svgFactory.create(width, height);\n const borderWidth = data.borderStyle.width;\n const square = this.svgFactory.createElement(\"svg:rect\");\n square.setAttribute(\"x\", borderWidth / 2);\n square.setAttribute(\"y\", borderWidth / 2);\n square.setAttribute(\"width\", width - borderWidth);\n square.setAttribute(\"height\", height - borderWidth);\n square.setAttribute(\"stroke-width\", borderWidth || 1);\n square.setAttribute(\"stroke\", \"transparent\");\n square.setAttribute(\"fill\", \"none\");\n svg.appendChild(square);\n this.container.append(svg);\n\n this._createPopup(this.container, square, data);\n\n return this.container;\n }\n\n}\n\nclass CircleAnnotationElement extends AnnotationElement {\n constructor(parameters) {\n const isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n super(parameters, isRenderable, true);\n }\n\n render() {\n this.container.className = \"circleAnnotation\";\n const data = this.data;\n const width = data.rect[2] - data.rect[0];\n const height = data.rect[3] - data.rect[1];\n const svg = this.svgFactory.create(width, height);\n const borderWidth = data.borderStyle.width;\n const circle = this.svgFactory.createElement(\"svg:ellipse\");\n circle.setAttribute(\"cx\", width / 2);\n circle.setAttribute(\"cy\", height / 2);\n circle.setAttribute(\"rx\", width / 2 - borderWidth / 2);\n circle.setAttribute(\"ry\", height / 2 - borderWidth / 2);\n circle.setAttribute(\"stroke-width\", borderWidth || 1);\n circle.setAttribute(\"stroke\", \"transparent\");\n circle.setAttribute(\"fill\", \"none\");\n svg.appendChild(circle);\n this.container.append(svg);\n\n this._createPopup(this.container, circle, data);\n\n return this.container;\n }\n\n}\n\nclass PolylineAnnotationElement extends AnnotationElement {\n constructor(parameters) {\n const isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n super(parameters, isRenderable, true);\n this.containerClassName = \"polylineAnnotation\";\n this.svgElementName = \"svg:polyline\";\n }\n\n render() {\n this.container.className = this.containerClassName;\n const data = this.data;\n const width = data.rect[2] - data.rect[0];\n const height = data.rect[3] - data.rect[1];\n const svg = this.svgFactory.create(width, height);\n let points = [];\n\n for (const coordinate of data.vertices) {\n const x = coordinate.x - data.rect[0];\n const y = data.rect[3] - coordinate.y;\n points.push(x + \",\" + y);\n }\n\n points = points.join(\" \");\n const polyline = this.svgFactory.createElement(this.svgElementName);\n polyline.setAttribute(\"points\", points);\n polyline.setAttribute(\"stroke-width\", data.borderStyle.width || 1);\n polyline.setAttribute(\"stroke\", \"transparent\");\n polyline.setAttribute(\"fill\", \"none\");\n svg.appendChild(polyline);\n this.container.append(svg);\n\n this._createPopup(this.container, polyline, data);\n\n return this.container;\n }\n\n}\n\nclass PolygonAnnotationElement extends PolylineAnnotationElement {\n constructor(parameters) {\n super(parameters);\n this.containerClassName = \"polygonAnnotation\";\n this.svgElementName = \"svg:polygon\";\n }\n\n}\n\nclass CaretAnnotationElement extends AnnotationElement {\n constructor(parameters) {\n const isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n super(parameters, isRenderable, true);\n }\n\n render() {\n this.container.className = \"caretAnnotation\";\n\n if (!this.data.hasPopup) {\n this._createPopup(this.container, null, this.data);\n }\n\n return this.container;\n }\n\n}\n\nclass InkAnnotationElement extends AnnotationElement {\n constructor(parameters) {\n const isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n super(parameters, isRenderable, true);\n this.containerClassName = \"inkAnnotation\";\n this.svgElementName = \"svg:polyline\";\n }\n\n render() {\n this.container.className = this.containerClassName;\n const data = this.data;\n const width = data.rect[2] - data.rect[0];\n const height = data.rect[3] - data.rect[1];\n const svg = this.svgFactory.create(width, height);\n\n for (const inkList of data.inkLists) {\n let points = [];\n\n for (const coordinate of inkList) {\n const x = coordinate.x - data.rect[0];\n const y = data.rect[3] - coordinate.y;\n points.push(`${x},${y}`);\n }\n\n points = points.join(\" \");\n const polyline = this.svgFactory.createElement(this.svgElementName);\n polyline.setAttribute(\"points\", points);\n polyline.setAttribute(\"stroke-width\", data.borderStyle.width || 1);\n polyline.setAttribute(\"stroke\", \"transparent\");\n polyline.setAttribute(\"fill\", \"none\");\n\n this._createPopup(this.container, polyline, data);\n\n svg.appendChild(polyline);\n }\n\n this.container.append(svg);\n return this.container;\n }\n\n}\n\nclass HighlightAnnotationElement extends AnnotationElement {\n constructor(parameters) {\n const isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n super(parameters, isRenderable, true);\n }\n\n render() {\n this.container.className = \"highlightAnnotation\";\n\n if (!this.data.hasPopup) {\n this._createPopup(this.container, null, this.data);\n }\n\n return this.container;\n }\n\n}\n\nclass UnderlineAnnotationElement extends AnnotationElement {\n constructor(parameters) {\n const isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n super(parameters, isRenderable, true);\n }\n\n render() {\n this.container.className = \"underlineAnnotation\";\n\n if (!this.data.hasPopup) {\n this._createPopup(this.container, null, this.data);\n }\n\n return this.container;\n }\n\n}\n\nclass SquigglyAnnotationElement extends AnnotationElement {\n constructor(parameters) {\n const isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n super(parameters, isRenderable, true);\n }\n\n render() {\n this.container.className = \"squigglyAnnotation\";\n\n if (!this.data.hasPopup) {\n this._createPopup(this.container, null, this.data);\n }\n\n return this.container;\n }\n\n}\n\nclass StrikeOutAnnotationElement extends AnnotationElement {\n constructor(parameters) {\n const isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n super(parameters, isRenderable, true);\n }\n\n render() {\n this.container.className = \"strikeoutAnnotation\";\n\n if (!this.data.hasPopup) {\n this._createPopup(this.container, null, this.data);\n }\n\n return this.container;\n }\n\n}\n\nclass StampAnnotationElement extends AnnotationElement {\n constructor(parameters) {\n const isRenderable = !!(parameters.data.hasPopup || parameters.data.title || parameters.data.contents);\n super(parameters, isRenderable, true);\n }\n\n render() {\n this.container.className = \"stampAnnotation\";\n\n if (!this.data.hasPopup) {\n this._createPopup(this.container, null, this.data);\n }\n\n return this.container;\n }\n\n}\n\nclass FileAttachmentAnnotationElement extends AnnotationElement {\n constructor(parameters) {\n super(parameters, true);\n const {\n filename,\n content\n } = this.data.file;\n this.filename = (0, _display_utils.getFilenameFromUrl)(filename);\n this.content = content;\n\n if (this.linkService.eventBus) {\n this.linkService.eventBus.dispatch(\"fileattachmentannotation\", {\n source: this,\n id: (0, _util.stringToPDFString)(filename),\n filename,\n content\n });\n }\n }\n\n render() {\n this.container.className = \"fileAttachmentAnnotation\";\n const trigger = document.createElement(\"div\");\n trigger.style.height = this.container.style.height;\n trigger.style.width = this.container.style.width;\n trigger.addEventListener(\"dblclick\", this._download.bind(this));\n\n if (!this.data.hasPopup && (this.data.title || this.data.contents)) {\n this._createPopup(this.container, trigger, this.data);\n }\n\n this.container.appendChild(trigger);\n return this.container;\n }\n\n _download() {\n if (!this.downloadManager) {\n (0, _util.warn)(\"Download cannot be started due to unavailable download manager\");\n return;\n }\n\n this.downloadManager.downloadData(this.content, this.filename, \"\");\n }\n\n}\n\nclass AnnotationLayer {\n static render(parameters) {\n const sortedAnnotations = [],\n popupAnnotations = [];\n\n for (const data of parameters.annotations) {\n if (!data) {\n continue;\n }\n\n if (data.annotationType === _util.AnnotationType.POPUP) {\n popupAnnotations.push(data);\n continue;\n }\n\n sortedAnnotations.push(data);\n }\n\n if (popupAnnotations.length) {\n sortedAnnotations.push(...popupAnnotations);\n }\n\n for (const data of sortedAnnotations) {\n const element = AnnotationElementFactory.create({\n data,\n layer: parameters.div,\n page: parameters.page,\n viewport: parameters.viewport,\n linkService: parameters.linkService,\n downloadManager: parameters.downloadManager,\n imageResourcesPath: parameters.imageResourcesPath || \"\",\n renderInteractiveForms: parameters.renderInteractiveForms || false,\n svgFactory: new _display_utils.DOMSVGFactory()\n });\n\n if (element.isRenderable) {\n parameters.div.appendChild(element.render());\n }\n }\n }\n\n static update(parameters) {\n for (const data of parameters.annotations) {\n const element = parameters.div.querySelector(`[data-annotation-id=\"${data.id}\"]`);\n\n if (element) {\n element.style.transform = `matrix(${parameters.viewport.transform.join(\",\")})`;\n }\n }\n\n parameters.div.removeAttribute(\"hidden\");\n }\n\n}\n\nexports.AnnotationLayer = AnnotationLayer;\n\n/***/ }),\n/* 17 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.renderTextLayer = void 0;\n\nvar _util = __w_pdfjs_require__(2);\n\nvar renderTextLayer = function renderTextLayerClosure() {\n var MAX_TEXT_DIVS_TO_RENDER = 100000;\n var NonWhitespaceRegexp = /\\S/;\n\n function isAllWhitespace(str) {\n return !NonWhitespaceRegexp.test(str);\n }\n\n function appendText(task, geom, styles) {\n var textDiv = document.createElement(\"span\");\n var textDivProperties = {\n angle: 0,\n canvasWidth: 0,\n isWhitespace: false,\n originalTransform: null,\n paddingBottom: 0,\n paddingLeft: 0,\n paddingRight: 0,\n paddingTop: 0,\n scale: 1\n };\n\n task._textDivs.push(textDiv);\n\n if (isAllWhitespace(geom.str)) {\n textDivProperties.isWhitespace = true;\n\n task._textDivProperties.set(textDiv, textDivProperties);\n\n return;\n }\n\n var tx = _util.Util.transform(task._viewport.transform, geom.transform);\n\n var angle = Math.atan2(tx[1], tx[0]);\n var style = styles[geom.fontName];\n\n if (style.vertical) {\n angle += Math.PI / 2;\n }\n\n var fontHeight = Math.sqrt(tx[2] * tx[2] + tx[3] * tx[3]);\n var fontAscent = fontHeight;\n\n if (style.ascent) {\n fontAscent = style.ascent * fontAscent;\n } else if (style.descent) {\n fontAscent = (1 + style.descent) * fontAscent;\n }\n\n let left, top;\n\n if (angle === 0) {\n left = tx[4];\n top = tx[5] - fontAscent;\n } else {\n left = tx[4] + fontAscent * Math.sin(angle);\n top = tx[5] - fontAscent * Math.cos(angle);\n }\n\n textDiv.style.left = `${left}px`;\n textDiv.style.top = `${top}px`;\n textDiv.style.fontSize = `${fontHeight}px`;\n textDiv.style.fontFamily = style.fontFamily;\n textDiv.textContent = geom.str;\n\n if (task._fontInspectorEnabled) {\n textDiv.dataset.fontName = geom.fontName;\n }\n\n if (angle !== 0) {\n textDivProperties.angle = angle * (180 / Math.PI);\n }\n\n let shouldScaleText = false;\n\n if (geom.str.length > 1) {\n shouldScaleText = true;\n } else if (geom.transform[0] !== geom.transform[3]) {\n const absScaleX = Math.abs(geom.transform[0]),\n absScaleY = Math.abs(geom.transform[3]);\n\n if (absScaleX !== absScaleY && Math.max(absScaleX, absScaleY) / Math.min(absScaleX, absScaleY) > 1.5) {\n shouldScaleText = true;\n }\n }\n\n if (shouldScaleText) {\n if (style.vertical) {\n textDivProperties.canvasWidth = geom.height * task._viewport.scale;\n } else {\n textDivProperties.canvasWidth = geom.width * task._viewport.scale;\n }\n }\n\n task._textDivProperties.set(textDiv, textDivProperties);\n\n if (task._textContentStream) {\n task._layoutText(textDiv);\n }\n\n if (task._enhanceTextSelection) {\n var angleCos = 1,\n angleSin = 0;\n\n if (angle !== 0) {\n angleCos = Math.cos(angle);\n angleSin = Math.sin(angle);\n }\n\n var divWidth = (style.vertical ? geom.height : geom.width) * task._viewport.scale;\n var divHeight = fontHeight;\n var m, b;\n\n if (angle !== 0) {\n m = [angleCos, angleSin, -angleSin, angleCos, left, top];\n b = _util.Util.getAxialAlignedBoundingBox([0, 0, divWidth, divHeight], m);\n } else {\n b = [left, top, left + divWidth, top + divHeight];\n }\n\n task._bounds.push({\n left: b[0],\n top: b[1],\n right: b[2],\n bottom: b[3],\n div: textDiv,\n size: [divWidth, divHeight],\n m\n });\n }\n }\n\n function render(task) {\n if (task._canceled) {\n return;\n }\n\n var textDivs = task._textDivs;\n var capability = task._capability;\n var textDivsLength = textDivs.length;\n\n if (textDivsLength > MAX_TEXT_DIVS_TO_RENDER) {\n task._renderingDone = true;\n capability.resolve();\n return;\n }\n\n if (!task._textContentStream) {\n for (var i = 0; i < textDivsLength; i++) {\n task._layoutText(textDivs[i]);\n }\n }\n\n task._renderingDone = true;\n capability.resolve();\n }\n\n function findPositiveMin(ts, offset, count) {\n let result = 0;\n\n for (let i = 0; i < count; i++) {\n const t = ts[offset++];\n\n if (t > 0) {\n result = result ? Math.min(t, result) : t;\n }\n }\n\n return result;\n }\n\n function expand(task) {\n var bounds = task._bounds;\n var viewport = task._viewport;\n var expanded = expandBounds(viewport.width, viewport.height, bounds);\n\n for (var i = 0; i < expanded.length; i++) {\n var div = bounds[i].div;\n\n var divProperties = task._textDivProperties.get(div);\n\n if (divProperties.angle === 0) {\n divProperties.paddingLeft = bounds[i].left - expanded[i].left;\n divProperties.paddingTop = bounds[i].top - expanded[i].top;\n divProperties.paddingRight = expanded[i].right - bounds[i].right;\n divProperties.paddingBottom = expanded[i].bottom - bounds[i].bottom;\n\n task._textDivProperties.set(div, divProperties);\n\n continue;\n }\n\n var e = expanded[i],\n b = bounds[i];\n var m = b.m,\n c = m[0],\n s = m[1];\n var points = [[0, 0], [0, b.size[1]], [b.size[0], 0], b.size];\n var ts = new Float64Array(64);\n points.forEach(function (p, j) {\n var t = _util.Util.applyTransform(p, m);\n\n ts[j + 0] = c && (e.left - t[0]) / c;\n ts[j + 4] = s && (e.top - t[1]) / s;\n ts[j + 8] = c && (e.right - t[0]) / c;\n ts[j + 12] = s && (e.bottom - t[1]) / s;\n ts[j + 16] = s && (e.left - t[0]) / -s;\n ts[j + 20] = c && (e.top - t[1]) / c;\n ts[j + 24] = s && (e.right - t[0]) / -s;\n ts[j + 28] = c && (e.bottom - t[1]) / c;\n ts[j + 32] = c && (e.left - t[0]) / -c;\n ts[j + 36] = s && (e.top - t[1]) / -s;\n ts[j + 40] = c && (e.right - t[0]) / -c;\n ts[j + 44] = s && (e.bottom - t[1]) / -s;\n ts[j + 48] = s && (e.left - t[0]) / s;\n ts[j + 52] = c && (e.top - t[1]) / -c;\n ts[j + 56] = s && (e.right - t[0]) / s;\n ts[j + 60] = c && (e.bottom - t[1]) / -c;\n });\n var boxScale = 1 + Math.min(Math.abs(c), Math.abs(s));\n divProperties.paddingLeft = findPositiveMin(ts, 32, 16) / boxScale;\n divProperties.paddingTop = findPositiveMin(ts, 48, 16) / boxScale;\n divProperties.paddingRight = findPositiveMin(ts, 0, 16) / boxScale;\n divProperties.paddingBottom = findPositiveMin(ts, 16, 16) / boxScale;\n\n task._textDivProperties.set(div, divProperties);\n }\n }\n\n function expandBounds(width, height, boxes) {\n var bounds = boxes.map(function (box, i) {\n return {\n x1: box.left,\n y1: box.top,\n x2: box.right,\n y2: box.bottom,\n index: i,\n x1New: undefined,\n x2New: undefined\n };\n });\n expandBoundsLTR(width, bounds);\n var expanded = new Array(boxes.length);\n bounds.forEach(function (b) {\n var i = b.index;\n expanded[i] = {\n left: b.x1New,\n top: 0,\n right: b.x2New,\n bottom: 0\n };\n });\n boxes.map(function (box, i) {\n var e = expanded[i],\n b = bounds[i];\n b.x1 = box.top;\n b.y1 = width - e.right;\n b.x2 = box.bottom;\n b.y2 = width - e.left;\n b.index = i;\n b.x1New = undefined;\n b.x2New = undefined;\n });\n expandBoundsLTR(height, bounds);\n bounds.forEach(function (b) {\n var i = b.index;\n expanded[i].top = b.x1New;\n expanded[i].bottom = b.x2New;\n });\n return expanded;\n }\n\n function expandBoundsLTR(width, bounds) {\n bounds.sort(function (a, b) {\n return a.x1 - b.x1 || a.index - b.index;\n });\n var fakeBoundary = {\n x1: -Infinity,\n y1: -Infinity,\n x2: 0,\n y2: Infinity,\n index: -1,\n x1New: 0,\n x2New: 0\n };\n var horizon = [{\n start: -Infinity,\n end: Infinity,\n boundary: fakeBoundary\n }];\n bounds.forEach(function (boundary) {\n var i = 0;\n\n while (i < horizon.length && horizon[i].end <= boundary.y1) {\n i++;\n }\n\n var j = horizon.length - 1;\n\n while (j >= 0 && horizon[j].start >= boundary.y2) {\n j--;\n }\n\n var horizonPart, affectedBoundary;\n var q,\n k,\n maxXNew = -Infinity;\n\n for (q = i; q <= j; q++) {\n horizonPart = horizon[q];\n affectedBoundary = horizonPart.boundary;\n var xNew;\n\n if (affectedBoundary.x2 > boundary.x1) {\n xNew = affectedBoundary.index > boundary.index ? affectedBoundary.x1New : boundary.x1;\n } else if (affectedBoundary.x2New === undefined) {\n xNew = (affectedBoundary.x2 + boundary.x1) / 2;\n } else {\n xNew = affectedBoundary.x2New;\n }\n\n if (xNew > maxXNew) {\n maxXNew = xNew;\n }\n }\n\n boundary.x1New = maxXNew;\n\n for (q = i; q <= j; q++) {\n horizonPart = horizon[q];\n affectedBoundary = horizonPart.boundary;\n\n if (affectedBoundary.x2New === undefined) {\n if (affectedBoundary.x2 > boundary.x1) {\n if (affectedBoundary.index > boundary.index) {\n affectedBoundary.x2New = affectedBoundary.x2;\n }\n } else {\n affectedBoundary.x2New = maxXNew;\n }\n } else if (affectedBoundary.x2New > maxXNew) {\n affectedBoundary.x2New = Math.max(maxXNew, affectedBoundary.x2);\n }\n }\n\n var changedHorizon = [],\n lastBoundary = null;\n\n for (q = i; q <= j; q++) {\n horizonPart = horizon[q];\n affectedBoundary = horizonPart.boundary;\n var useBoundary = affectedBoundary.x2 > boundary.x2 ? affectedBoundary : boundary;\n\n if (lastBoundary === useBoundary) {\n changedHorizon[changedHorizon.length - 1].end = horizonPart.end;\n } else {\n changedHorizon.push({\n start: horizonPart.start,\n end: horizonPart.end,\n boundary: useBoundary\n });\n lastBoundary = useBoundary;\n }\n }\n\n if (horizon[i].start < boundary.y1) {\n changedHorizon[0].start = boundary.y1;\n changedHorizon.unshift({\n start: horizon[i].start,\n end: boundary.y1,\n boundary: horizon[i].boundary\n });\n }\n\n if (boundary.y2 < horizon[j].end) {\n changedHorizon[changedHorizon.length - 1].end = boundary.y2;\n changedHorizon.push({\n start: boundary.y2,\n end: horizon[j].end,\n boundary: horizon[j].boundary\n });\n }\n\n for (q = i; q <= j; q++) {\n horizonPart = horizon[q];\n affectedBoundary = horizonPart.boundary;\n\n if (affectedBoundary.x2New !== undefined) {\n continue;\n }\n\n var used = false;\n\n for (k = i - 1; !used && k >= 0 && horizon[k].start >= affectedBoundary.y1; k--) {\n used = horizon[k].boundary === affectedBoundary;\n }\n\n for (k = j + 1; !used && k < horizon.length && horizon[k].end <= affectedBoundary.y2; k++) {\n used = horizon[k].boundary === affectedBoundary;\n }\n\n for (k = 0; !used && k < changedHorizon.length; k++) {\n used = changedHorizon[k].boundary === affectedBoundary;\n }\n\n if (!used) {\n affectedBoundary.x2New = maxXNew;\n }\n }\n\n Array.prototype.splice.apply(horizon, [i, j - i + 1].concat(changedHorizon));\n });\n horizon.forEach(function (horizonPart) {\n var affectedBoundary = horizonPart.boundary;\n\n if (affectedBoundary.x2New === undefined) {\n affectedBoundary.x2New = Math.max(width, affectedBoundary.x2);\n }\n });\n }\n\n function TextLayerRenderTask({\n textContent,\n textContentStream,\n container,\n viewport,\n textDivs,\n textContentItemsStr,\n enhanceTextSelection\n }) {\n this._textContent = textContent;\n this._textContentStream = textContentStream;\n this._container = container;\n this._viewport = viewport;\n this._textDivs = textDivs || [];\n this._textContentItemsStr = textContentItemsStr || [];\n this._enhanceTextSelection = !!enhanceTextSelection;\n this._fontInspectorEnabled = !!(globalThis.FontInspector && globalThis.FontInspector.enabled);\n this._reader = null;\n this._layoutTextLastFontSize = null;\n this._layoutTextLastFontFamily = null;\n this._layoutTextCtx = null;\n this._textDivProperties = new WeakMap();\n this._renderingDone = false;\n this._canceled = false;\n this._capability = (0, _util.createPromiseCapability)();\n this._renderTimer = null;\n this._bounds = [];\n\n this._capability.promise.finally(() => {\n if (this._layoutTextCtx) {\n this._layoutTextCtx.canvas.width = 0;\n this._layoutTextCtx.canvas.height = 0;\n this._layoutTextCtx = null;\n }\n }).catch(() => {});\n }\n\n TextLayerRenderTask.prototype = {\n get promise() {\n return this._capability.promise;\n },\n\n cancel: function TextLayer_cancel() {\n this._canceled = true;\n\n if (this._reader) {\n this._reader.cancel(new _util.AbortException(\"TextLayer task cancelled.\"));\n\n this._reader = null;\n }\n\n if (this._renderTimer !== null) {\n clearTimeout(this._renderTimer);\n this._renderTimer = null;\n }\n\n this._capability.reject(new Error(\"TextLayer task cancelled.\"));\n },\n\n _processItems(items, styleCache) {\n for (let i = 0, len = items.length; i < len; i++) {\n this._textContentItemsStr.push(items[i].str);\n\n appendText(this, items[i], styleCache);\n }\n },\n\n _layoutText(textDiv) {\n const textDivProperties = this._textDivProperties.get(textDiv);\n\n if (textDivProperties.isWhitespace) {\n return;\n }\n\n let transform = \"\";\n\n if (textDivProperties.canvasWidth !== 0) {\n const {\n fontSize,\n fontFamily\n } = textDiv.style;\n\n if (fontSize !== this._layoutTextLastFontSize || fontFamily !== this._layoutTextLastFontFamily) {\n this._layoutTextCtx.font = `${fontSize} ${fontFamily}`;\n this._layoutTextLastFontSize = fontSize;\n this._layoutTextLastFontFamily = fontFamily;\n }\n\n const {\n width\n } = this._layoutTextCtx.measureText(textDiv.textContent);\n\n if (width > 0) {\n textDivProperties.scale = textDivProperties.canvasWidth / width;\n transform = `scaleX(${textDivProperties.scale})`;\n }\n }\n\n if (textDivProperties.angle !== 0) {\n transform = `rotate(${textDivProperties.angle}deg) ${transform}`;\n }\n\n if (transform.length > 0) {\n if (this._enhanceTextSelection) {\n textDivProperties.originalTransform = transform;\n }\n\n textDiv.style.transform = transform;\n }\n\n this._textDivProperties.set(textDiv, textDivProperties);\n\n this._container.appendChild(textDiv);\n },\n\n _render: function TextLayer_render(timeout) {\n const capability = (0, _util.createPromiseCapability)();\n let styleCache = Object.create(null);\n const canvas = document.createElement(\"canvas\");\n canvas.mozOpaque = true;\n this._layoutTextCtx = canvas.getContext(\"2d\", {\n alpha: false\n });\n\n if (this._textContent) {\n const textItems = this._textContent.items;\n const textStyles = this._textContent.styles;\n\n this._processItems(textItems, textStyles);\n\n capability.resolve();\n } else if (this._textContentStream) {\n const pump = () => {\n this._reader.read().then(({\n value,\n done\n }) => {\n if (done) {\n capability.resolve();\n return;\n }\n\n Object.assign(styleCache, value.styles);\n\n this._processItems(value.items, styleCache);\n\n pump();\n }, capability.reject);\n };\n\n this._reader = this._textContentStream.getReader();\n pump();\n } else {\n throw new Error('Neither \"textContent\" nor \"textContentStream\"' + \" parameters specified.\");\n }\n\n capability.promise.then(() => {\n styleCache = null;\n\n if (!timeout) {\n render(this);\n } else {\n this._renderTimer = setTimeout(() => {\n render(this);\n this._renderTimer = null;\n }, timeout);\n }\n }, this._capability.reject);\n },\n expandTextDivs: function TextLayer_expandTextDivs(expandDivs) {\n if (!this._enhanceTextSelection || !this._renderingDone) {\n return;\n }\n\n if (this._bounds !== null) {\n expand(this);\n this._bounds = null;\n }\n\n const transformBuf = [],\n paddingBuf = [];\n\n for (var i = 0, ii = this._textDivs.length; i < ii; i++) {\n const div = this._textDivs[i];\n\n const divProps = this._textDivProperties.get(div);\n\n if (divProps.isWhitespace) {\n continue;\n }\n\n if (expandDivs) {\n transformBuf.length = 0;\n paddingBuf.length = 0;\n\n if (divProps.originalTransform) {\n transformBuf.push(divProps.originalTransform);\n }\n\n if (divProps.paddingTop > 0) {\n paddingBuf.push(`${divProps.paddingTop}px`);\n transformBuf.push(`translateY(${-divProps.paddingTop}px)`);\n } else {\n paddingBuf.push(0);\n }\n\n if (divProps.paddingRight > 0) {\n paddingBuf.push(`${divProps.paddingRight / divProps.scale}px`);\n } else {\n paddingBuf.push(0);\n }\n\n if (divProps.paddingBottom > 0) {\n paddingBuf.push(`${divProps.paddingBottom}px`);\n } else {\n paddingBuf.push(0);\n }\n\n if (divProps.paddingLeft > 0) {\n paddingBuf.push(`${divProps.paddingLeft / divProps.scale}px`);\n transformBuf.push(`translateX(${-divProps.paddingLeft / divProps.scale}px)`);\n } else {\n paddingBuf.push(0);\n }\n\n div.style.padding = paddingBuf.join(\" \");\n\n if (transformBuf.length) {\n div.style.transform = transformBuf.join(\" \");\n }\n } else {\n div.style.padding = null;\n div.style.transform = divProps.originalTransform;\n }\n }\n }\n };\n\n function renderTextLayer(renderParameters) {\n var task = new TextLayerRenderTask({\n textContent: renderParameters.textContent,\n textContentStream: renderParameters.textContentStream,\n container: renderParameters.container,\n viewport: renderParameters.viewport,\n textDivs: renderParameters.textDivs,\n textContentItemsStr: renderParameters.textContentItemsStr,\n enhanceTextSelection: renderParameters.enhanceTextSelection\n });\n\n task._render(renderParameters.timeout);\n\n return task;\n }\n\n return renderTextLayer;\n}();\n\nexports.renderTextLayer = renderTextLayer;\n\n/***/ }),\n/* 18 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.SVGGraphics = void 0;\n\nvar _util = __w_pdfjs_require__(2);\n\nvar _display_utils = __w_pdfjs_require__(1);\n\nvar _is_node = __w_pdfjs_require__(4);\n\nlet SVGGraphics = function () {\n throw new Error(\"Not implemented: SVGGraphics\");\n};\n\nexports.SVGGraphics = SVGGraphics;\n{\n const SVG_DEFAULTS = {\n fontStyle: \"normal\",\n fontWeight: \"normal\",\n fillColor: \"#000000\"\n };\n const XML_NS = \"http://www.w3.org/XML/1998/namespace\";\n const XLINK_NS = \"http://www.w3.org/1999/xlink\";\n const LINE_CAP_STYLES = [\"butt\", \"round\", \"square\"];\n const LINE_JOIN_STYLES = [\"miter\", \"round\", \"bevel\"];\n\n const convertImgDataToPng = function () {\n const PNG_HEADER = new Uint8Array([0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a]);\n const CHUNK_WRAPPER_SIZE = 12;\n const crcTable = new Int32Array(256);\n\n for (let i = 0; i < 256; i++) {\n let c = i;\n\n for (let h = 0; h < 8; h++) {\n if (c & 1) {\n c = 0xedb88320 ^ c >> 1 & 0x7fffffff;\n } else {\n c = c >> 1 & 0x7fffffff;\n }\n }\n\n crcTable[i] = c;\n }\n\n function crc32(data, start, end) {\n let crc = -1;\n\n for (let i = start; i < end; i++) {\n const a = (crc ^ data[i]) & 0xff;\n const b = crcTable[a];\n crc = crc >>> 8 ^ b;\n }\n\n return crc ^ -1;\n }\n\n function writePngChunk(type, body, data, offset) {\n let p = offset;\n const len = body.length;\n data[p] = len >> 24 & 0xff;\n data[p + 1] = len >> 16 & 0xff;\n data[p + 2] = len >> 8 & 0xff;\n data[p + 3] = len & 0xff;\n p += 4;\n data[p] = type.charCodeAt(0) & 0xff;\n data[p + 1] = type.charCodeAt(1) & 0xff;\n data[p + 2] = type.charCodeAt(2) & 0xff;\n data[p + 3] = type.charCodeAt(3) & 0xff;\n p += 4;\n data.set(body, p);\n p += body.length;\n const crc = crc32(data, offset + 4, p);\n data[p] = crc >> 24 & 0xff;\n data[p + 1] = crc >> 16 & 0xff;\n data[p + 2] = crc >> 8 & 0xff;\n data[p + 3] = crc & 0xff;\n }\n\n function adler32(data, start, end) {\n let a = 1;\n let b = 0;\n\n for (let i = start; i < end; ++i) {\n a = (a + (data[i] & 0xff)) % 65521;\n b = (b + a) % 65521;\n }\n\n return b << 16 | a;\n }\n\n function deflateSync(literals) {\n if (!_is_node.isNodeJS) {\n return deflateSyncUncompressed(literals);\n }\n\n try {\n let input;\n\n if (parseInt(process.versions.node) >= 8) {\n input = literals;\n } else {\n input = Buffer.from(literals);\n }\n\n const output = require(\"zlib\").deflateSync(input, {\n level: 9\n });\n\n return output instanceof Uint8Array ? output : new Uint8Array(output);\n } catch (e) {\n (0, _util.warn)(\"Not compressing PNG because zlib.deflateSync is unavailable: \" + e);\n }\n\n return deflateSyncUncompressed(literals);\n }\n\n function deflateSyncUncompressed(literals) {\n let len = literals.length;\n const maxBlockLength = 0xffff;\n const deflateBlocks = Math.ceil(len / maxBlockLength);\n const idat = new Uint8Array(2 + len + deflateBlocks * 5 + 4);\n let pi = 0;\n idat[pi++] = 0x78;\n idat[pi++] = 0x9c;\n let pos = 0;\n\n while (len > maxBlockLength) {\n idat[pi++] = 0x00;\n idat[pi++] = 0xff;\n idat[pi++] = 0xff;\n idat[pi++] = 0x00;\n idat[pi++] = 0x00;\n idat.set(literals.subarray(pos, pos + maxBlockLength), pi);\n pi += maxBlockLength;\n pos += maxBlockLength;\n len -= maxBlockLength;\n }\n\n idat[pi++] = 0x01;\n idat[pi++] = len & 0xff;\n idat[pi++] = len >> 8 & 0xff;\n idat[pi++] = ~len & 0xffff & 0xff;\n idat[pi++] = (~len & 0xffff) >> 8 & 0xff;\n idat.set(literals.subarray(pos), pi);\n pi += literals.length - pos;\n const adler = adler32(literals, 0, literals.length);\n idat[pi++] = adler >> 24 & 0xff;\n idat[pi++] = adler >> 16 & 0xff;\n idat[pi++] = adler >> 8 & 0xff;\n idat[pi++] = adler & 0xff;\n return idat;\n }\n\n function encode(imgData, kind, forceDataSchema, isMask) {\n const width = imgData.width;\n const height = imgData.height;\n let bitDepth, colorType, lineSize;\n const bytes = imgData.data;\n\n switch (kind) {\n case _util.ImageKind.GRAYSCALE_1BPP:\n colorType = 0;\n bitDepth = 1;\n lineSize = width + 7 >> 3;\n break;\n\n case _util.ImageKind.RGB_24BPP:\n colorType = 2;\n bitDepth = 8;\n lineSize = width * 3;\n break;\n\n case _util.ImageKind.RGBA_32BPP:\n colorType = 6;\n bitDepth = 8;\n lineSize = width * 4;\n break;\n\n default:\n throw new Error(\"invalid format\");\n }\n\n const literals = new Uint8Array((1 + lineSize) * height);\n let offsetLiterals = 0,\n offsetBytes = 0;\n\n for (let y = 0; y < height; ++y) {\n literals[offsetLiterals++] = 0;\n literals.set(bytes.subarray(offsetBytes, offsetBytes + lineSize), offsetLiterals);\n offsetBytes += lineSize;\n offsetLiterals += lineSize;\n }\n\n if (kind === _util.ImageKind.GRAYSCALE_1BPP && isMask) {\n offsetLiterals = 0;\n\n for (let y = 0; y < height; y++) {\n offsetLiterals++;\n\n for (let i = 0; i < lineSize; i++) {\n literals[offsetLiterals++] ^= 0xff;\n }\n }\n }\n\n const ihdr = new Uint8Array([width >> 24 & 0xff, width >> 16 & 0xff, width >> 8 & 0xff, width & 0xff, height >> 24 & 0xff, height >> 16 & 0xff, height >> 8 & 0xff, height & 0xff, bitDepth, colorType, 0x00, 0x00, 0x00]);\n const idat = deflateSync(literals);\n const pngLength = PNG_HEADER.length + CHUNK_WRAPPER_SIZE * 3 + ihdr.length + idat.length;\n const data = new Uint8Array(pngLength);\n let offset = 0;\n data.set(PNG_HEADER, offset);\n offset += PNG_HEADER.length;\n writePngChunk(\"IHDR\", ihdr, data, offset);\n offset += CHUNK_WRAPPER_SIZE + ihdr.length;\n writePngChunk(\"IDATA\", idat, data, offset);\n offset += CHUNK_WRAPPER_SIZE + idat.length;\n writePngChunk(\"IEND\", new Uint8Array(0), data, offset);\n return (0, _util.createObjectURL)(data, \"image/png\", forceDataSchema);\n }\n\n return function convertImgDataToPng(imgData, forceDataSchema, isMask) {\n const kind = imgData.kind === undefined ? _util.ImageKind.GRAYSCALE_1BPP : imgData.kind;\n return encode(imgData, kind, forceDataSchema, isMask);\n };\n }();\n\n class SVGExtraState {\n constructor() {\n this.fontSizeScale = 1;\n this.fontWeight = SVG_DEFAULTS.fontWeight;\n this.fontSize = 0;\n this.textMatrix = _util.IDENTITY_MATRIX;\n this.fontMatrix = _util.FONT_IDENTITY_MATRIX;\n this.leading = 0;\n this.textRenderingMode = _util.TextRenderingMode.FILL;\n this.textMatrixScale = 1;\n this.x = 0;\n this.y = 0;\n this.lineX = 0;\n this.lineY = 0;\n this.charSpacing = 0;\n this.wordSpacing = 0;\n this.textHScale = 1;\n this.textRise = 0;\n this.fillColor = SVG_DEFAULTS.fillColor;\n this.strokeColor = \"#000000\";\n this.fillAlpha = 1;\n this.strokeAlpha = 1;\n this.lineWidth = 1;\n this.lineJoin = \"\";\n this.lineCap = \"\";\n this.miterLimit = 0;\n this.dashArray = [];\n this.dashPhase = 0;\n this.dependencies = [];\n this.activeClipUrl = null;\n this.clipGroup = null;\n this.maskId = \"\";\n }\n\n clone() {\n return Object.create(this);\n }\n\n setCurrentPoint(x, y) {\n this.x = x;\n this.y = y;\n }\n\n }\n\n function opListToTree(opList) {\n let opTree = [];\n const tmp = [];\n\n for (const opListElement of opList) {\n if (opListElement.fn === \"save\") {\n opTree.push({\n fnId: 92,\n fn: \"group\",\n items: []\n });\n tmp.push(opTree);\n opTree = opTree[opTree.length - 1].items;\n continue;\n }\n\n if (opListElement.fn === \"restore\") {\n opTree = tmp.pop();\n } else {\n opTree.push(opListElement);\n }\n }\n\n return opTree;\n }\n\n function pf(value) {\n if (Number.isInteger(value)) {\n return value.toString();\n }\n\n const s = value.toFixed(10);\n let i = s.length - 1;\n\n if (s[i] !== \"0\") {\n return s;\n }\n\n do {\n i--;\n } while (s[i] === \"0\");\n\n return s.substring(0, s[i] === \".\" ? i : i + 1);\n }\n\n function pm(m) {\n if (m[4] === 0 && m[5] === 0) {\n if (m[1] === 0 && m[2] === 0) {\n if (m[0] === 1 && m[3] === 1) {\n return \"\";\n }\n\n return `scale(${pf(m[0])} ${pf(m[3])})`;\n }\n\n if (m[0] === m[3] && m[1] === -m[2]) {\n const a = Math.acos(m[0]) * 180 / Math.PI;\n return `rotate(${pf(a)})`;\n }\n } else {\n if (m[0] === 1 && m[1] === 0 && m[2] === 0 && m[3] === 1) {\n return `translate(${pf(m[4])} ${pf(m[5])})`;\n }\n }\n\n return `matrix(${pf(m[0])} ${pf(m[1])} ${pf(m[2])} ${pf(m[3])} ${pf(m[4])} ` + `${pf(m[5])})`;\n }\n\n let clipCount = 0;\n let maskCount = 0;\n let shadingCount = 0;\n exports.SVGGraphics = SVGGraphics = class SVGGraphics {\n constructor(commonObjs, objs, forceDataSchema = false) {\n this.svgFactory = new _display_utils.DOMSVGFactory();\n this.current = new SVGExtraState();\n this.transformMatrix = _util.IDENTITY_MATRIX;\n this.transformStack = [];\n this.extraStack = [];\n this.commonObjs = commonObjs;\n this.objs = objs;\n this.pendingClip = null;\n this.pendingEOFill = false;\n this.embedFonts = false;\n this.embeddedFonts = Object.create(null);\n this.cssStyle = null;\n this.forceDataSchema = !!forceDataSchema;\n this._operatorIdMapping = [];\n\n for (const op in _util.OPS) {\n this._operatorIdMapping[_util.OPS[op]] = op;\n }\n }\n\n save() {\n this.transformStack.push(this.transformMatrix);\n const old = this.current;\n this.extraStack.push(old);\n this.current = old.clone();\n }\n\n restore() {\n this.transformMatrix = this.transformStack.pop();\n this.current = this.extraStack.pop();\n this.pendingClip = null;\n this.tgrp = null;\n }\n\n group(items) {\n this.save();\n this.executeOpTree(items);\n this.restore();\n }\n\n loadDependencies(operatorList) {\n const fnArray = operatorList.fnArray;\n const argsArray = operatorList.argsArray;\n\n for (let i = 0, ii = fnArray.length; i < ii; i++) {\n if (fnArray[i] !== _util.OPS.dependency) {\n continue;\n }\n\n for (const obj of argsArray[i]) {\n const objsPool = obj.startsWith(\"g_\") ? this.commonObjs : this.objs;\n const promise = new Promise(resolve => {\n objsPool.get(obj, resolve);\n });\n this.current.dependencies.push(promise);\n }\n }\n\n return Promise.all(this.current.dependencies);\n }\n\n transform(a, b, c, d, e, f) {\n const transformMatrix = [a, b, c, d, e, f];\n this.transformMatrix = _util.Util.transform(this.transformMatrix, transformMatrix);\n this.tgrp = null;\n }\n\n getSVG(operatorList, viewport) {\n this.viewport = viewport;\n\n const svgElement = this._initialize(viewport);\n\n return this.loadDependencies(operatorList).then(() => {\n this.transformMatrix = _util.IDENTITY_MATRIX;\n this.executeOpTree(this.convertOpList(operatorList));\n return svgElement;\n });\n }\n\n convertOpList(operatorList) {\n const operatorIdMapping = this._operatorIdMapping;\n const argsArray = operatorList.argsArray;\n const fnArray = operatorList.fnArray;\n const opList = [];\n\n for (let i = 0, ii = fnArray.length; i < ii; i++) {\n const fnId = fnArray[i];\n opList.push({\n fnId,\n fn: operatorIdMapping[fnId],\n args: argsArray[i]\n });\n }\n\n return opListToTree(opList);\n }\n\n executeOpTree(opTree) {\n for (const opTreeElement of opTree) {\n const fn = opTreeElement.fn;\n const fnId = opTreeElement.fnId;\n const args = opTreeElement.args;\n\n switch (fnId | 0) {\n case _util.OPS.beginText:\n this.beginText();\n break;\n\n case _util.OPS.dependency:\n break;\n\n case _util.OPS.setLeading:\n this.setLeading(args);\n break;\n\n case _util.OPS.setLeadingMoveText:\n this.setLeadingMoveText(args[0], args[1]);\n break;\n\n case _util.OPS.setFont:\n this.setFont(args);\n break;\n\n case _util.OPS.showText:\n this.showText(args[0]);\n break;\n\n case _util.OPS.showSpacedText:\n this.showText(args[0]);\n break;\n\n case _util.OPS.endText:\n this.endText();\n break;\n\n case _util.OPS.moveText:\n this.moveText(args[0], args[1]);\n break;\n\n case _util.OPS.setCharSpacing:\n this.setCharSpacing(args[0]);\n break;\n\n case _util.OPS.setWordSpacing:\n this.setWordSpacing(args[0]);\n break;\n\n case _util.OPS.setHScale:\n this.setHScale(args[0]);\n break;\n\n case _util.OPS.setTextMatrix:\n this.setTextMatrix(args[0], args[1], args[2], args[3], args[4], args[5]);\n break;\n\n case _util.OPS.setTextRise:\n this.setTextRise(args[0]);\n break;\n\n case _util.OPS.setTextRenderingMode:\n this.setTextRenderingMode(args[0]);\n break;\n\n case _util.OPS.setLineWidth:\n this.setLineWidth(args[0]);\n break;\n\n case _util.OPS.setLineJoin:\n this.setLineJoin(args[0]);\n break;\n\n case _util.OPS.setLineCap:\n this.setLineCap(args[0]);\n break;\n\n case _util.OPS.setMiterLimit:\n this.setMiterLimit(args[0]);\n break;\n\n case _util.OPS.setFillRGBColor:\n this.setFillRGBColor(args[0], args[1], args[2]);\n break;\n\n case _util.OPS.setStrokeRGBColor:\n this.setStrokeRGBColor(args[0], args[1], args[2]);\n break;\n\n case _util.OPS.setStrokeColorN:\n this.setStrokeColorN(args);\n break;\n\n case _util.OPS.setFillColorN:\n this.setFillColorN(args);\n break;\n\n case _util.OPS.shadingFill:\n this.shadingFill(args[0]);\n break;\n\n case _util.OPS.setDash:\n this.setDash(args[0], args[1]);\n break;\n\n case _util.OPS.setRenderingIntent:\n this.setRenderingIntent(args[0]);\n break;\n\n case _util.OPS.setFlatness:\n this.setFlatness(args[0]);\n break;\n\n case _util.OPS.setGState:\n this.setGState(args[0]);\n break;\n\n case _util.OPS.fill:\n this.fill();\n break;\n\n case _util.OPS.eoFill:\n this.eoFill();\n break;\n\n case _util.OPS.stroke:\n this.stroke();\n break;\n\n case _util.OPS.fillStroke:\n this.fillStroke();\n break;\n\n case _util.OPS.eoFillStroke:\n this.eoFillStroke();\n break;\n\n case _util.OPS.clip:\n this.clip(\"nonzero\");\n break;\n\n case _util.OPS.eoClip:\n this.clip(\"evenodd\");\n break;\n\n case _util.OPS.paintSolidColorImageMask:\n this.paintSolidColorImageMask();\n break;\n\n case _util.OPS.paintImageXObject:\n this.paintImageXObject(args[0]);\n break;\n\n case _util.OPS.paintInlineImageXObject:\n this.paintInlineImageXObject(args[0]);\n break;\n\n case _util.OPS.paintImageMaskXObject:\n this.paintImageMaskXObject(args[0]);\n break;\n\n case _util.OPS.paintFormXObjectBegin:\n this.paintFormXObjectBegin(args[0], args[1]);\n break;\n\n case _util.OPS.paintFormXObjectEnd:\n this.paintFormXObjectEnd();\n break;\n\n case _util.OPS.closePath:\n this.closePath();\n break;\n\n case _util.OPS.closeStroke:\n this.closeStroke();\n break;\n\n case _util.OPS.closeFillStroke:\n this.closeFillStroke();\n break;\n\n case _util.OPS.closeEOFillStroke:\n this.closeEOFillStroke();\n break;\n\n case _util.OPS.nextLine:\n this.nextLine();\n break;\n\n case _util.OPS.transform:\n this.transform(args[0], args[1], args[2], args[3], args[4], args[5]);\n break;\n\n case _util.OPS.constructPath:\n this.constructPath(args[0], args[1]);\n break;\n\n case _util.OPS.endPath:\n this.endPath();\n break;\n\n case 92:\n this.group(opTreeElement.items);\n break;\n\n default:\n (0, _util.warn)(`Unimplemented operator ${fn}`);\n break;\n }\n }\n }\n\n setWordSpacing(wordSpacing) {\n this.current.wordSpacing = wordSpacing;\n }\n\n setCharSpacing(charSpacing) {\n this.current.charSpacing = charSpacing;\n }\n\n nextLine() {\n this.moveText(0, this.current.leading);\n }\n\n setTextMatrix(a, b, c, d, e, f) {\n const current = this.current;\n current.textMatrix = current.lineMatrix = [a, b, c, d, e, f];\n current.textMatrixScale = Math.sqrt(a * a + b * b);\n current.x = current.lineX = 0;\n current.y = current.lineY = 0;\n current.xcoords = [];\n current.ycoords = [];\n current.tspan = this.svgFactory.createElement(\"svg:tspan\");\n current.tspan.setAttributeNS(null, \"font-family\", current.fontFamily);\n current.tspan.setAttributeNS(null, \"font-size\", `${pf(current.fontSize)}px`);\n current.tspan.setAttributeNS(null, \"y\", pf(-current.y));\n current.txtElement = this.svgFactory.createElement(\"svg:text\");\n current.txtElement.appendChild(current.tspan);\n }\n\n beginText() {\n const current = this.current;\n current.x = current.lineX = 0;\n current.y = current.lineY = 0;\n current.textMatrix = _util.IDENTITY_MATRIX;\n current.lineMatrix = _util.IDENTITY_MATRIX;\n current.textMatrixScale = 1;\n current.tspan = this.svgFactory.createElement(\"svg:tspan\");\n current.txtElement = this.svgFactory.createElement(\"svg:text\");\n current.txtgrp = this.svgFactory.createElement(\"svg:g\");\n current.xcoords = [];\n current.ycoords = [];\n }\n\n moveText(x, y) {\n const current = this.current;\n current.x = current.lineX += x;\n current.y = current.lineY += y;\n current.xcoords = [];\n current.ycoords = [];\n current.tspan = this.svgFactory.createElement(\"svg:tspan\");\n current.tspan.setAttributeNS(null, \"font-family\", current.fontFamily);\n current.tspan.setAttributeNS(null, \"font-size\", `${pf(current.fontSize)}px`);\n current.tspan.setAttributeNS(null, \"y\", pf(-current.y));\n }\n\n showText(glyphs) {\n const current = this.current;\n const font = current.font;\n const fontSize = current.fontSize;\n\n if (fontSize === 0) {\n return;\n }\n\n const fontSizeScale = current.fontSizeScale;\n const charSpacing = current.charSpacing;\n const wordSpacing = current.wordSpacing;\n const fontDirection = current.fontDirection;\n const textHScale = current.textHScale * fontDirection;\n const vertical = font.vertical;\n const spacingDir = vertical ? 1 : -1;\n const defaultVMetrics = font.defaultVMetrics;\n const widthAdvanceScale = fontSize * current.fontMatrix[0];\n let x = 0;\n\n for (const glyph of glyphs) {\n if (glyph === null) {\n x += fontDirection * wordSpacing;\n continue;\n } else if ((0, _util.isNum)(glyph)) {\n x += spacingDir * glyph * fontSize / 1000;\n continue;\n }\n\n const spacing = (glyph.isSpace ? wordSpacing : 0) + charSpacing;\n const character = glyph.fontChar;\n let scaledX, scaledY;\n let width = glyph.width;\n\n if (vertical) {\n let vx;\n const vmetric = glyph.vmetric || defaultVMetrics;\n vx = glyph.vmetric ? vmetric[1] : width * 0.5;\n vx = -vx * widthAdvanceScale;\n const vy = vmetric[2] * widthAdvanceScale;\n width = vmetric ? -vmetric[0] : width;\n scaledX = vx / fontSizeScale;\n scaledY = (x + vy) / fontSizeScale;\n } else {\n scaledX = x / fontSizeScale;\n scaledY = 0;\n }\n\n if (glyph.isInFont || font.missingFile) {\n current.xcoords.push(current.x + scaledX);\n\n if (vertical) {\n current.ycoords.push(-current.y + scaledY);\n }\n\n current.tspan.textContent += character;\n } else {}\n\n let charWidth;\n\n if (vertical) {\n charWidth = width * widthAdvanceScale - spacing * fontDirection;\n } else {\n charWidth = width * widthAdvanceScale + spacing * fontDirection;\n }\n\n x += charWidth;\n }\n\n current.tspan.setAttributeNS(null, \"x\", current.xcoords.map(pf).join(\" \"));\n\n if (vertical) {\n current.tspan.setAttributeNS(null, \"y\", current.ycoords.map(pf).join(\" \"));\n } else {\n current.tspan.setAttributeNS(null, \"y\", pf(-current.y));\n }\n\n if (vertical) {\n current.y -= x;\n } else {\n current.x += x * textHScale;\n }\n\n current.tspan.setAttributeNS(null, \"font-family\", current.fontFamily);\n current.tspan.setAttributeNS(null, \"font-size\", `${pf(current.fontSize)}px`);\n\n if (current.fontStyle !== SVG_DEFAULTS.fontStyle) {\n current.tspan.setAttributeNS(null, \"font-style\", current.fontStyle);\n }\n\n if (current.fontWeight !== SVG_DEFAULTS.fontWeight) {\n current.tspan.setAttributeNS(null, \"font-weight\", current.fontWeight);\n }\n\n const fillStrokeMode = current.textRenderingMode & _util.TextRenderingMode.FILL_STROKE_MASK;\n\n if (fillStrokeMode === _util.TextRenderingMode.FILL || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) {\n if (current.fillColor !== SVG_DEFAULTS.fillColor) {\n current.tspan.setAttributeNS(null, \"fill\", current.fillColor);\n }\n\n if (current.fillAlpha < 1) {\n current.tspan.setAttributeNS(null, \"fill-opacity\", current.fillAlpha);\n }\n } else if (current.textRenderingMode === _util.TextRenderingMode.ADD_TO_PATH) {\n current.tspan.setAttributeNS(null, \"fill\", \"transparent\");\n } else {\n current.tspan.setAttributeNS(null, \"fill\", \"none\");\n }\n\n if (fillStrokeMode === _util.TextRenderingMode.STROKE || fillStrokeMode === _util.TextRenderingMode.FILL_STROKE) {\n const lineWidthScale = 1 / (current.textMatrixScale || 1);\n\n this._setStrokeAttributes(current.tspan, lineWidthScale);\n }\n\n let textMatrix = current.textMatrix;\n\n if (current.textRise !== 0) {\n textMatrix = textMatrix.slice();\n textMatrix[5] += current.textRise;\n }\n\n current.txtElement.setAttributeNS(null, \"transform\", `${pm(textMatrix)} scale(${pf(textHScale)}, -1)`);\n current.txtElement.setAttributeNS(XML_NS, \"xml:space\", \"preserve\");\n current.txtElement.appendChild(current.tspan);\n current.txtgrp.appendChild(current.txtElement);\n\n this._ensureTransformGroup().appendChild(current.txtElement);\n }\n\n setLeadingMoveText(x, y) {\n this.setLeading(-y);\n this.moveText(x, y);\n }\n\n addFontStyle(fontObj) {\n if (!fontObj.data) {\n throw new Error(\"addFontStyle: No font data available, \" + 'ensure that the \"fontExtraProperties\" API parameter is set.');\n }\n\n if (!this.cssStyle) {\n this.cssStyle = this.svgFactory.createElement(\"svg:style\");\n this.cssStyle.setAttributeNS(null, \"type\", \"text/css\");\n this.defs.appendChild(this.cssStyle);\n }\n\n const url = (0, _util.createObjectURL)(fontObj.data, fontObj.mimetype, this.forceDataSchema);\n this.cssStyle.textContent += `@font-face { font-family: \"${fontObj.loadedName}\";` + ` src: url(${url}); }\\n`;\n }\n\n setFont(details) {\n const current = this.current;\n const fontObj = this.commonObjs.get(details[0]);\n let size = details[1];\n current.font = fontObj;\n\n if (this.embedFonts && !fontObj.missingFile && !this.embeddedFonts[fontObj.loadedName]) {\n this.addFontStyle(fontObj);\n this.embeddedFonts[fontObj.loadedName] = fontObj;\n }\n\n current.fontMatrix = fontObj.fontMatrix ? fontObj.fontMatrix : _util.FONT_IDENTITY_MATRIX;\n let bold = \"normal\";\n\n if (fontObj.black) {\n bold = \"900\";\n } else if (fontObj.bold) {\n bold = \"bold\";\n }\n\n const italic = fontObj.italic ? \"italic\" : \"normal\";\n\n if (size < 0) {\n size = -size;\n current.fontDirection = -1;\n } else {\n current.fontDirection = 1;\n }\n\n current.fontSize = size;\n current.fontFamily = fontObj.loadedName;\n current.fontWeight = bold;\n current.fontStyle = italic;\n current.tspan = this.svgFactory.createElement(\"svg:tspan\");\n current.tspan.setAttributeNS(null, \"y\", pf(-current.y));\n current.xcoords = [];\n current.ycoords = [];\n }\n\n endText() {\n const current = this.current;\n\n if (current.textRenderingMode & _util.TextRenderingMode.ADD_TO_PATH_FLAG && current.txtElement && current.txtElement.hasChildNodes()) {\n current.element = current.txtElement;\n this.clip(\"nonzero\");\n this.endPath();\n }\n }\n\n setLineWidth(width) {\n if (width > 0) {\n this.current.lineWidth = width;\n }\n }\n\n setLineCap(style) {\n this.current.lineCap = LINE_CAP_STYLES[style];\n }\n\n setLineJoin(style) {\n this.current.lineJoin = LINE_JOIN_STYLES[style];\n }\n\n setMiterLimit(limit) {\n this.current.miterLimit = limit;\n }\n\n setStrokeAlpha(strokeAlpha) {\n this.current.strokeAlpha = strokeAlpha;\n }\n\n setStrokeRGBColor(r, g, b) {\n this.current.strokeColor = _util.Util.makeCssRgb(r, g, b);\n }\n\n setFillAlpha(fillAlpha) {\n this.current.fillAlpha = fillAlpha;\n }\n\n setFillRGBColor(r, g, b) {\n this.current.fillColor = _util.Util.makeCssRgb(r, g, b);\n this.current.tspan = this.svgFactory.createElement(\"svg:tspan\");\n this.current.xcoords = [];\n this.current.ycoords = [];\n }\n\n setStrokeColorN(args) {\n this.current.strokeColor = this._makeColorN_Pattern(args);\n }\n\n setFillColorN(args) {\n this.current.fillColor = this._makeColorN_Pattern(args);\n }\n\n shadingFill(args) {\n const width = this.viewport.width;\n const height = this.viewport.height;\n\n const inv = _util.Util.inverseTransform(this.transformMatrix);\n\n const bl = _util.Util.applyTransform([0, 0], inv);\n\n const br = _util.Util.applyTransform([0, height], inv);\n\n const ul = _util.Util.applyTransform([width, 0], inv);\n\n const ur = _util.Util.applyTransform([width, height], inv);\n\n const x0 = Math.min(bl[0], br[0], ul[0], ur[0]);\n const y0 = Math.min(bl[1], br[1], ul[1], ur[1]);\n const x1 = Math.max(bl[0], br[0], ul[0], ur[0]);\n const y1 = Math.max(bl[1], br[1], ul[1], ur[1]);\n const rect = this.svgFactory.createElement(\"svg:rect\");\n rect.setAttributeNS(null, \"x\", x0);\n rect.setAttributeNS(null, \"y\", y0);\n rect.setAttributeNS(null, \"width\", x1 - x0);\n rect.setAttributeNS(null, \"height\", y1 - y0);\n rect.setAttributeNS(null, \"fill\", this._makeShadingPattern(args));\n\n if (this.current.fillAlpha < 1) {\n rect.setAttributeNS(null, \"fill-opacity\", this.current.fillAlpha);\n }\n\n this._ensureTransformGroup().appendChild(rect);\n }\n\n _makeColorN_Pattern(args) {\n if (args[0] === \"TilingPattern\") {\n return this._makeTilingPattern(args);\n }\n\n return this._makeShadingPattern(args);\n }\n\n _makeTilingPattern(args) {\n const color = args[1];\n const operatorList = args[2];\n const matrix = args[3] || _util.IDENTITY_MATRIX;\n const [x0, y0, x1, y1] = args[4];\n const xstep = args[5];\n const ystep = args[6];\n const paintType = args[7];\n const tilingId = `shading${shadingCount++}`;\n\n const [tx0, ty0] = _util.Util.applyTransform([x0, y0], matrix);\n\n const [tx1, ty1] = _util.Util.applyTransform([x1, y1], matrix);\n\n const [xscale, yscale] = _util.Util.singularValueDecompose2dScale(matrix);\n\n const txstep = xstep * xscale;\n const tystep = ystep * yscale;\n const tiling = this.svgFactory.createElement(\"svg:pattern\");\n tiling.setAttributeNS(null, \"id\", tilingId);\n tiling.setAttributeNS(null, \"patternUnits\", \"userSpaceOnUse\");\n tiling.setAttributeNS(null, \"width\", txstep);\n tiling.setAttributeNS(null, \"height\", tystep);\n tiling.setAttributeNS(null, \"x\", `${tx0}`);\n tiling.setAttributeNS(null, \"y\", `${ty0}`);\n const svg = this.svg;\n const transformMatrix = this.transformMatrix;\n const fillColor = this.current.fillColor;\n const strokeColor = this.current.strokeColor;\n const bbox = this.svgFactory.create(tx1 - tx0, ty1 - ty0);\n this.svg = bbox;\n this.transformMatrix = matrix;\n\n if (paintType === 2) {\n const cssColor = _util.Util.makeCssRgb(...color);\n\n this.current.fillColor = cssColor;\n this.current.strokeColor = cssColor;\n }\n\n this.executeOpTree(this.convertOpList(operatorList));\n this.svg = svg;\n this.transformMatrix = transformMatrix;\n this.current.fillColor = fillColor;\n this.current.strokeColor = strokeColor;\n tiling.appendChild(bbox.childNodes[0]);\n this.defs.appendChild(tiling);\n return `url(#${tilingId})`;\n }\n\n _makeShadingPattern(args) {\n switch (args[0]) {\n case \"RadialAxial\":\n const shadingId = `shading${shadingCount++}`;\n const colorStops = args[3];\n let gradient;\n\n switch (args[1]) {\n case \"axial\":\n const point0 = args[4];\n const point1 = args[5];\n gradient = this.svgFactory.createElement(\"svg:linearGradient\");\n gradient.setAttributeNS(null, \"id\", shadingId);\n gradient.setAttributeNS(null, \"gradientUnits\", \"userSpaceOnUse\");\n gradient.setAttributeNS(null, \"x1\", point0[0]);\n gradient.setAttributeNS(null, \"y1\", point0[1]);\n gradient.setAttributeNS(null, \"x2\", point1[0]);\n gradient.setAttributeNS(null, \"y2\", point1[1]);\n break;\n\n case \"radial\":\n const focalPoint = args[4];\n const circlePoint = args[5];\n const focalRadius = args[6];\n const circleRadius = args[7];\n gradient = this.svgFactory.createElement(\"svg:radialGradient\");\n gradient.setAttributeNS(null, \"id\", shadingId);\n gradient.setAttributeNS(null, \"gradientUnits\", \"userSpaceOnUse\");\n gradient.setAttributeNS(null, \"cx\", circlePoint[0]);\n gradient.setAttributeNS(null, \"cy\", circlePoint[1]);\n gradient.setAttributeNS(null, \"r\", circleRadius);\n gradient.setAttributeNS(null, \"fx\", focalPoint[0]);\n gradient.setAttributeNS(null, \"fy\", focalPoint[1]);\n gradient.setAttributeNS(null, \"fr\", focalRadius);\n break;\n\n default:\n throw new Error(`Unknown RadialAxial type: ${args[1]}`);\n }\n\n for (const colorStop of colorStops) {\n const stop = this.svgFactory.createElement(\"svg:stop\");\n stop.setAttributeNS(null, \"offset\", colorStop[0]);\n stop.setAttributeNS(null, \"stop-color\", colorStop[1]);\n gradient.appendChild(stop);\n }\n\n this.defs.appendChild(gradient);\n return `url(#${shadingId})`;\n\n case \"Mesh\":\n (0, _util.warn)(\"Unimplemented pattern Mesh\");\n return null;\n\n case \"Dummy\":\n return \"hotpink\";\n\n default:\n throw new Error(`Unknown IR type: ${args[0]}`);\n }\n }\n\n setDash(dashArray, dashPhase) {\n this.current.dashArray = dashArray;\n this.current.dashPhase = dashPhase;\n }\n\n constructPath(ops, args) {\n const current = this.current;\n let x = current.x,\n y = current.y;\n let d = [];\n let j = 0;\n\n for (const op of ops) {\n switch (op | 0) {\n case _util.OPS.rectangle:\n x = args[j++];\n y = args[j++];\n const width = args[j++];\n const height = args[j++];\n const xw = x + width;\n const yh = y + height;\n d.push(\"M\", pf(x), pf(y), \"L\", pf(xw), pf(y), \"L\", pf(xw), pf(yh), \"L\", pf(x), pf(yh), \"Z\");\n break;\n\n case _util.OPS.moveTo:\n x = args[j++];\n y = args[j++];\n d.push(\"M\", pf(x), pf(y));\n break;\n\n case _util.OPS.lineTo:\n x = args[j++];\n y = args[j++];\n d.push(\"L\", pf(x), pf(y));\n break;\n\n case _util.OPS.curveTo:\n x = args[j + 4];\n y = args[j + 5];\n d.push(\"C\", pf(args[j]), pf(args[j + 1]), pf(args[j + 2]), pf(args[j + 3]), pf(x), pf(y));\n j += 6;\n break;\n\n case _util.OPS.curveTo2:\n d.push(\"C\", pf(x), pf(y), pf(args[j]), pf(args[j + 1]), pf(args[j + 2]), pf(args[j + 3]));\n x = args[j + 2];\n y = args[j + 3];\n j += 4;\n break;\n\n case _util.OPS.curveTo3:\n x = args[j + 2];\n y = args[j + 3];\n d.push(\"C\", pf(args[j]), pf(args[j + 1]), pf(x), pf(y), pf(x), pf(y));\n j += 4;\n break;\n\n case _util.OPS.closePath:\n d.push(\"Z\");\n break;\n }\n }\n\n d = d.join(\" \");\n\n if (current.path && ops.length > 0 && ops[0] !== _util.OPS.rectangle && ops[0] !== _util.OPS.moveTo) {\n d = current.path.getAttributeNS(null, \"d\") + d;\n } else {\n current.path = this.svgFactory.createElement(\"svg:path\");\n\n this._ensureTransformGroup().appendChild(current.path);\n }\n\n current.path.setAttributeNS(null, \"d\", d);\n current.path.setAttributeNS(null, \"fill\", \"none\");\n current.element = current.path;\n current.setCurrentPoint(x, y);\n }\n\n endPath() {\n const current = this.current;\n current.path = null;\n\n if (!this.pendingClip) {\n return;\n }\n\n if (!current.element) {\n this.pendingClip = null;\n return;\n }\n\n const clipId = `clippath${clipCount++}`;\n const clipPath = this.svgFactory.createElement(\"svg:clipPath\");\n clipPath.setAttributeNS(null, \"id\", clipId);\n clipPath.setAttributeNS(null, \"transform\", pm(this.transformMatrix));\n const clipElement = current.element.cloneNode(true);\n\n if (this.pendingClip === \"evenodd\") {\n clipElement.setAttributeNS(null, \"clip-rule\", \"evenodd\");\n } else {\n clipElement.setAttributeNS(null, \"clip-rule\", \"nonzero\");\n }\n\n this.pendingClip = null;\n clipPath.appendChild(clipElement);\n this.defs.appendChild(clipPath);\n\n if (current.activeClipUrl) {\n current.clipGroup = null;\n this.extraStack.forEach(function (prev) {\n prev.clipGroup = null;\n });\n clipPath.setAttributeNS(null, \"clip-path\", current.activeClipUrl);\n }\n\n current.activeClipUrl = `url(#${clipId})`;\n this.tgrp = null;\n }\n\n clip(type) {\n this.pendingClip = type;\n }\n\n closePath() {\n const current = this.current;\n\n if (current.path) {\n const d = `${current.path.getAttributeNS(null, \"d\")}Z`;\n current.path.setAttributeNS(null, \"d\", d);\n }\n }\n\n setLeading(leading) {\n this.current.leading = -leading;\n }\n\n setTextRise(textRise) {\n this.current.textRise = textRise;\n }\n\n setTextRenderingMode(textRenderingMode) {\n this.current.textRenderingMode = textRenderingMode;\n }\n\n setHScale(scale) {\n this.current.textHScale = scale / 100;\n }\n\n setRenderingIntent(intent) {}\n\n setFlatness(flatness) {}\n\n setGState(states) {\n for (const [key, value] of states) {\n switch (key) {\n case \"LW\":\n this.setLineWidth(value);\n break;\n\n case \"LC\":\n this.setLineCap(value);\n break;\n\n case \"LJ\":\n this.setLineJoin(value);\n break;\n\n case \"ML\":\n this.setMiterLimit(value);\n break;\n\n case \"D\":\n this.setDash(value[0], value[1]);\n break;\n\n case \"RI\":\n this.setRenderingIntent(value);\n break;\n\n case \"FL\":\n this.setFlatness(value);\n break;\n\n case \"Font\":\n this.setFont(value);\n break;\n\n case \"CA\":\n this.setStrokeAlpha(value);\n break;\n\n case \"ca\":\n this.setFillAlpha(value);\n break;\n\n default:\n (0, _util.warn)(`Unimplemented graphic state operator ${key}`);\n break;\n }\n }\n }\n\n fill() {\n const current = this.current;\n\n if (current.element) {\n current.element.setAttributeNS(null, \"fill\", current.fillColor);\n current.element.setAttributeNS(null, \"fill-opacity\", current.fillAlpha);\n this.endPath();\n }\n }\n\n stroke() {\n const current = this.current;\n\n if (current.element) {\n this._setStrokeAttributes(current.element);\n\n current.element.setAttributeNS(null, \"fill\", \"none\");\n this.endPath();\n }\n }\n\n _setStrokeAttributes(element, lineWidthScale = 1) {\n const current = this.current;\n let dashArray = current.dashArray;\n\n if (lineWidthScale !== 1 && dashArray.length > 0) {\n dashArray = dashArray.map(function (value) {\n return lineWidthScale * value;\n });\n }\n\n element.setAttributeNS(null, \"stroke\", current.strokeColor);\n element.setAttributeNS(null, \"stroke-opacity\", current.strokeAlpha);\n element.setAttributeNS(null, \"stroke-miterlimit\", pf(current.miterLimit));\n element.setAttributeNS(null, \"stroke-linecap\", current.lineCap);\n element.setAttributeNS(null, \"stroke-linejoin\", current.lineJoin);\n element.setAttributeNS(null, \"stroke-width\", pf(lineWidthScale * current.lineWidth) + \"px\");\n element.setAttributeNS(null, \"stroke-dasharray\", dashArray.map(pf).join(\" \"));\n element.setAttributeNS(null, \"stroke-dashoffset\", pf(lineWidthScale * current.dashPhase) + \"px\");\n }\n\n eoFill() {\n if (this.current.element) {\n this.current.element.setAttributeNS(null, \"fill-rule\", \"evenodd\");\n }\n\n this.fill();\n }\n\n fillStroke() {\n this.stroke();\n this.fill();\n }\n\n eoFillStroke() {\n if (this.current.element) {\n this.current.element.setAttributeNS(null, \"fill-rule\", \"evenodd\");\n }\n\n this.fillStroke();\n }\n\n closeStroke() {\n this.closePath();\n this.stroke();\n }\n\n closeFillStroke() {\n this.closePath();\n this.fillStroke();\n }\n\n closeEOFillStroke() {\n this.closePath();\n this.eoFillStroke();\n }\n\n paintSolidColorImageMask() {\n const rect = this.svgFactory.createElement(\"svg:rect\");\n rect.setAttributeNS(null, \"x\", \"0\");\n rect.setAttributeNS(null, \"y\", \"0\");\n rect.setAttributeNS(null, \"width\", \"1px\");\n rect.setAttributeNS(null, \"height\", \"1px\");\n rect.setAttributeNS(null, \"fill\", this.current.fillColor);\n\n this._ensureTransformGroup().appendChild(rect);\n }\n\n paintImageXObject(objId) {\n const imgData = this.objs.get(objId);\n\n if (!imgData) {\n (0, _util.warn)(`Dependent image with object ID ${objId} is not ready yet`);\n return;\n }\n\n this.paintInlineImageXObject(imgData);\n }\n\n paintInlineImageXObject(imgData, mask) {\n const width = imgData.width;\n const height = imgData.height;\n const imgSrc = convertImgDataToPng(imgData, this.forceDataSchema, !!mask);\n const cliprect = this.svgFactory.createElement(\"svg:rect\");\n cliprect.setAttributeNS(null, \"x\", \"0\");\n cliprect.setAttributeNS(null, \"y\", \"0\");\n cliprect.setAttributeNS(null, \"width\", pf(width));\n cliprect.setAttributeNS(null, \"height\", pf(height));\n this.current.element = cliprect;\n this.clip(\"nonzero\");\n const imgEl = this.svgFactory.createElement(\"svg:image\");\n imgEl.setAttributeNS(XLINK_NS, \"xlink:href\", imgSrc);\n imgEl.setAttributeNS(null, \"x\", \"0\");\n imgEl.setAttributeNS(null, \"y\", pf(-height));\n imgEl.setAttributeNS(null, \"width\", pf(width) + \"px\");\n imgEl.setAttributeNS(null, \"height\", pf(height) + \"px\");\n imgEl.setAttributeNS(null, \"transform\", `scale(${pf(1 / width)} ${pf(-1 / height)})`);\n\n if (mask) {\n mask.appendChild(imgEl);\n } else {\n this._ensureTransformGroup().appendChild(imgEl);\n }\n }\n\n paintImageMaskXObject(imgData) {\n const current = this.current;\n const width = imgData.width;\n const height = imgData.height;\n const fillColor = current.fillColor;\n current.maskId = `mask${maskCount++}`;\n const mask = this.svgFactory.createElement(\"svg:mask\");\n mask.setAttributeNS(null, \"id\", current.maskId);\n const rect = this.svgFactory.createElement(\"svg:rect\");\n rect.setAttributeNS(null, \"x\", \"0\");\n rect.setAttributeNS(null, \"y\", \"0\");\n rect.setAttributeNS(null, \"width\", pf(width));\n rect.setAttributeNS(null, \"height\", pf(height));\n rect.setAttributeNS(null, \"fill\", fillColor);\n rect.setAttributeNS(null, \"mask\", `url(#${current.maskId})`);\n this.defs.appendChild(mask);\n\n this._ensureTransformGroup().appendChild(rect);\n\n this.paintInlineImageXObject(imgData, mask);\n }\n\n paintFormXObjectBegin(matrix, bbox) {\n if (Array.isArray(matrix) && matrix.length === 6) {\n this.transform(matrix[0], matrix[1], matrix[2], matrix[3], matrix[4], matrix[5]);\n }\n\n if (bbox) {\n const width = bbox[2] - bbox[0];\n const height = bbox[3] - bbox[1];\n const cliprect = this.svgFactory.createElement(\"svg:rect\");\n cliprect.setAttributeNS(null, \"x\", bbox[0]);\n cliprect.setAttributeNS(null, \"y\", bbox[1]);\n cliprect.setAttributeNS(null, \"width\", pf(width));\n cliprect.setAttributeNS(null, \"height\", pf(height));\n this.current.element = cliprect;\n this.clip(\"nonzero\");\n this.endPath();\n }\n }\n\n paintFormXObjectEnd() {}\n\n _initialize(viewport) {\n const svg = this.svgFactory.create(viewport.width, viewport.height);\n const definitions = this.svgFactory.createElement(\"svg:defs\");\n svg.appendChild(definitions);\n this.defs = definitions;\n const rootGroup = this.svgFactory.createElement(\"svg:g\");\n rootGroup.setAttributeNS(null, \"transform\", pm(viewport.transform));\n svg.appendChild(rootGroup);\n this.svg = rootGroup;\n return svg;\n }\n\n _ensureClipGroup() {\n if (!this.current.clipGroup) {\n const clipGroup = this.svgFactory.createElement(\"svg:g\");\n clipGroup.setAttributeNS(null, \"clip-path\", this.current.activeClipUrl);\n this.svg.appendChild(clipGroup);\n this.current.clipGroup = clipGroup;\n }\n\n return this.current.clipGroup;\n }\n\n _ensureTransformGroup() {\n if (!this.tgrp) {\n this.tgrp = this.svgFactory.createElement(\"svg:g\");\n this.tgrp.setAttributeNS(null, \"transform\", pm(this.transformMatrix));\n\n if (this.current.activeClipUrl) {\n this._ensureClipGroup().appendChild(this.tgrp);\n } else {\n this.svg.appendChild(this.tgrp);\n }\n }\n\n return this.tgrp;\n }\n\n };\n}\n\n/***/ }),\n/* 19 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.PDFNodeStream = void 0;\n\nvar _util = __w_pdfjs_require__(2);\n\nvar _network_utils = __w_pdfjs_require__(20);\n\n;\n\nconst fs = require(\"fs\");\n\nconst http = require(\"http\");\n\nconst https = require(\"https\");\n\nconst url = require(\"url\");\n\nconst fileUriRegex = /^file:\\/\\/\\/[a-zA-Z]:\\//;\n\nfunction parseUrl(sourceUrl) {\n const parsedUrl = url.parse(sourceUrl);\n\n if (parsedUrl.protocol === \"file:\" || parsedUrl.host) {\n return parsedUrl;\n }\n\n if (/^[a-z]:[/\\\\]/i.test(sourceUrl)) {\n return url.parse(`file:///${sourceUrl}`);\n }\n\n if (!parsedUrl.host) {\n parsedUrl.protocol = \"file:\";\n }\n\n return parsedUrl;\n}\n\nclass PDFNodeStream {\n constructor(source) {\n this.source = source;\n this.url = parseUrl(source.url);\n this.isHttp = this.url.protocol === \"http:\" || this.url.protocol === \"https:\";\n this.isFsUrl = this.url.protocol === \"file:\";\n this.httpHeaders = this.isHttp && source.httpHeaders || {};\n this._fullRequestReader = null;\n this._rangeRequestReaders = [];\n }\n\n get _progressiveDataLength() {\n return this._fullRequestReader ? this._fullRequestReader._loaded : 0;\n }\n\n getFullReader() {\n (0, _util.assert)(!this._fullRequestReader, \"PDFNodeStream.getFullReader can only be called once.\");\n this._fullRequestReader = this.isFsUrl ? new PDFNodeStreamFsFullReader(this) : new PDFNodeStreamFullReader(this);\n return this._fullRequestReader;\n }\n\n getRangeReader(start, end) {\n if (end <= this._progressiveDataLength) {\n return null;\n }\n\n const rangeReader = this.isFsUrl ? new PDFNodeStreamFsRangeReader(this, start, end) : new PDFNodeStreamRangeReader(this, start, end);\n\n this._rangeRequestReaders.push(rangeReader);\n\n return rangeReader;\n }\n\n cancelAllRequests(reason) {\n if (this._fullRequestReader) {\n this._fullRequestReader.cancel(reason);\n }\n\n const readers = this._rangeRequestReaders.slice(0);\n\n readers.forEach(function (reader) {\n reader.cancel(reason);\n });\n }\n\n}\n\nexports.PDFNodeStream = PDFNodeStream;\n\nclass BaseFullReader {\n constructor(stream) {\n this._url = stream.url;\n this._done = false;\n this._storedError = null;\n this.onProgress = null;\n const source = stream.source;\n this._contentLength = source.length;\n this._loaded = 0;\n this._filename = null;\n this._disableRange = source.disableRange || false;\n this._rangeChunkSize = source.rangeChunkSize;\n\n if (!this._rangeChunkSize && !this._disableRange) {\n this._disableRange = true;\n }\n\n this._isStreamingSupported = !source.disableStream;\n this._isRangeSupported = !source.disableRange;\n this._readableStream = null;\n this._readCapability = (0, _util.createPromiseCapability)();\n this._headersCapability = (0, _util.createPromiseCapability)();\n }\n\n get headersReady() {\n return this._headersCapability.promise;\n }\n\n get filename() {\n return this._filename;\n }\n\n get contentLength() {\n return this._contentLength;\n }\n\n get isRangeSupported() {\n return this._isRangeSupported;\n }\n\n get isStreamingSupported() {\n return this._isStreamingSupported;\n }\n\n async read() {\n await this._readCapability.promise;\n\n if (this._done) {\n return {\n value: undefined,\n done: true\n };\n }\n\n if (this._storedError) {\n throw this._storedError;\n }\n\n const chunk = this._readableStream.read();\n\n if (chunk === null) {\n this._readCapability = (0, _util.createPromiseCapability)();\n return this.read();\n }\n\n this._loaded += chunk.length;\n\n if (this.onProgress) {\n this.onProgress({\n loaded: this._loaded,\n total: this._contentLength\n });\n }\n\n const buffer = new Uint8Array(chunk).buffer;\n return {\n value: buffer,\n done: false\n };\n }\n\n cancel(reason) {\n if (!this._readableStream) {\n this._error(reason);\n\n return;\n }\n\n this._readableStream.destroy(reason);\n }\n\n _error(reason) {\n this._storedError = reason;\n\n this._readCapability.resolve();\n }\n\n _setReadableStream(readableStream) {\n this._readableStream = readableStream;\n readableStream.on(\"readable\", () => {\n this._readCapability.resolve();\n });\n readableStream.on(\"end\", () => {\n readableStream.destroy();\n this._done = true;\n\n this._readCapability.resolve();\n });\n readableStream.on(\"error\", reason => {\n this._error(reason);\n });\n\n if (!this._isStreamingSupported && this._isRangeSupported) {\n this._error(new _util.AbortException(\"streaming is disabled\"));\n }\n\n if (this._storedError) {\n this._readableStream.destroy(this._storedError);\n }\n }\n\n}\n\nclass BaseRangeReader {\n constructor(stream) {\n this._url = stream.url;\n this._done = false;\n this._storedError = null;\n this.onProgress = null;\n this._loaded = 0;\n this._readableStream = null;\n this._readCapability = (0, _util.createPromiseCapability)();\n const source = stream.source;\n this._isStreamingSupported = !source.disableStream;\n }\n\n get isStreamingSupported() {\n return this._isStreamingSupported;\n }\n\n async read() {\n await this._readCapability.promise;\n\n if (this._done) {\n return {\n value: undefined,\n done: true\n };\n }\n\n if (this._storedError) {\n throw this._storedError;\n }\n\n const chunk = this._readableStream.read();\n\n if (chunk === null) {\n this._readCapability = (0, _util.createPromiseCapability)();\n return this.read();\n }\n\n this._loaded += chunk.length;\n\n if (this.onProgress) {\n this.onProgress({\n loaded: this._loaded\n });\n }\n\n const buffer = new Uint8Array(chunk).buffer;\n return {\n value: buffer,\n done: false\n };\n }\n\n cancel(reason) {\n if (!this._readableStream) {\n this._error(reason);\n\n return;\n }\n\n this._readableStream.destroy(reason);\n }\n\n _error(reason) {\n this._storedError = reason;\n\n this._readCapability.resolve();\n }\n\n _setReadableStream(readableStream) {\n this._readableStream = readableStream;\n readableStream.on(\"readable\", () => {\n this._readCapability.resolve();\n });\n readableStream.on(\"end\", () => {\n readableStream.destroy();\n this._done = true;\n\n this._readCapability.resolve();\n });\n readableStream.on(\"error\", reason => {\n this._error(reason);\n });\n\n if (this._storedError) {\n this._readableStream.destroy(this._storedError);\n }\n }\n\n}\n\nfunction createRequestOptions(parsedUrl, headers) {\n return {\n protocol: parsedUrl.protocol,\n auth: parsedUrl.auth,\n host: parsedUrl.hostname,\n port: parsedUrl.port,\n path: parsedUrl.path,\n method: \"GET\",\n headers\n };\n}\n\nclass PDFNodeStreamFullReader extends BaseFullReader {\n constructor(stream) {\n super(stream);\n\n const handleResponse = response => {\n if (response.statusCode === 404) {\n const error = new _util.MissingPDFException(`Missing PDF \"${this._url}\".`);\n this._storedError = error;\n\n this._headersCapability.reject(error);\n\n return;\n }\n\n this._headersCapability.resolve();\n\n this._setReadableStream(response);\n\n const getResponseHeader = name => {\n return this._readableStream.headers[name.toLowerCase()];\n };\n\n const {\n allowRangeRequests,\n suggestedLength\n } = (0, _network_utils.validateRangeRequestCapabilities)({\n getResponseHeader,\n isHttp: stream.isHttp,\n rangeChunkSize: this._rangeChunkSize,\n disableRange: this._disableRange\n });\n this._isRangeSupported = allowRangeRequests;\n this._contentLength = suggestedLength || this._contentLength;\n this._filename = (0, _network_utils.extractFilenameFromHeader)(getResponseHeader);\n };\n\n this._request = null;\n\n if (this._url.protocol === \"http:\") {\n this._request = http.request(createRequestOptions(this._url, stream.httpHeaders), handleResponse);\n } else {\n this._request = https.request(createRequestOptions(this._url, stream.httpHeaders), handleResponse);\n }\n\n this._request.on(\"error\", reason => {\n this._storedError = reason;\n\n this._headersCapability.reject(reason);\n });\n\n this._request.end();\n }\n\n}\n\nclass PDFNodeStreamRangeReader extends BaseRangeReader {\n constructor(stream, start, end) {\n super(stream);\n this._httpHeaders = {};\n\n for (const property in stream.httpHeaders) {\n const value = stream.httpHeaders[property];\n\n if (typeof value === \"undefined\") {\n continue;\n }\n\n this._httpHeaders[property] = value;\n }\n\n this._httpHeaders.Range = `bytes=${start}-${end - 1}`;\n\n const handleResponse = response => {\n if (response.statusCode === 404) {\n const error = new _util.MissingPDFException(`Missing PDF \"${this._url}\".`);\n this._storedError = error;\n return;\n }\n\n this._setReadableStream(response);\n };\n\n this._request = null;\n\n if (this._url.protocol === \"http:\") {\n this._request = http.request(createRequestOptions(this._url, this._httpHeaders), handleResponse);\n } else {\n this._request = https.request(createRequestOptions(this._url, this._httpHeaders), handleResponse);\n }\n\n this._request.on(\"error\", reason => {\n this._storedError = reason;\n });\n\n this._request.end();\n }\n\n}\n\nclass PDFNodeStreamFsFullReader extends BaseFullReader {\n constructor(stream) {\n super(stream);\n let path = decodeURIComponent(this._url.path);\n\n if (fileUriRegex.test(this._url.href)) {\n path = path.replace(/^\\//, \"\");\n }\n\n fs.lstat(path, (error, stat) => {\n if (error) {\n if (error.code === \"ENOENT\") {\n error = new _util.MissingPDFException(`Missing PDF \"${path}\".`);\n }\n\n this._storedError = error;\n\n this._headersCapability.reject(error);\n\n return;\n }\n\n this._contentLength = stat.size;\n\n this._setReadableStream(fs.createReadStream(path));\n\n this._headersCapability.resolve();\n });\n }\n\n}\n\nclass PDFNodeStreamFsRangeReader extends BaseRangeReader {\n constructor(stream, start, end) {\n super(stream);\n let path = decodeURIComponent(this._url.path);\n\n if (fileUriRegex.test(this._url.href)) {\n path = path.replace(/^\\//, \"\");\n }\n\n this._setReadableStream(fs.createReadStream(path, {\n start,\n end: end - 1\n }));\n }\n\n}\n\n/***/ }),\n/* 20 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.createResponseStatusError = createResponseStatusError;\nexports.extractFilenameFromHeader = extractFilenameFromHeader;\nexports.validateRangeRequestCapabilities = validateRangeRequestCapabilities;\nexports.validateResponseStatus = validateResponseStatus;\n\nvar _util = __w_pdfjs_require__(2);\n\nvar _content_disposition = __w_pdfjs_require__(21);\n\nfunction validateRangeRequestCapabilities({\n getResponseHeader,\n isHttp,\n rangeChunkSize,\n disableRange\n}) {\n (0, _util.assert)(rangeChunkSize > 0, \"Range chunk size must be larger than zero\");\n const returnValues = {\n allowRangeRequests: false,\n suggestedLength: undefined\n };\n const length = parseInt(getResponseHeader(\"Content-Length\"), 10);\n\n if (!Number.isInteger(length)) {\n return returnValues;\n }\n\n returnValues.suggestedLength = length;\n\n if (length <= 2 * rangeChunkSize) {\n return returnValues;\n }\n\n if (disableRange || !isHttp) {\n return returnValues;\n }\n\n if (getResponseHeader(\"Accept-Ranges\") !== \"bytes\") {\n return returnValues;\n }\n\n const contentEncoding = getResponseHeader(\"Content-Encoding\") || \"identity\";\n\n if (contentEncoding !== \"identity\") {\n return returnValues;\n }\n\n returnValues.allowRangeRequests = true;\n return returnValues;\n}\n\nfunction extractFilenameFromHeader(getResponseHeader) {\n const contentDisposition = getResponseHeader(\"Content-Disposition\");\n\n if (contentDisposition) {\n let filename = (0, _content_disposition.getFilenameFromContentDispositionHeader)(contentDisposition);\n\n if (filename.includes(\"%\")) {\n try {\n filename = decodeURIComponent(filename);\n } catch (ex) {}\n }\n\n if (/\\.pdf$/i.test(filename)) {\n return filename;\n }\n }\n\n return null;\n}\n\nfunction createResponseStatusError(status, url) {\n if (status === 404 || status === 0 && url.startsWith(\"file:\")) {\n return new _util.MissingPDFException('Missing PDF \"' + url + '\".');\n }\n\n return new _util.UnexpectedResponseException(\"Unexpected server response (\" + status + ') while retrieving PDF \"' + url + '\".', status);\n}\n\nfunction validateResponseStatus(status) {\n return status === 200 || status === 206;\n}\n\n/***/ }),\n/* 21 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getFilenameFromContentDispositionHeader = getFilenameFromContentDispositionHeader;\n\nfunction getFilenameFromContentDispositionHeader(contentDisposition) {\n let needsEncodingFixup = true;\n let tmp = toParamRegExp(\"filename\\\\*\", \"i\").exec(contentDisposition);\n\n if (tmp) {\n tmp = tmp[1];\n let filename = rfc2616unquote(tmp);\n filename = unescape(filename);\n filename = rfc5987decode(filename);\n filename = rfc2047decode(filename);\n return fixupEncoding(filename);\n }\n\n tmp = rfc2231getparam(contentDisposition);\n\n if (tmp) {\n const filename = rfc2047decode(tmp);\n return fixupEncoding(filename);\n }\n\n tmp = toParamRegExp(\"filename\", \"i\").exec(contentDisposition);\n\n if (tmp) {\n tmp = tmp[1];\n let filename = rfc2616unquote(tmp);\n filename = rfc2047decode(filename);\n return fixupEncoding(filename);\n }\n\n function toParamRegExp(attributePattern, flags) {\n return new RegExp(\"(?:^|;)\\\\s*\" + attributePattern + \"\\\\s*=\\\\s*\" + \"(\" + '[^\";\\\\s][^;\\\\s]*' + \"|\" + '\"(?:[^\"\\\\\\\\]|\\\\\\\\\"?)+\"?' + \")\", flags);\n }\n\n function textdecode(encoding, value) {\n if (encoding) {\n if (!/^[\\x00-\\xFF]+$/.test(value)) {\n return value;\n }\n\n try {\n const decoder = new TextDecoder(encoding, {\n fatal: true\n });\n const bytes = Array.from(value, function (ch) {\n return ch.charCodeAt(0) & 0xff;\n });\n value = decoder.decode(new Uint8Array(bytes));\n needsEncodingFixup = false;\n } catch (e) {\n if (/^utf-?8$/i.test(encoding)) {\n try {\n value = decodeURIComponent(escape(value));\n needsEncodingFixup = false;\n } catch (err) {}\n }\n }\n }\n\n return value;\n }\n\n function fixupEncoding(value) {\n if (needsEncodingFixup && /[\\x80-\\xff]/.test(value)) {\n value = textdecode(\"utf-8\", value);\n\n if (needsEncodingFixup) {\n value = textdecode(\"iso-8859-1\", value);\n }\n }\n\n return value;\n }\n\n function rfc2231getparam(contentDispositionStr) {\n const matches = [];\n let match;\n const iter = toParamRegExp(\"filename\\\\*((?!0\\\\d)\\\\d+)(\\\\*?)\", \"ig\");\n\n while ((match = iter.exec(contentDispositionStr)) !== null) {\n let [, n, quot, part] = match;\n n = parseInt(n, 10);\n\n if (n in matches) {\n if (n === 0) {\n break;\n }\n\n continue;\n }\n\n matches[n] = [quot, part];\n }\n\n const parts = [];\n\n for (let n = 0; n < matches.length; ++n) {\n if (!(n in matches)) {\n break;\n }\n\n let [quot, part] = matches[n];\n part = rfc2616unquote(part);\n\n if (quot) {\n part = unescape(part);\n\n if (n === 0) {\n part = rfc5987decode(part);\n }\n }\n\n parts.push(part);\n }\n\n return parts.join(\"\");\n }\n\n function rfc2616unquote(value) {\n if (value.startsWith('\"')) {\n const parts = value.slice(1).split('\\\\\"');\n\n for (let i = 0; i < parts.length; ++i) {\n const quotindex = parts[i].indexOf('\"');\n\n if (quotindex !== -1) {\n parts[i] = parts[i].slice(0, quotindex);\n parts.length = i + 1;\n }\n\n parts[i] = parts[i].replace(/\\\\(.)/g, \"$1\");\n }\n\n value = parts.join('\"');\n }\n\n return value;\n }\n\n function rfc5987decode(extvalue) {\n const encodingend = extvalue.indexOf(\"'\");\n\n if (encodingend === -1) {\n return extvalue;\n }\n\n const encoding = extvalue.slice(0, encodingend);\n const langvalue = extvalue.slice(encodingend + 1);\n const value = langvalue.replace(/^[^']*'/, \"\");\n return textdecode(encoding, value);\n }\n\n function rfc2047decode(value) {\n if (!value.startsWith(\"=?\") || /[\\x00-\\x19\\x80-\\xff]/.test(value)) {\n return value;\n }\n\n return value.replace(/=\\?([\\w-]*)\\?([QqBb])\\?((?:[^?]|\\?(?!=))*)\\?=/g, function (matches, charset, encoding, text) {\n if (encoding === \"q\" || encoding === \"Q\") {\n text = text.replace(/_/g, \" \");\n text = text.replace(/=([0-9a-fA-F]{2})/g, function (match, hex) {\n return String.fromCharCode(parseInt(hex, 16));\n });\n return textdecode(charset, text);\n }\n\n try {\n text = atob(text);\n } catch (e) {}\n\n return textdecode(charset, text);\n });\n }\n\n return \"\";\n}\n\n/***/ }),\n/* 22 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.PDFNetworkStream = void 0;\n\nvar _util = __w_pdfjs_require__(2);\n\nvar _network_utils = __w_pdfjs_require__(20);\n\n;\nconst OK_RESPONSE = 200;\nconst PARTIAL_CONTENT_RESPONSE = 206;\n\nfunction getArrayBuffer(xhr) {\n const data = xhr.response;\n\n if (typeof data !== \"string\") {\n return data;\n }\n\n const array = (0, _util.stringToBytes)(data);\n return array.buffer;\n}\n\nclass NetworkManager {\n constructor(url, args) {\n this.url = url;\n args = args || {};\n this.isHttp = /^https?:/i.test(url);\n this.httpHeaders = this.isHttp && args.httpHeaders || {};\n this.withCredentials = args.withCredentials || false;\n\n this.getXhr = args.getXhr || function NetworkManager_getXhr() {\n return new XMLHttpRequest();\n };\n\n this.currXhrId = 0;\n this.pendingRequests = Object.create(null);\n }\n\n requestRange(begin, end, listeners) {\n const args = {\n begin,\n end\n };\n\n for (const prop in listeners) {\n args[prop] = listeners[prop];\n }\n\n return this.request(args);\n }\n\n requestFull(listeners) {\n return this.request(listeners);\n }\n\n request(args) {\n const xhr = this.getXhr();\n const xhrId = this.currXhrId++;\n const pendingRequest = this.pendingRequests[xhrId] = {\n xhr\n };\n xhr.open(\"GET\", this.url);\n xhr.withCredentials = this.withCredentials;\n\n for (const property in this.httpHeaders) {\n const value = this.httpHeaders[property];\n\n if (typeof value === \"undefined\") {\n continue;\n }\n\n xhr.setRequestHeader(property, value);\n }\n\n if (this.isHttp && \"begin\" in args && \"end\" in args) {\n xhr.setRequestHeader(\"Range\", `bytes=${args.begin}-${args.end - 1}`);\n pendingRequest.expectedStatus = PARTIAL_CONTENT_RESPONSE;\n } else {\n pendingRequest.expectedStatus = OK_RESPONSE;\n }\n\n xhr.responseType = \"arraybuffer\";\n\n if (args.onError) {\n xhr.onerror = function (evt) {\n args.onError(xhr.status);\n };\n }\n\n xhr.onreadystatechange = this.onStateChange.bind(this, xhrId);\n xhr.onprogress = this.onProgress.bind(this, xhrId);\n pendingRequest.onHeadersReceived = args.onHeadersReceived;\n pendingRequest.onDone = args.onDone;\n pendingRequest.onError = args.onError;\n pendingRequest.onProgress = args.onProgress;\n xhr.send(null);\n return xhrId;\n }\n\n onProgress(xhrId, evt) {\n const pendingRequest = this.pendingRequests[xhrId];\n\n if (!pendingRequest) {\n return;\n }\n\n if (pendingRequest.onProgress) {\n pendingRequest.onProgress(evt);\n }\n }\n\n onStateChange(xhrId, evt) {\n const pendingRequest = this.pendingRequests[xhrId];\n\n if (!pendingRequest) {\n return;\n }\n\n const xhr = pendingRequest.xhr;\n\n if (xhr.readyState >= 2 && pendingRequest.onHeadersReceived) {\n pendingRequest.onHeadersReceived();\n delete pendingRequest.onHeadersReceived;\n }\n\n if (xhr.readyState !== 4) {\n return;\n }\n\n if (!(xhrId in this.pendingRequests)) {\n return;\n }\n\n delete this.pendingRequests[xhrId];\n\n if (xhr.status === 0 && this.isHttp) {\n if (pendingRequest.onError) {\n pendingRequest.onError(xhr.status);\n }\n\n return;\n }\n\n const xhrStatus = xhr.status || OK_RESPONSE;\n const ok_response_on_range_request = xhrStatus === OK_RESPONSE && pendingRequest.expectedStatus === PARTIAL_CONTENT_RESPONSE;\n\n if (!ok_response_on_range_request && xhrStatus !== pendingRequest.expectedStatus) {\n if (pendingRequest.onError) {\n pendingRequest.onError(xhr.status);\n }\n\n return;\n }\n\n const chunk = getArrayBuffer(xhr);\n\n if (xhrStatus === PARTIAL_CONTENT_RESPONSE) {\n const rangeHeader = xhr.getResponseHeader(\"Content-Range\");\n const matches = /bytes (\\d+)-(\\d+)\\/(\\d+)/.exec(rangeHeader);\n pendingRequest.onDone({\n begin: parseInt(matches[1], 10),\n chunk\n });\n } else if (chunk) {\n pendingRequest.onDone({\n begin: 0,\n chunk\n });\n } else if (pendingRequest.onError) {\n pendingRequest.onError(xhr.status);\n }\n }\n\n hasPendingRequests() {\n for (const xhrId in this.pendingRequests) {\n return true;\n }\n\n return false;\n }\n\n getRequestXhr(xhrId) {\n return this.pendingRequests[xhrId].xhr;\n }\n\n isPendingRequest(xhrId) {\n return xhrId in this.pendingRequests;\n }\n\n abortAllRequests() {\n for (const xhrId in this.pendingRequests) {\n this.abortRequest(xhrId | 0);\n }\n }\n\n abortRequest(xhrId) {\n const xhr = this.pendingRequests[xhrId].xhr;\n delete this.pendingRequests[xhrId];\n xhr.abort();\n }\n\n}\n\nclass PDFNetworkStream {\n constructor(source) {\n this._source = source;\n this._manager = new NetworkManager(source.url, {\n httpHeaders: source.httpHeaders,\n withCredentials: source.withCredentials\n });\n this._rangeChunkSize = source.rangeChunkSize;\n this._fullRequestReader = null;\n this._rangeRequestReaders = [];\n }\n\n _onRangeRequestReaderClosed(reader) {\n const i = this._rangeRequestReaders.indexOf(reader);\n\n if (i >= 0) {\n this._rangeRequestReaders.splice(i, 1);\n }\n }\n\n getFullReader() {\n (0, _util.assert)(!this._fullRequestReader, \"PDFNetworkStream.getFullReader can only be called once.\");\n this._fullRequestReader = new PDFNetworkStreamFullRequestReader(this._manager, this._source);\n return this._fullRequestReader;\n }\n\n getRangeReader(begin, end) {\n const reader = new PDFNetworkStreamRangeRequestReader(this._manager, begin, end);\n reader.onClosed = this._onRangeRequestReaderClosed.bind(this);\n\n this._rangeRequestReaders.push(reader);\n\n return reader;\n }\n\n cancelAllRequests(reason) {\n if (this._fullRequestReader) {\n this._fullRequestReader.cancel(reason);\n }\n\n const readers = this._rangeRequestReaders.slice(0);\n\n readers.forEach(function (reader) {\n reader.cancel(reason);\n });\n }\n\n}\n\nexports.PDFNetworkStream = PDFNetworkStream;\n\nclass PDFNetworkStreamFullRequestReader {\n constructor(manager, source) {\n this._manager = manager;\n const args = {\n onHeadersReceived: this._onHeadersReceived.bind(this),\n onDone: this._onDone.bind(this),\n onError: this._onError.bind(this),\n onProgress: this._onProgress.bind(this)\n };\n this._url = source.url;\n this._fullRequestId = manager.requestFull(args);\n this._headersReceivedCapability = (0, _util.createPromiseCapability)();\n this._disableRange = source.disableRange || false;\n this._contentLength = source.length;\n this._rangeChunkSize = source.rangeChunkSize;\n\n if (!this._rangeChunkSize && !this._disableRange) {\n this._disableRange = true;\n }\n\n this._isStreamingSupported = false;\n this._isRangeSupported = false;\n this._cachedChunks = [];\n this._requests = [];\n this._done = false;\n this._storedError = undefined;\n this._filename = null;\n this.onProgress = null;\n }\n\n _onHeadersReceived() {\n const fullRequestXhrId = this._fullRequestId;\n\n const fullRequestXhr = this._manager.getRequestXhr(fullRequestXhrId);\n\n const getResponseHeader = name => {\n return fullRequestXhr.getResponseHeader(name);\n };\n\n const {\n allowRangeRequests,\n suggestedLength\n } = (0, _network_utils.validateRangeRequestCapabilities)({\n getResponseHeader,\n isHttp: this._manager.isHttp,\n rangeChunkSize: this._rangeChunkSize,\n disableRange: this._disableRange\n });\n\n if (allowRangeRequests) {\n this._isRangeSupported = true;\n }\n\n this._contentLength = suggestedLength || this._contentLength;\n this._filename = (0, _network_utils.extractFilenameFromHeader)(getResponseHeader);\n\n if (this._isRangeSupported) {\n this._manager.abortRequest(fullRequestXhrId);\n }\n\n this._headersReceivedCapability.resolve();\n }\n\n _onDone(args) {\n if (args) {\n if (this._requests.length > 0) {\n const requestCapability = this._requests.shift();\n\n requestCapability.resolve({\n value: args.chunk,\n done: false\n });\n } else {\n this._cachedChunks.push(args.chunk);\n }\n }\n\n this._done = true;\n\n if (this._cachedChunks.length > 0) {\n return;\n }\n\n this._requests.forEach(function (requestCapability) {\n requestCapability.resolve({\n value: undefined,\n done: true\n });\n });\n\n this._requests = [];\n }\n\n _onError(status) {\n const url = this._url;\n const exception = (0, _network_utils.createResponseStatusError)(status, url);\n this._storedError = exception;\n\n this._headersReceivedCapability.reject(exception);\n\n this._requests.forEach(function (requestCapability) {\n requestCapability.reject(exception);\n });\n\n this._requests = [];\n this._cachedChunks = [];\n }\n\n _onProgress(data) {\n if (this.onProgress) {\n this.onProgress({\n loaded: data.loaded,\n total: data.lengthComputable ? data.total : this._contentLength\n });\n }\n }\n\n get filename() {\n return this._filename;\n }\n\n get isRangeSupported() {\n return this._isRangeSupported;\n }\n\n get isStreamingSupported() {\n return this._isStreamingSupported;\n }\n\n get contentLength() {\n return this._contentLength;\n }\n\n get headersReady() {\n return this._headersReceivedCapability.promise;\n }\n\n async read() {\n if (this._storedError) {\n throw this._storedError;\n }\n\n if (this._cachedChunks.length > 0) {\n const chunk = this._cachedChunks.shift();\n\n return {\n value: chunk,\n done: false\n };\n }\n\n if (this._done) {\n return {\n value: undefined,\n done: true\n };\n }\n\n const requestCapability = (0, _util.createPromiseCapability)();\n\n this._requests.push(requestCapability);\n\n return requestCapability.promise;\n }\n\n cancel(reason) {\n this._done = true;\n\n this._headersReceivedCapability.reject(reason);\n\n this._requests.forEach(function (requestCapability) {\n requestCapability.resolve({\n value: undefined,\n done: true\n });\n });\n\n this._requests = [];\n\n if (this._manager.isPendingRequest(this._fullRequestId)) {\n this._manager.abortRequest(this._fullRequestId);\n }\n\n this._fullRequestReader = null;\n }\n\n}\n\nclass PDFNetworkStreamRangeRequestReader {\n constructor(manager, begin, end) {\n this._manager = manager;\n const args = {\n onDone: this._onDone.bind(this),\n onProgress: this._onProgress.bind(this)\n };\n this._requestId = manager.requestRange(begin, end, args);\n this._requests = [];\n this._queuedChunk = null;\n this._done = false;\n this.onProgress = null;\n this.onClosed = null;\n }\n\n _close() {\n if (this.onClosed) {\n this.onClosed(this);\n }\n }\n\n _onDone(data) {\n const chunk = data.chunk;\n\n if (this._requests.length > 0) {\n const requestCapability = this._requests.shift();\n\n requestCapability.resolve({\n value: chunk,\n done: false\n });\n } else {\n this._queuedChunk = chunk;\n }\n\n this._done = true;\n\n this._requests.forEach(function (requestCapability) {\n requestCapability.resolve({\n value: undefined,\n done: true\n });\n });\n\n this._requests = [];\n\n this._close();\n }\n\n _onProgress(evt) {\n if (!this.isStreamingSupported && this.onProgress) {\n this.onProgress({\n loaded: evt.loaded\n });\n }\n }\n\n get isStreamingSupported() {\n return false;\n }\n\n async read() {\n if (this._queuedChunk !== null) {\n const chunk = this._queuedChunk;\n this._queuedChunk = null;\n return {\n value: chunk,\n done: false\n };\n }\n\n if (this._done) {\n return {\n value: undefined,\n done: true\n };\n }\n\n const requestCapability = (0, _util.createPromiseCapability)();\n\n this._requests.push(requestCapability);\n\n return requestCapability.promise;\n }\n\n cancel(reason) {\n this._done = true;\n\n this._requests.forEach(function (requestCapability) {\n requestCapability.resolve({\n value: undefined,\n done: true\n });\n });\n\n this._requests = [];\n\n if (this._manager.isPendingRequest(this._requestId)) {\n this._manager.abortRequest(this._requestId);\n }\n\n this._close();\n }\n\n}\n\n/***/ }),\n/* 23 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.PDFFetchStream = void 0;\n\nvar _util = __w_pdfjs_require__(2);\n\nvar _network_utils = __w_pdfjs_require__(20);\n\n;\n\nfunction createFetchOptions(headers, withCredentials, abortController) {\n return {\n method: \"GET\",\n headers,\n signal: abortController && abortController.signal,\n mode: \"cors\",\n credentials: withCredentials ? \"include\" : \"same-origin\",\n redirect: \"follow\"\n };\n}\n\nfunction createHeaders(httpHeaders) {\n const headers = new Headers();\n\n for (const property in httpHeaders) {\n const value = httpHeaders[property];\n\n if (typeof value === \"undefined\") {\n continue;\n }\n\n headers.append(property, value);\n }\n\n return headers;\n}\n\nclass PDFFetchStream {\n constructor(source) {\n this.source = source;\n this.isHttp = /^https?:/i.test(source.url);\n this.httpHeaders = this.isHttp && source.httpHeaders || {};\n this._fullRequestReader = null;\n this._rangeRequestReaders = [];\n }\n\n get _progressiveDataLength() {\n return this._fullRequestReader ? this._fullRequestReader._loaded : 0;\n }\n\n getFullReader() {\n (0, _util.assert)(!this._fullRequestReader, \"PDFFetchStream.getFullReader can only be called once.\");\n this._fullRequestReader = new PDFFetchStreamReader(this);\n return this._fullRequestReader;\n }\n\n getRangeReader(begin, end) {\n if (end <= this._progressiveDataLength) {\n return null;\n }\n\n const reader = new PDFFetchStreamRangeReader(this, begin, end);\n\n this._rangeRequestReaders.push(reader);\n\n return reader;\n }\n\n cancelAllRequests(reason) {\n if (this._fullRequestReader) {\n this._fullRequestReader.cancel(reason);\n }\n\n const readers = this._rangeRequestReaders.slice(0);\n\n readers.forEach(function (reader) {\n reader.cancel(reason);\n });\n }\n\n}\n\nexports.PDFFetchStream = PDFFetchStream;\n\nclass PDFFetchStreamReader {\n constructor(stream) {\n this._stream = stream;\n this._reader = null;\n this._loaded = 0;\n this._filename = null;\n const source = stream.source;\n this._withCredentials = source.withCredentials || false;\n this._contentLength = source.length;\n this._headersCapability = (0, _util.createPromiseCapability)();\n this._disableRange = source.disableRange || false;\n this._rangeChunkSize = source.rangeChunkSize;\n\n if (!this._rangeChunkSize && !this._disableRange) {\n this._disableRange = true;\n }\n\n if (typeof AbortController !== \"undefined\") {\n this._abortController = new AbortController();\n }\n\n this._isStreamingSupported = !source.disableStream;\n this._isRangeSupported = !source.disableRange;\n this._headers = createHeaders(this._stream.httpHeaders);\n const url = source.url;\n fetch(url, createFetchOptions(this._headers, this._withCredentials, this._abortController)).then(response => {\n if (!(0, _network_utils.validateResponseStatus)(response.status)) {\n throw (0, _network_utils.createResponseStatusError)(response.status, url);\n }\n\n this._reader = response.body.getReader();\n\n this._headersCapability.resolve();\n\n const getResponseHeader = name => {\n return response.headers.get(name);\n };\n\n const {\n allowRangeRequests,\n suggestedLength\n } = (0, _network_utils.validateRangeRequestCapabilities)({\n getResponseHeader,\n isHttp: this._stream.isHttp,\n rangeChunkSize: this._rangeChunkSize,\n disableRange: this._disableRange\n });\n this._isRangeSupported = allowRangeRequests;\n this._contentLength = suggestedLength || this._contentLength;\n this._filename = (0, _network_utils.extractFilenameFromHeader)(getResponseHeader);\n\n if (!this._isStreamingSupported && this._isRangeSupported) {\n this.cancel(new _util.AbortException(\"Streaming is disabled.\"));\n }\n }).catch(this._headersCapability.reject);\n this.onProgress = null;\n }\n\n get headersReady() {\n return this._headersCapability.promise;\n }\n\n get filename() {\n return this._filename;\n }\n\n get contentLength() {\n return this._contentLength;\n }\n\n get isRangeSupported() {\n return this._isRangeSupported;\n }\n\n get isStreamingSupported() {\n return this._isStreamingSupported;\n }\n\n async read() {\n await this._headersCapability.promise;\n const {\n value,\n done\n } = await this._reader.read();\n\n if (done) {\n return {\n value,\n done\n };\n }\n\n this._loaded += value.byteLength;\n\n if (this.onProgress) {\n this.onProgress({\n loaded: this._loaded,\n total: this._contentLength\n });\n }\n\n const buffer = new Uint8Array(value).buffer;\n return {\n value: buffer,\n done: false\n };\n }\n\n cancel(reason) {\n if (this._reader) {\n this._reader.cancel(reason);\n }\n\n if (this._abortController) {\n this._abortController.abort();\n }\n }\n\n}\n\nclass PDFFetchStreamRangeReader {\n constructor(stream, begin, end) {\n this._stream = stream;\n this._reader = null;\n this._loaded = 0;\n const source = stream.source;\n this._withCredentials = source.withCredentials || false;\n this._readCapability = (0, _util.createPromiseCapability)();\n this._isStreamingSupported = !source.disableStream;\n\n if (typeof AbortController !== \"undefined\") {\n this._abortController = new AbortController();\n }\n\n this._headers = createHeaders(this._stream.httpHeaders);\n\n this._headers.append(\"Range\", `bytes=${begin}-${end - 1}`);\n\n const url = source.url;\n fetch(url, createFetchOptions(this._headers, this._withCredentials, this._abortController)).then(response => {\n if (!(0, _network_utils.validateResponseStatus)(response.status)) {\n throw (0, _network_utils.createResponseStatusError)(response.status, url);\n }\n\n this._readCapability.resolve();\n\n this._reader = response.body.getReader();\n });\n this.onProgress = null;\n }\n\n get isStreamingSupported() {\n return this._isStreamingSupported;\n }\n\n async read() {\n await this._readCapability.promise;\n const {\n value,\n done\n } = await this._reader.read();\n\n if (done) {\n return {\n value,\n done\n };\n }\n\n this._loaded += value.byteLength;\n\n if (this.onProgress) {\n this.onProgress({\n loaded: this._loaded\n });\n }\n\n const buffer = new Uint8Array(value).buffer;\n return {\n value: buffer,\n done: false\n };\n }\n\n cancel(reason) {\n if (this._reader) {\n this._reader.cancel(reason);\n }\n\n if (this._abortController) {\n this._abortController.abort();\n }\n }\n\n}\n\n/***/ })\n/******/ ]);\n});\n//# sourceMappingURL=pdf.js.map","/**\n * @licstart The following is the entire license notice for the\n * Javascript code in this page\n *\n * Copyright 2020 Mozilla Foundation\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n * @licend The above is the entire license notice for the\n * Javascript code in this page\n */\n\n(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine(\"pdfjs-dist/web/pdf_viewer\", [], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"pdfjs-dist/web/pdf_viewer\"] = factory();\n\telse\n\t\troot[\"pdfjs-dist/web/pdf_viewer\"] = root.pdfjsViewer = factory();\n})(this, function() {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __w_pdfjs_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __w_pdfjs_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__w_pdfjs_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__w_pdfjs_require__.c = installedModules;\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__w_pdfjs_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__w_pdfjs_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// define __esModule on exports\n/******/ \t__w_pdfjs_require__.r = function(exports) {\n/******/ \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n/******/ \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n/******/ \t\t}\n/******/ \t\tObject.defineProperty(exports, '__esModule', { value: true });\n/******/ \t};\n/******/\n/******/ \t// create a fake namespace object\n/******/ \t// mode & 1: value is a module id, require it\n/******/ \t// mode & 2: merge all properties of value into the ns\n/******/ \t// mode & 4: return value when already ns object\n/******/ \t// mode & 8|1: behave like require\n/******/ \t__w_pdfjs_require__.t = function(value, mode) {\n/******/ \t\tif(mode & 1) value = __w_pdfjs_require__(value);\n/******/ \t\tif(mode & 8) return value;\n/******/ \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n/******/ \t\tvar ns = Object.create(null);\n/******/ \t\t__w_pdfjs_require__.r(ns);\n/******/ \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n/******/ \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __w_pdfjs_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n/******/ \t\treturn ns;\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__w_pdfjs_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__w_pdfjs_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__w_pdfjs_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__w_pdfjs_require__.p = \"\";\n/******/\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __w_pdfjs_require__(__w_pdfjs_require__.s = 0);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nObject.defineProperty(exports, \"AnnotationLayerBuilder\", {\n enumerable: true,\n get: function () {\n return _annotation_layer_builder.AnnotationLayerBuilder;\n }\n});\nObject.defineProperty(exports, \"DefaultAnnotationLayerFactory\", {\n enumerable: true,\n get: function () {\n return _annotation_layer_builder.DefaultAnnotationLayerFactory;\n }\n});\nObject.defineProperty(exports, \"DefaultTextLayerFactory\", {\n enumerable: true,\n get: function () {\n return _text_layer_builder.DefaultTextLayerFactory;\n }\n});\nObject.defineProperty(exports, \"TextLayerBuilder\", {\n enumerable: true,\n get: function () {\n return _text_layer_builder.TextLayerBuilder;\n }\n});\nObject.defineProperty(exports, \"EventBus\", {\n enumerable: true,\n get: function () {\n return _ui_utils.EventBus;\n }\n});\nObject.defineProperty(exports, \"NullL10n\", {\n enumerable: true,\n get: function () {\n return _ui_utils.NullL10n;\n }\n});\nObject.defineProperty(exports, \"ProgressBar\", {\n enumerable: true,\n get: function () {\n return _ui_utils.ProgressBar;\n }\n});\nObject.defineProperty(exports, \"PDFLinkService\", {\n enumerable: true,\n get: function () {\n return _pdf_link_service.PDFLinkService;\n }\n});\nObject.defineProperty(exports, \"SimpleLinkService\", {\n enumerable: true,\n get: function () {\n return _pdf_link_service.SimpleLinkService;\n }\n});\nObject.defineProperty(exports, \"DownloadManager\", {\n enumerable: true,\n get: function () {\n return _download_manager.DownloadManager;\n }\n});\nObject.defineProperty(exports, \"GenericL10n\", {\n enumerable: true,\n get: function () {\n return _genericl10n.GenericL10n;\n }\n});\nObject.defineProperty(exports, \"PDFFindController\", {\n enumerable: true,\n get: function () {\n return _pdf_find_controller.PDFFindController;\n }\n});\nObject.defineProperty(exports, \"PDFHistory\", {\n enumerable: true,\n get: function () {\n return _pdf_history.PDFHistory;\n }\n});\nObject.defineProperty(exports, \"PDFPageView\", {\n enumerable: true,\n get: function () {\n return _pdf_page_view.PDFPageView;\n }\n});\nObject.defineProperty(exports, \"PDFSinglePageViewer\", {\n enumerable: true,\n get: function () {\n return _pdf_single_page_viewer.PDFSinglePageViewer;\n }\n});\nObject.defineProperty(exports, \"PDFViewer\", {\n enumerable: true,\n get: function () {\n return _pdf_viewer.PDFViewer;\n }\n});\n\nvar _annotation_layer_builder = __w_pdfjs_require__(1);\n\nvar _text_layer_builder = __w_pdfjs_require__(5);\n\nvar _ui_utils = __w_pdfjs_require__(3);\n\nvar _pdf_link_service = __w_pdfjs_require__(4);\n\nvar _download_manager = __w_pdfjs_require__(6);\n\nvar _genericl10n = __w_pdfjs_require__(8);\n\nvar _pdf_find_controller = __w_pdfjs_require__(10);\n\nvar _pdf_history = __w_pdfjs_require__(12);\n\nvar _pdf_page_view = __w_pdfjs_require__(13);\n\nvar _pdf_single_page_viewer = __w_pdfjs_require__(15);\n\nvar _pdf_viewer = __w_pdfjs_require__(17);\n\nconst pdfjsVersion = '2.5.207';\nconst pdfjsBuild = '0974d605';\n\n/***/ }),\n/* 1 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.DefaultAnnotationLayerFactory = exports.AnnotationLayerBuilder = void 0;\n\nvar _pdfjsLib = __w_pdfjs_require__(2);\n\nvar _ui_utils = __w_pdfjs_require__(3);\n\nvar _pdf_link_service = __w_pdfjs_require__(4);\n\nclass AnnotationLayerBuilder {\n constructor({\n pageDiv,\n pdfPage,\n linkService,\n downloadManager,\n imageResourcesPath = \"\",\n renderInteractiveForms = false,\n l10n = _ui_utils.NullL10n\n }) {\n this.pageDiv = pageDiv;\n this.pdfPage = pdfPage;\n this.linkService = linkService;\n this.downloadManager = downloadManager;\n this.imageResourcesPath = imageResourcesPath;\n this.renderInteractiveForms = renderInteractiveForms;\n this.l10n = l10n;\n this.div = null;\n this._cancelled = false;\n }\n\n render(viewport, intent = \"display\") {\n this.pdfPage.getAnnotations({\n intent\n }).then(annotations => {\n if (this._cancelled) {\n return;\n }\n\n const parameters = {\n viewport: viewport.clone({\n dontFlip: true\n }),\n div: this.div,\n annotations,\n page: this.pdfPage,\n imageResourcesPath: this.imageResourcesPath,\n renderInteractiveForms: this.renderInteractiveForms,\n linkService: this.linkService,\n downloadManager: this.downloadManager\n };\n\n if (this.div) {\n _pdfjsLib.AnnotationLayer.update(parameters);\n } else {\n if (annotations.length === 0) {\n return;\n }\n\n this.div = document.createElement(\"div\");\n this.div.className = \"annotationLayer\";\n this.pageDiv.appendChild(this.div);\n parameters.div = this.div;\n\n _pdfjsLib.AnnotationLayer.render(parameters);\n\n this.l10n.translate(this.div);\n }\n });\n }\n\n cancel() {\n this._cancelled = true;\n }\n\n hide() {\n if (!this.div) {\n return;\n }\n\n this.div.setAttribute(\"hidden\", \"true\");\n }\n\n}\n\nexports.AnnotationLayerBuilder = AnnotationLayerBuilder;\n\nclass DefaultAnnotationLayerFactory {\n createAnnotationLayerBuilder(pageDiv, pdfPage, imageResourcesPath = \"\", renderInteractiveForms = false, l10n = _ui_utils.NullL10n) {\n return new AnnotationLayerBuilder({\n pageDiv,\n pdfPage,\n imageResourcesPath,\n renderInteractiveForms,\n linkService: new _pdf_link_service.SimpleLinkService(),\n l10n\n });\n }\n\n}\n\nexports.DefaultAnnotationLayerFactory = DefaultAnnotationLayerFactory;\n\n/***/ }),\n/* 2 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nlet pdfjsLib;\n\nif (typeof window !== \"undefined\" && window[\"pdfjs-dist/build/pdf\"]) {\n pdfjsLib = window[\"pdfjs-dist/build/pdf\"];\n} else {\n pdfjsLib = require(\"../build/pdf.js\");\n}\n\nmodule.exports = pdfjsLib;\n\n/***/ }),\n/* 3 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.isValidRotation = isValidRotation;\nexports.isValidScrollMode = isValidScrollMode;\nexports.isValidSpreadMode = isValidSpreadMode;\nexports.isPortraitOrientation = isPortraitOrientation;\nexports.clamp = clamp;\nexports.getPDFFileNameFromURL = getPDFFileNameFromURL;\nexports.noContextMenuHandler = noContextMenuHandler;\nexports.parseQueryString = parseQueryString;\nexports.backtrackBeforeAllVisibleElements = backtrackBeforeAllVisibleElements;\nexports.getVisibleElements = getVisibleElements;\nexports.roundToDivide = roundToDivide;\nexports.getPageSizeInches = getPageSizeInches;\nexports.approximateFraction = approximateFraction;\nexports.getOutputScale = getOutputScale;\nexports.scrollIntoView = scrollIntoView;\nexports.watchScroll = watchScroll;\nexports.binarySearchFirstItem = binarySearchFirstItem;\nexports.normalizeWheelEventDelta = normalizeWheelEventDelta;\nexports.waitOnEventOrTimeout = waitOnEventOrTimeout;\nexports.moveToEndOfArray = moveToEndOfArray;\nexports.WaitOnType = exports.animationStarted = exports.ProgressBar = exports.EventBus = exports.NullL10n = exports.SpreadMode = exports.ScrollMode = exports.TextLayerMode = exports.RendererType = exports.PresentationModeState = exports.VERTICAL_PADDING = exports.SCROLLBAR_PADDING = exports.MAX_AUTO_SCALE = exports.UNKNOWN_SCALE = exports.MAX_SCALE = exports.MIN_SCALE = exports.DEFAULT_SCALE = exports.DEFAULT_SCALE_VALUE = exports.CSS_UNITS = exports.AutoPrintRegExp = void 0;\nconst CSS_UNITS = 96.0 / 72.0;\nexports.CSS_UNITS = CSS_UNITS;\nconst DEFAULT_SCALE_VALUE = \"auto\";\nexports.DEFAULT_SCALE_VALUE = DEFAULT_SCALE_VALUE;\nconst DEFAULT_SCALE = 1.0;\nexports.DEFAULT_SCALE = DEFAULT_SCALE;\nconst MIN_SCALE = 0.1;\nexports.MIN_SCALE = MIN_SCALE;\nconst MAX_SCALE = 10.0;\nexports.MAX_SCALE = MAX_SCALE;\nconst UNKNOWN_SCALE = 0;\nexports.UNKNOWN_SCALE = UNKNOWN_SCALE;\nconst MAX_AUTO_SCALE = 1.25;\nexports.MAX_AUTO_SCALE = MAX_AUTO_SCALE;\nconst SCROLLBAR_PADDING = 40;\nexports.SCROLLBAR_PADDING = SCROLLBAR_PADDING;\nconst VERTICAL_PADDING = 5;\nexports.VERTICAL_PADDING = VERTICAL_PADDING;\nconst PresentationModeState = {\n UNKNOWN: 0,\n NORMAL: 1,\n CHANGING: 2,\n FULLSCREEN: 3\n};\nexports.PresentationModeState = PresentationModeState;\nconst RendererType = {\n CANVAS: \"canvas\",\n SVG: \"svg\"\n};\nexports.RendererType = RendererType;\nconst TextLayerMode = {\n DISABLE: 0,\n ENABLE: 1,\n ENABLE_ENHANCE: 2\n};\nexports.TextLayerMode = TextLayerMode;\nconst ScrollMode = {\n UNKNOWN: -1,\n VERTICAL: 0,\n HORIZONTAL: 1,\n WRAPPED: 2\n};\nexports.ScrollMode = ScrollMode;\nconst SpreadMode = {\n UNKNOWN: -1,\n NONE: 0,\n ODD: 1,\n EVEN: 2\n};\nexports.SpreadMode = SpreadMode;\nconst AutoPrintRegExp = /\\bprint\\s*\\(/;\nexports.AutoPrintRegExp = AutoPrintRegExp;\n\nfunction formatL10nValue(text, args) {\n if (!args) {\n return text;\n }\n\n return text.replace(/\\{\\{\\s*(\\w+)\\s*\\}\\}/g, (all, name) => {\n return name in args ? args[name] : \"{{\" + name + \"}}\";\n });\n}\n\nconst NullL10n = {\n async getLanguage() {\n return \"en-us\";\n },\n\n async getDirection() {\n return \"ltr\";\n },\n\n async get(property, args, fallback) {\n return formatL10nValue(fallback, args);\n },\n\n async translate(element) {}\n\n};\nexports.NullL10n = NullL10n;\n\nfunction getOutputScale(ctx) {\n const devicePixelRatio = window.devicePixelRatio || 1;\n const backingStoreRatio = ctx.webkitBackingStorePixelRatio || ctx.mozBackingStorePixelRatio || ctx.msBackingStorePixelRatio || ctx.oBackingStorePixelRatio || ctx.backingStorePixelRatio || 1;\n const pixelRatio = devicePixelRatio / backingStoreRatio;\n return {\n sx: pixelRatio,\n sy: pixelRatio,\n scaled: pixelRatio !== 1\n };\n}\n\nfunction scrollIntoView(element, spot, skipOverflowHiddenElements = false) {\n let parent = element.offsetParent;\n\n if (!parent) {\n console.error(\"offsetParent is not set -- cannot scroll\");\n return;\n }\n\n let offsetY = element.offsetTop + element.clientTop;\n let offsetX = element.offsetLeft + element.clientLeft;\n\n while (parent.clientHeight === parent.scrollHeight && parent.clientWidth === parent.scrollWidth || skipOverflowHiddenElements && getComputedStyle(parent).overflow === \"hidden\") {\n if (parent.dataset._scaleY) {\n offsetY /= parent.dataset._scaleY;\n offsetX /= parent.dataset._scaleX;\n }\n\n offsetY += parent.offsetTop;\n offsetX += parent.offsetLeft;\n parent = parent.offsetParent;\n\n if (!parent) {\n return;\n }\n }\n\n if (spot) {\n if (spot.top !== undefined) {\n offsetY += spot.top;\n }\n\n if (spot.left !== undefined) {\n offsetX += spot.left;\n parent.scrollLeft = offsetX;\n }\n }\n\n parent.scrollTop = offsetY;\n}\n\nfunction watchScroll(viewAreaElement, callback) {\n const debounceScroll = function (evt) {\n if (rAF) {\n return;\n }\n\n rAF = window.requestAnimationFrame(function viewAreaElementScrolled() {\n rAF = null;\n const currentX = viewAreaElement.scrollLeft;\n const lastX = state.lastX;\n\n if (currentX !== lastX) {\n state.right = currentX > lastX;\n }\n\n state.lastX = currentX;\n const currentY = viewAreaElement.scrollTop;\n const lastY = state.lastY;\n\n if (currentY !== lastY) {\n state.down = currentY > lastY;\n }\n\n state.lastY = currentY;\n callback(state);\n });\n };\n\n const state = {\n right: true,\n down: true,\n lastX: viewAreaElement.scrollLeft,\n lastY: viewAreaElement.scrollTop,\n _eventHandler: debounceScroll\n };\n let rAF = null;\n viewAreaElement.addEventListener(\"scroll\", debounceScroll, true);\n return state;\n}\n\nfunction parseQueryString(query) {\n const parts = query.split(\"&\");\n const params = Object.create(null);\n\n for (let i = 0, ii = parts.length; i < ii; ++i) {\n const param = parts[i].split(\"=\");\n const key = param[0].toLowerCase();\n const value = param.length > 1 ? param[1] : null;\n params[decodeURIComponent(key)] = decodeURIComponent(value);\n }\n\n return params;\n}\n\nfunction binarySearchFirstItem(items, condition) {\n let minIndex = 0;\n let maxIndex = items.length - 1;\n\n if (maxIndex < 0 || !condition(items[maxIndex])) {\n return items.length;\n }\n\n if (condition(items[minIndex])) {\n return minIndex;\n }\n\n while (minIndex < maxIndex) {\n const currentIndex = minIndex + maxIndex >> 1;\n const currentItem = items[currentIndex];\n\n if (condition(currentItem)) {\n maxIndex = currentIndex;\n } else {\n minIndex = currentIndex + 1;\n }\n }\n\n return minIndex;\n}\n\nfunction approximateFraction(x) {\n if (Math.floor(x) === x) {\n return [x, 1];\n }\n\n const xinv = 1 / x;\n const limit = 8;\n\n if (xinv > limit) {\n return [1, limit];\n } else if (Math.floor(xinv) === xinv) {\n return [1, xinv];\n }\n\n const x_ = x > 1 ? xinv : x;\n let a = 0,\n b = 1,\n c = 1,\n d = 1;\n\n while (true) {\n const p = a + c,\n q = b + d;\n\n if (q > limit) {\n break;\n }\n\n if (x_ <= p / q) {\n c = p;\n d = q;\n } else {\n a = p;\n b = q;\n }\n }\n\n let result;\n\n if (x_ - a / b < c / d - x_) {\n result = x_ === x ? [a, b] : [b, a];\n } else {\n result = x_ === x ? [c, d] : [d, c];\n }\n\n return result;\n}\n\nfunction roundToDivide(x, div) {\n const r = x % div;\n return r === 0 ? x : Math.round(x - r + div);\n}\n\nfunction getPageSizeInches({\n view,\n userUnit,\n rotate\n}) {\n const [x1, y1, x2, y2] = view;\n const changeOrientation = rotate % 180 !== 0;\n const width = (x2 - x1) / 72 * userUnit;\n const height = (y2 - y1) / 72 * userUnit;\n return {\n width: changeOrientation ? height : width,\n height: changeOrientation ? width : height\n };\n}\n\nfunction backtrackBeforeAllVisibleElements(index, views, top) {\n if (index < 2) {\n return index;\n }\n\n let elt = views[index].div;\n let pageTop = elt.offsetTop + elt.clientTop;\n\n if (pageTop >= top) {\n elt = views[index - 1].div;\n pageTop = elt.offsetTop + elt.clientTop;\n }\n\n for (let i = index - 2; i >= 0; --i) {\n elt = views[i].div;\n\n if (elt.offsetTop + elt.clientTop + elt.clientHeight <= pageTop) {\n break;\n }\n\n index = i;\n }\n\n return index;\n}\n\nfunction getVisibleElements(scrollEl, views, sortByVisibility = false, horizontal = false) {\n const top = scrollEl.scrollTop,\n bottom = top + scrollEl.clientHeight;\n const left = scrollEl.scrollLeft,\n right = left + scrollEl.clientWidth;\n\n function isElementBottomAfterViewTop(view) {\n const element = view.div;\n const elementBottom = element.offsetTop + element.clientTop + element.clientHeight;\n return elementBottom > top;\n }\n\n function isElementRightAfterViewLeft(view) {\n const element = view.div;\n const elementRight = element.offsetLeft + element.clientLeft + element.clientWidth;\n return elementRight > left;\n }\n\n const visible = [],\n numViews = views.length;\n let firstVisibleElementInd = numViews === 0 ? 0 : binarySearchFirstItem(views, horizontal ? isElementRightAfterViewLeft : isElementBottomAfterViewTop);\n\n if (firstVisibleElementInd > 0 && firstVisibleElementInd < numViews && !horizontal) {\n firstVisibleElementInd = backtrackBeforeAllVisibleElements(firstVisibleElementInd, views, top);\n }\n\n let lastEdge = horizontal ? right : -1;\n\n for (let i = firstVisibleElementInd; i < numViews; i++) {\n const view = views[i],\n element = view.div;\n const currentWidth = element.offsetLeft + element.clientLeft;\n const currentHeight = element.offsetTop + element.clientTop;\n const viewWidth = element.clientWidth,\n viewHeight = element.clientHeight;\n const viewRight = currentWidth + viewWidth;\n const viewBottom = currentHeight + viewHeight;\n\n if (lastEdge === -1) {\n if (viewBottom >= bottom) {\n lastEdge = viewBottom;\n }\n } else if ((horizontal ? currentWidth : currentHeight) > lastEdge) {\n break;\n }\n\n if (viewBottom <= top || currentHeight >= bottom || viewRight <= left || currentWidth >= right) {\n continue;\n }\n\n const hiddenHeight = Math.max(0, top - currentHeight) + Math.max(0, viewBottom - bottom);\n const hiddenWidth = Math.max(0, left - currentWidth) + Math.max(0, viewRight - right);\n const percent = (viewHeight - hiddenHeight) * (viewWidth - hiddenWidth) * 100 / viewHeight / viewWidth | 0;\n visible.push({\n id: view.id,\n x: currentWidth,\n y: currentHeight,\n view,\n percent\n });\n }\n\n const first = visible[0],\n last = visible[visible.length - 1];\n\n if (sortByVisibility) {\n visible.sort(function (a, b) {\n const pc = a.percent - b.percent;\n\n if (Math.abs(pc) > 0.001) {\n return -pc;\n }\n\n return a.id - b.id;\n });\n }\n\n return {\n first,\n last,\n views: visible\n };\n}\n\nfunction noContextMenuHandler(evt) {\n evt.preventDefault();\n}\n\nfunction isDataSchema(url) {\n let i = 0;\n const ii = url.length;\n\n while (i < ii && url[i].trim() === \"\") {\n i++;\n }\n\n return url.substring(i, i + 5).toLowerCase() === \"data:\";\n}\n\nfunction getPDFFileNameFromURL(url, defaultFilename = \"document.pdf\") {\n if (typeof url !== \"string\") {\n return defaultFilename;\n }\n\n if (isDataSchema(url)) {\n console.warn(\"getPDFFileNameFromURL: \" + 'ignoring \"data:\" URL for performance reasons.');\n return defaultFilename;\n }\n\n const reURI = /^(?:(?:[^:]+:)?\\/\\/[^\\/]+)?([^?#]*)(\\?[^#]*)?(#.*)?$/;\n const reFilename = /[^\\/?#=]+\\.pdf\\b(?!.*\\.pdf\\b)/i;\n const splitURI = reURI.exec(url);\n let suggestedFilename = reFilename.exec(splitURI[1]) || reFilename.exec(splitURI[2]) || reFilename.exec(splitURI[3]);\n\n if (suggestedFilename) {\n suggestedFilename = suggestedFilename[0];\n\n if (suggestedFilename.includes(\"%\")) {\n try {\n suggestedFilename = reFilename.exec(decodeURIComponent(suggestedFilename))[0];\n } catch (ex) {}\n }\n }\n\n return suggestedFilename || defaultFilename;\n}\n\nfunction normalizeWheelEventDelta(evt) {\n let delta = Math.sqrt(evt.deltaX * evt.deltaX + evt.deltaY * evt.deltaY);\n const angle = Math.atan2(evt.deltaY, evt.deltaX);\n\n if (-0.25 * Math.PI < angle && angle < 0.75 * Math.PI) {\n delta = -delta;\n }\n\n const MOUSE_DOM_DELTA_PIXEL_MODE = 0;\n const MOUSE_DOM_DELTA_LINE_MODE = 1;\n const MOUSE_PIXELS_PER_LINE = 30;\n const MOUSE_LINES_PER_PAGE = 30;\n\n if (evt.deltaMode === MOUSE_DOM_DELTA_PIXEL_MODE) {\n delta /= MOUSE_PIXELS_PER_LINE * MOUSE_LINES_PER_PAGE;\n } else if (evt.deltaMode === MOUSE_DOM_DELTA_LINE_MODE) {\n delta /= MOUSE_LINES_PER_PAGE;\n }\n\n return delta;\n}\n\nfunction isValidRotation(angle) {\n return Number.isInteger(angle) && angle % 90 === 0;\n}\n\nfunction isValidScrollMode(mode) {\n return Number.isInteger(mode) && Object.values(ScrollMode).includes(mode) && mode !== ScrollMode.UNKNOWN;\n}\n\nfunction isValidSpreadMode(mode) {\n return Number.isInteger(mode) && Object.values(SpreadMode).includes(mode) && mode !== SpreadMode.UNKNOWN;\n}\n\nfunction isPortraitOrientation(size) {\n return size.width <= size.height;\n}\n\nconst WaitOnType = {\n EVENT: \"event\",\n TIMEOUT: \"timeout\"\n};\nexports.WaitOnType = WaitOnType;\n\nfunction waitOnEventOrTimeout({\n target,\n name,\n delay = 0\n}) {\n return new Promise(function (resolve, reject) {\n if (typeof target !== \"object\" || !(name && typeof name === \"string\") || !(Number.isInteger(delay) && delay >= 0)) {\n throw new Error(\"waitOnEventOrTimeout - invalid parameters.\");\n }\n\n function handler(type) {\n if (target instanceof EventBus) {\n target._off(name, eventHandler);\n } else {\n target.removeEventListener(name, eventHandler);\n }\n\n if (timeout) {\n clearTimeout(timeout);\n }\n\n resolve(type);\n }\n\n const eventHandler = handler.bind(null, WaitOnType.EVENT);\n\n if (target instanceof EventBus) {\n target._on(name, eventHandler);\n } else {\n target.addEventListener(name, eventHandler);\n }\n\n const timeoutHandler = handler.bind(null, WaitOnType.TIMEOUT);\n const timeout = setTimeout(timeoutHandler, delay);\n });\n}\n\nconst animationStarted = new Promise(function (resolve) {\n window.requestAnimationFrame(resolve);\n});\nexports.animationStarted = animationStarted;\n\nfunction dispatchDOMEvent(eventName, args = null) {\n throw new Error(\"Not implemented: dispatchDOMEvent\");\n}\n\nclass EventBus {\n constructor(options) {\n this._listeners = Object.create(null);\n }\n\n on(eventName, listener) {\n this._on(eventName, listener, {\n external: true\n });\n }\n\n off(eventName, listener) {\n this._off(eventName, listener, {\n external: true\n });\n }\n\n dispatch(eventName) {\n const eventListeners = this._listeners[eventName];\n\n if (!eventListeners || eventListeners.length === 0) {\n return;\n }\n\n const args = Array.prototype.slice.call(arguments, 1);\n let externalListeners;\n eventListeners.slice(0).forEach(function ({\n listener,\n external\n }) {\n if (external) {\n if (!externalListeners) {\n externalListeners = [];\n }\n\n externalListeners.push(listener);\n return;\n }\n\n listener.apply(null, args);\n });\n\n if (externalListeners) {\n externalListeners.forEach(function (listener) {\n listener.apply(null, args);\n });\n externalListeners = null;\n }\n }\n\n _on(eventName, listener, options = null) {\n let eventListeners = this._listeners[eventName];\n\n if (!eventListeners) {\n this._listeners[eventName] = eventListeners = [];\n }\n\n eventListeners.push({\n listener,\n external: (options && options.external) === true\n });\n }\n\n _off(eventName, listener, options = null) {\n const eventListeners = this._listeners[eventName];\n\n if (!eventListeners) {\n return;\n }\n\n for (let i = 0, ii = eventListeners.length; i < ii; i++) {\n if (eventListeners[i].listener === listener) {\n eventListeners.splice(i, 1);\n return;\n }\n }\n }\n\n}\n\nexports.EventBus = EventBus;\n\nfunction clamp(v, min, max) {\n return Math.min(Math.max(v, min), max);\n}\n\nclass ProgressBar {\n constructor(id, {\n height,\n width,\n units\n } = {}) {\n this.visible = true;\n this.div = document.querySelector(id + \" .progress\");\n this.bar = this.div.parentNode;\n this.height = height || 100;\n this.width = width || 100;\n this.units = units || \"%\";\n this.div.style.height = this.height + this.units;\n this.percent = 0;\n }\n\n _updateBar() {\n if (this._indeterminate) {\n this.div.classList.add(\"indeterminate\");\n this.div.style.width = this.width + this.units;\n return;\n }\n\n this.div.classList.remove(\"indeterminate\");\n const progressSize = this.width * this._percent / 100;\n this.div.style.width = progressSize + this.units;\n }\n\n get percent() {\n return this._percent;\n }\n\n set percent(val) {\n this._indeterminate = isNaN(val);\n this._percent = clamp(val, 0, 100);\n\n this._updateBar();\n }\n\n setWidth(viewer) {\n if (!viewer) {\n return;\n }\n\n const container = viewer.parentNode;\n const scrollbarWidth = container.offsetWidth - viewer.offsetWidth;\n\n if (scrollbarWidth > 0) {\n this.bar.style.width = `calc(100% - ${scrollbarWidth}px)`;\n }\n }\n\n hide() {\n if (!this.visible) {\n return;\n }\n\n this.visible = false;\n this.bar.classList.add(\"hidden\");\n document.body.classList.remove(\"loadingInProgress\");\n }\n\n show() {\n if (this.visible) {\n return;\n }\n\n this.visible = true;\n document.body.classList.add(\"loadingInProgress\");\n this.bar.classList.remove(\"hidden\");\n }\n\n}\n\nexports.ProgressBar = ProgressBar;\n\nfunction moveToEndOfArray(arr, condition) {\n const moved = [],\n len = arr.length;\n let write = 0;\n\n for (let read = 0; read < len; ++read) {\n if (condition(arr[read])) {\n moved.push(arr[read]);\n } else {\n arr[write] = arr[read];\n ++write;\n }\n }\n\n for (let read = 0; write < len; ++read, ++write) {\n arr[write] = moved[read];\n }\n}\n\n/***/ }),\n/* 4 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.SimpleLinkService = exports.PDFLinkService = void 0;\n\nvar _ui_utils = __w_pdfjs_require__(3);\n\nclass PDFLinkService {\n constructor({\n eventBus,\n externalLinkTarget = null,\n externalLinkRel = null,\n externalLinkEnabled = true,\n ignoreDestinationZoom = false\n } = {}) {\n this.eventBus = eventBus;\n this.externalLinkTarget = externalLinkTarget;\n this.externalLinkRel = externalLinkRel;\n this.externalLinkEnabled = externalLinkEnabled;\n this._ignoreDestinationZoom = ignoreDestinationZoom;\n this.baseUrl = null;\n this.pdfDocument = null;\n this.pdfViewer = null;\n this.pdfHistory = null;\n this._pagesRefCache = null;\n }\n\n setDocument(pdfDocument, baseUrl = null) {\n this.baseUrl = baseUrl;\n this.pdfDocument = pdfDocument;\n this._pagesRefCache = Object.create(null);\n }\n\n setViewer(pdfViewer) {\n this.pdfViewer = pdfViewer;\n }\n\n setHistory(pdfHistory) {\n this.pdfHistory = pdfHistory;\n }\n\n get pagesCount() {\n return this.pdfDocument ? this.pdfDocument.numPages : 0;\n }\n\n get page() {\n return this.pdfViewer.currentPageNumber;\n }\n\n set page(value) {\n this.pdfViewer.currentPageNumber = value;\n }\n\n get rotation() {\n return this.pdfViewer.pagesRotation;\n }\n\n set rotation(value) {\n this.pdfViewer.pagesRotation = value;\n }\n\n navigateTo(dest) {\n const goToDestination = ({\n namedDest,\n explicitDest\n }) => {\n const destRef = explicitDest[0];\n let pageNumber;\n\n if (destRef instanceof Object) {\n pageNumber = this._cachedPageNumber(destRef);\n\n if (pageNumber === null) {\n this.pdfDocument.getPageIndex(destRef).then(pageIndex => {\n this.cachePageRef(pageIndex + 1, destRef);\n goToDestination({\n namedDest,\n explicitDest\n });\n }).catch(() => {\n console.error(`PDFLinkService.navigateTo: \"${destRef}\" is not ` + `a valid page reference, for dest=\"${dest}\".`);\n });\n return;\n }\n } else if (Number.isInteger(destRef)) {\n pageNumber = destRef + 1;\n } else {\n console.error(`PDFLinkService.navigateTo: \"${destRef}\" is not ` + `a valid destination reference, for dest=\"${dest}\".`);\n return;\n }\n\n if (!pageNumber || pageNumber < 1 || pageNumber > this.pagesCount) {\n console.error(`PDFLinkService.navigateTo: \"${pageNumber}\" is not ` + `a valid page number, for dest=\"${dest}\".`);\n return;\n }\n\n if (this.pdfHistory) {\n this.pdfHistory.pushCurrentPosition();\n this.pdfHistory.push({\n namedDest,\n explicitDest,\n pageNumber\n });\n }\n\n this.pdfViewer.scrollPageIntoView({\n pageNumber,\n destArray: explicitDest,\n ignoreDestinationZoom: this._ignoreDestinationZoom\n });\n };\n\n new Promise((resolve, reject) => {\n if (typeof dest === \"string\") {\n this.pdfDocument.getDestination(dest).then(destArray => {\n resolve({\n namedDest: dest,\n explicitDest: destArray\n });\n });\n return;\n }\n\n resolve({\n namedDest: \"\",\n explicitDest: dest\n });\n }).then(data => {\n if (!Array.isArray(data.explicitDest)) {\n console.error(`PDFLinkService.navigateTo: \"${data.explicitDest}\" is` + ` not a valid destination array, for dest=\"${dest}\".`);\n return;\n }\n\n goToDestination(data);\n });\n }\n\n getDestinationHash(dest) {\n if (typeof dest === \"string\") {\n return this.getAnchorUrl(\"#\" + escape(dest));\n }\n\n if (Array.isArray(dest)) {\n const str = JSON.stringify(dest);\n return this.getAnchorUrl(\"#\" + escape(str));\n }\n\n return this.getAnchorUrl(\"\");\n }\n\n getAnchorUrl(anchor) {\n return (this.baseUrl || \"\") + anchor;\n }\n\n setHash(hash) {\n let pageNumber, dest;\n\n if (hash.includes(\"=\")) {\n const params = (0, _ui_utils.parseQueryString)(hash);\n\n if (\"search\" in params) {\n this.eventBus.dispatch(\"findfromurlhash\", {\n source: this,\n query: params.search.replace(/\"/g, \"\"),\n phraseSearch: params.phrase === \"true\"\n });\n }\n\n if (\"page\" in params) {\n pageNumber = params.page | 0 || 1;\n }\n\n if (\"zoom\" in params) {\n const zoomArgs = params.zoom.split(\",\");\n const zoomArg = zoomArgs[0];\n const zoomArgNumber = parseFloat(zoomArg);\n\n if (!zoomArg.includes(\"Fit\")) {\n dest = [null, {\n name: \"XYZ\"\n }, zoomArgs.length > 1 ? zoomArgs[1] | 0 : null, zoomArgs.length > 2 ? zoomArgs[2] | 0 : null, zoomArgNumber ? zoomArgNumber / 100 : zoomArg];\n } else {\n if (zoomArg === \"Fit\" || zoomArg === \"FitB\") {\n dest = [null, {\n name: zoomArg\n }];\n } else if (zoomArg === \"FitH\" || zoomArg === \"FitBH\" || zoomArg === \"FitV\" || zoomArg === \"FitBV\") {\n dest = [null, {\n name: zoomArg\n }, zoomArgs.length > 1 ? zoomArgs[1] | 0 : null];\n } else if (zoomArg === \"FitR\") {\n if (zoomArgs.length !== 5) {\n console.error('PDFLinkService.setHash: Not enough parameters for \"FitR\".');\n } else {\n dest = [null, {\n name: zoomArg\n }, zoomArgs[1] | 0, zoomArgs[2] | 0, zoomArgs[3] | 0, zoomArgs[4] | 0];\n }\n } else {\n console.error(`PDFLinkService.setHash: \"${zoomArg}\" is not ` + \"a valid zoom value.\");\n }\n }\n }\n\n if (dest) {\n this.pdfViewer.scrollPageIntoView({\n pageNumber: pageNumber || this.page,\n destArray: dest,\n allowNegativeOffset: true\n });\n } else if (pageNumber) {\n this.page = pageNumber;\n }\n\n if (\"pagemode\" in params) {\n this.eventBus.dispatch(\"pagemode\", {\n source: this,\n mode: params.pagemode\n });\n }\n\n if (\"nameddest\" in params) {\n this.navigateTo(params.nameddest);\n }\n } else {\n dest = unescape(hash);\n\n try {\n dest = JSON.parse(dest);\n\n if (!Array.isArray(dest)) {\n dest = dest.toString();\n }\n } catch (ex) {}\n\n if (typeof dest === \"string\" || isValidExplicitDestination(dest)) {\n this.navigateTo(dest);\n return;\n }\n\n console.error(`PDFLinkService.setHash: \"${unescape(hash)}\" is not ` + \"a valid destination.\");\n }\n }\n\n executeNamedAction(action) {\n switch (action) {\n case \"GoBack\":\n if (this.pdfHistory) {\n this.pdfHistory.back();\n }\n\n break;\n\n case \"GoForward\":\n if (this.pdfHistory) {\n this.pdfHistory.forward();\n }\n\n break;\n\n case \"NextPage\":\n if (this.page < this.pagesCount) {\n this.page++;\n }\n\n break;\n\n case \"PrevPage\":\n if (this.page > 1) {\n this.page--;\n }\n\n break;\n\n case \"LastPage\":\n this.page = this.pagesCount;\n break;\n\n case \"FirstPage\":\n this.page = 1;\n break;\n\n default:\n break;\n }\n\n this.eventBus.dispatch(\"namedaction\", {\n source: this,\n action\n });\n }\n\n cachePageRef(pageNum, pageRef) {\n if (!pageRef) {\n return;\n }\n\n const refStr = pageRef.gen === 0 ? `${pageRef.num}R` : `${pageRef.num}R${pageRef.gen}`;\n this._pagesRefCache[refStr] = pageNum;\n }\n\n _cachedPageNumber(pageRef) {\n const refStr = pageRef.gen === 0 ? `${pageRef.num}R` : `${pageRef.num}R${pageRef.gen}`;\n return this._pagesRefCache && this._pagesRefCache[refStr] || null;\n }\n\n isPageVisible(pageNumber) {\n return this.pdfViewer.isPageVisible(pageNumber);\n }\n\n}\n\nexports.PDFLinkService = PDFLinkService;\n\nfunction isValidExplicitDestination(dest) {\n if (!Array.isArray(dest)) {\n return false;\n }\n\n const destLength = dest.length;\n\n if (destLength < 2) {\n return false;\n }\n\n const page = dest[0];\n\n if (!(typeof page === \"object\" && Number.isInteger(page.num) && Number.isInteger(page.gen)) && !(Number.isInteger(page) && page >= 0)) {\n return false;\n }\n\n const zoom = dest[1];\n\n if (!(typeof zoom === \"object\" && typeof zoom.name === \"string\")) {\n return false;\n }\n\n let allowNull = true;\n\n switch (zoom.name) {\n case \"XYZ\":\n if (destLength !== 5) {\n return false;\n }\n\n break;\n\n case \"Fit\":\n case \"FitB\":\n return destLength === 2;\n\n case \"FitH\":\n case \"FitBH\":\n case \"FitV\":\n case \"FitBV\":\n if (destLength !== 3) {\n return false;\n }\n\n break;\n\n case \"FitR\":\n if (destLength !== 6) {\n return false;\n }\n\n allowNull = false;\n break;\n\n default:\n return false;\n }\n\n for (let i = 2; i < destLength; i++) {\n const param = dest[i];\n\n if (!(typeof param === \"number\" || allowNull && param === null)) {\n return false;\n }\n }\n\n return true;\n}\n\nclass SimpleLinkService {\n constructor() {\n this.externalLinkTarget = null;\n this.externalLinkRel = null;\n this.externalLinkEnabled = true;\n this._ignoreDestinationZoom = false;\n }\n\n get pagesCount() {\n return 0;\n }\n\n get page() {\n return 0;\n }\n\n set page(value) {}\n\n get rotation() {\n return 0;\n }\n\n set rotation(value) {}\n\n navigateTo(dest) {}\n\n getDestinationHash(dest) {\n return \"#\";\n }\n\n getAnchorUrl(hash) {\n return \"#\";\n }\n\n setHash(hash) {}\n\n executeNamedAction(action) {}\n\n cachePageRef(pageNum, pageRef) {}\n\n isPageVisible(pageNumber) {\n return true;\n }\n\n}\n\nexports.SimpleLinkService = SimpleLinkService;\n\n/***/ }),\n/* 5 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.DefaultTextLayerFactory = exports.TextLayerBuilder = void 0;\n\nvar _pdfjsLib = __w_pdfjs_require__(2);\n\nconst EXPAND_DIVS_TIMEOUT = 300;\n\nclass TextLayerBuilder {\n constructor({\n textLayerDiv,\n eventBus,\n pageIndex,\n viewport,\n findController = null,\n enhanceTextSelection = false\n }) {\n this.textLayerDiv = textLayerDiv;\n this.eventBus = eventBus;\n this.textContent = null;\n this.textContentItemsStr = [];\n this.textContentStream = null;\n this.renderingDone = false;\n this.pageIdx = pageIndex;\n this.pageNumber = this.pageIdx + 1;\n this.matches = [];\n this.viewport = viewport;\n this.textDivs = [];\n this.findController = findController;\n this.textLayerRenderTask = null;\n this.enhanceTextSelection = enhanceTextSelection;\n this._onUpdateTextLayerMatches = null;\n\n this._bindMouse();\n }\n\n _finishRendering() {\n this.renderingDone = true;\n\n if (!this.enhanceTextSelection) {\n const endOfContent = document.createElement(\"div\");\n endOfContent.className = \"endOfContent\";\n this.textLayerDiv.appendChild(endOfContent);\n }\n\n this.eventBus.dispatch(\"textlayerrendered\", {\n source: this,\n pageNumber: this.pageNumber,\n numTextDivs: this.textDivs.length\n });\n }\n\n render(timeout = 0) {\n if (!(this.textContent || this.textContentStream) || this.renderingDone) {\n return;\n }\n\n this.cancel();\n this.textDivs = [];\n const textLayerFrag = document.createDocumentFragment();\n this.textLayerRenderTask = (0, _pdfjsLib.renderTextLayer)({\n textContent: this.textContent,\n textContentStream: this.textContentStream,\n container: textLayerFrag,\n viewport: this.viewport,\n textDivs: this.textDivs,\n textContentItemsStr: this.textContentItemsStr,\n timeout,\n enhanceTextSelection: this.enhanceTextSelection\n });\n this.textLayerRenderTask.promise.then(() => {\n this.textLayerDiv.appendChild(textLayerFrag);\n\n this._finishRendering();\n\n this._updateMatches();\n }, function (reason) {});\n\n if (!this._onUpdateTextLayerMatches) {\n this._onUpdateTextLayerMatches = evt => {\n if (evt.pageIndex === this.pageIdx || evt.pageIndex === -1) {\n this._updateMatches();\n }\n };\n\n this.eventBus._on(\"updatetextlayermatches\", this._onUpdateTextLayerMatches);\n }\n }\n\n cancel() {\n if (this.textLayerRenderTask) {\n this.textLayerRenderTask.cancel();\n this.textLayerRenderTask = null;\n }\n\n if (this._onUpdateTextLayerMatches) {\n this.eventBus._off(\"updatetextlayermatches\", this._onUpdateTextLayerMatches);\n\n this._onUpdateTextLayerMatches = null;\n }\n }\n\n setTextContentStream(readableStream) {\n this.cancel();\n this.textContentStream = readableStream;\n }\n\n setTextContent(textContent) {\n this.cancel();\n this.textContent = textContent;\n }\n\n _convertMatches(matches, matchesLength) {\n if (!matches) {\n return [];\n }\n\n const {\n findController,\n textContentItemsStr\n } = this;\n let i = 0,\n iIndex = 0;\n const end = textContentItemsStr.length - 1;\n const queryLen = findController.state.query.length;\n const result = [];\n\n for (let m = 0, mm = matches.length; m < mm; m++) {\n let matchIdx = matches[m];\n\n while (i !== end && matchIdx >= iIndex + textContentItemsStr[i].length) {\n iIndex += textContentItemsStr[i].length;\n i++;\n }\n\n if (i === textContentItemsStr.length) {\n console.error(\"Could not find a matching mapping\");\n }\n\n const match = {\n begin: {\n divIdx: i,\n offset: matchIdx - iIndex\n }\n };\n\n if (matchesLength) {\n matchIdx += matchesLength[m];\n } else {\n matchIdx += queryLen;\n }\n\n while (i !== end && matchIdx > iIndex + textContentItemsStr[i].length) {\n iIndex += textContentItemsStr[i].length;\n i++;\n }\n\n match.end = {\n divIdx: i,\n offset: matchIdx - iIndex\n };\n result.push(match);\n }\n\n return result;\n }\n\n _renderMatches(matches) {\n if (matches.length === 0) {\n return;\n }\n\n const {\n findController,\n pageIdx,\n textContentItemsStr,\n textDivs\n } = this;\n const isSelectedPage = pageIdx === findController.selected.pageIdx;\n const selectedMatchIdx = findController.selected.matchIdx;\n const highlightAll = findController.state.highlightAll;\n let prevEnd = null;\n const infinity = {\n divIdx: -1,\n offset: undefined\n };\n\n function beginText(begin, className) {\n const divIdx = begin.divIdx;\n textDivs[divIdx].textContent = \"\";\n appendTextToDiv(divIdx, 0, begin.offset, className);\n }\n\n function appendTextToDiv(divIdx, fromOffset, toOffset, className) {\n const div = textDivs[divIdx];\n const content = textContentItemsStr[divIdx].substring(fromOffset, toOffset);\n const node = document.createTextNode(content);\n\n if (className) {\n const span = document.createElement(\"span\");\n span.className = className;\n span.appendChild(node);\n div.appendChild(span);\n return;\n }\n\n div.appendChild(node);\n }\n\n let i0 = selectedMatchIdx,\n i1 = i0 + 1;\n\n if (highlightAll) {\n i0 = 0;\n i1 = matches.length;\n } else if (!isSelectedPage) {\n return;\n }\n\n for (let i = i0; i < i1; i++) {\n const match = matches[i];\n const begin = match.begin;\n const end = match.end;\n const isSelected = isSelectedPage && i === selectedMatchIdx;\n const highlightSuffix = isSelected ? \" selected\" : \"\";\n\n if (isSelected) {\n findController.scrollMatchIntoView({\n element: textDivs[begin.divIdx],\n pageIndex: pageIdx,\n matchIndex: selectedMatchIdx\n });\n }\n\n if (!prevEnd || begin.divIdx !== prevEnd.divIdx) {\n if (prevEnd !== null) {\n appendTextToDiv(prevEnd.divIdx, prevEnd.offset, infinity.offset);\n }\n\n beginText(begin);\n } else {\n appendTextToDiv(prevEnd.divIdx, prevEnd.offset, begin.offset);\n }\n\n if (begin.divIdx === end.divIdx) {\n appendTextToDiv(begin.divIdx, begin.offset, end.offset, \"highlight\" + highlightSuffix);\n } else {\n appendTextToDiv(begin.divIdx, begin.offset, infinity.offset, \"highlight begin\" + highlightSuffix);\n\n for (let n0 = begin.divIdx + 1, n1 = end.divIdx; n0 < n1; n0++) {\n textDivs[n0].className = \"highlight middle\" + highlightSuffix;\n }\n\n beginText(end, \"highlight end\" + highlightSuffix);\n }\n\n prevEnd = end;\n }\n\n if (prevEnd) {\n appendTextToDiv(prevEnd.divIdx, prevEnd.offset, infinity.offset);\n }\n }\n\n _updateMatches() {\n if (!this.renderingDone) {\n return;\n }\n\n const {\n findController,\n matches,\n pageIdx,\n textContentItemsStr,\n textDivs\n } = this;\n let clearedUntilDivIdx = -1;\n\n for (let i = 0, ii = matches.length; i < ii; i++) {\n const match = matches[i];\n const begin = Math.max(clearedUntilDivIdx, match.begin.divIdx);\n\n for (let n = begin, end = match.end.divIdx; n <= end; n++) {\n const div = textDivs[n];\n div.textContent = textContentItemsStr[n];\n div.className = \"\";\n }\n\n clearedUntilDivIdx = match.end.divIdx + 1;\n }\n\n if (!findController || !findController.highlightMatches) {\n return;\n }\n\n const pageMatches = findController.pageMatches[pageIdx] || null;\n const pageMatchesLength = findController.pageMatchesLength[pageIdx] || null;\n this.matches = this._convertMatches(pageMatches, pageMatchesLength);\n\n this._renderMatches(this.matches);\n }\n\n _bindMouse() {\n const div = this.textLayerDiv;\n let expandDivsTimer = null;\n div.addEventListener(\"mousedown\", evt => {\n if (this.enhanceTextSelection && this.textLayerRenderTask) {\n this.textLayerRenderTask.expandTextDivs(true);\n\n if (expandDivsTimer) {\n clearTimeout(expandDivsTimer);\n expandDivsTimer = null;\n }\n\n return;\n }\n\n const end = div.querySelector(\".endOfContent\");\n\n if (!end) {\n return;\n }\n\n let adjustTop = evt.target !== div;\n adjustTop = adjustTop && window.getComputedStyle(end).getPropertyValue(\"-moz-user-select\") !== \"none\";\n\n if (adjustTop) {\n const divBounds = div.getBoundingClientRect();\n const r = Math.max(0, (evt.pageY - divBounds.top) / divBounds.height);\n end.style.top = (r * 100).toFixed(2) + \"%\";\n }\n\n end.classList.add(\"active\");\n });\n div.addEventListener(\"mouseup\", () => {\n if (this.enhanceTextSelection && this.textLayerRenderTask) {\n expandDivsTimer = setTimeout(() => {\n if (this.textLayerRenderTask) {\n this.textLayerRenderTask.expandTextDivs(false);\n }\n\n expandDivsTimer = null;\n }, EXPAND_DIVS_TIMEOUT);\n return;\n }\n\n const end = div.querySelector(\".endOfContent\");\n\n if (!end) {\n return;\n }\n\n end.style.top = \"\";\n end.classList.remove(\"active\");\n });\n }\n\n}\n\nexports.TextLayerBuilder = TextLayerBuilder;\n\nclass DefaultTextLayerFactory {\n createTextLayerBuilder(textLayerDiv, pageIndex, viewport, enhanceTextSelection = false, eventBus) {\n return new TextLayerBuilder({\n textLayerDiv,\n pageIndex,\n viewport,\n enhanceTextSelection,\n eventBus\n });\n }\n\n}\n\nexports.DefaultTextLayerFactory = DefaultTextLayerFactory;\n\n/***/ }),\n/* 6 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.DownloadManager = void 0;\n\nvar _pdfjsLib = __w_pdfjs_require__(2);\n\nvar _viewer_compatibility = __w_pdfjs_require__(7);\n\n;\nconst DISABLE_CREATE_OBJECT_URL = _viewer_compatibility.viewerCompatibilityParams.disableCreateObjectURL || false;\n\nfunction download(blobUrl, filename) {\n const a = document.createElement(\"a\");\n\n if (!a.click) {\n throw new Error('DownloadManager: \"a.click()\" is not supported.');\n }\n\n a.href = blobUrl;\n a.target = \"_parent\";\n\n if (\"download\" in a) {\n a.download = filename;\n }\n\n (document.body || document.documentElement).appendChild(a);\n a.click();\n a.remove();\n}\n\nclass DownloadManager {\n constructor({\n disableCreateObjectURL = DISABLE_CREATE_OBJECT_URL\n }) {\n this.disableCreateObjectURL = disableCreateObjectURL;\n }\n\n downloadUrl(url, filename) {\n if (!(0, _pdfjsLib.createValidAbsoluteUrl)(url, \"http://example.com\")) {\n return;\n }\n\n download(url + \"#pdfjs.action=download\", filename);\n }\n\n downloadData(data, filename, contentType) {\n if (navigator.msSaveBlob) {\n navigator.msSaveBlob(new Blob([data], {\n type: contentType\n }), filename);\n return;\n }\n\n const blobUrl = (0, _pdfjsLib.createObjectURL)(data, contentType, this.disableCreateObjectURL);\n download(blobUrl, filename);\n }\n\n download(blob, url, filename) {\n if (navigator.msSaveBlob) {\n if (!navigator.msSaveBlob(blob, filename)) {\n this.downloadUrl(url, filename);\n }\n\n return;\n }\n\n if (this.disableCreateObjectURL) {\n this.downloadUrl(url, filename);\n return;\n }\n\n const blobUrl = URL.createObjectURL(blob);\n download(blobUrl, filename);\n }\n\n}\n\nexports.DownloadManager = DownloadManager;\n\n/***/ }),\n/* 7 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.viewerCompatibilityParams = void 0;\nconst compatibilityParams = Object.create(null);\n{\n const userAgent = typeof navigator !== \"undefined\" && navigator.userAgent || \"\";\n const platform = typeof navigator !== \"undefined\" && navigator.platform || \"\";\n const maxTouchPoints = typeof navigator !== \"undefined\" && navigator.maxTouchPoints || 1;\n const isAndroid = /Android/.test(userAgent);\n const isIE = /Trident/.test(userAgent);\n const isIOS = /\\b(iPad|iPhone|iPod)(?=;)/.test(userAgent) || platform === \"MacIntel\" && maxTouchPoints > 1;\n const isIOSChrome = /CriOS/.test(userAgent);\n\n (function checkOnBlobSupport() {\n if (isIE || isIOSChrome) {\n compatibilityParams.disableCreateObjectURL = true;\n }\n })();\n\n (function checkCanvasSizeLimitation() {\n if (isIOS || isAndroid) {\n compatibilityParams.maxCanvasPixels = 5242880;\n }\n })();\n}\nconst viewerCompatibilityParams = Object.freeze(compatibilityParams);\nexports.viewerCompatibilityParams = viewerCompatibilityParams;\n\n/***/ }),\n/* 8 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.GenericL10n = void 0;\n\n__w_pdfjs_require__(9);\n\nconst webL10n = document.webL10n;\n\nclass GenericL10n {\n constructor(lang) {\n this._lang = lang;\n this._ready = new Promise((resolve, reject) => {\n webL10n.setLanguage(lang, () => {\n resolve(webL10n);\n });\n });\n }\n\n async getLanguage() {\n const l10n = await this._ready;\n return l10n.getLanguage();\n }\n\n async getDirection() {\n const l10n = await this._ready;\n return l10n.getDirection();\n }\n\n async get(property, args, fallback) {\n const l10n = await this._ready;\n return l10n.get(property, args, fallback);\n }\n\n async translate(element) {\n const l10n = await this._ready;\n return l10n.translate(element);\n }\n\n}\n\nexports.GenericL10n = GenericL10n;\n\n/***/ }),\n/* 9 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\ndocument.webL10n = function (window, document, undefined) {\n var gL10nData = {};\n var gTextData = '';\n var gTextProp = 'textContent';\n var gLanguage = '';\n var gMacros = {};\n var gReadyState = 'loading';\n var gAsyncResourceLoading = true;\n\n function getL10nResourceLinks() {\n return document.querySelectorAll('link[type=\"application/l10n\"]');\n }\n\n function getL10nDictionary() {\n var script = document.querySelector('script[type=\"application/l10n\"]');\n return script ? JSON.parse(script.innerHTML) : null;\n }\n\n function getTranslatableChildren(element) {\n return element ? element.querySelectorAll('*[data-l10n-id]') : [];\n }\n\n function getL10nAttributes(element) {\n if (!element) return {};\n var l10nId = element.getAttribute('data-l10n-id');\n var l10nArgs = element.getAttribute('data-l10n-args');\n var args = {};\n\n if (l10nArgs) {\n try {\n args = JSON.parse(l10nArgs);\n } catch (e) {\n console.warn('could not parse arguments for #' + l10nId);\n }\n }\n\n return {\n id: l10nId,\n args: args\n };\n }\n\n function xhrLoadText(url, onSuccess, onFailure) {\n onSuccess = onSuccess || function _onSuccess(data) {};\n\n onFailure = onFailure || function _onFailure() {};\n\n var xhr = new XMLHttpRequest();\n xhr.open('GET', url, gAsyncResourceLoading);\n\n if (xhr.overrideMimeType) {\n xhr.overrideMimeType('text/plain; charset=utf-8');\n }\n\n xhr.onreadystatechange = function () {\n if (xhr.readyState == 4) {\n if (xhr.status == 200 || xhr.status === 0) {\n onSuccess(xhr.responseText);\n } else {\n onFailure();\n }\n }\n };\n\n xhr.onerror = onFailure;\n xhr.ontimeout = onFailure;\n\n try {\n xhr.send(null);\n } catch (e) {\n onFailure();\n }\n }\n\n function parseResource(href, lang, successCallback, failureCallback) {\n var baseURL = href.replace(/[^\\/]*$/, '') || './';\n\n function evalString(text) {\n if (text.lastIndexOf('\\\\') < 0) return text;\n return text.replace(/\\\\\\\\/g, '\\\\').replace(/\\\\n/g, '\\n').replace(/\\\\r/g, '\\r').replace(/\\\\t/g, '\\t').replace(/\\\\b/g, '\\b').replace(/\\\\f/g, '\\f').replace(/\\\\{/g, '{').replace(/\\\\}/g, '}').replace(/\\\\\"/g, '\"').replace(/\\\\'/g, \"'\");\n }\n\n function parseProperties(text, parsedPropertiesCallback) {\n var dictionary = {};\n var reBlank = /^\\s*|\\s*$/;\n var reComment = /^\\s*#|^\\s*$/;\n var reSection = /^\\s*\\[(.*)\\]\\s*$/;\n var reImport = /^\\s*@import\\s+url\\((.*)\\)\\s*$/i;\n var reSplit = /^([^=\\s]*)\\s*=\\s*(.+)$/;\n\n function parseRawLines(rawText, extendedSyntax, parsedRawLinesCallback) {\n var entries = rawText.replace(reBlank, '').split(/[\\r\\n]+/);\n var currentLang = '*';\n var genericLang = lang.split('-', 1)[0];\n var skipLang = false;\n var match = '';\n\n function nextEntry() {\n while (true) {\n if (!entries.length) {\n parsedRawLinesCallback();\n return;\n }\n\n var line = entries.shift();\n if (reComment.test(line)) continue;\n\n if (extendedSyntax) {\n match = reSection.exec(line);\n\n if (match) {\n currentLang = match[1].toLowerCase();\n skipLang = currentLang !== '*' && currentLang !== lang && currentLang !== genericLang;\n continue;\n } else if (skipLang) {\n continue;\n }\n\n match = reImport.exec(line);\n\n if (match) {\n loadImport(baseURL + match[1], nextEntry);\n return;\n }\n }\n\n var tmp = line.match(reSplit);\n\n if (tmp && tmp.length == 3) {\n dictionary[tmp[1]] = evalString(tmp[2]);\n }\n }\n }\n\n nextEntry();\n }\n\n function loadImport(url, callback) {\n xhrLoadText(url, function (content) {\n parseRawLines(content, false, callback);\n }, function () {\n console.warn(url + ' not found.');\n callback();\n });\n }\n\n parseRawLines(text, true, function () {\n parsedPropertiesCallback(dictionary);\n });\n }\n\n xhrLoadText(href, function (response) {\n gTextData += response;\n parseProperties(response, function (data) {\n for (var key in data) {\n var id,\n prop,\n index = key.lastIndexOf('.');\n\n if (index > 0) {\n id = key.substring(0, index);\n prop = key.substring(index + 1);\n } else {\n id = key;\n prop = gTextProp;\n }\n\n if (!gL10nData[id]) {\n gL10nData[id] = {};\n }\n\n gL10nData[id][prop] = data[key];\n }\n\n if (successCallback) {\n successCallback();\n }\n });\n }, failureCallback);\n }\n\n function loadLocale(lang, callback) {\n if (lang) {\n lang = lang.toLowerCase();\n }\n\n callback = callback || function _callback() {};\n\n clear();\n gLanguage = lang;\n var langLinks = getL10nResourceLinks();\n var langCount = langLinks.length;\n\n if (langCount === 0) {\n var dict = getL10nDictionary();\n\n if (dict && dict.locales && dict.default_locale) {\n console.log('using the embedded JSON directory, early way out');\n gL10nData = dict.locales[lang];\n\n if (!gL10nData) {\n var defaultLocale = dict.default_locale.toLowerCase();\n\n for (var anyCaseLang in dict.locales) {\n anyCaseLang = anyCaseLang.toLowerCase();\n\n if (anyCaseLang === lang) {\n gL10nData = dict.locales[lang];\n break;\n } else if (anyCaseLang === defaultLocale) {\n gL10nData = dict.locales[defaultLocale];\n }\n }\n }\n\n callback();\n } else {\n console.log('no resource to load, early way out');\n }\n\n gReadyState = 'complete';\n return;\n }\n\n var onResourceLoaded = null;\n var gResourceCount = 0;\n\n onResourceLoaded = function () {\n gResourceCount++;\n\n if (gResourceCount >= langCount) {\n callback();\n gReadyState = 'complete';\n }\n };\n\n function L10nResourceLink(link) {\n var href = link.href;\n\n this.load = function (lang, callback) {\n parseResource(href, lang, callback, function () {\n console.warn(href + ' not found.');\n console.warn('\"' + lang + '\" resource not found');\n gLanguage = '';\n callback();\n });\n };\n }\n\n for (var i = 0; i < langCount; i++) {\n var resource = new L10nResourceLink(langLinks[i]);\n resource.load(lang, onResourceLoaded);\n }\n }\n\n function clear() {\n gL10nData = {};\n gTextData = '';\n gLanguage = '';\n }\n\n function getPluralRules(lang) {\n var locales2rules = {\n 'af': 3,\n 'ak': 4,\n 'am': 4,\n 'ar': 1,\n 'asa': 3,\n 'az': 0,\n 'be': 11,\n 'bem': 3,\n 'bez': 3,\n 'bg': 3,\n 'bh': 4,\n 'bm': 0,\n 'bn': 3,\n 'bo': 0,\n 'br': 20,\n 'brx': 3,\n 'bs': 11,\n 'ca': 3,\n 'cgg': 3,\n 'chr': 3,\n 'cs': 12,\n 'cy': 17,\n 'da': 3,\n 'de': 3,\n 'dv': 3,\n 'dz': 0,\n 'ee': 3,\n 'el': 3,\n 'en': 3,\n 'eo': 3,\n 'es': 3,\n 'et': 3,\n 'eu': 3,\n 'fa': 0,\n 'ff': 5,\n 'fi': 3,\n 'fil': 4,\n 'fo': 3,\n 'fr': 5,\n 'fur': 3,\n 'fy': 3,\n 'ga': 8,\n 'gd': 24,\n 'gl': 3,\n 'gsw': 3,\n 'gu': 3,\n 'guw': 4,\n 'gv': 23,\n 'ha': 3,\n 'haw': 3,\n 'he': 2,\n 'hi': 4,\n 'hr': 11,\n 'hu': 0,\n 'id': 0,\n 'ig': 0,\n 'ii': 0,\n 'is': 3,\n 'it': 3,\n 'iu': 7,\n 'ja': 0,\n 'jmc': 3,\n 'jv': 0,\n 'ka': 0,\n 'kab': 5,\n 'kaj': 3,\n 'kcg': 3,\n 'kde': 0,\n 'kea': 0,\n 'kk': 3,\n 'kl': 3,\n 'km': 0,\n 'kn': 0,\n 'ko': 0,\n 'ksb': 3,\n 'ksh': 21,\n 'ku': 3,\n 'kw': 7,\n 'lag': 18,\n 'lb': 3,\n 'lg': 3,\n 'ln': 4,\n 'lo': 0,\n 'lt': 10,\n 'lv': 6,\n 'mas': 3,\n 'mg': 4,\n 'mk': 16,\n 'ml': 3,\n 'mn': 3,\n 'mo': 9,\n 'mr': 3,\n 'ms': 0,\n 'mt': 15,\n 'my': 0,\n 'nah': 3,\n 'naq': 7,\n 'nb': 3,\n 'nd': 3,\n 'ne': 3,\n 'nl': 3,\n 'nn': 3,\n 'no': 3,\n 'nr': 3,\n 'nso': 4,\n 'ny': 3,\n 'nyn': 3,\n 'om': 3,\n 'or': 3,\n 'pa': 3,\n 'pap': 3,\n 'pl': 13,\n 'ps': 3,\n 'pt': 3,\n 'rm': 3,\n 'ro': 9,\n 'rof': 3,\n 'ru': 11,\n 'rwk': 3,\n 'sah': 0,\n 'saq': 3,\n 'se': 7,\n 'seh': 3,\n 'ses': 0,\n 'sg': 0,\n 'sh': 11,\n 'shi': 19,\n 'sk': 12,\n 'sl': 14,\n 'sma': 7,\n 'smi': 7,\n 'smj': 7,\n 'smn': 7,\n 'sms': 7,\n 'sn': 3,\n 'so': 3,\n 'sq': 3,\n 'sr': 11,\n 'ss': 3,\n 'ssy': 3,\n 'st': 3,\n 'sv': 3,\n 'sw': 3,\n 'syr': 3,\n 'ta': 3,\n 'te': 3,\n 'teo': 3,\n 'th': 0,\n 'ti': 4,\n 'tig': 3,\n 'tk': 3,\n 'tl': 4,\n 'tn': 3,\n 'to': 0,\n 'tr': 0,\n 'ts': 3,\n 'tzm': 22,\n 'uk': 11,\n 'ur': 3,\n 've': 3,\n 'vi': 0,\n 'vun': 3,\n 'wa': 4,\n 'wae': 3,\n 'wo': 0,\n 'xh': 3,\n 'xog': 3,\n 'yo': 0,\n 'zh': 0,\n 'zu': 3\n };\n\n function isIn(n, list) {\n return list.indexOf(n) !== -1;\n }\n\n function isBetween(n, start, end) {\n return start <= n && n <= end;\n }\n\n var pluralRules = {\n '0': function (n) {\n return 'other';\n },\n '1': function (n) {\n if (isBetween(n % 100, 3, 10)) return 'few';\n if (n === 0) return 'zero';\n if (isBetween(n % 100, 11, 99)) return 'many';\n if (n == 2) return 'two';\n if (n == 1) return 'one';\n return 'other';\n },\n '2': function (n) {\n if (n !== 0 && n % 10 === 0) return 'many';\n if (n == 2) return 'two';\n if (n == 1) return 'one';\n return 'other';\n },\n '3': function (n) {\n if (n == 1) return 'one';\n return 'other';\n },\n '4': function (n) {\n if (isBetween(n, 0, 1)) return 'one';\n return 'other';\n },\n '5': function (n) {\n if (isBetween(n, 0, 2) && n != 2) return 'one';\n return 'other';\n },\n '6': function (n) {\n if (n === 0) return 'zero';\n if (n % 10 == 1 && n % 100 != 11) return 'one';\n return 'other';\n },\n '7': function (n) {\n if (n == 2) return 'two';\n if (n == 1) return 'one';\n return 'other';\n },\n '8': function (n) {\n if (isBetween(n, 3, 6)) return 'few';\n if (isBetween(n, 7, 10)) return 'many';\n if (n == 2) return 'two';\n if (n == 1) return 'one';\n return 'other';\n },\n '9': function (n) {\n if (n === 0 || n != 1 && isBetween(n % 100, 1, 19)) return 'few';\n if (n == 1) return 'one';\n return 'other';\n },\n '10': function (n) {\n if (isBetween(n % 10, 2, 9) && !isBetween(n % 100, 11, 19)) return 'few';\n if (n % 10 == 1 && !isBetween(n % 100, 11, 19)) return 'one';\n return 'other';\n },\n '11': function (n) {\n if (isBetween(n % 10, 2, 4) && !isBetween(n % 100, 12, 14)) return 'few';\n if (n % 10 === 0 || isBetween(n % 10, 5, 9) || isBetween(n % 100, 11, 14)) return 'many';\n if (n % 10 == 1 && n % 100 != 11) return 'one';\n return 'other';\n },\n '12': function (n) {\n if (isBetween(n, 2, 4)) return 'few';\n if (n == 1) return 'one';\n return 'other';\n },\n '13': function (n) {\n if (isBetween(n % 10, 2, 4) && !isBetween(n % 100, 12, 14)) return 'few';\n if (n != 1 && isBetween(n % 10, 0, 1) || isBetween(n % 10, 5, 9) || isBetween(n % 100, 12, 14)) return 'many';\n if (n == 1) return 'one';\n return 'other';\n },\n '14': function (n) {\n if (isBetween(n % 100, 3, 4)) return 'few';\n if (n % 100 == 2) return 'two';\n if (n % 100 == 1) return 'one';\n return 'other';\n },\n '15': function (n) {\n if (n === 0 || isBetween(n % 100, 2, 10)) return 'few';\n if (isBetween(n % 100, 11, 19)) return 'many';\n if (n == 1) return 'one';\n return 'other';\n },\n '16': function (n) {\n if (n % 10 == 1 && n != 11) return 'one';\n return 'other';\n },\n '17': function (n) {\n if (n == 3) return 'few';\n if (n === 0) return 'zero';\n if (n == 6) return 'many';\n if (n == 2) return 'two';\n if (n == 1) return 'one';\n return 'other';\n },\n '18': function (n) {\n if (n === 0) return 'zero';\n if (isBetween(n, 0, 2) && n !== 0 && n != 2) return 'one';\n return 'other';\n },\n '19': function (n) {\n if (isBetween(n, 2, 10)) return 'few';\n if (isBetween(n, 0, 1)) return 'one';\n return 'other';\n },\n '20': function (n) {\n if ((isBetween(n % 10, 3, 4) || n % 10 == 9) && !(isBetween(n % 100, 10, 19) || isBetween(n % 100, 70, 79) || isBetween(n % 100, 90, 99))) return 'few';\n if (n % 1000000 === 0 && n !== 0) return 'many';\n if (n % 10 == 2 && !isIn(n % 100, [12, 72, 92])) return 'two';\n if (n % 10 == 1 && !isIn(n % 100, [11, 71, 91])) return 'one';\n return 'other';\n },\n '21': function (n) {\n if (n === 0) return 'zero';\n if (n == 1) return 'one';\n return 'other';\n },\n '22': function (n) {\n if (isBetween(n, 0, 1) || isBetween(n, 11, 99)) return 'one';\n return 'other';\n },\n '23': function (n) {\n if (isBetween(n % 10, 1, 2) || n % 20 === 0) return 'one';\n return 'other';\n },\n '24': function (n) {\n if (isBetween(n, 3, 10) || isBetween(n, 13, 19)) return 'few';\n if (isIn(n, [2, 12])) return 'two';\n if (isIn(n, [1, 11])) return 'one';\n return 'other';\n }\n };\n var index = locales2rules[lang.replace(/-.*$/, '')];\n\n if (!(index in pluralRules)) {\n console.warn('plural form unknown for [' + lang + ']');\n return function () {\n return 'other';\n };\n }\n\n return pluralRules[index];\n }\n\n gMacros.plural = function (str, param, key, prop) {\n var n = parseFloat(param);\n if (isNaN(n)) return str;\n if (prop != gTextProp) return str;\n\n if (!gMacros._pluralRules) {\n gMacros._pluralRules = getPluralRules(gLanguage);\n }\n\n var index = '[' + gMacros._pluralRules(n) + ']';\n\n if (n === 0 && key + '[zero]' in gL10nData) {\n str = gL10nData[key + '[zero]'][prop];\n } else if (n == 1 && key + '[one]' in gL10nData) {\n str = gL10nData[key + '[one]'][prop];\n } else if (n == 2 && key + '[two]' in gL10nData) {\n str = gL10nData[key + '[two]'][prop];\n } else if (key + index in gL10nData) {\n str = gL10nData[key + index][prop];\n } else if (key + '[other]' in gL10nData) {\n str = gL10nData[key + '[other]'][prop];\n }\n\n return str;\n };\n\n function getL10nData(key, args, fallback) {\n var data = gL10nData[key];\n\n if (!data) {\n console.warn('#' + key + ' is undefined.');\n\n if (!fallback) {\n return null;\n }\n\n data = fallback;\n }\n\n var rv = {};\n\n for (var prop in data) {\n var str = data[prop];\n str = substIndexes(str, args, key, prop);\n str = substArguments(str, args, key);\n rv[prop] = str;\n }\n\n return rv;\n }\n\n function substIndexes(str, args, key, prop) {\n var reIndex = /\\{\\[\\s*([a-zA-Z]+)\\(([a-zA-Z]+)\\)\\s*\\]\\}/;\n var reMatch = reIndex.exec(str);\n if (!reMatch || !reMatch.length) return str;\n var macroName = reMatch[1];\n var paramName = reMatch[2];\n var param;\n\n if (args && paramName in args) {\n param = args[paramName];\n } else if (paramName in gL10nData) {\n param = gL10nData[paramName];\n }\n\n if (macroName in gMacros) {\n var macro = gMacros[macroName];\n str = macro(str, param, key, prop);\n }\n\n return str;\n }\n\n function substArguments(str, args, key) {\n var reArgs = /\\{\\{\\s*(.+?)\\s*\\}\\}/g;\n return str.replace(reArgs, function (matched_text, arg) {\n if (args && arg in args) {\n return args[arg];\n }\n\n if (arg in gL10nData) {\n return gL10nData[arg];\n }\n\n console.log('argument {{' + arg + '}} for #' + key + ' is undefined.');\n return matched_text;\n });\n }\n\n function translateElement(element) {\n var l10n = getL10nAttributes(element);\n if (!l10n.id) return;\n var data = getL10nData(l10n.id, l10n.args);\n\n if (!data) {\n console.warn('#' + l10n.id + ' is undefined.');\n return;\n }\n\n if (data[gTextProp]) {\n if (getChildElementCount(element) === 0) {\n element[gTextProp] = data[gTextProp];\n } else {\n var children = element.childNodes;\n var found = false;\n\n for (var i = 0, l = children.length; i < l; i++) {\n if (children[i].nodeType === 3 && /\\S/.test(children[i].nodeValue)) {\n if (found) {\n children[i].nodeValue = '';\n } else {\n children[i].nodeValue = data[gTextProp];\n found = true;\n }\n }\n }\n\n if (!found) {\n var textNode = document.createTextNode(data[gTextProp]);\n element.insertBefore(textNode, element.firstChild);\n }\n }\n\n delete data[gTextProp];\n }\n\n for (var k in data) {\n element[k] = data[k];\n }\n }\n\n function getChildElementCount(element) {\n if (element.children) {\n return element.children.length;\n }\n\n if (typeof element.childElementCount !== 'undefined') {\n return element.childElementCount;\n }\n\n var count = 0;\n\n for (var i = 0; i < element.childNodes.length; i++) {\n count += element.nodeType === 1 ? 1 : 0;\n }\n\n return count;\n }\n\n function translateFragment(element) {\n element = element || document.documentElement;\n var children = getTranslatableChildren(element);\n var elementCount = children.length;\n\n for (var i = 0; i < elementCount; i++) {\n translateElement(children[i]);\n }\n\n translateElement(element);\n }\n\n return {\n get: function (key, args, fallbackString) {\n var index = key.lastIndexOf('.');\n var prop = gTextProp;\n\n if (index > 0) {\n prop = key.substring(index + 1);\n key = key.substring(0, index);\n }\n\n var fallback;\n\n if (fallbackString) {\n fallback = {};\n fallback[prop] = fallbackString;\n }\n\n var data = getL10nData(key, args, fallback);\n\n if (data && prop in data) {\n return data[prop];\n }\n\n return '{{' + key + '}}';\n },\n getData: function () {\n return gL10nData;\n },\n getText: function () {\n return gTextData;\n },\n getLanguage: function () {\n return gLanguage;\n },\n setLanguage: function (lang, callback) {\n loadLocale(lang, function () {\n if (callback) callback();\n });\n },\n getDirection: function () {\n var rtlList = ['ar', 'he', 'fa', 'ps', 'ur'];\n var shortCode = gLanguage.split('-', 1)[0];\n return rtlList.indexOf(shortCode) >= 0 ? 'rtl' : 'ltr';\n },\n translate: translateFragment,\n getReadyState: function () {\n return gReadyState;\n },\n ready: function (callback) {\n if (!callback) {\n return;\n } else if (gReadyState == 'complete' || gReadyState == 'interactive') {\n window.setTimeout(function () {\n callback();\n });\n } else if (document.addEventListener) {\n document.addEventListener('localized', function once() {\n document.removeEventListener('localized', once);\n callback();\n });\n }\n }\n };\n}(window, document);\n\n/***/ }),\n/* 10 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.PDFFindController = exports.FindState = void 0;\n\nvar _pdfjsLib = __w_pdfjs_require__(2);\n\nvar _pdf_find_utils = __w_pdfjs_require__(11);\n\nvar _ui_utils = __w_pdfjs_require__(3);\n\nconst FindState = {\n FOUND: 0,\n NOT_FOUND: 1,\n WRAPPED: 2,\n PENDING: 3\n};\nexports.FindState = FindState;\nconst FIND_TIMEOUT = 250;\nconst MATCH_SCROLL_OFFSET_TOP = -50;\nconst MATCH_SCROLL_OFFSET_LEFT = -400;\nconst CHARACTERS_TO_NORMALIZE = {\n \"\\u2018\": \"'\",\n \"\\u2019\": \"'\",\n \"\\u201A\": \"'\",\n \"\\u201B\": \"'\",\n \"\\u201C\": '\"',\n \"\\u201D\": '\"',\n \"\\u201E\": '\"',\n \"\\u201F\": '\"',\n \"\\u00BC\": \"1/4\",\n \"\\u00BD\": \"1/2\",\n \"\\u00BE\": \"3/4\"\n};\nlet normalizationRegex = null;\n\nfunction normalize(text) {\n if (!normalizationRegex) {\n const replace = Object.keys(CHARACTERS_TO_NORMALIZE).join(\"\");\n normalizationRegex = new RegExp(`[${replace}]`, \"g\");\n }\n\n return text.replace(normalizationRegex, function (ch) {\n return CHARACTERS_TO_NORMALIZE[ch];\n });\n}\n\nclass PDFFindController {\n constructor({\n linkService,\n eventBus\n }) {\n this._linkService = linkService;\n this._eventBus = eventBus;\n\n this._reset();\n\n eventBus._on(\"findbarclose\", this._onFindBarClose.bind(this));\n }\n\n get highlightMatches() {\n return this._highlightMatches;\n }\n\n get pageMatches() {\n return this._pageMatches;\n }\n\n get pageMatchesLength() {\n return this._pageMatchesLength;\n }\n\n get selected() {\n return this._selected;\n }\n\n get state() {\n return this._state;\n }\n\n setDocument(pdfDocument) {\n if (this._pdfDocument) {\n this._reset();\n }\n\n if (!pdfDocument) {\n return;\n }\n\n this._pdfDocument = pdfDocument;\n\n this._firstPageCapability.resolve();\n }\n\n executeCommand(cmd, state) {\n if (!state) {\n return;\n }\n\n const pdfDocument = this._pdfDocument;\n\n if (this._state === null || this._shouldDirtyMatch(cmd, state)) {\n this._dirtyMatch = true;\n }\n\n this._state = state;\n\n if (cmd !== \"findhighlightallchange\") {\n this._updateUIState(FindState.PENDING);\n }\n\n this._firstPageCapability.promise.then(() => {\n if (!this._pdfDocument || pdfDocument && this._pdfDocument !== pdfDocument) {\n return;\n }\n\n this._extractText();\n\n const findbarClosed = !this._highlightMatches;\n const pendingTimeout = !!this._findTimeout;\n\n if (this._findTimeout) {\n clearTimeout(this._findTimeout);\n this._findTimeout = null;\n }\n\n if (cmd === \"find\") {\n this._findTimeout = setTimeout(() => {\n this._nextMatch();\n\n this._findTimeout = null;\n }, FIND_TIMEOUT);\n } else if (this._dirtyMatch) {\n this._nextMatch();\n } else if (cmd === \"findagain\") {\n this._nextMatch();\n\n if (findbarClosed && this._state.highlightAll) {\n this._updateAllPages();\n }\n } else if (cmd === \"findhighlightallchange\") {\n if (pendingTimeout) {\n this._nextMatch();\n } else {\n this._highlightMatches = true;\n }\n\n this._updateAllPages();\n } else {\n this._nextMatch();\n }\n });\n }\n\n scrollMatchIntoView({\n element = null,\n pageIndex = -1,\n matchIndex = -1\n }) {\n if (!this._scrollMatches || !element) {\n return;\n } else if (matchIndex === -1 || matchIndex !== this._selected.matchIdx) {\n return;\n } else if (pageIndex === -1 || pageIndex !== this._selected.pageIdx) {\n return;\n }\n\n this._scrollMatches = false;\n const spot = {\n top: MATCH_SCROLL_OFFSET_TOP,\n left: MATCH_SCROLL_OFFSET_LEFT\n };\n (0, _ui_utils.scrollIntoView)(element, spot, true);\n }\n\n _reset() {\n this._highlightMatches = false;\n this._scrollMatches = false;\n this._pdfDocument = null;\n this._pageMatches = [];\n this._pageMatchesLength = [];\n this._state = null;\n this._selected = {\n pageIdx: -1,\n matchIdx: -1\n };\n this._offset = {\n pageIdx: null,\n matchIdx: null,\n wrapped: false\n };\n this._extractTextPromises = [];\n this._pageContents = [];\n this._matchesCountTotal = 0;\n this._pagesToSearch = null;\n this._pendingFindMatches = Object.create(null);\n this._resumePageIdx = null;\n this._dirtyMatch = false;\n clearTimeout(this._findTimeout);\n this._findTimeout = null;\n this._firstPageCapability = (0, _pdfjsLib.createPromiseCapability)();\n }\n\n get _query() {\n if (this._state.query !== this._rawQuery) {\n this._rawQuery = this._state.query;\n this._normalizedQuery = normalize(this._state.query);\n }\n\n return this._normalizedQuery;\n }\n\n _shouldDirtyMatch(cmd, state) {\n if (state.query !== this._state.query) {\n return true;\n }\n\n switch (cmd) {\n case \"findagain\":\n const pageNumber = this._selected.pageIdx + 1;\n const linkService = this._linkService;\n\n if (pageNumber >= 1 && pageNumber <= linkService.pagesCount && pageNumber !== linkService.page && !linkService.isPageVisible(pageNumber)) {\n return true;\n }\n\n return false;\n\n case \"findhighlightallchange\":\n return false;\n }\n\n return true;\n }\n\n _prepareMatches(matchesWithLength, matches, matchesLength) {\n function isSubTerm(currentIndex) {\n const currentElem = matchesWithLength[currentIndex];\n const nextElem = matchesWithLength[currentIndex + 1];\n\n if (currentIndex < matchesWithLength.length - 1 && currentElem.match === nextElem.match) {\n currentElem.skipped = true;\n return true;\n }\n\n for (let i = currentIndex - 1; i >= 0; i--) {\n const prevElem = matchesWithLength[i];\n\n if (prevElem.skipped) {\n continue;\n }\n\n if (prevElem.match + prevElem.matchLength < currentElem.match) {\n break;\n }\n\n if (prevElem.match + prevElem.matchLength >= currentElem.match + currentElem.matchLength) {\n currentElem.skipped = true;\n return true;\n }\n }\n\n return false;\n }\n\n matchesWithLength.sort(function (a, b) {\n return a.match === b.match ? a.matchLength - b.matchLength : a.match - b.match;\n });\n\n for (let i = 0, len = matchesWithLength.length; i < len; i++) {\n if (isSubTerm(i)) {\n continue;\n }\n\n matches.push(matchesWithLength[i].match);\n matchesLength.push(matchesWithLength[i].matchLength);\n }\n }\n\n _isEntireWord(content, startIdx, length) {\n if (startIdx > 0) {\n const first = content.charCodeAt(startIdx);\n const limit = content.charCodeAt(startIdx - 1);\n\n if ((0, _pdf_find_utils.getCharacterType)(first) === (0, _pdf_find_utils.getCharacterType)(limit)) {\n return false;\n }\n }\n\n const endIdx = startIdx + length - 1;\n\n if (endIdx < content.length - 1) {\n const last = content.charCodeAt(endIdx);\n const limit = content.charCodeAt(endIdx + 1);\n\n if ((0, _pdf_find_utils.getCharacterType)(last) === (0, _pdf_find_utils.getCharacterType)(limit)) {\n return false;\n }\n }\n\n return true;\n }\n\n _calculatePhraseMatch(query, pageIndex, pageContent, entireWord) {\n const matches = [];\n const queryLen = query.length;\n let matchIdx = -queryLen;\n\n while (true) {\n matchIdx = pageContent.indexOf(query, matchIdx + queryLen);\n\n if (matchIdx === -1) {\n break;\n }\n\n if (entireWord && !this._isEntireWord(pageContent, matchIdx, queryLen)) {\n continue;\n }\n\n matches.push(matchIdx);\n }\n\n this._pageMatches[pageIndex] = matches;\n }\n\n _calculateWordMatch(query, pageIndex, pageContent, entireWord) {\n const matchesWithLength = [];\n const queryArray = query.match(/\\S+/g);\n\n for (let i = 0, len = queryArray.length; i < len; i++) {\n const subquery = queryArray[i];\n const subqueryLen = subquery.length;\n let matchIdx = -subqueryLen;\n\n while (true) {\n matchIdx = pageContent.indexOf(subquery, matchIdx + subqueryLen);\n\n if (matchIdx === -1) {\n break;\n }\n\n if (entireWord && !this._isEntireWord(pageContent, matchIdx, subqueryLen)) {\n continue;\n }\n\n matchesWithLength.push({\n match: matchIdx,\n matchLength: subqueryLen,\n skipped: false\n });\n }\n }\n\n this._pageMatchesLength[pageIndex] = [];\n this._pageMatches[pageIndex] = [];\n\n this._prepareMatches(matchesWithLength, this._pageMatches[pageIndex], this._pageMatchesLength[pageIndex]);\n }\n\n _calculateMatch(pageIndex) {\n let pageContent = this._pageContents[pageIndex];\n let query = this._query;\n const {\n caseSensitive,\n entireWord,\n phraseSearch\n } = this._state;\n\n if (query.length === 0) {\n return;\n }\n\n if (!caseSensitive) {\n pageContent = pageContent.toLowerCase();\n query = query.toLowerCase();\n }\n\n if (phraseSearch) {\n this._calculatePhraseMatch(query, pageIndex, pageContent, entireWord);\n } else {\n this._calculateWordMatch(query, pageIndex, pageContent, entireWord);\n }\n\n if (this._state.highlightAll) {\n this._updatePage(pageIndex);\n }\n\n if (this._resumePageIdx === pageIndex) {\n this._resumePageIdx = null;\n\n this._nextPageMatch();\n }\n\n const pageMatchesCount = this._pageMatches[pageIndex].length;\n\n if (pageMatchesCount > 0) {\n this._matchesCountTotal += pageMatchesCount;\n\n this._updateUIResultsCount();\n }\n }\n\n _extractText() {\n if (this._extractTextPromises.length > 0) {\n return;\n }\n\n let promise = Promise.resolve();\n\n for (let i = 0, ii = this._linkService.pagesCount; i < ii; i++) {\n const extractTextCapability = (0, _pdfjsLib.createPromiseCapability)();\n this._extractTextPromises[i] = extractTextCapability.promise;\n promise = promise.then(() => {\n return this._pdfDocument.getPage(i + 1).then(pdfPage => {\n return pdfPage.getTextContent({\n normalizeWhitespace: true\n });\n }).then(textContent => {\n const textItems = textContent.items;\n const strBuf = [];\n\n for (let j = 0, jj = textItems.length; j < jj; j++) {\n strBuf.push(textItems[j].str);\n }\n\n this._pageContents[i] = normalize(strBuf.join(\"\"));\n extractTextCapability.resolve(i);\n }, reason => {\n console.error(`Unable to get text content for page ${i + 1}`, reason);\n this._pageContents[i] = \"\";\n extractTextCapability.resolve(i);\n });\n });\n }\n }\n\n _updatePage(index) {\n if (this._scrollMatches && this._selected.pageIdx === index) {\n this._linkService.page = index + 1;\n }\n\n this._eventBus.dispatch(\"updatetextlayermatches\", {\n source: this,\n pageIndex: index\n });\n }\n\n _updateAllPages() {\n this._eventBus.dispatch(\"updatetextlayermatches\", {\n source: this,\n pageIndex: -1\n });\n }\n\n _nextMatch() {\n const previous = this._state.findPrevious;\n const currentPageIndex = this._linkService.page - 1;\n const numPages = this._linkService.pagesCount;\n this._highlightMatches = true;\n\n if (this._dirtyMatch) {\n this._dirtyMatch = false;\n this._selected.pageIdx = this._selected.matchIdx = -1;\n this._offset.pageIdx = currentPageIndex;\n this._offset.matchIdx = null;\n this._offset.wrapped = false;\n this._resumePageIdx = null;\n this._pageMatches.length = 0;\n this._pageMatchesLength.length = 0;\n this._matchesCountTotal = 0;\n\n this._updateAllPages();\n\n for (let i = 0; i < numPages; i++) {\n if (this._pendingFindMatches[i] === true) {\n continue;\n }\n\n this._pendingFindMatches[i] = true;\n\n this._extractTextPromises[i].then(pageIdx => {\n delete this._pendingFindMatches[pageIdx];\n\n this._calculateMatch(pageIdx);\n });\n }\n }\n\n if (this._query === \"\") {\n this._updateUIState(FindState.FOUND);\n\n return;\n }\n\n if (this._resumePageIdx) {\n return;\n }\n\n const offset = this._offset;\n this._pagesToSearch = numPages;\n\n if (offset.matchIdx !== null) {\n const numPageMatches = this._pageMatches[offset.pageIdx].length;\n\n if (!previous && offset.matchIdx + 1 < numPageMatches || previous && offset.matchIdx > 0) {\n offset.matchIdx = previous ? offset.matchIdx - 1 : offset.matchIdx + 1;\n\n this._updateMatch(true);\n\n return;\n }\n\n this._advanceOffsetPage(previous);\n }\n\n this._nextPageMatch();\n }\n\n _matchesReady(matches) {\n const offset = this._offset;\n const numMatches = matches.length;\n const previous = this._state.findPrevious;\n\n if (numMatches) {\n offset.matchIdx = previous ? numMatches - 1 : 0;\n\n this._updateMatch(true);\n\n return true;\n }\n\n this._advanceOffsetPage(previous);\n\n if (offset.wrapped) {\n offset.matchIdx = null;\n\n if (this._pagesToSearch < 0) {\n this._updateMatch(false);\n\n return true;\n }\n }\n\n return false;\n }\n\n _nextPageMatch() {\n if (this._resumePageIdx !== null) {\n console.error(\"There can only be one pending page.\");\n }\n\n let matches = null;\n\n do {\n const pageIdx = this._offset.pageIdx;\n matches = this._pageMatches[pageIdx];\n\n if (!matches) {\n this._resumePageIdx = pageIdx;\n break;\n }\n } while (!this._matchesReady(matches));\n }\n\n _advanceOffsetPage(previous) {\n const offset = this._offset;\n const numPages = this._linkService.pagesCount;\n offset.pageIdx = previous ? offset.pageIdx - 1 : offset.pageIdx + 1;\n offset.matchIdx = null;\n this._pagesToSearch--;\n\n if (offset.pageIdx >= numPages || offset.pageIdx < 0) {\n offset.pageIdx = previous ? numPages - 1 : 0;\n offset.wrapped = true;\n }\n }\n\n _updateMatch(found = false) {\n let state = FindState.NOT_FOUND;\n const wrapped = this._offset.wrapped;\n this._offset.wrapped = false;\n\n if (found) {\n const previousPage = this._selected.pageIdx;\n this._selected.pageIdx = this._offset.pageIdx;\n this._selected.matchIdx = this._offset.matchIdx;\n state = wrapped ? FindState.WRAPPED : FindState.FOUND;\n\n if (previousPage !== -1 && previousPage !== this._selected.pageIdx) {\n this._updatePage(previousPage);\n }\n }\n\n this._updateUIState(state, this._state.findPrevious);\n\n if (this._selected.pageIdx !== -1) {\n this._scrollMatches = true;\n\n this._updatePage(this._selected.pageIdx);\n }\n }\n\n _onFindBarClose(evt) {\n const pdfDocument = this._pdfDocument;\n\n this._firstPageCapability.promise.then(() => {\n if (!this._pdfDocument || pdfDocument && this._pdfDocument !== pdfDocument) {\n return;\n }\n\n if (this._findTimeout) {\n clearTimeout(this._findTimeout);\n this._findTimeout = null;\n }\n\n if (this._resumePageIdx) {\n this._resumePageIdx = null;\n this._dirtyMatch = true;\n }\n\n this._updateUIState(FindState.FOUND);\n\n this._highlightMatches = false;\n\n this._updateAllPages();\n });\n }\n\n _requestMatchesCount() {\n const {\n pageIdx,\n matchIdx\n } = this._selected;\n let current = 0,\n total = this._matchesCountTotal;\n\n if (matchIdx !== -1) {\n for (let i = 0; i < pageIdx; i++) {\n current += this._pageMatches[i] && this._pageMatches[i].length || 0;\n }\n\n current += matchIdx + 1;\n }\n\n if (current < 1 || current > total) {\n current = total = 0;\n }\n\n return {\n current,\n total\n };\n }\n\n _updateUIResultsCount() {\n this._eventBus.dispatch(\"updatefindmatchescount\", {\n source: this,\n matchesCount: this._requestMatchesCount()\n });\n }\n\n _updateUIState(state, previous) {\n this._eventBus.dispatch(\"updatefindcontrolstate\", {\n source: this,\n state,\n previous,\n matchesCount: this._requestMatchesCount()\n });\n }\n\n}\n\nexports.PDFFindController = PDFFindController;\n\n/***/ }),\n/* 11 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getCharacterType = getCharacterType;\nexports.CharacterType = void 0;\nconst CharacterType = {\n SPACE: 0,\n ALPHA_LETTER: 1,\n PUNCT: 2,\n HAN_LETTER: 3,\n KATAKANA_LETTER: 4,\n HIRAGANA_LETTER: 5,\n HALFWIDTH_KATAKANA_LETTER: 6,\n THAI_LETTER: 7\n};\nexports.CharacterType = CharacterType;\n\nfunction isAlphabeticalScript(charCode) {\n return charCode < 0x2e80;\n}\n\nfunction isAscii(charCode) {\n return (charCode & 0xff80) === 0;\n}\n\nfunction isAsciiAlpha(charCode) {\n return charCode >= 0x61 && charCode <= 0x7a || charCode >= 0x41 && charCode <= 0x5a;\n}\n\nfunction isAsciiDigit(charCode) {\n return charCode >= 0x30 && charCode <= 0x39;\n}\n\nfunction isAsciiSpace(charCode) {\n return charCode === 0x20 || charCode === 0x09 || charCode === 0x0d || charCode === 0x0a;\n}\n\nfunction isHan(charCode) {\n return charCode >= 0x3400 && charCode <= 0x9fff || charCode >= 0xf900 && charCode <= 0xfaff;\n}\n\nfunction isKatakana(charCode) {\n return charCode >= 0x30a0 && charCode <= 0x30ff;\n}\n\nfunction isHiragana(charCode) {\n return charCode >= 0x3040 && charCode <= 0x309f;\n}\n\nfunction isHalfwidthKatakana(charCode) {\n return charCode >= 0xff60 && charCode <= 0xff9f;\n}\n\nfunction isThai(charCode) {\n return (charCode & 0xff80) === 0x0e00;\n}\n\nfunction getCharacterType(charCode) {\n if (isAlphabeticalScript(charCode)) {\n if (isAscii(charCode)) {\n if (isAsciiSpace(charCode)) {\n return CharacterType.SPACE;\n } else if (isAsciiAlpha(charCode) || isAsciiDigit(charCode) || charCode === 0x5f) {\n return CharacterType.ALPHA_LETTER;\n }\n\n return CharacterType.PUNCT;\n } else if (isThai(charCode)) {\n return CharacterType.THAI_LETTER;\n } else if (charCode === 0xa0) {\n return CharacterType.SPACE;\n }\n\n return CharacterType.ALPHA_LETTER;\n }\n\n if (isHan(charCode)) {\n return CharacterType.HAN_LETTER;\n } else if (isKatakana(charCode)) {\n return CharacterType.KATAKANA_LETTER;\n } else if (isHiragana(charCode)) {\n return CharacterType.HIRAGANA_LETTER;\n } else if (isHalfwidthKatakana(charCode)) {\n return CharacterType.HALFWIDTH_KATAKANA_LETTER;\n }\n\n return CharacterType.ALPHA_LETTER;\n}\n\n/***/ }),\n/* 12 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.isDestHashesEqual = isDestHashesEqual;\nexports.isDestArraysEqual = isDestArraysEqual;\nexports.PDFHistory = void 0;\n\nvar _ui_utils = __w_pdfjs_require__(3);\n\nconst HASH_CHANGE_TIMEOUT = 1000;\nconst POSITION_UPDATED_THRESHOLD = 50;\nconst UPDATE_VIEWAREA_TIMEOUT = 1000;\n\nfunction getCurrentHash() {\n return document.location.hash;\n}\n\nclass PDFHistory {\n constructor({\n linkService,\n eventBus\n }) {\n this.linkService = linkService;\n this.eventBus = eventBus;\n this._initialized = false;\n this._fingerprint = \"\";\n this.reset();\n this._boundEvents = null;\n this._isViewerInPresentationMode = false;\n\n this.eventBus._on(\"presentationmodechanged\", evt => {\n this._isViewerInPresentationMode = evt.active || evt.switchInProgress;\n });\n\n this.eventBus._on(\"pagesinit\", () => {\n this._isPagesLoaded = false;\n\n const onPagesLoaded = evt => {\n this.eventBus._off(\"pagesloaded\", onPagesLoaded);\n\n this._isPagesLoaded = !!evt.pagesCount;\n };\n\n this.eventBus._on(\"pagesloaded\", onPagesLoaded);\n });\n }\n\n initialize({\n fingerprint,\n resetHistory = false,\n updateUrl = false\n }) {\n if (!fingerprint || typeof fingerprint !== \"string\") {\n console.error('PDFHistory.initialize: The \"fingerprint\" must be a non-empty string.');\n return;\n }\n\n if (this._initialized) {\n this.reset();\n }\n\n const reInitialized = this._fingerprint !== \"\" && this._fingerprint !== fingerprint;\n this._fingerprint = fingerprint;\n this._updateUrl = updateUrl === true;\n this._initialized = true;\n\n this._bindEvents();\n\n const state = window.history.state;\n this._popStateInProgress = false;\n this._blockHashChange = 0;\n this._currentHash = getCurrentHash();\n this._numPositionUpdates = 0;\n this._uid = this._maxUid = 0;\n this._destination = null;\n this._position = null;\n\n if (!this._isValidState(state, true) || resetHistory) {\n const {\n hash,\n page,\n rotation\n } = this._parseCurrentHash(true);\n\n if (!hash || reInitialized || resetHistory) {\n this._pushOrReplaceState(null, true);\n\n return;\n }\n\n this._pushOrReplaceState({\n hash,\n page,\n rotation\n }, true);\n\n return;\n }\n\n const destination = state.destination;\n\n this._updateInternalState(destination, state.uid, true);\n\n if (this._uid > this._maxUid) {\n this._maxUid = this._uid;\n }\n\n if (destination.rotation !== undefined) {\n this._initialRotation = destination.rotation;\n }\n\n if (destination.dest) {\n this._initialBookmark = JSON.stringify(destination.dest);\n this._destination.page = null;\n } else if (destination.hash) {\n this._initialBookmark = destination.hash;\n } else if (destination.page) {\n this._initialBookmark = `page=${destination.page}`;\n }\n }\n\n reset() {\n if (this._initialized) {\n this._pageHide();\n\n this._initialized = false;\n\n this._unbindEvents();\n }\n\n if (this._updateViewareaTimeout) {\n clearTimeout(this._updateViewareaTimeout);\n this._updateViewareaTimeout = null;\n }\n\n this._initialBookmark = null;\n this._initialRotation = null;\n }\n\n push({\n namedDest = null,\n explicitDest,\n pageNumber\n }) {\n if (!this._initialized) {\n return;\n }\n\n if (namedDest && typeof namedDest !== \"string\") {\n console.error(\"PDFHistory.push: \" + `\"${namedDest}\" is not a valid namedDest parameter.`);\n return;\n } else if (!Array.isArray(explicitDest)) {\n console.error(\"PDFHistory.push: \" + `\"${explicitDest}\" is not a valid explicitDest parameter.`);\n return;\n } else if (!(Number.isInteger(pageNumber) && pageNumber > 0 && pageNumber <= this.linkService.pagesCount)) {\n if (pageNumber !== null || this._destination) {\n console.error(\"PDFHistory.push: \" + `\"${pageNumber}\" is not a valid pageNumber parameter.`);\n return;\n }\n }\n\n const hash = namedDest || JSON.stringify(explicitDest);\n\n if (!hash) {\n return;\n }\n\n let forceReplace = false;\n\n if (this._destination && (isDestHashesEqual(this._destination.hash, hash) || isDestArraysEqual(this._destination.dest, explicitDest))) {\n if (this._destination.page) {\n return;\n }\n\n forceReplace = true;\n }\n\n if (this._popStateInProgress && !forceReplace) {\n return;\n }\n\n this._pushOrReplaceState({\n dest: explicitDest,\n hash,\n page: pageNumber,\n rotation: this.linkService.rotation\n }, forceReplace);\n\n if (!this._popStateInProgress) {\n this._popStateInProgress = true;\n Promise.resolve().then(() => {\n this._popStateInProgress = false;\n });\n }\n }\n\n pushCurrentPosition() {\n if (!this._initialized || this._popStateInProgress) {\n return;\n }\n\n this._tryPushCurrentPosition();\n }\n\n back() {\n if (!this._initialized || this._popStateInProgress) {\n return;\n }\n\n const state = window.history.state;\n\n if (this._isValidState(state) && state.uid > 0) {\n window.history.back();\n }\n }\n\n forward() {\n if (!this._initialized || this._popStateInProgress) {\n return;\n }\n\n const state = window.history.state;\n\n if (this._isValidState(state) && state.uid < this._maxUid) {\n window.history.forward();\n }\n }\n\n get popStateInProgress() {\n return this._initialized && (this._popStateInProgress || this._blockHashChange > 0);\n }\n\n get initialBookmark() {\n return this._initialized ? this._initialBookmark : null;\n }\n\n get initialRotation() {\n return this._initialized ? this._initialRotation : null;\n }\n\n _pushOrReplaceState(destination, forceReplace = false) {\n const shouldReplace = forceReplace || !this._destination;\n const newState = {\n fingerprint: this._fingerprint,\n uid: shouldReplace ? this._uid : this._uid + 1,\n destination\n };\n\n this._updateInternalState(destination, newState.uid);\n\n let newUrl;\n\n if (this._updateUrl && destination && destination.hash) {\n const baseUrl = document.location.href.split(\"#\")[0];\n\n if (!baseUrl.startsWith(\"file://\")) {\n newUrl = `${baseUrl}#${destination.hash}`;\n }\n }\n\n if (shouldReplace) {\n window.history.replaceState(newState, \"\", newUrl);\n } else {\n this._maxUid = this._uid;\n window.history.pushState(newState, \"\", newUrl);\n }\n }\n\n _tryPushCurrentPosition(temporary = false) {\n if (!this._position) {\n return;\n }\n\n let position = this._position;\n\n if (temporary) {\n position = Object.assign(Object.create(null), this._position);\n position.temporary = true;\n }\n\n if (!this._destination) {\n this._pushOrReplaceState(position);\n\n return;\n }\n\n if (this._destination.temporary) {\n this._pushOrReplaceState(position, true);\n\n return;\n }\n\n if (this._destination.hash === position.hash) {\n return;\n }\n\n if (!this._destination.page && (POSITION_UPDATED_THRESHOLD <= 0 || this._numPositionUpdates <= POSITION_UPDATED_THRESHOLD)) {\n return;\n }\n\n let forceReplace = false;\n\n if (this._destination.page >= position.first && this._destination.page <= position.page) {\n if (this._destination.dest || !this._destination.first) {\n return;\n }\n\n forceReplace = true;\n }\n\n this._pushOrReplaceState(position, forceReplace);\n }\n\n _isValidState(state, checkReload = false) {\n if (!state) {\n return false;\n }\n\n if (state.fingerprint !== this._fingerprint) {\n if (checkReload) {\n if (typeof state.fingerprint !== \"string\" || state.fingerprint.length !== this._fingerprint.length) {\n return false;\n }\n\n const [perfEntry] = performance.getEntriesByType(\"navigation\");\n\n if (!perfEntry || perfEntry.type !== \"reload\") {\n return false;\n }\n } else {\n return false;\n }\n }\n\n if (!Number.isInteger(state.uid) || state.uid < 0) {\n return false;\n }\n\n if (state.destination === null || typeof state.destination !== \"object\") {\n return false;\n }\n\n return true;\n }\n\n _updateInternalState(destination, uid, removeTemporary = false) {\n if (this._updateViewareaTimeout) {\n clearTimeout(this._updateViewareaTimeout);\n this._updateViewareaTimeout = null;\n }\n\n if (removeTemporary && destination && destination.temporary) {\n delete destination.temporary;\n }\n\n this._destination = destination;\n this._uid = uid;\n this._numPositionUpdates = 0;\n }\n\n _parseCurrentHash(checkNameddest = false) {\n const hash = unescape(getCurrentHash()).substring(1);\n const params = (0, _ui_utils.parseQueryString)(hash);\n const nameddest = params.nameddest || \"\";\n let page = params.page | 0;\n\n if (!(Number.isInteger(page) && page > 0 && page <= this.linkService.pagesCount) || checkNameddest && nameddest.length > 0) {\n page = null;\n }\n\n return {\n hash,\n page,\n rotation: this.linkService.rotation\n };\n }\n\n _updateViewarea({\n location\n }) {\n if (this._updateViewareaTimeout) {\n clearTimeout(this._updateViewareaTimeout);\n this._updateViewareaTimeout = null;\n }\n\n this._position = {\n hash: this._isViewerInPresentationMode ? `page=${location.pageNumber}` : location.pdfOpenParams.substring(1),\n page: this.linkService.page,\n first: location.pageNumber,\n rotation: location.rotation\n };\n\n if (this._popStateInProgress) {\n return;\n }\n\n if (POSITION_UPDATED_THRESHOLD > 0 && this._isPagesLoaded && this._destination && !this._destination.page) {\n this._numPositionUpdates++;\n }\n\n if (UPDATE_VIEWAREA_TIMEOUT > 0) {\n this._updateViewareaTimeout = setTimeout(() => {\n if (!this._popStateInProgress) {\n this._tryPushCurrentPosition(true);\n }\n\n this._updateViewareaTimeout = null;\n }, UPDATE_VIEWAREA_TIMEOUT);\n }\n }\n\n _popState({\n state\n }) {\n const newHash = getCurrentHash(),\n hashChanged = this._currentHash !== newHash;\n this._currentHash = newHash;\n\n if (!state) {\n this._uid++;\n\n const {\n hash,\n page,\n rotation\n } = this._parseCurrentHash();\n\n this._pushOrReplaceState({\n hash,\n page,\n rotation\n }, true);\n\n return;\n }\n\n if (!this._isValidState(state)) {\n return;\n }\n\n this._popStateInProgress = true;\n\n if (hashChanged) {\n this._blockHashChange++;\n (0, _ui_utils.waitOnEventOrTimeout)({\n target: window,\n name: \"hashchange\",\n delay: HASH_CHANGE_TIMEOUT\n }).then(() => {\n this._blockHashChange--;\n });\n }\n\n const destination = state.destination;\n\n this._updateInternalState(destination, state.uid, true);\n\n if (this._uid > this._maxUid) {\n this._maxUid = this._uid;\n }\n\n if ((0, _ui_utils.isValidRotation)(destination.rotation)) {\n this.linkService.rotation = destination.rotation;\n }\n\n if (destination.dest) {\n this.linkService.navigateTo(destination.dest);\n } else if (destination.hash) {\n this.linkService.setHash(destination.hash);\n } else if (destination.page) {\n this.linkService.page = destination.page;\n }\n\n Promise.resolve().then(() => {\n this._popStateInProgress = false;\n });\n }\n\n _pageHide() {\n if (!this._destination || this._destination.temporary) {\n this._tryPushCurrentPosition();\n }\n }\n\n _bindEvents() {\n if (this._boundEvents) {\n return;\n }\n\n this._boundEvents = {\n updateViewarea: this._updateViewarea.bind(this),\n popState: this._popState.bind(this),\n pageHide: this._pageHide.bind(this)\n };\n\n this.eventBus._on(\"updateviewarea\", this._boundEvents.updateViewarea);\n\n window.addEventListener(\"popstate\", this._boundEvents.popState);\n window.addEventListener(\"pagehide\", this._boundEvents.pageHide);\n }\n\n _unbindEvents() {\n if (!this._boundEvents) {\n return;\n }\n\n this.eventBus._off(\"updateviewarea\", this._boundEvents.updateViewarea);\n\n window.removeEventListener(\"popstate\", this._boundEvents.popState);\n window.removeEventListener(\"pagehide\", this._boundEvents.pageHide);\n this._boundEvents = null;\n }\n\n}\n\nexports.PDFHistory = PDFHistory;\n\nfunction isDestHashesEqual(destHash, pushHash) {\n if (typeof destHash !== \"string\" || typeof pushHash !== \"string\") {\n return false;\n }\n\n if (destHash === pushHash) {\n return true;\n }\n\n const {\n nameddest\n } = (0, _ui_utils.parseQueryString)(destHash);\n\n if (nameddest === pushHash) {\n return true;\n }\n\n return false;\n}\n\nfunction isDestArraysEqual(firstDest, secondDest) {\n function isEntryEqual(first, second) {\n if (typeof first !== typeof second) {\n return false;\n }\n\n if (Array.isArray(first) || Array.isArray(second)) {\n return false;\n }\n\n if (first !== null && typeof first === \"object\" && second !== null) {\n if (Object.keys(first).length !== Object.keys(second).length) {\n return false;\n }\n\n for (const key in first) {\n if (!isEntryEqual(first[key], second[key])) {\n return false;\n }\n }\n\n return true;\n }\n\n return first === second || Number.isNaN(first) && Number.isNaN(second);\n }\n\n if (!(Array.isArray(firstDest) && Array.isArray(secondDest))) {\n return false;\n }\n\n if (firstDest.length !== secondDest.length) {\n return false;\n }\n\n for (let i = 0, ii = firstDest.length; i < ii; i++) {\n if (!isEntryEqual(firstDest[i], secondDest[i])) {\n return false;\n }\n }\n\n return true;\n}\n\n/***/ }),\n/* 13 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.PDFPageView = void 0;\n\nvar _ui_utils = __w_pdfjs_require__(3);\n\nvar _pdfjsLib = __w_pdfjs_require__(2);\n\nvar _pdf_rendering_queue = __w_pdfjs_require__(14);\n\nvar _viewer_compatibility = __w_pdfjs_require__(7);\n\nconst MAX_CANVAS_PIXELS = _viewer_compatibility.viewerCompatibilityParams.maxCanvasPixels || 16777216;\n\nclass PDFPageView {\n constructor(options) {\n const container = options.container;\n const defaultViewport = options.defaultViewport;\n this.id = options.id;\n this.renderingId = \"page\" + this.id;\n this.pdfPage = null;\n this.pageLabel = null;\n this.rotation = 0;\n this.scale = options.scale || _ui_utils.DEFAULT_SCALE;\n this.viewport = defaultViewport;\n this.pdfPageRotate = defaultViewport.rotation;\n this.hasRestrictedScaling = false;\n this.textLayerMode = Number.isInteger(options.textLayerMode) ? options.textLayerMode : _ui_utils.TextLayerMode.ENABLE;\n this.imageResourcesPath = options.imageResourcesPath || \"\";\n this.renderInteractiveForms = options.renderInteractiveForms || false;\n this.useOnlyCssZoom = options.useOnlyCssZoom || false;\n this.maxCanvasPixels = options.maxCanvasPixels || MAX_CANVAS_PIXELS;\n this.eventBus = options.eventBus;\n this.renderingQueue = options.renderingQueue;\n this.textLayerFactory = options.textLayerFactory;\n this.annotationLayerFactory = options.annotationLayerFactory;\n this.renderer = options.renderer || _ui_utils.RendererType.CANVAS;\n this.enableWebGL = options.enableWebGL || false;\n this.l10n = options.l10n || _ui_utils.NullL10n;\n this.paintTask = null;\n this.paintedViewportMap = new WeakMap();\n this.renderingState = _pdf_rendering_queue.RenderingStates.INITIAL;\n this.resume = null;\n this.error = null;\n this.annotationLayer = null;\n this.textLayer = null;\n this.zoomLayer = null;\n const div = document.createElement(\"div\");\n div.className = \"page\";\n div.style.width = Math.floor(this.viewport.width) + \"px\";\n div.style.height = Math.floor(this.viewport.height) + \"px\";\n div.setAttribute(\"data-page-number\", this.id);\n this.div = div;\n container.appendChild(div);\n }\n\n setPdfPage(pdfPage) {\n this.pdfPage = pdfPage;\n this.pdfPageRotate = pdfPage.rotate;\n const totalRotation = (this.rotation + this.pdfPageRotate) % 360;\n this.viewport = pdfPage.getViewport({\n scale: this.scale * _ui_utils.CSS_UNITS,\n rotation: totalRotation\n });\n this.stats = pdfPage.stats;\n this.reset();\n }\n\n destroy() {\n this.reset();\n\n if (this.pdfPage) {\n this.pdfPage.cleanup();\n }\n }\n\n _resetZoomLayer(removeFromDOM = false) {\n if (!this.zoomLayer) {\n return;\n }\n\n const zoomLayerCanvas = this.zoomLayer.firstChild;\n this.paintedViewportMap.delete(zoomLayerCanvas);\n zoomLayerCanvas.width = 0;\n zoomLayerCanvas.height = 0;\n\n if (removeFromDOM) {\n this.zoomLayer.remove();\n }\n\n this.zoomLayer = null;\n }\n\n reset(keepZoomLayer = false, keepAnnotations = false) {\n this.cancelRendering(keepAnnotations);\n this.renderingState = _pdf_rendering_queue.RenderingStates.INITIAL;\n const div = this.div;\n div.style.width = Math.floor(this.viewport.width) + \"px\";\n div.style.height = Math.floor(this.viewport.height) + \"px\";\n const childNodes = div.childNodes;\n const currentZoomLayerNode = keepZoomLayer && this.zoomLayer || null;\n const currentAnnotationNode = keepAnnotations && this.annotationLayer && this.annotationLayer.div || null;\n\n for (let i = childNodes.length - 1; i >= 0; i--) {\n const node = childNodes[i];\n\n if (currentZoomLayerNode === node || currentAnnotationNode === node) {\n continue;\n }\n\n div.removeChild(node);\n }\n\n div.removeAttribute(\"data-loaded\");\n\n if (currentAnnotationNode) {\n this.annotationLayer.hide();\n } else if (this.annotationLayer) {\n this.annotationLayer.cancel();\n this.annotationLayer = null;\n }\n\n if (!currentZoomLayerNode) {\n if (this.canvas) {\n this.paintedViewportMap.delete(this.canvas);\n this.canvas.width = 0;\n this.canvas.height = 0;\n delete this.canvas;\n }\n\n this._resetZoomLayer();\n }\n\n if (this.svg) {\n this.paintedViewportMap.delete(this.svg);\n delete this.svg;\n }\n\n this.loadingIconDiv = document.createElement(\"div\");\n this.loadingIconDiv.className = \"loadingIcon\";\n div.appendChild(this.loadingIconDiv);\n }\n\n update(scale, rotation) {\n this.scale = scale || this.scale;\n\n if (typeof rotation !== \"undefined\") {\n this.rotation = rotation;\n }\n\n const totalRotation = (this.rotation + this.pdfPageRotate) % 360;\n this.viewport = this.viewport.clone({\n scale: this.scale * _ui_utils.CSS_UNITS,\n rotation: totalRotation\n });\n\n if (this.svg) {\n this.cssTransform(this.svg, true);\n this.eventBus.dispatch(\"pagerendered\", {\n source: this,\n pageNumber: this.id,\n cssTransform: true,\n timestamp: performance.now()\n });\n return;\n }\n\n let isScalingRestricted = false;\n\n if (this.canvas && this.maxCanvasPixels > 0) {\n const outputScale = this.outputScale;\n\n if ((Math.floor(this.viewport.width) * outputScale.sx | 0) * (Math.floor(this.viewport.height) * outputScale.sy | 0) > this.maxCanvasPixels) {\n isScalingRestricted = true;\n }\n }\n\n if (this.canvas) {\n if (this.useOnlyCssZoom || this.hasRestrictedScaling && isScalingRestricted) {\n this.cssTransform(this.canvas, true);\n this.eventBus.dispatch(\"pagerendered\", {\n source: this,\n pageNumber: this.id,\n cssTransform: true,\n timestamp: performance.now()\n });\n return;\n }\n\n if (!this.zoomLayer && !this.canvas.hasAttribute(\"hidden\")) {\n this.zoomLayer = this.canvas.parentNode;\n this.zoomLayer.style.position = \"absolute\";\n }\n }\n\n if (this.zoomLayer) {\n this.cssTransform(this.zoomLayer.firstChild);\n }\n\n this.reset(true, true);\n }\n\n cancelRendering(keepAnnotations = false) {\n if (this.paintTask) {\n this.paintTask.cancel();\n this.paintTask = null;\n }\n\n this.resume = null;\n\n if (this.textLayer) {\n this.textLayer.cancel();\n this.textLayer = null;\n }\n\n if (!keepAnnotations && this.annotationLayer) {\n this.annotationLayer.cancel();\n this.annotationLayer = null;\n }\n }\n\n cssTransform(target, redrawAnnotations = false) {\n const width = this.viewport.width;\n const height = this.viewport.height;\n const div = this.div;\n target.style.width = target.parentNode.style.width = div.style.width = Math.floor(width) + \"px\";\n target.style.height = target.parentNode.style.height = div.style.height = Math.floor(height) + \"px\";\n const relativeRotation = this.viewport.rotation - this.paintedViewportMap.get(target).rotation;\n const absRotation = Math.abs(relativeRotation);\n let scaleX = 1,\n scaleY = 1;\n\n if (absRotation === 90 || absRotation === 270) {\n scaleX = height / width;\n scaleY = width / height;\n }\n\n const cssTransform = \"rotate(\" + relativeRotation + \"deg) \" + \"scale(\" + scaleX + \",\" + scaleY + \")\";\n target.style.transform = cssTransform;\n\n if (this.textLayer) {\n const textLayerViewport = this.textLayer.viewport;\n const textRelativeRotation = this.viewport.rotation - textLayerViewport.rotation;\n const textAbsRotation = Math.abs(textRelativeRotation);\n let scale = width / textLayerViewport.width;\n\n if (textAbsRotation === 90 || textAbsRotation === 270) {\n scale = width / textLayerViewport.height;\n }\n\n const textLayerDiv = this.textLayer.textLayerDiv;\n let transX, transY;\n\n switch (textAbsRotation) {\n case 0:\n transX = transY = 0;\n break;\n\n case 90:\n transX = 0;\n transY = \"-\" + textLayerDiv.style.height;\n break;\n\n case 180:\n transX = \"-\" + textLayerDiv.style.width;\n transY = \"-\" + textLayerDiv.style.height;\n break;\n\n case 270:\n transX = \"-\" + textLayerDiv.style.width;\n transY = 0;\n break;\n\n default:\n console.error(\"Bad rotation value.\");\n break;\n }\n\n textLayerDiv.style.transform = \"rotate(\" + textAbsRotation + \"deg) \" + \"scale(\" + scale + \", \" + scale + \") \" + \"translate(\" + transX + \", \" + transY + \")\";\n textLayerDiv.style.transformOrigin = \"0% 0%\";\n }\n\n if (redrawAnnotations && this.annotationLayer) {\n this.annotationLayer.render(this.viewport, \"display\");\n }\n }\n\n get width() {\n return this.viewport.width;\n }\n\n get height() {\n return this.viewport.height;\n }\n\n getPagePoint(x, y) {\n return this.viewport.convertToPdfPoint(x, y);\n }\n\n draw() {\n if (this.renderingState !== _pdf_rendering_queue.RenderingStates.INITIAL) {\n console.error(\"Must be in new state before drawing\");\n this.reset();\n }\n\n const {\n div,\n pdfPage\n } = this;\n\n if (!pdfPage) {\n this.renderingState = _pdf_rendering_queue.RenderingStates.FINISHED;\n\n if (this.loadingIconDiv) {\n div.removeChild(this.loadingIconDiv);\n delete this.loadingIconDiv;\n }\n\n return Promise.reject(new Error(\"pdfPage is not loaded\"));\n }\n\n this.renderingState = _pdf_rendering_queue.RenderingStates.RUNNING;\n const canvasWrapper = document.createElement(\"div\");\n canvasWrapper.style.width = div.style.width;\n canvasWrapper.style.height = div.style.height;\n canvasWrapper.classList.add(\"canvasWrapper\");\n\n if (this.annotationLayer && this.annotationLayer.div) {\n div.insertBefore(canvasWrapper, this.annotationLayer.div);\n } else {\n div.appendChild(canvasWrapper);\n }\n\n let textLayer = null;\n\n if (this.textLayerMode !== _ui_utils.TextLayerMode.DISABLE && this.textLayerFactory) {\n const textLayerDiv = document.createElement(\"div\");\n textLayerDiv.className = \"textLayer\";\n textLayerDiv.style.width = canvasWrapper.style.width;\n textLayerDiv.style.height = canvasWrapper.style.height;\n\n if (this.annotationLayer && this.annotationLayer.div) {\n div.insertBefore(textLayerDiv, this.annotationLayer.div);\n } else {\n div.appendChild(textLayerDiv);\n }\n\n textLayer = this.textLayerFactory.createTextLayerBuilder(textLayerDiv, this.id - 1, this.viewport, this.textLayerMode === _ui_utils.TextLayerMode.ENABLE_ENHANCE, this.eventBus);\n }\n\n this.textLayer = textLayer;\n let renderContinueCallback = null;\n\n if (this.renderingQueue) {\n renderContinueCallback = cont => {\n if (!this.renderingQueue.isHighestPriority(this)) {\n this.renderingState = _pdf_rendering_queue.RenderingStates.PAUSED;\n\n this.resume = () => {\n this.renderingState = _pdf_rendering_queue.RenderingStates.RUNNING;\n cont();\n };\n\n return;\n }\n\n cont();\n };\n }\n\n const finishPaintTask = async error => {\n if (paintTask === this.paintTask) {\n this.paintTask = null;\n }\n\n if (error instanceof _pdfjsLib.RenderingCancelledException) {\n this.error = null;\n return;\n }\n\n this.renderingState = _pdf_rendering_queue.RenderingStates.FINISHED;\n\n if (this.loadingIconDiv) {\n div.removeChild(this.loadingIconDiv);\n delete this.loadingIconDiv;\n }\n\n this._resetZoomLayer(true);\n\n this.error = error;\n this.stats = pdfPage.stats;\n this.eventBus.dispatch(\"pagerendered\", {\n source: this,\n pageNumber: this.id,\n cssTransform: false,\n timestamp: performance.now()\n });\n\n if (error) {\n throw error;\n }\n };\n\n const paintTask = this.renderer === _ui_utils.RendererType.SVG ? this.paintOnSvg(canvasWrapper) : this.paintOnCanvas(canvasWrapper);\n paintTask.onRenderContinue = renderContinueCallback;\n this.paintTask = paintTask;\n const resultPromise = paintTask.promise.then(function () {\n return finishPaintTask(null).then(function () {\n if (textLayer) {\n const readableStream = pdfPage.streamTextContent({\n normalizeWhitespace: true\n });\n textLayer.setTextContentStream(readableStream);\n textLayer.render();\n }\n });\n }, function (reason) {\n return finishPaintTask(reason);\n });\n\n if (this.annotationLayerFactory) {\n if (!this.annotationLayer) {\n this.annotationLayer = this.annotationLayerFactory.createAnnotationLayerBuilder(div, pdfPage, this.imageResourcesPath, this.renderInteractiveForms, this.l10n);\n }\n\n this.annotationLayer.render(this.viewport, \"display\");\n }\n\n div.setAttribute(\"data-loaded\", true);\n this.eventBus.dispatch(\"pagerender\", {\n source: this,\n pageNumber: this.id\n });\n return resultPromise;\n }\n\n paintOnCanvas(canvasWrapper) {\n const renderCapability = (0, _pdfjsLib.createPromiseCapability)();\n const result = {\n promise: renderCapability.promise,\n\n onRenderContinue(cont) {\n cont();\n },\n\n cancel() {\n renderTask.cancel();\n }\n\n };\n const viewport = this.viewport;\n const canvas = document.createElement(\"canvas\");\n this.l10n.get(\"page_canvas\", {\n page: this.id\n }, \"Page {{page}}\").then(msg => {\n canvas.setAttribute(\"aria-label\", msg);\n });\n canvas.setAttribute(\"hidden\", \"hidden\");\n let isCanvasHidden = true;\n\n const showCanvas = function () {\n if (isCanvasHidden) {\n canvas.removeAttribute(\"hidden\");\n isCanvasHidden = false;\n }\n };\n\n canvasWrapper.appendChild(canvas);\n this.canvas = canvas;\n canvas.mozOpaque = true;\n const ctx = canvas.getContext(\"2d\", {\n alpha: false\n });\n const outputScale = (0, _ui_utils.getOutputScale)(ctx);\n this.outputScale = outputScale;\n\n if (this.useOnlyCssZoom) {\n const actualSizeViewport = viewport.clone({\n scale: _ui_utils.CSS_UNITS\n });\n outputScale.sx *= actualSizeViewport.width / viewport.width;\n outputScale.sy *= actualSizeViewport.height / viewport.height;\n outputScale.scaled = true;\n }\n\n if (this.maxCanvasPixels > 0) {\n const pixelsInViewport = viewport.width * viewport.height;\n const maxScale = Math.sqrt(this.maxCanvasPixels / pixelsInViewport);\n\n if (outputScale.sx > maxScale || outputScale.sy > maxScale) {\n outputScale.sx = maxScale;\n outputScale.sy = maxScale;\n outputScale.scaled = true;\n this.hasRestrictedScaling = true;\n } else {\n this.hasRestrictedScaling = false;\n }\n }\n\n const sfx = (0, _ui_utils.approximateFraction)(outputScale.sx);\n const sfy = (0, _ui_utils.approximateFraction)(outputScale.sy);\n canvas.width = (0, _ui_utils.roundToDivide)(viewport.width * outputScale.sx, sfx[0]);\n canvas.height = (0, _ui_utils.roundToDivide)(viewport.height * outputScale.sy, sfy[0]);\n canvas.style.width = (0, _ui_utils.roundToDivide)(viewport.width, sfx[1]) + \"px\";\n canvas.style.height = (0, _ui_utils.roundToDivide)(viewport.height, sfy[1]) + \"px\";\n this.paintedViewportMap.set(canvas, viewport);\n const transform = !outputScale.scaled ? null : [outputScale.sx, 0, 0, outputScale.sy, 0, 0];\n const renderContext = {\n canvasContext: ctx,\n transform,\n viewport: this.viewport,\n enableWebGL: this.enableWebGL,\n renderInteractiveForms: this.renderInteractiveForms\n };\n const renderTask = this.pdfPage.render(renderContext);\n\n renderTask.onContinue = function (cont) {\n showCanvas();\n\n if (result.onRenderContinue) {\n result.onRenderContinue(cont);\n } else {\n cont();\n }\n };\n\n renderTask.promise.then(function () {\n showCanvas();\n renderCapability.resolve(undefined);\n }, function (error) {\n showCanvas();\n renderCapability.reject(error);\n });\n return result;\n }\n\n paintOnSvg(wrapper) {\n let cancelled = false;\n\n const ensureNotCancelled = () => {\n if (cancelled) {\n throw new _pdfjsLib.RenderingCancelledException(`Rendering cancelled, page ${this.id}`, \"svg\");\n }\n };\n\n const pdfPage = this.pdfPage;\n const actualSizeViewport = this.viewport.clone({\n scale: _ui_utils.CSS_UNITS\n });\n const promise = pdfPage.getOperatorList().then(opList => {\n ensureNotCancelled();\n const svgGfx = new _pdfjsLib.SVGGraphics(pdfPage.commonObjs, pdfPage.objs);\n return svgGfx.getSVG(opList, actualSizeViewport).then(svg => {\n ensureNotCancelled();\n this.svg = svg;\n this.paintedViewportMap.set(svg, actualSizeViewport);\n svg.style.width = wrapper.style.width;\n svg.style.height = wrapper.style.height;\n this.renderingState = _pdf_rendering_queue.RenderingStates.FINISHED;\n wrapper.appendChild(svg);\n });\n });\n return {\n promise,\n\n onRenderContinue(cont) {\n cont();\n },\n\n cancel() {\n cancelled = true;\n }\n\n };\n }\n\n setPageLabel(label) {\n this.pageLabel = typeof label === \"string\" ? label : null;\n\n if (this.pageLabel !== null) {\n this.div.setAttribute(\"data-page-label\", this.pageLabel);\n } else {\n this.div.removeAttribute(\"data-page-label\");\n }\n }\n\n}\n\nexports.PDFPageView = PDFPageView;\n\n/***/ }),\n/* 14 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.PDFRenderingQueue = exports.RenderingStates = void 0;\nconst CLEANUP_TIMEOUT = 30000;\nconst RenderingStates = {\n INITIAL: 0,\n RUNNING: 1,\n PAUSED: 2,\n FINISHED: 3\n};\nexports.RenderingStates = RenderingStates;\n\nclass PDFRenderingQueue {\n constructor() {\n this.pdfViewer = null;\n this.pdfThumbnailViewer = null;\n this.onIdle = null;\n this.highestPriorityPage = null;\n this.idleTimeout = null;\n this.printing = false;\n this.isThumbnailViewEnabled = false;\n }\n\n setViewer(pdfViewer) {\n this.pdfViewer = pdfViewer;\n }\n\n setThumbnailViewer(pdfThumbnailViewer) {\n this.pdfThumbnailViewer = pdfThumbnailViewer;\n }\n\n isHighestPriority(view) {\n return this.highestPriorityPage === view.renderingId;\n }\n\n renderHighestPriority(currentlyVisiblePages) {\n if (this.idleTimeout) {\n clearTimeout(this.idleTimeout);\n this.idleTimeout = null;\n }\n\n if (this.pdfViewer.forceRendering(currentlyVisiblePages)) {\n return;\n }\n\n if (this.pdfThumbnailViewer && this.isThumbnailViewEnabled) {\n if (this.pdfThumbnailViewer.forceRendering()) {\n return;\n }\n }\n\n if (this.printing) {\n return;\n }\n\n if (this.onIdle) {\n this.idleTimeout = setTimeout(this.onIdle.bind(this), CLEANUP_TIMEOUT);\n }\n }\n\n getHighestPriority(visible, views, scrolledDown) {\n const visibleViews = visible.views;\n const numVisible = visibleViews.length;\n\n if (numVisible === 0) {\n return null;\n }\n\n for (let i = 0; i < numVisible; ++i) {\n const view = visibleViews[i].view;\n\n if (!this.isViewFinished(view)) {\n return view;\n }\n }\n\n if (scrolledDown) {\n const nextPageIndex = visible.last.id;\n\n if (views[nextPageIndex] && !this.isViewFinished(views[nextPageIndex])) {\n return views[nextPageIndex];\n }\n } else {\n const previousPageIndex = visible.first.id - 2;\n\n if (views[previousPageIndex] && !this.isViewFinished(views[previousPageIndex])) {\n return views[previousPageIndex];\n }\n }\n\n return null;\n }\n\n isViewFinished(view) {\n return view.renderingState === RenderingStates.FINISHED;\n }\n\n renderView(view) {\n switch (view.renderingState) {\n case RenderingStates.FINISHED:\n return false;\n\n case RenderingStates.PAUSED:\n this.highestPriorityPage = view.renderingId;\n view.resume();\n break;\n\n case RenderingStates.RUNNING:\n this.highestPriorityPage = view.renderingId;\n break;\n\n case RenderingStates.INITIAL:\n this.highestPriorityPage = view.renderingId;\n view.draw().finally(() => {\n this.renderHighestPriority();\n }).catch(reason => {\n console.error(`renderView: \"${reason}\"`);\n });\n break;\n }\n\n return true;\n }\n\n}\n\nexports.PDFRenderingQueue = PDFRenderingQueue;\n\n/***/ }),\n/* 15 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.PDFSinglePageViewer = void 0;\n\nvar _base_viewer = __w_pdfjs_require__(16);\n\nvar _pdfjsLib = __w_pdfjs_require__(2);\n\nclass PDFSinglePageViewer extends _base_viewer.BaseViewer {\n constructor(options) {\n super(options);\n\n this.eventBus._on(\"pagesinit\", evt => {\n this._ensurePageViewVisible();\n });\n }\n\n get _viewerElement() {\n return (0, _pdfjsLib.shadow)(this, \"_viewerElement\", this._shadowViewer);\n }\n\n _resetView() {\n super._resetView();\n\n this._previousPageNumber = 1;\n this._shadowViewer = document.createDocumentFragment();\n this._updateScrollDown = null;\n }\n\n _ensurePageViewVisible() {\n const pageView = this._pages[this._currentPageNumber - 1];\n const previousPageView = this._pages[this._previousPageNumber - 1];\n const viewerNodes = this.viewer.childNodes;\n\n switch (viewerNodes.length) {\n case 0:\n this.viewer.appendChild(pageView.div);\n break;\n\n case 1:\n if (viewerNodes[0] !== previousPageView.div) {\n throw new Error(\"_ensurePageViewVisible: Unexpected previously visible page.\");\n }\n\n if (pageView === previousPageView) {\n break;\n }\n\n this._shadowViewer.appendChild(previousPageView.div);\n\n this.viewer.appendChild(pageView.div);\n this.container.scrollTop = 0;\n break;\n\n default:\n throw new Error(\"_ensurePageViewVisible: Only one page should be visible at a time.\");\n }\n\n this._previousPageNumber = this._currentPageNumber;\n }\n\n _scrollUpdate() {\n if (this._updateScrollDown) {\n this._updateScrollDown();\n }\n\n super._scrollUpdate();\n }\n\n _scrollIntoView({\n pageDiv,\n pageSpot = null,\n pageNumber = null\n }) {\n if (pageNumber) {\n this._setCurrentPageNumber(pageNumber);\n }\n\n const scrolledDown = this._currentPageNumber >= this._previousPageNumber;\n\n this._ensurePageViewVisible();\n\n this.update();\n\n super._scrollIntoView({\n pageDiv,\n pageSpot,\n pageNumber\n });\n\n this._updateScrollDown = () => {\n this.scroll.down = scrolledDown;\n this._updateScrollDown = null;\n };\n }\n\n _getVisiblePages() {\n return this._getCurrentVisiblePage();\n }\n\n _updateHelper(visiblePages) {}\n\n get _isScrollModeHorizontal() {\n return (0, _pdfjsLib.shadow)(this, \"_isScrollModeHorizontal\", false);\n }\n\n _updateScrollMode() {}\n\n _updateSpreadMode() {}\n\n}\n\nexports.PDFSinglePageViewer = PDFSinglePageViewer;\n\n/***/ }),\n/* 16 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.BaseViewer = void 0;\n\nvar _ui_utils = __w_pdfjs_require__(3);\n\nvar _pdf_rendering_queue = __w_pdfjs_require__(14);\n\nvar _annotation_layer_builder = __w_pdfjs_require__(1);\n\nvar _pdfjsLib = __w_pdfjs_require__(2);\n\nvar _pdf_page_view = __w_pdfjs_require__(13);\n\nvar _pdf_link_service = __w_pdfjs_require__(4);\n\nvar _text_layer_builder = __w_pdfjs_require__(5);\n\nconst DEFAULT_CACHE_SIZE = 10;\n\nfunction PDFPageViewBuffer(size) {\n const data = [];\n\n this.push = function (view) {\n const i = data.indexOf(view);\n\n if (i >= 0) {\n data.splice(i, 1);\n }\n\n data.push(view);\n\n if (data.length > size) {\n data.shift().destroy();\n }\n };\n\n this.resize = function (newSize, pagesToKeep) {\n size = newSize;\n\n if (pagesToKeep) {\n const pageIdsToKeep = new Set();\n\n for (let i = 0, iMax = pagesToKeep.length; i < iMax; ++i) {\n pageIdsToKeep.add(pagesToKeep[i].id);\n }\n\n (0, _ui_utils.moveToEndOfArray)(data, function (page) {\n return pageIdsToKeep.has(page.id);\n });\n }\n\n while (data.length > size) {\n data.shift().destroy();\n }\n };\n}\n\nfunction isSameScale(oldScale, newScale) {\n if (newScale === oldScale) {\n return true;\n }\n\n if (Math.abs(newScale - oldScale) < 1e-15) {\n return true;\n }\n\n return false;\n}\n\nclass BaseViewer {\n constructor(options) {\n if (this.constructor === BaseViewer) {\n throw new Error(\"Cannot initialize BaseViewer.\");\n }\n\n this._name = this.constructor.name;\n this.container = options.container;\n this.viewer = options.viewer || options.container.firstElementChild;\n this.eventBus = options.eventBus;\n this.linkService = options.linkService || new _pdf_link_service.SimpleLinkService();\n this.downloadManager = options.downloadManager || null;\n this.findController = options.findController || null;\n this.removePageBorders = options.removePageBorders || false;\n this.textLayerMode = Number.isInteger(options.textLayerMode) ? options.textLayerMode : _ui_utils.TextLayerMode.ENABLE;\n this.imageResourcesPath = options.imageResourcesPath || \"\";\n this.renderInteractiveForms = options.renderInteractiveForms || false;\n this.enablePrintAutoRotate = options.enablePrintAutoRotate || false;\n this.renderer = options.renderer || _ui_utils.RendererType.CANVAS;\n this.enableWebGL = options.enableWebGL || false;\n this.useOnlyCssZoom = options.useOnlyCssZoom || false;\n this.maxCanvasPixels = options.maxCanvasPixels;\n this.l10n = options.l10n || _ui_utils.NullL10n;\n this.defaultRenderingQueue = !options.renderingQueue;\n\n if (this.defaultRenderingQueue) {\n this.renderingQueue = new _pdf_rendering_queue.PDFRenderingQueue();\n this.renderingQueue.setViewer(this);\n } else {\n this.renderingQueue = options.renderingQueue;\n }\n\n this.scroll = (0, _ui_utils.watchScroll)(this.container, this._scrollUpdate.bind(this));\n this.presentationModeState = _ui_utils.PresentationModeState.UNKNOWN;\n this._onBeforeDraw = this._onAfterDraw = null;\n\n this._resetView();\n\n if (this.removePageBorders) {\n this.viewer.classList.add(\"removePageBorders\");\n }\n\n Promise.resolve().then(() => {\n this.eventBus.dispatch(\"baseviewerinit\", {\n source: this\n });\n });\n }\n\n get pagesCount() {\n return this._pages.length;\n }\n\n getPageView(index) {\n return this._pages[index];\n }\n\n get pageViewsReady() {\n if (!this._pagesCapability.settled) {\n return false;\n }\n\n return this._pages.every(function (pageView) {\n return pageView && pageView.pdfPage;\n });\n }\n\n get currentPageNumber() {\n return this._currentPageNumber;\n }\n\n set currentPageNumber(val) {\n if (!Number.isInteger(val)) {\n throw new Error(\"Invalid page number.\");\n }\n\n if (!this.pdfDocument) {\n return;\n }\n\n if (!this._setCurrentPageNumber(val, true)) {\n console.error(`${this._name}.currentPageNumber: \"${val}\" is not a valid page.`);\n }\n }\n\n _setCurrentPageNumber(val, resetCurrentPageView = false) {\n if (this._currentPageNumber === val) {\n if (resetCurrentPageView) {\n this._resetCurrentPageView();\n }\n\n return true;\n }\n\n if (!(0 < val && val <= this.pagesCount)) {\n return false;\n }\n\n this._currentPageNumber = val;\n this.eventBus.dispatch(\"pagechanging\", {\n source: this,\n pageNumber: val,\n pageLabel: this._pageLabels && this._pageLabels[val - 1]\n });\n\n if (resetCurrentPageView) {\n this._resetCurrentPageView();\n }\n\n return true;\n }\n\n get currentPageLabel() {\n return this._pageLabels && this._pageLabels[this._currentPageNumber - 1];\n }\n\n set currentPageLabel(val) {\n if (!this.pdfDocument) {\n return;\n }\n\n let page = val | 0;\n\n if (this._pageLabels) {\n const i = this._pageLabels.indexOf(val);\n\n if (i >= 0) {\n page = i + 1;\n }\n }\n\n if (!this._setCurrentPageNumber(page, true)) {\n console.error(`${this._name}.currentPageLabel: \"${val}\" is not a valid page.`);\n }\n }\n\n get currentScale() {\n return this._currentScale !== _ui_utils.UNKNOWN_SCALE ? this._currentScale : _ui_utils.DEFAULT_SCALE;\n }\n\n set currentScale(val) {\n if (isNaN(val)) {\n throw new Error(\"Invalid numeric scale.\");\n }\n\n if (!this.pdfDocument) {\n return;\n }\n\n this._setScale(val, false);\n }\n\n get currentScaleValue() {\n return this._currentScaleValue;\n }\n\n set currentScaleValue(val) {\n if (!this.pdfDocument) {\n return;\n }\n\n this._setScale(val, false);\n }\n\n get pagesRotation() {\n return this._pagesRotation;\n }\n\n set pagesRotation(rotation) {\n if (!(0, _ui_utils.isValidRotation)(rotation)) {\n throw new Error(\"Invalid pages rotation angle.\");\n }\n\n if (!this.pdfDocument) {\n return;\n }\n\n if (this._pagesRotation === rotation) {\n return;\n }\n\n this._pagesRotation = rotation;\n const pageNumber = this._currentPageNumber;\n\n for (let i = 0, ii = this._pages.length; i < ii; i++) {\n const pageView = this._pages[i];\n pageView.update(pageView.scale, rotation);\n }\n\n if (this._currentScaleValue) {\n this._setScale(this._currentScaleValue, true);\n }\n\n this.eventBus.dispatch(\"rotationchanging\", {\n source: this,\n pagesRotation: rotation,\n pageNumber\n });\n\n if (this.defaultRenderingQueue) {\n this.update();\n }\n }\n\n get firstPagePromise() {\n return this.pdfDocument ? this._firstPageCapability.promise : null;\n }\n\n get onePageRendered() {\n return this.pdfDocument ? this._onePageRenderedCapability.promise : null;\n }\n\n get pagesPromise() {\n return this.pdfDocument ? this._pagesCapability.promise : null;\n }\n\n get _viewerElement() {\n throw new Error(\"Not implemented: _viewerElement\");\n }\n\n _onePageRenderedOrForceFetch() {\n if (!this.container.offsetParent || this._getVisiblePages().views.length === 0) {\n return Promise.resolve();\n }\n\n return this._onePageRenderedCapability.promise;\n }\n\n setDocument(pdfDocument) {\n if (this.pdfDocument) {\n this._cancelRendering();\n\n this._resetView();\n\n if (this.findController) {\n this.findController.setDocument(null);\n }\n }\n\n this.pdfDocument = pdfDocument;\n\n if (!pdfDocument) {\n return;\n }\n\n const pagesCount = pdfDocument.numPages;\n const firstPagePromise = pdfDocument.getPage(1);\n\n this._pagesCapability.promise.then(() => {\n this.eventBus.dispatch(\"pagesloaded\", {\n source: this,\n pagesCount\n });\n });\n\n this._onBeforeDraw = evt => {\n const pageView = this._pages[evt.pageNumber - 1];\n\n if (!pageView) {\n return;\n }\n\n this._buffer.push(pageView);\n };\n\n this.eventBus._on(\"pagerender\", this._onBeforeDraw);\n\n this._onAfterDraw = evt => {\n if (evt.cssTransform || this._onePageRenderedCapability.settled) {\n return;\n }\n\n this._onePageRenderedCapability.resolve();\n\n this.eventBus._off(\"pagerendered\", this._onAfterDraw);\n\n this._onAfterDraw = null;\n };\n\n this.eventBus._on(\"pagerendered\", this._onAfterDraw);\n\n firstPagePromise.then(firstPdfPage => {\n this._firstPageCapability.resolve(firstPdfPage);\n\n const scale = this.currentScale;\n const viewport = firstPdfPage.getViewport({\n scale: scale * _ui_utils.CSS_UNITS\n });\n const textLayerFactory = this.textLayerMode !== _ui_utils.TextLayerMode.DISABLE ? this : null;\n\n for (let pageNum = 1; pageNum <= pagesCount; ++pageNum) {\n const pageView = new _pdf_page_view.PDFPageView({\n container: this._viewerElement,\n eventBus: this.eventBus,\n id: pageNum,\n scale,\n defaultViewport: viewport.clone(),\n renderingQueue: this.renderingQueue,\n textLayerFactory,\n textLayerMode: this.textLayerMode,\n annotationLayerFactory: this,\n imageResourcesPath: this.imageResourcesPath,\n renderInteractiveForms: this.renderInteractiveForms,\n renderer: this.renderer,\n enableWebGL: this.enableWebGL,\n useOnlyCssZoom: this.useOnlyCssZoom,\n maxCanvasPixels: this.maxCanvasPixels,\n l10n: this.l10n\n });\n\n this._pages.push(pageView);\n }\n\n const firstPageView = this._pages[0];\n\n if (firstPageView) {\n firstPageView.setPdfPage(firstPdfPage);\n this.linkService.cachePageRef(1, firstPdfPage.ref);\n }\n\n if (this._spreadMode !== _ui_utils.SpreadMode.NONE) {\n this._updateSpreadMode();\n }\n\n this._onePageRenderedOrForceFetch().then(() => {\n if (this.findController) {\n this.findController.setDocument(pdfDocument);\n }\n\n if (pdfDocument.loadingParams.disableAutoFetch || pagesCount > 7500) {\n this._pagesCapability.resolve();\n\n return;\n }\n\n let getPagesLeft = pagesCount - 1;\n\n if (getPagesLeft <= 0) {\n this._pagesCapability.resolve();\n\n return;\n }\n\n for (let pageNum = 2; pageNum <= pagesCount; ++pageNum) {\n pdfDocument.getPage(pageNum).then(pdfPage => {\n const pageView = this._pages[pageNum - 1];\n\n if (!pageView.pdfPage) {\n pageView.setPdfPage(pdfPage);\n }\n\n this.linkService.cachePageRef(pageNum, pdfPage.ref);\n\n if (--getPagesLeft === 0) {\n this._pagesCapability.resolve();\n }\n }, reason => {\n console.error(`Unable to get page ${pageNum} to initialize viewer`, reason);\n\n if (--getPagesLeft === 0) {\n this._pagesCapability.resolve();\n }\n });\n }\n });\n\n this.eventBus.dispatch(\"pagesinit\", {\n source: this\n });\n\n if (this.defaultRenderingQueue) {\n this.update();\n }\n }).catch(reason => {\n console.error(\"Unable to initialize viewer\", reason);\n });\n }\n\n setPageLabels(labels) {\n if (!this.pdfDocument) {\n return;\n }\n\n if (!labels) {\n this._pageLabels = null;\n } else if (!(Array.isArray(labels) && this.pdfDocument.numPages === labels.length)) {\n this._pageLabels = null;\n console.error(`${this._name}.setPageLabels: Invalid page labels.`);\n } else {\n this._pageLabels = labels;\n }\n\n for (let i = 0, ii = this._pages.length; i < ii; i++) {\n const pageView = this._pages[i];\n const label = this._pageLabels && this._pageLabels[i];\n pageView.setPageLabel(label);\n }\n }\n\n _resetView() {\n this._pages = [];\n this._currentPageNumber = 1;\n this._currentScale = _ui_utils.UNKNOWN_SCALE;\n this._currentScaleValue = null;\n this._pageLabels = null;\n this._buffer = new PDFPageViewBuffer(DEFAULT_CACHE_SIZE);\n this._location = null;\n this._pagesRotation = 0;\n this._pagesRequests = new WeakMap();\n this._firstPageCapability = (0, _pdfjsLib.createPromiseCapability)();\n this._onePageRenderedCapability = (0, _pdfjsLib.createPromiseCapability)();\n this._pagesCapability = (0, _pdfjsLib.createPromiseCapability)();\n this._scrollMode = _ui_utils.ScrollMode.VERTICAL;\n this._spreadMode = _ui_utils.SpreadMode.NONE;\n\n if (this._onBeforeDraw) {\n this.eventBus._off(\"pagerender\", this._onBeforeDraw);\n\n this._onBeforeDraw = null;\n }\n\n if (this._onAfterDraw) {\n this.eventBus._off(\"pagerendered\", this._onAfterDraw);\n\n this._onAfterDraw = null;\n }\n\n this.viewer.textContent = \"\";\n\n this._updateScrollMode();\n }\n\n _scrollUpdate() {\n if (this.pagesCount === 0) {\n return;\n }\n\n this.update();\n }\n\n _scrollIntoView({\n pageDiv,\n pageSpot = null,\n pageNumber = null\n }) {\n (0, _ui_utils.scrollIntoView)(pageDiv, pageSpot);\n }\n\n _setScaleUpdatePages(newScale, newValue, noScroll = false, preset = false) {\n this._currentScaleValue = newValue.toString();\n\n if (isSameScale(this._currentScale, newScale)) {\n if (preset) {\n this.eventBus.dispatch(\"scalechanging\", {\n source: this,\n scale: newScale,\n presetValue: newValue\n });\n }\n\n return;\n }\n\n for (let i = 0, ii = this._pages.length; i < ii; i++) {\n this._pages[i].update(newScale);\n }\n\n this._currentScale = newScale;\n\n if (!noScroll) {\n let page = this._currentPageNumber,\n dest;\n\n if (this._location && !(this.isInPresentationMode || this.isChangingPresentationMode)) {\n page = this._location.pageNumber;\n dest = [null, {\n name: \"XYZ\"\n }, this._location.left, this._location.top, null];\n }\n\n this.scrollPageIntoView({\n pageNumber: page,\n destArray: dest,\n allowNegativeOffset: true\n });\n }\n\n this.eventBus.dispatch(\"scalechanging\", {\n source: this,\n scale: newScale,\n presetValue: preset ? newValue : undefined\n });\n\n if (this.defaultRenderingQueue) {\n this.update();\n }\n }\n\n _setScale(value, noScroll = false) {\n let scale = parseFloat(value);\n\n if (scale > 0) {\n this._setScaleUpdatePages(scale, value, noScroll, false);\n } else {\n const currentPage = this._pages[this._currentPageNumber - 1];\n\n if (!currentPage) {\n return;\n }\n\n const noPadding = this.isInPresentationMode || this.removePageBorders;\n let hPadding = noPadding ? 0 : _ui_utils.SCROLLBAR_PADDING;\n let vPadding = noPadding ? 0 : _ui_utils.VERTICAL_PADDING;\n\n if (!noPadding && this._isScrollModeHorizontal) {\n [hPadding, vPadding] = [vPadding, hPadding];\n }\n\n const pageWidthScale = (this.container.clientWidth - hPadding) / currentPage.width * currentPage.scale;\n const pageHeightScale = (this.container.clientHeight - vPadding) / currentPage.height * currentPage.scale;\n\n switch (value) {\n case \"page-actual\":\n scale = 1;\n break;\n\n case \"page-width\":\n scale = pageWidthScale;\n break;\n\n case \"page-height\":\n scale = pageHeightScale;\n break;\n\n case \"page-fit\":\n scale = Math.min(pageWidthScale, pageHeightScale);\n break;\n\n case \"auto\":\n const horizontalScale = (0, _ui_utils.isPortraitOrientation)(currentPage) ? pageWidthScale : Math.min(pageHeightScale, pageWidthScale);\n scale = Math.min(_ui_utils.MAX_AUTO_SCALE, horizontalScale);\n break;\n\n default:\n console.error(`${this._name}._setScale: \"${value}\" is an unknown zoom value.`);\n return;\n }\n\n this._setScaleUpdatePages(scale, value, noScroll, true);\n }\n }\n\n _resetCurrentPageView() {\n if (this.isInPresentationMode) {\n this._setScale(this._currentScaleValue, true);\n }\n\n const pageView = this._pages[this._currentPageNumber - 1];\n\n this._scrollIntoView({\n pageDiv: pageView.div\n });\n }\n\n scrollPageIntoView({\n pageNumber,\n destArray = null,\n allowNegativeOffset = false,\n ignoreDestinationZoom = false\n }) {\n if (!this.pdfDocument) {\n return;\n }\n\n const pageView = Number.isInteger(pageNumber) && this._pages[pageNumber - 1];\n\n if (!pageView) {\n console.error(`${this._name}.scrollPageIntoView: ` + `\"${pageNumber}\" is not a valid pageNumber parameter.`);\n return;\n }\n\n if (this.isInPresentationMode || !destArray) {\n this._setCurrentPageNumber(pageNumber, true);\n\n return;\n }\n\n let x = 0,\n y = 0;\n let width = 0,\n height = 0,\n widthScale,\n heightScale;\n const changeOrientation = pageView.rotation % 180 !== 0;\n const pageWidth = (changeOrientation ? pageView.height : pageView.width) / pageView.scale / _ui_utils.CSS_UNITS;\n const pageHeight = (changeOrientation ? pageView.width : pageView.height) / pageView.scale / _ui_utils.CSS_UNITS;\n let scale = 0;\n\n switch (destArray[1].name) {\n case \"XYZ\":\n x = destArray[2];\n y = destArray[3];\n scale = destArray[4];\n x = x !== null ? x : 0;\n y = y !== null ? y : pageHeight;\n break;\n\n case \"Fit\":\n case \"FitB\":\n scale = \"page-fit\";\n break;\n\n case \"FitH\":\n case \"FitBH\":\n y = destArray[2];\n scale = \"page-width\";\n\n if (y === null && this._location) {\n x = this._location.left;\n y = this._location.top;\n }\n\n break;\n\n case \"FitV\":\n case \"FitBV\":\n x = destArray[2];\n width = pageWidth;\n height = pageHeight;\n scale = \"page-height\";\n break;\n\n case \"FitR\":\n x = destArray[2];\n y = destArray[3];\n width = destArray[4] - x;\n height = destArray[5] - y;\n const hPadding = this.removePageBorders ? 0 : _ui_utils.SCROLLBAR_PADDING;\n const vPadding = this.removePageBorders ? 0 : _ui_utils.VERTICAL_PADDING;\n widthScale = (this.container.clientWidth - hPadding) / width / _ui_utils.CSS_UNITS;\n heightScale = (this.container.clientHeight - vPadding) / height / _ui_utils.CSS_UNITS;\n scale = Math.min(Math.abs(widthScale), Math.abs(heightScale));\n break;\n\n default:\n console.error(`${this._name}.scrollPageIntoView: ` + `\"${destArray[1].name}\" is not a valid destination type.`);\n return;\n }\n\n if (!ignoreDestinationZoom) {\n if (scale && scale !== this._currentScale) {\n this.currentScaleValue = scale;\n } else if (this._currentScale === _ui_utils.UNKNOWN_SCALE) {\n this.currentScaleValue = _ui_utils.DEFAULT_SCALE_VALUE;\n }\n }\n\n if (scale === \"page-fit\" && !destArray[4]) {\n this._scrollIntoView({\n pageDiv: pageView.div,\n pageNumber\n });\n\n return;\n }\n\n const boundingRect = [pageView.viewport.convertToViewportPoint(x, y), pageView.viewport.convertToViewportPoint(x + width, y + height)];\n let left = Math.min(boundingRect[0][0], boundingRect[1][0]);\n let top = Math.min(boundingRect[0][1], boundingRect[1][1]);\n\n if (!allowNegativeOffset) {\n left = Math.max(left, 0);\n top = Math.max(top, 0);\n }\n\n this._scrollIntoView({\n pageDiv: pageView.div,\n pageSpot: {\n left,\n top\n },\n pageNumber\n });\n }\n\n _updateLocation(firstPage) {\n const currentScale = this._currentScale;\n const currentScaleValue = this._currentScaleValue;\n const normalizedScaleValue = parseFloat(currentScaleValue) === currentScale ? Math.round(currentScale * 10000) / 100 : currentScaleValue;\n const pageNumber = firstPage.id;\n let pdfOpenParams = \"#page=\" + pageNumber;\n pdfOpenParams += \"&zoom=\" + normalizedScaleValue;\n const currentPageView = this._pages[pageNumber - 1];\n const container = this.container;\n const topLeft = currentPageView.getPagePoint(container.scrollLeft - firstPage.x, container.scrollTop - firstPage.y);\n const intLeft = Math.round(topLeft[0]);\n const intTop = Math.round(topLeft[1]);\n pdfOpenParams += \",\" + intLeft + \",\" + intTop;\n this._location = {\n pageNumber,\n scale: normalizedScaleValue,\n top: intTop,\n left: intLeft,\n rotation: this._pagesRotation,\n pdfOpenParams\n };\n }\n\n _updateHelper(visiblePages) {\n throw new Error(\"Not implemented: _updateHelper\");\n }\n\n update() {\n const visible = this._getVisiblePages();\n\n const visiblePages = visible.views,\n numVisiblePages = visiblePages.length;\n\n if (numVisiblePages === 0) {\n return;\n }\n\n const newCacheSize = Math.max(DEFAULT_CACHE_SIZE, 2 * numVisiblePages + 1);\n\n this._buffer.resize(newCacheSize, visiblePages);\n\n this.renderingQueue.renderHighestPriority(visible);\n\n this._updateHelper(visiblePages);\n\n this._updateLocation(visible.first);\n\n this.eventBus.dispatch(\"updateviewarea\", {\n source: this,\n location: this._location\n });\n }\n\n containsElement(element) {\n return this.container.contains(element);\n }\n\n focus() {\n this.container.focus();\n }\n\n get _isScrollModeHorizontal() {\n return this.isInPresentationMode ? false : this._scrollMode === _ui_utils.ScrollMode.HORIZONTAL;\n }\n\n get isInPresentationMode() {\n return this.presentationModeState === _ui_utils.PresentationModeState.FULLSCREEN;\n }\n\n get isChangingPresentationMode() {\n return this.presentationModeState === _ui_utils.PresentationModeState.CHANGING;\n }\n\n get isHorizontalScrollbarEnabled() {\n return this.isInPresentationMode ? false : this.container.scrollWidth > this.container.clientWidth;\n }\n\n get isVerticalScrollbarEnabled() {\n return this.isInPresentationMode ? false : this.container.scrollHeight > this.container.clientHeight;\n }\n\n _getCurrentVisiblePage() {\n if (!this.pagesCount) {\n return {\n views: []\n };\n }\n\n const pageView = this._pages[this._currentPageNumber - 1];\n const element = pageView.div;\n const view = {\n id: pageView.id,\n x: element.offsetLeft + element.clientLeft,\n y: element.offsetTop + element.clientTop,\n view: pageView\n };\n return {\n first: view,\n last: view,\n views: [view]\n };\n }\n\n _getVisiblePages() {\n return (0, _ui_utils.getVisibleElements)(this.container, this._pages, true, this._isScrollModeHorizontal);\n }\n\n isPageVisible(pageNumber) {\n if (!this.pdfDocument) {\n return false;\n }\n\n if (pageNumber < 1 || pageNumber > this.pagesCount) {\n console.error(`${this._name}.isPageVisible: \"${pageNumber}\" is out of bounds.`);\n return false;\n }\n\n return this._getVisiblePages().views.some(function (view) {\n return view.id === pageNumber;\n });\n }\n\n cleanup() {\n for (let i = 0, ii = this._pages.length; i < ii; i++) {\n if (this._pages[i] && this._pages[i].renderingState !== _pdf_rendering_queue.RenderingStates.FINISHED) {\n this._pages[i].reset();\n }\n }\n }\n\n _cancelRendering() {\n for (let i = 0, ii = this._pages.length; i < ii; i++) {\n if (this._pages[i]) {\n this._pages[i].cancelRendering();\n }\n }\n }\n\n _ensurePdfPageLoaded(pageView) {\n if (pageView.pdfPage) {\n return Promise.resolve(pageView.pdfPage);\n }\n\n if (this._pagesRequests.has(pageView)) {\n return this._pagesRequests.get(pageView);\n }\n\n const promise = this.pdfDocument.getPage(pageView.id).then(pdfPage => {\n if (!pageView.pdfPage) {\n pageView.setPdfPage(pdfPage);\n }\n\n this._pagesRequests.delete(pageView);\n\n return pdfPage;\n }).catch(reason => {\n console.error(\"Unable to get page for page view\", reason);\n\n this._pagesRequests.delete(pageView);\n });\n\n this._pagesRequests.set(pageView, promise);\n\n return promise;\n }\n\n forceRendering(currentlyVisiblePages) {\n const visiblePages = currentlyVisiblePages || this._getVisiblePages();\n\n const scrollAhead = this._isScrollModeHorizontal ? this.scroll.right : this.scroll.down;\n const pageView = this.renderingQueue.getHighestPriority(visiblePages, this._pages, scrollAhead);\n\n if (pageView) {\n this._ensurePdfPageLoaded(pageView).then(() => {\n this.renderingQueue.renderView(pageView);\n });\n\n return true;\n }\n\n return false;\n }\n\n createTextLayerBuilder(textLayerDiv, pageIndex, viewport, enhanceTextSelection = false, eventBus) {\n return new _text_layer_builder.TextLayerBuilder({\n textLayerDiv,\n eventBus,\n pageIndex,\n viewport,\n findController: this.isInPresentationMode ? null : this.findController,\n enhanceTextSelection: this.isInPresentationMode ? false : enhanceTextSelection\n });\n }\n\n createAnnotationLayerBuilder(pageDiv, pdfPage, imageResourcesPath = \"\", renderInteractiveForms = false, l10n = _ui_utils.NullL10n) {\n return new _annotation_layer_builder.AnnotationLayerBuilder({\n pageDiv,\n pdfPage,\n imageResourcesPath,\n renderInteractiveForms,\n linkService: this.linkService,\n downloadManager: this.downloadManager,\n l10n\n });\n }\n\n get hasEqualPageSizes() {\n const firstPageView = this._pages[0];\n\n for (let i = 1, ii = this._pages.length; i < ii; ++i) {\n const pageView = this._pages[i];\n\n if (pageView.width !== firstPageView.width || pageView.height !== firstPageView.height) {\n return false;\n }\n }\n\n return true;\n }\n\n getPagesOverview() {\n const pagesOverview = this._pages.map(function (pageView) {\n const viewport = pageView.pdfPage.getViewport({\n scale: 1\n });\n return {\n width: viewport.width,\n height: viewport.height,\n rotation: viewport.rotation\n };\n });\n\n if (!this.enablePrintAutoRotate) {\n return pagesOverview;\n }\n\n const isFirstPagePortrait = (0, _ui_utils.isPortraitOrientation)(pagesOverview[0]);\n return pagesOverview.map(function (size) {\n if (isFirstPagePortrait === (0, _ui_utils.isPortraitOrientation)(size)) {\n return size;\n }\n\n return {\n width: size.height,\n height: size.width,\n rotation: (size.rotation + 90) % 360\n };\n });\n }\n\n get scrollMode() {\n return this._scrollMode;\n }\n\n set scrollMode(mode) {\n if (this._scrollMode === mode) {\n return;\n }\n\n if (!(0, _ui_utils.isValidScrollMode)(mode)) {\n throw new Error(`Invalid scroll mode: ${mode}`);\n }\n\n this._scrollMode = mode;\n this.eventBus.dispatch(\"scrollmodechanged\", {\n source: this,\n mode\n });\n\n this._updateScrollMode(this._currentPageNumber);\n }\n\n _updateScrollMode(pageNumber = null) {\n const scrollMode = this._scrollMode,\n viewer = this.viewer;\n viewer.classList.toggle(\"scrollHorizontal\", scrollMode === _ui_utils.ScrollMode.HORIZONTAL);\n viewer.classList.toggle(\"scrollWrapped\", scrollMode === _ui_utils.ScrollMode.WRAPPED);\n\n if (!this.pdfDocument || !pageNumber) {\n return;\n }\n\n if (this._currentScaleValue && isNaN(this._currentScaleValue)) {\n this._setScale(this._currentScaleValue, true);\n }\n\n this._setCurrentPageNumber(pageNumber, true);\n\n this.update();\n }\n\n get spreadMode() {\n return this._spreadMode;\n }\n\n set spreadMode(mode) {\n if (this._spreadMode === mode) {\n return;\n }\n\n if (!(0, _ui_utils.isValidSpreadMode)(mode)) {\n throw new Error(`Invalid spread mode: ${mode}`);\n }\n\n this._spreadMode = mode;\n this.eventBus.dispatch(\"spreadmodechanged\", {\n source: this,\n mode\n });\n\n this._updateSpreadMode(this._currentPageNumber);\n }\n\n _updateSpreadMode(pageNumber = null) {\n if (!this.pdfDocument) {\n return;\n }\n\n const viewer = this.viewer,\n pages = this._pages;\n viewer.textContent = \"\";\n\n if (this._spreadMode === _ui_utils.SpreadMode.NONE) {\n for (let i = 0, iMax = pages.length; i < iMax; ++i) {\n viewer.appendChild(pages[i].div);\n }\n } else {\n const parity = this._spreadMode - 1;\n let spread = null;\n\n for (let i = 0, iMax = pages.length; i < iMax; ++i) {\n if (spread === null) {\n spread = document.createElement(\"div\");\n spread.className = \"spread\";\n viewer.appendChild(spread);\n } else if (i % 2 === parity) {\n spread = spread.cloneNode(false);\n viewer.appendChild(spread);\n }\n\n spread.appendChild(pages[i].div);\n }\n }\n\n if (!pageNumber) {\n return;\n }\n\n this._setCurrentPageNumber(pageNumber, true);\n\n this.update();\n }\n\n}\n\nexports.BaseViewer = BaseViewer;\n\n/***/ }),\n/* 17 */\n/***/ (function(module, exports, __w_pdfjs_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.PDFViewer = void 0;\n\nvar _base_viewer = __w_pdfjs_require__(16);\n\nvar _pdfjsLib = __w_pdfjs_require__(2);\n\nclass PDFViewer extends _base_viewer.BaseViewer {\n get _viewerElement() {\n return (0, _pdfjsLib.shadow)(this, \"_viewerElement\", this.viewer);\n }\n\n _scrollIntoView({\n pageDiv,\n pageSpot = null,\n pageNumber = null\n }) {\n if (!pageSpot && !this.isInPresentationMode) {\n const left = pageDiv.offsetLeft + pageDiv.clientLeft;\n const right = left + pageDiv.clientWidth;\n const {\n scrollLeft,\n clientWidth\n } = this.container;\n\n if (this._isScrollModeHorizontal || left < scrollLeft || right > scrollLeft + clientWidth) {\n pageSpot = {\n left: 0,\n top: 0\n };\n }\n }\n\n super._scrollIntoView({\n pageDiv,\n pageSpot,\n pageNumber\n });\n }\n\n _getVisiblePages() {\n if (this.isInPresentationMode) {\n return this._getCurrentVisiblePage();\n }\n\n return super._getVisiblePages();\n }\n\n _updateHelper(visiblePages) {\n if (this.isInPresentationMode) {\n return;\n }\n\n let currentId = this._currentPageNumber;\n let stillFullyVisible = false;\n\n for (const page of visiblePages) {\n if (page.percent < 100) {\n break;\n }\n\n if (page.id === currentId) {\n stillFullyVisible = true;\n break;\n }\n }\n\n if (!stillFullyVisible) {\n currentId = visiblePages[0].id;\n }\n\n this._setCurrentPageNumber(currentId);\n }\n\n}\n\nexports.PDFViewer = PDFViewer;\n\n/***/ })\n/******/ ]);\n});\n//# sourceMappingURL=pdf_viewer.js.map","import { LsEditorField } from '../ls-editor-field/ls-editor-field';\nimport { alter, oob } from './editorUtils';\n\nexport function keyDown(ev: KeyboardEvent) {\n if (this.selected && this.selected?.length > 0) {\n // utils need binding to the context\n const altbound = alter.bind(this);\n\n if (ev.key === 'ArrowDown') {\n altbound(original => {\n const alterElement = {\n ...original,\n top: original.top + 1,\n ay: original.ay + 1,\n by: original.by + 1,\n };\n\n return oob(alterElement) ? original : alterElement;\n });\n } else if (ev.key === 'ArrowUp') {\n altbound(original => {\n const alterElement = {\n ...original,\n top: original.top - 1,\n ay: original.ay - 1,\n by: original.top - 1,\n };\n\n return oob(alterElement) ? original : alterElement;\n });\n } else if (ev.key === 'ArrowRight') {\n altbound(original => {\n const alterElement = {\n ...original,\n left: original.left + 1,\n ax: original.ax + 1,\n bx: original.bx + 1,\n };\n\n return oob(alterElement) ? original : alterElement;\n });\n } else if (ev.key === 'ArrowLeft') {\n altbound(original => {\n const alterElement = {\n ...original,\n left: original.left - 1,\n ax: original.ax - 1,\n bx: original.bx - 1,\n };\n return oob(alterElement) ? original : alterElement;\n });\n } else if (ev.key === 'Delete' || ev.key === 'Backspace') {\n const arr = Array.from(this.selected) as LsEditorField[];\n this.mutate.emit(\n arr.map(s => {\n return { action: 'delete', data: s.dataItem };\n }),\n );\n\n this.update.emit(\n arr.map(s => {\n return { action: 'delete', data: s.dataItem };\n }),\n );\n } else if (ev.key === 'd' || ev.key === 'D' || ev.key === 'keyD') {\n const arr = Array.from(this.selected) as LsEditorField[];\n const createdItems = arr.map(s => {\n const newItem = { ...s.dataItem, id: btoa('ele' + crypto.randomUUID()) };\n const newTop = s.dataItem.top + s.dataItem.height;\n // check its in bounds\n if (newTop + s.dataItem.height < s.dataItem.pageDimensions.height) {\n console.log('Setting new top for duplicated item', newTop);\n newItem.top = newTop;\n }\n return { action: 'create', data: newItem, select: 'clear' };\n });\n this.update.emit(createdItems);\n this.mutate.emit(createdItems.map(item => ({ action: 'create', data: item.data })));\n }\n }\n}\n","import { LSApiElement } from '../../types/LSApiElement';\nimport { LSMutateEvent } from '../../types/LSMutateEvent';\nimport { findDimensions, findIn, recalculateCoordinates } from './editorCalculator';\n\nlet mousetimer = null;\n\nexport function debounce(data, delay) {\n if (mousetimer) clearTimeout(mousetimer);\n\n mousetimer = setTimeout(() => {\n this.mutate.emit([data]);\n }, delay);\n}\n\nexport function mouseDown(e) {\n if (e.offsetX < 0 || e.offsetY < 0) return;\n // console.log('mousedown', e);\n\n // Find if this was\n // - a hit on a field edge RESIZE\n // - a hit on the middle of a field MOVE\n // - a hit on the background document SELECTMULTIPLE with a box\n this.hitField = null;\n const fields = this.component.shadowRoot.querySelectorAll('ls-editor-field');\n\n fields.forEach(f => {\n const { left, top, height, width, bottom, right } = f.getBoundingClientRect();\n const fdims = { left: f.offsetLeft, top: f.offsetTop, height, width, x: e.screenX, y: e.screenY };\n this.startMouse = fdims;\n // west edge\n if (Math.abs(e.clientX - left) < 5 && e.clientY >= top && e.clientY <= bottom) {\n this.edgeSide = 'w';\n this.hitField = f;\n // right / east edge\n } else if (Math.abs(e.clientX - right) < 5 && e.clientY >= top && e.clientY <= bottom) {\n this.edgeSide = 'e';\n this.hitField = f;\n // north edge\n } else if (Math.abs(e.clientY - top) < 5 && e.clientX >= left && e.clientX <= right) {\n this.edgeSide = 'n';\n this.hitField = f;\n // south edge\n } else if (Math.abs(e.clientY - bottom) < 5 && e.clientX >= left && e.clientX <= right) {\n this.edgeSide = 's';\n this.hitField = f;\n } else if (e.clientY <= bottom && e.clientY >= top && e.clientX >= left && e.clientX <= right) {\n this.edgeSide = null;\n this.hitField = f;\n }\n });\n\n if (this.hitField && e.shiftKey === false) {\n var box = this.component.shadowRoot.getElementById('ls-box-selector') as HTMLElement;\n box.style.visibility = 'hidden';\n\n // mouse down on a field, select it and note the start location\n if (this.hitField.selected === false) {\n // unselect all other fields\n fields.forEach(fu => {\n fu.selected = false;\n });\n this.selected = [this.hitField];\n this.selectFields.emit([this.hitField.dataItem]);\n }\n\n const { height, width } = this.hitField.getBoundingClientRect();\n const fdims = { left: this.hitField.offsetLeft, top: this.hitField.offsetTop, height, width, x: e.screenX, y: e.screenY };\n this.startMouse = fdims;\n\n this.startLocations = this.selected.map(f => {\n const { height, width } = f.getBoundingClientRect();\n const beHtml = f as HTMLElement;\n return { top: beHtml.offsetTop, left: beHtml.offsetLeft, height, width };\n });\n this.selectionBox = null;\n } else if (this.hitField && e.shiftKey === true) {\n var box = this.component.shadowRoot.getElementById('ls-box-selector') as HTMLElement;\n box.style.visibility = 'hidden';\n\n // mouse down on a field, select it and note the start location\n if (this.hitField.selected === false) {\n // unselect all other fields\n fields.forEach(fu => {\n fu.selected = false;\n });\n this.selected = [...this.selected, this.hitField];\n this.selectFields.emit([...this.selected.map(si => si.dataItem), this.hitField.dataItem]);\n }\n\n const { height, width } = this.hitField.getBoundingClientRect();\n const fdims = { left: this.hitField.offsetLeft, top: this.hitField.offsetTop, height, width, x: e.screenX, y: e.screenY };\n this.startMouse = fdims;\n\n this.startLocations = this.selected.map(f => {\n const { height, width } = f.getBoundingClientRect();\n const beHtml = f as HTMLElement;\n return { top: beHtml.offsetTop, left: beHtml.offsetLeft, height, width };\n });\n this.selectionBox = null;\n } else {\n // move down on empty space, start a selection box\n this.startLocations = null;\n this.startMouse = null;\n this.selectionBox = { x: e.clientX, y: e.clientY };\n // console.log('empty space reset selected', this.selectionBox);\n this.unselect();\n\n this.selectFields.emit([]);\n this.selected = [];\n this.component.style.cursor = 'crosshair';\n }\n}\n\nexport function mouseMove(event) {\n event.preventDefault();\n\n // We have the mouse held down on a field edge to resize it.\n if (this.hitField && this.edgeSide && this.startMouse && event.buttons === 1) {\n const movedX = event.screenX - this.startMouse.x;\n const movedY = event.screenY - this.startMouse.y;\n\n switch (this.edgeSide) {\n case 'n':\n this.hitField.style.top = this.startMouse.top + movedY + 'px';\n this.hitField.style.height = this.startMouse.height - movedY + 'px';\n\n this.hitField.dataItem = { ...this.hitField.dataItem, top: this.startMouse.top + movedY, height: this.startMouse.height - movedY };\n break;\n case 's':\n this.hitField.style.height = this.startMouse.height + movedY + 'px';\n this.hitField.dataItem = { ...this.hitField.dataItem, height: this.startMouse.height + movedY };\n break;\n case 'e':\n this.hitField.style.width = this.startMouse.width + movedX + 'px';\n this.hitField.dataItem = { ...this.hitField.dataItem, width: this.startMouse.width + movedX };\n\n break;\n case 'w':\n this.hitField.style.left = this.startMouse.left + movedX + 'px';\n this.hitField.style.width = this.startMouse.width - movedX + 'px';\n\n this.hitField.dataItem = { ...this.hitField.dataItem, left: this.startMouse.left + movedX, width: this.startMouse.width - movedX };\n break;\n }\n\n debounce.bind(this)({ action: 'update', data: recalculateCoordinates(this.hitField.dataItem) }, 700);\n } else if (this.selectionBox && event.buttons === 1) {\n this.isBoxing = true;\n // draw the multiple selection box\n var box = this.component.shadowRoot.getElementById('ls-box-selector') as HTMLElement;\n var frame = this.component.shadowRoot.getElementById('ls-document-frame') as HTMLElement;\n var leftOffset = frame.getBoundingClientRect().left;\n var topOffset = frame.getBoundingClientRect().top;\n\n const movedX = event.clientX - this.selectionBox.x;\n const movedY = event.clientY - this.selectionBox.y;\n\n // allow for the frame to be scrolled\n box.style.visibility = 'visible';\n box.style.left = (this.selectionBox.x > event.clientX ? event.clientX : this.selectionBox.x) - leftOffset + frame.scrollLeft + 'px';\n box.style.top = (this.selectionBox.y > event.clientY ? event.clientY : this.selectionBox.y) - topOffset + frame.scrollTop + 'px';\n box.style.width = Math.abs(movedX) + 'px';\n box.style.height = Math.abs(movedY) + 'px';\n\n // Move one or more selected items\n } else if (this.startLocations && !this.edgeSide && this.startMouse && event.buttons === 1) {\n this.isMoving = true;\n var box = this.component.shadowRoot.getElementById('ls-box-selector') as HTMLElement;\n box.style.visibility = 'hidden';\n\n // Move one or more selected items\n const movedX = event.screenX - this.startMouse.x;\n const movedY = event.screenY - this.startMouse.y;\n if (this.selected?.length) {\n for (let i = 0; i < this.selected.length; i++) {\n this.selected[i].style.left = this.startLocations[i].left + movedX + 'px';\n this.selected[i].style.top = this.startLocations[i].top + movedY + 'px';\n }\n }\n }\n}\n\nexport function mouseUp(event) {\n this.edgeSide = null;\n this.startMouse = null;\n this.component.style.cursor = 'auto';\n\n // console.log('mouse up');\n // find what was inside the selection box emit the select event and change their style\n if (this.selectionBox && this.isBoxing) {\n this.isBoxing = false;\n var box = this.component.shadowRoot.getElementById('ls-box-selector') as HTMLElement;\n var fields = this.component.shadowRoot.querySelectorAll('ls-editor-field');\n box.style.visibility = 'hidden';\n this.selectionBox = null;\n const found = findIn(fields, box, true, event.shiftKey);\n this.selected = Array.from(found);\n this.selectFields.emit(found.map(fx => fx.dataItem));\n }\n}\n\nexport function mouseClick(e) {\n // check we're not moving fields\n if (this.isMoving) {\n // End dragging fields\n this.isMoving = false;\n const fields = this.component.shadowRoot.querySelectorAll('ls-editor-field') as HTMLLsEditorFieldElement[];\n const divFrame = this.component.shadowRoot.getElementById('ls-document-frame') as HTMLDivElement;\n const selected = Array.from(fields).filter(fx => fx.selected);\n\n this.mutate.emit(\n Array.from(fields)\n .filter(fx => fx.selected)\n .map(fx => {\n // Calculate new positions and update the dataItem on the control\n const delta = {\n ...fx.dataItem,\n ...findDimensions(divFrame, fx, this.pageDimensions[this.pageNum - 1].height, this.pageDimensions[this.pageNum - 1].width, this.zoom),\n };\n // TODO:: out of bounds handler (UNDO)\n // update the data in the html element\n fx.dataItem = delta;\n // send an update event to be processed\n return { action: 'update', data: delta };\n }),\n );\n this.selectFields.emit(selected.map(fx => fx.dataItem));\n } else {\n // reset the selection box location\n this.selectionBox = { x: e.clientX, y: e.clientY };\n\n const fields = this.component.shadowRoot.querySelectorAll('ls-editor-field') as HTMLLsEditorFieldElement[];\n fields.forEach(f => {\n const { left, top, bottom, right } = f.getBoundingClientRect();\n if (e.clientY <= bottom && e.clientY >= top && e.clientX >= left && e.clientX <= right) {\n this.edgeSide = null;\n this.hitField = f;\n // check if this is a shift click to add to the current selection\n if (!e.shiftKey) fields.forEach(ft => (ft.selected = false));\n f.selected = true;\n }\n });\n\n this.selected = Array.from(fields).filter(fx => fx.selected);\n this.selectFields.emit(this.selected.map(fx => fx.dataItem));\n }\n}\n\nexport function mouseDrop(event) {\n event.preventDefault();\n try {\n const data: IToolboxField = JSON.parse(event.dataTransfer.getData('application/json')) as any as IToolboxField;\n // Unselect all current selected items\n this.component.shadowRoot.querySelectorAll('ls-editor-field').forEach(f => (f.selected = false));\n var frame = this.component.shadowRoot.getElementById('ls-document-frame') as HTMLElement;\n // Make a new API compatible id for a template element (prefix 'ele')\n const id = btoa('ele' + crypto.randomUUID());\n const top = event.offsetY / this.zoom + frame.scrollTop;\n const left = event.offsetX / this.zoom + frame.scrollLeft;\n\n // TODO: Put these defaults somewhere sensible\n const newData: LSMutateEvent = {\n action: 'create',\n data: {\n id,\n value: '',\n formElementType: data.formElementType,\n elementType: data.elementType,\n validation: data.validation,\n substantive: false,\n top,\n left,\n hideBorder: false,\n height: data.defaultHeight,\n width: data.defaultWidth,\n pageDimensions: this.pageDimensions[this.pageNum - 1],\n fontName: 'arial',\n fontSize: 10,\n align: 'left',\n signer: this.signer,\n page: this.pageNum,\n mapTo: null,\n label: '',\n helpText: null,\n logicGroup: null,\n optional: false,\n options: null,\n logicAction: null,\n labelExtra: null,\n fieldOrder: null,\n ax: left > 0 ? left / this.pageDimensions[this.pageNum - 1].width : 0,\n ay: top > 0 ? top / this.pageDimensions[this.pageNum - 1].height : 0,\n bx: (left + data.defaultWidth) / this.pageDimensions[this.pageNum - 1].width,\n by: (top + data.defaultHeight) / this.pageDimensions[this.pageNum - 1].height,\n templateId: this._template.id,\n } as LSApiElement,\n };\n this.mutate.emit([newData]);\n this.update.emit([newData]);\n } catch (e) {\n console.error(e);\n }\n}\n\nexport function mouseDoubleClick(event) {\n console.log('double click');\n try {\n const data: IToolboxField = this.fieldTypeSelected as IToolboxField;\n\n // Unselect all current selected items\n this.component.shadowRoot.querySelectorAll('ls-editor-field').forEach(f => (f.selected = false));\n var frame = this.component.shadowRoot.getElementById('ls-document-frame') as HTMLElement;\n // Make a new API compatible id for a template element (prefix 'ele')\n const id = btoa('ele' + crypto.randomUUID());\n const top = event.offsetY / this.zoom + frame.scrollTop;\n const left = event.offsetX / this.zoom + frame.scrollLeft; \n\n // TODO: Put these defaults somewhere sensible\n const newData: LSMutateEvent = {\n action: 'create',\n data: {\n id,\n value: '',\n formElementType: data.formElementType,\n elementType: data.elementType,\n validation: data.validation,\n substantive: false,\n top,\n left,\n hideBorder: false,\n height: data.defaultHeight,\n width: data.defaultWidth,\n pageDimensions: this.pageDimensions[this.pageNum - 1],\n fontName: 'arial',\n fontSize: 10,\n align: 'left',\n signer: this.signer,\n page: this.pageNum,\n mapTo: null,\n label: '',\n helpText: null,\n logicGroup: null,\n optional: false,\n options: null,\n logicAction: null,\n labelExtra: null,\n fieldOrder: null,\n ax: left > 0 ? left / this.pageDimensions[this.pageNum - 1].width : 0,\n ay: top > 0 ? top / this.pageDimensions[this.pageNum - 1].height : 0,\n bx: (left + data.defaultWidth) / this.pageDimensions[this.pageNum - 1].width,\n by: (top + data.defaultHeight) / this.pageDimensions[this.pageNum - 1].height,\n templateId: this._template.id,\n } as LSApiElement,\n };\n console.log(newData);\n this.mutate.emit([newData]);\n this.update.emit([newData]);\n } catch (e) {\n console.error(e);\n }\n}\n","/*! Axios v1.12.2 Copyright (c) 2025 Matt Zabriskie and contributors */\n'use strict';\n\nfunction bind(fn, thisArg) {\n return function wrap() {\n return fn.apply(thisArg, arguments);\n };\n}\n\n// utils is a library of generic helper functions non-specific to axios\n\nconst {toString} = Object.prototype;\nconst {getPrototypeOf} = Object;\nconst {iterator, toStringTag} = Symbol;\n\nconst kindOf = (cache => thing => {\n const str = toString.call(thing);\n return cache[str] || (cache[str] = str.slice(8, -1).toLowerCase());\n})(Object.create(null));\n\nconst kindOfTest = (type) => {\n type = type.toLowerCase();\n return (thing) => kindOf(thing) === type\n};\n\nconst typeOfTest = type => thing => typeof thing === type;\n\n/**\n * Determine if a value is an Array\n *\n * @param {Object} val The value to test\n *\n * @returns {boolean} True if value is an Array, otherwise false\n */\nconst {isArray} = Array;\n\n/**\n * Determine if a value is undefined\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if the value is undefined, otherwise false\n */\nconst isUndefined = typeOfTest('undefined');\n\n/**\n * Determine if a value is a Buffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Buffer, otherwise false\n */\nfunction isBuffer(val) {\n return val !== null && !isUndefined(val) && val.constructor !== null && !isUndefined(val.constructor)\n && isFunction$1(val.constructor.isBuffer) && val.constructor.isBuffer(val);\n}\n\n/**\n * Determine if a value is an ArrayBuffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is an ArrayBuffer, otherwise false\n */\nconst isArrayBuffer = kindOfTest('ArrayBuffer');\n\n\n/**\n * Determine if a value is a view on an ArrayBuffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false\n */\nfunction isArrayBufferView(val) {\n let result;\n if ((typeof ArrayBuffer !== 'undefined') && (ArrayBuffer.isView)) {\n result = ArrayBuffer.isView(val);\n } else {\n result = (val) && (val.buffer) && (isArrayBuffer(val.buffer));\n }\n return result;\n}\n\n/**\n * Determine if a value is a String\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a String, otherwise false\n */\nconst isString = typeOfTest('string');\n\n/**\n * Determine if a value is a Function\n *\n * @param {*} val The value to test\n * @returns {boolean} True if value is a Function, otherwise false\n */\nconst isFunction$1 = typeOfTest('function');\n\n/**\n * Determine if a value is a Number\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Number, otherwise false\n */\nconst isNumber = typeOfTest('number');\n\n/**\n * Determine if a value is an Object\n *\n * @param {*} thing The value to test\n *\n * @returns {boolean} True if value is an Object, otherwise false\n */\nconst isObject = (thing) => thing !== null && typeof thing === 'object';\n\n/**\n * Determine if a value is a Boolean\n *\n * @param {*} thing The value to test\n * @returns {boolean} True if value is a Boolean, otherwise false\n */\nconst isBoolean = thing => thing === true || thing === false;\n\n/**\n * Determine if a value is a plain Object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a plain Object, otherwise false\n */\nconst isPlainObject = (val) => {\n if (kindOf(val) !== 'object') {\n return false;\n }\n\n const prototype = getPrototypeOf(val);\n return (prototype === null || prototype === Object.prototype || Object.getPrototypeOf(prototype) === null) && !(toStringTag in val) && !(iterator in val);\n};\n\n/**\n * Determine if a value is an empty object (safely handles Buffers)\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is an empty object, otherwise false\n */\nconst isEmptyObject = (val) => {\n // Early return for non-objects or Buffers to prevent RangeError\n if (!isObject(val) || isBuffer(val)) {\n return false;\n }\n\n try {\n return Object.keys(val).length === 0 && Object.getPrototypeOf(val) === Object.prototype;\n } catch (e) {\n // Fallback for any other objects that might cause RangeError with Object.keys()\n return false;\n }\n};\n\n/**\n * Determine if a value is a Date\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Date, otherwise false\n */\nconst isDate = kindOfTest('Date');\n\n/**\n * Determine if a value is a File\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a File, otherwise false\n */\nconst isFile = kindOfTest('File');\n\n/**\n * Determine if a value is a Blob\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Blob, otherwise false\n */\nconst isBlob = kindOfTest('Blob');\n\n/**\n * Determine if a value is a FileList\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a File, otherwise false\n */\nconst isFileList = kindOfTest('FileList');\n\n/**\n * Determine if a value is a Stream\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Stream, otherwise false\n */\nconst isStream = (val) => isObject(val) && isFunction$1(val.pipe);\n\n/**\n * Determine if a value is a FormData\n *\n * @param {*} thing The value to test\n *\n * @returns {boolean} True if value is an FormData, otherwise false\n */\nconst isFormData = (thing) => {\n let kind;\n return thing && (\n (typeof FormData === 'function' && thing instanceof FormData) || (\n isFunction$1(thing.append) && (\n (kind = kindOf(thing)) === 'formdata' ||\n // detect form-data instance\n (kind === 'object' && isFunction$1(thing.toString) && thing.toString() === '[object FormData]')\n )\n )\n )\n};\n\n/**\n * Determine if a value is a URLSearchParams object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a URLSearchParams object, otherwise false\n */\nconst isURLSearchParams = kindOfTest('URLSearchParams');\n\nconst [isReadableStream, isRequest, isResponse, isHeaders] = ['ReadableStream', 'Request', 'Response', 'Headers'].map(kindOfTest);\n\n/**\n * Trim excess whitespace off the beginning and end of a string\n *\n * @param {String} str The String to trim\n *\n * @returns {String} The String freed of excess whitespace\n */\nconst trim = (str) => str.trim ?\n str.trim() : str.replace(/^[\\s\\uFEFF\\xA0]+|[\\s\\uFEFF\\xA0]+$/g, '');\n\n/**\n * Iterate over an Array or an Object invoking a function for each item.\n *\n * If `obj` is an Array callback will be called passing\n * the value, index, and complete array for each item.\n *\n * If 'obj' is an Object callback will be called passing\n * the value, key, and complete object for each property.\n *\n * @param {Object|Array} obj The object to iterate\n * @param {Function} fn The callback to invoke for each item\n *\n * @param {Boolean} [allOwnKeys = false]\n * @returns {any}\n */\nfunction forEach(obj, fn, {allOwnKeys = false} = {}) {\n // Don't bother if no value provided\n if (obj === null || typeof obj === 'undefined') {\n return;\n }\n\n let i;\n let l;\n\n // Force an array if not already something iterable\n if (typeof obj !== 'object') {\n /*eslint no-param-reassign:0*/\n obj = [obj];\n }\n\n if (isArray(obj)) {\n // Iterate over array values\n for (i = 0, l = obj.length; i < l; i++) {\n fn.call(null, obj[i], i, obj);\n }\n } else {\n // Buffer check\n if (isBuffer(obj)) {\n return;\n }\n\n // Iterate over object keys\n const keys = allOwnKeys ? Object.getOwnPropertyNames(obj) : Object.keys(obj);\n const len = keys.length;\n let key;\n\n for (i = 0; i < len; i++) {\n key = keys[i];\n fn.call(null, obj[key], key, obj);\n }\n }\n}\n\nfunction findKey(obj, key) {\n if (isBuffer(obj)){\n return null;\n }\n\n key = key.toLowerCase();\n const keys = Object.keys(obj);\n let i = keys.length;\n let _key;\n while (i-- > 0) {\n _key = keys[i];\n if (key === _key.toLowerCase()) {\n return _key;\n }\n }\n return null;\n}\n\nconst _global = (() => {\n /*eslint no-undef:0*/\n if (typeof globalThis !== \"undefined\") return globalThis;\n return typeof self !== \"undefined\" ? self : (typeof window !== 'undefined' ? window : global)\n})();\n\nconst isContextDefined = (context) => !isUndefined(context) && context !== _global;\n\n/**\n * Accepts varargs expecting each argument to be an object, then\n * immutably merges the properties of each object and returns result.\n *\n * When multiple objects contain the same key the later object in\n * the arguments list will take precedence.\n *\n * Example:\n *\n * ```js\n * var result = merge({foo: 123}, {foo: 456});\n * console.log(result.foo); // outputs 456\n * ```\n *\n * @param {Object} obj1 Object to merge\n *\n * @returns {Object} Result of all merge properties\n */\nfunction merge(/* obj1, obj2, obj3, ... */) {\n const {caseless, skipUndefined} = isContextDefined(this) && this || {};\n const result = {};\n const assignValue = (val, key) => {\n const targetKey = caseless && findKey(result, key) || key;\n if (isPlainObject(result[targetKey]) && isPlainObject(val)) {\n result[targetKey] = merge(result[targetKey], val);\n } else if (isPlainObject(val)) {\n result[targetKey] = merge({}, val);\n } else if (isArray(val)) {\n result[targetKey] = val.slice();\n } else if (!skipUndefined || !isUndefined(val)) {\n result[targetKey] = val;\n }\n };\n\n for (let i = 0, l = arguments.length; i < l; i++) {\n arguments[i] && forEach(arguments[i], assignValue);\n }\n return result;\n}\n\n/**\n * Extends object a by mutably adding to it the properties of object b.\n *\n * @param {Object} a The object to be extended\n * @param {Object} b The object to copy properties from\n * @param {Object} thisArg The object to bind function to\n *\n * @param {Boolean} [allOwnKeys]\n * @returns {Object} The resulting value of object a\n */\nconst extend = (a, b, thisArg, {allOwnKeys}= {}) => {\n forEach(b, (val, key) => {\n if (thisArg && isFunction$1(val)) {\n a[key] = bind(val, thisArg);\n } else {\n a[key] = val;\n }\n }, {allOwnKeys});\n return a;\n};\n\n/**\n * Remove byte order marker. This catches EF BB BF (the UTF-8 BOM)\n *\n * @param {string} content with BOM\n *\n * @returns {string} content value without BOM\n */\nconst stripBOM = (content) => {\n if (content.charCodeAt(0) === 0xFEFF) {\n content = content.slice(1);\n }\n return content;\n};\n\n/**\n * Inherit the prototype methods from one constructor into another\n * @param {function} constructor\n * @param {function} superConstructor\n * @param {object} [props]\n * @param {object} [descriptors]\n *\n * @returns {void}\n */\nconst inherits = (constructor, superConstructor, props, descriptors) => {\n constructor.prototype = Object.create(superConstructor.prototype, descriptors);\n constructor.prototype.constructor = constructor;\n Object.defineProperty(constructor, 'super', {\n value: superConstructor.prototype\n });\n props && Object.assign(constructor.prototype, props);\n};\n\n/**\n * Resolve object with deep prototype chain to a flat object\n * @param {Object} sourceObj source object\n * @param {Object} [destObj]\n * @param {Function|Boolean} [filter]\n * @param {Function} [propFilter]\n *\n * @returns {Object}\n */\nconst toFlatObject = (sourceObj, destObj, filter, propFilter) => {\n let props;\n let i;\n let prop;\n const merged = {};\n\n destObj = destObj || {};\n // eslint-disable-next-line no-eq-null,eqeqeq\n if (sourceObj == null) return destObj;\n\n do {\n props = Object.getOwnPropertyNames(sourceObj);\n i = props.length;\n while (i-- > 0) {\n prop = props[i];\n if ((!propFilter || propFilter(prop, sourceObj, destObj)) && !merged[prop]) {\n destObj[prop] = sourceObj[prop];\n merged[prop] = true;\n }\n }\n sourceObj = filter !== false && getPrototypeOf(sourceObj);\n } while (sourceObj && (!filter || filter(sourceObj, destObj)) && sourceObj !== Object.prototype);\n\n return destObj;\n};\n\n/**\n * Determines whether a string ends with the characters of a specified string\n *\n * @param {String} str\n * @param {String} searchString\n * @param {Number} [position= 0]\n *\n * @returns {boolean}\n */\nconst endsWith = (str, searchString, position) => {\n str = String(str);\n if (position === undefined || position > str.length) {\n position = str.length;\n }\n position -= searchString.length;\n const lastIndex = str.indexOf(searchString, position);\n return lastIndex !== -1 && lastIndex === position;\n};\n\n\n/**\n * Returns new array from array like object or null if failed\n *\n * @param {*} [thing]\n *\n * @returns {?Array}\n */\nconst toArray = (thing) => {\n if (!thing) return null;\n if (isArray(thing)) return thing;\n let i = thing.length;\n if (!isNumber(i)) return null;\n const arr = new Array(i);\n while (i-- > 0) {\n arr[i] = thing[i];\n }\n return arr;\n};\n\n/**\n * Checking if the Uint8Array exists and if it does, it returns a function that checks if the\n * thing passed in is an instance of Uint8Array\n *\n * @param {TypedArray}\n *\n * @returns {Array}\n */\n// eslint-disable-next-line func-names\nconst isTypedArray = (TypedArray => {\n // eslint-disable-next-line func-names\n return thing => {\n return TypedArray && thing instanceof TypedArray;\n };\n})(typeof Uint8Array !== 'undefined' && getPrototypeOf(Uint8Array));\n\n/**\n * For each entry in the object, call the function with the key and value.\n *\n * @param {Object<any, any>} obj - The object to iterate over.\n * @param {Function} fn - The function to call for each entry.\n *\n * @returns {void}\n */\nconst forEachEntry = (obj, fn) => {\n const generator = obj && obj[iterator];\n\n const _iterator = generator.call(obj);\n\n let result;\n\n while ((result = _iterator.next()) && !result.done) {\n const pair = result.value;\n fn.call(obj, pair[0], pair[1]);\n }\n};\n\n/**\n * It takes a regular expression and a string, and returns an array of all the matches\n *\n * @param {string} regExp - The regular expression to match against.\n * @param {string} str - The string to search.\n *\n * @returns {Array<boolean>}\n */\nconst matchAll = (regExp, str) => {\n let matches;\n const arr = [];\n\n while ((matches = regExp.exec(str)) !== null) {\n arr.push(matches);\n }\n\n return arr;\n};\n\n/* Checking if the kindOfTest function returns true when passed an HTMLFormElement. */\nconst isHTMLForm = kindOfTest('HTMLFormElement');\n\nconst toCamelCase = str => {\n return str.toLowerCase().replace(/[-_\\s]([a-z\\d])(\\w*)/g,\n function replacer(m, p1, p2) {\n return p1.toUpperCase() + p2;\n }\n );\n};\n\n/* Creating a function that will check if an object has a property. */\nconst hasOwnProperty = (({hasOwnProperty}) => (obj, prop) => hasOwnProperty.call(obj, prop))(Object.prototype);\n\n/**\n * Determine if a value is a RegExp object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a RegExp object, otherwise false\n */\nconst isRegExp = kindOfTest('RegExp');\n\nconst reduceDescriptors = (obj, reducer) => {\n const descriptors = Object.getOwnPropertyDescriptors(obj);\n const reducedDescriptors = {};\n\n forEach(descriptors, (descriptor, name) => {\n let ret;\n if ((ret = reducer(descriptor, name, obj)) !== false) {\n reducedDescriptors[name] = ret || descriptor;\n }\n });\n\n Object.defineProperties(obj, reducedDescriptors);\n};\n\n/**\n * Makes all methods read-only\n * @param {Object} obj\n */\n\nconst freezeMethods = (obj) => {\n reduceDescriptors(obj, (descriptor, name) => {\n // skip restricted props in strict mode\n if (isFunction$1(obj) && ['arguments', 'caller', 'callee'].indexOf(name) !== -1) {\n return false;\n }\n\n const value = obj[name];\n\n if (!isFunction$1(value)) return;\n\n descriptor.enumerable = false;\n\n if ('writable' in descriptor) {\n descriptor.writable = false;\n return;\n }\n\n if (!descriptor.set) {\n descriptor.set = () => {\n throw Error('Can not rewrite read-only method \\'' + name + '\\'');\n };\n }\n });\n};\n\nconst toObjectSet = (arrayOrString, delimiter) => {\n const obj = {};\n\n const define = (arr) => {\n arr.forEach(value => {\n obj[value] = true;\n });\n };\n\n isArray(arrayOrString) ? define(arrayOrString) : define(String(arrayOrString).split(delimiter));\n\n return obj;\n};\n\nconst noop = () => {};\n\nconst toFiniteNumber = (value, defaultValue) => {\n return value != null && Number.isFinite(value = +value) ? value : defaultValue;\n};\n\n\n\n/**\n * If the thing is a FormData object, return true, otherwise return false.\n *\n * @param {unknown} thing - The thing to check.\n *\n * @returns {boolean}\n */\nfunction isSpecCompliantForm(thing) {\n return !!(thing && isFunction$1(thing.append) && thing[toStringTag] === 'FormData' && thing[iterator]);\n}\n\nconst toJSONObject = (obj) => {\n const stack = new Array(10);\n\n const visit = (source, i) => {\n\n if (isObject(source)) {\n if (stack.indexOf(source) >= 0) {\n return;\n }\n\n //Buffer check\n if (isBuffer(source)) {\n return source;\n }\n\n if(!('toJSON' in source)) {\n stack[i] = source;\n const target = isArray(source) ? [] : {};\n\n forEach(source, (value, key) => {\n const reducedValue = visit(value, i + 1);\n !isUndefined(reducedValue) && (target[key] = reducedValue);\n });\n\n stack[i] = undefined;\n\n return target;\n }\n }\n\n return source;\n };\n\n return visit(obj, 0);\n};\n\nconst isAsyncFn = kindOfTest('AsyncFunction');\n\nconst isThenable = (thing) =>\n thing && (isObject(thing) || isFunction$1(thing)) && isFunction$1(thing.then) && isFunction$1(thing.catch);\n\n// original code\n// https://github.com/DigitalBrainJS/AxiosPromise/blob/16deab13710ec09779922131f3fa5954320f83ab/lib/utils.js#L11-L34\n\nconst _setImmediate = ((setImmediateSupported, postMessageSupported) => {\n if (setImmediateSupported) {\n return setImmediate;\n }\n\n return postMessageSupported ? ((token, callbacks) => {\n _global.addEventListener(\"message\", ({source, data}) => {\n if (source === _global && data === token) {\n callbacks.length && callbacks.shift()();\n }\n }, false);\n\n return (cb) => {\n callbacks.push(cb);\n _global.postMessage(token, \"*\");\n }\n })(`axios@${Math.random()}`, []) : (cb) => setTimeout(cb);\n})(\n typeof setImmediate === 'function',\n isFunction$1(_global.postMessage)\n);\n\nconst asap = typeof queueMicrotask !== 'undefined' ?\n queueMicrotask.bind(_global) : ( typeof process !== 'undefined' && process.nextTick || _setImmediate);\n\n// *********************\n\n\nconst isIterable = (thing) => thing != null && isFunction$1(thing[iterator]);\n\n\nvar utils$1 = {\n isArray,\n isArrayBuffer,\n isBuffer,\n isFormData,\n isArrayBufferView,\n isString,\n isNumber,\n isBoolean,\n isObject,\n isPlainObject,\n isEmptyObject,\n isReadableStream,\n isRequest,\n isResponse,\n isHeaders,\n isUndefined,\n isDate,\n isFile,\n isBlob,\n isRegExp,\n isFunction: isFunction$1,\n isStream,\n isURLSearchParams,\n isTypedArray,\n isFileList,\n forEach,\n merge,\n extend,\n trim,\n stripBOM,\n inherits,\n toFlatObject,\n kindOf,\n kindOfTest,\n endsWith,\n toArray,\n forEachEntry,\n matchAll,\n isHTMLForm,\n hasOwnProperty,\n hasOwnProp: hasOwnProperty, // an alias to avoid ESLint no-prototype-builtins detection\n reduceDescriptors,\n freezeMethods,\n toObjectSet,\n toCamelCase,\n noop,\n toFiniteNumber,\n findKey,\n global: _global,\n isContextDefined,\n isSpecCompliantForm,\n toJSONObject,\n isAsyncFn,\n isThenable,\n setImmediate: _setImmediate,\n asap,\n isIterable\n};\n\n/**\n * Create an Error with the specified message, config, error code, request and response.\n *\n * @param {string} message The error message.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [config] The config.\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n *\n * @returns {Error} The created error.\n */\nfunction AxiosError(message, code, config, request, response) {\n Error.call(this);\n\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, this.constructor);\n } else {\n this.stack = (new Error()).stack;\n }\n\n this.message = message;\n this.name = 'AxiosError';\n code && (this.code = code);\n config && (this.config = config);\n request && (this.request = request);\n if (response) {\n this.response = response;\n this.status = response.status ? response.status : null;\n }\n}\n\nutils$1.inherits(AxiosError, Error, {\n toJSON: function toJSON() {\n return {\n // Standard\n message: this.message,\n name: this.name,\n // Microsoft\n description: this.description,\n number: this.number,\n // Mozilla\n fileName: this.fileName,\n lineNumber: this.lineNumber,\n columnNumber: this.columnNumber,\n stack: this.stack,\n // Axios\n config: utils$1.toJSONObject(this.config),\n code: this.code,\n status: this.status\n };\n }\n});\n\nconst prototype$1 = AxiosError.prototype;\nconst descriptors = {};\n\n[\n 'ERR_BAD_OPTION_VALUE',\n 'ERR_BAD_OPTION',\n 'ECONNABORTED',\n 'ETIMEDOUT',\n 'ERR_NETWORK',\n 'ERR_FR_TOO_MANY_REDIRECTS',\n 'ERR_DEPRECATED',\n 'ERR_BAD_RESPONSE',\n 'ERR_BAD_REQUEST',\n 'ERR_CANCELED',\n 'ERR_NOT_SUPPORT',\n 'ERR_INVALID_URL'\n// eslint-disable-next-line func-names\n].forEach(code => {\n descriptors[code] = {value: code};\n});\n\nObject.defineProperties(AxiosError, descriptors);\nObject.defineProperty(prototype$1, 'isAxiosError', {value: true});\n\n// eslint-disable-next-line func-names\nAxiosError.from = (error, code, config, request, response, customProps) => {\n const axiosError = Object.create(prototype$1);\n\n utils$1.toFlatObject(error, axiosError, function filter(obj) {\n return obj !== Error.prototype;\n }, prop => {\n return prop !== 'isAxiosError';\n });\n\n const msg = error && error.message ? error.message : 'Error';\n\n // Prefer explicit code; otherwise copy the low-level error's code (e.g. ECONNREFUSED)\n const errCode = code == null && error ? error.code : code;\n AxiosError.call(axiosError, msg, errCode, config, request, response);\n\n // Chain the original error on the standard field; non-enumerable to avoid JSON noise\n if (error && axiosError.cause == null) {\n Object.defineProperty(axiosError, 'cause', { value: error, configurable: true });\n }\n\n axiosError.name = (error && error.name) || 'Error';\n\n customProps && Object.assign(axiosError, customProps);\n\n return axiosError;\n};\n\n// eslint-disable-next-line strict\nvar httpAdapter = null;\n\n/**\n * Determines if the given thing is a array or js object.\n *\n * @param {string} thing - The object or array to be visited.\n *\n * @returns {boolean}\n */\nfunction isVisitable(thing) {\n return utils$1.isPlainObject(thing) || utils$1.isArray(thing);\n}\n\n/**\n * It removes the brackets from the end of a string\n *\n * @param {string} key - The key of the parameter.\n *\n * @returns {string} the key without the brackets.\n */\nfunction removeBrackets(key) {\n return utils$1.endsWith(key, '[]') ? key.slice(0, -2) : key;\n}\n\n/**\n * It takes a path, a key, and a boolean, and returns a string\n *\n * @param {string} path - The path to the current key.\n * @param {string} key - The key of the current object being iterated over.\n * @param {string} dots - If true, the key will be rendered with dots instead of brackets.\n *\n * @returns {string} The path to the current key.\n */\nfunction renderKey(path, key, dots) {\n if (!path) return key;\n return path.concat(key).map(function each(token, i) {\n // eslint-disable-next-line no-param-reassign\n token = removeBrackets(token);\n return !dots && i ? '[' + token + ']' : token;\n }).join(dots ? '.' : '');\n}\n\n/**\n * If the array is an array and none of its elements are visitable, then it's a flat array.\n *\n * @param {Array<any>} arr - The array to check\n *\n * @returns {boolean}\n */\nfunction isFlatArray(arr) {\n return utils$1.isArray(arr) && !arr.some(isVisitable);\n}\n\nconst predicates = utils$1.toFlatObject(utils$1, {}, null, function filter(prop) {\n return /^is[A-Z]/.test(prop);\n});\n\n/**\n * Convert a data object to FormData\n *\n * @param {Object} obj\n * @param {?Object} [formData]\n * @param {?Object} [options]\n * @param {Function} [options.visitor]\n * @param {Boolean} [options.metaTokens = true]\n * @param {Boolean} [options.dots = false]\n * @param {?Boolean} [options.indexes = false]\n *\n * @returns {Object}\n **/\n\n/**\n * It converts an object into a FormData object\n *\n * @param {Object<any, any>} obj - The object to convert to form data.\n * @param {string} formData - The FormData object to append to.\n * @param {Object<string, any>} options\n *\n * @returns\n */\nfunction toFormData(obj, formData, options) {\n if (!utils$1.isObject(obj)) {\n throw new TypeError('target must be an object');\n }\n\n // eslint-disable-next-line no-param-reassign\n formData = formData || new (FormData)();\n\n // eslint-disable-next-line no-param-reassign\n options = utils$1.toFlatObject(options, {\n metaTokens: true,\n dots: false,\n indexes: false\n }, false, function defined(option, source) {\n // eslint-disable-next-line no-eq-null,eqeqeq\n return !utils$1.isUndefined(source[option]);\n });\n\n const metaTokens = options.metaTokens;\n // eslint-disable-next-line no-use-before-define\n const visitor = options.visitor || defaultVisitor;\n const dots = options.dots;\n const indexes = options.indexes;\n const _Blob = options.Blob || typeof Blob !== 'undefined' && Blob;\n const useBlob = _Blob && utils$1.isSpecCompliantForm(formData);\n\n if (!utils$1.isFunction(visitor)) {\n throw new TypeError('visitor must be a function');\n }\n\n function convertValue(value) {\n if (value === null) return '';\n\n if (utils$1.isDate(value)) {\n return value.toISOString();\n }\n\n if (utils$1.isBoolean(value)) {\n return value.toString();\n }\n\n if (!useBlob && utils$1.isBlob(value)) {\n throw new AxiosError('Blob is not supported. Use a Buffer instead.');\n }\n\n if (utils$1.isArrayBuffer(value) || utils$1.isTypedArray(value)) {\n return useBlob && typeof Blob === 'function' ? new Blob([value]) : Buffer.from(value);\n }\n\n return value;\n }\n\n /**\n * Default visitor.\n *\n * @param {*} value\n * @param {String|Number} key\n * @param {Array<String|Number>} path\n * @this {FormData}\n *\n * @returns {boolean} return true to visit the each prop of the value recursively\n */\n function defaultVisitor(value, key, path) {\n let arr = value;\n\n if (value && !path && typeof value === 'object') {\n if (utils$1.endsWith(key, '{}')) {\n // eslint-disable-next-line no-param-reassign\n key = metaTokens ? key : key.slice(0, -2);\n // eslint-disable-next-line no-param-reassign\n value = JSON.stringify(value);\n } else if (\n (utils$1.isArray(value) && isFlatArray(value)) ||\n ((utils$1.isFileList(value) || utils$1.endsWith(key, '[]')) && (arr = utils$1.toArray(value))\n )) {\n // eslint-disable-next-line no-param-reassign\n key = removeBrackets(key);\n\n arr.forEach(function each(el, index) {\n !(utils$1.isUndefined(el) || el === null) && formData.append(\n // eslint-disable-next-line no-nested-ternary\n indexes === true ? renderKey([key], index, dots) : (indexes === null ? key : key + '[]'),\n convertValue(el)\n );\n });\n return false;\n }\n }\n\n if (isVisitable(value)) {\n return true;\n }\n\n formData.append(renderKey(path, key, dots), convertValue(value));\n\n return false;\n }\n\n const stack = [];\n\n const exposedHelpers = Object.assign(predicates, {\n defaultVisitor,\n convertValue,\n isVisitable\n });\n\n function build(value, path) {\n if (utils$1.isUndefined(value)) return;\n\n if (stack.indexOf(value) !== -1) {\n throw Error('Circular reference detected in ' + path.join('.'));\n }\n\n stack.push(value);\n\n utils$1.forEach(value, function each(el, key) {\n const result = !(utils$1.isUndefined(el) || el === null) && visitor.call(\n formData, el, utils$1.isString(key) ? key.trim() : key, path, exposedHelpers\n );\n\n if (result === true) {\n build(el, path ? path.concat(key) : [key]);\n }\n });\n\n stack.pop();\n }\n\n if (!utils$1.isObject(obj)) {\n throw new TypeError('data must be an object');\n }\n\n build(obj);\n\n return formData;\n}\n\n/**\n * It encodes a string by replacing all characters that are not in the unreserved set with\n * their percent-encoded equivalents\n *\n * @param {string} str - The string to encode.\n *\n * @returns {string} The encoded string.\n */\nfunction encode$1(str) {\n const charMap = {\n '!': '%21',\n \"'\": '%27',\n '(': '%28',\n ')': '%29',\n '~': '%7E',\n '%20': '+',\n '%00': '\\x00'\n };\n return encodeURIComponent(str).replace(/[!'()~]|%20|%00/g, function replacer(match) {\n return charMap[match];\n });\n}\n\n/**\n * It takes a params object and converts it to a FormData object\n *\n * @param {Object<string, any>} params - The parameters to be converted to a FormData object.\n * @param {Object<string, any>} options - The options object passed to the Axios constructor.\n *\n * @returns {void}\n */\nfunction AxiosURLSearchParams(params, options) {\n this._pairs = [];\n\n params && toFormData(params, this, options);\n}\n\nconst prototype = AxiosURLSearchParams.prototype;\n\nprototype.append = function append(name, value) {\n this._pairs.push([name, value]);\n};\n\nprototype.toString = function toString(encoder) {\n const _encode = encoder ? function(value) {\n return encoder.call(this, value, encode$1);\n } : encode$1;\n\n return this._pairs.map(function each(pair) {\n return _encode(pair[0]) + '=' + _encode(pair[1]);\n }, '').join('&');\n};\n\n/**\n * It replaces all instances of the characters `:`, `$`, `,`, `+`, `[`, and `]` with their\n * URI encoded counterparts\n *\n * @param {string} val The value to be encoded.\n *\n * @returns {string} The encoded value.\n */\nfunction encode(val) {\n return encodeURIComponent(val).\n replace(/%3A/gi, ':').\n replace(/%24/g, '$').\n replace(/%2C/gi, ',').\n replace(/%20/g, '+');\n}\n\n/**\n * Build a URL by appending params to the end\n *\n * @param {string} url The base of the url (e.g., http://www.google.com)\n * @param {object} [params] The params to be appended\n * @param {?(object|Function)} options\n *\n * @returns {string} The formatted url\n */\nfunction buildURL(url, params, options) {\n /*eslint no-param-reassign:0*/\n if (!params) {\n return url;\n }\n \n const _encode = options && options.encode || encode;\n\n if (utils$1.isFunction(options)) {\n options = {\n serialize: options\n };\n } \n\n const serializeFn = options && options.serialize;\n\n let serializedParams;\n\n if (serializeFn) {\n serializedParams = serializeFn(params, options);\n } else {\n serializedParams = utils$1.isURLSearchParams(params) ?\n params.toString() :\n new AxiosURLSearchParams(params, options).toString(_encode);\n }\n\n if (serializedParams) {\n const hashmarkIndex = url.indexOf(\"#\");\n\n if (hashmarkIndex !== -1) {\n url = url.slice(0, hashmarkIndex);\n }\n url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;\n }\n\n return url;\n}\n\nclass InterceptorManager {\n constructor() {\n this.handlers = [];\n }\n\n /**\n * Add a new interceptor to the stack\n *\n * @param {Function} fulfilled The function to handle `then` for a `Promise`\n * @param {Function} rejected The function to handle `reject` for a `Promise`\n *\n * @return {Number} An ID used to remove interceptor later\n */\n use(fulfilled, rejected, options) {\n this.handlers.push({\n fulfilled,\n rejected,\n synchronous: options ? options.synchronous : false,\n runWhen: options ? options.runWhen : null\n });\n return this.handlers.length - 1;\n }\n\n /**\n * Remove an interceptor from the stack\n *\n * @param {Number} id The ID that was returned by `use`\n *\n * @returns {Boolean} `true` if the interceptor was removed, `false` otherwise\n */\n eject(id) {\n if (this.handlers[id]) {\n this.handlers[id] = null;\n }\n }\n\n /**\n * Clear all interceptors from the stack\n *\n * @returns {void}\n */\n clear() {\n if (this.handlers) {\n this.handlers = [];\n }\n }\n\n /**\n * Iterate over all the registered interceptors\n *\n * This method is particularly useful for skipping over any\n * interceptors that may have become `null` calling `eject`.\n *\n * @param {Function} fn The function to call for each interceptor\n *\n * @returns {void}\n */\n forEach(fn) {\n utils$1.forEach(this.handlers, function forEachHandler(h) {\n if (h !== null) {\n fn(h);\n }\n });\n }\n}\n\nvar InterceptorManager$1 = InterceptorManager;\n\nvar transitionalDefaults = {\n silentJSONParsing: true,\n forcedJSONParsing: true,\n clarifyTimeoutError: false\n};\n\nvar URLSearchParams$1 = typeof URLSearchParams !== 'undefined' ? URLSearchParams : AxiosURLSearchParams;\n\nvar FormData$1 = typeof FormData !== 'undefined' ? FormData : null;\n\nvar Blob$1 = typeof Blob !== 'undefined' ? Blob : null;\n\nvar platform$1 = {\n isBrowser: true,\n classes: {\n URLSearchParams: URLSearchParams$1,\n FormData: FormData$1,\n Blob: Blob$1\n },\n protocols: ['http', 'https', 'file', 'blob', 'url', 'data']\n};\n\nconst hasBrowserEnv = typeof window !== 'undefined' && typeof document !== 'undefined';\n\nconst _navigator = typeof navigator === 'object' && navigator || undefined;\n\n/**\n * Determine if we're running in a standard browser environment\n *\n * This allows axios to run in a web worker, and react-native.\n * Both environments support XMLHttpRequest, but not fully standard globals.\n *\n * web workers:\n * typeof window -> undefined\n * typeof document -> undefined\n *\n * react-native:\n * navigator.product -> 'ReactNative'\n * nativescript\n * navigator.product -> 'NativeScript' or 'NS'\n *\n * @returns {boolean}\n */\nconst hasStandardBrowserEnv = hasBrowserEnv &&\n (!_navigator || ['ReactNative', 'NativeScript', 'NS'].indexOf(_navigator.product) < 0);\n\n/**\n * Determine if we're running in a standard browser webWorker environment\n *\n * Although the `isStandardBrowserEnv` method indicates that\n * `allows axios to run in a web worker`, the WebWorker will still be\n * filtered out due to its judgment standard\n * `typeof window !== 'undefined' && typeof document !== 'undefined'`.\n * This leads to a problem when axios post `FormData` in webWorker\n */\nconst hasStandardBrowserWebWorkerEnv = (() => {\n return (\n typeof WorkerGlobalScope !== 'undefined' &&\n // eslint-disable-next-line no-undef\n self instanceof WorkerGlobalScope &&\n typeof self.importScripts === 'function'\n );\n})();\n\nconst origin = hasBrowserEnv && window.location.href || 'http://localhost';\n\nvar utils = /*#__PURE__*/Object.freeze({\n __proto__: null,\n hasBrowserEnv: hasBrowserEnv,\n hasStandardBrowserWebWorkerEnv: hasStandardBrowserWebWorkerEnv,\n hasStandardBrowserEnv: hasStandardBrowserEnv,\n navigator: _navigator,\n origin: origin\n});\n\nvar platform = {\n ...utils,\n ...platform$1\n};\n\nfunction toURLEncodedForm(data, options) {\n return toFormData(data, new platform.classes.URLSearchParams(), {\n visitor: function(value, key, path, helpers) {\n if (platform.isNode && utils$1.isBuffer(value)) {\n this.append(key, value.toString('base64'));\n return false;\n }\n\n return helpers.defaultVisitor.apply(this, arguments);\n },\n ...options\n });\n}\n\n/**\n * It takes a string like `foo[x][y][z]` and returns an array like `['foo', 'x', 'y', 'z']\n *\n * @param {string} name - The name of the property to get.\n *\n * @returns An array of strings.\n */\nfunction parsePropPath(name) {\n // foo[x][y][z]\n // foo.x.y.z\n // foo-x-y-z\n // foo x y z\n return utils$1.matchAll(/\\w+|\\[(\\w*)]/g, name).map(match => {\n return match[0] === '[]' ? '' : match[1] || match[0];\n });\n}\n\n/**\n * Convert an array to an object.\n *\n * @param {Array<any>} arr - The array to convert to an object.\n *\n * @returns An object with the same keys and values as the array.\n */\nfunction arrayToObject(arr) {\n const obj = {};\n const keys = Object.keys(arr);\n let i;\n const len = keys.length;\n let key;\n for (i = 0; i < len; i++) {\n key = keys[i];\n obj[key] = arr[key];\n }\n return obj;\n}\n\n/**\n * It takes a FormData object and returns a JavaScript object\n *\n * @param {string} formData The FormData object to convert to JSON.\n *\n * @returns {Object<string, any> | null} The converted object.\n */\nfunction formDataToJSON(formData) {\n function buildPath(path, value, target, index) {\n let name = path[index++];\n\n if (name === '__proto__') return true;\n\n const isNumericKey = Number.isFinite(+name);\n const isLast = index >= path.length;\n name = !name && utils$1.isArray(target) ? target.length : name;\n\n if (isLast) {\n if (utils$1.hasOwnProp(target, name)) {\n target[name] = [target[name], value];\n } else {\n target[name] = value;\n }\n\n return !isNumericKey;\n }\n\n if (!target[name] || !utils$1.isObject(target[name])) {\n target[name] = [];\n }\n\n const result = buildPath(path, value, target[name], index);\n\n if (result && utils$1.isArray(target[name])) {\n target[name] = arrayToObject(target[name]);\n }\n\n return !isNumericKey;\n }\n\n if (utils$1.isFormData(formData) && utils$1.isFunction(formData.entries)) {\n const obj = {};\n\n utils$1.forEachEntry(formData, (name, value) => {\n buildPath(parsePropPath(name), value, obj, 0);\n });\n\n return obj;\n }\n\n return null;\n}\n\n/**\n * It takes a string, tries to parse it, and if it fails, it returns the stringified version\n * of the input\n *\n * @param {any} rawValue - The value to be stringified.\n * @param {Function} parser - A function that parses a string into a JavaScript object.\n * @param {Function} encoder - A function that takes a value and returns a string.\n *\n * @returns {string} A stringified version of the rawValue.\n */\nfunction stringifySafely(rawValue, parser, encoder) {\n if (utils$1.isString(rawValue)) {\n try {\n (parser || JSON.parse)(rawValue);\n return utils$1.trim(rawValue);\n } catch (e) {\n if (e.name !== 'SyntaxError') {\n throw e;\n }\n }\n }\n\n return (encoder || JSON.stringify)(rawValue);\n}\n\nconst defaults = {\n\n transitional: transitionalDefaults,\n\n adapter: ['xhr', 'http', 'fetch'],\n\n transformRequest: [function transformRequest(data, headers) {\n const contentType = headers.getContentType() || '';\n const hasJSONContentType = contentType.indexOf('application/json') > -1;\n const isObjectPayload = utils$1.isObject(data);\n\n if (isObjectPayload && utils$1.isHTMLForm(data)) {\n data = new FormData(data);\n }\n\n const isFormData = utils$1.isFormData(data);\n\n if (isFormData) {\n return hasJSONContentType ? JSON.stringify(formDataToJSON(data)) : data;\n }\n\n if (utils$1.isArrayBuffer(data) ||\n utils$1.isBuffer(data) ||\n utils$1.isStream(data) ||\n utils$1.isFile(data) ||\n utils$1.isBlob(data) ||\n utils$1.isReadableStream(data)\n ) {\n return data;\n }\n if (utils$1.isArrayBufferView(data)) {\n return data.buffer;\n }\n if (utils$1.isURLSearchParams(data)) {\n headers.setContentType('application/x-www-form-urlencoded;charset=utf-8', false);\n return data.toString();\n }\n\n let isFileList;\n\n if (isObjectPayload) {\n if (contentType.indexOf('application/x-www-form-urlencoded') > -1) {\n return toURLEncodedForm(data, this.formSerializer).toString();\n }\n\n if ((isFileList = utils$1.isFileList(data)) || contentType.indexOf('multipart/form-data') > -1) {\n const _FormData = this.env && this.env.FormData;\n\n return toFormData(\n isFileList ? {'files[]': data} : data,\n _FormData && new _FormData(),\n this.formSerializer\n );\n }\n }\n\n if (isObjectPayload || hasJSONContentType ) {\n headers.setContentType('application/json', false);\n return stringifySafely(data);\n }\n\n return data;\n }],\n\n transformResponse: [function transformResponse(data) {\n const transitional = this.transitional || defaults.transitional;\n const forcedJSONParsing = transitional && transitional.forcedJSONParsing;\n const JSONRequested = this.responseType === 'json';\n\n if (utils$1.isResponse(data) || utils$1.isReadableStream(data)) {\n return data;\n }\n\n if (data && utils$1.isString(data) && ((forcedJSONParsing && !this.responseType) || JSONRequested)) {\n const silentJSONParsing = transitional && transitional.silentJSONParsing;\n const strictJSONParsing = !silentJSONParsing && JSONRequested;\n\n try {\n return JSON.parse(data, this.parseReviver);\n } catch (e) {\n if (strictJSONParsing) {\n if (e.name === 'SyntaxError') {\n throw AxiosError.from(e, AxiosError.ERR_BAD_RESPONSE, this, null, this.response);\n }\n throw e;\n }\n }\n }\n\n return data;\n }],\n\n /**\n * A timeout in milliseconds to abort a request. If set to 0 (default) a\n * timeout is not created.\n */\n timeout: 0,\n\n xsrfCookieName: 'XSRF-TOKEN',\n xsrfHeaderName: 'X-XSRF-TOKEN',\n\n maxContentLength: -1,\n maxBodyLength: -1,\n\n env: {\n FormData: platform.classes.FormData,\n Blob: platform.classes.Blob\n },\n\n validateStatus: function validateStatus(status) {\n return status >= 200 && status < 300;\n },\n\n headers: {\n common: {\n 'Accept': 'application/json, text/plain, */*',\n 'Content-Type': undefined\n }\n }\n};\n\nutils$1.forEach(['delete', 'get', 'head', 'post', 'put', 'patch'], (method) => {\n defaults.headers[method] = {};\n});\n\nvar defaults$1 = defaults;\n\n// RawAxiosHeaders whose duplicates are ignored by node\n// c.f. https://nodejs.org/api/http.html#http_message_headers\nconst ignoreDuplicateOf = utils$1.toObjectSet([\n 'age', 'authorization', 'content-length', 'content-type', 'etag',\n 'expires', 'from', 'host', 'if-modified-since', 'if-unmodified-since',\n 'last-modified', 'location', 'max-forwards', 'proxy-authorization',\n 'referer', 'retry-after', 'user-agent'\n]);\n\n/**\n * Parse headers into an object\n *\n * ```\n * Date: Wed, 27 Aug 2014 08:58:49 GMT\n * Content-Type: application/json\n * Connection: keep-alive\n * Transfer-Encoding: chunked\n * ```\n *\n * @param {String} rawHeaders Headers needing to be parsed\n *\n * @returns {Object} Headers parsed into an object\n */\nvar parseHeaders = rawHeaders => {\n const parsed = {};\n let key;\n let val;\n let i;\n\n rawHeaders && rawHeaders.split('\\n').forEach(function parser(line) {\n i = line.indexOf(':');\n key = line.substring(0, i).trim().toLowerCase();\n val = line.substring(i + 1).trim();\n\n if (!key || (parsed[key] && ignoreDuplicateOf[key])) {\n return;\n }\n\n if (key === 'set-cookie') {\n if (parsed[key]) {\n parsed[key].push(val);\n } else {\n parsed[key] = [val];\n }\n } else {\n parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;\n }\n });\n\n return parsed;\n};\n\nconst $internals = Symbol('internals');\n\nfunction normalizeHeader(header) {\n return header && String(header).trim().toLowerCase();\n}\n\nfunction normalizeValue(value) {\n if (value === false || value == null) {\n return value;\n }\n\n return utils$1.isArray(value) ? value.map(normalizeValue) : String(value);\n}\n\nfunction parseTokens(str) {\n const tokens = Object.create(null);\n const tokensRE = /([^\\s,;=]+)\\s*(?:=\\s*([^,;]+))?/g;\n let match;\n\n while ((match = tokensRE.exec(str))) {\n tokens[match[1]] = match[2];\n }\n\n return tokens;\n}\n\nconst isValidHeaderName = (str) => /^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(str.trim());\n\nfunction matchHeaderValue(context, value, header, filter, isHeaderNameFilter) {\n if (utils$1.isFunction(filter)) {\n return filter.call(this, value, header);\n }\n\n if (isHeaderNameFilter) {\n value = header;\n }\n\n if (!utils$1.isString(value)) return;\n\n if (utils$1.isString(filter)) {\n return value.indexOf(filter) !== -1;\n }\n\n if (utils$1.isRegExp(filter)) {\n return filter.test(value);\n }\n}\n\nfunction formatHeader(header) {\n return header.trim()\n .toLowerCase().replace(/([a-z\\d])(\\w*)/g, (w, char, str) => {\n return char.toUpperCase() + str;\n });\n}\n\nfunction buildAccessors(obj, header) {\n const accessorName = utils$1.toCamelCase(' ' + header);\n\n ['get', 'set', 'has'].forEach(methodName => {\n Object.defineProperty(obj, methodName + accessorName, {\n value: function(arg1, arg2, arg3) {\n return this[methodName].call(this, header, arg1, arg2, arg3);\n },\n configurable: true\n });\n });\n}\n\nclass AxiosHeaders {\n constructor(headers) {\n headers && this.set(headers);\n }\n\n set(header, valueOrRewrite, rewrite) {\n const self = this;\n\n function setHeader(_value, _header, _rewrite) {\n const lHeader = normalizeHeader(_header);\n\n if (!lHeader) {\n throw new Error('header name must be a non-empty string');\n }\n\n const key = utils$1.findKey(self, lHeader);\n\n if(!key || self[key] === undefined || _rewrite === true || (_rewrite === undefined && self[key] !== false)) {\n self[key || _header] = normalizeValue(_value);\n }\n }\n\n const setHeaders = (headers, _rewrite) =>\n utils$1.forEach(headers, (_value, _header) => setHeader(_value, _header, _rewrite));\n\n if (utils$1.isPlainObject(header) || header instanceof this.constructor) {\n setHeaders(header, valueOrRewrite);\n } else if(utils$1.isString(header) && (header = header.trim()) && !isValidHeaderName(header)) {\n setHeaders(parseHeaders(header), valueOrRewrite);\n } else if (utils$1.isObject(header) && utils$1.isIterable(header)) {\n let obj = {}, dest, key;\n for (const entry of header) {\n if (!utils$1.isArray(entry)) {\n throw TypeError('Object iterator must return a key-value pair');\n }\n\n obj[key = entry[0]] = (dest = obj[key]) ?\n (utils$1.isArray(dest) ? [...dest, entry[1]] : [dest, entry[1]]) : entry[1];\n }\n\n setHeaders(obj, valueOrRewrite);\n } else {\n header != null && setHeader(valueOrRewrite, header, rewrite);\n }\n\n return this;\n }\n\n get(header, parser) {\n header = normalizeHeader(header);\n\n if (header) {\n const key = utils$1.findKey(this, header);\n\n if (key) {\n const value = this[key];\n\n if (!parser) {\n return value;\n }\n\n if (parser === true) {\n return parseTokens(value);\n }\n\n if (utils$1.isFunction(parser)) {\n return parser.call(this, value, key);\n }\n\n if (utils$1.isRegExp(parser)) {\n return parser.exec(value);\n }\n\n throw new TypeError('parser must be boolean|regexp|function');\n }\n }\n }\n\n has(header, matcher) {\n header = normalizeHeader(header);\n\n if (header) {\n const key = utils$1.findKey(this, header);\n\n return !!(key && this[key] !== undefined && (!matcher || matchHeaderValue(this, this[key], key, matcher)));\n }\n\n return false;\n }\n\n delete(header, matcher) {\n const self = this;\n let deleted = false;\n\n function deleteHeader(_header) {\n _header = normalizeHeader(_header);\n\n if (_header) {\n const key = utils$1.findKey(self, _header);\n\n if (key && (!matcher || matchHeaderValue(self, self[key], key, matcher))) {\n delete self[key];\n\n deleted = true;\n }\n }\n }\n\n if (utils$1.isArray(header)) {\n header.forEach(deleteHeader);\n } else {\n deleteHeader(header);\n }\n\n return deleted;\n }\n\n clear(matcher) {\n const keys = Object.keys(this);\n let i = keys.length;\n let deleted = false;\n\n while (i--) {\n const key = keys[i];\n if(!matcher || matchHeaderValue(this, this[key], key, matcher, true)) {\n delete this[key];\n deleted = true;\n }\n }\n\n return deleted;\n }\n\n normalize(format) {\n const self = this;\n const headers = {};\n\n utils$1.forEach(this, (value, header) => {\n const key = utils$1.findKey(headers, header);\n\n if (key) {\n self[key] = normalizeValue(value);\n delete self[header];\n return;\n }\n\n const normalized = format ? formatHeader(header) : String(header).trim();\n\n if (normalized !== header) {\n delete self[header];\n }\n\n self[normalized] = normalizeValue(value);\n\n headers[normalized] = true;\n });\n\n return this;\n }\n\n concat(...targets) {\n return this.constructor.concat(this, ...targets);\n }\n\n toJSON(asStrings) {\n const obj = Object.create(null);\n\n utils$1.forEach(this, (value, header) => {\n value != null && value !== false && (obj[header] = asStrings && utils$1.isArray(value) ? value.join(', ') : value);\n });\n\n return obj;\n }\n\n [Symbol.iterator]() {\n return Object.entries(this.toJSON())[Symbol.iterator]();\n }\n\n toString() {\n return Object.entries(this.toJSON()).map(([header, value]) => header + ': ' + value).join('\\n');\n }\n\n getSetCookie() {\n return this.get(\"set-cookie\") || [];\n }\n\n get [Symbol.toStringTag]() {\n return 'AxiosHeaders';\n }\n\n static from(thing) {\n return thing instanceof this ? thing : new this(thing);\n }\n\n static concat(first, ...targets) {\n const computed = new this(first);\n\n targets.forEach((target) => computed.set(target));\n\n return computed;\n }\n\n static accessor(header) {\n const internals = this[$internals] = (this[$internals] = {\n accessors: {}\n });\n\n const accessors = internals.accessors;\n const prototype = this.prototype;\n\n function defineAccessor(_header) {\n const lHeader = normalizeHeader(_header);\n\n if (!accessors[lHeader]) {\n buildAccessors(prototype, _header);\n accessors[lHeader] = true;\n }\n }\n\n utils$1.isArray(header) ? header.forEach(defineAccessor) : defineAccessor(header);\n\n return this;\n }\n}\n\nAxiosHeaders.accessor(['Content-Type', 'Content-Length', 'Accept', 'Accept-Encoding', 'User-Agent', 'Authorization']);\n\n// reserved names hotfix\nutils$1.reduceDescriptors(AxiosHeaders.prototype, ({value}, key) => {\n let mapped = key[0].toUpperCase() + key.slice(1); // map `set` => `Set`\n return {\n get: () => value,\n set(headerValue) {\n this[mapped] = headerValue;\n }\n }\n});\n\nutils$1.freezeMethods(AxiosHeaders);\n\nvar AxiosHeaders$1 = AxiosHeaders;\n\n/**\n * Transform the data for a request or a response\n *\n * @param {Array|Function} fns A single function or Array of functions\n * @param {?Object} response The response object\n *\n * @returns {*} The resulting transformed data\n */\nfunction transformData(fns, response) {\n const config = this || defaults$1;\n const context = response || config;\n const headers = AxiosHeaders$1.from(context.headers);\n let data = context.data;\n\n utils$1.forEach(fns, function transform(fn) {\n data = fn.call(config, data, headers.normalize(), response ? response.status : undefined);\n });\n\n headers.normalize();\n\n return data;\n}\n\nfunction isCancel(value) {\n return !!(value && value.__CANCEL__);\n}\n\n/**\n * A `CanceledError` is an object that is thrown when an operation is canceled.\n *\n * @param {string=} message The message.\n * @param {Object=} config The config.\n * @param {Object=} request The request.\n *\n * @returns {CanceledError} The created error.\n */\nfunction CanceledError(message, config, request) {\n // eslint-disable-next-line no-eq-null,eqeqeq\n AxiosError.call(this, message == null ? 'canceled' : message, AxiosError.ERR_CANCELED, config, request);\n this.name = 'CanceledError';\n}\n\nutils$1.inherits(CanceledError, AxiosError, {\n __CANCEL__: true\n});\n\n/**\n * Resolve or reject a Promise based on response status.\n *\n * @param {Function} resolve A function that resolves the promise.\n * @param {Function} reject A function that rejects the promise.\n * @param {object} response The response.\n *\n * @returns {object} The response.\n */\nfunction settle(resolve, reject, response) {\n const validateStatus = response.config.validateStatus;\n if (!response.status || !validateStatus || validateStatus(response.status)) {\n resolve(response);\n } else {\n reject(new AxiosError(\n 'Request failed with status code ' + response.status,\n [AxiosError.ERR_BAD_REQUEST, AxiosError.ERR_BAD_RESPONSE][Math.floor(response.status / 100) - 4],\n response.config,\n response.request,\n response\n ));\n }\n}\n\nfunction parseProtocol(url) {\n const match = /^([-+\\w]{1,25})(:?\\/\\/|:)/.exec(url);\n return match && match[1] || '';\n}\n\n/**\n * Calculate data maxRate\n * @param {Number} [samplesCount= 10]\n * @param {Number} [min= 1000]\n * @returns {Function}\n */\nfunction speedometer(samplesCount, min) {\n samplesCount = samplesCount || 10;\n const bytes = new Array(samplesCount);\n const timestamps = new Array(samplesCount);\n let head = 0;\n let tail = 0;\n let firstSampleTS;\n\n min = min !== undefined ? min : 1000;\n\n return function push(chunkLength) {\n const now = Date.now();\n\n const startedAt = timestamps[tail];\n\n if (!firstSampleTS) {\n firstSampleTS = now;\n }\n\n bytes[head] = chunkLength;\n timestamps[head] = now;\n\n let i = tail;\n let bytesCount = 0;\n\n while (i !== head) {\n bytesCount += bytes[i++];\n i = i % samplesCount;\n }\n\n head = (head + 1) % samplesCount;\n\n if (head === tail) {\n tail = (tail + 1) % samplesCount;\n }\n\n if (now - firstSampleTS < min) {\n return;\n }\n\n const passed = startedAt && now - startedAt;\n\n return passed ? Math.round(bytesCount * 1000 / passed) : undefined;\n };\n}\n\n/**\n * Throttle decorator\n * @param {Function} fn\n * @param {Number} freq\n * @return {Function}\n */\nfunction throttle(fn, freq) {\n let timestamp = 0;\n let threshold = 1000 / freq;\n let lastArgs;\n let timer;\n\n const invoke = (args, now = Date.now()) => {\n timestamp = now;\n lastArgs = null;\n if (timer) {\n clearTimeout(timer);\n timer = null;\n }\n fn(...args);\n };\n\n const throttled = (...args) => {\n const now = Date.now();\n const passed = now - timestamp;\n if ( passed >= threshold) {\n invoke(args, now);\n } else {\n lastArgs = args;\n if (!timer) {\n timer = setTimeout(() => {\n timer = null;\n invoke(lastArgs);\n }, threshold - passed);\n }\n }\n };\n\n const flush = () => lastArgs && invoke(lastArgs);\n\n return [throttled, flush];\n}\n\nconst progressEventReducer = (listener, isDownloadStream, freq = 3) => {\n let bytesNotified = 0;\n const _speedometer = speedometer(50, 250);\n\n return throttle(e => {\n const loaded = e.loaded;\n const total = e.lengthComputable ? e.total : undefined;\n const progressBytes = loaded - bytesNotified;\n const rate = _speedometer(progressBytes);\n const inRange = loaded <= total;\n\n bytesNotified = loaded;\n\n const data = {\n loaded,\n total,\n progress: total ? (loaded / total) : undefined,\n bytes: progressBytes,\n rate: rate ? rate : undefined,\n estimated: rate && total && inRange ? (total - loaded) / rate : undefined,\n event: e,\n lengthComputable: total != null,\n [isDownloadStream ? 'download' : 'upload']: true\n };\n\n listener(data);\n }, freq);\n};\n\nconst progressEventDecorator = (total, throttled) => {\n const lengthComputable = total != null;\n\n return [(loaded) => throttled[0]({\n lengthComputable,\n total,\n loaded\n }), throttled[1]];\n};\n\nconst asyncDecorator = (fn) => (...args) => utils$1.asap(() => fn(...args));\n\nvar isURLSameOrigin = platform.hasStandardBrowserEnv ? ((origin, isMSIE) => (url) => {\n url = new URL(url, platform.origin);\n\n return (\n origin.protocol === url.protocol &&\n origin.host === url.host &&\n (isMSIE || origin.port === url.port)\n );\n})(\n new URL(platform.origin),\n platform.navigator && /(msie|trident)/i.test(platform.navigator.userAgent)\n) : () => true;\n\nvar cookies = platform.hasStandardBrowserEnv ?\n\n // Standard browser envs support document.cookie\n {\n write(name, value, expires, path, domain, secure) {\n const cookie = [name + '=' + encodeURIComponent(value)];\n\n utils$1.isNumber(expires) && cookie.push('expires=' + new Date(expires).toGMTString());\n\n utils$1.isString(path) && cookie.push('path=' + path);\n\n utils$1.isString(domain) && cookie.push('domain=' + domain);\n\n secure === true && cookie.push('secure');\n\n document.cookie = cookie.join('; ');\n },\n\n read(name) {\n const match = document.cookie.match(new RegExp('(^|;\\\\s*)(' + name + ')=([^;]*)'));\n return (match ? decodeURIComponent(match[3]) : null);\n },\n\n remove(name) {\n this.write(name, '', Date.now() - 86400000);\n }\n }\n\n :\n\n // Non-standard browser env (web workers, react-native) lack needed support.\n {\n write() {},\n read() {\n return null;\n },\n remove() {}\n };\n\n/**\n * Determines whether the specified URL is absolute\n *\n * @param {string} url The URL to test\n *\n * @returns {boolean} True if the specified URL is absolute, otherwise false\n */\nfunction isAbsoluteURL(url) {\n // A URL is considered absolute if it begins with \"<scheme>://\" or \"//\" (protocol-relative URL).\n // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed\n // by any combination of letters, digits, plus, period, or hyphen.\n return /^([a-z][a-z\\d+\\-.]*:)?\\/\\//i.test(url);\n}\n\n/**\n * Creates a new URL by combining the specified URLs\n *\n * @param {string} baseURL The base URL\n * @param {string} relativeURL The relative URL\n *\n * @returns {string} The combined URL\n */\nfunction combineURLs(baseURL, relativeURL) {\n return relativeURL\n ? baseURL.replace(/\\/?\\/$/, '') + '/' + relativeURL.replace(/^\\/+/, '')\n : baseURL;\n}\n\n/**\n * Creates a new URL by combining the baseURL with the requestedURL,\n * only when the requestedURL is not already an absolute URL.\n * If the requestURL is absolute, this function returns the requestedURL untouched.\n *\n * @param {string} baseURL The base URL\n * @param {string} requestedURL Absolute or relative URL to combine\n *\n * @returns {string} The combined full path\n */\nfunction buildFullPath(baseURL, requestedURL, allowAbsoluteUrls) {\n let isRelativeUrl = !isAbsoluteURL(requestedURL);\n if (baseURL && (isRelativeUrl || allowAbsoluteUrls == false)) {\n return combineURLs(baseURL, requestedURL);\n }\n return requestedURL;\n}\n\nconst headersToObject = (thing) => thing instanceof AxiosHeaders$1 ? { ...thing } : thing;\n\n/**\n * Config-specific merge-function which creates a new config-object\n * by merging two configuration objects together.\n *\n * @param {Object} config1\n * @param {Object} config2\n *\n * @returns {Object} New object resulting from merging config2 to config1\n */\nfunction mergeConfig(config1, config2) {\n // eslint-disable-next-line no-param-reassign\n config2 = config2 || {};\n const config = {};\n\n function getMergedValue(target, source, prop, caseless) {\n if (utils$1.isPlainObject(target) && utils$1.isPlainObject(source)) {\n return utils$1.merge.call({caseless}, target, source);\n } else if (utils$1.isPlainObject(source)) {\n return utils$1.merge({}, source);\n } else if (utils$1.isArray(source)) {\n return source.slice();\n }\n return source;\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDeepProperties(a, b, prop , caseless) {\n if (!utils$1.isUndefined(b)) {\n return getMergedValue(a, b, prop , caseless);\n } else if (!utils$1.isUndefined(a)) {\n return getMergedValue(undefined, a, prop , caseless);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function valueFromConfig2(a, b) {\n if (!utils$1.isUndefined(b)) {\n return getMergedValue(undefined, b);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function defaultToConfig2(a, b) {\n if (!utils$1.isUndefined(b)) {\n return getMergedValue(undefined, b);\n } else if (!utils$1.isUndefined(a)) {\n return getMergedValue(undefined, a);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDirectKeys(a, b, prop) {\n if (prop in config2) {\n return getMergedValue(a, b);\n } else if (prop in config1) {\n return getMergedValue(undefined, a);\n }\n }\n\n const mergeMap = {\n url: valueFromConfig2,\n method: valueFromConfig2,\n data: valueFromConfig2,\n baseURL: defaultToConfig2,\n transformRequest: defaultToConfig2,\n transformResponse: defaultToConfig2,\n paramsSerializer: defaultToConfig2,\n timeout: defaultToConfig2,\n timeoutMessage: defaultToConfig2,\n withCredentials: defaultToConfig2,\n withXSRFToken: defaultToConfig2,\n adapter: defaultToConfig2,\n responseType: defaultToConfig2,\n xsrfCookieName: defaultToConfig2,\n xsrfHeaderName: defaultToConfig2,\n onUploadProgress: defaultToConfig2,\n onDownloadProgress: defaultToConfig2,\n decompress: defaultToConfig2,\n maxContentLength: defaultToConfig2,\n maxBodyLength: defaultToConfig2,\n beforeRedirect: defaultToConfig2,\n transport: defaultToConfig2,\n httpAgent: defaultToConfig2,\n httpsAgent: defaultToConfig2,\n cancelToken: defaultToConfig2,\n socketPath: defaultToConfig2,\n responseEncoding: defaultToConfig2,\n validateStatus: mergeDirectKeys,\n headers: (a, b , prop) => mergeDeepProperties(headersToObject(a), headersToObject(b),prop, true)\n };\n\n utils$1.forEach(Object.keys({...config1, ...config2}), function computeConfigValue(prop) {\n const merge = mergeMap[prop] || mergeDeepProperties;\n const configValue = merge(config1[prop], config2[prop], prop);\n (utils$1.isUndefined(configValue) && merge !== mergeDirectKeys) || (config[prop] = configValue);\n });\n\n return config;\n}\n\nvar resolveConfig = (config) => {\n const newConfig = mergeConfig({}, config);\n\n let { data, withXSRFToken, xsrfHeaderName, xsrfCookieName, headers, auth } = newConfig;\n\n newConfig.headers = headers = AxiosHeaders$1.from(headers);\n\n newConfig.url = buildURL(buildFullPath(newConfig.baseURL, newConfig.url, newConfig.allowAbsoluteUrls), config.params, config.paramsSerializer);\n\n // HTTP basic authentication\n if (auth) {\n headers.set('Authorization', 'Basic ' +\n btoa((auth.username || '') + ':' + (auth.password ? unescape(encodeURIComponent(auth.password)) : ''))\n );\n }\n\n if (utils$1.isFormData(data)) {\n if (platform.hasStandardBrowserEnv || platform.hasStandardBrowserWebWorkerEnv) {\n headers.setContentType(undefined); // browser handles it\n } else if (utils$1.isFunction(data.getHeaders)) {\n // Node.js FormData (like form-data package)\n const formHeaders = data.getHeaders();\n // Only set safe headers to avoid overwriting security headers\n const allowedHeaders = ['content-type', 'content-length'];\n Object.entries(formHeaders).forEach(([key, val]) => {\n if (allowedHeaders.includes(key.toLowerCase())) {\n headers.set(key, val);\n }\n });\n }\n } \n\n // Add xsrf header\n // This is only done if running in a standard browser environment.\n // Specifically not if we're in a web worker, or react-native.\n\n if (platform.hasStandardBrowserEnv) {\n withXSRFToken && utils$1.isFunction(withXSRFToken) && (withXSRFToken = withXSRFToken(newConfig));\n\n if (withXSRFToken || (withXSRFToken !== false && isURLSameOrigin(newConfig.url))) {\n // Add xsrf header\n const xsrfValue = xsrfHeaderName && xsrfCookieName && cookies.read(xsrfCookieName);\n\n if (xsrfValue) {\n headers.set(xsrfHeaderName, xsrfValue);\n }\n }\n }\n\n return newConfig;\n};\n\nconst isXHRAdapterSupported = typeof XMLHttpRequest !== 'undefined';\n\nvar xhrAdapter = isXHRAdapterSupported && function (config) {\n return new Promise(function dispatchXhrRequest(resolve, reject) {\n const _config = resolveConfig(config);\n let requestData = _config.data;\n const requestHeaders = AxiosHeaders$1.from(_config.headers).normalize();\n let {responseType, onUploadProgress, onDownloadProgress} = _config;\n let onCanceled;\n let uploadThrottled, downloadThrottled;\n let flushUpload, flushDownload;\n\n function done() {\n flushUpload && flushUpload(); // flush events\n flushDownload && flushDownload(); // flush events\n\n _config.cancelToken && _config.cancelToken.unsubscribe(onCanceled);\n\n _config.signal && _config.signal.removeEventListener('abort', onCanceled);\n }\n\n let request = new XMLHttpRequest();\n\n request.open(_config.method.toUpperCase(), _config.url, true);\n\n // Set the request timeout in MS\n request.timeout = _config.timeout;\n\n function onloadend() {\n if (!request) {\n return;\n }\n // Prepare the response\n const responseHeaders = AxiosHeaders$1.from(\n 'getAllResponseHeaders' in request && request.getAllResponseHeaders()\n );\n const responseData = !responseType || responseType === 'text' || responseType === 'json' ?\n request.responseText : request.response;\n const response = {\n data: responseData,\n status: request.status,\n statusText: request.statusText,\n headers: responseHeaders,\n config,\n request\n };\n\n settle(function _resolve(value) {\n resolve(value);\n done();\n }, function _reject(err) {\n reject(err);\n done();\n }, response);\n\n // Clean up request\n request = null;\n }\n\n if ('onloadend' in request) {\n // Use onloadend if available\n request.onloadend = onloadend;\n } else {\n // Listen for ready state to emulate onloadend\n request.onreadystatechange = function handleLoad() {\n if (!request || request.readyState !== 4) {\n return;\n }\n\n // The request errored out and we didn't get a response, this will be\n // handled by onerror instead\n // With one exception: request that using file: protocol, most browsers\n // will return status as 0 even though it's a successful request\n if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) {\n return;\n }\n // readystate handler is calling before onerror or ontimeout handlers,\n // so we should call onloadend on the next 'tick'\n setTimeout(onloadend);\n };\n }\n\n // Handle browser request cancellation (as opposed to a manual cancellation)\n request.onabort = function handleAbort() {\n if (!request) {\n return;\n }\n\n reject(new AxiosError('Request aborted', AxiosError.ECONNABORTED, config, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle low level network errors\n request.onerror = function handleError(event) {\n // Browsers deliver a ProgressEvent in XHR onerror\n // (message may be empty; when present, surface it)\n // See https://developer.mozilla.org/docs/Web/API/XMLHttpRequest/error_event\n const msg = event && event.message ? event.message : 'Network Error';\n const err = new AxiosError(msg, AxiosError.ERR_NETWORK, config, request);\n // attach the underlying event for consumers who want details\n err.event = event || null;\n reject(err);\n request = null;\n };\n \n // Handle timeout\n request.ontimeout = function handleTimeout() {\n let timeoutErrorMessage = _config.timeout ? 'timeout of ' + _config.timeout + 'ms exceeded' : 'timeout exceeded';\n const transitional = _config.transitional || transitionalDefaults;\n if (_config.timeoutErrorMessage) {\n timeoutErrorMessage = _config.timeoutErrorMessage;\n }\n reject(new AxiosError(\n timeoutErrorMessage,\n transitional.clarifyTimeoutError ? AxiosError.ETIMEDOUT : AxiosError.ECONNABORTED,\n config,\n request));\n\n // Clean up request\n request = null;\n };\n\n // Remove Content-Type if data is undefined\n requestData === undefined && requestHeaders.setContentType(null);\n\n // Add headers to the request\n if ('setRequestHeader' in request) {\n utils$1.forEach(requestHeaders.toJSON(), function setRequestHeader(val, key) {\n request.setRequestHeader(key, val);\n });\n }\n\n // Add withCredentials to request if needed\n if (!utils$1.isUndefined(_config.withCredentials)) {\n request.withCredentials = !!_config.withCredentials;\n }\n\n // Add responseType to request if needed\n if (responseType && responseType !== 'json') {\n request.responseType = _config.responseType;\n }\n\n // Handle progress if needed\n if (onDownloadProgress) {\n ([downloadThrottled, flushDownload] = progressEventReducer(onDownloadProgress, true));\n request.addEventListener('progress', downloadThrottled);\n }\n\n // Not all browsers support upload events\n if (onUploadProgress && request.upload) {\n ([uploadThrottled, flushUpload] = progressEventReducer(onUploadProgress));\n\n request.upload.addEventListener('progress', uploadThrottled);\n\n request.upload.addEventListener('loadend', flushUpload);\n }\n\n if (_config.cancelToken || _config.signal) {\n // Handle cancellation\n // eslint-disable-next-line func-names\n onCanceled = cancel => {\n if (!request) {\n return;\n }\n reject(!cancel || cancel.type ? new CanceledError(null, config, request) : cancel);\n request.abort();\n request = null;\n };\n\n _config.cancelToken && _config.cancelToken.subscribe(onCanceled);\n if (_config.signal) {\n _config.signal.aborted ? onCanceled() : _config.signal.addEventListener('abort', onCanceled);\n }\n }\n\n const protocol = parseProtocol(_config.url);\n\n if (protocol && platform.protocols.indexOf(protocol) === -1) {\n reject(new AxiosError('Unsupported protocol ' + protocol + ':', AxiosError.ERR_BAD_REQUEST, config));\n return;\n }\n\n\n // Send the request\n request.send(requestData || null);\n });\n};\n\nconst composeSignals = (signals, timeout) => {\n const {length} = (signals = signals ? signals.filter(Boolean) : []);\n\n if (timeout || length) {\n let controller = new AbortController();\n\n let aborted;\n\n const onabort = function (reason) {\n if (!aborted) {\n aborted = true;\n unsubscribe();\n const err = reason instanceof Error ? reason : this.reason;\n controller.abort(err instanceof AxiosError ? err : new CanceledError(err instanceof Error ? err.message : err));\n }\n };\n\n let timer = timeout && setTimeout(() => {\n timer = null;\n onabort(new AxiosError(`timeout ${timeout} of ms exceeded`, AxiosError.ETIMEDOUT));\n }, timeout);\n\n const unsubscribe = () => {\n if (signals) {\n timer && clearTimeout(timer);\n timer = null;\n signals.forEach(signal => {\n signal.unsubscribe ? signal.unsubscribe(onabort) : signal.removeEventListener('abort', onabort);\n });\n signals = null;\n }\n };\n\n signals.forEach((signal) => signal.addEventListener('abort', onabort));\n\n const {signal} = controller;\n\n signal.unsubscribe = () => utils$1.asap(unsubscribe);\n\n return signal;\n }\n};\n\nvar composeSignals$1 = composeSignals;\n\nconst streamChunk = function* (chunk, chunkSize) {\n let len = chunk.byteLength;\n\n if (!chunkSize || len < chunkSize) {\n yield chunk;\n return;\n }\n\n let pos = 0;\n let end;\n\n while (pos < len) {\n end = pos + chunkSize;\n yield chunk.slice(pos, end);\n pos = end;\n }\n};\n\nconst readBytes = async function* (iterable, chunkSize) {\n for await (const chunk of readStream(iterable)) {\n yield* streamChunk(chunk, chunkSize);\n }\n};\n\nconst readStream = async function* (stream) {\n if (stream[Symbol.asyncIterator]) {\n yield* stream;\n return;\n }\n\n const reader = stream.getReader();\n try {\n for (;;) {\n const {done, value} = await reader.read();\n if (done) {\n break;\n }\n yield value;\n }\n } finally {\n await reader.cancel();\n }\n};\n\nconst trackStream = (stream, chunkSize, onProgress, onFinish) => {\n const iterator = readBytes(stream, chunkSize);\n\n let bytes = 0;\n let done;\n let _onFinish = (e) => {\n if (!done) {\n done = true;\n onFinish && onFinish(e);\n }\n };\n\n return new ReadableStream({\n async pull(controller) {\n try {\n const {done, value} = await iterator.next();\n\n if (done) {\n _onFinish();\n controller.close();\n return;\n }\n\n let len = value.byteLength;\n if (onProgress) {\n let loadedBytes = bytes += len;\n onProgress(loadedBytes);\n }\n controller.enqueue(new Uint8Array(value));\n } catch (err) {\n _onFinish(err);\n throw err;\n }\n },\n cancel(reason) {\n _onFinish(reason);\n return iterator.return();\n }\n }, {\n highWaterMark: 2\n })\n};\n\nconst DEFAULT_CHUNK_SIZE = 64 * 1024;\n\nconst {isFunction} = utils$1;\n\nconst globalFetchAPI = (({Request, Response}) => ({\n Request, Response\n}))(utils$1.global);\n\nconst {\n ReadableStream: ReadableStream$1, TextEncoder\n} = utils$1.global;\n\n\nconst test = (fn, ...args) => {\n try {\n return !!fn(...args);\n } catch (e) {\n return false\n }\n};\n\nconst factory = (env) => {\n env = utils$1.merge.call({\n skipUndefined: true\n }, globalFetchAPI, env);\n\n const {fetch: envFetch, Request, Response} = env;\n const isFetchSupported = envFetch ? isFunction(envFetch) : typeof fetch === 'function';\n const isRequestSupported = isFunction(Request);\n const isResponseSupported = isFunction(Response);\n\n if (!isFetchSupported) {\n return false;\n }\n\n const isReadableStreamSupported = isFetchSupported && isFunction(ReadableStream$1);\n\n const encodeText = isFetchSupported && (typeof TextEncoder === 'function' ?\n ((encoder) => (str) => encoder.encode(str))(new TextEncoder()) :\n async (str) => new Uint8Array(await new Request(str).arrayBuffer())\n );\n\n const supportsRequestStream = isRequestSupported && isReadableStreamSupported && test(() => {\n let duplexAccessed = false;\n\n const hasContentType = new Request(platform.origin, {\n body: new ReadableStream$1(),\n method: 'POST',\n get duplex() {\n duplexAccessed = true;\n return 'half';\n },\n }).headers.has('Content-Type');\n\n return duplexAccessed && !hasContentType;\n });\n\n const supportsResponseStream = isResponseSupported && isReadableStreamSupported &&\n test(() => utils$1.isReadableStream(new Response('').body));\n\n const resolvers = {\n stream: supportsResponseStream && ((res) => res.body)\n };\n\n isFetchSupported && ((() => {\n ['text', 'arrayBuffer', 'blob', 'formData', 'stream'].forEach(type => {\n !resolvers[type] && (resolvers[type] = (res, config) => {\n let method = res && res[type];\n\n if (method) {\n return method.call(res);\n }\n\n throw new AxiosError(`Response type '${type}' is not supported`, AxiosError.ERR_NOT_SUPPORT, config);\n });\n });\n })());\n\n const getBodyLength = async (body) => {\n if (body == null) {\n return 0;\n }\n\n if (utils$1.isBlob(body)) {\n return body.size;\n }\n\n if (utils$1.isSpecCompliantForm(body)) {\n const _request = new Request(platform.origin, {\n method: 'POST',\n body,\n });\n return (await _request.arrayBuffer()).byteLength;\n }\n\n if (utils$1.isArrayBufferView(body) || utils$1.isArrayBuffer(body)) {\n return body.byteLength;\n }\n\n if (utils$1.isURLSearchParams(body)) {\n body = body + '';\n }\n\n if (utils$1.isString(body)) {\n return (await encodeText(body)).byteLength;\n }\n };\n\n const resolveBodyLength = async (headers, body) => {\n const length = utils$1.toFiniteNumber(headers.getContentLength());\n\n return length == null ? getBodyLength(body) : length;\n };\n\n return async (config) => {\n let {\n url,\n method,\n data,\n signal,\n cancelToken,\n timeout,\n onDownloadProgress,\n onUploadProgress,\n responseType,\n headers,\n withCredentials = 'same-origin',\n fetchOptions\n } = resolveConfig(config);\n\n let _fetch = envFetch || fetch;\n\n responseType = responseType ? (responseType + '').toLowerCase() : 'text';\n\n let composedSignal = composeSignals$1([signal, cancelToken && cancelToken.toAbortSignal()], timeout);\n\n let request = null;\n\n const unsubscribe = composedSignal && composedSignal.unsubscribe && (() => {\n composedSignal.unsubscribe();\n });\n\n let requestContentLength;\n\n try {\n if (\n onUploadProgress && supportsRequestStream && method !== 'get' && method !== 'head' &&\n (requestContentLength = await resolveBodyLength(headers, data)) !== 0\n ) {\n let _request = new Request(url, {\n method: 'POST',\n body: data,\n duplex: \"half\"\n });\n\n let contentTypeHeader;\n\n if (utils$1.isFormData(data) && (contentTypeHeader = _request.headers.get('content-type'))) {\n headers.setContentType(contentTypeHeader);\n }\n\n if (_request.body) {\n const [onProgress, flush] = progressEventDecorator(\n requestContentLength,\n progressEventReducer(asyncDecorator(onUploadProgress))\n );\n\n data = trackStream(_request.body, DEFAULT_CHUNK_SIZE, onProgress, flush);\n }\n }\n\n if (!utils$1.isString(withCredentials)) {\n withCredentials = withCredentials ? 'include' : 'omit';\n }\n\n // Cloudflare Workers throws when credentials are defined\n // see https://github.com/cloudflare/workerd/issues/902\n const isCredentialsSupported = isRequestSupported && \"credentials\" in Request.prototype;\n\n const resolvedOptions = {\n ...fetchOptions,\n signal: composedSignal,\n method: method.toUpperCase(),\n headers: headers.normalize().toJSON(),\n body: data,\n duplex: \"half\",\n credentials: isCredentialsSupported ? withCredentials : undefined\n };\n\n request = isRequestSupported && new Request(url, resolvedOptions);\n\n let response = await (isRequestSupported ? _fetch(request, fetchOptions) : _fetch(url, resolvedOptions));\n\n const isStreamResponse = supportsResponseStream && (responseType === 'stream' || responseType === 'response');\n\n if (supportsResponseStream && (onDownloadProgress || (isStreamResponse && unsubscribe))) {\n const options = {};\n\n ['status', 'statusText', 'headers'].forEach(prop => {\n options[prop] = response[prop];\n });\n\n const responseContentLength = utils$1.toFiniteNumber(response.headers.get('content-length'));\n\n const [onProgress, flush] = onDownloadProgress && progressEventDecorator(\n responseContentLength,\n progressEventReducer(asyncDecorator(onDownloadProgress), true)\n ) || [];\n\n response = new Response(\n trackStream(response.body, DEFAULT_CHUNK_SIZE, onProgress, () => {\n flush && flush();\n unsubscribe && unsubscribe();\n }),\n options\n );\n }\n\n responseType = responseType || 'text';\n\n let responseData = await resolvers[utils$1.findKey(resolvers, responseType) || 'text'](response, config);\n\n !isStreamResponse && unsubscribe && unsubscribe();\n\n return await new Promise((resolve, reject) => {\n settle(resolve, reject, {\n data: responseData,\n headers: AxiosHeaders$1.from(response.headers),\n status: response.status,\n statusText: response.statusText,\n config,\n request\n });\n })\n } catch (err) {\n unsubscribe && unsubscribe();\n\n if (err && err.name === 'TypeError' && /Load failed|fetch/i.test(err.message)) {\n throw Object.assign(\n new AxiosError('Network Error', AxiosError.ERR_NETWORK, config, request),\n {\n cause: err.cause || err\n }\n )\n }\n\n throw AxiosError.from(err, err && err.code, config, request);\n }\n }\n};\n\nconst seedCache = new Map();\n\nconst getFetch = (config) => {\n let env = config ? config.env : {};\n const {fetch, Request, Response} = env;\n const seeds = [\n Request, Response, fetch\n ];\n\n let len = seeds.length, i = len,\n seed, target, map = seedCache;\n\n while (i--) {\n seed = seeds[i];\n target = map.get(seed);\n\n target === undefined && map.set(seed, target = (i ? new Map() : factory(env)));\n\n map = target;\n }\n\n return target;\n};\n\ngetFetch();\n\nconst knownAdapters = {\n http: httpAdapter,\n xhr: xhrAdapter,\n fetch: {\n get: getFetch,\n }\n};\n\nutils$1.forEach(knownAdapters, (fn, value) => {\n if (fn) {\n try {\n Object.defineProperty(fn, 'name', {value});\n } catch (e) {\n // eslint-disable-next-line no-empty\n }\n Object.defineProperty(fn, 'adapterName', {value});\n }\n});\n\nconst renderReason = (reason) => `- ${reason}`;\n\nconst isResolvedHandle = (adapter) => utils$1.isFunction(adapter) || adapter === null || adapter === false;\n\nvar adapters = {\n getAdapter: (adapters, config) => {\n adapters = utils$1.isArray(adapters) ? adapters : [adapters];\n\n const {length} = adapters;\n let nameOrAdapter;\n let adapter;\n\n const rejectedReasons = {};\n\n for (let i = 0; i < length; i++) {\n nameOrAdapter = adapters[i];\n let id;\n\n adapter = nameOrAdapter;\n\n if (!isResolvedHandle(nameOrAdapter)) {\n adapter = knownAdapters[(id = String(nameOrAdapter)).toLowerCase()];\n\n if (adapter === undefined) {\n throw new AxiosError(`Unknown adapter '${id}'`);\n }\n }\n\n if (adapter && (utils$1.isFunction(adapter) || (adapter = adapter.get(config)))) {\n break;\n }\n\n rejectedReasons[id || '#' + i] = adapter;\n }\n\n if (!adapter) {\n\n const reasons = Object.entries(rejectedReasons)\n .map(([id, state]) => `adapter ${id} ` +\n (state === false ? 'is not supported by the environment' : 'is not available in the build')\n );\n\n let s = length ?\n (reasons.length > 1 ? 'since :\\n' + reasons.map(renderReason).join('\\n') : ' ' + renderReason(reasons[0])) :\n 'as no adapter specified';\n\n throw new AxiosError(\n `There is no suitable adapter to dispatch the request ` + s,\n 'ERR_NOT_SUPPORT'\n );\n }\n\n return adapter;\n },\n adapters: knownAdapters\n};\n\n/**\n * Throws a `CanceledError` if cancellation has been requested.\n *\n * @param {Object} config The config that is to be used for the request\n *\n * @returns {void}\n */\nfunction throwIfCancellationRequested(config) {\n if (config.cancelToken) {\n config.cancelToken.throwIfRequested();\n }\n\n if (config.signal && config.signal.aborted) {\n throw new CanceledError(null, config);\n }\n}\n\n/**\n * Dispatch a request to the server using the configured adapter.\n *\n * @param {object} config The config that is to be used for the request\n *\n * @returns {Promise} The Promise to be fulfilled\n */\nfunction dispatchRequest(config) {\n throwIfCancellationRequested(config);\n\n config.headers = AxiosHeaders$1.from(config.headers);\n\n // Transform request data\n config.data = transformData.call(\n config,\n config.transformRequest\n );\n\n if (['post', 'put', 'patch'].indexOf(config.method) !== -1) {\n config.headers.setContentType('application/x-www-form-urlencoded', false);\n }\n\n const adapter = adapters.getAdapter(config.adapter || defaults$1.adapter, config);\n\n return adapter(config).then(function onAdapterResolution(response) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n response.data = transformData.call(\n config,\n config.transformResponse,\n response\n );\n\n response.headers = AxiosHeaders$1.from(response.headers);\n\n return response;\n }, function onAdapterRejection(reason) {\n if (!isCancel(reason)) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n if (reason && reason.response) {\n reason.response.data = transformData.call(\n config,\n config.transformResponse,\n reason.response\n );\n reason.response.headers = AxiosHeaders$1.from(reason.response.headers);\n }\n }\n\n return Promise.reject(reason);\n });\n}\n\nconst VERSION = \"1.12.2\";\n\nconst validators$1 = {};\n\n// eslint-disable-next-line func-names\n['object', 'boolean', 'number', 'function', 'string', 'symbol'].forEach((type, i) => {\n validators$1[type] = function validator(thing) {\n return typeof thing === type || 'a' + (i < 1 ? 'n ' : ' ') + type;\n };\n});\n\nconst deprecatedWarnings = {};\n\n/**\n * Transitional option validator\n *\n * @param {function|boolean?} validator - set to false if the transitional option has been removed\n * @param {string?} version - deprecated version / removed since version\n * @param {string?} message - some message with additional info\n *\n * @returns {function}\n */\nvalidators$1.transitional = function transitional(validator, version, message) {\n function formatMessage(opt, desc) {\n return '[Axios v' + VERSION + '] Transitional option \\'' + opt + '\\'' + desc + (message ? '. ' + message : '');\n }\n\n // eslint-disable-next-line func-names\n return (value, opt, opts) => {\n if (validator === false) {\n throw new AxiosError(\n formatMessage(opt, ' has been removed' + (version ? ' in ' + version : '')),\n AxiosError.ERR_DEPRECATED\n );\n }\n\n if (version && !deprecatedWarnings[opt]) {\n deprecatedWarnings[opt] = true;\n // eslint-disable-next-line no-console\n console.warn(\n formatMessage(\n opt,\n ' has been deprecated since v' + version + ' and will be removed in the near future'\n )\n );\n }\n\n return validator ? validator(value, opt, opts) : true;\n };\n};\n\nvalidators$1.spelling = function spelling(correctSpelling) {\n return (value, opt) => {\n // eslint-disable-next-line no-console\n console.warn(`${opt} is likely a misspelling of ${correctSpelling}`);\n return true;\n }\n};\n\n/**\n * Assert object's properties type\n *\n * @param {object} options\n * @param {object} schema\n * @param {boolean?} allowUnknown\n *\n * @returns {object}\n */\n\nfunction assertOptions(options, schema, allowUnknown) {\n if (typeof options !== 'object') {\n throw new AxiosError('options must be an object', AxiosError.ERR_BAD_OPTION_VALUE);\n }\n const keys = Object.keys(options);\n let i = keys.length;\n while (i-- > 0) {\n const opt = keys[i];\n const validator = schema[opt];\n if (validator) {\n const value = options[opt];\n const result = value === undefined || validator(value, opt, options);\n if (result !== true) {\n throw new AxiosError('option ' + opt + ' must be ' + result, AxiosError.ERR_BAD_OPTION_VALUE);\n }\n continue;\n }\n if (allowUnknown !== true) {\n throw new AxiosError('Unknown option ' + opt, AxiosError.ERR_BAD_OPTION);\n }\n }\n}\n\nvar validator = {\n assertOptions,\n validators: validators$1\n};\n\nconst validators = validator.validators;\n\n/**\n * Create a new instance of Axios\n *\n * @param {Object} instanceConfig The default config for the instance\n *\n * @return {Axios} A new instance of Axios\n */\nclass Axios {\n constructor(instanceConfig) {\n this.defaults = instanceConfig || {};\n this.interceptors = {\n request: new InterceptorManager$1(),\n response: new InterceptorManager$1()\n };\n }\n\n /**\n * Dispatch a request\n *\n * @param {String|Object} configOrUrl The config specific for this request (merged with this.defaults)\n * @param {?Object} config\n *\n * @returns {Promise} The Promise to be fulfilled\n */\n async request(configOrUrl, config) {\n try {\n return await this._request(configOrUrl, config);\n } catch (err) {\n if (err instanceof Error) {\n let dummy = {};\n\n Error.captureStackTrace ? Error.captureStackTrace(dummy) : (dummy = new Error());\n\n // slice off the Error: ... line\n const stack = dummy.stack ? dummy.stack.replace(/^.+\\n/, '') : '';\n try {\n if (!err.stack) {\n err.stack = stack;\n // match without the 2 top stack lines\n } else if (stack && !String(err.stack).endsWith(stack.replace(/^.+\\n.+\\n/, ''))) {\n err.stack += '\\n' + stack;\n }\n } catch (e) {\n // ignore the case where \"stack\" is an un-writable property\n }\n }\n\n throw err;\n }\n }\n\n _request(configOrUrl, config) {\n /*eslint no-param-reassign:0*/\n // Allow for axios('example/url'[, config]) a la fetch API\n if (typeof configOrUrl === 'string') {\n config = config || {};\n config.url = configOrUrl;\n } else {\n config = configOrUrl || {};\n }\n\n config = mergeConfig(this.defaults, config);\n\n const {transitional, paramsSerializer, headers} = config;\n\n if (transitional !== undefined) {\n validator.assertOptions(transitional, {\n silentJSONParsing: validators.transitional(validators.boolean),\n forcedJSONParsing: validators.transitional(validators.boolean),\n clarifyTimeoutError: validators.transitional(validators.boolean)\n }, false);\n }\n\n if (paramsSerializer != null) {\n if (utils$1.isFunction(paramsSerializer)) {\n config.paramsSerializer = {\n serialize: paramsSerializer\n };\n } else {\n validator.assertOptions(paramsSerializer, {\n encode: validators.function,\n serialize: validators.function\n }, true);\n }\n }\n\n // Set config.allowAbsoluteUrls\n if (config.allowAbsoluteUrls !== undefined) ; else if (this.defaults.allowAbsoluteUrls !== undefined) {\n config.allowAbsoluteUrls = this.defaults.allowAbsoluteUrls;\n } else {\n config.allowAbsoluteUrls = true;\n }\n\n validator.assertOptions(config, {\n baseUrl: validators.spelling('baseURL'),\n withXsrfToken: validators.spelling('withXSRFToken')\n }, true);\n\n // Set config.method\n config.method = (config.method || this.defaults.method || 'get').toLowerCase();\n\n // Flatten headers\n let contextHeaders = headers && utils$1.merge(\n headers.common,\n headers[config.method]\n );\n\n headers && utils$1.forEach(\n ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'],\n (method) => {\n delete headers[method];\n }\n );\n\n config.headers = AxiosHeaders$1.concat(contextHeaders, headers);\n\n // filter out skipped interceptors\n const requestInterceptorChain = [];\n let synchronousRequestInterceptors = true;\n this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {\n if (typeof interceptor.runWhen === 'function' && interceptor.runWhen(config) === false) {\n return;\n }\n\n synchronousRequestInterceptors = synchronousRequestInterceptors && interceptor.synchronous;\n\n requestInterceptorChain.unshift(interceptor.fulfilled, interceptor.rejected);\n });\n\n const responseInterceptorChain = [];\n this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {\n responseInterceptorChain.push(interceptor.fulfilled, interceptor.rejected);\n });\n\n let promise;\n let i = 0;\n let len;\n\n if (!synchronousRequestInterceptors) {\n const chain = [dispatchRequest.bind(this), undefined];\n chain.unshift(...requestInterceptorChain);\n chain.push(...responseInterceptorChain);\n len = chain.length;\n\n promise = Promise.resolve(config);\n\n while (i < len) {\n promise = promise.then(chain[i++], chain[i++]);\n }\n\n return promise;\n }\n\n len = requestInterceptorChain.length;\n\n let newConfig = config;\n\n while (i < len) {\n const onFulfilled = requestInterceptorChain[i++];\n const onRejected = requestInterceptorChain[i++];\n try {\n newConfig = onFulfilled(newConfig);\n } catch (error) {\n onRejected.call(this, error);\n break;\n }\n }\n\n try {\n promise = dispatchRequest.call(this, newConfig);\n } catch (error) {\n return Promise.reject(error);\n }\n\n i = 0;\n len = responseInterceptorChain.length;\n\n while (i < len) {\n promise = promise.then(responseInterceptorChain[i++], responseInterceptorChain[i++]);\n }\n\n return promise;\n }\n\n getUri(config) {\n config = mergeConfig(this.defaults, config);\n const fullPath = buildFullPath(config.baseURL, config.url, config.allowAbsoluteUrls);\n return buildURL(fullPath, config.params, config.paramsSerializer);\n }\n}\n\n// Provide aliases for supported request methods\nutils$1.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, config) {\n return this.request(mergeConfig(config || {}, {\n method,\n url,\n data: (config || {}).data\n }));\n };\n});\n\nutils$1.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n /*eslint func-names:0*/\n\n function generateHTTPMethod(isForm) {\n return function httpMethod(url, data, config) {\n return this.request(mergeConfig(config || {}, {\n method,\n headers: isForm ? {\n 'Content-Type': 'multipart/form-data'\n } : {},\n url,\n data\n }));\n };\n }\n\n Axios.prototype[method] = generateHTTPMethod();\n\n Axios.prototype[method + 'Form'] = generateHTTPMethod(true);\n});\n\nvar Axios$1 = Axios;\n\n/**\n * A `CancelToken` is an object that can be used to request cancellation of an operation.\n *\n * @param {Function} executor The executor function.\n *\n * @returns {CancelToken}\n */\nclass CancelToken {\n constructor(executor) {\n if (typeof executor !== 'function') {\n throw new TypeError('executor must be a function.');\n }\n\n let resolvePromise;\n\n this.promise = new Promise(function promiseExecutor(resolve) {\n resolvePromise = resolve;\n });\n\n const token = this;\n\n // eslint-disable-next-line func-names\n this.promise.then(cancel => {\n if (!token._listeners) return;\n\n let i = token._listeners.length;\n\n while (i-- > 0) {\n token._listeners[i](cancel);\n }\n token._listeners = null;\n });\n\n // eslint-disable-next-line func-names\n this.promise.then = onfulfilled => {\n let _resolve;\n // eslint-disable-next-line func-names\n const promise = new Promise(resolve => {\n token.subscribe(resolve);\n _resolve = resolve;\n }).then(onfulfilled);\n\n promise.cancel = function reject() {\n token.unsubscribe(_resolve);\n };\n\n return promise;\n };\n\n executor(function cancel(message, config, request) {\n if (token.reason) {\n // Cancellation has already been requested\n return;\n }\n\n token.reason = new CanceledError(message, config, request);\n resolvePromise(token.reason);\n });\n }\n\n /**\n * Throws a `CanceledError` if cancellation has been requested.\n */\n throwIfRequested() {\n if (this.reason) {\n throw this.reason;\n }\n }\n\n /**\n * Subscribe to the cancel signal\n */\n\n subscribe(listener) {\n if (this.reason) {\n listener(this.reason);\n return;\n }\n\n if (this._listeners) {\n this._listeners.push(listener);\n } else {\n this._listeners = [listener];\n }\n }\n\n /**\n * Unsubscribe from the cancel signal\n */\n\n unsubscribe(listener) {\n if (!this._listeners) {\n return;\n }\n const index = this._listeners.indexOf(listener);\n if (index !== -1) {\n this._listeners.splice(index, 1);\n }\n }\n\n toAbortSignal() {\n const controller = new AbortController();\n\n const abort = (err) => {\n controller.abort(err);\n };\n\n this.subscribe(abort);\n\n controller.signal.unsubscribe = () => this.unsubscribe(abort);\n\n return controller.signal;\n }\n\n /**\n * Returns an object that contains a new `CancelToken` and a function that, when called,\n * cancels the `CancelToken`.\n */\n static source() {\n let cancel;\n const token = new CancelToken(function executor(c) {\n cancel = c;\n });\n return {\n token,\n cancel\n };\n }\n}\n\nvar CancelToken$1 = CancelToken;\n\n/**\n * Syntactic sugar for invoking a function and expanding an array for arguments.\n *\n * Common use case would be to use `Function.prototype.apply`.\n *\n * ```js\n * function f(x, y, z) {}\n * var args = [1, 2, 3];\n * f.apply(null, args);\n * ```\n *\n * With `spread` this example can be re-written.\n *\n * ```js\n * spread(function(x, y, z) {})([1, 2, 3]);\n * ```\n *\n * @param {Function} callback\n *\n * @returns {Function}\n */\nfunction spread(callback) {\n return function wrap(arr) {\n return callback.apply(null, arr);\n };\n}\n\n/**\n * Determines whether the payload is an error thrown by Axios\n *\n * @param {*} payload The value to test\n *\n * @returns {boolean} True if the payload is an error thrown by Axios, otherwise false\n */\nfunction isAxiosError(payload) {\n return utils$1.isObject(payload) && (payload.isAxiosError === true);\n}\n\nconst HttpStatusCode = {\n Continue: 100,\n SwitchingProtocols: 101,\n Processing: 102,\n EarlyHints: 103,\n Ok: 200,\n Created: 201,\n Accepted: 202,\n NonAuthoritativeInformation: 203,\n NoContent: 204,\n ResetContent: 205,\n PartialContent: 206,\n MultiStatus: 207,\n AlreadyReported: 208,\n ImUsed: 226,\n MultipleChoices: 300,\n MovedPermanently: 301,\n Found: 302,\n SeeOther: 303,\n NotModified: 304,\n UseProxy: 305,\n Unused: 306,\n TemporaryRedirect: 307,\n PermanentRedirect: 308,\n BadRequest: 400,\n Unauthorized: 401,\n PaymentRequired: 402,\n Forbidden: 403,\n NotFound: 404,\n MethodNotAllowed: 405,\n NotAcceptable: 406,\n ProxyAuthenticationRequired: 407,\n RequestTimeout: 408,\n Conflict: 409,\n Gone: 410,\n LengthRequired: 411,\n PreconditionFailed: 412,\n PayloadTooLarge: 413,\n UriTooLong: 414,\n UnsupportedMediaType: 415,\n RangeNotSatisfiable: 416,\n ExpectationFailed: 417,\n ImATeapot: 418,\n MisdirectedRequest: 421,\n UnprocessableEntity: 422,\n Locked: 423,\n FailedDependency: 424,\n TooEarly: 425,\n UpgradeRequired: 426,\n PreconditionRequired: 428,\n TooManyRequests: 429,\n RequestHeaderFieldsTooLarge: 431,\n UnavailableForLegalReasons: 451,\n InternalServerError: 500,\n NotImplemented: 501,\n BadGateway: 502,\n ServiceUnavailable: 503,\n GatewayTimeout: 504,\n HttpVersionNotSupported: 505,\n VariantAlsoNegotiates: 506,\n InsufficientStorage: 507,\n LoopDetected: 508,\n NotExtended: 510,\n NetworkAuthenticationRequired: 511,\n};\n\nObject.entries(HttpStatusCode).forEach(([key, value]) => {\n HttpStatusCode[value] = key;\n});\n\nvar HttpStatusCode$1 = HttpStatusCode;\n\n/**\n * Create an instance of Axios\n *\n * @param {Object} defaultConfig The default config for the instance\n *\n * @returns {Axios} A new instance of Axios\n */\nfunction createInstance(defaultConfig) {\n const context = new Axios$1(defaultConfig);\n const instance = bind(Axios$1.prototype.request, context);\n\n // Copy axios.prototype to instance\n utils$1.extend(instance, Axios$1.prototype, context, {allOwnKeys: true});\n\n // Copy context to instance\n utils$1.extend(instance, context, null, {allOwnKeys: true});\n\n // Factory for creating new instances\n instance.create = function create(instanceConfig) {\n return createInstance(mergeConfig(defaultConfig, instanceConfig));\n };\n\n return instance;\n}\n\n// Create the default instance to be exported\nconst axios = createInstance(defaults$1);\n\n// Expose Axios class to allow class inheritance\naxios.Axios = Axios$1;\n\n// Expose Cancel & CancelToken\naxios.CanceledError = CanceledError;\naxios.CancelToken = CancelToken$1;\naxios.isCancel = isCancel;\naxios.VERSION = VERSION;\naxios.toFormData = toFormData;\n\n// Expose AxiosError class\naxios.AxiosError = AxiosError;\n\n// alias for CanceledError for backward compatibility\naxios.Cancel = axios.CanceledError;\n\n// Expose all/spread\naxios.all = function all(promises) {\n return Promise.all(promises);\n};\n\naxios.spread = spread;\n\n// Expose isAxiosError\naxios.isAxiosError = isAxiosError;\n\n// Expose mergeConfig\naxios.mergeConfig = mergeConfig;\n\naxios.AxiosHeaders = AxiosHeaders$1;\n\naxios.formToJSON = thing => formDataToJSON(utils$1.isHTMLForm(thing) ? new FormData(thing) : thing);\n\naxios.getAdapter = adapters.getAdapter;\n\naxios.HttpStatusCode = HttpStatusCode$1;\n\naxios.default = axios;\n\nmodule.exports = axios;\n//# sourceMappingURL=axios.cjs.map\n","////////////////////////////////////////////////////////////////////////\n/// Parameters used by the default platform (valid for UK/EU processing)\n/// https://docs.aws.amazon.com/appsync/latest/eventapi/event-api-websocket-protocol.html\n////////////////////////////////////////////////////////////////////////\nexport const Parameters = {\n endpoints: {\n graphQL:\n \"https://dypxviim4zgwtpev7valhchaem.appsync-api.eu-west-2.amazonaws.com/graphql\",\n wssHost: \"dypxviim4zgwtpev7valhchaem.appsync-api.eu-west-2.amazonaws.com\",\n wssRealTime: 'wss://dypxviim4zgwtpev7valhchaem.appsync-realtime-api.eu-west-2.amazonaws.com/graphql'\n },\n buckets: {\n region: \"eu-west-2\",\n clearing: \"lon-files-clearing\",\n },\n};\n\n","// Construct all mutations for a template element.\nconst createElement = element => {\n return `\n mutation AddField {\n createTemplateElement(input: {\n templateId: \"${element.templateId}\", \n ax: ${element.ax}, \n ay: ${element.ay}, \n bx: ${element.bx}, \n by: ${element.by}, \n elementType: ${JSON.stringify(element.elementType)}, \n role: \"1\",\n label: ${JSON.stringify(element.label)}, \n page: ${element.page}, \n fieldOrder: ${element.fieldOrder}, \n fontName: ${JSON.stringify(element.fontName)}, \n fontSize: ${element.fontSize}, \n helpText: ${JSON.stringify(element.helpText)}, \n hideBorder: ${element.hideBorder}, \n logicGroup: ${JSON.stringify(element.logicGroup)}, \n mapTo: ${JSON.stringify(element.mapTo)}, \n optional: ${element.optional}, \n options: ${JSON.stringify(element.options)}, \n substantive: ${element.substantive}, \n validation: ${element.validation}, \n value: ${JSON.stringify(element.value)}, \n align: ${JSON.stringify(element.align)}, \n signer: ${element.signer}, \n logicAction: ${element.logicAction}, \n labelExtra: ${JSON.stringify(element.labelExtra)}})\n }`;\n};\n\n// Save any changes to an element\nconst updateElement = element => {\n return `mutation ChangeField {\n updateTemplateElement(input: {\n templateElementId: \"${element.id}\", \n ax: ${element.ax}, \n ay: ${element.ay}, \n bx: ${element.bx}, \n by: ${element.by}, \n elementType: ${JSON.stringify(element.elementType)}, \n label: ${JSON.stringify(element.label)}, \n page: ${element.page}, \n fieldOrder: ${element.fieldOrder ? element.fieldOrder : null}, \n fontName: ${JSON.stringify(element.fontName)}, \n fontSize: ${element.fontSize}, \n helpText: \"${element.helpText}\", \n hideBorder: ${element.hideBorder}, \n logicGroup: ${JSON.stringify(element.logicGroup)}, \n mapTo: \"${element.mapTo}\", \n optional: ${element.optional}, \n options: ${JSON.stringify(element.options)}, \n role: \"1\", \n substantive: ${element.substantive}, \n validation: ${element.validation === '0' ? 'null' : element.validation}, \n value: \"${element.value}\", \n align: \"${element.align}\", \n signer: ${element.signer}, \n logicAction: ${element.logicAction}, \n labelExtra: \"${element.labelExtra}\"})\n}`;\n};\n\n// Save any changes to an element\nconst deleteElement = obj => {\n return `mutation DeleteField {\n deleteTemplateElement(input: {\n templateElementId: \"${obj.id}\"})\n }`;\n};\n\nexport { createElement, updateElement, deleteElement };\n","\n// Add a role\nconst createRole = (role) => {\n const newParent = role?.signerParent ? `\"${role.signerParent}\"` : 'null';\n return `\n mutation LDVAddRole {\n createTemplateRole(input: {\n templateId: \"${role.templateId}\" \n signerIndex: ${role.signerIndex}\n signerParent: ${newParent}\n name: ${JSON.stringify(role.name)}\n ordinal: ${role.ordinal}\n roleType: ${role.roleType}\n experience: \"${role.experience}\"\n })\n }` \n};\n\n// Remove a role\nconst deleteRole = (role) => {\n return `\n mutation LDVremoveRole {\n deleteTemplateRole(input: {\n templateRoleId: \"${role.id}\" \n })\n }`\n};\n\n// Save any changes to an role\nconst updateRole = (role) => {\n const newParent = role?.signerParent ? `\"${role.signerParent}\"` : 'null';\n return `\n mutation LDVupdateRole {\n updateTemplateRole(input: {\n templateRoleId: \"${role.id}\" \n signerIndex: ${role.signerIndex}\n ordinal: ${role.ordinal}\n signerParent: ${newParent}\n name: ${JSON.stringify(role.name)}\n roleType: ${role.roleType}\n experience: \"${role.experience}\"\n })\n }`\n};\n\n// swap two adjacent roles\nconst swapRoles = (roleId1, roleId2) => {\n\n return `\n mutation LDVswapRole {\n swapRoles(input: {\n roleId1: \"${roleId1.id}\" \n roleId2: \"${roleId2.id}\"\n })\n }`;\n\n};\n\n\nconst getTemplateRoles = (id: string) => {\n return `\n query LDVGetTemplate {\n template(id: \"${id}\") { \n roles{\n id\n name\n roleType\n signerIndex\n ordinal\n signerParent\n experience\n }\n }\n }\n `;\n};\n\n\nexport { createRole, updateRole, deleteRole, swapRoles, getTemplateRoles };\n","import axios, { AxiosResponse } from 'axios';\nimport { LSMutateEvent } from '../../../types/LSMutateEvent';\nimport { LSApiRole } from '../../../types/LSApiRole';\nimport { LSApiElement } from '../../../types/LSApiElement';\nimport { Parameters } from './parameters';\nimport { createElement, deleteElement, updateElement } from './elementActions';\nimport { createRole, deleteRole, swapRoles, updateRole } from './roleActions';\nimport { updateTemplate } from './templateActions';\nimport { LSApiTemplate } from '../../../components';\nimport { recalculateCoordinates } from '../editorCalculator';\n\nexport class LsDocumentAdapter {\n\n private endpoint: string | null;\n\n constructor(endpoint?: string | null) {\n this.endpoint = endpoint;\n }\n\n handleEvent = async (event: LSMutateEvent, accessToken: string) => {\n axios.defaults.headers.common['Authorization'] = accessToken;\n\n // Determine the object type being processed\n const obj: LSApiElement | LSApiRole | LSApiTemplate = event.data;\n if (!obj?.id) return 'invalid';\n\n const apiId = atob(obj.id);\n if (apiId.length < 3) return 'invalid';\n\n const prefix = atob(obj.id).substring(0, 3);\n let query = '';\n switch (prefix) {\n case 'ele':\n switch (event.action) {\n case 'create':\n query = createElement(recalculateCoordinates(obj as LSApiElement));\n break;\n case 'update':\n query = updateElement(recalculateCoordinates(obj as LSApiElement));\n break;\n case 'delete':\n query = deleteElement(obj);\n break;\n }\n break;\n case 'rol':\n switch (event.action) {\n case 'create':\n query = createRole(obj);\n break;\n case 'update':\n query = updateRole(obj);\n break;\n case 'delete':\n query = deleteRole(obj);\n break;\n case 'swap':\n console.log(obj, event)\n query = swapRoles(obj, event.data2);\n break;\n }\n break;\n case 'tpl':\n switch (event.action) {\n case 'update':\n query = updateTemplate(obj);\n break;\n }\n break;\n }\n const result = await this.execute(accessToken, query);\n \n return { result, obj, event };\n };\n\n /**\n * Run a general query or mutation against the GraphQL API.\n *\n * @returns a promise of a graphQL request\n */\n public async execute(accessToken: string, graphQLQuery: string, _graphQLVariables?: object): Promise<object> {\n if (accessToken) {\n //console.log(graphQLQuery);\n const res = await axios.post<AxiosResponse>(\n this.endpoint || Parameters.endpoints.graphQL,\n {\n query: graphQLQuery,\n variables: _graphQLVariables ? _graphQLVariables : {},\n },\n {\n headers: {\n Authorization: accessToken,\n },\n },\n );\n return res.data.data;\n } else {\n console.warn('UNASSIGNED ACCESS TOKEN');\n }\n\n return Promise.reject();\n }\n}\n","const getGroupData = (id: string) => {\n return `\n query LDVgetGroupData {\n group(id: \"${id}\"){\n id \n standardMessageConnection{\n messages {\n id\n name\n default\n body\n created\n modified\n }\n }\n scheduleConnection {\n schedules {\n id\n name\n items {\n id\n daysAfter\n frequency\n subject\n message\n when\n timeOfDay\n skipWeekend\n }\n default\n }\n }\n experienceConnection{\n experiences {\n id\n name\n language\n defaultExperience\n witnessSameDevice\n allowSignatureReuse\n attachDraft\n canReassign\n defaultReminderSubject\n defaultSubject\n finalSignerEmailSubHeader\n finalSignerEmailText\n footerTextColour\n forwarding\n penDiameter\n postSignAttach\n postSignEmail\n rejectedEmailSubheader\n senderName\n signatureAppendDate\n signatureDoneText\n signatureMouse\n signatureType\n signatureCertifiedType\n signatureUpload\n signatureAppend\n signatureAppendExtra\n signingPageText\n textBackgroundColour\n textFontColour\n typedSignatureFixedSize\n created\n modified\n witnessingRequiresSignerSMS\n witnessingRequiresWitnessSMS\n }\n }\n attachmentConnection {\n attachments {\n id\n filename\n autoAttach\n description\n created\n }\n }\n contactConnection {\n contacts{\n id\n firstName\n lastName\n email\n phoneNumber\n name\n }\n }\n }\n }\n `;\n};\n\nexport { getGroupData };\n","/* 1. Use a more-intuitive box-sizing model */\n*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\n/* 2. Remove default margin */\n* {\n margin: 0;\n}\n\n/* 3. Enable keyword animations */\n@media (prefers-reduced-motion: no-preference) {\n html {\n interpolate-size: allow-keywords;\n }\n}\n\nbody {\n /* 4. Add accessible line-height */\n line-height: 1.5;\n /* 5. Improve text rendering */\n -webkit-font-smoothing: antialiased;\n}\n\n/* 6. Improve media defaults */\nimg,\npicture,\nvideo,\ncanvas,\nsvg {\n display: block;\n max-width: 100%;\n}\n\n/* 7. Inherit fonts for form controls */\ninput,\nbutton,\ntextarea,\nselect {\n font: inherit;\n}\n\n/* 8. Avoid text overflows */\np,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6 {\n overflow-wrap: break-word;\n}\n\n/* 9. Improve line wrapping */\np {\n text-wrap: pretty;\n}\nh1,\nh2,\nh3,\nh4,\nh5,\nh6 {\n text-wrap: balance;\n}\n\n/*\n 10. Create a root stacking context\n*/\n#root,\n#__next {\n isolation: isolate;\n}\n\n:host {\n display: flex;\n flex-direction: row;\n width: 100vw;\n height: 100vh;\n margin: 0px;\n padding: 0px;\n}\n\n.validation-tag-wrapper {\n position: fixed;\n top: 0.375rem;\n right: 0.375rem;\n z-index: 2000;\n}\n\n#my-field-panel {\n position: relative;\n height: calc(100% - 4.313rem);\n}\n\n.leftBox {\n position: relative;\n border-radius: 16px;\n border: 1px solid var(--gray-30, #edeff2);\n background: var(--white, #fff);\n box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);\n width: 21.25rem;\n margin: 1rem;\n min-width: 21.25rem;\n max-height: 100%;\n z-index: 1000;\n left: 0;\n top: 0;\n}\n\n.left-box-inner {\n position: relative;\n display: flex;\n height: 100%;\n padding: 0.75rem;\n gap: 0.75rem;\n}\n\n.rightBox {\n width: 200px;\n border: 1px gray solid;\n width: 470px;\n min-width: 390px;\n padding: 4px;\n font-family: inherit;\n}\n\n.toolbox {\n display: flex;\n flex-direction: column;\n width: 100%;\n height: 100%;\n border-radius: 8px;\n border: 1px solid var(--gray-30, #e0e2e5);\n background: var(--gray-10, #f7f8fa);\n padding: 0.75rem;\n gap: 1rem;\n overflow-y: auto;\n}\n\n.ls-editor-infobox {\n padding: 2px 8px 2px 8px;\n}\n\n#pdf-canvas {\n top: 0px;\n left: 0px;\n width: 100px;\n height: 100px;\n box-shadow: 0 8px 32px 0 rgba(0, 0, 0, 0.12);\n}\n\n#ls-mid-area {\n position: absolute;\n top: 0;\n left: 0;\n display: flex;\n flex-direction: column;\n align-items: center;\n width: 100vw;\n height: 100%;\n \n \n}\n\n.document-frame-wrapper {\n display: flex;\n flex-direction: column;\n justify-content: start;\n align-items: start;\n overflow: visible;\n max-height: 100%;\n width: 100vw;\n overflow: scroll;\n padding: 5rem 380px 2rem 380px;\n}\n\n\n#ls-document-frame {\n /* background-image: repeating-linear-gradient(rgba(175, 176, 178, 0.4) 0px, rgba(175, 176, 178, 0.4) 1px, transparent 1px, transparent 100%),\n repeating-linear-gradient(90deg, rgba(175, 176, 178, 0.4) 0px, rgba(175, 176, 178, 0.4) 1px, transparent 1px, transparent 100%);\n border: 0px rgb(136, 80, 80) solid; */\n position: relative;\n height: 98vh;\n margin-right: auto;\n margin-left: auto;\n\n}\n.prevButton {\n position: relative;\n bottom: 30px;\n}\n\n.nextButton {\n position: relative;\n bottom: 30px;\n}\n\n.fieldBox {\n z-index: 1000;\n}\n\n#ls-box-selector {\n position: absolute;\n visibility: hidden;\n background-color: transparent;\n border: 1px rgba(71, 71, 71, 0.716) dashed;\n}\n\n#ls-editor-form {\n display: flex;\n width: 100vw;\n height: calc(100vh - 2.25rem);\n position: relative;\n background: var(--gray-10, #f7f8fa);\n box-shadow: 0 2px 6px 0 rgba(0, 0, 0, 0.04) inset, 0 10px 15px 0 rgba(0, 0, 0, 0.04) inset;\n}\n\n.hidden {\n visibility: hidden;\n display: none;\n width: 0px;\n}\n\n.toolbox-section-title {\n color: var(--gray-100, #45484d);\n font-size: 1.125rem;\n font-style: normal;\n font-weight: 500;\n line-height: 1.75rem; /* 155.556% */\n}\n\n.toolbox-section-description {\n color: var(--gray-80, #5e6066);\n font-size: 0.75rem;\n font-style: normal;\n font-weight: 400;\n line-height: 1rem;\n}\n\n.fields-box {\n display: flex;\n flex-direction: column;\n gap: 0.75rem;\n}\n\n.page-header {\n display: flex;\n height: 2.25rem;\n gap: 0.5rem;\n padding: 0.25rem 0.75rem;\n justify-content: center;\n align-items: center;\n}\n\n.header-text-1 {\n color: var(--gray-100, #45484d);\n font-size: 0.875rem;\n font-style: normal;\n font-weight: 500;\n line-height: 1.25rem;\n}\n\n.header-text-2 {\n color: var(--gray-100, #45484d);\n font-size: 0.875rem;\n font-style: normal;\n font-weight: 400;\n line-height: 1.25rem;\n}\n\n.properties-header {\n display: flex;\n padding: 1rem;\n gap: 0.75rem;\n align-items: center;\n border-bottom: 1px solid var(--gray-20, #edeff2);\n}\n\n.properties-header-title {\n color: var(--gray-100, #45484d);\n width: 100%;\n font-size: 1.5rem;\n font-style: normal;\n font-weight: 500;\n line-height: 2rem; /* 133.333% */\n}\n\n.properties-header-icon {\n display: flex;\n padding: 0.5rem;\n border-radius: 0.625rem;\n background: var(--primary-10, #eff4ff);\n color: var(--primary-60, #4456f6);\n}\n\n.expand-fields-row {\n display: flex;\n align-items: center;\n gap: 0.5rem;\n padding: 0.5rem;\n cursor: pointer;\n color: var(--gray-80, #6c6e73);\n font-size: 0.875rem;\n font-style: normal;\n font-weight: 500;\n line-height: 1.25rem; /* 142.857% */\n}\n\n.expand-fields-row p {\n color: var(--gray-100, #45484d);\n font-size: 1rem;\n font-style: normal;\n font-weight: 500;\n line-height: 1.5rem; /* 150% */\n}\n\n/* @media (min-width: 1200px) {\n #ls-mid-area {\n max-width: 40vw;\n }\n} */\n\n/* Global Styles */\n\np {\n color: var(--gray-80, #6c6e73);\n font-family: var(--font-family);\n font-size: var(--text-sm);\n font-style: normal;\n font-weight: 400;\n line-height: var(--text-sm-line-height);\n}\n\na {\n color: var(--primary-60, #4456f6);\n font-size: var(--text-sm);\n font-style: normal;\n font-weight: 400;\n line-height: var(--text-sm-line-height);\n cursor: pointer;\n}\n\na:hover {\n text-decoration: underline;\n color: var(--primary-70, #2134dc);\n}\n\n.button-link,\n.button-link:hover {\n all: unset;\n}\n\nselect {\n appearance: none;\n height: 36px;\n}\n\n.input-wrapper {\n position: relative;\n width: fit-content;\n}\n\n#selectorIcon {\n position: absolute;\n top: 50%;\n right: 0.675rem;\n transform: translateY(-50%);\n pointer-events: none;\n color: var(--gray-80, #6c6e73);\n}\n\n#selectLeadingIcon {\n position: absolute;\n top: 50%;\n left: 0.675rem;\n transform: translateY(-50%);\n pointer-events: none;\n color: var(--gray-80, #6c6e73);\n}\n\n.has-leading-icon {\n padding-left: 2.5rem;\n}\n\ninput,\nselect,\ntextarea {\n border: 1px solid var(--gray-40, #d8d9dc);\n box-shadow: 0 1px 0.125rem rgba(0, 0, 0, 0.05);\n padding: 0.5rem 0.75rem;\n font-family: var(--font-family);\n font-size: var(--text-sm);\n border-radius: 0.5rem;\n color: var(--gray-100, #45484d);\n font-weight: 400;\n}\n\ninput::placeholder,\nselect::placeholder,\ntextarea::placeholder {\n color: var(--gray-60, #afb0b2);\n}\n\ninput:hover,\nselect:hover,\ntextarea:hover {\n border-color: var(--gray-50, #c8c9cc);\n background-color: var(--white, #fff);\n}\n\ninput:focus,\nselect:focus,\ntextarea:focus {\n outline: none;\n box-shadow: 0 0 0 0.25rem var(--primary-40, #79adfc);\n border-color: var(--primary-60, #4456f6);\n background-color: var(--white, #fff);\n}\n\ninput:active,\nselect:active,\ntextarea:active {\n border-color: var(--primary-50, #5185ff);\n}\n\ninput:disabled,\nselect:disabled,\ntextarea:disabled {\n cursor: not-allowed;\n background-color: var(--gray-10, #f7f8fa);\n}\n\ninput[type='checkbox'] {\n appearance: none;\n position: relative;\n height: 1rem;\n width: 1rem;\n padding: 0.25rem;\n border-radius: var(--radius-sm);\n border: 1px solid #d1d5db;\n background-color: #ffffff;\n cursor: pointer;\n}\n\ninput[type='checkbox']:checked,\ninput[type='checkbox'].indeterminate {\n background-color: var(--primary-60, #4456f6);\n border: none;\n}\n\ninput[type='checkbox']:checked::after {\n content: '';\n position: absolute;\n top: 45%;\n left: 50%;\n transform: translate(-50%, -50%) rotate(-45deg) scale(-1, 1);\n width: 0.5rem;\n height: 0.25rem;\n border-bottom: 0.125rem solid white;\n border-right: 0.125rem solid white;\n}\n\ninput[type='checkbox'].indeterminate::after {\n content: '';\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n width: 0.5rem;\n height: 0.125rem;\n background-color: white;\n}\n\ninput[type='checkbox']:checked:hover,\ninput[type='checkbox'].indeterminate:hover {\n background-color: var(--primary-70, #2134dc);\n border: none;\n}\n\ninput[type='checkbox']:hover {\n border: 1px solid #9ca3af;\n}\n\ninput[type='checkbox']:focus,\ninput[type='checkbox']:active {\n outline: none;\n box-shadow: 0 0 0 0.25rem var(--primary-20, #c7ddff);\n background-color: #f0f4f8;\n}\n\ninput[type='checkbox']:disabled {\n background-color: #f3f4f6;\n outline: none;\n cursor: not-allowed;\n}\n\ninput[type='checkbox']:disabled:checked {\n background-color: #e5e7eb;\n border: none;\n outline: none;\n cursor: not-allowed;\n}\n\n.checkbox-container {\n display: flex;\n gap: 0.5rem;\n width: 100%;\n}\n\n.checkbox-label {\n color: var(--gray-100, #45484d);\n font-size: 1rem;\n font-style: normal;\n font-weight: 400;\n line-height: 1rem;\n}\n\n.form-label {\n color: var(--gray-100, #45484d);\n font-size: 1rem;\n font-style: normal;\n font-weight: 500;\n line-height: 1.5rem;\n}\n\n.form-field {\n display: flex;\n flex-direction: column;\n gap: 0.25rem;\n width: 100%;\n}\n.field-properties-outer {\n position: relative;\n height: 100%;\n\n}\n\n.loading-box {\n display: flex;\n justify-content: center;\n align-items: center;\n width: 100%;\n height: 100vh;\n color: var(--primary-60, #0c7cba);\n}\n\nbutton {\n border: 0;\n appearance: button;\n cursor: pointer;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n border-radius: var(--radius-lg);\n background-color: var(--primary-60, #4456f6);\n color: white;\n text-transform: capitalize;\n min-height: 2.25rem;\n min-width: 2.25rem;\n}\n\nbutton.tertiaryGrey {\n border: 1px solid var(--gray-40, #d8d9dc);\n background-color: white;\n color: var(--gray-80, #787a80);\n}\n\nbutton.tertiaryGrey:hover {\n border: 1px solid var(--gray-50, #c8c9cc);\n background: var(--gray-10, #f7f8fa);\n}\n\n.button-group {\n display: flex;\n border-radius: 0.5rem;\n border: 1px solid var(--gray-30, #e0e2e5);\n background: var(--white, #ffffff);\n overflow: clip;\n}\n\n.button-group button {\n display: flex;\n background: transparent;\n border-radius: unset;\n padding: 0.25rem 0.75rem;\n min-width: 2.156rem;\n min-height: unset;\n color: var(--gray-80, #6c6e73);\n}\n\n.button-group button:hover {\n background: var(--gray-10, #f7f8fa);\n}\n\n.button-group > :first-child {\n border-radius: 0.5rem 0 0 0.5rem;\n}\n\n.button-group > :last-child {\n border-radius: 0 0.5rem 0.5rem 0;\n}\n\n.button-group > :not(:first-child) {\n border-left: 1px solid var(--gray-30, #e0e2e5);\n}\n","import { Component, Host, Prop, h, Element, Method, State, Listen, Watch } from '@stencil/core';\nimport { Event, EventEmitter } from '@stencil/core';\nimport { LSApiElement } from '../../types/LSApiElement';\nimport { PDFDocumentProxy, PDFPageProxy, PDFPageViewport, PDFRenderParams, PDFRenderTask, GlobalWorkerOptions, getDocument } from 'pdfjs-dist';\nimport 'pdfjs-dist/web/pdf_viewer';\nimport { LSApiTemplate } from '../../types/LSApiTemplate';\nimport { addField, moveField } from './editorCalculator';\nimport { LSMutateEvent } from '../../types/LSMutateEvent';\nimport { keyDown } from './keyHandlers';\nimport { mouseClick, mouseDoubleClick, mouseDown, mouseDrop, mouseMove, mouseUp } from './mouseHandlers';\nimport { getApiType, matchData } from './editorUtils';\n// import { RoleColor } from '../../types/RoleColor';\nimport { LSApiRole, LSApiRoleType } from '../../types/LSApiRole';\nimport { LsDocumentAdapter } from './adapter/LsDocumentAdapter';\nimport { getTemplate } from './adapter/templateActions';\nimport { getGroupData } from './adapter/groupActions';\nimport { ValidationError } from '../../types/ValidationError';\nimport { validate } from './validator';\nimport { attachAllTooltips } from '../../utils/tooltip';\n\nGlobalWorkerOptions.workerSrc = 'https://cdnjs.cloudflare.com/ajax/libs/pdf.js/2.5.207/pdf.worker.min.js';\n\n/**\n * The Legalesign page viewer converted to stencil. To use pass the standard\n * Template information from GraphQL (see Readme).\n *\n * Alex Weinle\n */\n\n@Component({\n tag: 'ls-document-viewer',\n styleUrl: 'ls-document-viewer.css',\n shadow: true,\n})\nexport class LsDocumentViewer {\n @Element() component: HTMLElement;\n\n private isPageRendering: boolean;\n private pdfDocument: any;\n private pageNumPending: number = null;\n private canvas: HTMLCanvasElement;\n private ctx: CanvasRenderingContext2D;\n public pageDimensions: { height: number; width: number }[]; // hardcoded to start at the page 1\n // @ts-ignore\n private isMoving: boolean = false;\n // @ts-ignore\n private isBoxing: boolean = false;\n // @ts-ignore\n private selectionBox: { x: number; y: number } = null;\n // @ts-ignore\n private hitField: HTMLElement;\n // @ts-ignore\n private edgeSide: string;\n // @ts-ignore\n private startLocations: { left: number; top: number; height: number; width: number }[];\n // @ts-ignore\n private startMouse: { left: number; top: number; height: number; width: number; x: number; y: number };\n\n //\n // --- Properties / Inputs --- //\n //\n\n /**\n * The initial template data, including the link for background PDF. See README and\n * example for correct GraphQL query and data structure.\n * {LSApiTemplate}\n */\n @Prop() template: string;\n\n /**\n * The access token of the account your want the widget to use, you should normally\n * acquire this with a server side call using that accounts login credentials.\n * {string}\n */\n @Prop() token: string;\n\n /**\n * This will override the default production user pool.\n * Almost exclusively used for internal development.\n * {string}\n */\n @Prop() userpool: string;\n\n /**\n * This will override the default production graphql endpoint.\n * Almost exclusively used for internal development.\n * {string}\n */\n @Prop() endpoint: string;\n\n /**\n * The id of the template you want to load (if using the internal data adapter).\n * {string}\n */\n @Prop() templateid: string;\n\n /**\n * A JSON string containing the signer details. Only used in COMPOSE mode.\n * {string}\n */\n @Prop() signers: string;\n\n @Prop({ mutable: true }) zoom: number = 1.0; // hardcoded to scale the document to full canvas size\n @Prop({ mutable: true }) pageNum: number = 1;\n @Prop({ mutable: true }) pageCount: number = 1;\n @Prop({ mutable: true }) signer: number = 0;\n\n @State() _template: LSApiTemplate;\n @State() validationErrors: ValidationError[] = [];\n @State() status: 'Valid' | 'Invalid' | 'Logged Out';\n @Prop({ mutable: true }) groupInfo: any;\n @State() selected: HTMLLsEditorFieldElement[] = [];\n @State() isLoading: boolean = true;\n @State() fieldTypeSelected: IToolboxField = {\n label: 'Signature',\n formElementType: 'signature',\n elementType: 'signature',\n validation: 0,\n defaultHeight: 27,\n defaultWidth: 120,\n };\n\n /**\n * An ease of use property that will arrange document-viewer appropraitely.\n * {'preview' | 'editor' | 'custom'}\n */\n @Prop() mode: 'preview' | 'editor' | 'compose' = 'editor';\n\n @Watch('mode')\n modeHandler(_newMode, _oldMode) {\n if (_newMode === 'preview') {\n this.showtoolbar = false;\n this.showtoolbox = false;\n this.showstatusbar = false;\n this.readonly = true;\n } else if (_newMode === 'editor') {\n this.showtoolbar = true;\n this.showtoolbox = true;\n this.showstatusbar = true;\n this.readonly = false;\n } else if (_newMode === 'compose') {\n this.showtoolbar = true;\n this.showtoolbox = true;\n this.showstatusbar = true;\n this.readonly = false;\n }\n }\n\n @Watch('displayTable')\n tableViewHandler(_newMode, _oldMode) {\n if (_newMode === true) {\n this.showPageFields(-1);\n } else if (_newMode === 'editor') {\n this.showPageFields(this.pageNum);\n }\n this.queueRenderPage(this.pageNum);\n }\n\n /**\n * Determines / sets which of the far left 'managers' is active.\n * {'document' | 'toolbox' | 'participant' }\n */\n @Prop({ mutable: true }) manager: 'document' | 'toolbox' | 'participant' = 'toolbox';\n\n /**\n * Shows the table view of fields rather than the preview.\n * {boolean}\n */\n @Prop({ mutable: true }) displayTable?: boolean = false;\n\n /**\n * Whether the left hand toolbox is displayed.\n * {boolean}\n */\n @Prop() showtoolbox?: boolean = false;\n\n /**\n * Whether the top toolbar is displayed.\n * {boolean}\n */\n @Prop() showtoolbar?: boolean = false;\n\n /**\n * Whether the bottom statusbar is displayed.\n * {boolean}\n */\n @Prop() showstatusbar?: boolean = false;\n\n /**\n * Whether the page previewvertical ribbon will be shown\n * {boolean}\n */\n @Prop() showpagepreview?: boolean = false;\n\n /**\n * Whether or not the fields list is expanded.\n * {boolean}\n */\n @Prop() expandfields?: boolean = false;\n\n /**\n * Whether the right panel (which can be default field properties or custom panel) is\n * displayed.\n * {boolean}\n */\n @Prop() readonly?: boolean = false;\n\n /**\n * Whether the table view of the fields on this template is available to the user.\n * {boolean}\n */\n @Prop() showtableview?: boolean = false;\n\n /**\n * If supplied ONLY items in this | (\"or\") delimited list will be shown. i.e. \"signature|intials\"\n * {boolean}\n */\n @Prop() toolboxFilter?: string = null;\n\n\n\n //\n // --- Event Emitters --- //\n //\n @Event() pageRendered: EventEmitter<number>;\n // @Event() error: EventEmitter<any>;\n @Event() pageChange: EventEmitter<number>;\n // Multiple or single select\n @Event() selectFields: EventEmitter<LSApiElement[]>;\n // Send an external event to be processed\n @Event() mutate: EventEmitter<LSMutateEvent[]>;\n // Send an internal event to be processed\n @Event() update: EventEmitter<LSMutateEvent[]>;\n\n private adapter: LsDocumentAdapter;\n\n // Action an external data action and use the result (if required)\n @Listen('mutate')\n mutateHandler(event: CustomEvent<LSMutateEvent[]>) {\n if (this.token && this.adapter) event.detail.forEach(me => this.adapter.handleEvent(me, this.token).then(result => matchData.bind(this)(result)));\n }\n\n @Listen('fieldTypeSelected')\n handleFieldTypeSelected(event) {\n console.log(event);\n const fields = this.component.shadowRoot.querySelectorAll('ls-toolbox-field');\n\n fields.forEach(element => {\n element.isSelected = element.formElementType === event.detail.formElementType;\n });\n\n this.fieldTypeSelected = event.detail;\n }\n\n // Updates are internal event between LS controls not to be confused with mutate\n @Listen('update')\n updateHandler(event: CustomEvent<LSMutateEvent[]>) {\n if (event.detail) event.detail.forEach(fx => this.syncChange(fx));\n }\n\n // Updates are internal event between LS controls not to be confused with mutate\n @Listen('addParticipant')\n addParticpantHandler(event: CustomEvent<{ type: LSApiRoleType; parent?: string | null }>) {\n const defaultExperience = this.groupInfo.experienceConnection.experiences.find(x => x.defaultExperience === true);\n const parent = this._template.roles.find(r => r.id === event.detail.parent);\n const newSignerIndex = Math.max(...this._template.roles.filter(r => r.roleType !== 'WITNESS').map(r => r.signerIndex)) + 1;\n \n const data: LSMutateEvent[] = [\n {\n action: 'create',\n data: {\n id: btoa('rol' + crypto.randomUUID()),\n name: 'Signer ' + (this._template.roles.length + 1),\n roleType: event.detail.type,\n signerIndex: event.detail.type === 'WITNESS' ? 100 + parent.signerIndex : (this._template.roles.length === 0 ? 1 : newSignerIndex),\n ordinal: event.detail.type === 'WITNESS' ? parent.ordinal + 1 : this._template.roles.length + 1,\n signerParent: event.detail.parent,\n experience: defaultExperience.id,\n templateId: this._template.id,\n },\n },\n ];\n this.update.emit(data);\n this.mutate.emit(data);\n }\n\n // Send selection changes to bars and panels if in use.\n @Listen('selectFields')\n selectFieldsHandler(event: CustomEvent<LSApiElement[]>) {\n const fields = Array.from(this.component.shadowRoot.querySelectorAll('ls-editor-field'));\n // update the template with all the latest values in the\n this._template = {\n ...this._template,\n elementConnection: { ...this._template.elementConnection, templateElements: fields.map(ef => ef.dataItem) },\n };\n\n var toolbar = this.component.shadowRoot.getElementById('ls-toolbar') as HTMLLsToolbarElement;\n if (toolbar) {\n toolbar.dataItem = event.detail as any as LSApiElement[];\n }\n var propPanel = this.component.shadowRoot.getElementById('my-field-panel') as HTMLLsFieldPropertiesElement;\n if (event.detail.length === 0) {\n this.selected = [];\n } else {\n propPanel.dataItem = event.detail as any as LSApiElement[];\n }\n\n // change style of selected fields\n event.detail.forEach(fc => {\n const fu = this.component.shadowRoot.getElementById('ls-field-' + fc.id) as HTMLLsEditorFieldElement;\n fu.selected = true;\n });\n\n // this.selected = fields.filter(fx => fx.selected) as HTMLLsEditorFieldElement[];\n this.selected.forEach(s => (s.selected = event.detail.map(d => d.id).includes(s.dataItem.id)));\n\n this.validationErrors = validate.bind(this)(this._template);\n }\n\n // Send role selection changes to bars and panels\n @Listen('roleChange')\n roleHandler(event: CustomEvent<number>) {\n this.signer = event.detail;\n }\n\n //\n // --- Methods --- //\n //\n\n /**\n * Page forward\n * {MouseEvent} e\n */\n @Method()\n async pageNext() {\n if (this.pageNum >= this.pdfDocument.numPages) {\n return;\n }\n this.pageNum += 1;\n this.queueRenderPage(this.pageNum);\n this.showPageFields(this.pageNum);\n }\n\n /**\n * Page backward\n * e\n */\n @Method()\n async pagePrev() {\n if (this.pageNum <= 1) {\n return;\n }\n\n this.pageNum -= 1;\n this.queueRenderPage(this.pageNum);\n this.showPageFields(this.pageNum);\n }\n\n /**\n * Unselect all fields\n */\n @Method()\n async unselect() {\n const fields = this.component.shadowRoot.querySelectorAll('ls-editor-field');\n fields.forEach(fu => {\n fu.selected = false;\n });\n this.selected = [];\n }\n\n /**\n * Page and field resize on zoom change\n *\n */\n @Method()\n async setZoom(z: number) {\n this.zoom = z;\n this.canvas = this.component.shadowRoot.getElementById('pdf-canvas') as HTMLCanvasElement;\n const frame = this.component.shadowRoot.getElementById('ls-document-frame') as HTMLDivElement;\n // const wrapper = this.component.shadowRoot.getElementById('document-frame-wrapper') as HTMLDivElement;\n this.canvas.style.height = this.pageDimensions[this.pageNum - 1].height * z + 'px';\n this.canvas.style.width = this.pageDimensions[this.pageNum - 1].width * z + 'px';\n\n frame.style.height = this.pageDimensions[this.pageNum - 1].height * z + 'px';\n frame.style.width = this.pageDimensions[this.pageNum - 1].width * z + 'px';\n\n // wrapper.style.height = this.pageDimensions[this.pageNum - 1].height * z + 200 + 'px';\n // wrapper.style.width = this.pageDimensions[this.pageNum - 1].width * z + 600 + 'px';\n\n // place all fields at new zoom level\n this.component.shadowRoot.querySelectorAll('ls-editor-field').forEach(fx => moveField.bind(this)(fx, fx.dataItem));\n\n this.queueRenderPage(this.pageNum);\n this.showPageFields(this.pageNum);\n }\n\n /**\n * Ensure broken or misplaced fields are put onto the page.\n * {number} position\n */\n clip(legacyPosition: number, failback: number = 0.0): number {\n return legacyPosition > 1 ? failback : legacyPosition;\n }\n\n /**\n * Decorate the template data object with useful transformations.\n * {string} json of template\n */\n parseTemplate(newValue: string) {\n const newTemplate: LSApiTemplate = JSON.parse(newValue) as any as LSApiTemplate;\n const pages = JSON.parse(JSON.parse(newTemplate.pageDimensions));\n\n // Convert ax,bx,ay etc. into top, left\n // We also add the templateId into every object so that all the information\n // required to mutate is in each object.\n this.pageDimensions = pages.map(p => {\n return { height: p[1], width: p[0] };\n });\n const fields = newTemplate.elementConnection.templateElements.map(f => {\n return {\n ...f,\n top: this.clip(f.ay) * this.pageDimensions[0].height,\n left: this.clip(f.ax) * this.pageDimensions[0].width,\n height: (this.clip(f.by, 0.1) - this.clip(f.ay)) * this.pageDimensions[0].height,\n width: (this.clip(f.bx, 0.2) - this.clip(f.ax)) * this.pageDimensions[0].width,\n templateId: newTemplate.id,\n };\n });\n\n const preparedRoles: LSApiRole[] = newTemplate.roles.map((ro: LSApiRole) => {\n return { ...ro, templateId: newTemplate.id };\n });\n\n this.signer = preparedRoles.length > 0 ? 1 : 0;\n\n this._template = {\n ...newTemplate,\n elementConnection: { ...newTemplate.elementConnection, templateElements: fields },\n roles: preparedRoles,\n };\n }\n\n /**\n * Render the page based on pageNumber\n * {number} pageNumber\n */\n renderPage(pageNumber: number): void {\n this.isPageRendering = true;\n this.pdfDocument.getPage(pageNumber).then((page: PDFPageProxy) => {\n const viewport: PDFPageViewport = page.getViewport({ scale: this.zoom });\n this.canvas.height = Math.floor(viewport.height);\n this.canvas.width = Math.floor(viewport.width);\n\n // Render PDF page into canvas context\n const renderContext: PDFRenderParams = {\n viewport,\n canvasContext: this.ctx,\n };\n\n // Render page method\n const renderTask: PDFRenderTask = page.render(renderContext);\n\n // Wait for rendering to finish\n renderTask.promise.then(() => {\n this.isPageRendering = false;\n this.pageRendered.emit(this.pageNum);\n\n if (this.pageNumPending !== null) {\n this.renderPage(this.pageNumPending); // New page rendering is pending\n this.pageChange.emit(this.pageNumPending); // emit\n this.pageNumPending = null;\n }\n });\n });\n }\n\n private queueRenderPage(pageNumber: number): void {\n if (this.isPageRendering) {\n this.pageNumPending = pageNumber;\n } else {\n this.renderPage(pageNumber);\n }\n }\n\n private loadAndRender(src: string): void {\n getDocument(src).promise.then((pdfDocument: PDFDocumentProxy) => {\n this.pdfDocument = pdfDocument;\n this.renderPage(this.pageNum);\n });\n }\n\n // Fills in and converts all utility and placement fields\n prepareElement(newElement: LSApiElement): LSApiElement {\n return {\n ...newElement,\n top: Math.floor(this.clip(newElement.ay) * this.pageDimensions[newElement.page - 1].height),\n left: Math.floor(this.clip(newElement.ax) * this.pageDimensions[newElement.page - 1].width),\n height: Math.floor((this.clip(newElement.by, 0.05) - this.clip(newElement.ay)) * this.pageDimensions[newElement.page - 1].height),\n width: Math.floor((this.clip(newElement.bx, 0.2) - this.clip(newElement.ax)) * this.pageDimensions[newElement.page - 1].width),\n pageDimensions: this.pageDimensions[newElement.page - 1],\n templateId: this._template.id,\n };\n }\n\n // internal forced change\n syncChange(update: LSMutateEvent) {\n if (update?.select === 'clear') {\n this.unselect();\n }\n\n if (getApiType(update.data) === 'element') {\n if (update.action === 'create') {\n // const newData = { ...update.data, page: this.pageNum };\n// addField.bind(this)(this.component.shadowRoot.getElementById('ls-document-frame'), newData);\n\n //const newField = this.component.shadowRoot.getElementById('ls-field-' + update.data.id) as HTMLLsEditorFieldElement;\n\n //this.selected = [newField];\n //this.selectFields.emit([newData as LSApiElement]);\n } else if (update.action === 'update') {\n const fi = this.component.shadowRoot.getElementById('ls-field-' + update.data.id) as HTMLLsEditorFieldElement;\n if (fi) {\n moveField.bind(this)(fi, update.data);\n // const fu = this.component.shadowRoot.getElementById('ls-field-' + update.data.id) as HTMLLsEditorFieldElement;\n\n // fu.dataItem = update.data as LSApiElement;\n // Refresh the selected array\n this.selectFields.emit(this.selected.map(sf => sf.dataItem));\n this.selected = this.selected.map(s => (s.dataItem.id === update.data.id ? fi : s));\n }\n // Reselect the fields - this updates the dataItem value passed to child controls\n const fields = this.component.shadowRoot.querySelectorAll('ls-editor-field');\n this.selected = Array.from(fields).filter(fx => fx.selected);\n } else if (update.action === 'delete') {\n const fi = this.component.shadowRoot.getElementById('ls-field-' + update.data.id) as HTMLLsEditorFieldElement;\n const fields = this._template.elementConnection.templateElements;\n this._template = { ...this._template, elementConnection: { ...this._template.elementConnection, templateElements: fields.filter(f => f.id !== update.data.id) } };\n this.component.shadowRoot.getElementById('ls-document-frame').removeChild(fi);\n this.selectFields.emit([]);\n } else {\n console.warn('Unrecognised action, check Legalesign documentation. `create`, `update` and `delete` allowed.');\n }\n }\n\n this.validationErrors = validate.bind(this)(this._template);\n }\n\n initViewer() {\n // Generate a canvas to draw the background PDF on.\n this.canvas = this.component.shadowRoot.getElementById('pdf-canvas') as HTMLCanvasElement;\n this.canvas.style.height = this.pageDimensions[this.pageNum - 1].height * this.zoom + 'px';\n this.canvas.style.width = this.pageDimensions[this.pageNum - 1].width * this.zoom + 'px';\n this.ctx = this.canvas.getContext('2d');\n if (this._template?.link) this.loadAndRender(this._template?.link);\n\n var dropTarget = this.component.shadowRoot.getElementById('ls-document-frame') as HTMLCanvasElement;\n\n // Used for single field selection\n dropTarget.addEventListener('click', mouseClick.bind(this));\n dropTarget.addEventListener('mousedown', mouseDown.bind(this));\n dropTarget.addEventListener('mousemove', mouseMove.bind(this));\n dropTarget.addEventListener('mouseup', mouseUp.bind(this));\n dropTarget.addEventListener('dblclick', mouseDoubleClick.bind(this));\n document.addEventListener('keydown', keyDown.bind(this));\n dropTarget.addEventListener('dragenter', event => {\n event.preventDefault();\n });\n dropTarget.addEventListener('dragover', event => {\n event.preventDefault();\n });\n dropTarget.addEventListener('drop', mouseDrop.bind(this));\n\n this.generateFields();\n }\n\n // Generate all the field HTML elements that are required (for every page)\n generateFields(clearExisting: boolean = true) {\n if (clearExisting) {\n const fields = this.component.shadowRoot.querySelectorAll('ls-editor-field');\n fields.forEach(fi => this.component.shadowRoot.getElementById('ls-document-frame').removeChild(fi));\n }\n\n this._template.elementConnection.templateElements.forEach(te => {\n addField.bind(this)(this.component.shadowRoot.getElementById('ls-document-frame'), this.prepareElement(te));\n });\n }\n\n showPageFields(page: number) {\n const fields = this.component.shadowRoot.querySelectorAll('ls-editor-field');\n Array.from(fields).forEach(fx => {\n fx.className = fx.dataItem.page === page ? '' : 'hidden';\n });\n }\n\n async load() {\n this.isLoading = true;\n // Get all template and group listing data.\n try {\n this.adapter = new LsDocumentAdapter(this.endpoint);\n const result = (await this.adapter.execute(this.token, getTemplate(this.templateid))) as any;\n this.parseTemplate(JSON.stringify(result.template));\n const resultGroup = (await this.adapter.execute(this.token, getGroupData(this._template.groupId))) as any;\n this.groupInfo = resultGroup.group;\n this.initViewer();\n console.log(this._template);\n\n //Revalidate\n this.validationErrors = validate.bind(this)(this._template);\n this.pageCount = this._template.pageCount;\n this.selected = [];\n this.setZoom(1.0);\n this.isLoading = false;\n } catch (e) {\n console.error('Your access token is invalid.', e);\n }\n }\n\n componentWillLoad() {\n if (this.token && !this._template) this.load();\n }\n\n componentDidLoad() {\n attachAllTooltips(this.component.shadowRoot);\n }\n\n\n\n render() {\n return (\n <Host>\n <>\n {this.isLoading && <ls-page-loader />}\n <div class={'validation-tag-wrapper'}>\n <ls-validation-tag validationErrors={this.validationErrors} />\n </div>\n <div class=\"page-header\">\n <p class=\"header-text-1\">Template Creation</p>\n <p>/</p>\n <p class=\"header-text-2\">{this._template?.title}</p>\n </div>\n <form id=\"ls-editor-form\">\n {this.showtoolbox === true ? (\n <div id=\"ls-left-box\" class=\"leftBox\">\n <div class={!this.selected || this.selected.length === 0 ? 'left-box-inner' : 'hidden'}>\n <ls-feature-column\n onManage={manager => {\n if (manager.detail === 'document') {\n var documentManager = this.component.shadowRoot.getElementById('ls-document-options') as HTMLLsDocumentOptionsElement;\n documentManager.template = this._template;\n } else if (manager.detail === 'participant') {\n var participantManager = this.component.shadowRoot.getElementById('ls-participant-manager') as HTMLLsParticipantManagerElement;\n participantManager.template = this._template;\n }\n this.manager = manager.detail;\n }}\n />\n <div id=\"ls-toolbox\" class={this.manager === 'toolbox' ? 'toolbox' : 'hidden'}>\n <div class=\"ls-editor-infobox\">\n <h2 class=\"toolbox-section-title\">Participant Fields</h2>\n <p class=\"toolbox-section-description\">Select and Click to place Signature fields where you’d like on the Document.</p>\n </div>\n <div class=\"fields-box\">\n <ls-toolbox-field\n elementType=\"signature\"\n formElementType=\"signature\"\n label=\"Signature\"\n defaultHeight={27}\n defaultWidth={120}\n validation={0}\n icon=\"signature\"\n tooltip=\"Use this field to collect Signatures from Participants\"\n signer={this.signer}\n style={this.signer > 0 ? { display: 'block' } : { display: 'none' }}\n />\n <ls-toolbox-field\n elementType=\"auto sign\"\n formElementType=\"auto sign\"\n label=\"Auto Sign\"\n defaultHeight={27}\n defaultWidth={120}\n validation={3000}\n icon=\"auto-sign\"\n tooltip=\"Auto-Sign lets Senders add a Signature to the Document that will be automatically applied upon Sending\"\n signer={this.signer}\n style={this.signer === 0 ? { display: 'block' } : { display: 'none' }}\n />\n <ls-toolbox-field\n elementType=\"text\"\n formElementType=\"text\"\n label=\"Text\"\n defaultHeight={27}\n defaultWidth={100}\n validation={0}\n icon=\"text\"\n tooltip=\"A field for collecting any plain text values such as: names, addresses or descriptions\"\n signer={this.signer}\n />\n\n {this.signer > 0 && (\n <ls-toolbox-field\n elementType=\"signing date\"\n formElementType=\"signing date\"\n label=\"Signing Date\"\n defaultHeight={27}\n defaultWidth={120}\n validation={30}\n icon=\"auto-date\"\n tooltip=\"Automatically inserts the date upon completion by the assigned Participant\"\n signer={this.signer}\n />\n )}\n\n <ls-toolbox-field\n elementType=\"date\"\n formElementType=\"date\"\n label=\"Date\"\n defaultHeight={27}\n defaultWidth={80}\n validation={2}\n icon=\"calender\"\n tooltip=\"A field for collecting dates with built-in date formatting options\"\n signer={this.signer}\n />\n\n <ls-toolbox-field\n elementType=\"email\"\n formElementType=\"email\"\n label=\"Email\"\n defaultHeight={27}\n defaultWidth={120}\n validation={1}\n icon=\"at-symbol\"\n tooltip=\"A Field to only accept entries formatted as an email address (e.g., example@example.com)\"\n signer={this.signer}\n />\n <ls-toolbox-field\n elementType=\"initials\"\n formElementType=\"initials\"\n label=\"Initials\"\n defaultHeight={27}\n defaultWidth={120}\n validation={2000}\n icon=\"initials\"\n tooltip=\"Use this field anywhere Participants are required to Initial your document\"\n signer={this.signer}\n />\n\n <ls-toolbox-field\n elementType=\"number\"\n formElementType=\"number\"\n label=\"Number\"\n defaultHeight={27}\n defaultWidth={80}\n validation={50}\n icon=\"hashtag\"\n tooltip=\"A Field to only accept entries in numerical format. Additional validations include character limit (1 to 12 digits), and currency format (2 decimal places)\"\n signer={this.signer}\n />\n\n <ls-toolbox-field\n elementType=\"dropdown\"\n formElementType=\"dropdown\"\n label=\"Dropdown\"\n defaultHeight={27}\n defaultWidth={80}\n validation={20}\n icon=\"dropdown\"\n tooltip=\"Use this field to create custom dropdown menus in your document, or place one of our handy presets for countries or prefixes\"\n signer={this.signer}\n />\n\n <ls-toolbox-field\n elementType=\"checkbox\"\n formElementType=\"checkbox\"\n label=\"Checkbox\"\n defaultHeight={27}\n defaultWidth={27}\n validation={25}\n icon=\"check\"\n tooltip=\"Places a checkbox on your document. Handy for T&Cs or ✔/✗ sections\"\n signer={this.signer}\n />\n\n {this.signer > 0 && (\n <>\n <ls-toolbox-field\n elementType=\"regex\"\n formElementType=\"regex\"\n label=\"Regex\"\n defaultHeight={27}\n defaultWidth={120}\n validation={93}\n icon=\"code\"\n tooltip=\"Need a specific validation? Use this field to enter a custom RegEx and have Participants enter exactly what you need\"\n signer={this.signer}\n />\n <ls-toolbox-field\n elementType=\"image\"\n formElementType=\"image\"\n label=\"Image\"\n defaultHeight={27}\n defaultWidth={120}\n validation={90}\n icon=\"photograph\"\n tooltip=\"Use when you need Participants to upload their own images during the signing process\"\n signer={this.signer}\n />\n\n <ls-toolbox-field\n elementType=\"file\"\n formElementType=\"file\"\n label=\"File\"\n defaultHeight={27}\n defaultWidth={120}\n validation={74}\n icon=\"upload\"\n tooltip=\"Use when you need Participants to upload their own documents during the signing process\"\n signer={this.signer}\n />\n\n <ls-toolbox-field\n elementType=\"drawn\"\n formElementType=\"drawn\"\n label=\"Drawn\"\n defaultHeight={120}\n defaultWidth={120}\n validation={90}\n icon=\"pencil\"\n tooltip=\"Allow users to draw on the document using their mouse or touchscreen\"\n signer={this.signer}\n />\n </>\n )}\n </div>\n </div>\n <ls-participant-manager id=\"ls-participant-manager\" class={this.manager === 'participant' ? 'toolbox' : 'hidden'} editor={this} />\n <ls-document-options id=\"ls-document-options\" class={this.manager === 'document' ? 'toolbox' : 'hidden'} />\n </div>\n {!this.displayTable && (\n <div class={this.selected.length > 0 ? 'field-properties-outer' : 'hidden'}>\n <div class={'properties-header'}>\n <div class={'properties-header-icon'}>\n <ls-icon name=\"pre-filled-content\" />\n </div>\n <h1 class={'properties-header-title'}>Field Properties</h1>\n <button\n class={'tertiaryGrey'}\n onClick={e => {\n this.selected = [];\n e.preventDefault();\n }}\n data-tooltip=\"Close Properties Panel\"\n >\n <ls-icon name=\"x\" size=\"20\" />\n </button>\n </div>\n <ls-field-properties id=\"my-field-panel\"></ls-field-properties>\n <slot></slot>\n </div>\n )}\n </div>\n ) : (\n <></>\n )}\n <ls-toolbar id=\"ls-toolbar\" template={this._template} editor={this} groupInfo={this.groupInfo} />\n <div id=\"ls-mid-area\">\n <div class={'document-frame-wrapper'} id=\"document-frame-wrapper\">\n <div id=\"ls-document-frame\">\n <canvas id=\"pdf-canvas\" class={this.displayTable || this.isLoading ? 'hidden' : ''}></canvas>\n <ls-editor-table editor={this} class={this.displayTable ? '' : 'hidden'} />\n <div id=\"ls-box-selector\"></div>\n </div>\n </div>\n <ls-statusbar editor={this} page={this.pageNum} pageCount={this.pageCount} />\n </div>\n </form>\n </>\n <ls-tooltip id=\"ls-tooltip-master\" />\n </Host>\n );\n }\n}\n"],"names":["define","this","require","require$$0","require$$1","require$$2","require$$3","undefined","global","GlobalWorkerOptions","getDocument"],"mappings":"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P,IAAI,EAAE,CAAC;QACP,IAAI,EAAE,CAAC;QACP,IAAI,EAAE,CAAC;QACP,KAAK,EAAE,CAAC;QACR,IAAI,EAAE,CAAC;QACP,IAAI,EAAE,CAAC;QACP,KAAK,EAAE,CAAC;QACR,KAAK,EAAE,CAAC;QACR,KAAK,EAAE,CAAC;QACR,KAAK,EAAE,CAAC;QACR,KAAK,EAAE,CAAC;QACR,IAAI,EAAE,CAAC;QACP,IAAI,EAAE,CAAC;QACP,IAAI,EAAE,CAAC;QACP,IAAI,EAAE,CAAC;QACP,IAAI,EAAE,CAAC;QACP,KAAK,EAAE,CAAC;QACR,KAAK,EAAE,EAAE;QACT,IAAI,EAAE,CAAC;QACP,IAAI,EAAE,CAAC;QACP,KAAK,EAAE,EAAE;QACT,IAAI,EAAE,CAAC;QACP,IAAI,EAAE,CAAC;QACP,IAAI,EAAE,CAAC;QACP,IAAI,EAAE,CAAC;QACP,IAAI,EAAE,EAAE;QACR,IAAI,EAAE,CAAC;QACP,KAAK,EAAE,CAAC;QACR,IAAI,EAAE,CAAC;QACP,IAAI,EAAE,EAAE;QACR,IAAI,EAAE,CAAC;QACP,IAAI,EAAE,CAAC;QACP,IAAI,EAAE,CAAC;QACP,IAAI,EAAE,CAAC;QACP,IAAI,EAAE,CAAC;QACP,IAAI,EAAE,EAAE;QACR,IAAI,EAAE,CAAC;QACP,KAAK,EAAE,CAAC;QACR,KAAK,EAAE,CAAC;QACR,IAAI,EAAE,CAAC;QACP,IAAI,EAAE,CAAC;QACP,IAAI,EAAE,CAAC;QACP,IAAI,EAAE,CAAC;QACP,IAAI,EAAE,CAAC;QACP,IAAI,EAAE,CAAC;QACP,IAAI,EAAE,CAAC;QACP,KAAK,EAAE,CAAC;QACR,IAAI,EAAE,CAAC;QACP,KAAK,EAAE,CAAC;QACR,IAAI,EAAE,CAAC;QACP,IAAI,EAAE,CAAC;QACP,IAAI,EAAE,CAAC;QACP,KAAK,EAAE,CAAC;QACR,IAAI,EAAE,EAAE;QACR,IAAI,EAAE,CAAC;QACP,IAAI,EAAE,CAAC;QACP,IAAI,EAAE,CAAC;QACP,IAAI,EAAE,CAAC;QACP,KAAK,EAAE,CAAC;QACR,IAAI,EAAE,EAAE;QAC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","x_google_ignoreList":[0,1,4]}
|